Reset main-custom to latest main version Following a different approach to better keep main-custom up to date with main by resetting and merging pending upstream PRs on top. Change-Id: I26c7a2c63b166715d01b50da0bd47aaf99aa3c1a Reviewed-on: https://chromium-review.googlesource.com/c/external/github.com/WebKit/JetStream/+/6976606 Reviewed-by: Victor Gomes <victorgomes@chromium.org>
diff --git a/Dart/build.log b/Dart/build.log index fb4760b..2904e01 100644 --- a/Dart/build.log +++ b/Dart/build.log
@@ -1,5 +1,5 @@ -Built on Thu Aug 14 04:47:37 PM CEST 2025 -Cloning into 'wasm_gc_benchmarks'... -13951e1 Roll new version of flute and regenerate flute-based benchmarks -Copying files from wasm_gc_benchmarks/ into build/ -Build success +Built on Thu Aug 14 04:47:37 PM CEST 2025 +Cloning into 'wasm_gc_benchmarks'... +13951e1 Roll new version of flute and regenerate flute-based benchmarks +Copying files from wasm_gc_benchmarks/ into build/ +Build success
diff --git a/JetStream.css b/JetStream.css index c48cc3c..b510f02 100644 --- a/JetStream.css +++ b/JetStream.css
@@ -348,13 +348,6 @@ scroll-margin-bottom: 20vh; } -.benchmark .result.detail { - display: none; -} -.details .benchmark .result.detail { - display: inline-block; -} - .benchmark h4, .benchmark .result, .benchmark label,
diff --git a/JetStreamDriver.js b/JetStreamDriver.js index 14840ef..8b74ab2 100644 --- a/JetStreamDriver.js +++ b/JetStreamDriver.js
@@ -30,84 +30,50 @@ const defaultIterationCount = 120; const defaultWorstCaseCount = 4; -globalThis.performance ??= Date; -globalThis.RAMification ??= false; -globalThis.testIterationCount ??= undefined; -globalThis.testIterationCountMap ??= new Map(); -globalThis.testWorstCaseCount ??= undefined; -globalThis.testWorstCaseCountMap ??= new Map(); -globalThis.dumpJSONResults ??= false; -globalThis.testList ??= undefined; -globalThis.startDelay ??= undefined; -globalThis.shouldReport ??= false; -globalThis.prefetchResources ??= true; - -function getIntParam(urlParams, key) { - const rawValue = urlParams.get(key); - const value = parseInt(rawValue); - if (value <= 0) - throw new Error(`Expected positive value for ${key}, but got ${rawValue}`); - return value; -} - -function getBoolParam(urlParams, key) { - const rawValue = urlParams.get(key).toLowerCase() - return !(rawValue === "false" || rawValue === "0") - } - -function getTestListParam(urlParams, key) { - if (globalThis.testList?.length) - throw new Error(`Overriding previous testList=${globalThis.testList.join()} with ${key} url-parameter.`); - return urlParams.getAll(key); -} - -if (typeof(URLSearchParams) !== "undefined") { - const urlParameters = new URLSearchParams(window.location.search); - if (urlParameters.has("report")) - globalThis.shouldReport = urlParameters.get("report").toLowerCase() == "true"; - if (urlParameters.has("startDelay")) - globalThis.startDelay = getIntParam(urlParameters, "startDelay"); - if (globalThis.shouldReport && !globalThis.startDelay) - globalThis.startDelay = 4000; - if (urlParameters.has("tag")) - globalThis.testList = getTestListParam(urlParameters, "tag"); - if (urlParameters.has("test")) - globalThis.testList = getTestListParam(urlParameters, "test"); - if (urlParameters.has("iterationCount")) - globalThis.testIterationCount = getIntParam(urlParameters, "iterationCount"); - if (urlParameters.has("worstCaseCount")) - globalThis.testWorstCaseCount = getIntParam(urlParameters, "worstCaseCount"); - if (urlParameters.has("prefetchResources")) - globalThis.prefetchResources = getBoolParam(urlParameters, "prefetchResources"); -} - -if (!globalThis.prefetchResources) +if (!JetStreamParams.prefetchResources) console.warn("Disabling resource prefetching!"); // Used for the promise representing the current benchmark run. this.currentResolve = null; this.currentReject = null; +let showScoreDetails = false; +let categoryScores = null; + function displayCategoryScores() { - document.body.classList.add("details"); + if (!categoryScores) + return; + + let scoreDetails = `<div class="benchmark benchmark-done">`; + for (let [category, scores] of categoryScores) { + scoreDetails += `<span class="result"> + <span>${uiFriendlyScore(geomeanScore(scores))}</span> + <label>${category}</label> + </span>`; + } + scoreDetails += "</div>"; + let summaryElement = document.getElementById("result-summary"); + summaryElement.innerHTML += scoreDetails; + + categoryScores = null; } function getIterationCount(plan) { - if (testIterationCountMap.has(plan.name)) - return testIterationCountMap.get(plan.name); - if (globalThis.testIterationCount) - return globalThis.testIterationCount; + if (JetStreamParams.testIterationCountMap.has(plan.name)) + return JetStreamParams.testIterationCountMap.get(plan.name); + if (JetStreamParams.testIterationCount) + return JetStreamParams.testIterationCount; if (plan.iterations) return plan.iterations; return defaultIterationCount; } function getWorstCaseCount(plan) { - if (testWorstCaseCountMap.has(plan.name)) - return testWorstCaseCountMap.get(plan.name); - if (globalThis.testWorstCaseCount) - return globalThis.testWorstCaseCount; - if (plan.worstCaseCount) + if (JetStreamParams.testWorstCaseCountMap.has(plan.name)) + return JetStreamParams.testWorstCaseCountMap.get(plan.name); + if (JetStreamParams.testWorstCaseCount) + return JetStreamParams.testWorstCaseCount; + if (plan.worstCaseCount !== undefined) return plan.worstCaseCount; return defaultWorstCaseCount; } @@ -115,23 +81,19 @@ if (isInBrowser) { document.onkeydown = (keyboardEvent) => { const key = keyboardEvent.key; - if (key === "d" || key === "D") + if (key === "d" || key === "D") { + showScoreDetails = true; displayCategoryScores(); + } }; } -function sum(values) { +function mean(values) { console.assert(values instanceof Array); let sum = 0; for (let x of values) sum += x; - return sum; -} - - -function mean(values) { - const totalSum = sum(values) - return totalSum / values.length; + return sum / values.length; } function geomeanScore(values) { @@ -173,7 +135,7 @@ } function uiFriendlyDuration(time) { - return `${time.toFixed(2)} ms`; + return `${time.toFixed(3)} ms`; } // TODO: Cleanup / remove / merge. This is only used for caching loads in the @@ -188,7 +150,7 @@ // share common code. load(url) { console.assert(!isInBrowser); - if (!globalThis.prefetchResources) + if (!JetStreamParams.prefetchResources) return `load("${url}");` if (this.requests.has(url)) { @@ -227,7 +189,7 @@ if (isInBrowser) { statusElement = document.getElementById("status"); statusElement.innerHTML = `<label>Running...</label>`; - } else if (!dumpJSONResults) + } else if (!JetStreamParams.dumpJSONResults) console.log("Starting JetStream3"); performance.mark("update-ui-start"); @@ -246,9 +208,8 @@ performance.mark("update-ui"); benchmark.updateUIAfterRun(); - console.log("") - if (isInBrowser && globalThis.prefetchResources) { + if (isInBrowser && JetStreamParams.prefetchResources) { const cache = JetStream.blobDataCache; for (const file of benchmark.files) { const blobData = cache[file]; @@ -264,7 +225,7 @@ if (measureTotalTimeAsSubtest) { if (isInBrowser) document.getElementById("benchmark-total-time-score").innerHTML = uiFriendlyNumber(totalTime); - else if (!dumpJSONResults) + else if (!JetStreamParams.dumpJSONResults) console.log("Total time:", uiFriendlyNumber(totalTime)); allScores.push(totalTime); } @@ -276,13 +237,10 @@ allScores.push(score); } - const categoryScores = new Map(); - const categoryTimes = new Map(); + categoryScores = new Map; for (const benchmark of this.benchmarks) { for (let category of Object.keys(benchmark.subScores())) categoryScores.set(category, []); - for (let category of Object.keys(benchmark.subTimes())) - categoryTimes.set(category, []); } for (const benchmark of this.benchmarks) { @@ -291,49 +249,25 @@ console.assert(value > 0, `Invalid ${benchmark.name} ${category} score: ${value}`); arr.push(value); } - for (let [category, value] of Object.entries(benchmark.subTimes())) { - const arr = categoryTimes.get(category); - console.assert(value > 0, `Invalid ${benchmark.name} ${category} time: ${value}`); - arr.push(value); - } } const totalScore = geomeanScore(allScores); console.assert(totalScore > 0, `Invalid total score: ${totalScore}`); if (isInBrowser) { - let summaryHtml = `<div class="score">${uiFriendlyScore(totalScore)}</div> - <label>Score</label>`; - summaryHtml += `<div class="benchmark benchmark-done">`; - for (let [category, scores] of categoryScores) { - summaryHtml += `<span class="result detail"> - <span>${uiFriendlyScore(geomeanScore(scores))}</span> - <label>${category}</label> - </span>`; - } - for (let [category, times] of categoryTimes) { - summaryHtml += `<span class="result detail"> - <span>${uiFriendlyDuration(geomeanScore(times))}</span> - <label>${category}</label> - </span>`; - } - summaryHtml += "</div>"; const summaryElement = document.getElementById("result-summary"); summaryElement.classList.add("done"); - summaryElement.innerHTML = summaryHtml; + summaryElement.innerHTML = `<div class="score">${uiFriendlyScore(totalScore)}</div> + <label>Score</label>`; summaryElement.onclick = displayCategoryScores; + if (showScoreDetails) + displayCategoryScores(); statusElement.innerHTML = ""; - } else if (!dumpJSONResults) { - console.log("Mean-Scores:"); + } else if (!JetStreamParams.dumpJSONResults) { + console.log("\n"); for (let [category, scores] of categoryScores) - console.log(` ${category}-Score: ${uiFriendlyScore(geomeanScore(scores))}`); - console.log("Mean-Times:"); - for (let [category, times] of categoryTimes) - console.log(` ${category}-Time: ${uiFriendlyDuration(geomeanScore(times))}`); - console.log(""); - console.log("Totals:"); - console.log(" Total-Score: ", uiFriendlyScore(totalScore)); - console.log(" Total-Time: ", uiFriendlyDuration(totalTime)); + console.log(`${category}: ${uiFriendlyScore(geomeanScore(scores))}`); + console.log("\nTotal Score: ", uiFriendlyScore(totalScore), "\n"); } this.reportScoreToRunBenchmarkRunner(); @@ -350,39 +284,32 @@ prepareToRun() { this.benchmarks.sort((a, b) => a.plan.name.toLowerCase() < b.plan.name.toLowerCase() ? 1 : -1); - if (!isInBrowser) - return; - let text = ""; for (const benchmark of this.benchmarks) { - const scoreDescription = Object.keys(benchmark.allScores()); - const timeDescription = Object.keys(benchmark.allTimes()); + const description = Object.keys(benchmark.subScores()); + description.push("Score"); const scoreIds = benchmark.scoreIdentifiers(); const overallScoreId = scoreIds.pop(); - const timeIds = benchmark.timeIdentifiers(); - text += - `<div class="benchmark" id="benchmark-${benchmark.name}"> - <h3 class="benchmark-name">${benchmark.name} <a class="info" href="in-depth.html#${benchmark.name}">i</a></h3> - <h4 class="score" id="${overallScoreId}"> </h4> - <h4 class="plot" id="plot-${benchmark.name}"> </h4> - <p>`; - for (let i = 0; i < scoreIds.length; i++) { - const scoreId = scoreIds[i]; - const label = scoreDescription[i]; - text += `<span class="result score"><span id="${scoreId}"> </span><label>${label}</label></span>` + if (isInBrowser) { + text += + `<div class="benchmark" id="benchmark-${benchmark.name}"> + <h3 class="benchmark-name">${benchmark.name} <a class="info" href="in-depth.html#${benchmark.name}">i</a></h3> + <h4 class="score" id="${overallScoreId}"> </h4> + <h4 class="plot" id="plot-${benchmark.name}"> </h4> + <p>`; + for (let i = 0; i < scoreIds.length; i++) { + const scoreId = scoreIds[i]; + const label = description[i]; + text += `<span class="result"><span id="${scoreId}"> </span><label>${label}</label></span>` + } + text += `</p></div>`; } - for (let i = 0; i < timeIds.length; i++) { - const timeId = timeIds[i]; - const label = timeDescription[i]; - text += `<span class="result detail"><span id="${timeId}"> </span><label>${label}</label></span>` - } - text += `</p></div>`; } - for (let f = 0; f < 5; f++) - text += `<div class="benchmark fill"></div>`; + if (!isInBrowser) + return; const timestamp = performance.now(); document.getElementById('jetstreams').style.backgroundImage = `url('jetstreams.svg?${timestamp}')`; @@ -402,13 +329,12 @@ if (!isInBrowser) return; - for (const id of benchmark.scoreIdentifiers()) + for (const id of benchmark.scoreIdentifiers()) { document.getElementById(id).innerHTML = "error"; - for (const id of benchmark.timeIdentifiers()) - document.getElementById(id).innerHTML = "error"; - const benchmarkResultsUI = document.getElementById(`benchmark-${benchmark.name}`); - benchmarkResultsUI.classList.remove("benchmark-running"); - benchmarkResultsUI.classList.add("benchmark-error"); + const benchmarkResultsUI = document.getElementById(`benchmark-${benchmark.name}`); + benchmarkResultsUI.classList.remove("benchmark-running"); + benchmarkResultsUI.classList.add("benchmark-error"); + } } pushError(name, error) { @@ -427,8 +353,8 @@ this.isReady = true; if (isInBrowser) { globalThis.dispatchEvent(new Event("JetStreamReady")); - if (typeof(globalThis.startDelay) !== "undefined") { - setTimeout(() => this.start(), globalThis.startDelay); + if (typeof(JetStreamParams.startDelay) !== "undefined") { + setTimeout(() => this.start(), JetStreamParams.startDelay); } } } @@ -533,7 +459,7 @@ dumpJSONResultsIfNeeded() { - if (dumpJSONResults) { + if (JetStreamParams.dumpJSONResults) { console.log("\n"); console.log(this.resultsJSON()); console.log("\n"); @@ -552,7 +478,7 @@ if (!isInBrowser) return; - if (!globalThis.shouldReport) + if (!JetStreamParams.shouldReport) return; const content = this.resultsJSON(); @@ -599,6 +525,7 @@ this.add(` performance.mark ??= function(name) { return { name }}; performance.measure ??= function() {}; + performance.timeOrigin ??= performance.now(); `); } @@ -767,11 +694,6 @@ }; } - get isDone() { - return this._state == BenchmarkState.DONE || this._state == BenchmarkState.ERROR; - } - get isSuccess() { return this._state = BenchmarkState.DONE; } - get runnerCode() { return `{ const benchmark = new Benchmark(${JSON.stringify(this.benchmarkArguments)}); @@ -809,36 +731,16 @@ return geomeanScore(subScores); } - get totalTime() { - const subTimes = Object.values(this.subTimes()); - return sum(subTimes); - } - - get wallTime() { - return this.endTime - this.startTime; - } - subScores() { throw new Error("Subclasses need to implement this"); } - subTimes() { - throw new Error("Subclasses need to implement this"); - } - allScores() { const allScores = this.subScores(); allScores["Score"] = this.score; return allScores; } - allTimes() { - const allTimes = this.subTimes(); - allTimes["Total"] = this.totalTime; - allTimes["Wall-Time"] = this.wallTime; - return allTimes; - } - get prerunCode() { return null; } get preIterationCode() { @@ -846,8 +748,8 @@ if (this.plan.deterministicRandom) code += `Math.random.__resetSeed();`; - if (globalThis.customPreIterationCode) - code += customPreIterationCode; + if (JetStreamParams.customPreIterationCode) + code += JetStreamParams.customPreIterationCode; return code; } @@ -855,8 +757,8 @@ get postIterationCode() { let code = ""; - if (globalThis.customPostIterationCode) - code += customPostIterationCode; + if (JetStreamParams.customPostIterationCode) + code += JetStreamParams.customPostIterationCode; return code; } @@ -890,7 +792,7 @@ } else { const cache = JetStream.blobDataCache; for (const file of this.plan.files) { - scripts.addWithURL(globalThis.prefetchResources ? cache[file].blobURL : file); + scripts.addWithURL(JetStreamParams.prefetchResources ? cache[file].blobURL : file); } } @@ -904,7 +806,7 @@ performance.mark(this.name); this.startTime = performance.now(); - if (RAMification) + if (JetStreamParams.RAMification) resetMemoryPeak(); let magicFrame; @@ -924,7 +826,7 @@ this.endTime = performance.now(); performance.measure(this.name, this.name); - if (RAMification) { + if (JetStreamParams.RAMification) { const memoryFootprint = MemoryFootprint(); this.currentFootprint = memoryFootprint.current; this.peakFootprint = memoryFootprint.peak; @@ -941,7 +843,7 @@ async doLoadBlob(resource) { const blobData = JetStream.blobDataCache[resource]; - if (!globalThis.prefetchResources) { + if (!JetStreamParams.prefetchResources) { blobData.blobURL = resource; return blobData; } @@ -1068,10 +970,6 @@ return !counter.failedPreloadResources && counter.loadedResources == counter.totalResources; } - prefetchResourcesForD8() { - // For d8 we just keep the file name - } - async retryPrefetchResourcesForBrowser() { console.assert(isInBrowser); @@ -1112,17 +1010,8 @@ return `results-cell-${this.name}-${scoreName}`; } - timeIdentifiers() { - const ids = Object.keys(this.allTimes()).map(name => this.timeIdentifier(name)); - return ids; - } - - timeIdentifier(scoreName) { - return `results-cell-${this.name}-${scoreName}-time`; - } - updateUIBeforeRun() { - if (!dumpJSONResults) + if (!JetStreamParams.dumpJSONResults) console.log(`Running ${this.name}:`); if (isInBrowser) this.updateUIBeforeRunInBrowser(); @@ -1135,29 +1024,24 @@ for (const id of this.scoreIdentifiers()) document.getElementById(id).innerHTML = "..."; - for (const id of this.timeIdentifiers()) - document.getElementById(id).innerHTML = "..."; } updateUIAfterRun() { const scoreEntries = Object.entries(this.allScores()); - const timeEntries = Object.entries(this.allTimes()); if (isInBrowser) - this.updateUIAfterRunInBrowser(scoreEntries, timeEntries); - if (dumpJSONResults) + this.updateUIAfterRunInBrowser(scoreEntries); + if (JetStreamParams.dumpJSONResults) return; - this.updateConsoleAfterRun(scoreEntries, timeEntries); + this.updateConsoleAfterRun(scoreEntries); } - updateUIAfterRunInBrowser(scoreEntries, timeEntries) { + updateUIAfterRunInBrowser(scoreEntries) { const benchmarkResultsUI = document.getElementById(`benchmark-${this.name}`); benchmarkResultsUI.classList.remove("benchmark-running"); benchmarkResultsUI.classList.add("benchmark-done"); for (const [name, value] of scoreEntries) document.getElementById(this.scoreIdentifier(name)).innerHTML = uiFriendlyScore(value); - for (const [name, value] of timeEntries) - document.getElementById(this.timeIdentifier(name)).innerHTML = uiFriendlyDuration(value); this.renderScatterPlot(); } @@ -1190,21 +1074,15 @@ plotContainer.innerHTML = `<svg width="${width}px" height="${height}px">${circlesSVG}</svg>`; } - updateConsoleAfterRun(scoreEntries, timeEntries) { + updateConsoleAfterRun(scoreEntries) { for (let [name, value] of scoreEntries) { - if (!name.endsWith("Score")) - name += "-Score"; - console.log(this.name, `${name}:`, uiFriendlyScore(value)); + console.log(` ${name}:`, uiFriendlyScore(value)); } - for (let [name, value] of timeEntries) { - if (!name.endsWith("Time")) - name += "-Time"; - console.log(this.name, `${name}:`, uiFriendlyDuration(value)); + if (JetStreamParams.RAMification) { + console.log(" Current Footprint:", uiFriendlyNumber(this.currentFootprint)); + console.log(" Peak Footprint:", uiFriendlyNumber(this.peakFootprint)); } - if (RAMification) { - console.log(this.name, "Current Footprint:", uiFriendlyNumber(this.currentFootprint)); - console.log(this.name, "Peak Footprint:", uiFriendlyNumber(this.peakFootprint)); - } + console.log(" Wall-Time:", uiFriendlyDuration(this.endTime - this.startTime)); } }; @@ -1289,22 +1167,6 @@ results[subScore] = geomeanScore(results[subScore]); return results; } - - subTimes() { - const results = {}; - - for (const benchmark of this.benchmarks) { - let times = benchmark.subTimes(); - for (let subTime in times) { - results[subTime] ??= []; - results[subTime].push(times[subTime]); - } - } - - for (let subTimes in results) - results[subTimes] = sum(results[subTimes]); - return results; - } }; class DefaultBenchmark extends Benchmark { @@ -1318,8 +1180,9 @@ this.worstScore = null; this.averageTime = null; this.averageScore = null; - - console.assert(this.iterations > this.worstCaseCount); + if (this.worstCaseCount) + console.assert(this.iterations > this.worstCaseCount); + console.assert(this.worstCaseCount >= 0); } processResults(results) { @@ -1333,29 +1196,24 @@ for (let i = 0; i + 1 < results.length; ++i) console.assert(results[i] >= results[i + 1]); - const worstCase = []; - for (let i = 0; i < this.worstCaseCount; ++i) - worstCase.push(results[i]); - this.worstTime = mean(worstCase); - this.worstScore = toScore(this.worstTime); + if (this.worstCaseCount) { + const worstCase = []; + for (let i = 0; i < this.worstCaseCount; ++i) + worstCase.push(results[i]); + this.worstTime = mean(worstCase); + this.worstScore = toScore(this.worstTime); + } this.averageTime = mean(results); this.averageScore = toScore(this.averageTime); } subScores() { - return { - "First": this.firstIterationScore, - "Worst": this.worstScore, - "Average": this.averageScore, - }; - } - - subTimes() { - return { - "First": this.firstIterationTime, - "Worst": this.worstTime, - "Average": this.averageTime, - }; + const scores = { "First": this.firstIterationScore } + if (this.worstCaseCount) + scores["Worst"] = this.worstScore; + if (this.iterations > 1) + scores["Average"] = this.averageScore; + return scores; } } @@ -1408,7 +1266,7 @@ get runnerCode() { return ` async function doRun() { - const benchmark = new Benchmark(${this.iterations}); + const benchmark = new Benchmark(${JSON.stringify(this.benchmarkArguments)}); await benchmark.init?.(); const results = []; const benchmarkName = "${this.name}"; @@ -1521,13 +1379,6 @@ }`; } - subTimes() { - return { - "Stdlib": this.stdlibTime, - "MainRun": this.mainRunTime, - }; - } - subScores() { return { "Stdlib": this.stdlibScore, @@ -1659,26 +1510,12 @@ return str; } - subTimes() { - return { - "Startup": this.startupTime, - "Runtime": this.runTime, - }; - } - subScores() { return { "Startup": this.startupScore, "Runtime": this.runScore, }; } - - subTimes() { - return { - "Startup": this.startupTime, - "Runtime": this.runTime, - }; - } }; function dotnetPreloads(type) @@ -1924,7 +1761,7 @@ tags: ["Default", "Octane"], }), new DefaultBenchmark({ - name: "typescript", + name: "typescript-octane", files: [ "./Octane/typescript-compiler.js", "./Octane/typescript-input.js", @@ -1933,7 +1770,7 @@ iterations: 15, worstCaseCount: 2, deterministicRandom: true, - tags: ["Default", "Octane"], + tags: ["Octane", "typescript"], }), // RexBench new DefaultBenchmark({ @@ -2135,6 +1972,19 @@ ], tags: ["Default", "Proxy"], }), + new AsyncBenchmark({ + name: "web-ssr", + files: [ + "./web-ssr/benchmark.js", + ], + preload: { + // Debug Sources for nicer profiling. + // BUNDLE_BLOB: "./web-ssr/dist/bundle.js", + BUNDLE_BLOB: "./web-ssr/dist/bundle.min.js", + }, + tags: ["Default", "web", "ssr"], + iterations: 30, + }), // Class fields new DefaultBenchmark({ name: "raytrace-public-class-fields", @@ -2150,6 +2000,24 @@ ], tags: ["Default", "ClassFields"], }), + new AsyncBenchmark({ + name: "typescript-lib", + files: [ + "./TypeScript/src/mock/sys.js", + "./TypeScript/dist/bundle.js", + "./TypeScript/benchmark.js", + ], + preload: { + // Large test project: + // "tsconfig": "./TypeScript/src/gen/zod-medium/tsconfig.json", + // "files": "./TypeScript/src/gen/zod-medium/files.json", + "tsconfig": "./TypeScript/src/gen/immer-tiny/tsconfig.json", + "files": "./TypeScript/src/gen/immer-tiny/files.json", + }, + iterations: 1, + worstCaseCount: 0, + tags: ["Default", "typescript"], + }), // Generators new AsyncBenchmark({ name: "async-fs", @@ -2210,18 +2078,6 @@ tags: ["Wasm"], }), new WasmEMCCBenchmark({ - name: "tsf-wasm", - files: [ - "./wasm/TSF/build/tsf.js", - "./wasm/TSF/benchmark.js", - ], - preload: { - wasmBinary: "./wasm/TSF/build/tsf.wasm", - }, - iterations: 50, - tags: ["Default", "Wasm"], - }), - new WasmEMCCBenchmark({ name: "quicksort-wasm", files: [ "./wasm/quicksort/build/quicksort.js", @@ -2231,7 +2087,9 @@ wasmBinary: "./wasm/quicksort/build/quicksort.wasm", }, iterations: 50, - tags: ["Default", "Wasm"], + // No longer run by-default: We have more realistic Wasm workloads by + // now, and it was a small microbenchmark. + tags: ["Wasm"], }), new WasmEMCCBenchmark({ name: "gcc-loops-wasm", @@ -2243,6 +2101,20 @@ wasmBinary: "./wasm/gcc-loops/build/gcc-loops.wasm", }, iterations: 50, + // No longer run by-default: We have more realistic Wasm workloads by + // now, and it was a small microbenchmark. + tags: ["Wasm"], + }), + new WasmEMCCBenchmark({ + name: "tsf-wasm", + files: [ + "./wasm/TSF/build/tsf.js", + "./wasm/TSF/benchmark.js", + ], + preload: { + wasmBinary: "./wasm/TSF/build/tsf.wasm", + }, + iterations: 50, tags: ["Default", "Wasm"], }), new WasmEMCCBenchmark({ @@ -2280,19 +2152,6 @@ jsModule: "./Dart/build/flute.complex.dart2wasm.mjs", wasmBinary: "./Dart/build/flute.complex.dart2wasm.wasm", }, - iterations: 30, - worstCaseCount: 2, - tags: ["Wasm"], - }), - new WasmEMCCBenchmark({ - name: "Dart-flute-wasm", - files: [ - "./Dart/benchmark.js", - ], - preload: { - jsModule: "./Dart/build/flute.dart2wasm.mjs", - wasmBinary: "./Dart/build/flute.dart2wasm.wasm", - }, iterations: 15, worstCaseCount: 2, // Not run by default because the `CupertinoTimePicker` widget is very allocation-heavy, @@ -2335,6 +2194,56 @@ worstCaseCount: 2, tags: ["Default", "Wasm"], }), + new AsyncBenchmark({ + name: "transformersjs-bert-wasm", + files: [ + "./polyfills/fast-text-encoding/1.0.3/text.js", + "./transformersjs/benchmark.js", + "./transformersjs/task-bert.js", + ], + preload: { + transformersJsModule: "./transformersjs/build/transformers.js", + + onnxJsModule: "./transformersjs/build/onnxruntime-web/ort-wasm-simd-threaded.mjs", + onnxWasmBinary: "./transformersjs/build/onnxruntime-web/ort-wasm-simd-threaded.wasm", + + modelWeights: "./transformersjs/build/models/Xenova/distilbert-base-uncased-finetuned-sst-2-english/onnx/model_uint8.onnx", + modelConfig: "./transformersjs/build/models/Xenova/distilbert-base-uncased-finetuned-sst-2-english/config.json", + modelTokenizer: "./transformersjs/build/models/Xenova/distilbert-base-uncased-finetuned-sst-2-english/tokenizer.json", + modelTokenizerConfig: "./transformersjs/build/models/Xenova/distilbert-base-uncased-finetuned-sst-2-english/tokenizer_config.json", + }, + iterations: 30, + allowUtf16: true, + tags: ["Default", "Wasm", "transformersjs"], + }), + new AsyncBenchmark({ + name: "transformersjs-whisper-wasm", + files: [ + "./polyfills/fast-text-encoding/1.0.3/text.js", + "./transformersjs/benchmark.js", + "./transformersjs/task-whisper.js", + ], + preload: { + transformersJsModule: "./transformersjs/build/transformers.js", + + onnxJsModule: "./transformersjs/build/onnxruntime-web/ort-wasm-simd-threaded.mjs", + onnxWasmBinary: "./transformersjs/build/onnxruntime-web/ort-wasm-simd-threaded.wasm", + + modelEncoderWeights: "./transformersjs/build/models/Xenova/whisper-tiny.en/onnx/encoder_model_quantized.onnx", + modelDecoderWeights: "./transformersjs/build/models/Xenova/whisper-tiny.en/onnx/decoder_model_merged_quantized.onnx", + modelConfig: "./transformersjs/build/models/Xenova/whisper-tiny.en/config.json", + modelTokenizer: "./transformersjs/build/models/Xenova/whisper-tiny.en/tokenizer.json", + modelTokenizerConfig: "./transformersjs/build/models/Xenova/whisper-tiny.en/tokenizer_config.json", + modelPreprocessorConfig: "./transformersjs/build/models/Xenova/whisper-tiny.en/preprocessor_config.json", + modelGenerationConfig: "./transformersjs/build/models/Xenova/whisper-tiny.en/generation_config.json", + + inputFile: "./transformersjs/build/inputs/jfk.raw", + }, + iterations: 5, + worstCaseCount: 1, + allowUtf16: true, + tags: ["Default", "Wasm", "transformersjs"], + }), new WasmLegacyBenchmark({ name: "tfjs-wasm", files: [ @@ -2651,9 +2560,53 @@ worstCaseCount: 2, tags: ["Default", "Wasm", "dotnet"], }), + // J2CL + new AsyncBenchmark({ + name: "j2cl-box2d-wasm", + files: [ + "./wasm/j2cl-box2d/benchmark.js", + "./wasm/j2cl-box2d/build/Box2dBenchmark_j2wasm_entry.js", + ], + preload: { + wasmBinary: "./wasm/j2cl-box2d/build/Box2dBenchmark_j2wasm_binary.wasm", + }, + iterations: 40, + tags: ["Default", "Wasm"], + }), ]; +const INTL_TESTS = [ + "DateTimeFormat", + "ListFormat", + "RelativeTimeFormat", + "NumberFormat", + "PluralRules", +]; +const INTL_BENCHMARKS = []; +for (const test of INTL_TESTS) { + const benchmark = new AsyncBenchmark({ + name: `${test}-intl`, + files: [ + "./intl/src/helper.js", + `./intl/src/${test}.js`, + "./intl/benchmark.js", + ], + iterations: 2, + worstCaseCount: 1, + deterministicRandom: true, + tags: ["Javascript", "intl"], + }); + INTL_BENCHMARKS.push(benchmark); +} +BENCHMARKS.push( + new GroupedBenchmark({ + name: "intl", + tags: ["Javascript", "intl"], + }, INTL_BENCHMARKS)); + + + // SunSpider tests const SUNSPIDER_TESTS = [ "3d-cube", @@ -2821,8 +2774,8 @@ if (!isInBrowser) defaultDisabledTags.push("WorkerTests"); -if (globalThis.testList?.length) { - benchmarks = processTestList(globalThis.testList); +if (JetStreamParams.testList.length) { + benchmarks = processTestList(JetStreamParams.testList); } else { benchmarks = findBenchmarksByTag("Default", defaultDisabledTags) }
diff --git a/TypeScript/.gitignore b/TypeScript/.gitignore new file mode 100644 index 0000000..7ea7d43 --- /dev/null +++ b/TypeScript/.gitignore
@@ -0,0 +1,2 @@ +node_modules +build/*.git \ No newline at end of file
diff --git a/TypeScript/README.md b/TypeScript/README.md new file mode 100644 index 0000000..7ca2d41 --- /dev/null +++ b/TypeScript/README.md
@@ -0,0 +1,17 @@ +# TypeSCript test for JetStream + +Measures the performance of running typescript on several framwork sources. + +The build steps bundles sources from different frameworks: +- [jestjs](https://github.com/jestjs/jest.git) +- [zod](https://github.com/colinhacks/zod.git) +- [immer](https://github.com/immerjs/immer.git) + +## Build Instructions + +```bash +# install required node packages. +npm ci +# build the workload, output is ./dist +npm run build +``` \ No newline at end of file
diff --git a/TypeScript/benchmark.js b/TypeScript/benchmark.js new file mode 100644 index 0000000..919ae76 --- /dev/null +++ b/TypeScript/benchmark.js
@@ -0,0 +1,41 @@ +/* + * Copyright (C) 2025 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// Prevent typescript logging output. +console.log = () => {}; + +class Benchmark { + tsConfig; + fileData; + + async init() { + this.tsConfig = JSON.parse(await JetStream.getString(JetStream.preload.tsconfig)); + this.fileData = JSON.parse(await JetStream.getString(JetStream.preload.files)); + } + + runIteration() { + TypeScriptCompileTest.compileTest(this.tsConfig, this.fileData); + } +} \ No newline at end of file
diff --git a/TypeScript/build/import-src-project.mjs b/TypeScript/build/import-src-project.mjs new file mode 100644 index 0000000..6ad554f --- /dev/null +++ b/TypeScript/build/import-src-project.mjs
@@ -0,0 +1,198 @@ +import fs from "fs"; +import path from "path"; +import { spawnSync } from "child_process"; +import { globSync } from "glob"; +import assert from 'assert/strict'; +import { fileURLToPath } from "url"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + + +class Importer { + constructor({ projectName, size, repoUrl, srcFolder, extraFiles, extraDirs }) { + this.projectName = projectName; + assert(projectName.endsWith(`-${size}`), "missing size annotation in projectName"); + this.repoUrl = repoUrl; + this.baseDir = path.resolve(__dirname); + let repoName = path.basename(this.repoUrl); + if (!repoName.endsWith(".git")) { + repoName = `${repoName}.git`; + } + this.repoDir = path.resolve(__dirname, repoName); + this.srcFolder = srcFolder; + this.outputDir = path.resolve(__dirname, `../src/gen/${this.projectName}`); + fs.mkdirSync(this.outputDir, { recursive: true }); + this.srcFileData = Object.create(null); + this.extraFiles = extraFiles; + this.extraDirs = extraDirs; + } + run() { + this.cloneRepo(); + this.readSrcFileData(); + this.addExtraFilesFromDirs(); + this.addSpecificFiles(); + this.writeTsConfig(); + this.writeSrcFileData(); + } + + cloneRepo() { + if (fs.existsSync(this.repoDir)) return; + console.info(`Cloning src data repository to ${this.repoDir}`); + spawnSync("git", ["clone", this.repoUrl, this.repoDir]); + } + + readSrcFileData() { + const patterns = [`${this.srcFolder}/**/*.ts`, `${this.srcFolder}/**/*.d.ts`, `${this.srcFolder}/*.d.ts`]; + patterns.forEach(pattern => { + const files = globSync(pattern, { cwd: this.repoDir, nodir: true }); + files.forEach(file => { + const filePath = path.join(this.repoDir, file); + const relativePath = path.relative(this.repoDir, filePath).toLowerCase(); + const fileContents = fs.readFileSync(filePath, "utf8"); + this.addFileContents(relativePath, fileContents); + }); + }); + } + + addExtraFilesFromDirs() { + this.extraDirs.forEach(({ dir, nameOnly = false }) => { + const absoluteSourceDir = path.resolve(__dirname, dir); + let allFiles = globSync("**/*.d.ts", { cwd: absoluteSourceDir, nodir: true }); + allFiles = allFiles.concat(globSync("**/*.d.mts", { cwd: absoluteSourceDir, nodir: true })); + + allFiles.forEach(file => { + const filePath = path.join(absoluteSourceDir, file); + let relativePath = path.join(dir, path.relative(absoluteSourceDir, filePath)); + if (nameOnly) { + relativePath = path.basename(relativePath); + } + this.addFileContents(relativePath, fs.readFileSync(filePath, "utf8")) + }); + }); + } + + addFileContents(relativePath, fileContents) { + if (relativePath in this.srcFileData) { + if (this.srcFileData[relativePath] !== fileContents) { + throw new Error(`${relativePath} was previously added with different contents.`); + } + } else { + this.srcFileData[relativePath] = fileContents; + } + } + + addSpecificFiles() { + this.extraFiles.forEach(file => { + const filePath = path.join(this.baseDir, file); + this.srcFileData[file] = fs.readFileSync(filePath, "utf8"); + }); + } + + writeSrcFileData() { + const filesDataPath = path.join(this.outputDir, "files.json"); + fs.writeFileSync( + filesDataPath, + JSON.stringify(this.srcFileData, null, 2) + ); + const stats = fs.statSync(filesDataPath); + const fileSizeInKiB = (stats.size / 1024) | 0; + console.info(`Exported ${this.projectName}`); + console.info(` File Contents: ${path.relative(process.cwd(), filesDataPath)}`); + console.info(` Total Size: ${fileSizeInKiB} KiB`); + } + + writeTsConfig() { + const tsconfigInputPath = path.join(this.repoDir, "tsconfig.json"); + const mergedTsconfig = this.loadAndMergeTsconfig(tsconfigInputPath); + const tsconfigOutputPath = path.join(this.outputDir, "tsconfig.json"); + fs.writeFileSync( + tsconfigOutputPath, + JSON.stringify(mergedTsconfig, null, 2) + ); + } + + loadAndMergeTsconfig(configPath) { + const tsconfigContent = fs.readFileSync(configPath, "utf8"); + const tsconfigContentWithoutComments = tsconfigContent.replace(/(?:^|\s)\/\/.*$|\/\*[\s\S]*?\*\//gm, ""); + const tsconfig = JSON.parse(tsconfigContentWithoutComments); + let baseConfigPath = tsconfig.extends; + if (!baseConfigPath) return tsconfig; + if (!baseConfigPath.startsWith('./') && !baseConfigPath.startsWith('../')) return tsconfig; + + baseConfigPath = path.resolve(path.dirname(configPath), baseConfigPath); + const baseConfig = this.loadAndMergeTsconfig(baseConfigPath); + + const mergedConfig = { ...baseConfig, ...tsconfig }; + if (baseConfig.compilerOptions && tsconfig.compilerOptions) { + mergedConfig.compilerOptions = { ...baseConfig.compilerOptions, ...tsconfig.compilerOptions }; + } + delete mergedConfig.extends; + return mergedConfig; + } +} + +const jest = new Importer({ + projectName: "jestjs-large", + size: "large", + repoUrl: "https://github.com/jestjs/jest.git", + srcFolder: "packages", + extraFiles: [ + "../../node_modules/@babel/types/lib/index.d.ts", + "../../node_modules/callsites/index.d.ts", + "../../node_modules/camelcase/index.d.ts", + "../../node_modules/chalk/types/index.d.ts", + "../../node_modules/execa/index.d.ts", + "../../node_modules/fast-json-stable-stringify/index.d.ts", + "../../node_modules/get-stream/index.d.ts", + "../../node_modules/strip-json-comments/index.d.ts", + "../../node_modules/tempy/index.d.ts", + "../../node_modules/tempy/node_modules/type-fest/index.d.ts", + "../node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts", + "../node_modules/@types/eslint/index.d.ts", + "../node_modules/ansi-regex/index.d.ts", + "../node_modules/ansi-styles/index.d.ts", + "../node_modules/glob/dist/esm/index.d.ts", + "../node_modules/jest-worker/build/index.d.ts", + "../node_modules/lru-cache/dist/esm/index.d.ts", + "../node_modules/minipass/dist/esm/index.d.ts", + "../node_modules/p-limit/index.d.ts", + "../node_modules/path-scurry/dist/esm/index.d.ts", + "../node_modules/typescript/lib/lib.dom.d.ts", + ], + extraDirs: [ + { dir: "../node_modules/@types/" }, + { dir: "../node_modules/typescript/lib/", nameOnly: true }, + { dir: "../node_modules/jest-worker/build/" }, + { dir: "../node_modules/@jridgewell/trace-mapping/types/" }, + { dir: "../node_modules/minimatch/dist/esm/" }, + { dir: "../node_modules/glob/dist/esm/" }, + { dir: "../../node_modules/tempy/node_modules/type-fest/source/" } + ], +}); + +const zod = new Importer({ + projectName: "zod-medium", + size: "medium", + repoUrl: "https://github.com/colinhacks/zod.git", + srcFolder: "packages", + extraFiles: [], + extraDirs: [ + { dir: "../node_modules/typescript/lib/", nameOnly: true }, + ], +}); + +const immer =new Importer({ + projectName: "immer-tiny", + size: "tiny", + repoUrl: "https://github.com/immerjs/immer.git", + srcFolder: "src", + extraFiles: [], + extraDirs: [ + { dir: "../node_modules/typescript/lib/", nameOnly: true }, + ], +}); + +// Skip jest since it produces a hugh in-memory FS. +// jest.run(); +zod.run(); +immer.run();
diff --git a/TypeScript/dist/bundle.js b/TypeScript/dist/bundle.js new file mode 100644 index 0000000..42a38f4 --- /dev/null +++ b/TypeScript/dist/bundle.js
@@ -0,0 +1,7 @@ +(()=>{var e={21:()=>{},202:()=>{},247:()=>{},387:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=387,e.exports=webpackEmptyContext},615:()=>{},641:()=>{},664:()=>{},732:()=>{},843:(e,t,n)=>{var r="/index.js",i={};(e=>{"use strict";var t=Object.defineProperty,i=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.prototype.hasOwnProperty,(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})}),o={};i(o,{ANONYMOUS:()=>Xs,AccessFlags:()=>Ae,AssertionLevel:()=>_,AssignmentDeclarationKind:()=>Ue,AssignmentKind:()=>Sn,Associativity:()=>vn,BreakpointResolver:()=>Ql,BuilderFileEmit:()=>Ka,BuilderProgramKind:()=>Ga,BuilderState:()=>qa,CallHierarchy:()=>Xl,CharacterCodes:()=>rt,CheckFlags:()=>Ee,CheckMode:()=>na,ClassificationType:()=>zs,ClassificationTypeNames:()=>Us,CommentDirectiveType:()=>ae,Comparison:()=>c,CompletionInfoFlags:()=>Ls,CompletionTriggerKind:()=>Fs,Completions:()=>sm,ContainerFlags:()=>jo,ContextFlags:()=>ge,Debug:()=>h,DiagnosticCategory:()=>ze,Diagnostics:()=>Ot,DocumentHighlights:()=>tc,ElementFlags:()=>Ie,EmitFlags:()=>st,EmitHint:()=>pt,EmitOnly:()=>de,EndOfLineState:()=>Bs,ExitStatus:()=>ue,ExportKind:()=>ec,Extension:()=>it,ExternalEmitHelpers:()=>dt,FileIncludeKind:()=>ce,FilePreprocessingDiagnosticsKind:()=>le,FileSystemEntryKind:()=>Nt,FileWatcherEventKind:()=>ht,FindAllReferences:()=>vm,FlattenLevel:()=>fa,FlowFlags:()=>oe,ForegroundColorEscapeSequences:()=>Aa,FunctionFlags:()=>xn,GeneratedIdentifierFlags:()=>ne,GetLiteralTextFlags:()=>mn,GoToDefinition:()=>Pm,HighlightSpanKind:()=>Ds,IdentifierNameMap:()=>ma,ImportKind:()=>Zs,ImportsNotUsedAsValues:()=>Xe,IndentStyle:()=>Is,IndexFlags:()=>Oe,IndexKind:()=>Re,InferenceFlags:()=>Je,InferencePriority:()=>je,InlayHintKind:()=>Ps,InlayHints:()=>Im,InternalEmitFlags:()=>ct,InternalNodeBuilderFlags:()=>he,InternalSymbolName:()=>Ne,IntersectionFlags:()=>fe,InvalidatedProjectKind:()=>ts,JSDocParsingMode:()=>yt,JsDoc:()=>Am,JsTyping:()=>ss,JsxEmit:()=>Qe,JsxFlags:()=>Z,JsxReferenceKind:()=>we,LanguageFeatureMinimumTarget:()=>lt,LanguageServiceMode:()=>Cs,LanguageVariant:()=>tt,LexicalEnvironmentFlags:()=>mt,ListFormat:()=>_t,LogLevel:()=>T,MapCode:()=>Rm,MemberOverrideStatus:()=>me,ModifierFlags:()=>Y,ModuleDetectionKind:()=>qe,ModuleInstanceState:()=>Bo,ModuleKind:()=>$e,ModuleResolutionKind:()=>Ve,ModuleSpecifierEnding:()=>br,NavigateTo:()=>pc,NavigationBar:()=>uc,NewLineKind:()=>Ye,NodeBuilderFlags:()=>ye,NodeCheckFlags:()=>ke,NodeFactoryFlags:()=>Mr,NodeFlags:()=>X,NodeResolutionFeatures:()=>Lo,ObjectFlags:()=>Pe,OperationCanceledException:()=>se,OperatorPrecedence:()=>bn,OrganizeImports:()=>Bm,OrganizeImportsMode:()=>ks,OuterExpressionKinds:()=>ut,OutliningElementsCollector:()=>jm,OutliningSpanKind:()=>Ms,OutputFileType:()=>Rs,PackageJsonAutoImportPreference:()=>bs,PackageJsonDependencyGroup:()=>vs,PatternMatchKind:()=>rc,PollingInterval:()=>Tt,PollingWatchKind:()=>Ge,PragmaKindFlags:()=>ft,PredicateSemantics:()=>te,PreparePasteEdits:()=>x_,PrivateIdentifierKind:()=>Ur,ProcessLevel:()=>ga,ProgramUpdateLevel:()=>Da,QuotePreference:()=>Gs,RegularExpressionFlags:()=>re,RelationComparisonResult:()=>ee,Rename:()=>Wm,ScriptElementKind:()=>Js,ScriptElementKindModifier:()=>Ws,ScriptKind:()=>Ze,ScriptSnapshot:()=>Ts,ScriptTarget:()=>et,SemanticClassificationFormat:()=>Ns,SemanticMeaning:()=>qs,SemicolonPreference:()=>As,SignatureCheckMode:()=>ra,SignatureFlags:()=>Me,SignatureHelp:()=>Um,SignatureInfo:()=>Ha,SignatureKind:()=>Le,SmartSelectionRange:()=>qm,SnippetKind:()=>at,StatisticType:()=>ns,StructureIsReused:()=>pe,SymbolAccessibility:()=>xe,SymbolDisplay:()=>Km,SymbolDisplayPartKind:()=>ws,SymbolFlags:()=>Ce,SymbolFormatFlags:()=>Se,SyntaxKind:()=>Q,Ternary:()=>We,ThrottledCancellationToken:()=>Kl,TokenClass:()=>js,TokenFlags:()=>ie,TransformFlags:()=>ot,TypeFacts:()=>ea,TypeFlags:()=>Fe,TypeFormatFlags:()=>Te,TypeMapKind:()=>Be,TypePredicateKind:()=>ve,TypeReferenceSerializationKind:()=>be,UnionReduction:()=>_e,UpToDateStatusType:()=>Za,VarianceFlags:()=>De,Version:()=>k,VersionRange:()=>F,WatchDirectoryFlags:()=>nt,WatchDirectoryKind:()=>Ke,WatchFileKind:()=>He,WatchLogLevel:()=>Ia,WatchType:()=>Ya,accessPrivateIdentifier:()=>accessPrivateIdentifier,addEmitFlags:()=>addEmitFlags,addEmitHelper:()=>addEmitHelper,addEmitHelpers:()=>addEmitHelpers,addInternalEmitFlags:()=>addInternalEmitFlags,addNodeFactoryPatcher:()=>addNodeFactoryPatcher,addObjectAllocatorPatcher:()=>addObjectAllocatorPatcher,addRange:()=>addRange,addRelatedInfo:()=>addRelatedInfo,addSyntheticLeadingComment:()=>addSyntheticLeadingComment,addSyntheticTrailingComment:()=>addSyntheticTrailingComment,addToSeen:()=>addToSeen,advancedAsyncSuperHelper:()=>Si,affectsDeclarationPathOptionDeclarations:()=>Zi,affectsEmitOptionDeclarations:()=>Yi,allKeysStartWithDot:()=>allKeysStartWithDot,altDirectorySeparator:()=>Pt,and:()=>and,append:()=>append,appendIfUnique:()=>appendIfUnique,arrayFrom:()=>arrayFrom,arrayIsEqualTo:()=>arrayIsEqualTo,arrayIsHomogeneous:()=>arrayIsHomogeneous,arrayOf:()=>arrayOf,arrayReverseIterator:()=>arrayReverseIterator,arrayToMap:()=>arrayToMap,arrayToMultiMap:()=>arrayToMultiMap,arrayToNumericMap:()=>arrayToNumericMap,assertType:()=>assertType,assign:()=>assign,asyncSuperHelper:()=>Ti,attachFileToDiagnostics:()=>attachFileToDiagnostics,base64decode:()=>base64decode,base64encode:()=>base64encode,binarySearch:()=>binarySearch,binarySearchKey:()=>binarySearchKey,bindSourceFile:()=>bindSourceFile,breakIntoCharacterSpans:()=>breakIntoCharacterSpans,breakIntoWordSpans:()=>breakIntoWordSpans,buildLinkParts:()=>buildLinkParts,buildOpts:()=>po,buildOverload:()=>buildOverload,bundlerModuleNameResolver:()=>bundlerModuleNameResolver,canBeConvertedToAsync:()=>canBeConvertedToAsync,canHaveDecorators:()=>canHaveDecorators,canHaveExportModifier:()=>canHaveExportModifier,canHaveFlowNode:()=>canHaveFlowNode,canHaveIllegalDecorators:()=>canHaveIllegalDecorators,canHaveIllegalModifiers:()=>canHaveIllegalModifiers,canHaveIllegalType:()=>canHaveIllegalType,canHaveIllegalTypeParameters:()=>canHaveIllegalTypeParameters,canHaveJSDoc:()=>canHaveJSDoc,canHaveLocals:()=>canHaveLocals,canHaveModifiers:()=>canHaveModifiers,canHaveModuleSpecifier:()=>canHaveModuleSpecifier,canHaveSymbol:()=>canHaveSymbol,canIncludeBindAndCheckDiagnostics:()=>canIncludeBindAndCheckDiagnostics,canJsonReportNoInputFiles:()=>canJsonReportNoInputFiles,canProduceDiagnostics:()=>canProduceDiagnostics,canUsePropertyAccess:()=>canUsePropertyAccess,canWatchAffectingLocation:()=>canWatchAffectingLocation,canWatchAtTypes:()=>canWatchAtTypes,canWatchDirectoryOrFile:()=>canWatchDirectoryOrFile,canWatchDirectoryOrFilePath:()=>canWatchDirectoryOrFilePath,cartesianProduct:()=>cartesianProduct,cast:()=>cast,chainBundle:()=>chainBundle,chainDiagnosticMessages:()=>chainDiagnosticMessages,changeAnyExtension:()=>changeAnyExtension,changeCompilerHostLikeToUseCache:()=>changeCompilerHostLikeToUseCache,changeExtension:()=>changeExtension,changeFullExtension:()=>changeFullExtension,changesAffectModuleResolution:()=>changesAffectModuleResolution,changesAffectingProgramStructure:()=>changesAffectingProgramStructure,characterCodeToRegularExpressionFlag:()=>characterCodeToRegularExpressionFlag,childIsDecorated:()=>childIsDecorated,classElementOrClassElementParameterIsDecorated:()=>classElementOrClassElementParameterIsDecorated,classHasClassThisAssignment:()=>classHasClassThisAssignment,classHasDeclaredOrExplicitlyAssignedName:()=>classHasDeclaredOrExplicitlyAssignedName,classHasExplicitlyAssignedName:()=>classHasExplicitlyAssignedName,classOrConstructorParameterIsDecorated:()=>classOrConstructorParameterIsDecorated,classicNameResolver:()=>classicNameResolver,classifier:()=>Yl,cleanExtendedConfigCache:()=>cleanExtendedConfigCache,clear:()=>clear,clearMap:()=>clearMap,clearSharedExtendedConfigFileWatcher:()=>clearSharedExtendedConfigFileWatcher,climbPastPropertyAccess:()=>climbPastPropertyAccess,clone:()=>clone,cloneCompilerOptions:()=>cloneCompilerOptions,closeFileWatcher:()=>closeFileWatcher,closeFileWatcherOf:()=>closeFileWatcherOf,codefix:()=>ed,collapseTextChangeRangesAcrossMultipleVersions:()=>collapseTextChangeRangesAcrossMultipleVersions,collectExternalModuleInfo:()=>collectExternalModuleInfo,combine:()=>combine,combinePaths:()=>combinePaths,commandLineOptionOfCustomType:()=>ao,commentPragmas:()=>gt,commonOptionsWithBuild:()=>Hi,compact:()=>compact,compareBooleans:()=>compareBooleans,compareDataObjects:()=>compareDataObjects,compareDiagnostics:()=>compareDiagnostics,compareEmitHelpers:()=>compareEmitHelpers,compareNumberOfDirectorySeparators:()=>compareNumberOfDirectorySeparators,comparePaths:()=>comparePaths,comparePathsCaseInsensitive:()=>comparePathsCaseInsensitive,comparePathsCaseSensitive:()=>comparePathsCaseSensitive,comparePatternKeys:()=>comparePatternKeys,compareProperties:()=>compareProperties,compareStringsCaseInsensitive:()=>compareStringsCaseInsensitive,compareStringsCaseInsensitiveEslintCompatible:()=>compareStringsCaseInsensitiveEslintCompatible,compareStringsCaseSensitive:()=>compareStringsCaseSensitive,compareStringsCaseSensitiveUI:()=>compareStringsCaseSensitiveUI,compareTextSpans:()=>compareTextSpans,compareValues:()=>compareValues,compilerOptionsAffectDeclarationPath:()=>compilerOptionsAffectDeclarationPath,compilerOptionsAffectEmit:()=>compilerOptionsAffectEmit,compilerOptionsAffectSemanticDiagnostics:()=>compilerOptionsAffectSemanticDiagnostics,compilerOptionsDidYouMeanDiagnostics:()=>go,compilerOptionsIndicateEsModules:()=>compilerOptionsIndicateEsModules,computeCommonSourceDirectoryOfFilenames:()=>computeCommonSourceDirectoryOfFilenames,computeLineAndCharacterOfPosition:()=>computeLineAndCharacterOfPosition,computeLineOfPosition:()=>computeLineOfPosition,computeLineStarts:()=>computeLineStarts,computePositionOfLineAndCharacter:()=>computePositionOfLineAndCharacter,computeSignatureWithDiagnostics:()=>computeSignatureWithDiagnostics,computeSuggestionDiagnostics:()=>computeSuggestionDiagnostics,computedOptions:()=>Wn,concatenate:()=>concatenate,concatenateDiagnosticMessageChains:()=>concatenateDiagnosticMessageChains,consumesNodeCoreModules:()=>consumesNodeCoreModules,contains:()=>contains,containsIgnoredPath:()=>containsIgnoredPath,containsObjectRestOrSpread:()=>containsObjectRestOrSpread,containsParseError:()=>containsParseError,containsPath:()=>containsPath,convertCompilerOptionsForTelemetry:()=>convertCompilerOptionsForTelemetry,convertCompilerOptionsFromJson:()=>convertCompilerOptionsFromJson,convertJsonOption:()=>convertJsonOption,convertToBase64:()=>convertToBase64,convertToJson:()=>convertToJson,convertToObject:()=>convertToObject,convertToOptionsWithAbsolutePaths:()=>convertToOptionsWithAbsolutePaths,convertToRelativePath:()=>convertToRelativePath,convertToTSConfig:()=>convertToTSConfig,convertTypeAcquisitionFromJson:()=>convertTypeAcquisitionFromJson,copyComments:()=>copyComments,copyEntries:()=>copyEntries,copyLeadingComments:()=>copyLeadingComments,copyProperties:()=>copyProperties,copyTrailingAsLeadingComments:()=>copyTrailingAsLeadingComments,copyTrailingComments:()=>copyTrailingComments,couldStartTrivia:()=>couldStartTrivia,countWhere:()=>countWhere,createAbstractBuilder:()=>createAbstractBuilder,createAccessorPropertyBackingField:()=>createAccessorPropertyBackingField,createAccessorPropertyGetRedirector:()=>createAccessorPropertyGetRedirector,createAccessorPropertySetRedirector:()=>createAccessorPropertySetRedirector,createBaseNodeFactory:()=>createBaseNodeFactory,createBinaryExpressionTrampoline:()=>createBinaryExpressionTrampoline,createBuilderProgram:()=>createBuilderProgram,createBuilderProgramUsingIncrementalBuildInfo:()=>createBuilderProgramUsingIncrementalBuildInfo,createBuilderStatusReporter:()=>createBuilderStatusReporter,createCacheableExportInfoMap:()=>createCacheableExportInfoMap,createCachedDirectoryStructureHost:()=>createCachedDirectoryStructureHost,createClassifier:()=>createClassifier,createCommentDirectivesMap:()=>createCommentDirectivesMap,createCompilerDiagnostic:()=>createCompilerDiagnostic,createCompilerDiagnosticForInvalidCustomType:()=>createCompilerDiagnosticForInvalidCustomType,createCompilerDiagnosticFromMessageChain:()=>createCompilerDiagnosticFromMessageChain,createCompilerHost:()=>createCompilerHost,createCompilerHostFromProgramHost:()=>createCompilerHostFromProgramHost,createCompilerHostWorker:()=>createCompilerHostWorker,createDetachedDiagnostic:()=>createDetachedDiagnostic,createDiagnosticCollection:()=>createDiagnosticCollection,createDiagnosticForFileFromMessageChain:()=>createDiagnosticForFileFromMessageChain,createDiagnosticForNode:()=>createDiagnosticForNode,createDiagnosticForNodeArray:()=>createDiagnosticForNodeArray,createDiagnosticForNodeArrayFromMessageChain:()=>createDiagnosticForNodeArrayFromMessageChain,createDiagnosticForNodeFromMessageChain:()=>createDiagnosticForNodeFromMessageChain,createDiagnosticForNodeInSourceFile:()=>createDiagnosticForNodeInSourceFile,createDiagnosticForRange:()=>createDiagnosticForRange,createDiagnosticMessageChainFromDiagnostic:()=>createDiagnosticMessageChainFromDiagnostic,createDiagnosticReporter:()=>createDiagnosticReporter,createDocumentPositionMapper:()=>createDocumentPositionMapper,createDocumentRegistry:()=>createDocumentRegistry,createDocumentRegistryInternal:()=>createDocumentRegistryInternal,createEmitAndSemanticDiagnosticsBuilderProgram:()=>createEmitAndSemanticDiagnosticsBuilderProgram,createEmitHelperFactory:()=>createEmitHelperFactory,createEmptyExports:()=>createEmptyExports,createEvaluator:()=>createEvaluator,createExpressionForJsxElement:()=>createExpressionForJsxElement,createExpressionForJsxFragment:()=>createExpressionForJsxFragment,createExpressionForObjectLiteralElementLike:()=>createExpressionForObjectLiteralElementLike,createExpressionForPropertyName:()=>createExpressionForPropertyName,createExpressionFromEntityName:()=>createExpressionFromEntityName,createExternalHelpersImportDeclarationIfNeeded:()=>createExternalHelpersImportDeclarationIfNeeded,createFileDiagnostic:()=>createFileDiagnostic,createFileDiagnosticFromMessageChain:()=>createFileDiagnosticFromMessageChain,createFlowNode:()=>createFlowNode,createForOfBindingStatement:()=>createForOfBindingStatement,createFutureSourceFile:()=>createFutureSourceFile,createGetCanonicalFileName:()=>createGetCanonicalFileName,createGetIsolatedDeclarationErrors:()=>createGetIsolatedDeclarationErrors,createGetSourceFile:()=>createGetSourceFile,createGetSymbolAccessibilityDiagnosticForNode:()=>createGetSymbolAccessibilityDiagnosticForNode,createGetSymbolAccessibilityDiagnosticForNodeName:()=>createGetSymbolAccessibilityDiagnosticForNodeName,createGetSymbolWalker:()=>createGetSymbolWalker,createIncrementalCompilerHost:()=>createIncrementalCompilerHost,createIncrementalProgram:()=>createIncrementalProgram,createJsxFactoryExpression:()=>createJsxFactoryExpression,createLanguageService:()=>createLanguageService,createLanguageServiceSourceFile:()=>createLanguageServiceSourceFile,createMemberAccessForPropertyName:()=>createMemberAccessForPropertyName,createModeAwareCache:()=>createModeAwareCache,createModeAwareCacheKey:()=>createModeAwareCacheKey,createModeMismatchDetails:()=>createModeMismatchDetails,createModuleNotFoundChain:()=>createModuleNotFoundChain,createModuleResolutionCache:()=>createModuleResolutionCache,createModuleResolutionLoader:()=>createModuleResolutionLoader,createModuleResolutionLoaderUsingGlobalCache:()=>createModuleResolutionLoaderUsingGlobalCache,createModuleSpecifierResolutionHost:()=>createModuleSpecifierResolutionHost,createMultiMap:()=>createMultiMap,createNameResolver:()=>createNameResolver,createNodeConverters:()=>createNodeConverters,createNodeFactory:()=>createNodeFactory,createOptionNameMap:()=>createOptionNameMap,createOverload:()=>createOverload,createPackageJsonImportFilter:()=>createPackageJsonImportFilter,createPackageJsonInfo:()=>createPackageJsonInfo,createParenthesizerRules:()=>createParenthesizerRules,createPatternMatcher:()=>createPatternMatcher,createPrinter:()=>createPrinter,createPrinterWithDefaults:()=>Na,createPrinterWithRemoveComments:()=>ka,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>Fa,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>Pa,createProgram:()=>createProgram,createProgramDiagnostics:()=>createProgramDiagnostics,createProgramHost:()=>createProgramHost,createPropertyNameNodeForIdentifierOrLiteral:()=>createPropertyNameNodeForIdentifierOrLiteral,createQueue:()=>createQueue,createRange:()=>createRange,createRedirectedBuilderProgram:()=>createRedirectedBuilderProgram,createResolutionCache:()=>createResolutionCache,createRuntimeTypeSerializer:()=>createRuntimeTypeSerializer,createScanner:()=>createScanner,createSemanticDiagnosticsBuilderProgram:()=>createSemanticDiagnosticsBuilderProgram,createSet:()=>createSet,createSolutionBuilder:()=>createSolutionBuilder,createSolutionBuilderHost:()=>createSolutionBuilderHost,createSolutionBuilderWithWatch:()=>createSolutionBuilderWithWatch,createSolutionBuilderWithWatchHost:()=>createSolutionBuilderWithWatchHost,createSortedArray:()=>createSortedArray,createSourceFile:()=>createSourceFile,createSourceMapGenerator:()=>createSourceMapGenerator,createSourceMapSource:()=>createSourceMapSource,createSuperAccessVariableStatement:()=>createSuperAccessVariableStatement,createSymbolTable:()=>createSymbolTable,createSymlinkCache:()=>createSymlinkCache,createSyntacticTypeNodeBuilder:()=>createSyntacticTypeNodeBuilder,createSystemWatchFunctions:()=>createSystemWatchFunctions,createTextChange:()=>createTextChange,createTextChangeFromStartLength:()=>createTextChangeFromStartLength,createTextChangeRange:()=>createTextChangeRange,createTextRangeFromNode:()=>createTextRangeFromNode,createTextRangeFromSpan:()=>createTextRangeFromSpan,createTextSpan:()=>createTextSpan,createTextSpanFromBounds:()=>createTextSpanFromBounds,createTextSpanFromNode:()=>createTextSpanFromNode,createTextSpanFromRange:()=>createTextSpanFromRange,createTextSpanFromStringLiteralLikeContent:()=>createTextSpanFromStringLiteralLikeContent,createTextWriter:()=>createTextWriter,createTokenRange:()=>createTokenRange,createTypeChecker:()=>createTypeChecker,createTypeReferenceDirectiveResolutionCache:()=>createTypeReferenceDirectiveResolutionCache,createTypeReferenceResolutionLoader:()=>createTypeReferenceResolutionLoader,createWatchCompilerHost:()=>createWatchCompilerHost2,createWatchCompilerHostOfConfigFile:()=>createWatchCompilerHostOfConfigFile,createWatchCompilerHostOfFilesAndCompilerOptions:()=>createWatchCompilerHostOfFilesAndCompilerOptions,createWatchFactory:()=>createWatchFactory,createWatchHost:()=>createWatchHost,createWatchProgram:()=>createWatchProgram,createWatchStatusReporter:()=>createWatchStatusReporter,createWriteFileMeasuringIO:()=>createWriteFileMeasuringIO,declarationNameToString:()=>declarationNameToString,decodeMappings:()=>decodeMappings,decodedTextSpanIntersectsWith:()=>decodedTextSpanIntersectsWith,deduplicate:()=>deduplicate,defaultHoverMaximumTruncationLength:()=>dn,defaultInitCompilerOptions:()=>_o,defaultMaximumTruncationLength:()=>cn,diagnosticCategoryName:()=>diagnosticCategoryName,diagnosticToString:()=>diagnosticToString,diagnosticsEqualityComparer:()=>diagnosticsEqualityComparer,directoryProbablyExists:()=>directoryProbablyExists,directorySeparator:()=>Ft,displayPart:()=>displayPart,displayPartsToString:()=>displayPartsToString,disposeEmitNodes:()=>disposeEmitNodes,documentSpansEqual:()=>documentSpansEqual,dumpTracingLegend:()=>$,elementAt:()=>p,elideNodes:()=>elideNodes,emitDetachedComments:()=>emitDetachedComments,emitFiles:()=>emitFiles,emitFilesAndReportErrors:()=>emitFilesAndReportErrors,emitFilesAndReportErrorsAndGetExitStatus:()=>emitFilesAndReportErrorsAndGetExitStatus,emitModuleKindIsNonNodeESM:()=>emitModuleKindIsNonNodeESM,emitNewLineBeforeLeadingCommentOfPosition:()=>emitNewLineBeforeLeadingCommentOfPosition,emitResolverSkipsTypeChecking:()=>emitResolverSkipsTypeChecking,emitSkippedWithNoDiagnostics:()=>Va,emptyArray:()=>l,emptyFileSystemEntries:()=>Nr,emptyMap:()=>d,emptyOptions:()=>Es,endsWith:()=>endsWith,ensurePathIsNonModuleName:()=>ensurePathIsNonModuleName,ensureScriptKind:()=>ensureScriptKind,ensureTrailingDirectorySeparator:()=>ensureTrailingDirectorySeparator,entityNameToString:()=>entityNameToString,enumerateInsertsAndDeletes:()=>enumerateInsertsAndDeletes,equalOwnProperties:()=>equalOwnProperties,equateStringsCaseInsensitive:()=>equateStringsCaseInsensitive,equateStringsCaseSensitive:()=>equateStringsCaseSensitive,equateValues:()=>equateValues,escapeJsxAttributeString:()=>escapeJsxAttributeString,escapeLeadingUnderscores:()=>escapeLeadingUnderscores,escapeNonAsciiString:()=>escapeNonAsciiString,escapeSnippetText:()=>escapeSnippetText,escapeString:()=>escapeString,escapeTemplateSubstitution:()=>escapeTemplateSubstitution,evaluatorResult:()=>evaluatorResult,every:()=>every,exclusivelyPrefixedNodeCoreModules:()=>Dr,executeCommandLine:()=>executeCommandLine,expandPreOrPostfixIncrementOrDecrementExpression:()=>expandPreOrPostfixIncrementOrDecrementExpression,explainFiles:()=>explainFiles,explainIfFileIsRedirectAndImpliedFormat:()=>explainIfFileIsRedirectAndImpliedFormat,exportAssignmentIsAlias:()=>exportAssignmentIsAlias,expressionResultIsUnused:()=>expressionResultIsUnused,extend:()=>extend,extensionFromPath:()=>extensionFromPath,extensionIsTS:()=>extensionIsTS,extensionsNotSupportingExtensionlessResolution:()=>vr,externalHelpersModuleNameText:()=>sn,factory:()=>Wr,fileExtensionIs:()=>fileExtensionIs,fileExtensionIsOneOf:()=>fileExtensionIsOneOf,fileIncludeReasonToDiagnostics:()=>fileIncludeReasonToDiagnostics,fileShouldUseJavaScriptRequire:()=>fileShouldUseJavaScriptRequire,filter:()=>filter,filterMutate:()=>filterMutate,filterSemanticDiagnostics:()=>filterSemanticDiagnostics,find:()=>find,findAncestor:()=>findAncestor,findBestPatternMatch:()=>findBestPatternMatch,findChildOfKind:()=>findChildOfKind,findComputedPropertyNameCacheAssignment:()=>findComputedPropertyNameCacheAssignment,findConfigFile:()=>findConfigFile,findConstructorDeclaration:()=>findConstructorDeclaration,findContainingList:()=>findContainingList,findDiagnosticForNode:()=>findDiagnosticForNode,findFirstNonJsxWhitespaceToken:()=>findFirstNonJsxWhitespaceToken,findIndex:()=>findIndex,findLast:()=>findLast,findLastIndex:()=>findLastIndex,findListItemInfo:()=>findListItemInfo,findModifier:()=>findModifier,findNextToken:()=>findNextToken,findPackageJson:()=>findPackageJson,findPackageJsons:()=>findPackageJsons,findPrecedingMatchingToken:()=>findPrecedingMatchingToken,findPrecedingToken:()=>findPrecedingToken,findSuperStatementIndexPath:()=>findSuperStatementIndexPath,findTokenOnLeftOfPosition:()=>findTokenOnLeftOfPosition,findUseStrictPrologue:()=>findUseStrictPrologue,first:()=>first,firstDefined:()=>firstDefined,firstDefinedIterator:()=>firstDefinedIterator,firstIterator:()=>firstIterator,firstOrOnly:()=>firstOrOnly,firstOrUndefined:()=>firstOrUndefined,firstOrUndefinedIterator:()=>firstOrUndefinedIterator,fixupCompilerOptions:()=>fixupCompilerOptions,flatMap:()=>flatMap,flatMapIterator:()=>flatMapIterator,flatMapToMutable:()=>flatMapToMutable,flatten:()=>flatten,flattenCommaList:()=>flattenCommaList,flattenDestructuringAssignment:()=>flattenDestructuringAssignment,flattenDestructuringBinding:()=>flattenDestructuringBinding,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,forEach:()=>forEach,forEachAncestor:()=>forEachAncestor,forEachAncestorDirectory:()=>forEachAncestorDirectory,forEachAncestorDirectoryStoppingAtGlobalCache:()=>forEachAncestorDirectoryStoppingAtGlobalCache,forEachChild:()=>forEachChild,forEachChildRecursively:()=>forEachChildRecursively,forEachDynamicImportOrRequireCall:()=>forEachDynamicImportOrRequireCall,forEachEmittedFile:()=>forEachEmittedFile,forEachEnclosingBlockScopeContainer:()=>forEachEnclosingBlockScopeContainer,forEachEntry:()=>forEachEntry,forEachExternalModuleToImportFrom:()=>forEachExternalModuleToImportFrom,forEachImportClauseDeclaration:()=>forEachImportClauseDeclaration,forEachKey:()=>forEachKey,forEachLeadingCommentRange:()=>forEachLeadingCommentRange,forEachNameInAccessChainWalkingLeft:()=>forEachNameInAccessChainWalkingLeft,forEachNameOfDefaultExport:()=>forEachNameOfDefaultExport,forEachOptionsSyntaxByName:()=>forEachOptionsSyntaxByName,forEachProjectReference:()=>forEachProjectReference,forEachPropertyAssignment:()=>forEachPropertyAssignment,forEachResolvedProjectReference:()=>forEachResolvedProjectReference,forEachReturnStatement:()=>forEachReturnStatement,forEachRight:()=>forEachRight,forEachTrailingCommentRange:()=>forEachTrailingCommentRange,forEachTsConfigPropArray:()=>forEachTsConfigPropArray,forEachUnique:()=>forEachUnique,forEachYieldExpression:()=>forEachYieldExpression,formatColorAndReset:()=>formatColorAndReset,formatDiagnostic:()=>formatDiagnostic,formatDiagnostics:()=>formatDiagnostics,formatDiagnosticsWithColorAndContext:()=>formatDiagnosticsWithColorAndContext,formatGeneratedName:()=>formatGeneratedName,formatGeneratedNamePart:()=>formatGeneratedNamePart,formatLocation:()=>formatLocation,formatMessage:()=>formatMessage,formatStringFromArgs:()=>formatStringFromArgs,formatting:()=>r_,generateDjb2Hash:()=>generateDjb2Hash,generateTSConfig:()=>generateTSConfig,getAdjustedReferenceLocation:()=>getAdjustedReferenceLocation,getAdjustedRenameLocation:()=>getAdjustedRenameLocation,getAliasDeclarationFromName:()=>getAliasDeclarationFromName,getAllAccessorDeclarations:()=>getAllAccessorDeclarations,getAllDecoratorsOfClass:()=>getAllDecoratorsOfClass,getAllDecoratorsOfClassElement:()=>getAllDecoratorsOfClassElement,getAllJSDocTags:()=>getAllJSDocTags,getAllJSDocTagsOfKind:()=>getAllJSDocTagsOfKind,getAllKeys:()=>getAllKeys,getAllProjectOutputs:()=>getAllProjectOutputs,getAllSuperTypeNodes:()=>getAllSuperTypeNodes,getAllowImportingTsExtensions:()=>Un,getAllowJSCompilerOption:()=>rr,getAllowSyntheticDefaultImports:()=>$n,getAncestor:()=>getAncestor,getAnyExtensionFromPath:()=>getAnyExtensionFromPath,getAreDeclarationMapsEnabled:()=>nr,getAssignedExpandoInitializer:()=>getAssignedExpandoInitializer,getAssignedName:()=>getAssignedName,getAssignmentDeclarationKind:()=>getAssignmentDeclarationKind,getAssignmentDeclarationPropertyAccessKind:()=>getAssignmentDeclarationPropertyAccessKind,getAssignmentTargetKind:()=>getAssignmentTargetKind,getAutomaticTypeDirectiveNames:()=>getAutomaticTypeDirectiveNames,getBaseFileName:()=>getBaseFileName,getBinaryOperatorPrecedence:()=>getBinaryOperatorPrecedence,getBuildInfo:()=>getBuildInfo,getBuildInfoFileVersionMap:()=>getBuildInfoFileVersionMap,getBuildInfoText:()=>getBuildInfoText,getBuildOrderFromAnyBuildOrder:()=>getBuildOrderFromAnyBuildOrder,getBuilderCreationParameters:()=>getBuilderCreationParameters,getBuilderFileEmit:()=>getBuilderFileEmit,getCanonicalDiagnostic:()=>getCanonicalDiagnostic,getCheckFlags:()=>getCheckFlags,getClassExtendsHeritageElement:()=>getClassExtendsHeritageElement,getClassLikeDeclarationOfSymbol:()=>getClassLikeDeclarationOfSymbol,getCombinedLocalAndExportSymbolFlags:()=>getCombinedLocalAndExportSymbolFlags,getCombinedModifierFlags:()=>getCombinedModifierFlags,getCombinedNodeFlags:()=>getCombinedNodeFlags,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>getCombinedNodeFlagsAlwaysIncludeJSDoc,getCommentRange:()=>getCommentRange,getCommonSourceDirectory:()=>getCommonSourceDirectory,getCommonSourceDirectoryOfConfig:()=>getCommonSourceDirectoryOfConfig,getCompilerOptionValue:()=>getCompilerOptionValue,getConditions:()=>getConditions,getConfigFileParsingDiagnostics:()=>getConfigFileParsingDiagnostics,getConstantValue:()=>getConstantValue,getContainerFlags:()=>getContainerFlags,getContainerNode:()=>getContainerNode,getContainingClass:()=>getContainingClass,getContainingClassExcludingClassDecorators:()=>getContainingClassExcludingClassDecorators,getContainingClassStaticBlock:()=>getContainingClassStaticBlock,getContainingFunction:()=>getContainingFunction,getContainingFunctionDeclaration:()=>getContainingFunctionDeclaration,getContainingFunctionOrClassStaticBlock:()=>getContainingFunctionOrClassStaticBlock,getContainingNodeArray:()=>getContainingNodeArray,getContainingObjectLiteralElement:()=>getContainingObjectLiteralElement,getContextualTypeFromParent:()=>getContextualTypeFromParent,getContextualTypeFromParentOrAncestorTypeNode:()=>getContextualTypeFromParentOrAncestorTypeNode,getDeclarationDiagnostics:()=>getDeclarationDiagnostics,getDeclarationEmitExtensionForPath:()=>getDeclarationEmitExtensionForPath,getDeclarationEmitOutputFilePath:()=>getDeclarationEmitOutputFilePath,getDeclarationEmitOutputFilePathWorker:()=>getDeclarationEmitOutputFilePathWorker,getDeclarationFileExtension:()=>getDeclarationFileExtension,getDeclarationFromName:()=>getDeclarationFromName,getDeclarationModifierFlagsFromSymbol:()=>getDeclarationModifierFlagsFromSymbol,getDeclarationOfKind:()=>getDeclarationOfKind,getDeclarationsOfKind:()=>getDeclarationsOfKind,getDeclaredExpandoInitializer:()=>getDeclaredExpandoInitializer,getDecorators:()=>getDecorators,getDefaultCompilerOptions:()=>getDefaultCompilerOptions2,getDefaultFormatCodeSettings:()=>getDefaultFormatCodeSettings,getDefaultLibFileName:()=>getDefaultLibFileName,getDefaultLibFilePath:()=>getDefaultLibFilePath,getDefaultLikeExportInfo:()=>getDefaultLikeExportInfo,getDefaultLikeExportNameFromDeclaration:()=>getDefaultLikeExportNameFromDeclaration,getDefaultResolutionModeForFileWorker:()=>getDefaultResolutionModeForFileWorker,getDiagnosticText:()=>getDiagnosticText,getDiagnosticsWithinSpan:()=>getDiagnosticsWithinSpan,getDirectoryPath:()=>getDirectoryPath,getDirectoryToWatchFailedLookupLocation:()=>getDirectoryToWatchFailedLookupLocation,getDirectoryToWatchFailedLookupLocationFromTypeRoot:()=>getDirectoryToWatchFailedLookupLocationFromTypeRoot,getDocumentPositionMapper:()=>getDocumentPositionMapper,getDocumentSpansEqualityComparer:()=>getDocumentSpansEqualityComparer,getESModuleInterop:()=>Gn,getEditsForFileRename:()=>getEditsForFileRename,getEffectiveBaseTypeNode:()=>getEffectiveBaseTypeNode,getEffectiveConstraintOfTypeParameter:()=>getEffectiveConstraintOfTypeParameter,getEffectiveContainerForJSDocTemplateTag:()=>getEffectiveContainerForJSDocTemplateTag,getEffectiveImplementsTypeNodes:()=>getEffectiveImplementsTypeNodes,getEffectiveInitializer:()=>getEffectiveInitializer,getEffectiveJSDocHost:()=>getEffectiveJSDocHost,getEffectiveModifierFlags:()=>getEffectiveModifierFlags,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>getEffectiveModifierFlagsAlwaysIncludeJSDoc,getEffectiveModifierFlagsNoCache:()=>getEffectiveModifierFlagsNoCache,getEffectiveReturnTypeNode:()=>getEffectiveReturnTypeNode,getEffectiveSetAccessorTypeAnnotationNode:()=>getEffectiveSetAccessorTypeAnnotationNode,getEffectiveTypeAnnotationNode:()=>getEffectiveTypeAnnotationNode,getEffectiveTypeParameterDeclarations:()=>getEffectiveTypeParameterDeclarations,getEffectiveTypeRoots:()=>getEffectiveTypeRoots,getElementOrPropertyAccessArgumentExpressionOrName:()=>getElementOrPropertyAccessArgumentExpressionOrName,getElementOrPropertyAccessName:()=>getElementOrPropertyAccessName,getElementsOfBindingOrAssignmentPattern:()=>getElementsOfBindingOrAssignmentPattern,getEmitDeclarations:()=>Zn,getEmitFlags:()=>getEmitFlags,getEmitHelpers:()=>getEmitHelpers,getEmitModuleDetectionKind:()=>Hn,getEmitModuleFormatOfFileWorker:()=>getEmitModuleFormatOfFileWorker,getEmitModuleKind:()=>Vn,getEmitModuleResolutionKind:()=>qn,getEmitScriptTarget:()=>zn,getEmitStandardClassFields:()=>getEmitStandardClassFields,getEnclosingBlockScopeContainer:()=>getEnclosingBlockScopeContainer,getEnclosingContainer:()=>getEnclosingContainer,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications,getEncodedSyntacticClassifications:()=>getEncodedSyntacticClassifications,getEndLinePosition:()=>getEndLinePosition,getEntityNameFromTypeNode:()=>getEntityNameFromTypeNode,getEntrypointsFromPackageJsonInfo:()=>getEntrypointsFromPackageJsonInfo,getErrorCountForSummary:()=>getErrorCountForSummary,getErrorSpanForNode:()=>getErrorSpanForNode,getErrorSummaryText:()=>getErrorSummaryText,getEscapedTextOfIdentifierOrLiteral:()=>getEscapedTextOfIdentifierOrLiteral,getEscapedTextOfJsxAttributeName:()=>getEscapedTextOfJsxAttributeName,getEscapedTextOfJsxNamespacedName:()=>getEscapedTextOfJsxNamespacedName,getExpandoInitializer:()=>getExpandoInitializer,getExportAssignmentExpression:()=>getExportAssignmentExpression,getExportInfoMap:()=>getExportInfoMap,getExportNeedsImportStarHelper:()=>getExportNeedsImportStarHelper,getExpressionAssociativity:()=>getExpressionAssociativity,getExpressionPrecedence:()=>getExpressionPrecedence,getExternalHelpersModuleName:()=>getExternalHelpersModuleName,getExternalModuleImportEqualsDeclarationExpression:()=>getExternalModuleImportEqualsDeclarationExpression,getExternalModuleName:()=>getExternalModuleName,getExternalModuleNameFromDeclaration:()=>getExternalModuleNameFromDeclaration,getExternalModuleNameFromPath:()=>getExternalModuleNameFromPath,getExternalModuleNameLiteral:()=>getExternalModuleNameLiteral,getExternalModuleRequireArgument:()=>getExternalModuleRequireArgument,getFallbackOptions:()=>getFallbackOptions,getFileEmitOutput:()=>getFileEmitOutput,getFileMatcherPatterns:()=>getFileMatcherPatterns,getFileNamesFromConfigSpecs:()=>getFileNamesFromConfigSpecs,getFileWatcherEventKind:()=>getFileWatcherEventKind,getFilesInErrorForSummary:()=>getFilesInErrorForSummary,getFirstConstructorWithBody:()=>getFirstConstructorWithBody,getFirstIdentifier:()=>getFirstIdentifier,getFirstNonSpaceCharacterPosition:()=>getFirstNonSpaceCharacterPosition,getFirstProjectOutput:()=>getFirstProjectOutput,getFixableErrorSpanExpression:()=>getFixableErrorSpanExpression,getFormatCodeSettingsForWriting:()=>getFormatCodeSettingsForWriting,getFullWidth:()=>getFullWidth,getFunctionFlags:()=>getFunctionFlags,getHeritageClause:()=>getHeritageClause,getHostSignatureFromJSDoc:()=>getHostSignatureFromJSDoc,getIdentifierAutoGenerate:()=>getIdentifierAutoGenerate,getIdentifierGeneratedImportReference:()=>getIdentifierGeneratedImportReference,getIdentifierTypeArguments:()=>getIdentifierTypeArguments,getImmediatelyInvokedFunctionExpression:()=>getImmediatelyInvokedFunctionExpression,getImpliedNodeFormatForEmitWorker:()=>getImpliedNodeFormatForEmitWorker,getImpliedNodeFormatForFile:()=>getImpliedNodeFormatForFile,getImpliedNodeFormatForFileWorker:()=>getImpliedNodeFormatForFileWorker,getImportNeedsImportDefaultHelper:()=>getImportNeedsImportDefaultHelper,getImportNeedsImportStarHelper:()=>getImportNeedsImportStarHelper,getIndentString:()=>getIndentString,getInferredLibraryNameResolveFrom:()=>getInferredLibraryNameResolveFrom,getInitializedVariables:()=>getInitializedVariables,getInitializerOfBinaryExpression:()=>getInitializerOfBinaryExpression,getInitializerOfBindingOrAssignmentElement:()=>getInitializerOfBindingOrAssignmentElement,getInterfaceBaseTypeNodes:()=>getInterfaceBaseTypeNodes,getInternalEmitFlags:()=>getInternalEmitFlags,getInvokedExpression:()=>getInvokedExpression,getIsFileExcluded:()=>getIsFileExcluded,getIsolatedModules:()=>Kn,getJSDocAugmentsTag:()=>getJSDocAugmentsTag,getJSDocClassTag:()=>getJSDocClassTag,getJSDocCommentRanges:()=>getJSDocCommentRanges,getJSDocCommentsAndTags:()=>getJSDocCommentsAndTags,getJSDocDeprecatedTag:()=>getJSDocDeprecatedTag,getJSDocDeprecatedTagNoCache:()=>getJSDocDeprecatedTagNoCache,getJSDocEnumTag:()=>getJSDocEnumTag,getJSDocHost:()=>getJSDocHost,getJSDocImplementsTags:()=>getJSDocImplementsTags,getJSDocOverloadTags:()=>getJSDocOverloadTags,getJSDocOverrideTagNoCache:()=>getJSDocOverrideTagNoCache,getJSDocParameterTags:()=>getJSDocParameterTags,getJSDocParameterTagsNoCache:()=>getJSDocParameterTagsNoCache,getJSDocPrivateTag:()=>getJSDocPrivateTag,getJSDocPrivateTagNoCache:()=>getJSDocPrivateTagNoCache,getJSDocProtectedTag:()=>getJSDocProtectedTag,getJSDocProtectedTagNoCache:()=>getJSDocProtectedTagNoCache,getJSDocPublicTag:()=>getJSDocPublicTag,getJSDocPublicTagNoCache:()=>getJSDocPublicTagNoCache,getJSDocReadonlyTag:()=>getJSDocReadonlyTag,getJSDocReadonlyTagNoCache:()=>getJSDocReadonlyTagNoCache,getJSDocReturnTag:()=>getJSDocReturnTag,getJSDocReturnType:()=>getJSDocReturnType,getJSDocRoot:()=>getJSDocRoot,getJSDocSatisfiesExpressionType:()=>getJSDocSatisfiesExpressionType,getJSDocSatisfiesTag:()=>getJSDocSatisfiesTag,getJSDocTags:()=>getJSDocTags,getJSDocTemplateTag:()=>getJSDocTemplateTag,getJSDocThisTag:()=>getJSDocThisTag,getJSDocType:()=>getJSDocType,getJSDocTypeAliasName:()=>getJSDocTypeAliasName,getJSDocTypeAssertionType:()=>getJSDocTypeAssertionType,getJSDocTypeParameterDeclarations:()=>getJSDocTypeParameterDeclarations,getJSDocTypeParameterTags:()=>getJSDocTypeParameterTags,getJSDocTypeParameterTagsNoCache:()=>getJSDocTypeParameterTagsNoCache,getJSDocTypeTag:()=>getJSDocTypeTag,getJSXImplicitImportBase:()=>getJSXImplicitImportBase,getJSXRuntimeImport:()=>getJSXRuntimeImport,getJSXTransformEnabled:()=>getJSXTransformEnabled,getKeyForCompilerOptions:()=>getKeyForCompilerOptions,getLanguageVariant:()=>getLanguageVariant,getLastChild:()=>getLastChild,getLeadingCommentRanges:()=>getLeadingCommentRanges,getLeadingCommentRangesOfNode:()=>getLeadingCommentRangesOfNode,getLeftmostAccessExpression:()=>getLeftmostAccessExpression,getLeftmostExpression:()=>getLeftmostExpression,getLibFileNameFromLibReference:()=>getLibFileNameFromLibReference,getLibNameFromLibReference:()=>getLibNameFromLibReference,getLibraryNameFromLibFileName:()=>getLibraryNameFromLibFileName,getLineAndCharacterOfPosition:()=>getLineAndCharacterOfPosition,getLineInfo:()=>getLineInfo,getLineOfLocalPosition:()=>getLineOfLocalPosition,getLineStartPositionForPosition:()=>getLineStartPositionForPosition,getLineStarts:()=>getLineStarts,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>getLinesBetweenPositionAndNextNonWhitespaceCharacter,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter,getLinesBetweenPositions:()=>getLinesBetweenPositions,getLinesBetweenRangeEndAndRangeStart:()=>getLinesBetweenRangeEndAndRangeStart,getLinesBetweenRangeEndPositions:()=>getLinesBetweenRangeEndPositions,getLiteralText:()=>getLiteralText,getLocalNameForExternalImport:()=>getLocalNameForExternalImport,getLocalSymbolForExportDefault:()=>getLocalSymbolForExportDefault,getLocaleSpecificMessage:()=>getLocaleSpecificMessage,getLocaleTimeString:()=>getLocaleTimeString,getMappedContextSpan:()=>getMappedContextSpan,getMappedDocumentSpan:()=>getMappedDocumentSpan,getMappedLocation:()=>getMappedLocation,getMatchedFileSpec:()=>getMatchedFileSpec,getMatchedIncludeSpec:()=>getMatchedIncludeSpec,getMeaningFromDeclaration:()=>getMeaningFromDeclaration,getMeaningFromLocation:()=>getMeaningFromLocation,getMembersOfDeclaration:()=>getMembersOfDeclaration,getModeForFileReference:()=>getModeForFileReference,getModeForResolutionAtIndex:()=>getModeForResolutionAtIndex,getModeForUsageLocation:()=>getModeForUsageLocation,getModifiedTime:()=>getModifiedTime,getModifiers:()=>getModifiers,getModuleInstanceState:()=>getModuleInstanceState,getModuleNameStringLiteralAt:()=>getModuleNameStringLiteralAt,getModuleSpecifierEndingPreference:()=>getModuleSpecifierEndingPreference,getModuleSpecifierResolverHost:()=>getModuleSpecifierResolverHost,getNameForExportedSymbol:()=>getNameForExportedSymbol,getNameFromImportAttribute:()=>getNameFromImportAttribute,getNameFromIndexInfo:()=>getNameFromIndexInfo,getNameFromPropertyName:()=>getNameFromPropertyName,getNameOfAccessExpression:()=>getNameOfAccessExpression,getNameOfCompilerOptionValue:()=>getNameOfCompilerOptionValue,getNameOfDeclaration:()=>getNameOfDeclaration,getNameOfExpando:()=>getNameOfExpando,getNameOfJSDocTypedef:()=>getNameOfJSDocTypedef,getNameOfScriptTarget:()=>getNameOfScriptTarget,getNameOrArgument:()=>getNameOrArgument,getNameTable:()=>getNameTable,getNamespaceDeclarationNode:()=>getNamespaceDeclarationNode,getNewLineCharacter:()=>getNewLineCharacter,getNewLineKind:()=>getNewLineKind,getNewLineOrDefaultFromHost:()=>getNewLineOrDefaultFromHost,getNewTargetContainer:()=>getNewTargetContainer,getNextJSDocCommentLocation:()=>getNextJSDocCommentLocation,getNodeChildren:()=>getNodeChildren,getNodeForGeneratedName:()=>getNodeForGeneratedName,getNodeId:()=>getNodeId,getNodeKind:()=>getNodeKind,getNodeModifiers:()=>getNodeModifiers,getNodeModulePathParts:()=>getNodeModulePathParts,getNonAssignedNameOfDeclaration:()=>getNonAssignedNameOfDeclaration,getNonAssignmentOperatorForCompoundAssignment:()=>getNonAssignmentOperatorForCompoundAssignment,getNonAugmentationDeclaration:()=>getNonAugmentationDeclaration,getNonDecoratorTokenPosOfNode:()=>getNonDecoratorTokenPosOfNode,getNonIncrementalBuildInfoRoots:()=>getNonIncrementalBuildInfoRoots,getNonModifierTokenPosOfNode:()=>getNonModifierTokenPosOfNode,getNormalizedAbsolutePath:()=>getNormalizedAbsolutePath,getNormalizedAbsolutePathWithoutRoot:()=>getNormalizedAbsolutePathWithoutRoot,getNormalizedPathComponents:()=>getNormalizedPathComponents,getObjectFlags:()=>getObjectFlags,getOperatorAssociativity:()=>getOperatorAssociativity,getOperatorPrecedence:()=>getOperatorPrecedence,getOptionFromName:()=>getOptionFromName,getOptionsForLibraryResolution:()=>getOptionsForLibraryResolution,getOptionsNameMap:()=>getOptionsNameMap,getOptionsSyntaxByArrayElementValue:()=>getOptionsSyntaxByArrayElementValue,getOptionsSyntaxByValue:()=>getOptionsSyntaxByValue,getOrCreateEmitNode:()=>getOrCreateEmitNode,getOrUpdate:()=>getOrUpdate,getOriginalNode:()=>getOriginalNode,getOriginalNodeId:()=>getOriginalNodeId,getOutputDeclarationFileName:()=>getOutputDeclarationFileName,getOutputDeclarationFileNameWorker:()=>getOutputDeclarationFileNameWorker,getOutputExtension:()=>getOutputExtension,getOutputFileNames:()=>getOutputFileNames,getOutputJSFileNameWorker:()=>getOutputJSFileNameWorker,getOutputPathsFor:()=>getOutputPathsFor,getOwnEmitOutputFilePath:()=>getOwnEmitOutputFilePath,getOwnKeys:()=>getOwnKeys,getOwnValues:()=>getOwnValues,getPackageJsonTypesVersionsPaths:()=>getPackageJsonTypesVersionsPaths,getPackageNameFromTypesPackageName:()=>getPackageNameFromTypesPackageName,getPackageScopeForPath:()=>getPackageScopeForPath,getParameterSymbolFromJSDoc:()=>getParameterSymbolFromJSDoc,getParentNodeInSpan:()=>getParentNodeInSpan,getParseTreeNode:()=>getParseTreeNode,getParsedCommandLineOfConfigFile:()=>getParsedCommandLineOfConfigFile,getPathComponents:()=>getPathComponents,getPathFromPathComponents:()=>getPathFromPathComponents,getPathUpdater:()=>getPathUpdater,getPathsBasePath:()=>getPathsBasePath,getPatternFromSpec:()=>getPatternFromSpec,getPendingEmitKindWithSeen:()=>getPendingEmitKindWithSeen,getPositionOfLineAndCharacter:()=>getPositionOfLineAndCharacter,getPossibleGenericSignatures:()=>getPossibleGenericSignatures,getPossibleOriginalInputExtensionForExtension:()=>getPossibleOriginalInputExtensionForExtension,getPossibleOriginalInputPathWithoutChangingExt:()=>getPossibleOriginalInputPathWithoutChangingExt,getPossibleTypeArgumentsInfo:()=>getPossibleTypeArgumentsInfo,getPreEmitDiagnostics:()=>getPreEmitDiagnostics,getPrecedingNonSpaceCharacterPosition:()=>getPrecedingNonSpaceCharacterPosition,getPrivateIdentifier:()=>getPrivateIdentifier,getProperties:()=>getProperties,getProperty:()=>getProperty,getPropertyAssignmentAliasLikeExpression:()=>getPropertyAssignmentAliasLikeExpression,getPropertyNameForPropertyNameNode:()=>getPropertyNameForPropertyNameNode,getPropertyNameFromType:()=>getPropertyNameFromType,getPropertyNameOfBindingOrAssignmentElement:()=>getPropertyNameOfBindingOrAssignmentElement,getPropertySymbolFromBindingElement:()=>getPropertySymbolFromBindingElement,getPropertySymbolsFromContextualType:()=>getPropertySymbolsFromContextualType,getQuoteFromPreference:()=>getQuoteFromPreference,getQuotePreference:()=>getQuotePreference,getRangesWhere:()=>getRangesWhere,getRefactorContextSpan:()=>getRefactorContextSpan,getReferencedFileLocation:()=>getReferencedFileLocation,getRegexFromPattern:()=>getRegexFromPattern,getRegularExpressionForWildcard:()=>getRegularExpressionForWildcard,getRegularExpressionsForWildcards:()=>getRegularExpressionsForWildcards,getRelativePathFromDirectory:()=>getRelativePathFromDirectory,getRelativePathFromFile:()=>getRelativePathFromFile,getRelativePathToDirectoryOrUrl:()=>getRelativePathToDirectoryOrUrl,getRenameLocation:()=>getRenameLocation,getReplacementSpanForContextToken:()=>getReplacementSpanForContextToken,getResolutionDiagnostic:()=>getResolutionDiagnostic,getResolutionModeOverride:()=>getResolutionModeOverride,getResolveJsonModule:()=>Yn,getResolvePackageJsonExports:()=>Qn,getResolvePackageJsonImports:()=>Xn,getResolvedExternalModuleName:()=>getResolvedExternalModuleName,getResolvedModuleFromResolution:()=>getResolvedModuleFromResolution,getResolvedTypeReferenceDirectiveFromResolution:()=>getResolvedTypeReferenceDirectiveFromResolution,getRestIndicatorOfBindingOrAssignmentElement:()=>getRestIndicatorOfBindingOrAssignmentElement,getRestParameterElementType:()=>getRestParameterElementType,getRightMostAssignedExpression:()=>getRightMostAssignedExpression,getRootDeclaration:()=>getRootDeclaration,getRootDirectoryOfResolutionCache:()=>getRootDirectoryOfResolutionCache,getRootLength:()=>getRootLength,getScriptKind:()=>getScriptKind,getScriptKindFromFileName:()=>getScriptKindFromFileName,getScriptTargetFeatures:()=>un,getSelectedEffectiveModifierFlags:()=>getSelectedEffectiveModifierFlags,getSelectedSyntacticModifierFlags:()=>getSelectedSyntacticModifierFlags,getSemanticClassifications:()=>getSemanticClassifications,getSemanticJsxChildren:()=>getSemanticJsxChildren,getSetAccessorTypeAnnotationNode:()=>getSetAccessorTypeAnnotationNode,getSetAccessorValueParameter:()=>getSetAccessorValueParameter,getSetExternalModuleIndicator:()=>getSetExternalModuleIndicator,getShebang:()=>getShebang,getSingleVariableOfVariableStatement:()=>getSingleVariableOfVariableStatement,getSnapshotText:()=>getSnapshotText,getSnippetElement:()=>getSnippetElement,getSourceFileOfModule:()=>getSourceFileOfModule,getSourceFileOfNode:()=>getSourceFileOfNode,getSourceFilePathInNewDir:()=>getSourceFilePathInNewDir,getSourceFileVersionAsHashFromText:()=>getSourceFileVersionAsHashFromText,getSourceFilesToEmit:()=>getSourceFilesToEmit,getSourceMapRange:()=>getSourceMapRange,getSourceMapper:()=>getSourceMapper,getSourceTextOfNodeFromSourceFile:()=>getSourceTextOfNodeFromSourceFile,getSpanOfTokenAtPosition:()=>getSpanOfTokenAtPosition,getSpellingSuggestion:()=>getSpellingSuggestion,getStartPositionOfLine:()=>getStartPositionOfLine,getStartPositionOfRange:()=>getStartPositionOfRange,getStartsOnNewLine:()=>getStartsOnNewLine,getStaticPropertiesAndClassStaticBlock:()=>getStaticPropertiesAndClassStaticBlock,getStrictOptionValue:()=>getStrictOptionValue,getStringComparer:()=>getStringComparer,getSubPatternFromSpec:()=>getSubPatternFromSpec,getSuperCallFromStatement:()=>getSuperCallFromStatement,getSuperContainer:()=>getSuperContainer,getSupportedCodeFixes:()=>getSupportedCodeFixes,getSupportedExtensions:()=>getSupportedExtensions,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>getSupportedExtensionsWithJsonIfResolveJsonModule,getSwitchedType:()=>getSwitchedType,getSymbolId:()=>getSymbolId,getSymbolNameForPrivateIdentifier:()=>getSymbolNameForPrivateIdentifier,getSymbolTarget:()=>getSymbolTarget,getSyntacticClassifications:()=>getSyntacticClassifications,getSyntacticModifierFlags:()=>getSyntacticModifierFlags,getSyntacticModifierFlagsNoCache:()=>getSyntacticModifierFlagsNoCache,getSynthesizedDeepClone:()=>getSynthesizedDeepClone,getSynthesizedDeepCloneWithReplacements:()=>getSynthesizedDeepCloneWithReplacements,getSynthesizedDeepClones:()=>getSynthesizedDeepClones,getSynthesizedDeepClonesWithReplacements:()=>getSynthesizedDeepClonesWithReplacements,getSyntheticLeadingComments:()=>getSyntheticLeadingComments,getSyntheticTrailingComments:()=>getSyntheticTrailingComments,getTargetLabel:()=>getTargetLabel,getTargetOfBindingOrAssignmentElement:()=>getTargetOfBindingOrAssignmentElement,getTemporaryModuleResolutionState:()=>getTemporaryModuleResolutionState,getTextOfConstantValue:()=>getTextOfConstantValue,getTextOfIdentifierOrLiteral:()=>getTextOfIdentifierOrLiteral,getTextOfJSDocComment:()=>getTextOfJSDocComment,getTextOfJsxAttributeName:()=>getTextOfJsxAttributeName,getTextOfJsxNamespacedName:()=>getTextOfJsxNamespacedName,getTextOfNode:()=>getTextOfNode,getTextOfNodeFromSourceText:()=>getTextOfNodeFromSourceText,getTextOfPropertyName:()=>getTextOfPropertyName,getThisContainer:()=>getThisContainer,getThisParameter:()=>getThisParameter,getTokenAtPosition:()=>getTokenAtPosition,getTokenPosOfNode:()=>getTokenPosOfNode,getTokenSourceMapRange:()=>getTokenSourceMapRange,getTouchingPropertyName:()=>getTouchingPropertyName,getTouchingToken:()=>getTouchingToken,getTrailingCommentRanges:()=>getTrailingCommentRanges,getTrailingSemicolonDeferringWriter:()=>getTrailingSemicolonDeferringWriter,getTransformers:()=>getTransformers,getTsBuildInfoEmitOutputFilePath:()=>getTsBuildInfoEmitOutputFilePath,getTsConfigObjectLiteralExpression:()=>getTsConfigObjectLiteralExpression,getTsConfigPropArrayElementValue:()=>getTsConfigPropArrayElementValue,getTypeAnnotationNode:()=>getTypeAnnotationNode,getTypeArgumentOrTypeParameterList:()=>getTypeArgumentOrTypeParameterList,getTypeKeywordOfTypeOnlyImport:()=>getTypeKeywordOfTypeOnlyImport,getTypeNode:()=>getTypeNode,getTypeNodeIfAccessible:()=>getTypeNodeIfAccessible,getTypeParameterFromJsDoc:()=>getTypeParameterFromJsDoc,getTypeParameterOwner:()=>getTypeParameterOwner,getTypesPackageName:()=>getTypesPackageName,getUILocale:()=>getUILocale,getUniqueName:()=>getUniqueName,getUniqueSymbolId:()=>getUniqueSymbolId,getUseDefineForClassFields:()=>ir,getWatchErrorSummaryDiagnosticMessage:()=>getWatchErrorSummaryDiagnosticMessage,getWatchFactory:()=>getWatchFactory,group:()=>group,groupBy:()=>groupBy,guessIndentation:()=>guessIndentation,handleNoEmitOptions:()=>handleNoEmitOptions,handleWatchOptionsConfigDirTemplateSubstitution:()=>handleWatchOptionsConfigDirTemplateSubstitution,hasAbstractModifier:()=>hasAbstractModifier,hasAccessorModifier:()=>hasAccessorModifier,hasAmbientModifier:()=>hasAmbientModifier,hasChangesInResolutions:()=>hasChangesInResolutions,hasContextSensitiveParameters:()=>hasContextSensitiveParameters,hasDecorators:()=>hasDecorators,hasDocComment:()=>hasDocComment,hasDynamicName:()=>hasDynamicName,hasEffectiveModifier:()=>hasEffectiveModifier,hasEffectiveModifiers:()=>hasEffectiveModifiers,hasEffectiveReadonlyModifier:()=>hasEffectiveReadonlyModifier,hasExtension:()=>hasExtension,hasImplementationTSFileExtension:()=>hasImplementationTSFileExtension,hasIndexSignature:()=>hasIndexSignature,hasInferredType:()=>hasInferredType,hasInitializer:()=>hasInitializer,hasInvalidEscape:()=>hasInvalidEscape,hasJSDocNodes:()=>hasJSDocNodes,hasJSDocParameterTags:()=>hasJSDocParameterTags,hasJSFileExtension:()=>hasJSFileExtension,hasJsonModuleEmitEnabled:()=>hasJsonModuleEmitEnabled,hasOnlyExpressionInitializer:()=>hasOnlyExpressionInitializer,hasOverrideModifier:()=>hasOverrideModifier,hasPossibleExternalModuleReference:()=>hasPossibleExternalModuleReference,hasProperty:()=>hasProperty,hasPropertyAccessExpressionWithName:()=>hasPropertyAccessExpressionWithName,hasQuestionToken:()=>hasQuestionToken,hasRecordedExternalHelpers:()=>hasRecordedExternalHelpers,hasResolutionModeOverride:()=>hasResolutionModeOverride,hasRestParameter:()=>hasRestParameter,hasScopeMarker:()=>hasScopeMarker,hasStaticModifier:()=>hasStaticModifier,hasSyntacticModifier:()=>hasSyntacticModifier,hasSyntacticModifiers:()=>hasSyntacticModifiers,hasTSFileExtension:()=>hasTSFileExtension,hasTabstop:()=>hasTabstop,hasTrailingDirectorySeparator:()=>hasTrailingDirectorySeparator,hasType:()=>hasType,hasTypeArguments:()=>hasTypeArguments,hasZeroOrOneAsteriskCharacter:()=>hasZeroOrOneAsteriskCharacter,hostGetCanonicalFileName:()=>hostGetCanonicalFileName,hostUsesCaseSensitiveFileNames:()=>hostUsesCaseSensitiveFileNames,idText:()=>idText,identifierIsThisKeyword:()=>identifierIsThisKeyword,identifierToKeywordKind:()=>identifierToKeywordKind,identity:()=>identity,identitySourceMapConsumer:()=>ua,ignoreSourceNewlines:()=>ignoreSourceNewlines,ignoredPaths:()=>Ct,importFromModuleSpecifier:()=>importFromModuleSpecifier,importSyntaxAffectsModuleResolution:()=>importSyntaxAffectsModuleResolution,indexOfAnyCharCode:()=>indexOfAnyCharCode,indexOfNode:()=>indexOfNode,indicesOf:()=>indicesOf,inferredTypesContainingFile:()=>Ua,injectClassNamedEvaluationHelperBlockIfMissing:()=>injectClassNamedEvaluationHelperBlockIfMissing,injectClassThisAssignmentIfMissing:()=>injectClassThisAssignmentIfMissing,insertImports:()=>insertImports,insertSorted:()=>insertSorted,insertStatementAfterCustomPrologue:()=>insertStatementAfterCustomPrologue,insertStatementAfterStandardPrologue:()=>insertStatementAfterStandardPrologue,insertStatementsAfterCustomPrologue:()=>insertStatementsAfterCustomPrologue,insertStatementsAfterStandardPrologue:()=>insertStatementsAfterStandardPrologue,intersperse:()=>intersperse,intrinsicTagNameToString:()=>intrinsicTagNameToString,introducesArgumentsExoticObject:()=>introducesArgumentsExoticObject,inverseJsxOptionMap:()=>Wi,isAbstractConstructorSymbol:()=>isAbstractConstructorSymbol,isAbstractModifier:()=>isAbstractModifier,isAccessExpression:()=>isAccessExpression,isAccessibilityModifier:()=>isAccessibilityModifier,isAccessor:()=>isAccessor,isAccessorModifier:()=>isAccessorModifier,isAliasableExpression:()=>isAliasableExpression,isAmbientModule:()=>isAmbientModule,isAmbientPropertyDeclaration:()=>isAmbientPropertyDeclaration,isAnyDirectorySeparator:()=>isAnyDirectorySeparator,isAnyImportOrBareOrAccessedRequire:()=>isAnyImportOrBareOrAccessedRequire,isAnyImportOrReExport:()=>isAnyImportOrReExport,isAnyImportOrRequireStatement:()=>isAnyImportOrRequireStatement,isAnyImportSyntax:()=>isAnyImportSyntax,isAnySupportedFileExtension:()=>isAnySupportedFileExtension,isApplicableVersionedTypesKey:()=>isApplicableVersionedTypesKey,isArgumentExpressionOfElementAccess:()=>isArgumentExpressionOfElementAccess,isArray:()=>isArray,isArrayBindingElement:()=>isArrayBindingElement,isArrayBindingOrAssignmentElement:()=>isArrayBindingOrAssignmentElement,isArrayBindingOrAssignmentPattern:()=>isArrayBindingOrAssignmentPattern,isArrayBindingPattern:()=>isArrayBindingPattern,isArrayLiteralExpression:()=>isArrayLiteralExpression,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>isArrayLiteralOrObjectLiteralDestructuringPattern,isArrayTypeNode:()=>isArrayTypeNode,isArrowFunction:()=>isArrowFunction,isAsExpression:()=>isAsExpression,isAssertClause:()=>isAssertClause,isAssertEntry:()=>isAssertEntry,isAssertionExpression:()=>isAssertionExpression,isAssertsKeyword:()=>isAssertsKeyword,isAssignmentDeclaration:()=>isAssignmentDeclaration,isAssignmentExpression:()=>isAssignmentExpression,isAssignmentOperator:()=>isAssignmentOperator,isAssignmentPattern:()=>isAssignmentPattern,isAssignmentTarget:()=>isAssignmentTarget,isAsteriskToken:()=>isAsteriskToken,isAsyncFunction:()=>isAsyncFunction,isAsyncModifier:()=>isAsyncModifier,isAutoAccessorPropertyDeclaration:()=>isAutoAccessorPropertyDeclaration,isAwaitExpression:()=>isAwaitExpression,isAwaitKeyword:()=>isAwaitKeyword,isBigIntLiteral:()=>isBigIntLiteral,isBinaryExpression:()=>isBinaryExpression,isBinaryLogicalOperator:()=>isBinaryLogicalOperator,isBinaryOperatorToken:()=>isBinaryOperatorToken,isBindableObjectDefinePropertyCall:()=>isBindableObjectDefinePropertyCall,isBindableStaticAccessExpression:()=>isBindableStaticAccessExpression,isBindableStaticElementAccessExpression:()=>isBindableStaticElementAccessExpression,isBindableStaticNameExpression:()=>isBindableStaticNameExpression,isBindingElement:()=>isBindingElement,isBindingElementOfBareOrAccessedRequire:()=>isBindingElementOfBareOrAccessedRequire,isBindingName:()=>isBindingName,isBindingOrAssignmentElement:()=>isBindingOrAssignmentElement,isBindingOrAssignmentPattern:()=>isBindingOrAssignmentPattern,isBindingPattern:()=>isBindingPattern,isBlock:()=>isBlock,isBlockLike:()=>isBlockLike,isBlockOrCatchScoped:()=>isBlockOrCatchScoped,isBlockScope:()=>isBlockScope,isBlockScopedContainerTopLevel:()=>isBlockScopedContainerTopLevel,isBooleanLiteral:()=>isBooleanLiteral,isBreakOrContinueStatement:()=>isBreakOrContinueStatement,isBreakStatement:()=>isBreakStatement,isBuildCommand:()=>isBuildCommand,isBuildInfoFile:()=>isBuildInfoFile,isBuilderProgram:()=>isBuilderProgram,isBundle:()=>isBundle,isCallChain:()=>isCallChain,isCallExpression:()=>isCallExpression,isCallExpressionTarget:()=>isCallExpressionTarget,isCallLikeExpression:()=>isCallLikeExpression,isCallLikeOrFunctionLikeExpression:()=>isCallLikeOrFunctionLikeExpression,isCallOrNewExpression:()=>isCallOrNewExpression,isCallOrNewExpressionTarget:()=>isCallOrNewExpressionTarget,isCallSignatureDeclaration:()=>isCallSignatureDeclaration,isCallToHelper:()=>isCallToHelper,isCaseBlock:()=>isCaseBlock,isCaseClause:()=>isCaseClause,isCaseKeyword:()=>isCaseKeyword,isCaseOrDefaultClause:()=>isCaseOrDefaultClause,isCatchClause:()=>isCatchClause,isCatchClauseVariableDeclaration:()=>isCatchClauseVariableDeclaration,isCatchClauseVariableDeclarationOrBindingElement:()=>isCatchClauseVariableDeclarationOrBindingElement,isCheckJsEnabledForFile:()=>isCheckJsEnabledForFile,isCircularBuildOrder:()=>isCircularBuildOrder,isClassDeclaration:()=>isClassDeclaration,isClassElement:()=>isClassElement,isClassExpression:()=>isClassExpression,isClassInstanceProperty:()=>isClassInstanceProperty,isClassLike:()=>isClassLike,isClassMemberModifier:()=>isClassMemberModifier,isClassNamedEvaluationHelperBlock:()=>isClassNamedEvaluationHelperBlock,isClassOrTypeElement:()=>isClassOrTypeElement,isClassStaticBlockDeclaration:()=>isClassStaticBlockDeclaration,isClassThisAssignmentBlock:()=>isClassThisAssignmentBlock,isColonToken:()=>isColonToken,isCommaExpression:()=>isCommaExpression,isCommaListExpression:()=>isCommaListExpression,isCommaSequence:()=>isCommaSequence,isCommaToken:()=>isCommaToken,isComment:()=>isComment,isCommonJsExportPropertyAssignment:()=>isCommonJsExportPropertyAssignment,isCommonJsExportedExpression:()=>isCommonJsExportedExpression,isCompoundAssignment:()=>isCompoundAssignment,isComputedNonLiteralName:()=>isComputedNonLiteralName,isComputedPropertyName:()=>isComputedPropertyName,isConciseBody:()=>isConciseBody,isConditionalExpression:()=>isConditionalExpression,isConditionalTypeNode:()=>isConditionalTypeNode,isConstAssertion:()=>isConstAssertion,isConstTypeReference:()=>isConstTypeReference,isConstructSignatureDeclaration:()=>isConstructSignatureDeclaration,isConstructorDeclaration:()=>isConstructorDeclaration,isConstructorTypeNode:()=>isConstructorTypeNode,isContextualKeyword:()=>isContextualKeyword,isContinueStatement:()=>isContinueStatement,isCustomPrologue:()=>isCustomPrologue,isDebuggerStatement:()=>isDebuggerStatement,isDeclaration:()=>isDeclaration,isDeclarationBindingElement:()=>isDeclarationBindingElement,isDeclarationFileName:()=>isDeclarationFileName,isDeclarationName:()=>isDeclarationName,isDeclarationNameOfEnumOrNamespace:()=>isDeclarationNameOfEnumOrNamespace,isDeclarationReadonly:()=>isDeclarationReadonly,isDeclarationStatement:()=>isDeclarationStatement,isDeclarationWithTypeParameterChildren:()=>isDeclarationWithTypeParameterChildren,isDeclarationWithTypeParameters:()=>isDeclarationWithTypeParameters,isDecorator:()=>isDecorator,isDecoratorTarget:()=>isDecoratorTarget,isDefaultClause:()=>isDefaultClause,isDefaultImport:()=>isDefaultImport,isDefaultModifier:()=>isDefaultModifier,isDefaultedExpandoInitializer:()=>isDefaultedExpandoInitializer,isDeleteExpression:()=>isDeleteExpression,isDeleteTarget:()=>isDeleteTarget,isDeprecatedDeclaration:()=>isDeprecatedDeclaration,isDestructuringAssignment:()=>isDestructuringAssignment,isDiskPathRoot:()=>isDiskPathRoot,isDoStatement:()=>isDoStatement,isDocumentRegistryEntry:()=>isDocumentRegistryEntry,isDotDotDotToken:()=>isDotDotDotToken,isDottedName:()=>isDottedName,isDynamicName:()=>isDynamicName,isEffectiveExternalModule:()=>isEffectiveExternalModule,isEffectiveStrictModeSourceFile:()=>isEffectiveStrictModeSourceFile,isElementAccessChain:()=>isElementAccessChain,isElementAccessExpression:()=>isElementAccessExpression,isEmittedFileOfProgram:()=>isEmittedFileOfProgram,isEmptyArrayLiteral:()=>isEmptyArrayLiteral,isEmptyBindingElement:()=>isEmptyBindingElement,isEmptyBindingPattern:()=>isEmptyBindingPattern,isEmptyObjectLiteral:()=>isEmptyObjectLiteral,isEmptyStatement:()=>isEmptyStatement,isEmptyStringLiteral:()=>isEmptyStringLiteral,isEntityName:()=>isEntityName,isEntityNameExpression:()=>isEntityNameExpression,isEnumConst:()=>isEnumConst,isEnumDeclaration:()=>isEnumDeclaration,isEnumMember:()=>isEnumMember,isEqualityOperatorKind:()=>isEqualityOperatorKind,isEqualsGreaterThanToken:()=>isEqualsGreaterThanToken,isExclamationToken:()=>isExclamationToken,isExcludedFile:()=>isExcludedFile,isExclusivelyTypeOnlyImportOrExport:()=>isExclusivelyTypeOnlyImportOrExport,isExpandoPropertyDeclaration:()=>isExpandoPropertyDeclaration,isExportAssignment:()=>isExportAssignment,isExportDeclaration:()=>isExportDeclaration,isExportModifier:()=>isExportModifier,isExportName:()=>isExportName,isExportNamespaceAsDefaultDeclaration:()=>isExportNamespaceAsDefaultDeclaration,isExportOrDefaultModifier:()=>isExportOrDefaultModifier,isExportSpecifier:()=>isExportSpecifier,isExportsIdentifier:()=>isExportsIdentifier,isExportsOrModuleExportsOrAlias:()=>isExportsOrModuleExportsOrAlias,isExpression:()=>isExpression,isExpressionNode:()=>isExpressionNode,isExpressionOfExternalModuleImportEqualsDeclaration:()=>isExpressionOfExternalModuleImportEqualsDeclaration,isExpressionOfOptionalChainRoot:()=>isExpressionOfOptionalChainRoot,isExpressionStatement:()=>isExpressionStatement,isExpressionWithTypeArguments:()=>isExpressionWithTypeArguments,isExpressionWithTypeArgumentsInClassExtendsClause:()=>isExpressionWithTypeArgumentsInClassExtendsClause,isExternalModule:()=>isExternalModule,isExternalModuleAugmentation:()=>isExternalModuleAugmentation,isExternalModuleImportEqualsDeclaration:()=>isExternalModuleImportEqualsDeclaration,isExternalModuleIndicator:()=>isExternalModuleIndicator,isExternalModuleNameRelative:()=>isExternalModuleNameRelative,isExternalModuleReference:()=>isExternalModuleReference,isExternalModuleSymbol:()=>isExternalModuleSymbol,isExternalOrCommonJsModule:()=>isExternalOrCommonJsModule,isFileLevelReservedGeneratedIdentifier:()=>isFileLevelReservedGeneratedIdentifier,isFileLevelUniqueName:()=>isFileLevelUniqueName,isFileProbablyExternalModule:()=>isFileProbablyExternalModule,isFirstDeclarationOfSymbolParameter:()=>isFirstDeclarationOfSymbolParameter,isFixablePromiseHandler:()=>isFixablePromiseHandler,isForInOrOfStatement:()=>isForInOrOfStatement,isForInStatement:()=>isForInStatement,isForInitializer:()=>isForInitializer,isForOfStatement:()=>isForOfStatement,isForStatement:()=>isForStatement,isFullSourceFile:()=>isFullSourceFile,isFunctionBlock:()=>isFunctionBlock,isFunctionBody:()=>isFunctionBody,isFunctionDeclaration:()=>isFunctionDeclaration,isFunctionExpression:()=>isFunctionExpression,isFunctionExpressionOrArrowFunction:()=>isFunctionExpressionOrArrowFunction,isFunctionLike:()=>isFunctionLike,isFunctionLikeDeclaration:()=>isFunctionLikeDeclaration,isFunctionLikeKind:()=>isFunctionLikeKind,isFunctionLikeOrClassStaticBlockDeclaration:()=>isFunctionLikeOrClassStaticBlockDeclaration,isFunctionOrConstructorTypeNode:()=>isFunctionOrConstructorTypeNode,isFunctionOrModuleBlock:()=>isFunctionOrModuleBlock,isFunctionSymbol:()=>isFunctionSymbol,isFunctionTypeNode:()=>isFunctionTypeNode,isGeneratedIdentifier:()=>isGeneratedIdentifier,isGeneratedPrivateIdentifier:()=>isGeneratedPrivateIdentifier,isGetAccessor:()=>isGetAccessor,isGetAccessorDeclaration:()=>isGetAccessorDeclaration,isGetOrSetAccessorDeclaration:()=>isGetOrSetAccessorDeclaration,isGlobalScopeAugmentation:()=>isGlobalScopeAugmentation,isGlobalSourceFile:()=>isGlobalSourceFile,isGrammarError:()=>isGrammarError,isHeritageClause:()=>isHeritageClause,isHoistedFunction:()=>isHoistedFunction,isHoistedVariableStatement:()=>isHoistedVariableStatement,isIdentifier:()=>isIdentifier,isIdentifierANonContextualKeyword:()=>isIdentifierANonContextualKeyword,isIdentifierName:()=>isIdentifierName,isIdentifierOrThisTypeNode:()=>isIdentifierOrThisTypeNode,isIdentifierPart:()=>isIdentifierPart,isIdentifierStart:()=>isIdentifierStart,isIdentifierText:()=>isIdentifierText,isIdentifierTypePredicate:()=>isIdentifierTypePredicate,isIdentifierTypeReference:()=>isIdentifierTypeReference,isIfStatement:()=>isIfStatement,isIgnoredFileFromWildCardWatching:()=>isIgnoredFileFromWildCardWatching,isImplicitGlob:()=>isImplicitGlob,isImportAttribute:()=>isImportAttribute,isImportAttributeName:()=>isImportAttributeName,isImportAttributes:()=>isImportAttributes,isImportCall:()=>isImportCall,isImportClause:()=>isImportClause,isImportDeclaration:()=>isImportDeclaration,isImportEqualsDeclaration:()=>isImportEqualsDeclaration,isImportKeyword:()=>isImportKeyword,isImportMeta:()=>isImportMeta,isImportOrExportSpecifier:()=>isImportOrExportSpecifier,isImportOrExportSpecifierName:()=>isImportOrExportSpecifierName,isImportSpecifier:()=>isImportSpecifier,isImportTypeAssertionContainer:()=>isImportTypeAssertionContainer,isImportTypeNode:()=>isImportTypeNode,isImportable:()=>isImportable,isInComment:()=>isInComment,isInCompoundLikeAssignment:()=>isInCompoundLikeAssignment,isInExpressionContext:()=>isInExpressionContext,isInJSDoc:()=>isInJSDoc,isInJSFile:()=>isInJSFile,isInJSXText:()=>isInJSXText,isInJsonFile:()=>isInJsonFile,isInNonReferenceComment:()=>isInNonReferenceComment,isInReferenceComment:()=>isInReferenceComment,isInRightSideOfInternalImportEqualsDeclaration:()=>isInRightSideOfInternalImportEqualsDeclaration,isInString:()=>isInString,isInTemplateString:()=>isInTemplateString,isInTopLevelContext:()=>isInTopLevelContext,isInTypeQuery:()=>isInTypeQuery,isIncrementalBuildInfo:()=>isIncrementalBuildInfo,isIncrementalBundleEmitBuildInfo:()=>isIncrementalBundleEmitBuildInfo,isIncrementalCompilation:()=>tr,isIndexSignatureDeclaration:()=>isIndexSignatureDeclaration,isIndexedAccessTypeNode:()=>isIndexedAccessTypeNode,isInferTypeNode:()=>isInferTypeNode,isInfinityOrNaNString:()=>isInfinityOrNaNString,isInitializedProperty:()=>isInitializedProperty,isInitializedVariable:()=>isInitializedVariable,isInsideJsxElement:()=>isInsideJsxElement,isInsideJsxElementOrAttribute:()=>isInsideJsxElementOrAttribute,isInsideNodeModules:()=>isInsideNodeModules,isInsideTemplateLiteral:()=>isInsideTemplateLiteral,isInstanceOfExpression:()=>isInstanceOfExpression,isInstantiatedModule:()=>isInstantiatedModule,isInterfaceDeclaration:()=>isInterfaceDeclaration,isInternalDeclaration:()=>isInternalDeclaration,isInternalModuleImportEqualsDeclaration:()=>isInternalModuleImportEqualsDeclaration,isInternalName:()=>isInternalName,isIntersectionTypeNode:()=>isIntersectionTypeNode,isIntrinsicJsxName:()=>isIntrinsicJsxName,isIterationStatement:()=>isIterationStatement,isJSDoc:()=>isJSDoc,isJSDocAllType:()=>isJSDocAllType,isJSDocAugmentsTag:()=>isJSDocAugmentsTag,isJSDocAuthorTag:()=>isJSDocAuthorTag,isJSDocCallbackTag:()=>isJSDocCallbackTag,isJSDocClassTag:()=>isJSDocClassTag,isJSDocCommentContainingNode:()=>isJSDocCommentContainingNode,isJSDocConstructSignature:()=>isJSDocConstructSignature,isJSDocDeprecatedTag:()=>isJSDocDeprecatedTag,isJSDocEnumTag:()=>isJSDocEnumTag,isJSDocFunctionType:()=>isJSDocFunctionType,isJSDocImplementsTag:()=>isJSDocImplementsTag,isJSDocImportTag:()=>isJSDocImportTag,isJSDocIndexSignature:()=>isJSDocIndexSignature,isJSDocLikeText:()=>isJSDocLikeText,isJSDocLink:()=>isJSDocLink,isJSDocLinkCode:()=>isJSDocLinkCode,isJSDocLinkLike:()=>isJSDocLinkLike,isJSDocLinkPlain:()=>isJSDocLinkPlain,isJSDocMemberName:()=>isJSDocMemberName,isJSDocNameReference:()=>isJSDocNameReference,isJSDocNamepathType:()=>isJSDocNamepathType,isJSDocNamespaceBody:()=>isJSDocNamespaceBody,isJSDocNode:()=>isJSDocNode,isJSDocNonNullableType:()=>isJSDocNonNullableType,isJSDocNullableType:()=>isJSDocNullableType,isJSDocOptionalParameter:()=>isJSDocOptionalParameter,isJSDocOptionalType:()=>isJSDocOptionalType,isJSDocOverloadTag:()=>isJSDocOverloadTag,isJSDocOverrideTag:()=>isJSDocOverrideTag,isJSDocParameterTag:()=>isJSDocParameterTag,isJSDocPrivateTag:()=>isJSDocPrivateTag,isJSDocPropertyLikeTag:()=>isJSDocPropertyLikeTag,isJSDocPropertyTag:()=>isJSDocPropertyTag,isJSDocProtectedTag:()=>isJSDocProtectedTag,isJSDocPublicTag:()=>isJSDocPublicTag,isJSDocReadonlyTag:()=>isJSDocReadonlyTag,isJSDocReturnTag:()=>isJSDocReturnTag,isJSDocSatisfiesExpression:()=>isJSDocSatisfiesExpression,isJSDocSatisfiesTag:()=>isJSDocSatisfiesTag,isJSDocSeeTag:()=>isJSDocSeeTag,isJSDocSignature:()=>isJSDocSignature,isJSDocTag:()=>isJSDocTag,isJSDocTemplateTag:()=>isJSDocTemplateTag,isJSDocThisTag:()=>isJSDocThisTag,isJSDocThrowsTag:()=>isJSDocThrowsTag,isJSDocTypeAlias:()=>isJSDocTypeAlias,isJSDocTypeAssertion:()=>isJSDocTypeAssertion,isJSDocTypeExpression:()=>isJSDocTypeExpression,isJSDocTypeLiteral:()=>isJSDocTypeLiteral,isJSDocTypeTag:()=>isJSDocTypeTag,isJSDocTypedefTag:()=>isJSDocTypedefTag,isJSDocUnknownTag:()=>isJSDocUnknownTag,isJSDocUnknownType:()=>isJSDocUnknownType,isJSDocVariadicType:()=>isJSDocVariadicType,isJSXTagName:()=>isJSXTagName,isJsonEqual:()=>isJsonEqual,isJsonSourceFile:()=>isJsonSourceFile,isJsxAttribute:()=>isJsxAttribute,isJsxAttributeLike:()=>isJsxAttributeLike,isJsxAttributeName:()=>isJsxAttributeName,isJsxAttributes:()=>isJsxAttributes,isJsxCallLike:()=>isJsxCallLike,isJsxChild:()=>isJsxChild,isJsxClosingElement:()=>isJsxClosingElement,isJsxClosingFragment:()=>isJsxClosingFragment,isJsxElement:()=>isJsxElement,isJsxExpression:()=>isJsxExpression,isJsxFragment:()=>isJsxFragment,isJsxNamespacedName:()=>isJsxNamespacedName,isJsxOpeningElement:()=>isJsxOpeningElement,isJsxOpeningFragment:()=>isJsxOpeningFragment,isJsxOpeningLikeElement:()=>isJsxOpeningLikeElement,isJsxOpeningLikeElementTagName:()=>isJsxOpeningLikeElementTagName,isJsxSelfClosingElement:()=>isJsxSelfClosingElement,isJsxSpreadAttribute:()=>isJsxSpreadAttribute,isJsxTagNameExpression:()=>isJsxTagNameExpression,isJsxText:()=>isJsxText,isJumpStatementTarget:()=>isJumpStatementTarget,isKeyword:()=>isKeyword,isKeywordOrPunctuation:()=>isKeywordOrPunctuation,isKnownSymbol:()=>isKnownSymbol,isLabelName:()=>isLabelName,isLabelOfLabeledStatement:()=>isLabelOfLabeledStatement,isLabeledStatement:()=>isLabeledStatement,isLateVisibilityPaintedStatement:()=>isLateVisibilityPaintedStatement,isLeftHandSideExpression:()=>isLeftHandSideExpression,isLet:()=>isLet,isLineBreak:()=>isLineBreak,isLiteralComputedPropertyDeclarationName:()=>isLiteralComputedPropertyDeclarationName,isLiteralExpression:()=>isLiteralExpression,isLiteralExpressionOfObject:()=>isLiteralExpressionOfObject,isLiteralImportTypeNode:()=>isLiteralImportTypeNode,isLiteralKind:()=>isLiteralKind,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>isLiteralNameOfPropertyDeclarationOrIndexAccess,isLiteralTypeLiteral:()=>isLiteralTypeLiteral,isLiteralTypeNode:()=>isLiteralTypeNode,isLocalName:()=>isLocalName,isLogicalOperator:()=>isLogicalOperator,isLogicalOrCoalescingAssignmentExpression:()=>isLogicalOrCoalescingAssignmentExpression,isLogicalOrCoalescingAssignmentOperator:()=>isLogicalOrCoalescingAssignmentOperator,isLogicalOrCoalescingBinaryExpression:()=>isLogicalOrCoalescingBinaryExpression,isLogicalOrCoalescingBinaryOperator:()=>isLogicalOrCoalescingBinaryOperator,isMappedTypeNode:()=>isMappedTypeNode,isMemberName:()=>isMemberName,isMetaProperty:()=>isMetaProperty,isMethodDeclaration:()=>isMethodDeclaration,isMethodOrAccessor:()=>isMethodOrAccessor,isMethodSignature:()=>isMethodSignature,isMinusToken:()=>isMinusToken,isMissingDeclaration:()=>isMissingDeclaration,isMissingPackageJsonInfo:()=>isMissingPackageJsonInfo,isModifier:()=>isModifier,isModifierKind:()=>isModifierKind,isModifierLike:()=>isModifierLike,isModuleAugmentationExternal:()=>isModuleAugmentationExternal,isModuleBlock:()=>isModuleBlock,isModuleBody:()=>isModuleBody,isModuleDeclaration:()=>isModuleDeclaration,isModuleExportName:()=>isModuleExportName,isModuleExportsAccessExpression:()=>isModuleExportsAccessExpression,isModuleIdentifier:()=>isModuleIdentifier,isModuleName:()=>isModuleName,isModuleOrEnumDeclaration:()=>isModuleOrEnumDeclaration,isModuleReference:()=>isModuleReference,isModuleSpecifierLike:()=>isModuleSpecifierLike,isModuleWithStringLiteralName:()=>isModuleWithStringLiteralName,isNameOfFunctionDeclaration:()=>isNameOfFunctionDeclaration,isNameOfModuleDeclaration:()=>isNameOfModuleDeclaration,isNamedDeclaration:()=>isNamedDeclaration,isNamedEvaluation:()=>isNamedEvaluation,isNamedEvaluationSource:()=>isNamedEvaluationSource,isNamedExportBindings:()=>isNamedExportBindings,isNamedExports:()=>isNamedExports,isNamedImportBindings:()=>isNamedImportBindings,isNamedImports:()=>isNamedImports,isNamedImportsOrExports:()=>isNamedImportsOrExports,isNamedTupleMember:()=>isNamedTupleMember,isNamespaceBody:()=>isNamespaceBody,isNamespaceExport:()=>isNamespaceExport,isNamespaceExportDeclaration:()=>isNamespaceExportDeclaration,isNamespaceImport:()=>isNamespaceImport,isNamespaceReexportDeclaration:()=>isNamespaceReexportDeclaration,isNewExpression:()=>isNewExpression,isNewExpressionTarget:()=>isNewExpressionTarget,isNewScopeNode:()=>isNewScopeNode,isNoSubstitutionTemplateLiteral:()=>isNoSubstitutionTemplateLiteral,isNodeArray:()=>isNodeArray,isNodeArrayMultiLine:()=>isNodeArrayMultiLine,isNodeDescendantOf:()=>isNodeDescendantOf,isNodeKind:()=>isNodeKind,isNodeLikeSystem:()=>isNodeLikeSystem,isNodeModulesDirectory:()=>isNodeModulesDirectory,isNodeWithPossibleHoistedDeclaration:()=>isNodeWithPossibleHoistedDeclaration,isNonContextualKeyword:()=>isNonContextualKeyword,isNonGlobalAmbientModule:()=>isNonGlobalAmbientModule,isNonNullAccess:()=>isNonNullAccess,isNonNullChain:()=>isNonNullChain,isNonNullExpression:()=>isNonNullExpression,isNonStaticMethodOrAccessorWithPrivateName:()=>isNonStaticMethodOrAccessorWithPrivateName,isNotEmittedStatement:()=>isNotEmittedStatement,isNullishCoalesce:()=>isNullishCoalesce,isNumber:()=>isNumber,isNumericLiteral:()=>isNumericLiteral,isNumericLiteralName:()=>isNumericLiteralName,isObjectBindingElementWithoutPropertyName:()=>isObjectBindingElementWithoutPropertyName,isObjectBindingOrAssignmentElement:()=>isObjectBindingOrAssignmentElement,isObjectBindingOrAssignmentPattern:()=>isObjectBindingOrAssignmentPattern,isObjectBindingPattern:()=>isObjectBindingPattern,isObjectLiteralElement:()=>isObjectLiteralElement,isObjectLiteralElementLike:()=>isObjectLiteralElementLike,isObjectLiteralExpression:()=>isObjectLiteralExpression,isObjectLiteralMethod:()=>isObjectLiteralMethod,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>isObjectLiteralOrClassExpressionMethodOrAccessor,isObjectTypeDeclaration:()=>isObjectTypeDeclaration,isOmittedExpression:()=>isOmittedExpression,isOptionalChain:()=>isOptionalChain,isOptionalChainRoot:()=>isOptionalChainRoot,isOptionalDeclaration:()=>isOptionalDeclaration,isOptionalJSDocPropertyLikeTag:()=>isOptionalJSDocPropertyLikeTag,isOptionalTypeNode:()=>isOptionalTypeNode,isOuterExpression:()=>isOuterExpression,isOutermostOptionalChain:()=>isOutermostOptionalChain,isOverrideModifier:()=>isOverrideModifier,isPackageJsonInfo:()=>isPackageJsonInfo,isPackedArrayLiteral:()=>isPackedArrayLiteral,isParameter:()=>isParameter,isParameterPropertyDeclaration:()=>isParameterPropertyDeclaration,isParameterPropertyModifier:()=>isParameterPropertyModifier,isParenthesizedExpression:()=>isParenthesizedExpression,isParenthesizedTypeNode:()=>isParenthesizedTypeNode,isParseTreeNode:()=>isParseTreeNode,isPartOfParameterDeclaration:()=>isPartOfParameterDeclaration,isPartOfTypeNode:()=>isPartOfTypeNode,isPartOfTypeOnlyImportOrExportDeclaration:()=>isPartOfTypeOnlyImportOrExportDeclaration,isPartOfTypeQuery:()=>isPartOfTypeQuery,isPartiallyEmittedExpression:()=>isPartiallyEmittedExpression,isPatternMatch:()=>isPatternMatch,isPinnedComment:()=>isPinnedComment,isPlainJsFile:()=>isPlainJsFile,isPlusToken:()=>isPlusToken,isPossiblyTypeArgumentPosition:()=>isPossiblyTypeArgumentPosition,isPostfixUnaryExpression:()=>isPostfixUnaryExpression,isPrefixUnaryExpression:()=>isPrefixUnaryExpression,isPrimitiveLiteralValue:()=>isPrimitiveLiteralValue,isPrivateIdentifier:()=>isPrivateIdentifier,isPrivateIdentifierClassElementDeclaration:()=>isPrivateIdentifierClassElementDeclaration,isPrivateIdentifierPropertyAccessExpression:()=>isPrivateIdentifierPropertyAccessExpression,isPrivateIdentifierSymbol:()=>isPrivateIdentifierSymbol,isProgramUptoDate:()=>isProgramUptoDate,isPrologueDirective:()=>isPrologueDirective,isPropertyAccessChain:()=>isPropertyAccessChain,isPropertyAccessEntityNameExpression:()=>isPropertyAccessEntityNameExpression,isPropertyAccessExpression:()=>isPropertyAccessExpression,isPropertyAccessOrQualifiedName:()=>isPropertyAccessOrQualifiedName,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>isPropertyAccessOrQualifiedNameOrImportTypeNode,isPropertyAssignment:()=>isPropertyAssignment,isPropertyDeclaration:()=>isPropertyDeclaration,isPropertyName:()=>isPropertyName,isPropertyNameLiteral:()=>isPropertyNameLiteral,isPropertySignature:()=>isPropertySignature,isPrototypeAccess:()=>isPrototypeAccess,isPrototypePropertyAssignment:()=>isPrototypePropertyAssignment,isPunctuation:()=>isPunctuation,isPushOrUnshiftIdentifier:()=>isPushOrUnshiftIdentifier,isQualifiedName:()=>isQualifiedName,isQuestionDotToken:()=>isQuestionDotToken,isQuestionOrExclamationToken:()=>isQuestionOrExclamationToken,isQuestionOrPlusOrMinusToken:()=>isQuestionOrPlusOrMinusToken,isQuestionToken:()=>isQuestionToken,isReadonlyKeyword:()=>isReadonlyKeyword,isReadonlyKeywordOrPlusOrMinusToken:()=>isReadonlyKeywordOrPlusOrMinusToken,isRecognizedTripleSlashComment:()=>isRecognizedTripleSlashComment,isReferenceFileLocation:()=>isReferenceFileLocation,isReferencedFile:()=>isReferencedFile,isRegularExpressionLiteral:()=>isRegularExpressionLiteral,isRequireCall:()=>isRequireCall,isRequireVariableStatement:()=>isRequireVariableStatement,isRestParameter:()=>isRestParameter,isRestTypeNode:()=>isRestTypeNode,isReturnStatement:()=>isReturnStatement,isReturnStatementWithFixablePromiseHandler:()=>isReturnStatementWithFixablePromiseHandler,isRightSideOfAccessExpression:()=>isRightSideOfAccessExpression,isRightSideOfInstanceofExpression:()=>isRightSideOfInstanceofExpression,isRightSideOfPropertyAccess:()=>isRightSideOfPropertyAccess,isRightSideOfQualifiedName:()=>isRightSideOfQualifiedName,isRightSideOfQualifiedNameOrPropertyAccess:()=>isRightSideOfQualifiedNameOrPropertyAccess,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName,isRootedDiskPath:()=>isRootedDiskPath,isSameEntityName:()=>isSameEntityName,isSatisfiesExpression:()=>isSatisfiesExpression,isSemicolonClassElement:()=>isSemicolonClassElement,isSetAccessor:()=>isSetAccessor,isSetAccessorDeclaration:()=>isSetAccessorDeclaration,isShiftOperatorOrHigher:()=>isShiftOperatorOrHigher,isShorthandAmbientModuleSymbol:()=>isShorthandAmbientModuleSymbol,isShorthandPropertyAssignment:()=>isShorthandPropertyAssignment,isSideEffectImport:()=>isSideEffectImport,isSignedNumericLiteral:()=>isSignedNumericLiteral,isSimpleCopiableExpression:()=>isSimpleCopiableExpression,isSimpleInlineableExpression:()=>isSimpleInlineableExpression,isSimpleParameterList:()=>isSimpleParameterList,isSingleOrDoubleQuote:()=>isSingleOrDoubleQuote,isSolutionConfig:()=>isSolutionConfig,isSourceElement:()=>isSourceElement,isSourceFile:()=>isSourceFile,isSourceFileFromLibrary:()=>isSourceFileFromLibrary,isSourceFileJS:()=>isSourceFileJS,isSourceFileNotJson:()=>isSourceFileNotJson,isSourceMapping:()=>isSourceMapping,isSpecialPropertyDeclaration:()=>isSpecialPropertyDeclaration,isSpreadAssignment:()=>isSpreadAssignment,isSpreadElement:()=>isSpreadElement,isStatement:()=>isStatement,isStatementButNotDeclaration:()=>isStatementButNotDeclaration,isStatementOrBlock:()=>isStatementOrBlock,isStatementWithLocals:()=>isStatementWithLocals,isStatic:()=>isStatic,isStaticModifier:()=>isStaticModifier,isString:()=>isString,isStringANonContextualKeyword:()=>isStringANonContextualKeyword,isStringAndEmptyAnonymousObjectIntersection:()=>isStringAndEmptyAnonymousObjectIntersection,isStringDoubleQuoted:()=>isStringDoubleQuoted,isStringLiteral:()=>isStringLiteral,isStringLiteralLike:()=>isStringLiteralLike,isStringLiteralOrJsxExpression:()=>isStringLiteralOrJsxExpression,isStringLiteralOrTemplate:()=>isStringLiteralOrTemplate,isStringOrNumericLiteralLike:()=>isStringOrNumericLiteralLike,isStringOrRegularExpressionOrTemplateLiteral:()=>isStringOrRegularExpressionOrTemplateLiteral,isStringTextContainingNode:()=>isStringTextContainingNode,isSuperCall:()=>isSuperCall,isSuperKeyword:()=>isSuperKeyword,isSuperProperty:()=>isSuperProperty,isSupportedSourceFileName:()=>isSupportedSourceFileName,isSwitchStatement:()=>isSwitchStatement,isSyntaxList:()=>isSyntaxList,isSyntheticExpression:()=>isSyntheticExpression,isSyntheticReference:()=>isSyntheticReference,isTagName:()=>isTagName,isTaggedTemplateExpression:()=>isTaggedTemplateExpression,isTaggedTemplateTag:()=>isTaggedTemplateTag,isTemplateExpression:()=>isTemplateExpression,isTemplateHead:()=>isTemplateHead,isTemplateLiteral:()=>isTemplateLiteral,isTemplateLiteralKind:()=>isTemplateLiteralKind,isTemplateLiteralToken:()=>isTemplateLiteralToken,isTemplateLiteralTypeNode:()=>isTemplateLiteralTypeNode,isTemplateLiteralTypeSpan:()=>isTemplateLiteralTypeSpan,isTemplateMiddle:()=>isTemplateMiddle,isTemplateMiddleOrTemplateTail:()=>isTemplateMiddleOrTemplateTail,isTemplateSpan:()=>isTemplateSpan,isTemplateTail:()=>isTemplateTail,isTextWhiteSpaceLike:()=>isTextWhiteSpaceLike,isThis:()=>isThis,isThisContainerOrFunctionBlock:()=>isThisContainerOrFunctionBlock,isThisIdentifier:()=>isThisIdentifier,isThisInTypeQuery:()=>isThisInTypeQuery,isThisInitializedDeclaration:()=>isThisInitializedDeclaration,isThisInitializedObjectBindingExpression:()=>isThisInitializedObjectBindingExpression,isThisProperty:()=>isThisProperty,isThisTypeNode:()=>isThisTypeNode,isThisTypeParameter:()=>isThisTypeParameter,isThisTypePredicate:()=>isThisTypePredicate,isThrowStatement:()=>isThrowStatement,isToken:()=>isToken,isTokenKind:()=>isTokenKind,isTraceEnabled:()=>isTraceEnabled,isTransientSymbol:()=>isTransientSymbol,isTrivia:()=>isTrivia,isTryStatement:()=>isTryStatement,isTupleTypeNode:()=>isTupleTypeNode,isTypeAlias:()=>isTypeAlias,isTypeAliasDeclaration:()=>isTypeAliasDeclaration,isTypeAssertionExpression:()=>isTypeAssertionExpression,isTypeDeclaration:()=>isTypeDeclaration,isTypeElement:()=>isTypeElement,isTypeKeyword:()=>isTypeKeyword,isTypeKeywordTokenOrIdentifier:()=>isTypeKeywordTokenOrIdentifier,isTypeLiteralNode:()=>isTypeLiteralNode,isTypeNode:()=>isTypeNode,isTypeNodeKind:()=>isTypeNodeKind,isTypeOfExpression:()=>isTypeOfExpression,isTypeOnlyExportDeclaration:()=>isTypeOnlyExportDeclaration,isTypeOnlyImportDeclaration:()=>isTypeOnlyImportDeclaration,isTypeOnlyImportOrExportDeclaration:()=>isTypeOnlyImportOrExportDeclaration,isTypeOperatorNode:()=>isTypeOperatorNode,isTypeParameterDeclaration:()=>isTypeParameterDeclaration,isTypePredicateNode:()=>isTypePredicateNode,isTypeQueryNode:()=>isTypeQueryNode,isTypeReferenceNode:()=>isTypeReferenceNode,isTypeReferenceType:()=>isTypeReferenceType,isTypeUsableAsPropertyName:()=>isTypeUsableAsPropertyName,isUMDExportSymbol:()=>isUMDExportSymbol,isUnaryExpression:()=>isUnaryExpression,isUnaryExpressionWithWrite:()=>isUnaryExpressionWithWrite,isUnicodeIdentifierStart:()=>isUnicodeIdentifierStart,isUnionTypeNode:()=>isUnionTypeNode,isUrl:()=>isUrl,isValidBigIntString:()=>isValidBigIntString,isValidESSymbolDeclaration:()=>isValidESSymbolDeclaration,isValidTypeOnlyAliasUseSite:()=>isValidTypeOnlyAliasUseSite,isValueSignatureDeclaration:()=>isValueSignatureDeclaration,isVarAwaitUsing:()=>isVarAwaitUsing,isVarConst:()=>isVarConst,isVarConstLike:()=>isVarConstLike,isVarUsing:()=>isVarUsing,isVariableDeclaration:()=>isVariableDeclaration,isVariableDeclarationInVariableStatement:()=>isVariableDeclarationInVariableStatement,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>isVariableDeclarationInitializedToBareOrAccessedRequire,isVariableDeclarationInitializedToRequire:()=>isVariableDeclarationInitializedToRequire,isVariableDeclarationList:()=>isVariableDeclarationList,isVariableLike:()=>isVariableLike,isVariableStatement:()=>isVariableStatement,isVoidExpression:()=>isVoidExpression,isWatchSet:()=>isWatchSet,isWhileStatement:()=>isWhileStatement,isWhiteSpaceLike:()=>isWhiteSpaceLike,isWhiteSpaceSingleLine:()=>isWhiteSpaceSingleLine,isWithStatement:()=>isWithStatement,isWriteAccess:()=>isWriteAccess,isWriteOnlyAccess:()=>isWriteOnlyAccess,isYieldExpression:()=>isYieldExpression,jsxModeNeedsExplicitImport:()=>jsxModeNeedsExplicitImport,keywordPart:()=>keywordPart,last:()=>last,lastOrUndefined:()=>lastOrUndefined,length:()=>length,libMap:()=>Vi,libs:()=>zi,lineBreakPart:()=>lineBreakPart,loadModuleFromGlobalCache:()=>loadModuleFromGlobalCache,loadWithModeAwareCache:()=>loadWithModeAwareCache,makeIdentifierFromModuleName:()=>makeIdentifierFromModuleName,makeImport:()=>makeImport,makeStringLiteral:()=>makeStringLiteral,mangleScopedPackageName:()=>mangleScopedPackageName,map:()=>map,mapAllOrFail:()=>mapAllOrFail,mapDefined:()=>mapDefined,mapDefinedIterator:()=>mapDefinedIterator,mapEntries:()=>mapEntries,mapIterator:()=>mapIterator,mapOneOrMany:()=>mapOneOrMany,mapToDisplayParts:()=>mapToDisplayParts,matchFiles:()=>matchFiles,matchPatternOrExact:()=>matchPatternOrExact,matchedText:()=>matchedText,matchesExclude:()=>matchesExclude,matchesExcludeWorker:()=>matchesExcludeWorker,maxBy:()=>maxBy,maybeBind:()=>maybeBind,maybeSetLocalizedDiagnosticMessages:()=>maybeSetLocalizedDiagnosticMessages,memoize:()=>memoize,memoizeOne:()=>memoizeOne,min:()=>min,minAndMax:()=>minAndMax,missingFileModifiedTime:()=>St,modifierToFlag:()=>modifierToFlag,modifiersToFlags:()=>modifiersToFlags,moduleExportNameIsDefault:()=>moduleExportNameIsDefault,moduleExportNameTextEscaped:()=>moduleExportNameTextEscaped,moduleExportNameTextUnescaped:()=>moduleExportNameTextUnescaped,moduleOptionDeclaration:()=>Gi,moduleResolutionIsEqualTo:()=>moduleResolutionIsEqualTo,moduleResolutionNameAndModeGetter:()=>Ja,moduleResolutionOptionDeclarations:()=>eo,moduleResolutionSupportsPackageJsonExportsAndImports:()=>moduleResolutionSupportsPackageJsonExportsAndImports,moduleResolutionUsesNodeModules:()=>moduleResolutionUsesNodeModules,moduleSpecifierToValidIdentifier:()=>moduleSpecifierToValidIdentifier,moduleSpecifiers:()=>Wo,moduleSupportsImportAttributes:()=>moduleSupportsImportAttributes,moduleSymbolToValidIdentifier:()=>moduleSymbolToValidIdentifier,moveEmitHelpers:()=>moveEmitHelpers,moveRangeEnd:()=>moveRangeEnd,moveRangePastDecorators:()=>moveRangePastDecorators,moveRangePastModifiers:()=>moveRangePastModifiers,moveRangePos:()=>moveRangePos,moveSyntheticComments:()=>moveSyntheticComments,mutateMap:()=>mutateMap,mutateMapSkippingNewValues:()=>mutateMapSkippingNewValues,needsParentheses:()=>needsParentheses,needsScopeMarker:()=>needsScopeMarker,newCaseClauseTracker:()=>newCaseClauseTracker,newPrivateEnvironment:()=>newPrivateEnvironment,noEmitNotification:()=>noEmitNotification,noEmitSubstitution:()=>noEmitSubstitution,noTransformers:()=>va,noTruncationMaximumTruncationLength:()=>ln,nodeCanBeDecorated:()=>nodeCanBeDecorated,nodeCoreModules:()=>Ir,nodeHasName:()=>nodeHasName,nodeIsDecorated:()=>nodeIsDecorated,nodeIsMissing:()=>nodeIsMissing,nodeIsPresent:()=>nodeIsPresent,nodeIsSynthesized:()=>nodeIsSynthesized,nodeModuleNameResolver:()=>nodeModuleNameResolver,nodeModulesPathPart:()=>Mo,nodeNextJsonConfigResolver:()=>nodeNextJsonConfigResolver,nodeOrChildIsDecorated:()=>nodeOrChildIsDecorated,nodeOverlapsWithStartEnd:()=>nodeOverlapsWithStartEnd,nodePosToString:()=>nodePosToString,nodeSeenTracker:()=>nodeSeenTracker,nodeStartsNewLexicalEnvironment:()=>nodeStartsNewLexicalEnvironment,noop:()=>noop,noopFileWatcher:()=>Xa,normalizePath:()=>normalizePath,normalizeSlashes:()=>normalizeSlashes,normalizeSpans:()=>normalizeSpans,not:()=>not,notImplemented:()=>notImplemented,notImplementedResolver:()=>Ea,nullNodeConverters:()=>wr,nullParenthesizerRules:()=>Ar,nullTransformationContext:()=>ba,objectAllocator:()=>Bn,operatorPart:()=>operatorPart,optionDeclarations:()=>Qi,optionMapToObject:()=>optionMapToObject,optionsAffectingProgramStructure:()=>no,optionsForBuild:()=>lo,optionsForWatch:()=>qi,optionsHaveChanges:()=>optionsHaveChanges,or:()=>or,orderedRemoveItem:()=>orderedRemoveItem,orderedRemoveItemAt:()=>orderedRemoveItemAt,packageIdToPackageName:()=>packageIdToPackageName,packageIdToString:()=>packageIdToString,parameterIsThisKeyword:()=>parameterIsThisKeyword,parameterNamePart:()=>parameterNamePart,parseBaseNodeFactory:()=>Pi,parseBigInt:()=>parseBigInt,parseBuildCommand:()=>parseBuildCommand,parseCommandLine:()=>parseCommandLine,parseCommandLineWorker:()=>parseCommandLineWorker,parseConfigFileTextToJson:()=>parseConfigFileTextToJson,parseConfigFileWithSystem:()=>parseConfigFileWithSystem,parseConfigHostFromCompilerHostLike:()=>parseConfigHostFromCompilerHostLike,parseCustomTypeOption:()=>parseCustomTypeOption,parseIsolatedEntityName:()=>parseIsolatedEntityName,parseIsolatedJSDocComment:()=>parseIsolatedJSDocComment,parseJSDocTypeExpressionForTests:()=>parseJSDocTypeExpressionForTests,parseJsonConfigFileContent:()=>parseJsonConfigFileContent,parseJsonSourceFileConfigFileContent:()=>parseJsonSourceFileConfigFileContent,parseJsonText:()=>parseJsonText,parseListTypeOption:()=>parseListTypeOption,parseNodeFactory:()=>Di,parseNodeModuleFromPath:()=>parseNodeModuleFromPath,parsePackageName:()=>parsePackageName,parsePseudoBigInt:()=>parsePseudoBigInt,parseValidBigInt:()=>parseValidBigInt,pasteEdits:()=>v_,patchWriteFileEnsuringDirectory:()=>patchWriteFileEnsuringDirectory,pathContainsNodeModules:()=>pathContainsNodeModules,pathIsAbsolute:()=>pathIsAbsolute,pathIsBareSpecifier:()=>pathIsBareSpecifier,pathIsRelative:()=>pathIsRelative,patternText:()=>patternText,performIncrementalCompilation:()=>performIncrementalCompilation,performance:()=>j,positionBelongsToNode:()=>positionBelongsToNode,positionIsASICandidate:()=>positionIsASICandidate,positionIsSynthesized:()=>positionIsSynthesized,positionsAreOnSameLine:()=>positionsAreOnSameLine,preProcessFile:()=>preProcessFile,probablyUsesSemicolons:()=>probablyUsesSemicolons,processCommentPragmas:()=>processCommentPragmas,processPragmasIntoFields:()=>processPragmasIntoFields,processTaggedTemplateExpression:()=>processTaggedTemplateExpression,programContainsEsModules:()=>programContainsEsModules,programContainsModules:()=>programContainsModules,projectReferenceIsEqualTo:()=>projectReferenceIsEqualTo,propertyNamePart:()=>propertyNamePart,pseudoBigIntToString:()=>pseudoBigIntToString,punctuationPart:()=>punctuationPart,pushIfUnique:()=>pushIfUnique,quote:()=>quote,quotePreferenceFromString:()=>quotePreferenceFromString,rangeContainsPosition:()=>rangeContainsPosition,rangeContainsPositionExclusive:()=>rangeContainsPositionExclusive,rangeContainsRange:()=>rangeContainsRange,rangeContainsRangeExclusive:()=>rangeContainsRangeExclusive,rangeContainsStartEnd:()=>rangeContainsStartEnd,rangeEndIsOnSameLineAsRangeStart:()=>rangeEndIsOnSameLineAsRangeStart,rangeEndPositionsAreOnSameLine:()=>rangeEndPositionsAreOnSameLine,rangeEquals:()=>rangeEquals,rangeIsOnSingleLine:()=>rangeIsOnSingleLine,rangeOfNode:()=>rangeOfNode,rangeOfTypeParameters:()=>rangeOfTypeParameters,rangeOverlapsWithStartEnd:()=>rangeOverlapsWithStartEnd,rangeStartIsOnSameLineAsRangeEnd:()=>rangeStartIsOnSameLineAsRangeEnd,rangeStartPositionsAreOnSameLine:()=>rangeStartPositionsAreOnSameLine,readBuilderProgram:()=>readBuilderProgram,readConfigFile:()=>readConfigFile,readJson:()=>readJson,readJsonConfigFile:()=>readJsonConfigFile,readJsonOrUndefined:()=>readJsonOrUndefined,reduceEachLeadingCommentRange:()=>reduceEachLeadingCommentRange,reduceEachTrailingCommentRange:()=>reduceEachTrailingCommentRange,reduceLeft:()=>reduceLeft,reduceLeftIterator:()=>reduceLeftIterator,reducePathComponents:()=>reducePathComponents,refactor:()=>bc,regExpEscape:()=>regExpEscape,regularExpressionFlagToCharacterCode:()=>regularExpressionFlagToCharacterCode,relativeComplement:()=>relativeComplement,removeAllComments:()=>removeAllComments,removeEmitHelper:()=>removeEmitHelper,removeExtension:()=>removeExtension,removeFileExtension:()=>removeFileExtension,removeIgnoredPath:()=>removeIgnoredPath,removeMinAndVersionNumbers:()=>removeMinAndVersionNumbers,removePrefix:()=>removePrefix,removeSuffix:()=>removeSuffix,removeTrailingDirectorySeparator:()=>removeTrailingDirectorySeparator,repeatString:()=>repeatString,replaceElement:()=>replaceElement,replaceFirstStar:()=>replaceFirstStar,resolutionExtensionIsTSOrJson:()=>resolutionExtensionIsTSOrJson,resolveConfigFileProjectName:()=>resolveConfigFileProjectName,resolveJSModule:()=>resolveJSModule,resolveLibrary:()=>resolveLibrary,resolveModuleName:()=>resolveModuleName,resolveModuleNameFromCache:()=>resolveModuleNameFromCache,resolvePackageNameToPackageJson:()=>resolvePackageNameToPackageJson,resolvePath:()=>resolvePath,resolveProjectReferencePath:()=>resolveProjectReferencePath,resolveTripleslashReference:()=>resolveTripleslashReference,resolveTypeReferenceDirective:()=>resolveTypeReferenceDirective,resolvingEmptyArray:()=>an,returnFalse:()=>returnFalse,returnNoopFileWatcher:()=>returnNoopFileWatcher,returnTrue:()=>returnTrue,returnUndefined:()=>returnUndefined,returnsPromise:()=>returnsPromise,rewriteModuleSpecifier:()=>rewriteModuleSpecifier,sameFlatMap:()=>sameFlatMap,sameMap:()=>sameMap,sameMapping:()=>sameMapping,scanTokenAtPosition:()=>scanTokenAtPosition,scanner:()=>Vs,semanticDiagnosticsOptionDeclarations:()=>Xi,serializeCompilerOptions:()=>serializeCompilerOptions,server:()=>Gf,servicesVersion:()=>Ol,setCommentRange:()=>setCommentRange,setConfigFileInOptions:()=>setConfigFileInOptions,setConstantValue:()=>setConstantValue,setEmitFlags:()=>setEmitFlags,setGetSourceFileAsHashVersioned:()=>setGetSourceFileAsHashVersioned,setIdentifierAutoGenerate:()=>setIdentifierAutoGenerate,setIdentifierGeneratedImportReference:()=>setIdentifierGeneratedImportReference,setIdentifierTypeArguments:()=>setIdentifierTypeArguments,setInternalEmitFlags:()=>setInternalEmitFlags,setLocalizedDiagnosticMessages:()=>setLocalizedDiagnosticMessages,setNodeChildren:()=>setNodeChildren,setNodeFlags:()=>setNodeFlags,setObjectAllocator:()=>setObjectAllocator,setOriginalNode:()=>setOriginalNode,setParent:()=>setParent,setParentRecursive:()=>setParentRecursive,setPrivateIdentifier:()=>setPrivateIdentifier,setSnippetElement:()=>setSnippetElement,setSourceMapRange:()=>setSourceMapRange,setStackTraceLimit:()=>setStackTraceLimit,setStartsOnNewLine:()=>setStartsOnNewLine,setSyntheticLeadingComments:()=>setSyntheticLeadingComments,setSyntheticTrailingComments:()=>setSyntheticTrailingComments,setSys:()=>setSys,setSysLog:()=>setSysLog,setTextRange:()=>setTextRange,setTextRangeEnd:()=>setTextRangeEnd,setTextRangePos:()=>setTextRangePos,setTextRangePosEnd:()=>setTextRangePosEnd,setTextRangePosWidth:()=>setTextRangePosWidth,setTokenSourceMapRange:()=>setTokenSourceMapRange,setTypeNode:()=>setTypeNode,setUILocale:()=>setUILocale,setValueDeclaration:()=>setValueDeclaration,shouldAllowImportingTsExtension:()=>shouldAllowImportingTsExtension,shouldPreserveConstEnums:()=>er,shouldRewriteModuleSpecifier:()=>shouldRewriteModuleSpecifier,shouldUseUriStyleNodeCoreModules:()=>shouldUseUriStyleNodeCoreModules,showModuleSpecifier:()=>showModuleSpecifier,signatureHasRestParameter:()=>signatureHasRestParameter,signatureToDisplayParts:()=>signatureToDisplayParts,single:()=>single,singleElementArray:()=>singleElementArray,singleIterator:()=>singleIterator,singleOrMany:()=>singleOrMany,singleOrUndefined:()=>singleOrUndefined,skipAlias:()=>skipAlias,skipConstraint:()=>skipConstraint,skipOuterExpressions:()=>skipOuterExpressions,skipParentheses:()=>skipParentheses,skipPartiallyEmittedExpressions:()=>skipPartiallyEmittedExpressions,skipTrivia:()=>skipTrivia,skipTypeChecking:()=>skipTypeChecking,skipTypeCheckingIgnoringNoCheck:()=>skipTypeCheckingIgnoringNoCheck,skipTypeParentheses:()=>skipTypeParentheses,skipWhile:()=>skipWhile,sliceAfter:()=>sliceAfter,some:()=>some,sortAndDeduplicate:()=>sortAndDeduplicate,sortAndDeduplicateDiagnostics:()=>sortAndDeduplicateDiagnostics,sourceFileAffectingCompilerOptions:()=>to,sourceFileMayBeEmitted:()=>sourceFileMayBeEmitted,sourceMapCommentRegExp:()=>da,sourceMapCommentRegExpDontCareLineStart:()=>la,spacePart:()=>spacePart,spanMap:()=>spanMap,startEndContainsRange:()=>startEndContainsRange,startEndOverlapsWithStartEnd:()=>startEndOverlapsWithStartEnd,startOnNewLine:()=>startOnNewLine,startTracing:()=>G,startsWith:()=>startsWith,startsWithDirectory:()=>startsWithDirectory,startsWithUnderscore:()=>startsWithUnderscore,startsWithUseStrict:()=>startsWithUseStrict,stringContainsAt:()=>stringContainsAt,stringToToken:()=>stringToToken,stripQuotes:()=>stripQuotes,supportedDeclarationExtensions:()=>Sr,supportedJSExtensionsFlat:()=>yr,supportedLocaleDirectories:()=>rn,supportedTSExtensionsFlat:()=>_r,supportedTSImplementationExtensions:()=>xr,suppressLeadingAndTrailingTrivia:()=>suppressLeadingAndTrailingTrivia,suppressLeadingTrivia:()=>suppressLeadingTrivia,suppressTrailingTrivia:()=>suppressTrailingTrivia,symbolEscapedNameNoDefault:()=>symbolEscapedNameNoDefault,symbolName:()=>symbolName,symbolNameNoDefault:()=>symbolNameNoDefault,symbolToDisplayParts:()=>symbolToDisplayParts,sys:()=>kt,sysLog:()=>sysLog,tagNamesAreEquivalent:()=>tagNamesAreEquivalent,takeWhile:()=>takeWhile,targetOptionDeclaration:()=>Ki,targetToLibMap:()=>tn,testFormatSettings:()=>Os,textChangeRangeIsUnchanged:()=>textChangeRangeIsUnchanged,textChangeRangeNewSpan:()=>textChangeRangeNewSpan,textChanges:()=>$m,textOrKeywordPart:()=>textOrKeywordPart,textPart:()=>textPart,textRangeContainsPositionInclusive:()=>textRangeContainsPositionInclusive,textRangeContainsTextSpan:()=>textRangeContainsTextSpan,textRangeIntersectsWithTextSpan:()=>textRangeIntersectsWithTextSpan,textSpanContainsPosition:()=>textSpanContainsPosition,textSpanContainsTextRange:()=>textSpanContainsTextRange,textSpanContainsTextSpan:()=>textSpanContainsTextSpan,textSpanEnd:()=>textSpanEnd,textSpanIntersection:()=>textSpanIntersection,textSpanIntersectsWith:()=>textSpanIntersectsWith,textSpanIntersectsWithPosition:()=>textSpanIntersectsWithPosition,textSpanIntersectsWithTextSpan:()=>textSpanIntersectsWithTextSpan,textSpanIsEmpty:()=>textSpanIsEmpty,textSpanOverlap:()=>textSpanOverlap,textSpanOverlapsWith:()=>textSpanOverlapsWith,textSpansEqual:()=>textSpansEqual,textToKeywordObj:()=>wt,timestamp:()=>B,toArray:()=>toArray,toBuilderFileEmit:()=>toBuilderFileEmit,toBuilderStateFileInfoForMultiEmit:()=>toBuilderStateFileInfoForMultiEmit,toEditorSettings:()=>toEditorSettings,toFileNameLowerCase:()=>toFileNameLowerCase,toPath:()=>toPath,toProgramEmitPending:()=>toProgramEmitPending,toSorted:()=>toSorted,tokenIsIdentifierOrKeyword:()=>tokenIsIdentifierOrKeyword,tokenIsIdentifierOrKeywordOrGreaterThan:()=>tokenIsIdentifierOrKeywordOrGreaterThan,tokenToString:()=>tokenToString,trace:()=>trace,tracing:()=>J,tracingEnabled:()=>W,transferSourceFileChildren:()=>transferSourceFileChildren,transform:()=>transform,transformClassFields:()=>transformClassFields,transformDeclarations:()=>transformDeclarations,transformECMAScriptModule:()=>transformECMAScriptModule,transformES2015:()=>transformES2015,transformES2016:()=>transformES2016,transformES2017:()=>transformES2017,transformES2018:()=>transformES2018,transformES2019:()=>transformES2019,transformES2020:()=>transformES2020,transformES2021:()=>transformES2021,transformESDecorators:()=>transformESDecorators,transformESNext:()=>transformESNext,transformGenerators:()=>transformGenerators,transformImpliedNodeFormatDependentModule:()=>transformImpliedNodeFormatDependentModule,transformJsx:()=>transformJsx,transformLegacyDecorators:()=>transformLegacyDecorators,transformModule:()=>transformModule,transformNamedEvaluation:()=>transformNamedEvaluation,transformNodes:()=>transformNodes,transformSystemModule:()=>transformSystemModule,transformTypeScript:()=>transformTypeScript,transpile:()=>transpile,transpileDeclaration:()=>transpileDeclaration,transpileModule:()=>transpileModule,transpileOptionValueCompilerOptions:()=>ro,tryAddToSet:()=>tryAddToSet,tryAndIgnoreErrors:()=>tryAndIgnoreErrors,tryCast:()=>tryCast,tryDirectoryExists:()=>tryDirectoryExists,tryExtractTSExtension:()=>tryExtractTSExtension,tryFileExists:()=>tryFileExists,tryGetClassExtendingExpressionWithTypeArguments:()=>tryGetClassExtendingExpressionWithTypeArguments,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>tryGetClassImplementingOrExtendingExpressionWithTypeArguments,tryGetDirectories:()=>tryGetDirectories,tryGetExtensionFromPath:()=>tryGetExtensionFromPath2,tryGetImportFromModuleSpecifier:()=>tryGetImportFromModuleSpecifier,tryGetJSDocSatisfiesTypeNode:()=>tryGetJSDocSatisfiesTypeNode,tryGetModuleNameFromFile:()=>tryGetModuleNameFromFile,tryGetModuleSpecifierFromDeclaration:()=>tryGetModuleSpecifierFromDeclaration,tryGetNativePerformanceHooks:()=>tryGetNativePerformanceHooks,tryGetPropertyAccessOrIdentifierToString:()=>tryGetPropertyAccessOrIdentifierToString,tryGetPropertyNameOfBindingOrAssignmentElement:()=>tryGetPropertyNameOfBindingOrAssignmentElement,tryGetSourceMappingURL:()=>tryGetSourceMappingURL,tryGetTextOfPropertyName:()=>tryGetTextOfPropertyName,tryParseJson:()=>tryParseJson,tryParsePattern:()=>tryParsePattern,tryParsePatterns:()=>tryParsePatterns,tryParseRawSourceMap:()=>tryParseRawSourceMap,tryReadDirectory:()=>tryReadDirectory,tryReadFile:()=>tryReadFile,tryRemoveDirectoryPrefix:()=>tryRemoveDirectoryPrefix,tryRemoveExtension:()=>tryRemoveExtension,tryRemovePrefix:()=>tryRemovePrefix,tryRemoveSuffix:()=>tryRemoveSuffix,tscBuildOption:()=>co,typeAcquisitionDeclarations:()=>uo,typeAliasNamePart:()=>typeAliasNamePart,typeDirectiveIsEqualTo:()=>typeDirectiveIsEqualTo,typeKeywords:()=>Ks,typeParameterNamePart:()=>typeParameterNamePart,typeToDisplayParts:()=>typeToDisplayParts,unchangedPollThresholds:()=>bt,unchangedTextChangeRange:()=>nn,unescapeLeadingUnderscores:()=>unescapeLeadingUnderscores,unmangleScopedPackageName:()=>unmangleScopedPackageName,unorderedRemoveItem:()=>unorderedRemoveItem,unprefixedNodeCoreModules:()=>Pr,unreachableCodeIsError:()=>unreachableCodeIsError,unsetNodeChildren:()=>unsetNodeChildren,unusedLabelIsError:()=>unusedLabelIsError,unwrapInnermostStatementOfLabel:()=>unwrapInnermostStatementOfLabel,unwrapParenthesizedExpression:()=>unwrapParenthesizedExpression,updateErrorForNoInputFiles:()=>updateErrorForNoInputFiles,updateLanguageServiceSourceFile:()=>updateLanguageServiceSourceFile,updateMissingFilePathsWatch:()=>updateMissingFilePathsWatch,updateResolutionField:()=>updateResolutionField,updateSharedExtendedConfigFileWatcher:()=>updateSharedExtendedConfigFileWatcher,updateSourceFile:()=>updateSourceFile,updateWatchingWildcardDirectories:()=>updateWatchingWildcardDirectories,usingSingleLineStringWriter:()=>usingSingleLineStringWriter,utf16EncodeAsString:()=>utf16EncodeAsString,validateLocaleAndSetLanguage:()=>validateLocaleAndSetLanguage,version:()=>s,versionMajorMinor:()=>a,visitArray:()=>visitArray,visitCommaListElements:()=>visitCommaListElements,visitEachChild:()=>visitEachChild,visitFunctionBody:()=>visitFunctionBody,visitIterationBody:()=>visitIterationBody,visitLexicalEnvironment:()=>visitLexicalEnvironment,visitNode:()=>visitNode,visitNodes:()=>visitNodes2,visitParameterList:()=>visitParameterList,walkUpBindingElementsAndPatterns:()=>walkUpBindingElementsAndPatterns,walkUpOuterExpressions:()=>walkUpOuterExpressions,walkUpParenthesizedExpressions:()=>walkUpParenthesizedExpressions,walkUpParenthesizedTypes:()=>walkUpParenthesizedTypes,walkUpParenthesizedTypesAndGetParentAndChild:()=>walkUpParenthesizedTypesAndGetParentAndChild,whitespaceOrMapCommentRegExp:()=>pa,writeCommentRange:()=>writeCommentRange,writeFile:()=>writeFile,writeFileEnsuringDirectories:()=>writeFileEnsuringDirectories,zipWith:()=>zipWith}),e.exports=o;var a="5.9",s="5.9.2",c=(e=>(e[e.LessThan=-1]="LessThan",e[e.EqualTo=0]="EqualTo",e[e.GreaterThan=1]="GreaterThan",e))(c||{}),l=[],d=new Map;function length(e){return void 0!==e?e.length:0}function forEach(e,t){if(void 0!==e)for(let n=0;n<e.length;n++){const r=t(e[n],n);if(r)return r}}function forEachRight(e,t){if(void 0!==e)for(let n=e.length-1;n>=0;n--){const r=t(e[n],n);if(r)return r}}function firstDefined(e,t){if(void 0!==e)for(let n=0;n<e.length;n++){const r=t(e[n],n);if(void 0!==r)return r}}function firstDefinedIterator(e,t){for(const n of e){const e=t(n);if(void 0!==e)return e}}function reduceLeftIterator(e,t,n){let r=n;if(e){let n=0;for(const i of e)r=t(r,i,n),n++}return r}function zipWith(e,t,n){const r=[];h.assertEqual(e.length,t.length);for(let i=0;i<e.length;i++)r.push(n(e[i],t[i],i));return r}function intersperse(e,t){if(e.length<=1)return e;const n=[];for(let r=0,i=e.length;r<i;r++)0!==r&&n.push(t),n.push(e[r]);return n}function every(e,t){if(void 0!==e)for(let n=0;n<e.length;n++)if(!t(e[n],n))return!1;return!0}function find(e,t,n){if(void 0!==e)for(let r=n??0;r<e.length;r++){const n=e[r];if(t(n,r))return n}}function findLast(e,t,n){if(void 0!==e)for(let r=n??e.length-1;r>=0;r--){const n=e[r];if(t(n,r))return n}}function findIndex(e,t,n){if(void 0===e)return-1;for(let r=n??0;r<e.length;r++)if(t(e[r],r))return r;return-1}function findLastIndex(e,t,n){if(void 0===e)return-1;for(let r=n??e.length-1;r>=0;r--)if(t(e[r],r))return r;return-1}function contains(e,t,n=equateValues){if(void 0!==e)for(let r=0;r<e.length;r++)if(n(e[r],t))return!0;return!1}function indexOfAnyCharCode(e,t,n){for(let r=n??0;r<e.length;r++)if(contains(t,e.charCodeAt(r)))return r;return-1}function countWhere(e,t){let n=0;if(void 0!==e)for(let r=0;r<e.length;r++){t(e[r],r)&&n++}return n}function filter(e,t){if(void 0!==e){const n=e.length;let r=0;for(;r<n&&t(e[r]);)r++;if(r<n){const i=e.slice(0,r);for(r++;r<n;){const n=e[r];t(n)&&i.push(n),r++}return i}}return e}function filterMutate(e,t){let n=0;for(let r=0;r<e.length;r++)t(e[r],r,e)&&(e[n]=e[r],n++);e.length=n}function clear(e){e.length=0}function map(e,t){let n;if(void 0!==e){n=[];for(let r=0;r<e.length;r++)n.push(t(e[r],r))}return n}function*mapIterator(e,t){for(const n of e)yield t(n)}function sameMap(e,t){if(void 0!==e)for(let n=0;n<e.length;n++){const r=e[n],i=t(r,n);if(r!==i){const r=e.slice(0,n);for(r.push(i),n++;n<e.length;n++)r.push(t(e[n],n));return r}}return e}function flatten(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n];r&&(isArray(r)?addRange(t,r):t.push(r))}return t}function flatMap(e,t){let n;if(void 0!==e)for(let r=0;r<e.length;r++){const i=t(e[r],r);i&&(n=isArray(i)?addRange(n,i):append(n,i))}return n??l}function flatMapToMutable(e,t){const n=[];if(void 0!==e)for(let r=0;r<e.length;r++){const i=t(e[r],r);i&&(isArray(i)?addRange(n,i):n.push(i))}return n}function*flatMapIterator(e,t){for(const n of e){const e=t(n);e&&(yield*e)}}function sameFlatMap(e,t){let n;if(void 0!==e)for(let r=0;r<e.length;r++){const i=e[r],o=t(i,r);(n||i!==o||isArray(o))&&(n||(n=e.slice(0,r)),isArray(o)?addRange(n,o):n.push(o))}return n??e}function mapAllOrFail(e,t){const n=[];for(let r=0;r<e.length;r++){const i=t(e[r],r);if(void 0===i)return;n.push(i)}return n}function mapDefined(e,t){const n=[];if(void 0!==e)for(let r=0;r<e.length;r++){const i=t(e[r],r);void 0!==i&&n.push(i)}return n}function*mapDefinedIterator(e,t){for(const n of e){const e=t(n);void 0!==e&&(yield e)}}function getOrUpdate(e,t,n){if(e.has(t))return e.get(t);const r=n();return e.set(t,r),r}function tryAddToSet(e,t){return!e.has(t)&&(e.add(t),!0)}function*singleIterator(e){yield e}function spanMap(e,t,n){let r;if(void 0!==e){r=[];const i=e.length;let o,a,s=0,c=0;for(;s<i;){for(;c<i;){if(a=t(e[c],c),0===c)o=a;else if(a!==o)break;c++}if(s<c){const t=n(e.slice(s,c),o,s,c);t&&r.push(t),s=c}o=a,c++}}return r}function mapEntries(e,t){if(void 0===e)return;const n=new Map;return e.forEach((e,r)=>{const[i,o]=t(r,e);n.set(i,o)}),n}function some(e,t){if(void 0!==e){if(void 0===t)return e.length>0;for(let n=0;n<e.length;n++)if(t(e[n]))return!0}return!1}function getRangesWhere(e,t,n){let r;for(let i=0;i<e.length;i++)t(e[i])?r=void 0===r?i:r:void 0!==r&&(n(r,i),r=void 0);void 0!==r&&n(r,e.length)}function concatenate(e,t){return void 0===t||0===t.length?e:void 0===e||0===e.length?t:[...e,...t]}function selectIndex(e,t){return t}function indicesOf(e){return e.map(selectIndex)}function deduplicateRelational(e,t,n){const r=indicesOf(e);!function stableSortIndices(e,t,n){t.sort((t,r)=>n(e[t],e[r])||compareValues(t,r))}(e,r,n);let i=e[r[0]];const o=[r[0]];for(let n=1;n<r.length;n++){const a=r[n],s=e[a];t(i,s)||(o.push(a),i=s)}return o.sort(),o.map(t=>e[t])}function deduplicate(e,t,n){return 0===e.length?[]:1===e.length?e.slice():n?deduplicateRelational(e,t,n):function deduplicateEquality(e,t){const n=[];for(let r=0;r<e.length;r++)pushIfUnique(n,e[r],t);return n}(e,t)}function createSortedArray(){return[]}function insertSorted(e,t,n,r,i){if(0===e.length)return e.push(t),!0;const o=binarySearch(e,t,identity,n);if(o<0){if(r&&!i){const n=~o;if(n>0&&r(t,e[n-1]))return!1;if(n<e.length&&r(t,e[n]))return e.splice(n,1,t),!0}return e.splice(~o,0,t),!0}return!!i&&(e.splice(o,0,t),!0)}function sortAndDeduplicate(e,t,n){return function deduplicateSorted(e,t){if(0===e.length)return l;let n=e[0];const r=[n];for(let i=1;i<e.length;i++){const o=e[i];switch(t(o,n)){case!0:case 0:continue;case-1:return h.fail("Array is unsorted.")}r.push(n=o)}return r}(toSorted(e,t),n??t??compareStringsCaseSensitive)}function arrayIsEqualTo(e,t,n=equateValues){if(void 0===e||void 0===t)return e===t;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r],r))return!1;return!0}function compact(e){let t;if(void 0!==e)for(let n=0;n<e.length;n++){const r=e[n];(t??!r)&&(t??(t=e.slice(0,n)),r&&t.push(r))}return t??e}function relativeComplement(e,t,n){if(!t||!e||0===t.length||0===e.length)return t;const r=[];e:for(let i=0,o=0;o<t.length;o++){o>0&&h.assertGreaterThanOrEqual(n(t[o],t[o-1]),0);t:for(const a=i;i<e.length;i++)switch(i>a&&h.assertGreaterThanOrEqual(n(e[i],e[i-1]),0),n(t[o],e[i])){case-1:r.push(t[o]);continue e;case 0:continue e;case 1:continue t}}return r}function append(e,t){return void 0===t?e:void 0===e?[t]:(e.push(t),e)}function combine(e,t){return void 0===e?t:void 0===t?e:isArray(e)?isArray(t)?concatenate(e,t):append(e,t):isArray(t)?append(t,e):[e,t]}function toOffset(e,t){return t<0?e.length+t:t}function addRange(e,t,n,r){if(void 0===t||0===t.length)return e;if(void 0===e)return t.slice(n,r);n=void 0===n?0:toOffset(t,n),r=void 0===r?t.length:toOffset(t,r);for(let i=n;i<r&&i<t.length;i++)void 0!==t[i]&&e.push(t[i]);return e}function pushIfUnique(e,t,n){return!contains(e,t,n)&&(e.push(t),!0)}function appendIfUnique(e,t,n){return void 0!==e?(pushIfUnique(e,t,n),e):[t]}function toSorted(e,t){return 0===e.length?l:e.slice().sort(t)}function*arrayReverseIterator(e){for(let t=e.length-1;t>=0;t--)yield e[t]}function rangeEquals(e,t,n,r){for(;n<r;){if(e[n]!==t[n])return!1;n++}return!0}var p=Array.prototype.at?(e,t)=>null==e?void 0:e.at(t):(e,t)=>{if(void 0!==e&&(t=toOffset(e,t))<e.length)return e[t]};function firstOrUndefined(e){return void 0===e||0===e.length?void 0:e[0]}function firstOrUndefinedIterator(e){if(void 0!==e)for(const t of e)return t}function first(e){return h.assert(0!==e.length),e[0]}function firstIterator(e){for(const t of e)return t;h.fail("iterator is empty")}function lastOrUndefined(e){return void 0===e||0===e.length?void 0:e[e.length-1]}function last(e){return h.assert(0!==e.length),e[e.length-1]}function singleOrUndefined(e){return void 0!==e&&1===e.length?e[0]:void 0}function single(e){return h.checkDefined(singleOrUndefined(e))}function singleOrMany(e){return void 0!==e&&1===e.length?e[0]:e}function replaceElement(e,t,n){const r=e.slice(0);return r[t]=n,r}function binarySearch(e,t,n,r,i){return binarySearchKey(e,n(t),n,r,i)}function binarySearchKey(e,t,n,r,i){if(!some(e))return-1;let o=i??0,a=e.length-1;for(;o<=a;){const i=o+(a-o>>1);switch(r(n(e[i],i),t)){case-1:o=i+1;break;case 0:return i;case 1:a=i-1}}return~o}function reduceLeft(e,t,n,r,i){if(e&&e.length>0){const o=e.length;if(o>0){let a=void 0===r||r<0?0:r;const s=void 0===i||a+i>o-1?o-1:a+i;let c;for(arguments.length<=2?(c=e[a],a++):c=n;a<=s;)c=t(c,e[a],a),a++;return c}}return n}var u=Object.prototype.hasOwnProperty;function hasProperty(e,t){return u.call(e,t)}function getProperty(e,t){return u.call(e,t)?e[t]:void 0}function getOwnKeys(e){const t=[];for(const n in e)u.call(e,n)&&t.push(n);return t}function getAllKeys(e){const t=[];do{const n=Object.getOwnPropertyNames(e);for(const e of n)pushIfUnique(t,e)}while(e=Object.getPrototypeOf(e));return t}function getOwnValues(e){const t=[];for(const n in e)u.call(e,n)&&t.push(e[n]);return t}function arrayOf(e,t){const n=new Array(e);for(let r=0;r<e;r++)n[r]=t(r);return n}function arrayFrom(e,t){const n=[];for(const r of e)n.push(t?t(r):r);return n}function assign(e,...t){for(const n of t)if(void 0!==n)for(const t in n)hasProperty(n,t)&&(e[t]=n[t]);return e}function equalOwnProperties(e,t,n=equateValues){if(e===t)return!0;if(!e||!t)return!1;for(const r in e)if(u.call(e,r)){if(!u.call(t,r))return!1;if(!n(e[r],t[r]))return!1}for(const n in t)if(u.call(t,n)&&!u.call(e,n))return!1;return!0}function arrayToMap(e,t,n=identity){const r=new Map;for(let i=0;i<e.length;i++){const o=e[i],a=t(o);void 0!==a&&r.set(a,n(o))}return r}function arrayToNumericMap(e,t,n=identity){const r=[];for(let i=0;i<e.length;i++){const o=e[i];r[t(o)]=n(o)}return r}function arrayToMultiMap(e,t,n=identity){const r=createMultiMap();for(let i=0;i<e.length;i++){const o=e[i];r.add(t(o),n(o))}return r}function group(e,t,n=identity){return arrayFrom(arrayToMultiMap(e,t).values(),n)}function groupBy(e,t){const n={};if(void 0!==e)for(let r=0;r<e.length;r++){const i=e[r],o=`${t(i)}`;(n[o]??(n[o]=[])).push(i)}return n}function clone(e){const t={};for(const n in e)u.call(e,n)&&(t[n]=e[n]);return t}function extend(e,t){const n={};for(const e in t)u.call(t,e)&&(n[e]=t[e]);for(const t in e)u.call(e,t)&&(n[t]=e[t]);return n}function copyProperties(e,t){for(const n in t)u.call(t,n)&&(e[n]=t[n])}function maybeBind(e,t){return null==t?void 0:t.bind(e)}function createMultiMap(){const e=new Map;return e.add=multiMapAdd,e.remove=multiMapRemove,e}function multiMapAdd(e,t){let n=this.get(e);return void 0!==n?n.push(t):this.set(e,n=[t]),n}function multiMapRemove(e,t){const n=this.get(e);void 0!==n&&(unorderedRemoveItem(n,t),n.length||this.delete(e))}function createQueue(e){const t=(null==e?void 0:e.slice())??[];let n=0;function isEmpty(){return n===t.length}return{enqueue:function enqueue(...e){t.push(...e)},dequeue:function dequeue(){if(isEmpty())throw new Error("Queue is empty");const e=t[n];if(t[n]=void 0,n++,n>100&&n>t.length>>1){const e=t.length-n;t.copyWithin(0,n),t.length=e,n=0}return e},isEmpty}}function createSet(e,t){const n=new Map;let r=0;function*getElementIterator(){for(const e of n.values())isArray(e)?yield*e:yield e}const i={has(r){const i=e(r);if(!n.has(i))return!1;const o=n.get(i);return isArray(o)?contains(o,r,t):t(o,r)},add(i){const o=e(i);if(n.has(o)){const e=n.get(o);if(isArray(e))contains(e,i,t)||(e.push(i),r++);else{const a=e;t(a,i)||(n.set(o,[a,i]),r++)}}else n.set(o,i),r++;return this},delete(i){const o=e(i);if(!n.has(o))return!1;const a=n.get(o);if(isArray(a)){for(let e=0;e<a.length;e++)if(t(a[e],i))return 1===a.length?n.delete(o):2===a.length?n.set(o,a[1-e]):unorderedRemoveItemAt(a,e),r--,!0}else{if(t(a,i))return n.delete(o),r--,!0}return!1},clear(){n.clear(),r=0},get size(){return r},forEach(e){for(const t of arrayFrom(n.values()))if(isArray(t))for(const n of t)e(n,n,i);else{e(t,t,i)}},keys:()=>getElementIterator(),values:()=>getElementIterator(),*entries(){for(const e of getElementIterator())yield[e,e]},[Symbol.iterator]:()=>getElementIterator(),[Symbol.toStringTag]:n[Symbol.toStringTag]};return i}function isArray(e){return Array.isArray(e)}function toArray(e){return isArray(e)?e:[e]}function isString(e){return"string"==typeof e}function isNumber(e){return"number"==typeof e}function tryCast(e,t){return void 0!==e&&t(e)?e:void 0}function cast(e,t){return void 0!==e&&t(e)?e:h.fail(`Invalid cast. The supplied value ${e} did not pass the test '${h.getFunctionName(t)}'.`)}function noop(e){}function returnFalse(){return!1}function returnTrue(){return!0}function returnUndefined(){}function identity(e){return e}function toLowerCase(e){return e.toLowerCase()}var m=/[^\u0130\u0131\u00DFa-z0-9\\/:\-_. ]+/g;function toFileNameLowerCase(e){return m.test(e)?e.replace(m,toLowerCase):e}function notImplemented(){throw new Error("Not implemented")}function memoize(e){let t;return()=>(e&&(t=e(),e=void 0),t)}function memoizeOne(e){const t=new Map;return n=>{const r=`${typeof n}:${n}`;let i=t.get(r);return void 0!==i||t.has(r)||(i=e(n),t.set(r,i)),i}}var _=(e=>(e[e.None=0]="None",e[e.Normal=1]="Normal",e[e.Aggressive=2]="Aggressive",e[e.VeryAggressive=3]="VeryAggressive",e))(_||{});function equateValues(e,t){return e===t}function equateStringsCaseInsensitive(e,t){return e===t||void 0!==e&&void 0!==t&&e.toUpperCase()===t.toUpperCase()}function equateStringsCaseSensitive(e,t){return equateValues(e,t)}function compareComparableValues(e,t){return e===t?0:void 0===e?-1:void 0===t?1:e<t?-1:1}function compareValues(e,t){return compareComparableValues(e,t)}function compareTextSpans(e,t){return compareValues(null==e?void 0:e.start,null==t?void 0:t.start)||compareValues(null==e?void 0:e.length,null==t?void 0:t.length)}function maxBy(e,t,n){for(let r=0;r<e.length;r++)t=Math.max(t,n(e[r]));return t}function min(e,t){return reduceLeft(e,(e,n)=>-1===t(e,n)?e:n)}function compareStringsCaseInsensitive(e,t){return e===t?0:void 0===e?-1:void 0===t?1:(e=e.toUpperCase())<(t=t.toUpperCase())?-1:e>t?1:0}function compareStringsCaseInsensitiveEslintCompatible(e,t){return e===t?0:void 0===e?-1:void 0===t?1:(e=e.toLowerCase())<(t=t.toLowerCase())?-1:e>t?1:0}function compareStringsCaseSensitive(e,t){return compareComparableValues(e,t)}function getStringComparer(e){return e?compareStringsCaseInsensitive:compareStringsCaseSensitive}var f,g,y=(()=>function createIntlCollatorStringComparer(e){const t=new Intl.Collator(e,{usage:"sort",sensitivity:"variant",numeric:!0}).compare;return(e,n)=>function compareWithCallback(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=n(e,t);return r<0?-1:r>0?1:0}(e,n,t)})();function getUILocale(){return g}function setUILocale(e){g!==e&&(g=e,f=void 0)}function compareStringsCaseSensitiveUI(e,t){return f??(f=y(g)),f(e,t)}function compareProperties(e,t,n,r){return e===t?0:void 0===e?-1:void 0===t?1:r(e[n],t[n])}function compareBooleans(e,t){return compareValues(e?1:0,t?1:0)}function getSpellingSuggestion(e,t,n){const r=Math.max(2,Math.floor(.34*e.length));let i,o=Math.floor(.4*e.length)+1;for(const a of t){const t=n(a);if(void 0!==t&&Math.abs(t.length-e.length)<=r){if(t===e)continue;if(t.length<3&&t.toLowerCase()!==e.toLowerCase())continue;const n=levenshteinWithMax(e,t,o-.1);if(void 0===n)continue;h.assert(n<o),o=n,i=a}}return i}function levenshteinWithMax(e,t,n){let r=new Array(t.length+1),i=new Array(t.length+1);const o=n+.01;for(let e=0;e<=t.length;e++)r[e]=e;for(let a=1;a<=e.length;a++){const s=e.charCodeAt(a-1),c=Math.ceil(a>n?a-n:1),l=Math.floor(t.length>n+a?n+a:t.length);i[0]=a;let d=a;for(let e=1;e<c;e++)i[e]=o;for(let n=c;n<=l;n++){const o=e[a-1].toLowerCase()===t[n-1].toLowerCase()?r[n-1]+.1:r[n-1]+2,c=s===t.charCodeAt(n-1)?r[n-1]:Math.min(r[n]+1,i[n-1]+1,o);i[n]=c,d=Math.min(d,c)}for(let e=l+1;e<=t.length;e++)i[e]=o;if(d>n)return;const p=r;r=i,i=p}const a=r[t.length];return a>n?void 0:a}function endsWith(e,t,n){const r=e.length-t.length;return r>=0&&(n?equateStringsCaseInsensitive(e.slice(r),t):e.indexOf(t,r)===r)}function removeSuffix(e,t){return endsWith(e,t)?e.slice(0,e.length-t.length):e}function tryRemoveSuffix(e,t){return endsWith(e,t)?e.slice(0,e.length-t.length):void 0}function removeMinAndVersionNumbers(e){let t=e.length;for(let n=t-1;n>0;n--){let r=e.charCodeAt(n);if(r>=48&&r<=57)do{--n,r=e.charCodeAt(n)}while(n>0&&r>=48&&r<=57);else{if(!(n>4)||110!==r&&78!==r)break;if(--n,r=e.charCodeAt(n),105!==r&&73!==r)break;if(--n,r=e.charCodeAt(n),109!==r&&77!==r)break;--n,r=e.charCodeAt(n)}if(45!==r&&46!==r)break;t=n}return t===e.length?e:e.slice(0,t)}function orderedRemoveItem(e,t){for(let n=0;n<e.length;n++)if(e[n]===t)return orderedRemoveItemAt(e,n),!0;return!1}function orderedRemoveItemAt(e,t){for(let n=t;n<e.length-1;n++)e[n]=e[n+1];e.pop()}function unorderedRemoveItemAt(e,t){e[t]=e[e.length-1],e.pop()}function unorderedRemoveItem(e,t){return function unorderedRemoveFirstItemWhere(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return unorderedRemoveItemAt(e,n),!0;return!1}(e,e=>e===t)}function createGetCanonicalFileName(e){return e?identity:toFileNameLowerCase}function patternText({prefix:e,suffix:t}){return`${e}*${t}`}function matchedText(e,t){return h.assert(isPatternMatch(e,t)),t.substring(e.prefix.length,t.length-e.suffix.length)}function findBestPatternMatch(e,t,n){let r,i=-1;for(let o=0;o<e.length;o++){const a=e[o],s=t(a);s.prefix.length>i&&isPatternMatch(s,n)&&(i=s.prefix.length,r=a)}return r}function startsWith(e,t,n){return n?equateStringsCaseInsensitive(e.slice(0,t.length),t):0===e.lastIndexOf(t,0)}function removePrefix(e,t){return startsWith(e,t)?e.substr(t.length):e}function tryRemovePrefix(e,t,n=identity){return startsWith(n(e),n(t))?e.substring(t.length):void 0}function isPatternMatch({prefix:e,suffix:t},n){return n.length>=e.length+t.length&&startsWith(n,e)&&endsWith(n,t)}function and(e,t){return n=>e(n)&&t(n)}function or(...e){return(...t)=>{let n;for(const r of e)if(n=r(...t),n)return n;return n}}function not(e){return(...t)=>!e(...t)}function assertType(e){}function singleElementArray(e){return void 0===e?void 0:[e]}function enumerateInsertsAndDeletes(e,t,n,r,i,o){o??(o=noop);let a=0,s=0;const c=e.length,l=t.length;let d=!1;for(;a<c&&s<l;){const c=e[a],l=t[s],p=n(c,l);-1===p?(r(c),a++,d=!0):1===p?(i(l),s++,d=!0):(o(l,c),a++,s++)}for(;a<c;)r(e[a++]),d=!0;for(;s<l;)i(t[s++]),d=!0;return d}function cartesianProduct(e){const t=[];return cartesianProductWorker(e,t,void 0,0),t}function cartesianProductWorker(e,t,n,r){for(const i of e[r]){let o;n?(o=n.slice(),o.push(i)):o=[i],r===e.length-1?t.push(o):cartesianProductWorker(e,t,o,r+1)}}function takeWhile(e,t){if(void 0!==e){const n=e.length;let r=0;for(;r<n&&t(e[r]);)r++;return e.slice(0,r)}}function skipWhile(e,t){if(void 0!==e){const n=e.length;let r=0;for(;r<n&&t(e[r]);)r++;return e.slice(r)}}function isNodeLikeSystem(){return"undefined"!=typeof process&&!!process.nextTick&&!process.browser&&!0}var h,T=(e=>(e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Info=3]="Info",e[e.Verbose=4]="Verbose",e))(T||{});(e=>{let t=0;function shouldLog(t){return e.currentLogLevel<=t}function logMessage(t,n){e.loggingHost&&shouldLog(t)&&e.loggingHost.log(t,n)}function log(e){logMessage(3,e)}var n;e.currentLogLevel=2,e.isDebugging=!1,e.shouldLog=shouldLog,e.log=log,(n=log=e.log||(e.log={})).error=function error2(e){logMessage(1,e)},n.warn=function warn(e){logMessage(2,e)},n.log=function log2(e){logMessage(3,e)},n.trace=function trace2(e){logMessage(4,e)};const r={};function shouldAssert(e){return t>=e}function shouldAssertFunction(t,n){return!!shouldAssert(t)||(r[n]={level:t,assertion:e[n]},e[n]=noop,!1)}function fail(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||fail),n}function assert(e,t,n,r){e||(t=t?`False expression: ${t}`:"False expression.",n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),fail(t,r||assert))}function assertIsDefined(e,t,n){null==e&&fail(t,n||assertIsDefined)}function assertEachIsDefined(e,t,n){for(const r of e)assertIsDefined(r,t,n||assertEachIsDefined)}function assertNever(e,t="Illegal value:",n){return fail(`${t} ${"object"==typeof e&&hasProperty(e,"kind")&&hasProperty(e,"pos")?"SyntaxKind: "+formatSyntaxKind(e.kind):JSON.stringify(e)}`,n||assertNever)}function type(e){}function getFunctionName(e){if("function"!=typeof e)return"";if(hasProperty(e,"name"))return e.name;{const t=Function.prototype.toString.call(e),n=/^function\s+([\w$]+)\s*\(/.exec(t);return n?n[1]:""}}function formatEnum(e=0,t,n){const r=function getEnumMembers(e){const t=i.get(e);if(t)return t;const n=[];for(const t in e){const r=e[t];"number"==typeof r&&n.push([r,t])}const r=toSorted(n,(e,t)=>compareValues(e[0],t[0]));return i.set(e,r),r}(t);if(0===e)return r.length>0&&0===r[0][0]?r[0][1]:"0";if(n){const t=[];let n=e;for(const[i,o]of r){if(i>e)break;0!==i&&i&e&&(t.push(o),n&=~i)}if(0===n)return t.join("|")}else for(const[t,n]of r)if(t===e)return n;return e.toString()}e.getAssertionLevel=function getAssertionLevel(){return t},e.setAssertionLevel=function setAssertionLevel(n){const i=t;if(t=n,n>i)for(const t of getOwnKeys(r)){const i=r[t];void 0!==i&&e[t]!==i.assertion&&n>=i.level&&(e[t]=i,r[t]=void 0)}},e.shouldAssert=shouldAssert,e.fail=fail,e.failBadSyntaxKind=function failBadSyntaxKind(e,t,n){return fail(`${t||"Unexpected node."}\r\nNode ${formatSyntaxKind(e.kind)} was unexpected.`,n||failBadSyntaxKind)},e.assert=assert,e.assertEqual=function assertEqual(e,t,n,r,i){if(e!==t){fail(`Expected ${e} === ${t}. ${n?r?`${n} ${r}`:n:""}`,i||assertEqual)}},e.assertLessThan=function assertLessThan(e,t,n,r){e>=t&&fail(`Expected ${e} < ${t}. ${n||""}`,r||assertLessThan)},e.assertLessThanOrEqual=function assertLessThanOrEqual(e,t,n){e>t&&fail(`Expected ${e} <= ${t}`,n||assertLessThanOrEqual)},e.assertGreaterThanOrEqual=function assertGreaterThanOrEqual(e,t,n){e<t&&fail(`Expected ${e} >= ${t}`,n||assertGreaterThanOrEqual)},e.assertIsDefined=assertIsDefined,e.checkDefined=function checkDefined(e,t,n){return assertIsDefined(e,t,n||checkDefined),e},e.assertEachIsDefined=assertEachIsDefined,e.checkEachDefined=function checkEachDefined(e,t,n){return assertEachIsDefined(e,t,n||checkEachDefined),e},e.assertNever=assertNever,e.assertEachNode=function assertEachNode(e,t,n,r){shouldAssertFunction(1,"assertEachNode")&&assert(void 0===t||every(e,t),n||"Unexpected node.",()=>`Node array did not pass test '${getFunctionName(t)}'.`,r||assertEachNode)},e.assertNode=function assertNode(e,t,n,r){shouldAssertFunction(1,"assertNode")&&assert(void 0!==e&&(void 0===t||t(e)),n||"Unexpected node.",()=>`Node ${formatSyntaxKind(null==e?void 0:e.kind)} did not pass test '${getFunctionName(t)}'.`,r||assertNode)},e.assertNotNode=function assertNotNode(e,t,n,r){shouldAssertFunction(1,"assertNotNode")&&assert(void 0===e||void 0===t||!t(e),n||"Unexpected node.",()=>`Node ${formatSyntaxKind(e.kind)} should not have passed test '${getFunctionName(t)}'.`,r||assertNotNode)},e.assertOptionalNode=function assertOptionalNode(e,t,n,r){shouldAssertFunction(1,"assertOptionalNode")&&assert(void 0===t||void 0===e||t(e),n||"Unexpected node.",()=>`Node ${formatSyntaxKind(null==e?void 0:e.kind)} did not pass test '${getFunctionName(t)}'.`,r||assertOptionalNode)},e.assertOptionalToken=function assertOptionalToken(e,t,n,r){shouldAssertFunction(1,"assertOptionalToken")&&assert(void 0===t||void 0===e||e.kind===t,n||"Unexpected node.",()=>`Node ${formatSyntaxKind(null==e?void 0:e.kind)} was not a '${formatSyntaxKind(t)}' token.`,r||assertOptionalToken)},e.assertMissingNode=function assertMissingNode(e,t,n){shouldAssertFunction(1,"assertMissingNode")&&assert(void 0===e,t||"Unexpected node.",()=>`Node ${formatSyntaxKind(e.kind)} was unexpected'.`,n||assertMissingNode)},e.type=type,e.getFunctionName=getFunctionName,e.formatSymbol=function formatSymbol(e){return`{ name: ${unescapeLeadingUnderscores(e.escapedName)}; flags: ${formatSymbolFlags(e.flags)}; declarations: ${map(e.declarations,e=>formatSyntaxKind(e.kind))} }`},e.formatEnum=formatEnum;const i=new Map;function formatSyntaxKind(e){return formatEnum(e,Q,!1)}function formatNodeFlags(e){return formatEnum(e,X,!0)}function formatModifierFlags(e){return formatEnum(e,Y,!0)}function formatTransformFlags(e){return formatEnum(e,ot,!0)}function formatEmitFlags(e){return formatEnum(e,st,!0)}function formatSymbolFlags(e){return formatEnum(e,Ce,!0)}function formatTypeFlags(e){return formatEnum(e,Fe,!0)}function formatSignatureFlags(e){return formatEnum(e,Me,!0)}function formatObjectFlags(e){return formatEnum(e,Pe,!0)}function formatFlowFlags(e){return formatEnum(e,oe,!0)}e.formatSyntaxKind=formatSyntaxKind,e.formatSnippetKind=function formatSnippetKind(e){return formatEnum(e,at,!1)},e.formatScriptKind=function formatScriptKind(e){return formatEnum(e,Ze,!1)},e.formatNodeFlags=formatNodeFlags,e.formatNodeCheckFlags=function formatNodeCheckFlags(e){return formatEnum(e,ke,!0)},e.formatModifierFlags=formatModifierFlags,e.formatTransformFlags=formatTransformFlags,e.formatEmitFlags=formatEmitFlags,e.formatSymbolFlags=formatSymbolFlags,e.formatTypeFlags=formatTypeFlags,e.formatSignatureFlags=formatSignatureFlags,e.formatObjectFlags=formatObjectFlags,e.formatFlowFlags=formatFlowFlags,e.formatRelationComparisonResult=function formatRelationComparisonResult(e){return formatEnum(e,ee,!0)},e.formatCheckMode=function formatCheckMode(e){return formatEnum(e,na,!0)},e.formatSignatureCheckMode=function formatSignatureCheckMode(e){return formatEnum(e,ra,!0)},e.formatTypeFacts=function formatTypeFacts(e){return formatEnum(e,ea,!0)};let o,a,s=!1;function attachFlowNodeDebugInfoWorker(e){"__debugFlowFlags"in e||Object.defineProperties(e,{__tsDebuggerDisplay:{value(){const e=2&this.flags?"FlowStart":4&this.flags?"FlowBranchLabel":8&this.flags?"FlowLoopLabel":16&this.flags?"FlowAssignment":32&this.flags?"FlowTrueCondition":64&this.flags?"FlowFalseCondition":128&this.flags?"FlowSwitchClause":256&this.flags?"FlowArrayMutation":512&this.flags?"FlowCall":1024&this.flags?"FlowReduceLabel":1&this.flags?"FlowUnreachable":"UnknownFlow",t=-2048&this.flags;return`${e}${t?` (${formatFlowFlags(t)})`:""}`}},__debugFlowFlags:{get(){return formatEnum(this.flags,oe,!0)}},__debugToString:{value(){return formatControlFlowGraph(this)}}})}function attachNodeArrayDebugInfoWorker(e){"__tsDebuggerDisplay"in e||Object.defineProperties(e,{__tsDebuggerDisplay:{value:e=>`NodeArray ${e=String(e).replace(/(?:,[\s\w]+:[^,]+)+\]$/,"]")}`}})}e.attachFlowNodeDebugInfo=function attachFlowNodeDebugInfo(e){return s&&("function"==typeof Object.setPrototypeOf?(o||(o=Object.create(Object.prototype),attachFlowNodeDebugInfoWorker(o)),Object.setPrototypeOf(e,o)):attachFlowNodeDebugInfoWorker(e)),e},e.attachNodeArrayDebugInfo=function attachNodeArrayDebugInfo(e){s&&("function"==typeof Object.setPrototypeOf?(a||(a=Object.create(Array.prototype),attachNodeArrayDebugInfoWorker(a)),Object.setPrototypeOf(e,a)):attachNodeArrayDebugInfoWorker(e))},e.enableDebugInfo=function enableDebugInfo(){if(s)return;const e=new WeakMap,t=new WeakMap;Object.defineProperties(Bn.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){const e=33554432&this.flags?"TransientSymbol":"Symbol",t=-33554433&this.flags;return`${e} '${symbolName(this)}'${t?` (${formatSymbolFlags(t)})`:""}`}},__debugFlags:{get(){return formatSymbolFlags(this.flags)}}}),Object.defineProperties(Bn.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){const e=67359327&this.flags?`IntrinsicType ${this.intrinsicName}${this.debugIntrinsicName?` (${this.debugIntrinsicName})`:""}`:98304&this.flags?"NullableType":384&this.flags?`LiteralType ${JSON.stringify(this.value)}`:2048&this.flags?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:8192&this.flags?"UniqueESSymbolType":32&this.flags?"EnumType":1048576&this.flags?"UnionType":2097152&this.flags?"IntersectionType":4194304&this.flags?"IndexType":8388608&this.flags?"IndexedAccessType":16777216&this.flags?"ConditionalType":33554432&this.flags?"SubstitutionType":262144&this.flags?"TypeParameter":524288&this.flags?3&this.objectFlags?"InterfaceType":4&this.objectFlags?"TypeReference":8&this.objectFlags?"TupleType":16&this.objectFlags?"AnonymousType":32&this.objectFlags?"MappedType":1024&this.objectFlags?"ReverseMappedType":256&this.objectFlags?"EvolvingArrayType":"ObjectType":"Type",t=524288&this.flags?-1344&this.objectFlags:0;return`${e}${this.symbol?` '${symbolName(this.symbol)}'`:""}${t?` (${formatObjectFlags(t)})`:""}`}},__debugFlags:{get(){return formatTypeFlags(this.flags)}},__debugObjectFlags:{get(){return 524288&this.flags?formatObjectFlags(this.objectFlags):""}},__debugTypeToString:{value(){let t=e.get(this);return void 0===t&&(t=this.checker.typeToString(this),e.set(this,t)),t}}}),Object.defineProperties(Bn.getSignatureConstructor().prototype,{__debugFlags:{get(){return formatSignatureFlags(this.flags)}},__debugSignatureToString:{value(){var e;return null==(e=this.checker)?void 0:e.signatureToString(this)}}});const n=[Bn.getNodeConstructor(),Bn.getIdentifierConstructor(),Bn.getTokenConstructor(),Bn.getSourceFileConstructor()];for(const e of n)hasProperty(e.prototype,"__debugKind")||Object.defineProperties(e.prototype,{__tsDebuggerDisplay:{value(){return`${isGeneratedIdentifier(this)?"GeneratedIdentifier":isIdentifier(this)?`Identifier '${idText(this)}'`:isPrivateIdentifier(this)?`PrivateIdentifier '${idText(this)}'`:isStringLiteral(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:isNumericLiteral(this)?`NumericLiteral ${this.text}`:isBigIntLiteral(this)?`BigIntLiteral ${this.text}n`:isTypeParameterDeclaration(this)?"TypeParameterDeclaration":isParameter(this)?"ParameterDeclaration":isConstructorDeclaration(this)?"ConstructorDeclaration":isGetAccessorDeclaration(this)?"GetAccessorDeclaration":isSetAccessorDeclaration(this)?"SetAccessorDeclaration":isCallSignatureDeclaration(this)?"CallSignatureDeclaration":isConstructSignatureDeclaration(this)?"ConstructSignatureDeclaration":isIndexSignatureDeclaration(this)?"IndexSignatureDeclaration":isTypePredicateNode(this)?"TypePredicateNode":isTypeReferenceNode(this)?"TypeReferenceNode":isFunctionTypeNode(this)?"FunctionTypeNode":isConstructorTypeNode(this)?"ConstructorTypeNode":isTypeQueryNode(this)?"TypeQueryNode":isTypeLiteralNode(this)?"TypeLiteralNode":isArrayTypeNode(this)?"ArrayTypeNode":isTupleTypeNode(this)?"TupleTypeNode":isOptionalTypeNode(this)?"OptionalTypeNode":isRestTypeNode(this)?"RestTypeNode":isUnionTypeNode(this)?"UnionTypeNode":isIntersectionTypeNode(this)?"IntersectionTypeNode":isConditionalTypeNode(this)?"ConditionalTypeNode":isInferTypeNode(this)?"InferTypeNode":isParenthesizedTypeNode(this)?"ParenthesizedTypeNode":isThisTypeNode(this)?"ThisTypeNode":isTypeOperatorNode(this)?"TypeOperatorNode":isIndexedAccessTypeNode(this)?"IndexedAccessTypeNode":isMappedTypeNode(this)?"MappedTypeNode":isLiteralTypeNode(this)?"LiteralTypeNode":isNamedTupleMember(this)?"NamedTupleMember":isImportTypeNode(this)?"ImportTypeNode":formatSyntaxKind(this.kind)}${this.flags?` (${formatNodeFlags(this.flags)})`:""}`}},__debugKind:{get(){return formatSyntaxKind(this.kind)}},__debugNodeFlags:{get(){return formatNodeFlags(this.flags)}},__debugModifierFlags:{get(){return formatModifierFlags(getEffectiveModifierFlagsNoCache(this))}},__debugTransformFlags:{get(){return formatTransformFlags(this.transformFlags)}},__debugIsParseTreeNode:{get(){return isParseTreeNode(this)}},__debugEmitFlags:{get(){return formatEmitFlags(getEmitFlags(this))}},__debugGetText:{value(e){if(nodeIsSynthesized(this))return"";let n=t.get(this);if(void 0===n){const r=getParseTreeNode(this),i=r&&getSourceFileOfNode(r);n=i?getSourceTextOfNodeFromSourceFile(i,r,e):"",t.set(this,n)}return n}}});s=!0},e.formatVariance=function formatVariance(e){const t=7&e;let n=0===t?"in out":3===t?"[bivariant]":2===t?"in":1===t?"out":4===t?"[independent]":"";return 8&e?n+=" (unmeasurable)":16&e&&(n+=" (unreliable)"),n};class DebugTypeMapper{__debugToString(){var e;switch(this.kind){case 3:return(null==(e=this.debugInfo)?void 0:e.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return zipWith(this.sources,this.targets||map(this.sources,()=>"any"),(e,t)=>`${e.__debugTypeToString()} -> ${"string"==typeof t?t:t.__debugTypeToString()}`).join(", ");case 2:return zipWith(this.sources,this.targets,(e,t)=>`${e.__debugTypeToString()} -> ${t().__debugTypeToString()}`).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split("\n").join("\n ")}\nm2: ${this.mapper2.__debugToString().split("\n").join("\n ")}`;default:return assertNever(this)}}}function formatControlFlowGraph(e){let t,n=-1;function getDebugFlowNodeId(e){return e.id||(e.id=n,n--),e.id}var r;let i;var o;(r=t||(t={})).lr="\u2500",r.ud="\u2502",r.dr="\u256d",r.dl="\u256e",r.ul="\u256f",r.ur="\u2570",r.udr="\u251c",r.udl="\u2524",r.dlr="\u252c",r.ulr="\u2534",r.udlr="\u256b",(o=i||(i={}))[o.None=0]="None",o[o.Up=1]="Up",o[o.Down=2]="Down",o[o.Left=4]="Left",o[o.Right=8]="Right",o[o.UpDown=3]="UpDown",o[o.LeftRight=12]="LeftRight",o[o.UpLeft=5]="UpLeft",o[o.UpRight=9]="UpRight",o[o.DownLeft=6]="DownLeft",o[o.DownRight=10]="DownRight",o[o.UpDownLeft=7]="UpDownLeft",o[o.UpDownRight=11]="UpDownRight",o[o.UpLeftRight=13]="UpLeftRight",o[o.DownLeftRight=14]="DownLeftRight",o[o.UpDownLeftRight=15]="UpDownLeftRight",o[o.NoChildren=16]="NoChildren";const a=Object.create(null),s=[],c=[],l=buildGraphNode(e,new Set);for(const e of s)e.text=renderFlowNode(e.flowNode,e.circular),computeLevel(e);const d=function computeHeight(e){let t=0;for(const n of getChildren(e))t=Math.max(t,computeHeight(n));return t+1}(l),p=function computeColumnWidths(e){const t=fill(Array(e),0);for(const e of s)t[e.level]=Math.max(t[e.level],e.text.length);return t}(d);return function computeLanes(e,t){if(-1===e.lane){e.lane=t,e.endLane=t;const n=getChildren(e);for(let r=0;r<n.length;r++){r>0&&t++;const i=n[r];computeLanes(i,t),i.endLane>e.endLane&&(t=i.endLane)}e.endLane=t}}(l,0),function renderGraph(){const e=p.length,t=maxBy(s,0,e=>e.lane)+1,n=fill(Array(t),""),r=p.map(()=>Array(t)),i=p.map(()=>fill(Array(t),0));for(const e of s){r[e.level][e.lane]=e;const t=getChildren(e);for(let n=0;n<t.length;n++){const r=t[n];let o=8;r.lane===e.lane&&(o|=4),n>0&&(o|=1),n<t.length-1&&(o|=2),i[e.level][r.lane]|=o}0===t.length&&(i[e.level][e.lane]|=16);const n=getParents(e);for(let t=0;t<n.length;t++){const r=n[t];let o=4;t>0&&(o|=1),t<n.length-1&&(o|=2),i[e.level-1][r.lane]|=o}}for(let n=0;n<e;n++)for(let e=0;e<t;e++){const t=n>0?i[n-1][e]:0,r=e>0?i[n][e-1]:0;let o=i[n][e];o||(8&t&&(o|=12),2&r&&(o|=3),i[n][e]=o)}for(let t=0;t<e;t++)for(let o=0;o<n.length;o++){const n=i[t][o],a=4&n?"\u2500":" ",s=r[t][o];s?(writeLane(o,s.text),t<e-1&&(writeLane(o," "),writeLane(o,repeat(a,p[t]-s.text.length)))):t<e-1&&writeLane(o,repeat(a,p[t]+1)),writeLane(o,getBoxCharacter(n)),writeLane(o,8&n&&t<e-1&&!r[t+1][o]?"\u2500":" ")}return`\n${n.join("\n")}\n`;function writeLane(e,t){n[e]+=t}}();function getChildren(e){const t=[];for(const n of e.edges)n.source===e&&t.push(n.target);return t}function getParents(e){const t=[];for(const n of e.edges)n.target===e&&t.push(n.source);return t}function buildGraphNode(e,t){const n=getDebugFlowNodeId(e);let r=a[n];if(r&&t.has(e))return r.circular=!0,r={id:-1,flowNode:e,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},s.push(r),r;if(t.add(e),!r)if(a[n]=r={id:n,flowNode:e,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},s.push(r),function hasAntecedents(e){return!!(12&e.flags)&&!!e.antecedent}(e))for(const n of e.antecedent)buildGraphEdge(r,n,t);else(function hasAntecedent(e){return!!(2032&e.flags)})(e)&&buildGraphEdge(r,e.antecedent,t);return t.delete(e),r}function buildGraphEdge(e,t,n){const r=buildGraphNode(t,n),i={source:e,target:r};c.push(i),e.edges.push(i),r.edges.push(i)}function computeLevel(e){if(-1!==e.level)return e.level;let t=0;for(const n of getParents(e))t=Math.max(t,computeLevel(n)+1);return e.level=t}function getNodeText(e){return getSourceTextOfNodeFromSourceFile(getSourceFileOfNode(e),e,!1)}function renderFlowNode(e,t){let n=function getHeader2(e){if(2&e)return"Start";if(4&e)return"Branch";if(8&e)return"Loop";if(16&e)return"Assignment";if(32&e)return"True";if(64&e)return"False";if(128&e)return"SwitchClause";if(256&e)return"ArrayMutation";if(512&e)return"Call";if(1024&e)return"ReduceLabel";if(1&e)return"Unreachable";throw new Error}(e.flags);if(t&&(n=`${n}#${getDebugFlowNodeId(e)}`),function isFlowSwitchClause(e){return!!(128&e.flags)}(e)){const t=[],{switchStatement:r,clauseStart:i,clauseEnd:o}=e.node;for(let e=i;e<o;e++){const n=r.caseBlock.clauses[e];isDefaultClause(n)?t.push("default"):t.push(getNodeText(n.expression))}n+=` (${t.join(", ")})`}else(function hasNode(e){return!!(882&e.flags)})(e)&&e.node&&(n+=` (${getNodeText(e.node)})`);return"circularity"===t?`Circular(${n})`:n}function getBoxCharacter(e){switch(e){case 3:return"\u2502";case 12:return"\u2500";case 5:return"\u256f";case 9:return"\u2570";case 6:return"\u256e";case 10:return"\u256d";case 7:return"\u2524";case 11:return"\u251c";case 13:return"\u2534";case 14:return"\u252c";case 15:return"\u256b"}return" "}function fill(e,t){if(e.fill)e.fill(t);else for(let n=0;n<e.length;n++)e[n]=t;return e}function repeat(e,t){if(e.repeat)return t>0?e.repeat(t):"";let n="";for(;n.length<t;)n+=e;return n}}e.DebugTypeMapper=DebugTypeMapper,e.attachDebugPrototypeIfDebug=function attachDebugPrototypeIfDebug(t){return e.isDebugging?Object.setPrototypeOf(t,DebugTypeMapper.prototype):t},e.printControlFlowGraph=function printControlFlowGraph(e){return console.log(formatControlFlowGraph(e))},e.formatControlFlowGraph=formatControlFlowGraph})(h||(h={}));var S=/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,x=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i,v=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i,b=/^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i,C=/^[a-z0-9-]+$/i,E=/^(?:0|[1-9]\d*)$/,N=class _Version{constructor(e,t=0,n=0,r="",i=""){if("string"==typeof e){const o=h.checkDefined(tryParseComponents(e),"Invalid version");({major:e,minor:t,patch:n,prerelease:r,build:i}=o)}h.assert(e>=0,"Invalid argument: major"),h.assert(t>=0,"Invalid argument: minor"),h.assert(n>=0,"Invalid argument: patch");const o=r?isArray(r)?r:r.split("."):l,a=i?isArray(i)?i:i.split("."):l;h.assert(every(o,e=>v.test(e)),"Invalid argument: prerelease"),h.assert(every(a,e=>C.test(e)),"Invalid argument: build"),this.major=e,this.minor=t,this.patch=n,this.prerelease=o,this.build=a}static tryParse(e){const t=tryParseComponents(e);if(!t)return;const{major:n,minor:r,patch:i,prerelease:o,build:a}=t;return new _Version(n,r,i,o,a)}compareTo(e){return this===e?0:void 0===e?1:compareValues(this.major,e.major)||compareValues(this.minor,e.minor)||compareValues(this.patch,e.patch)||function comparePrereleaseIdentifiers(e,t){if(e===t)return 0;if(0===e.length)return 0===t.length?0:1;if(0===t.length)return-1;const n=Math.min(e.length,t.length);for(let r=0;r<n;r++){const n=e[r],i=t[r];if(n===i)continue;const o=E.test(n),a=E.test(i);if(o||a){if(o!==a)return o?-1:1;const e=compareValues(+n,+i);if(e)return e}else{const e=compareStringsCaseSensitive(n,i);if(e)return e}}return compareValues(e.length,t.length)}(this.prerelease,e.prerelease)}increment(e){switch(e){case"major":return new _Version(this.major+1,0,0);case"minor":return new _Version(this.major,this.minor+1,0);case"patch":return new _Version(this.major,this.minor,this.patch+1);default:return h.assertNever(e)}}with(e){const{major:t=this.major,minor:n=this.minor,patch:r=this.patch,prerelease:i=this.prerelease,build:o=this.build}=e;return new _Version(t,n,r,i,o)}toString(){let e=`${this.major}.${this.minor}.${this.patch}`;return some(this.prerelease)&&(e+=`-${this.prerelease.join(".")}`),some(this.build)&&(e+=`+${this.build.join(".")}`),e}};N.zero=new N(0,0,0,["0"]);var k=N;function tryParseComponents(e){const t=S.exec(e);if(!t)return;const[,n,r="0",i="0",o="",a=""]=t;return o&&!x.test(o)||a&&!b.test(a)?void 0:{major:parseInt(n,10),minor:parseInt(r,10),patch:parseInt(i,10),prerelease:o,build:a}}var F=class _VersionRange{constructor(e){this._alternatives=e?h.checkDefined(parseRange(e),"Invalid range spec."):l}static tryParse(e){const t=parseRange(e);if(t){const e=new _VersionRange("");return e._alternatives=t,e}}test(e){return"string"==typeof e&&(e=new k(e)),function testDisjunction(e,t){if(0===t.length)return!0;for(const n of t)if(testAlternative(e,n))return!0;return!1}(e,this._alternatives)}toString(){return function formatDisjunction(e){return map(e,formatAlternative).join(" || ")||"*"}(this._alternatives)}},P=/\|\|/,D=/\s+/,I=/^([x*0]|[1-9]\d*)(?:\.([x*0]|[1-9]\d*)(?:\.([x*0]|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,A=/^\s*([a-z0-9-+.*]+)\s+-\s+([a-z0-9-+.*]+)\s*$/i,O=/^([~^<>=]|<=|>=)?\s*([a-z0-9-+.*]+)$/i;function parseRange(e){const t=[];for(let n of e.trim().split(P)){if(!n)continue;const e=[];n=n.trim();const r=A.exec(n);if(r){if(!parseHyphen(r[1],r[2],e))return}else for(const t of n.split(D)){const n=O.exec(t.trim());if(!n||!parseComparator(n[1],n[2],e))return}t.push(e)}return t}function parsePartial(e){const t=I.exec(e);if(!t)return;const[,n,r="*",i="*",o,a]=t;return{version:new k(isWildcard(n)?0:parseInt(n,10),isWildcard(n)||isWildcard(r)?0:parseInt(r,10),isWildcard(n)||isWildcard(r)||isWildcard(i)?0:parseInt(i,10),o,a),major:n,minor:r,patch:i}}function parseHyphen(e,t,n){const r=parsePartial(e);if(!r)return!1;const i=parsePartial(t);return!!i&&(isWildcard(r.major)||n.push(createComparator(">=",r.version)),isWildcard(i.major)||n.push(isWildcard(i.minor)?createComparator("<",i.version.increment("major")):isWildcard(i.patch)?createComparator("<",i.version.increment("minor")):createComparator("<=",i.version)),!0)}function parseComparator(e,t,n){const r=parsePartial(t);if(!r)return!1;const{version:i,major:o,minor:a,patch:s}=r;if(isWildcard(o))"<"!==e&&">"!==e||n.push(createComparator("<",k.zero));else switch(e){case"~":n.push(createComparator(">=",i)),n.push(createComparator("<",i.increment(isWildcard(a)?"major":"minor")));break;case"^":n.push(createComparator(">=",i)),n.push(createComparator("<",i.increment(i.major>0||isWildcard(a)?"major":i.minor>0||isWildcard(s)?"minor":"patch")));break;case"<":case">=":n.push(isWildcard(a)||isWildcard(s)?createComparator(e,i.with({prerelease:"0"})):createComparator(e,i));break;case"<=":case">":n.push(isWildcard(a)?createComparator("<="===e?"<":">=",i.increment("major").with({prerelease:"0"})):isWildcard(s)?createComparator("<="===e?"<":">=",i.increment("minor").with({prerelease:"0"})):createComparator(e,i));break;case"=":case void 0:isWildcard(a)||isWildcard(s)?(n.push(createComparator(">=",i.with({prerelease:"0"}))),n.push(createComparator("<",i.increment(isWildcard(a)?"major":"minor").with({prerelease:"0"})))):n.push(createComparator("=",i));break;default:return!1}return!0}function isWildcard(e){return"*"===e||"x"===e||"X"===e}function createComparator(e,t){return{operator:e,operand:t}}function testAlternative(e,t){for(const n of t)if(!testComparator(e,n.operator,n.operand))return!1;return!0}function testComparator(e,t,n){const r=e.compareTo(n);switch(t){case"<":return r<0;case"<=":return r<=0;case">":return r>0;case">=":return r>=0;case"=":return 0===r;default:return h.assertNever(t)}}function formatAlternative(e){return map(e,formatComparator).join(" ")}function formatComparator(e){return`${e.operator}${e.operand}`}var w=function tryGetPerformanceHooks(){const e=function tryGetPerformance(){if(isNodeLikeSystem())try{const{performance:e}=n(732);if(e)return{shouldWriteNativeEvents:!1,performance:e}}catch{}if("object"==typeof performance)return{shouldWriteNativeEvents:!0,performance}}();if(!e)return;const{shouldWriteNativeEvents:t,performance:r}=e,i={shouldWriteNativeEvents:t,performance:void 0,performanceTime:void 0};return"number"==typeof r.timeOrigin&&"function"==typeof r.now&&(i.performanceTime=r),i.performanceTime&&"function"==typeof r.mark&&"function"==typeof r.measure&&"function"==typeof r.clearMarks&&"function"==typeof r.clearMeasures&&(i.performance=r),i}(),L=null==w?void 0:w.performanceTime;function tryGetNativePerformanceHooks(){return w}var M,R,B=L?()=>L.now():Date.now,j={};function createTimerIf(e,t,n,r){return e?createTimer(t,n,r):U}function createTimer(e,t,n){let r=0;return{enter:function enter(){1===++r&&mark(t)},exit:function exit(){0===--r?(mark(n),measure(e,t,n)):r<0&&h.fail("enter/exit count does not match.")}}}i(j,{clearMarks:()=>clearMarks,clearMeasures:()=>clearMeasures,createTimer:()=>createTimer,createTimerIf:()=>createTimerIf,disable:()=>disable,enable:()=>enable,forEachMark:()=>forEachMark,forEachMeasure:()=>forEachMeasure,getCount:()=>getCount,getDuration:()=>getDuration,isEnabled:()=>isEnabled,mark:()=>mark,measure:()=>measure,nullTimer:()=>U});var J,W,U={enter:noop,exit:noop},z=!1,V=B(),q=new Map,H=new Map,K=new Map;function mark(e){if(z){const t=H.get(e)??0;H.set(e,t+1),q.set(e,B()),null==R||R.mark(e),"function"==typeof onProfilerEvent&&onProfilerEvent(e)}}function measure(e,t,n){if(z){const r=(void 0!==n?q.get(n):void 0)??B(),i=(void 0!==t?q.get(t):void 0)??V,o=K.get(e)||0;K.set(e,o+(r-i)),null==R||R.measure(e,t,n)}}function getCount(e){return H.get(e)||0}function getDuration(e){return K.get(e)||0}function forEachMeasure(e){K.forEach((t,n)=>e(n,t))}function forEachMark(e){q.forEach((t,n)=>e(n))}function clearMeasures(e){void 0!==e?K.delete(e):K.clear(),null==R||R.clearMeasures(e)}function clearMarks(e){void 0!==e?(H.delete(e),q.delete(e)):(H.clear(),q.clear()),null==R||R.clearMarks(e)}function isEnabled(){return z}function enable(e=kt){var t;return z||(z=!0,M||(M=tryGetNativePerformanceHooks()),(null==M?void 0:M.performance)&&(V=M.performance.timeOrigin,(M.shouldWriteNativeEvents||(null==(t=null==e?void 0:e.cpuProfilingEnabled)?void 0:t.call(e))||(null==e?void 0:e.debugMode))&&(R=M.performance))),!0}function disable(){z&&(q.clear(),H.clear(),K.clear(),R=void 0,z=!1)}(e=>{let t,r,i=0,o=0;const a=[];let s;const c=[];let l;var d;e.startTracing=function startTracing2(l,d,p){if(h.assert(!J,"Tracing already started"),void 0===t)try{t=n(21)}catch(e){throw new Error(`tracing requires having fs\n(original error: ${e.message||e})`)}r=l,a.length=0,void 0===s&&(s=combinePaths(d,"legend.json")),t.existsSync(d)||t.mkdirSync(d,{recursive:!0});const u="build"===r?`.${process.pid}-${++i}`:"server"===r?`.${process.pid}`:"",m=combinePaths(d,`trace${u}.json`),_=combinePaths(d,`types${u}.json`);c.push({configFilePath:p,tracePath:m,typesPath:_}),o=t.openSync(m,"w"),J=e;const f={cat:"__metadata",ph:"M",ts:1e3*B(),pid:1,tid:1};t.writeSync(o,"[\n"+[{name:"process_name",args:{name:"tsc"},...f},{name:"thread_name",args:{name:"Main"},...f},{name:"TracingStartedInBrowser",...f,cat:"disabled-by-default-devtools.timeline"}].map(e=>JSON.stringify(e)).join(",\n"))},e.stopTracing=function stopTracing(){h.assert(J,"Tracing is not in progress"),h.assert(!!a.length==("server"!==r)),t.writeSync(o,"\n]\n"),t.closeSync(o),J=void 0,a.length?function dumpTypes(e){var n,r,i,o,a,s,l,d,p,u,m,_,f,g,y,T,S,x,v;mark("beginDumpTypes");const b=c[c.length-1].typesPath,C=t.openSync(b,"w"),E=new Map;t.writeSync(C,"[");const N=e.length;for(let c=0;c<N;c++){const b=e[c],k=b.objectFlags,F=b.aliasSymbol??b.symbol;let P;if(16&k|2944&b.flags)try{P=null==(n=b.checker)?void 0:n.typeToString(b)}catch{P=void 0}let D={};if(8388608&b.flags){const e=b;D={indexedAccessObjectType:null==(r=e.objectType)?void 0:r.id,indexedAccessIndexType:null==(i=e.indexType)?void 0:i.id}}let I={};if(4&k){const e=b;I={instantiatedType:null==(o=e.target)?void 0:o.id,typeArguments:null==(a=e.resolvedTypeArguments)?void 0:a.map(e=>e.id),referenceLocation:getLocation(e.node)}}let A={};if(16777216&b.flags){const e=b;A={conditionalCheckType:null==(s=e.checkType)?void 0:s.id,conditionalExtendsType:null==(l=e.extendsType)?void 0:l.id,conditionalTrueType:(null==(d=e.resolvedTrueType)?void 0:d.id)??-1,conditionalFalseType:(null==(p=e.resolvedFalseType)?void 0:p.id)??-1}}let O={};if(33554432&b.flags){const e=b;O={substitutionBaseType:null==(u=e.baseType)?void 0:u.id,constraintType:null==(m=e.constraint)?void 0:m.id}}let w={};if(1024&k){const e=b;w={reverseMappedSourceType:null==(_=e.source)?void 0:_.id,reverseMappedMappedType:null==(f=e.mappedType)?void 0:f.id,reverseMappedConstraintType:null==(g=e.constraintType)?void 0:g.id}}let L,M={};if(256&k){const e=b;M={evolvingArrayElementType:e.elementType.id,evolvingArrayFinalType:null==(y=e.finalArrayType)?void 0:y.id}}const R=b.checker.getRecursionIdentity(b);R&&(L=E.get(R),L||(L=E.size,E.set(R,L)));const B={id:b.id,intrinsicName:b.intrinsicName,symbolName:(null==F?void 0:F.escapedName)&&unescapeLeadingUnderscores(F.escapedName),recursionId:L,isTuple:!!(8&k)||void 0,unionTypes:1048576&b.flags?null==(T=b.types)?void 0:T.map(e=>e.id):void 0,intersectionTypes:2097152&b.flags?b.types.map(e=>e.id):void 0,aliasTypeArguments:null==(S=b.aliasTypeArguments)?void 0:S.map(e=>e.id),keyofType:4194304&b.flags?null==(x=b.type)?void 0:x.id:void 0,...D,...I,...A,...O,...w,...M,destructuringPattern:getLocation(b.pattern),firstDeclaration:getLocation(null==(v=null==F?void 0:F.declarations)?void 0:v[0]),flags:h.formatTypeFlags(b.flags).split("|"),display:P};t.writeSync(C,JSON.stringify(B)),c<N-1&&t.writeSync(C,",\n")}t.writeSync(C,"]\n"),t.closeSync(C),mark("endDumpTypes"),measure("Dump types","beginDumpTypes","endDumpTypes")}(a):c[c.length-1].typesPath=void 0},e.recordType=function recordType(e){"server"!==r&&a.push(e)},(d=l=e.Phase||(e.Phase={})).Parse="parse",d.Program="program",d.Bind="bind",d.Check="check",d.CheckTypes="checkTypes",d.Emit="emit",d.Session="session",e.instant=function instant(e,t,n){writeEvent("I",e,t,n,'"s":"g"')};const p=[];e.push=function push(e,t,n,r=!1){r&&writeEvent("B",e,t,n),p.push({phase:e,name:t,args:n,time:1e3*B(),separateBeginAndEnd:r})},e.pop=function pop(e){h.assert(p.length>0),writeStackEvent(p.length-1,1e3*B(),e),p.length--},e.popAll=function popAll(){const e=1e3*B();for(let t=p.length-1;t>=0;t--)writeStackEvent(t,e);p.length=0};const u=1e4;function writeStackEvent(e,t,n){const{phase:r,name:i,args:o,time:a,separateBeginAndEnd:s}=p[e];s?(h.assert(!n,"`results` are not supported for events with `separateBeginAndEnd`"),writeEvent("E",r,i,o,void 0,t)):u-a%u<=t-a&&writeEvent("X",r,i,{...o,results:n},'"dur":'+(t-a),a)}function writeEvent(e,n,i,a,s,c=1e3*B()){"server"===r&&"checkTypes"===n||(mark("beginTracing"),t.writeSync(o,`,\n{"pid":1,"tid":1,"ph":"${e}","cat":"${n}","ts":${c},"name":"${i}"`),s&&t.writeSync(o,`,${s}`),a&&t.writeSync(o,`,"args":${JSON.stringify(a)}`),t.writeSync(o,"}"),mark("endTracing"),measure("Tracing","beginTracing","endTracing"))}function getLocation(e){const t=getSourceFileOfNode(e);return t?{path:t.path,start:indexFromOne(getLineAndCharacterOfPosition(t,e.pos)),end:indexFromOne(getLineAndCharacterOfPosition(t,e.end))}:void 0;function indexFromOne(e){return{line:e.line+1,character:e.character+1}}}e.dumpLegend=function dumpLegend(){s&&t.writeFileSync(s,JSON.stringify(c))}})(W||(W={}));var G=W.startTracing,$=W.dumpLegend,Q=(e=>(e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NonTextFileMarkerTrivia=8]="NonTextFileMarkerTrivia",e[e.NumericLiteral=9]="NumericLiteral",e[e.BigIntLiteral=10]="BigIntLiteral",e[e.StringLiteral=11]="StringLiteral",e[e.JsxText=12]="JsxText",e[e.JsxTextAllWhiteSpaces=13]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=14]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=15]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=16]="TemplateHead",e[e.TemplateMiddle=17]="TemplateMiddle",e[e.TemplateTail=18]="TemplateTail",e[e.OpenBraceToken=19]="OpenBraceToken",e[e.CloseBraceToken=20]="CloseBraceToken",e[e.OpenParenToken=21]="OpenParenToken",e[e.CloseParenToken=22]="CloseParenToken",e[e.OpenBracketToken=23]="OpenBracketToken",e[e.CloseBracketToken=24]="CloseBracketToken",e[e.DotToken=25]="DotToken",e[e.DotDotDotToken=26]="DotDotDotToken",e[e.SemicolonToken=27]="SemicolonToken",e[e.CommaToken=28]="CommaToken",e[e.QuestionDotToken=29]="QuestionDotToken",e[e.LessThanToken=30]="LessThanToken",e[e.LessThanSlashToken=31]="LessThanSlashToken",e[e.GreaterThanToken=32]="GreaterThanToken",e[e.LessThanEqualsToken=33]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=34]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=35]="EqualsEqualsToken",e[e.ExclamationEqualsToken=36]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=37]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=38]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=39]="EqualsGreaterThanToken",e[e.PlusToken=40]="PlusToken",e[e.MinusToken=41]="MinusToken",e[e.AsteriskToken=42]="AsteriskToken",e[e.AsteriskAsteriskToken=43]="AsteriskAsteriskToken",e[e.SlashToken=44]="SlashToken",e[e.PercentToken=45]="PercentToken",e[e.PlusPlusToken=46]="PlusPlusToken",e[e.MinusMinusToken=47]="MinusMinusToken",e[e.LessThanLessThanToken=48]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=49]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=50]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=51]="AmpersandToken",e[e.BarToken=52]="BarToken",e[e.CaretToken=53]="CaretToken",e[e.ExclamationToken=54]="ExclamationToken",e[e.TildeToken=55]="TildeToken",e[e.AmpersandAmpersandToken=56]="AmpersandAmpersandToken",e[e.BarBarToken=57]="BarBarToken",e[e.QuestionToken=58]="QuestionToken",e[e.ColonToken=59]="ColonToken",e[e.AtToken=60]="AtToken",e[e.QuestionQuestionToken=61]="QuestionQuestionToken",e[e.BacktickToken=62]="BacktickToken",e[e.HashToken=63]="HashToken",e[e.EqualsToken=64]="EqualsToken",e[e.PlusEqualsToken=65]="PlusEqualsToken",e[e.MinusEqualsToken=66]="MinusEqualsToken",e[e.AsteriskEqualsToken=67]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=68]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=69]="SlashEqualsToken",e[e.PercentEqualsToken=70]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=71]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=73]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=74]="AmpersandEqualsToken",e[e.BarEqualsToken=75]="BarEqualsToken",e[e.BarBarEqualsToken=76]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=77]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=78]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=79]="CaretEqualsToken",e[e.Identifier=80]="Identifier",e[e.PrivateIdentifier=81]="PrivateIdentifier",e[e.JSDocCommentTextToken=82]="JSDocCommentTextToken",e[e.BreakKeyword=83]="BreakKeyword",e[e.CaseKeyword=84]="CaseKeyword",e[e.CatchKeyword=85]="CatchKeyword",e[e.ClassKeyword=86]="ClassKeyword",e[e.ConstKeyword=87]="ConstKeyword",e[e.ContinueKeyword=88]="ContinueKeyword",e[e.DebuggerKeyword=89]="DebuggerKeyword",e[e.DefaultKeyword=90]="DefaultKeyword",e[e.DeleteKeyword=91]="DeleteKeyword",e[e.DoKeyword=92]="DoKeyword",e[e.ElseKeyword=93]="ElseKeyword",e[e.EnumKeyword=94]="EnumKeyword",e[e.ExportKeyword=95]="ExportKeyword",e[e.ExtendsKeyword=96]="ExtendsKeyword",e[e.FalseKeyword=97]="FalseKeyword",e[e.FinallyKeyword=98]="FinallyKeyword",e[e.ForKeyword=99]="ForKeyword",e[e.FunctionKeyword=100]="FunctionKeyword",e[e.IfKeyword=101]="IfKeyword",e[e.ImportKeyword=102]="ImportKeyword",e[e.InKeyword=103]="InKeyword",e[e.InstanceOfKeyword=104]="InstanceOfKeyword",e[e.NewKeyword=105]="NewKeyword",e[e.NullKeyword=106]="NullKeyword",e[e.ReturnKeyword=107]="ReturnKeyword",e[e.SuperKeyword=108]="SuperKeyword",e[e.SwitchKeyword=109]="SwitchKeyword",e[e.ThisKeyword=110]="ThisKeyword",e[e.ThrowKeyword=111]="ThrowKeyword",e[e.TrueKeyword=112]="TrueKeyword",e[e.TryKeyword=113]="TryKeyword",e[e.TypeOfKeyword=114]="TypeOfKeyword",e[e.VarKeyword=115]="VarKeyword",e[e.VoidKeyword=116]="VoidKeyword",e[e.WhileKeyword=117]="WhileKeyword",e[e.WithKeyword=118]="WithKeyword",e[e.ImplementsKeyword=119]="ImplementsKeyword",e[e.InterfaceKeyword=120]="InterfaceKeyword",e[e.LetKeyword=121]="LetKeyword",e[e.PackageKeyword=122]="PackageKeyword",e[e.PrivateKeyword=123]="PrivateKeyword",e[e.ProtectedKeyword=124]="ProtectedKeyword",e[e.PublicKeyword=125]="PublicKeyword",e[e.StaticKeyword=126]="StaticKeyword",e[e.YieldKeyword=127]="YieldKeyword",e[e.AbstractKeyword=128]="AbstractKeyword",e[e.AccessorKeyword=129]="AccessorKeyword",e[e.AsKeyword=130]="AsKeyword",e[e.AssertsKeyword=131]="AssertsKeyword",e[e.AssertKeyword=132]="AssertKeyword",e[e.AnyKeyword=133]="AnyKeyword",e[e.AsyncKeyword=134]="AsyncKeyword",e[e.AwaitKeyword=135]="AwaitKeyword",e[e.BooleanKeyword=136]="BooleanKeyword",e[e.ConstructorKeyword=137]="ConstructorKeyword",e[e.DeclareKeyword=138]="DeclareKeyword",e[e.GetKeyword=139]="GetKeyword",e[e.InferKeyword=140]="InferKeyword",e[e.IntrinsicKeyword=141]="IntrinsicKeyword",e[e.IsKeyword=142]="IsKeyword",e[e.KeyOfKeyword=143]="KeyOfKeyword",e[e.ModuleKeyword=144]="ModuleKeyword",e[e.NamespaceKeyword=145]="NamespaceKeyword",e[e.NeverKeyword=146]="NeverKeyword",e[e.OutKeyword=147]="OutKeyword",e[e.ReadonlyKeyword=148]="ReadonlyKeyword",e[e.RequireKeyword=149]="RequireKeyword",e[e.NumberKeyword=150]="NumberKeyword",e[e.ObjectKeyword=151]="ObjectKeyword",e[e.SatisfiesKeyword=152]="SatisfiesKeyword",e[e.SetKeyword=153]="SetKeyword",e[e.StringKeyword=154]="StringKeyword",e[e.SymbolKeyword=155]="SymbolKeyword",e[e.TypeKeyword=156]="TypeKeyword",e[e.UndefinedKeyword=157]="UndefinedKeyword",e[e.UniqueKeyword=158]="UniqueKeyword",e[e.UnknownKeyword=159]="UnknownKeyword",e[e.UsingKeyword=160]="UsingKeyword",e[e.FromKeyword=161]="FromKeyword",e[e.GlobalKeyword=162]="GlobalKeyword",e[e.BigIntKeyword=163]="BigIntKeyword",e[e.OverrideKeyword=164]="OverrideKeyword",e[e.OfKeyword=165]="OfKeyword",e[e.DeferKeyword=166]="DeferKeyword",e[e.QualifiedName=167]="QualifiedName",e[e.ComputedPropertyName=168]="ComputedPropertyName",e[e.TypeParameter=169]="TypeParameter",e[e.Parameter=170]="Parameter",e[e.Decorator=171]="Decorator",e[e.PropertySignature=172]="PropertySignature",e[e.PropertyDeclaration=173]="PropertyDeclaration",e[e.MethodSignature=174]="MethodSignature",e[e.MethodDeclaration=175]="MethodDeclaration",e[e.ClassStaticBlockDeclaration=176]="ClassStaticBlockDeclaration",e[e.Constructor=177]="Constructor",e[e.GetAccessor=178]="GetAccessor",e[e.SetAccessor=179]="SetAccessor",e[e.CallSignature=180]="CallSignature",e[e.ConstructSignature=181]="ConstructSignature",e[e.IndexSignature=182]="IndexSignature",e[e.TypePredicate=183]="TypePredicate",e[e.TypeReference=184]="TypeReference",e[e.FunctionType=185]="FunctionType",e[e.ConstructorType=186]="ConstructorType",e[e.TypeQuery=187]="TypeQuery",e[e.TypeLiteral=188]="TypeLiteral",e[e.ArrayType=189]="ArrayType",e[e.TupleType=190]="TupleType",e[e.OptionalType=191]="OptionalType",e[e.RestType=192]="RestType",e[e.UnionType=193]="UnionType",e[e.IntersectionType=194]="IntersectionType",e[e.ConditionalType=195]="ConditionalType",e[e.InferType=196]="InferType",e[e.ParenthesizedType=197]="ParenthesizedType",e[e.ThisType=198]="ThisType",e[e.TypeOperator=199]="TypeOperator",e[e.IndexedAccessType=200]="IndexedAccessType",e[e.MappedType=201]="MappedType",e[e.LiteralType=202]="LiteralType",e[e.NamedTupleMember=203]="NamedTupleMember",e[e.TemplateLiteralType=204]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=205]="TemplateLiteralTypeSpan",e[e.ImportType=206]="ImportType",e[e.ObjectBindingPattern=207]="ObjectBindingPattern",e[e.ArrayBindingPattern=208]="ArrayBindingPattern",e[e.BindingElement=209]="BindingElement",e[e.ArrayLiteralExpression=210]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=211]="ObjectLiteralExpression",e[e.PropertyAccessExpression=212]="PropertyAccessExpression",e[e.ElementAccessExpression=213]="ElementAccessExpression",e[e.CallExpression=214]="CallExpression",e[e.NewExpression=215]="NewExpression",e[e.TaggedTemplateExpression=216]="TaggedTemplateExpression",e[e.TypeAssertionExpression=217]="TypeAssertionExpression",e[e.ParenthesizedExpression=218]="ParenthesizedExpression",e[e.FunctionExpression=219]="FunctionExpression",e[e.ArrowFunction=220]="ArrowFunction",e[e.DeleteExpression=221]="DeleteExpression",e[e.TypeOfExpression=222]="TypeOfExpression",e[e.VoidExpression=223]="VoidExpression",e[e.AwaitExpression=224]="AwaitExpression",e[e.PrefixUnaryExpression=225]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=226]="PostfixUnaryExpression",e[e.BinaryExpression=227]="BinaryExpression",e[e.ConditionalExpression=228]="ConditionalExpression",e[e.TemplateExpression=229]="TemplateExpression",e[e.YieldExpression=230]="YieldExpression",e[e.SpreadElement=231]="SpreadElement",e[e.ClassExpression=232]="ClassExpression",e[e.OmittedExpression=233]="OmittedExpression",e[e.ExpressionWithTypeArguments=234]="ExpressionWithTypeArguments",e[e.AsExpression=235]="AsExpression",e[e.NonNullExpression=236]="NonNullExpression",e[e.MetaProperty=237]="MetaProperty",e[e.SyntheticExpression=238]="SyntheticExpression",e[e.SatisfiesExpression=239]="SatisfiesExpression",e[e.TemplateSpan=240]="TemplateSpan",e[e.SemicolonClassElement=241]="SemicolonClassElement",e[e.Block=242]="Block",e[e.EmptyStatement=243]="EmptyStatement",e[e.VariableStatement=244]="VariableStatement",e[e.ExpressionStatement=245]="ExpressionStatement",e[e.IfStatement=246]="IfStatement",e[e.DoStatement=247]="DoStatement",e[e.WhileStatement=248]="WhileStatement",e[e.ForStatement=249]="ForStatement",e[e.ForInStatement=250]="ForInStatement",e[e.ForOfStatement=251]="ForOfStatement",e[e.ContinueStatement=252]="ContinueStatement",e[e.BreakStatement=253]="BreakStatement",e[e.ReturnStatement=254]="ReturnStatement",e[e.WithStatement=255]="WithStatement",e[e.SwitchStatement=256]="SwitchStatement",e[e.LabeledStatement=257]="LabeledStatement",e[e.ThrowStatement=258]="ThrowStatement",e[e.TryStatement=259]="TryStatement",e[e.DebuggerStatement=260]="DebuggerStatement",e[e.VariableDeclaration=261]="VariableDeclaration",e[e.VariableDeclarationList=262]="VariableDeclarationList",e[e.FunctionDeclaration=263]="FunctionDeclaration",e[e.ClassDeclaration=264]="ClassDeclaration",e[e.InterfaceDeclaration=265]="InterfaceDeclaration",e[e.TypeAliasDeclaration=266]="TypeAliasDeclaration",e[e.EnumDeclaration=267]="EnumDeclaration",e[e.ModuleDeclaration=268]="ModuleDeclaration",e[e.ModuleBlock=269]="ModuleBlock",e[e.CaseBlock=270]="CaseBlock",e[e.NamespaceExportDeclaration=271]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=272]="ImportEqualsDeclaration",e[e.ImportDeclaration=273]="ImportDeclaration",e[e.ImportClause=274]="ImportClause",e[e.NamespaceImport=275]="NamespaceImport",e[e.NamedImports=276]="NamedImports",e[e.ImportSpecifier=277]="ImportSpecifier",e[e.ExportAssignment=278]="ExportAssignment",e[e.ExportDeclaration=279]="ExportDeclaration",e[e.NamedExports=280]="NamedExports",e[e.NamespaceExport=281]="NamespaceExport",e[e.ExportSpecifier=282]="ExportSpecifier",e[e.MissingDeclaration=283]="MissingDeclaration",e[e.ExternalModuleReference=284]="ExternalModuleReference",e[e.JsxElement=285]="JsxElement",e[e.JsxSelfClosingElement=286]="JsxSelfClosingElement",e[e.JsxOpeningElement=287]="JsxOpeningElement",e[e.JsxClosingElement=288]="JsxClosingElement",e[e.JsxFragment=289]="JsxFragment",e[e.JsxOpeningFragment=290]="JsxOpeningFragment",e[e.JsxClosingFragment=291]="JsxClosingFragment",e[e.JsxAttribute=292]="JsxAttribute",e[e.JsxAttributes=293]="JsxAttributes",e[e.JsxSpreadAttribute=294]="JsxSpreadAttribute",e[e.JsxExpression=295]="JsxExpression",e[e.JsxNamespacedName=296]="JsxNamespacedName",e[e.CaseClause=297]="CaseClause",e[e.DefaultClause=298]="DefaultClause",e[e.HeritageClause=299]="HeritageClause",e[e.CatchClause=300]="CatchClause",e[e.ImportAttributes=301]="ImportAttributes",e[e.ImportAttribute=302]="ImportAttribute",e[e.AssertClause=301]="AssertClause",e[e.AssertEntry=302]="AssertEntry",e[e.ImportTypeAssertionContainer=303]="ImportTypeAssertionContainer",e[e.PropertyAssignment=304]="PropertyAssignment",e[e.ShorthandPropertyAssignment=305]="ShorthandPropertyAssignment",e[e.SpreadAssignment=306]="SpreadAssignment",e[e.EnumMember=307]="EnumMember",e[e.SourceFile=308]="SourceFile",e[e.Bundle=309]="Bundle",e[e.JSDocTypeExpression=310]="JSDocTypeExpression",e[e.JSDocNameReference=311]="JSDocNameReference",e[e.JSDocMemberName=312]="JSDocMemberName",e[e.JSDocAllType=313]="JSDocAllType",e[e.JSDocUnknownType=314]="JSDocUnknownType",e[e.JSDocNullableType=315]="JSDocNullableType",e[e.JSDocNonNullableType=316]="JSDocNonNullableType",e[e.JSDocOptionalType=317]="JSDocOptionalType",e[e.JSDocFunctionType=318]="JSDocFunctionType",e[e.JSDocVariadicType=319]="JSDocVariadicType",e[e.JSDocNamepathType=320]="JSDocNamepathType",e[e.JSDoc=321]="JSDoc",e[e.JSDocComment=321]="JSDocComment",e[e.JSDocText=322]="JSDocText",e[e.JSDocTypeLiteral=323]="JSDocTypeLiteral",e[e.JSDocSignature=324]="JSDocSignature",e[e.JSDocLink=325]="JSDocLink",e[e.JSDocLinkCode=326]="JSDocLinkCode",e[e.JSDocLinkPlain=327]="JSDocLinkPlain",e[e.JSDocTag=328]="JSDocTag",e[e.JSDocAugmentsTag=329]="JSDocAugmentsTag",e[e.JSDocImplementsTag=330]="JSDocImplementsTag",e[e.JSDocAuthorTag=331]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=332]="JSDocDeprecatedTag",e[e.JSDocClassTag=333]="JSDocClassTag",e[e.JSDocPublicTag=334]="JSDocPublicTag",e[e.JSDocPrivateTag=335]="JSDocPrivateTag",e[e.JSDocProtectedTag=336]="JSDocProtectedTag",e[e.JSDocReadonlyTag=337]="JSDocReadonlyTag",e[e.JSDocOverrideTag=338]="JSDocOverrideTag",e[e.JSDocCallbackTag=339]="JSDocCallbackTag",e[e.JSDocOverloadTag=340]="JSDocOverloadTag",e[e.JSDocEnumTag=341]="JSDocEnumTag",e[e.JSDocParameterTag=342]="JSDocParameterTag",e[e.JSDocReturnTag=343]="JSDocReturnTag",e[e.JSDocThisTag=344]="JSDocThisTag",e[e.JSDocTypeTag=345]="JSDocTypeTag",e[e.JSDocTemplateTag=346]="JSDocTemplateTag",e[e.JSDocTypedefTag=347]="JSDocTypedefTag",e[e.JSDocSeeTag=348]="JSDocSeeTag",e[e.JSDocPropertyTag=349]="JSDocPropertyTag",e[e.JSDocThrowsTag=350]="JSDocThrowsTag",e[e.JSDocSatisfiesTag=351]="JSDocSatisfiesTag",e[e.JSDocImportTag=352]="JSDocImportTag",e[e.SyntaxList=353]="SyntaxList",e[e.NotEmittedStatement=354]="NotEmittedStatement",e[e.NotEmittedTypeElement=355]="NotEmittedTypeElement",e[e.PartiallyEmittedExpression=356]="PartiallyEmittedExpression",e[e.CommaListExpression=357]="CommaListExpression",e[e.SyntheticReferenceExpression=358]="SyntheticReferenceExpression",e[e.Count=359]="Count",e[e.FirstAssignment=64]="FirstAssignment",e[e.LastAssignment=79]="LastAssignment",e[e.FirstCompoundAssignment=65]="FirstCompoundAssignment",e[e.LastCompoundAssignment=79]="LastCompoundAssignment",e[e.FirstReservedWord=83]="FirstReservedWord",e[e.LastReservedWord=118]="LastReservedWord",e[e.FirstKeyword=83]="FirstKeyword",e[e.LastKeyword=166]="LastKeyword",e[e.FirstFutureReservedWord=119]="FirstFutureReservedWord",e[e.LastFutureReservedWord=127]="LastFutureReservedWord",e[e.FirstTypeNode=183]="FirstTypeNode",e[e.LastTypeNode=206]="LastTypeNode",e[e.FirstPunctuation=19]="FirstPunctuation",e[e.LastPunctuation=79]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=166]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=9]="FirstLiteralToken",e[e.LastLiteralToken=15]="LastLiteralToken",e[e.FirstTemplateToken=15]="FirstTemplateToken",e[e.LastTemplateToken=18]="LastTemplateToken",e[e.FirstBinaryOperator=30]="FirstBinaryOperator",e[e.LastBinaryOperator=79]="LastBinaryOperator",e[e.FirstStatement=244]="FirstStatement",e[e.LastStatement=260]="LastStatement",e[e.FirstNode=167]="FirstNode",e[e.FirstJSDocNode=310]="FirstJSDocNode",e[e.LastJSDocNode=352]="LastJSDocNode",e[e.FirstJSDocTagNode=328]="FirstJSDocTagNode",e[e.LastJSDocTagNode=352]="LastJSDocTagNode",e[e.FirstContextualKeyword=128]="FirstContextualKeyword",e[e.LastContextualKeyword=166]="LastContextualKeyword",e))(Q||{}),X=(e=>(e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.Using=4]="Using",e[e.AwaitUsing=6]="AwaitUsing",e[e.NestedNamespace=8]="NestedNamespace",e[e.Synthesized=16]="Synthesized",e[e.Namespace=32]="Namespace",e[e.OptionalChain=64]="OptionalChain",e[e.ExportContext=128]="ExportContext",e[e.ContainsThis=256]="ContainsThis",e[e.HasImplicitReturn=512]="HasImplicitReturn",e[e.HasExplicitReturn=1024]="HasExplicitReturn",e[e.GlobalAugmentation=2048]="GlobalAugmentation",e[e.HasAsyncFunctions=4096]="HasAsyncFunctions",e[e.DisallowInContext=8192]="DisallowInContext",e[e.YieldContext=16384]="YieldContext",e[e.DecoratorContext=32768]="DecoratorContext",e[e.AwaitContext=65536]="AwaitContext",e[e.DisallowConditionalTypesContext=131072]="DisallowConditionalTypesContext",e[e.ThisNodeHasError=262144]="ThisNodeHasError",e[e.JavaScriptFile=524288]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=1048576]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=2097152]="HasAggregatedChildData",e[e.PossiblyContainsDynamicImport=4194304]="PossiblyContainsDynamicImport",e[e.PossiblyContainsImportMeta=8388608]="PossiblyContainsImportMeta",e[e.JSDoc=16777216]="JSDoc",e[e.Ambient=33554432]="Ambient",e[e.InWithStatement=67108864]="InWithStatement",e[e.JsonFile=134217728]="JsonFile",e[e.TypeCached=268435456]="TypeCached",e[e.Deprecated=536870912]="Deprecated",e[e.BlockScoped=7]="BlockScoped",e[e.Constant=6]="Constant",e[e.ReachabilityCheckFlags=1536]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=5632]="ReachabilityAndEmitFlags",e[e.ContextFlags=101441536]="ContextFlags",e[e.TypeExcludesFlags=81920]="TypeExcludesFlags",e[e.PermanentlySetIncrementalFlags=12582912]="PermanentlySetIncrementalFlags",e[e.IdentifierHasExtendedUnicodeEscape=256]="IdentifierHasExtendedUnicodeEscape",e[e.IdentifierIsInJSDocNamespace=4096]="IdentifierIsInJSDocNamespace",e))(X||{}),Y=(e=>(e[e.None=0]="None",e[e.Public=1]="Public",e[e.Private=2]="Private",e[e.Protected=4]="Protected",e[e.Readonly=8]="Readonly",e[e.Override=16]="Override",e[e.Export=32]="Export",e[e.Abstract=64]="Abstract",e[e.Ambient=128]="Ambient",e[e.Static=256]="Static",e[e.Accessor=512]="Accessor",e[e.Async=1024]="Async",e[e.Default=2048]="Default",e[e.Const=4096]="Const",e[e.In=8192]="In",e[e.Out=16384]="Out",e[e.Decorator=32768]="Decorator",e[e.Deprecated=65536]="Deprecated",e[e.JSDocPublic=8388608]="JSDocPublic",e[e.JSDocPrivate=16777216]="JSDocPrivate",e[e.JSDocProtected=33554432]="JSDocProtected",e[e.JSDocReadonly=67108864]="JSDocReadonly",e[e.JSDocOverride=134217728]="JSDocOverride",e[e.SyntacticOrJSDocModifiers=31]="SyntacticOrJSDocModifiers",e[e.SyntacticOnlyModifiers=65504]="SyntacticOnlyModifiers",e[e.SyntacticModifiers=65535]="SyntacticModifiers",e[e.JSDocCacheOnlyModifiers=260046848]="JSDocCacheOnlyModifiers",e[e.JSDocOnlyModifiers=65536]="JSDocOnlyModifiers",e[e.NonCacheOnlyModifiers=131071]="NonCacheOnlyModifiers",e[e.HasComputedJSDocModifiers=268435456]="HasComputedJSDocModifiers",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=7]="AccessibilityModifier",e[e.ParameterPropertyModifier=31]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=6]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=28895]="TypeScriptModifier",e[e.ExportDefault=2080]="ExportDefault",e[e.All=131071]="All",e[e.Modifier=98303]="Modifier",e))(Y||{}),Z=(e=>(e[e.None=0]="None",e[e.IntrinsicNamedElement=1]="IntrinsicNamedElement",e[e.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",e[e.IntrinsicElement=3]="IntrinsicElement",e))(Z||{}),ee=(e=>(e[e.None=0]="None",e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.ReportsUnmeasurable=8]="ReportsUnmeasurable",e[e.ReportsUnreliable=16]="ReportsUnreliable",e[e.ReportsMask=24]="ReportsMask",e[e.ComplexityOverflow=32]="ComplexityOverflow",e[e.StackDepthOverflow=64]="StackDepthOverflow",e[e.Overflow=96]="Overflow",e))(ee||{}),te=(e=>(e[e.None=0]="None",e[e.Always=1]="Always",e[e.Never=2]="Never",e[e.Sometimes=3]="Sometimes",e))(te||{}),ne=(e=>(e[e.None=0]="None",e[e.Auto=1]="Auto",e[e.Loop=2]="Loop",e[e.Unique=3]="Unique",e[e.Node=4]="Node",e[e.KindMask=7]="KindMask",e[e.ReservedInNestedScopes=8]="ReservedInNestedScopes",e[e.Optimistic=16]="Optimistic",e[e.FileLevel=32]="FileLevel",e[e.AllowNameSubstitution=64]="AllowNameSubstitution",e))(ne||{}),re=(e=>(e[e.None=0]="None",e[e.HasIndices=1]="HasIndices",e[e.Global=2]="Global",e[e.IgnoreCase=4]="IgnoreCase",e[e.Multiline=8]="Multiline",e[e.DotAll=16]="DotAll",e[e.Unicode=32]="Unicode",e[e.UnicodeSets=64]="UnicodeSets",e[e.Sticky=128]="Sticky",e[e.AnyUnicodeMode=96]="AnyUnicodeMode",e[e.Modifiers=28]="Modifiers",e))(re||{}),ie=(e=>(e[e.None=0]="None",e[e.PrecedingLineBreak=1]="PrecedingLineBreak",e[e.PrecedingJSDocComment=2]="PrecedingJSDocComment",e[e.Unterminated=4]="Unterminated",e[e.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",e[e.Scientific=16]="Scientific",e[e.Octal=32]="Octal",e[e.HexSpecifier=64]="HexSpecifier",e[e.BinarySpecifier=128]="BinarySpecifier",e[e.OctalSpecifier=256]="OctalSpecifier",e[e.ContainsSeparator=512]="ContainsSeparator",e[e.UnicodeEscape=1024]="UnicodeEscape",e[e.ContainsInvalidEscape=2048]="ContainsInvalidEscape",e[e.HexEscape=4096]="HexEscape",e[e.ContainsLeadingZero=8192]="ContainsLeadingZero",e[e.ContainsInvalidSeparator=16384]="ContainsInvalidSeparator",e[e.PrecedingJSDocLeadingAsterisks=32768]="PrecedingJSDocLeadingAsterisks",e[e.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",e[e.WithSpecifier=448]="WithSpecifier",e[e.StringLiteralFlags=7176]="StringLiteralFlags",e[e.NumericLiteralFlags=25584]="NumericLiteralFlags",e[e.TemplateLiteralLikeFlags=7176]="TemplateLiteralLikeFlags",e[e.IsInvalid=26656]="IsInvalid",e))(ie||{}),oe=(e=>(e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Call=512]="Call",e[e.ReduceLabel=1024]="ReduceLabel",e[e.Referenced=2048]="Referenced",e[e.Shared=4096]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition",e))(oe||{}),ae=(e=>(e[e.ExpectError=0]="ExpectError",e[e.Ignore=1]="Ignore",e))(ae||{}),se=class{},ce=(e=>(e[e.RootFile=0]="RootFile",e[e.SourceFromProjectReference=1]="SourceFromProjectReference",e[e.OutputFromProjectReference=2]="OutputFromProjectReference",e[e.Import=3]="Import",e[e.ReferenceFile=4]="ReferenceFile",e[e.TypeReferenceDirective=5]="TypeReferenceDirective",e[e.LibFile=6]="LibFile",e[e.LibReferenceDirective=7]="LibReferenceDirective",e[e.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",e))(ce||{}),le=(e=>(e[e.FilePreprocessingLibReferenceDiagnostic=0]="FilePreprocessingLibReferenceDiagnostic",e[e.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",e[e.ResolutionDiagnostics=2]="ResolutionDiagnostics",e))(le||{}),de=(e=>(e[e.Js=0]="Js",e[e.Dts=1]="Dts",e[e.BuilderSignature=2]="BuilderSignature",e))(de||{}),pe=(e=>(e[e.Not=0]="Not",e[e.SafeModules=1]="SafeModules",e[e.Completely=2]="Completely",e))(pe||{}),ue=(e=>(e[e.Success=0]="Success",e[e.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",e[e.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",e[e.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",e[e.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",e))(ue||{}),me=(e=>(e[e.Ok=0]="Ok",e[e.NeedsOverride=1]="NeedsOverride",e[e.HasInvalidOverride=2]="HasInvalidOverride",e))(me||{}),_e=(e=>(e[e.None=0]="None",e[e.Literal=1]="Literal",e[e.Subtype=2]="Subtype",e))(_e||{}),fe=(e=>(e[e.None=0]="None",e[e.NoSupertypeReduction=1]="NoSupertypeReduction",e[e.NoConstraintReduction=2]="NoConstraintReduction",e))(fe||{}),ge=(e=>(e[e.None=0]="None",e[e.Signature=1]="Signature",e[e.NoConstraints=2]="NoConstraints",e[e.Completions=4]="Completions",e[e.SkipBindingPatterns=8]="SkipBindingPatterns",e))(ge||{}),ye=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",e[e.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",e[e.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",e[e.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",e[e.AllowEmptyTuple=524288]="AllowEmptyTuple",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",e[e.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",e[e.IgnoreErrors=70221824]="IgnoreErrors",e[e.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.InInitialEntityName=16777216]="InInitialEntityName",e))(ye||{}),he=(e=>(e[e.None=0]="None",e[e.WriteComputedProps=1]="WriteComputedProps",e[e.NoSyntacticPrinter=2]="NoSyntacticPrinter",e[e.DoNotIncludeSymbolChain=4]="DoNotIncludeSymbolChain",e[e.AllowUnresolvedNames=8]="AllowUnresolvedNames",e))(he||{}),Te=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AddUndefined=131072]="AddUndefined",e[e.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",e[e.InArrayType=524288]="InArrayType",e[e.InElementType=2097152]="InElementType",e[e.InFirstTypeArgument=4194304]="InFirstTypeArgument",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.NodeBuilderFlagsMask=848330095]="NodeBuilderFlagsMask",e))(Te||{}),Se=(e=>(e[e.None=0]="None",e[e.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",e[e.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",e[e.AllowAnyNodeKind=4]="AllowAnyNodeKind",e[e.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",e[e.WriteComputedProps=16]="WriteComputedProps",e[e.DoNotIncludeSymbolChain=32]="DoNotIncludeSymbolChain",e))(Se||{}),xe=(e=>(e[e.Accessible=0]="Accessible",e[e.NotAccessible=1]="NotAccessible",e[e.CannotBeNamed=2]="CannotBeNamed",e[e.NotResolved=3]="NotResolved",e))(xe||{}),ve=(e=>(e[e.This=0]="This",e[e.Identifier=1]="Identifier",e[e.AssertsThis=2]="AssertsThis",e[e.AssertsIdentifier=3]="AssertsIdentifier",e))(ve||{}),be=(e=>(e[e.Unknown=0]="Unknown",e[e.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",e[e.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",e[e.NumberLikeType=3]="NumberLikeType",e[e.BigIntLikeType=4]="BigIntLikeType",e[e.StringLikeType=5]="StringLikeType",e[e.BooleanType=6]="BooleanType",e[e.ArrayLikeType=7]="ArrayLikeType",e[e.ESSymbolType=8]="ESSymbolType",e[e.Promise=9]="Promise",e[e.TypeWithCallSignature=10]="TypeWithCallSignature",e[e.ObjectType=11]="ObjectType",e))(be||{}),Ce=(e=>(e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.Alias=2097152]="Alias",e[e.Prototype=4194304]="Prototype",e[e.ExportStar=8388608]="ExportStar",e[e.Optional=16777216]="Optional",e[e.Transient=33554432]="Transient",e[e.Assignment=67108864]="Assignment",e[e.ModuleExports=134217728]="ModuleExports",e[e.All=-1]="All",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=111551]="Value",e[e.Type=788968]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",e[e.ParameterExcludes=111551]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=110991]="FunctionExcludes",e[e.ClassExcludes=899503]="ClassExcludes",e[e.InterfaceExcludes=788872]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=110735]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=103359]="MethodExcludes",e[e.GetAccessorExcludes=46015]="GetAccessorExcludes",e[e.SetAccessorExcludes=78783]="SetAccessorExcludes",e[e.AccessorExcludes=13247]="AccessorExcludes",e[e.TypeParameterExcludes=526824]="TypeParameterExcludes",e[e.TypeAliasExcludes=788968]="TypeAliasExcludes",e[e.AliasExcludes=2097152]="AliasExcludes",e[e.ModuleMember=2623475]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.ClassMember=106500]="ClassMember",e[e.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",e[e.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",e[e.Classifiable=2885600]="Classifiable",e[e.LateBindingContainer=6256]="LateBindingContainer",e))(Ce||{}),Ee=(e=>(e[e.None=0]="None",e[e.Instantiated=1]="Instantiated",e[e.SyntheticProperty=2]="SyntheticProperty",e[e.SyntheticMethod=4]="SyntheticMethod",e[e.Readonly=8]="Readonly",e[e.ReadPartial=16]="ReadPartial",e[e.WritePartial=32]="WritePartial",e[e.HasNonUniformType=64]="HasNonUniformType",e[e.HasLiteralType=128]="HasLiteralType",e[e.ContainsPublic=256]="ContainsPublic",e[e.ContainsProtected=512]="ContainsProtected",e[e.ContainsPrivate=1024]="ContainsPrivate",e[e.ContainsStatic=2048]="ContainsStatic",e[e.Late=4096]="Late",e[e.ReverseMapped=8192]="ReverseMapped",e[e.OptionalParameter=16384]="OptionalParameter",e[e.RestParameter=32768]="RestParameter",e[e.DeferredType=65536]="DeferredType",e[e.HasNeverType=131072]="HasNeverType",e[e.Mapped=262144]="Mapped",e[e.StripOptional=524288]="StripOptional",e[e.Unresolved=1048576]="Unresolved",e[e.Synthetic=6]="Synthetic",e[e.Discriminant=192]="Discriminant",e[e.Partial=48]="Partial",e))(Ee||{}),Ne=(e=>(e.Call="__call",e.Constructor="__constructor",e.New="__new",e.Index="__index",e.ExportStar="__export",e.Global="__global",e.Missing="__missing",e.Type="__type",e.Object="__object",e.JSXAttributes="__jsxAttributes",e.Class="__class",e.Function="__function",e.Computed="__computed",e.Resolving="__resolving__",e.ExportEquals="export=",e.Default="default",e.This="this",e.InstantiationExpression="__instantiationExpression",e.ImportAttributes="__importAttributes",e))(Ne||{}),ke=(e=>(e[e.None=0]="None",e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.CaptureNewTarget=8]="CaptureNewTarget",e[e.SuperInstance=16]="SuperInstance",e[e.SuperStatic=32]="SuperStatic",e[e.ContextChecked=64]="ContextChecked",e[e.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",e[e.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",e[e.CaptureArguments=512]="CaptureArguments",e[e.EnumValuesComputed=1024]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",e[e.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",e[e.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",e[e.NeedsLoopOutParameter=65536]="NeedsLoopOutParameter",e[e.AssignmentsMarked=131072]="AssignmentsMarked",e[e.ContainsConstructorReference=262144]="ContainsConstructorReference",e[e.ConstructorReference=536870912]="ConstructorReference",e[e.ContainsClassWithPrivateIdentifiers=1048576]="ContainsClassWithPrivateIdentifiers",e[e.ContainsSuperPropertyInStaticInitializer=2097152]="ContainsSuperPropertyInStaticInitializer",e[e.InCheckIdentifier=4194304]="InCheckIdentifier",e[e.PartiallyTypeChecked=8388608]="PartiallyTypeChecked",e[e.LazyFlags=539358128]="LazyFlags",e))(ke||{}),Fe=(e=>(e[e.Any=1]="Any",e[e.Unknown=2]="Unknown",e[e.String=4]="String",e[e.Number=8]="Number",e[e.Boolean=16]="Boolean",e[e.Enum=32]="Enum",e[e.BigInt=64]="BigInt",e[e.StringLiteral=128]="StringLiteral",e[e.NumberLiteral=256]="NumberLiteral",e[e.BooleanLiteral=512]="BooleanLiteral",e[e.EnumLiteral=1024]="EnumLiteral",e[e.BigIntLiteral=2048]="BigIntLiteral",e[e.ESSymbol=4096]="ESSymbol",e[e.UniqueESSymbol=8192]="UniqueESSymbol",e[e.Void=16384]="Void",e[e.Undefined=32768]="Undefined",e[e.Null=65536]="Null",e[e.Never=131072]="Never",e[e.TypeParameter=262144]="TypeParameter",e[e.Object=524288]="Object",e[e.Union=1048576]="Union",e[e.Intersection=2097152]="Intersection",e[e.Index=4194304]="Index",e[e.IndexedAccess=8388608]="IndexedAccess",e[e.Conditional=16777216]="Conditional",e[e.Substitution=33554432]="Substitution",e[e.NonPrimitive=67108864]="NonPrimitive",e[e.TemplateLiteral=134217728]="TemplateLiteral",e[e.StringMapping=268435456]="StringMapping",e[e.Reserved1=536870912]="Reserved1",e[e.Reserved2=1073741824]="Reserved2",e[e.AnyOrUnknown=3]="AnyOrUnknown",e[e.Nullable=98304]="Nullable",e[e.Literal=2944]="Literal",e[e.Unit=109472]="Unit",e[e.Freshable=2976]="Freshable",e[e.StringOrNumberLiteral=384]="StringOrNumberLiteral",e[e.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",e[e.DefinitelyFalsy=117632]="DefinitelyFalsy",e[e.PossiblyFalsy=117724]="PossiblyFalsy",e[e.Intrinsic=67359327]="Intrinsic",e[e.StringLike=402653316]="StringLike",e[e.NumberLike=296]="NumberLike",e[e.BigIntLike=2112]="BigIntLike",e[e.BooleanLike=528]="BooleanLike",e[e.EnumLike=1056]="EnumLike",e[e.ESSymbolLike=12288]="ESSymbolLike",e[e.VoidLike=49152]="VoidLike",e[e.Primitive=402784252]="Primitive",e[e.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",e[e.DisjointDomains=469892092]="DisjointDomains",e[e.UnionOrIntersection=3145728]="UnionOrIntersection",e[e.StructuredType=3670016]="StructuredType",e[e.TypeVariable=8650752]="TypeVariable",e[e.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",e[e.InstantiablePrimitive=406847488]="InstantiablePrimitive",e[e.Instantiable=465829888]="Instantiable",e[e.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",e[e.ObjectFlagsType=3899393]="ObjectFlagsType",e[e.Simplifiable=25165824]="Simplifiable",e[e.Singleton=67358815]="Singleton",e[e.Narrowable=536624127]="Narrowable",e[e.IncludesMask=473694207]="IncludesMask",e[e.IncludesMissingType=262144]="IncludesMissingType",e[e.IncludesNonWideningType=4194304]="IncludesNonWideningType",e[e.IncludesWildcard=8388608]="IncludesWildcard",e[e.IncludesEmptyObject=16777216]="IncludesEmptyObject",e[e.IncludesInstantiable=33554432]="IncludesInstantiable",e[e.IncludesConstrainedTypeVariable=536870912]="IncludesConstrainedTypeVariable",e[e.IncludesError=1073741824]="IncludesError",e[e.NotPrimitiveUnion=36323331]="NotPrimitiveUnion",e))(Fe||{}),Pe=(e=>(e[e.None=0]="None",e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ReverseMapped=1024]="ReverseMapped",e[e.JsxAttributes=2048]="JsxAttributes",e[e.JSLiteral=4096]="JSLiteral",e[e.FreshLiteral=8192]="FreshLiteral",e[e.ArrayLiteral=16384]="ArrayLiteral",e[e.PrimitiveUnion=32768]="PrimitiveUnion",e[e.ContainsWideningType=65536]="ContainsWideningType",e[e.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",e[e.NonInferrableType=262144]="NonInferrableType",e[e.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",e[e.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",e[e.SingleSignatureType=134217728]="SingleSignatureType",e[e.ClassOrInterface=3]="ClassOrInterface",e[e.RequiresWidening=196608]="RequiresWidening",e[e.PropagatingFlags=458752]="PropagatingFlags",e[e.InstantiatedMapped=96]="InstantiatedMapped",e[e.ObjectTypeKindMask=1343]="ObjectTypeKindMask",e[e.ContainsSpread=2097152]="ContainsSpread",e[e.ObjectRestType=4194304]="ObjectRestType",e[e.InstantiationExpressionType=8388608]="InstantiationExpressionType",e[e.IsClassInstanceClone=16777216]="IsClassInstanceClone",e[e.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",e[e.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",e[e.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",e[e.IsGenericObjectType=4194304]="IsGenericObjectType",e[e.IsGenericIndexType=8388608]="IsGenericIndexType",e[e.IsGenericType=12582912]="IsGenericType",e[e.ContainsIntersections=16777216]="ContainsIntersections",e[e.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",e[e.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",e[e.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",e[e.IsNeverIntersection=33554432]="IsNeverIntersection",e[e.IsConstrainedTypeVariable=67108864]="IsConstrainedTypeVariable",e))(Pe||{}),De=(e=>(e[e.Invariant=0]="Invariant",e[e.Covariant=1]="Covariant",e[e.Contravariant=2]="Contravariant",e[e.Bivariant=3]="Bivariant",e[e.Independent=4]="Independent",e[e.VarianceMask=7]="VarianceMask",e[e.Unmeasurable=8]="Unmeasurable",e[e.Unreliable=16]="Unreliable",e[e.AllowsStructuralFallback=24]="AllowsStructuralFallback",e))(De||{}),Ie=(e=>(e[e.Required=1]="Required",e[e.Optional=2]="Optional",e[e.Rest=4]="Rest",e[e.Variadic=8]="Variadic",e[e.Fixed=3]="Fixed",e[e.Variable=12]="Variable",e[e.NonRequired=14]="NonRequired",e[e.NonRest=11]="NonRest",e))(Ie||{}),Ae=(e=>(e[e.None=0]="None",e[e.IncludeUndefined=1]="IncludeUndefined",e[e.NoIndexSignatures=2]="NoIndexSignatures",e[e.Writing=4]="Writing",e[e.CacheSymbol=8]="CacheSymbol",e[e.AllowMissing=16]="AllowMissing",e[e.ExpressionPosition=32]="ExpressionPosition",e[e.ReportDeprecated=64]="ReportDeprecated",e[e.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",e[e.Contextual=256]="Contextual",e[e.Persistent=1]="Persistent",e))(Ae||{}),Oe=(e=>(e[e.None=0]="None",e[e.StringsOnly=1]="StringsOnly",e[e.NoIndexSignatures=2]="NoIndexSignatures",e[e.NoReducibleCheck=4]="NoReducibleCheck",e))(Oe||{}),we=(e=>(e[e.Component=0]="Component",e[e.Function=1]="Function",e[e.Mixed=2]="Mixed",e))(we||{}),Le=(e=>(e[e.Call=0]="Call",e[e.Construct=1]="Construct",e))(Le||{}),Me=(e=>(e[e.None=0]="None",e[e.HasRestParameter=1]="HasRestParameter",e[e.HasLiteralTypes=2]="HasLiteralTypes",e[e.Abstract=4]="Abstract",e[e.IsInnerCallChain=8]="IsInnerCallChain",e[e.IsOuterCallChain=16]="IsOuterCallChain",e[e.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",e[e.IsNonInferrable=64]="IsNonInferrable",e[e.IsSignatureCandidateForOverloadFailure=128]="IsSignatureCandidateForOverloadFailure",e[e.PropagatingFlags=167]="PropagatingFlags",e[e.CallChainFlags=24]="CallChainFlags",e))(Me||{}),Re=(e=>(e[e.String=0]="String",e[e.Number=1]="Number",e))(Re||{}),Be=(e=>(e[e.Simple=0]="Simple",e[e.Array=1]="Array",e[e.Deferred=2]="Deferred",e[e.Function=3]="Function",e[e.Composite=4]="Composite",e[e.Merged=5]="Merged",e))(Be||{}),je=(e=>(e[e.None=0]="None",e[e.NakedTypeVariable=1]="NakedTypeVariable",e[e.SpeculativeTuple=2]="SpeculativeTuple",e[e.SubstituteSource=4]="SubstituteSource",e[e.HomomorphicMappedType=8]="HomomorphicMappedType",e[e.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",e[e.MappedTypeConstraint=32]="MappedTypeConstraint",e[e.ContravariantConditional=64]="ContravariantConditional",e[e.ReturnType=128]="ReturnType",e[e.LiteralKeyof=256]="LiteralKeyof",e[e.NoConstraints=512]="NoConstraints",e[e.AlwaysStrict=1024]="AlwaysStrict",e[e.MaxValue=2048]="MaxValue",e[e.PriorityImpliesCombination=416]="PriorityImpliesCombination",e[e.Circularity=-1]="Circularity",e))(je||{}),Je=(e=>(e[e.None=0]="None",e[e.NoDefault=1]="NoDefault",e[e.AnyDefault=2]="AnyDefault",e[e.SkippedGenericFunction=4]="SkippedGenericFunction",e))(Je||{}),We=(e=>(e[e.False=0]="False",e[e.Unknown=1]="Unknown",e[e.Maybe=3]="Maybe",e[e.True=-1]="True",e))(We||{}),Ue=(e=>(e[e.None=0]="None",e[e.ExportsProperty=1]="ExportsProperty",e[e.ModuleExports=2]="ModuleExports",e[e.PrototypeProperty=3]="PrototypeProperty",e[e.ThisProperty=4]="ThisProperty",e[e.Property=5]="Property",e[e.Prototype=6]="Prototype",e[e.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",e[e.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",e[e.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",e))(Ue||{}),ze=(e=>(e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message",e))(ze||{});function diagnosticCategoryName(e,t=!0){const n=ze[e.category];return t?n.toLowerCase():n}var Ve=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e[e.Node10=2]="Node10",e[e.Node16=3]="Node16",e[e.NodeNext=99]="NodeNext",e[e.Bundler=100]="Bundler",e))(Ve||{}),qe=(e=>(e[e.Legacy=1]="Legacy",e[e.Auto=2]="Auto",e[e.Force=3]="Force",e))(qe||{}),He=(e=>(e[e.FixedPollingInterval=0]="FixedPollingInterval",e[e.PriorityPollingInterval=1]="PriorityPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e[e.UseFsEvents=4]="UseFsEvents",e[e.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",e))(He||{}),Ke=(e=>(e[e.UseFsEvents=0]="UseFsEvents",e[e.FixedPollingInterval=1]="FixedPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e))(Ke||{}),Ge=(e=>(e[e.FixedInterval=0]="FixedInterval",e[e.PriorityInterval=1]="PriorityInterval",e[e.DynamicPriority=2]="DynamicPriority",e[e.FixedChunkSize=3]="FixedChunkSize",e))(Ge||{}),$e=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ES2020=6]="ES2020",e[e.ES2022=7]="ES2022",e[e.ESNext=99]="ESNext",e[e.Node16=100]="Node16",e[e.Node18=101]="Node18",e[e.Node20=102]="Node20",e[e.NodeNext=199]="NodeNext",e[e.Preserve=200]="Preserve",e))($e||{}),Qe=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(Qe||{}),Xe=(e=>(e[e.Remove=0]="Remove",e[e.Preserve=1]="Preserve",e[e.Error=2]="Error",e))(Xe||{}),Ye=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(Ye||{}),Ze=(e=>(e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX",e[e.External=5]="External",e[e.JSON=6]="JSON",e[e.Deferred=7]="Deferred",e))(Ze||{}),et=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ES2021=8]="ES2021",e[e.ES2022=9]="ES2022",e[e.ES2023=10]="ES2023",e[e.ES2024=11]="ES2024",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(et||{}),tt=(e=>(e[e.Standard=0]="Standard",e[e.JSX=1]="JSX",e))(tt||{}),nt=(e=>(e[e.None=0]="None",e[e.Recursive=1]="Recursive",e))(nt||{}),rt=(e=>(e[e.EOF=-1]="EOF",e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e.replacementCharacter=65533]="replacementCharacter",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab",e))(rt||{}),it=(e=>(e.Ts=".ts",e.Tsx=".tsx",e.Dts=".d.ts",e.Js=".js",e.Jsx=".jsx",e.Json=".json",e.TsBuildInfo=".tsbuildinfo",e.Mjs=".mjs",e.Mts=".mts",e.Dmts=".d.mts",e.Cjs=".cjs",e.Cts=".cts",e.Dcts=".d.cts",e))(it||{}),ot=(e=>(e[e.None=0]="None",e[e.ContainsTypeScript=1]="ContainsTypeScript",e[e.ContainsJsx=2]="ContainsJsx",e[e.ContainsESNext=4]="ContainsESNext",e[e.ContainsES2022=8]="ContainsES2022",e[e.ContainsES2021=16]="ContainsES2021",e[e.ContainsES2020=32]="ContainsES2020",e[e.ContainsES2019=64]="ContainsES2019",e[e.ContainsES2018=128]="ContainsES2018",e[e.ContainsES2017=256]="ContainsES2017",e[e.ContainsES2016=512]="ContainsES2016",e[e.ContainsES2015=1024]="ContainsES2015",e[e.ContainsGenerator=2048]="ContainsGenerator",e[e.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",e[e.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",e[e.ContainsLexicalThis=16384]="ContainsLexicalThis",e[e.ContainsRestOrSpread=32768]="ContainsRestOrSpread",e[e.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",e[e.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=524288]="ContainsBindingPattern",e[e.ContainsYield=1048576]="ContainsYield",e[e.ContainsAwait=2097152]="ContainsAwait",e[e.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",e[e.ContainsDynamicImport=8388608]="ContainsDynamicImport",e[e.ContainsClassFields=16777216]="ContainsClassFields",e[e.ContainsDecorators=33554432]="ContainsDecorators",e[e.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",e[e.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",e[e.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",e[e.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",e[e.HasComputedFlags=-2147483648]="HasComputedFlags",e[e.AssertTypeScript=1]="AssertTypeScript",e[e.AssertJsx=2]="AssertJsx",e[e.AssertESNext=4]="AssertESNext",e[e.AssertES2022=8]="AssertES2022",e[e.AssertES2021=16]="AssertES2021",e[e.AssertES2020=32]="AssertES2020",e[e.AssertES2019=64]="AssertES2019",e[e.AssertES2018=128]="AssertES2018",e[e.AssertES2017=256]="AssertES2017",e[e.AssertES2016=512]="AssertES2016",e[e.AssertES2015=1024]="AssertES2015",e[e.AssertGenerator=2048]="AssertGenerator",e[e.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",e[e.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",e[e.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",e[e.NodeExcludes=-2147483648]="NodeExcludes",e[e.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",e[e.FunctionExcludes=-1937940480]="FunctionExcludes",e[e.ConstructorExcludes=-1937948672]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",e[e.PropertyExcludes=-2013249536]="PropertyExcludes",e[e.ClassExcludes=-2147344384]="ClassExcludes",e[e.ModuleExcludes=-1941676032]="ModuleExcludes",e[e.TypeExcludes=-2]="TypeExcludes",e[e.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",e[e.ParameterExcludes=-2147483648]="ParameterExcludes",e[e.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",e[e.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",e[e.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",e[e.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",e))(ot||{}),at=(e=>(e[e.TabStop=0]="TabStop",e[e.Placeholder=1]="Placeholder",e[e.Choice=2]="Choice",e[e.Variable=3]="Variable",e))(at||{}),st=(e=>(e[e.None=0]="None",e[e.SingleLine=1]="SingleLine",e[e.MultiLine=2]="MultiLine",e[e.AdviseOnEmitNode=4]="AdviseOnEmitNode",e[e.NoSubstitution=8]="NoSubstitution",e[e.CapturesThis=16]="CapturesThis",e[e.NoLeadingSourceMap=32]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=64]="NoTrailingSourceMap",e[e.NoSourceMap=96]="NoSourceMap",e[e.NoNestedSourceMaps=128]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=768]="NoTokenSourceMaps",e[e.NoLeadingComments=1024]="NoLeadingComments",e[e.NoTrailingComments=2048]="NoTrailingComments",e[e.NoComments=3072]="NoComments",e[e.NoNestedComments=4096]="NoNestedComments",e[e.HelperName=8192]="HelperName",e[e.ExportName=16384]="ExportName",e[e.LocalName=32768]="LocalName",e[e.InternalName=65536]="InternalName",e[e.Indented=131072]="Indented",e[e.NoIndentation=262144]="NoIndentation",e[e.AsyncFunctionBody=524288]="AsyncFunctionBody",e[e.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",e[e.CustomPrologue=2097152]="CustomPrologue",e[e.NoHoisting=4194304]="NoHoisting",e[e.Iterator=8388608]="Iterator",e[e.NoAsciiEscaping=16777216]="NoAsciiEscaping",e))(st||{}),ct=(e=>(e[e.None=0]="None",e[e.TypeScriptClassWrapper=1]="TypeScriptClassWrapper",e[e.NeverApplyImportHelper=2]="NeverApplyImportHelper",e[e.IgnoreSourceNewlines=4]="IgnoreSourceNewlines",e[e.Immutable=8]="Immutable",e[e.IndirectCall=16]="IndirectCall",e[e.TransformPrivateStaticElements=32]="TransformPrivateStaticElements",e))(ct||{}),lt={Classes:2,ForOf:2,Generators:2,Iteration:2,SpreadElements:2,RestElements:2,TaggedTemplates:2,DestructuringAssignment:2,BindingPatterns:2,ArrowFunctions:2,BlockScopedVariables:2,ObjectAssign:2,RegularExpressionFlagsUnicode:2,RegularExpressionFlagsSticky:2,Exponentiation:3,AsyncFunctions:4,ForAwaitOf:5,AsyncGenerators:5,AsyncIteration:5,ObjectSpreadRest:5,RegularExpressionFlagsDotAll:5,BindinglessCatch:6,BigInt:7,NullishCoalesce:7,OptionalChaining:7,LogicalAssignment:8,TopLevelAwait:9,ClassFields:9,PrivateNamesAndClassStaticBlocks:9,RegularExpressionFlagsHasIndices:9,ShebangComments:10,RegularExpressionFlagsUnicodeSets:11,UsingAndAwaitUsing:99,ClassAndClassElementDecorators:99},dt=(e=>(e[e.Extends=1]="Extends",e[e.Assign=2]="Assign",e[e.Rest=4]="Rest",e[e.Decorate=8]="Decorate",e[e.ESDecorateAndRunInitializers=8]="ESDecorateAndRunInitializers",e[e.Metadata=16]="Metadata",e[e.Param=32]="Param",e[e.Awaiter=64]="Awaiter",e[e.Generator=128]="Generator",e[e.Values=256]="Values",e[e.Read=512]="Read",e[e.SpreadArray=1024]="SpreadArray",e[e.Await=2048]="Await",e[e.AsyncGenerator=4096]="AsyncGenerator",e[e.AsyncDelegator=8192]="AsyncDelegator",e[e.AsyncValues=16384]="AsyncValues",e[e.ExportStar=32768]="ExportStar",e[e.ImportStar=65536]="ImportStar",e[e.ImportDefault=131072]="ImportDefault",e[e.MakeTemplateObject=262144]="MakeTemplateObject",e[e.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",e[e.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",e[e.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",e[e.SetFunctionName=4194304]="SetFunctionName",e[e.PropKey=8388608]="PropKey",e[e.AddDisposableResourceAndDisposeResources=16777216]="AddDisposableResourceAndDisposeResources",e[e.RewriteRelativeImportExtension=33554432]="RewriteRelativeImportExtension",e[e.FirstEmitHelper=1]="FirstEmitHelper",e[e.LastEmitHelper=16777216]="LastEmitHelper",e[e.ForOfIncludes=256]="ForOfIncludes",e[e.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",e[e.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",e[e.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",e[e.SpreadIncludes=1536]="SpreadIncludes",e))(dt||{}),pt=(e=>(e[e.SourceFile=0]="SourceFile",e[e.Expression=1]="Expression",e[e.IdentifierName=2]="IdentifierName",e[e.MappedTypeParameter=3]="MappedTypeParameter",e[e.Unspecified=4]="Unspecified",e[e.EmbeddedStatement=5]="EmbeddedStatement",e[e.JsxAttributeValue=6]="JsxAttributeValue",e[e.ImportTypeNodeAttributes=7]="ImportTypeNodeAttributes",e))(pt||{}),ut=(e=>(e[e.Parentheses=1]="Parentheses",e[e.TypeAssertions=2]="TypeAssertions",e[e.NonNullAssertions=4]="NonNullAssertions",e[e.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",e[e.ExpressionsWithTypeArguments=16]="ExpressionsWithTypeArguments",e[e.Satisfies=32]="Satisfies",e[e.Assertions=38]="Assertions",e[e.All=63]="All",e[e.ExcludeJSDocTypeAssertion=-2147483648]="ExcludeJSDocTypeAssertion",e))(ut||{}),mt=(e=>(e[e.None=0]="None",e[e.InParameters=1]="InParameters",e[e.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",e))(mt||{}),_t=(e=>(e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.AsteriskDelimited=32]="AsteriskDelimited",e[e.DelimitersMask=60]="DelimitersMask",e[e.AllowTrailingComma=64]="AllowTrailingComma",e[e.Indented=128]="Indented",e[e.SpaceBetweenBraces=256]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",e[e.Braces=1024]="Braces",e[e.Parenthesis=2048]="Parenthesis",e[e.AngleBrackets=4096]="AngleBrackets",e[e.SquareBrackets=8192]="SquareBrackets",e[e.BracketsMask=15360]="BracketsMask",e[e.OptionalIfUndefined=16384]="OptionalIfUndefined",e[e.OptionalIfEmpty=32768]="OptionalIfEmpty",e[e.Optional=49152]="Optional",e[e.PreferNewLine=65536]="PreferNewLine",e[e.NoTrailingNewLine=131072]="NoTrailingNewLine",e[e.NoInterveningComments=262144]="NoInterveningComments",e[e.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",e[e.SingleElement=1048576]="SingleElement",e[e.SpaceAfterList=2097152]="SpaceAfterList",e[e.Modifiers=2359808]="Modifiers",e[e.HeritageClauses=512]="HeritageClauses",e[e.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",e[e.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",e[e.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",e[e.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",e[e.UnionTypeConstituents=516]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",e[e.ImportAttributes=526226]="ImportAttributes",e[e.ImportClauseEntries=526226]="ImportClauseEntries",e[e.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",e[e.CommaListElements=528]="CommaListElements",e[e.CallExpressionArguments=2576]="CallExpressionArguments",e[e.NewExpressionArguments=18960]="NewExpressionArguments",e[e.TemplateExpressionSpans=262144]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=768]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=129]="MultiLineBlockStatements",e[e.VariableDeclarationList=528]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=0]="ClassHeritageClauses",e[e.ClassMembers=129]="ClassMembers",e[e.InterfaceMembers=129]="InterfaceMembers",e[e.EnumMembers=145]="EnumMembers",e[e.CaseBlockClauses=129]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",e[e.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",e[e.JsxElementAttributes=262656]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=528]="HeritageClauseTypes",e[e.SourceFileStatements=131073]="SourceFileStatements",e[e.Decorators=2146305]="Decorators",e[e.TypeArguments=53776]="TypeArguments",e[e.TypeParameters=53776]="TypeParameters",e[e.Parameters=2576]="Parameters",e[e.IndexSignatureParameters=8848]="IndexSignatureParameters",e[e.JSDocComment=33]="JSDocComment",e))(_t||{}),ft=(e=>(e[e.None=0]="None",e[e.TripleSlashXML=1]="TripleSlashXML",e[e.SingleLine=2]="SingleLine",e[e.MultiLine=4]="MultiLine",e[e.All=7]="All",e[e.Default=7]="Default",e))(ft||{}),gt={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0},{name:"preserve",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}},yt=(e=>(e[e.ParseAll=0]="ParseAll",e[e.ParseNone=1]="ParseNone",e[e.ParseForTypeErrors=2]="ParseForTypeErrors",e[e.ParseForTypeInfo=3]="ParseForTypeInfo",e))(yt||{});function generateDjb2Hash(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n);return t.toString()}function setStackTraceLimit(){Error.stackTraceLimit<100&&(Error.stackTraceLimit=100)}var ht=(e=>(e[e.Created=0]="Created",e[e.Changed=1]="Changed",e[e.Deleted=2]="Deleted",e))(ht||{}),Tt=(e=>(e[e.High=2e3]="High",e[e.Medium=500]="Medium",e[e.Low=250]="Low",e))(Tt||{}),St=new Date(0);function getModifiedTime(e,t){return e.getModifiedTime(t)||St}function createPollingIntervalBasedLevels(e){return{250:e.Low,500:e.Medium,2e3:e.High}}var xt={Low:32,Medium:64,High:256},vt=createPollingIntervalBasedLevels(xt),bt=createPollingIntervalBasedLevels(xt);function pollWatchedFileQueue(e,t,n,r,i){let o=n;for(let a=t.length;r&&a;nextPollIndex(),a--){const a=t[n];if(!a)continue;if(a.isClosed){t[n]=void 0;continue}r--;const s=onWatchedFileStat(a,getModifiedTime(e,a.fileName));a.isClosed?t[n]=void 0:(null==i||i(a,n,s),t[n]&&(o<n&&(t[o]=a,t[n]=void 0),o++))}return n;function nextPollIndex(){++n===t.length&&(o<n&&(t.length=o),n=0,o=0)}}function createDynamicPriorityPollingWatchFile(e){const t=[],n=[],r=createPollingIntervalQueue(250),i=createPollingIntervalQueue(500),o=createPollingIntervalQueue(2e3);return function watchFile2(n,r,i){const o={fileName:n,callback:r,unchangedPolls:0,mtime:getModifiedTime(e,n)};return t.push(o),addToPollingIntervalQueue(o,i),{close:()=>{o.isClosed=!0,unorderedRemoveItem(t,o)}}};function createPollingIntervalQueue(e){const t=[];return t.pollingInterval=e,t.pollIndex=0,t.pollScheduled=!1,t}function pollPollingIntervalQueue(e,t){t.pollIndex=pollQueue(t,t.pollingInterval,t.pollIndex,vt[t.pollingInterval]),t.length?scheduleNextPoll(t.pollingInterval):(h.assert(0===t.pollIndex),t.pollScheduled=!1)}function pollLowPollingIntervalQueue(e,t){pollQueue(n,250,0,n.length),pollPollingIntervalQueue(0,t),!t.pollScheduled&&n.length&&scheduleNextPoll(250)}function pollQueue(t,r,i,o){return pollWatchedFileQueue(e,t,i,o,function onWatchFileStat(e,i,o){o?(e.unchangedPolls=0,t!==n&&(t[i]=void 0,function addChangedFileToLowPollingIntervalQueue(e){n.push(e),scheduleNextPollIfNotAlreadyScheduled(250)}(e))):e.unchangedPolls!==bt[r]?e.unchangedPolls++:t===n?(e.unchangedPolls=1,t[i]=void 0,addToPollingIntervalQueue(e,250)):2e3!==r&&(e.unchangedPolls++,t[i]=void 0,addToPollingIntervalQueue(e,250===r?500:2e3))})}function pollingIntervalQueue(e){switch(e){case 250:return r;case 500:return i;case 2e3:return o}}function addToPollingIntervalQueue(e,t){pollingIntervalQueue(t).push(e),scheduleNextPollIfNotAlreadyScheduled(t)}function scheduleNextPollIfNotAlreadyScheduled(e){pollingIntervalQueue(e).pollScheduled||scheduleNextPoll(e)}function scheduleNextPoll(t){pollingIntervalQueue(t).pollScheduled=e.setTimeout(250===t?pollLowPollingIntervalQueue:pollPollingIntervalQueue,t,250===t?"pollLowPollingIntervalQueue":"pollPollingIntervalQueue",pollingIntervalQueue(t))}}function createUseFsEventsOnParentDirectoryWatchFile(e,t,n,r){const i=createMultiMap(),o=r?new Map:void 0,a=new Map,s=createGetCanonicalFileName(t);return function nonPollingWatchFile(t,r,c,l){const d=s(t);1===i.add(d,r).length&&o&&o.set(d,n(t)||St);const p=getDirectoryPath(d)||".",u=a.get(p)||function createDirectoryWatcher(t,r,c){const l=e(t,1,(e,r)=>{if(!isString(r))return;const a=getNormalizedAbsolutePath(r,t),c=s(a),l=a&&i.get(c);if(l){let t,r=1;if(o){const i=o.get(c);if("change"===e&&(t=n(a)||St,t.getTime()===i.getTime()))return;t||(t=n(a)||St),o.set(c,t),i===St?r=0:t===St&&(r=2)}for(const e of l)e(a,r,t)}},!1,500,c);return l.referenceCount=0,a.set(r,l),l}(getDirectoryPath(t)||".",p,l);return u.referenceCount++,{close:()=>{1===u.referenceCount?(u.close(),a.delete(p)):u.referenceCount--,i.remove(d,r)}}}}function createSingleWatcherPerName(e,t,n,r,i){const o=createGetCanonicalFileName(t)(n),a=e.get(o);return a?a.callbacks.push(r):e.set(o,{watcher:i((t,n,r)=>{var i;return null==(i=e.get(o))?void 0:i.callbacks.slice().forEach(e=>e(t,n,r))}),callbacks:[r]}),{close:()=>{const t=e.get(o);t&&orderedRemoveItem(t.callbacks,r)&&!t.callbacks.length&&(e.delete(o),closeFileWatcherOf(t))}}}function onWatchedFileStat(e,t){const n=e.mtime.getTime(),r=t.getTime();return n!==r&&(e.mtime=t,e.callback(e.fileName,getFileWatcherEventKind(n,r),t),!0)}function getFileWatcherEventKind(e,t){return 0===e?0:0===t?2:1}var Ct=["/node_modules/.","/.git","/.#"],Et=noop;function sysLog(e){return Et(e)}function setSysLog(e){Et=e}function createDirectoryWatcherSupportingRecursive({watchDirectory:e,useCaseSensitiveFileNames:t,getCurrentDirectory:n,getAccessibleSortedChildDirectories:r,fileSystemEntryExists:i,realpath:o,setTimeout:a,clearTimeout:s}){const c=new Map,d=createMultiMap(),p=new Map;let u;const m=getStringComparer(!t),_=createGetCanonicalFileName(t);return(t,n,r,i)=>r?createDirectoryWatcher(t,i,n):e(t,n,r,i);function createDirectoryWatcher(t,n,r,o){const m=_(t);let f=c.get(m);f?f.refCount++:(f={watcher:e(t,e=>{var r;isIgnoredPath(e,n)||((null==n?void 0:n.synchronousWatchDirectory)?((null==(r=c.get(m))?void 0:r.targetWatcher)||invokeCallbacks(t,m,e),updateChildWatches(t,m,n)):function nonSyncUpdateChildWatches(e,t,n,r){const o=c.get(t);if(o&&i(e,1))return void function scheduleUpdateChildWatches(e,t,n,r){const i=p.get(t);i?i.fileNames.push(n):p.set(t,{dirName:e,options:r,fileNames:[n]});u&&(s(u),u=void 0);u=a(onTimerToUpdateChildWatches,1e3,"timerToUpdateChildWatches")}(e,t,n,r);invokeCallbacks(e,t,n),closeTargetWatcher(o),removeChildWatches(o)}(t,m,e,n))},!1,n),refCount:1,childWatches:l,targetWatcher:void 0,links:void 0},c.set(m,f),updateChildWatches(t,m,n)),o&&(f.links??(f.links=new Set)).add(o);const g=r&&{dirName:t,callback:r};return g&&d.add(m,g),{dirName:t,close:()=>{var e;const t=h.checkDefined(c.get(m));g&&d.remove(m,g),o&&(null==(e=t.links)||e.delete(o)),t.refCount--,t.refCount||(c.delete(m),t.links=void 0,closeFileWatcherOf(t),closeTargetWatcher(t),t.childWatches.forEach(closeFileWatcher))}}}function invokeCallbacks(e,t,n,r){var i,o;let a,s;isString(n)?a=n:s=n,d.forEach((e,n)=>{if((!s||!0!==s.get(n))&&(n===t||startsWith(t,n)&&t[n.length]===Ft))if(s)if(r){const e=s.get(n);e?e.push(...r):s.set(n,r.slice())}else s.set(n,!0);else e.forEach(({callback:e})=>e(a))}),null==(o=null==(i=c.get(t))?void 0:i.links)||o.forEach(t=>{const toPathInLink=n=>combinePaths(t,getRelativePathFromDirectory(e,n,_));s?invokeCallbacks(t,_(t),s,null==r?void 0:r.map(toPathInLink)):invokeCallbacks(t,_(t),toPathInLink(a))})}function onTimerToUpdateChildWatches(){var e;u=void 0,sysLog(`sysLog:: onTimerToUpdateChildWatches:: ${p.size}`);const t=B(),n=new Map;for(;!u&&p.size;){const t=p.entries().next();h.assert(!t.done);const{value:[r,{dirName:i,options:o,fileNames:a}]}=t;p.delete(r);const s=updateChildWatches(i,r,o);(null==(e=c.get(r))?void 0:e.targetWatcher)||invokeCallbacks(i,r,n,s?void 0:a)}sysLog(`sysLog:: invokingWatchers:: Elapsed:: ${B()-t}ms:: ${p.size}`),d.forEach((e,t)=>{const r=n.get(t);r&&e.forEach(({callback:e,dirName:t})=>{isArray(r)?r.forEach(e):e(t)})});sysLog(`sysLog:: Elapsed:: ${B()-t}ms:: onTimerToUpdateChildWatches:: ${p.size} ${u}`)}function removeChildWatches(e){if(!e)return;const t=e.childWatches;e.childWatches=l;for(const e of t)e.close(),removeChildWatches(c.get(_(e.dirName)))}function closeTargetWatcher(e){(null==e?void 0:e.targetWatcher)&&(e.targetWatcher.close(),e.targetWatcher=void 0)}function updateChildWatches(e,t,n){const a=c.get(t);if(!a)return!1;const s=normalizePath(o(e));let d,p;return 0===m(s,e)?d=enumerateInsertsAndDeletes(i(e,1)?mapDefined(r(e),t=>{const r=getNormalizedAbsolutePath(t,e);return isIgnoredPath(r,n)||0!==m(r,normalizePath(o(r)))?void 0:r}):l,a.childWatches,(e,t)=>m(e,t.dirName),function createAndAddChildDirectoryWatcher(e){addChildDirectoryWatcher(createDirectoryWatcher(e,n))},closeFileWatcher,addChildDirectoryWatcher):a.targetWatcher&&0===m(s,a.targetWatcher.dirName)?(d=!1,h.assert(a.childWatches===l)):(closeTargetWatcher(a),a.targetWatcher=createDirectoryWatcher(s,n,void 0,e),a.childWatches.forEach(closeFileWatcher),d=!0),a.childWatches=p||l,d;function addChildDirectoryWatcher(e){(p||(p=[])).push(e)}}function isIgnoredPath(e,r){return some(Ct,n=>function isInPath(e,n){return!!e.includes(n)||!t&&_(e).includes(n)}(e,n))||isIgnoredByWatchOptions(e,r,t,n)}}var Nt=(e=>(e[e.File=0]="File",e[e.Directory=1]="Directory",e))(Nt||{});function isIgnoredByWatchOptions(e,t,n,r){return((null==t?void 0:t.excludeDirectories)||(null==t?void 0:t.excludeFiles))&&(matchesExclude(e,null==t?void 0:t.excludeFiles,n,r())||matchesExclude(e,null==t?void 0:t.excludeDirectories,n,r()))}function createFsWatchCallbackForDirectoryWatcherCallback(e,t,n,r,i){return(o,a)=>{if("rename"===o){const o=a?normalizePath(combinePaths(e,a)):e;a&&isIgnoredByWatchOptions(o,n,r,i)||t(o)}}}function createSystemWatchFunctions({pollingWatchFileWorker:e,getModifiedTime:t,setTimeout:n,clearTimeout:r,fsWatchWorker:i,fileSystemEntryExists:o,useCaseSensitiveFileNames:a,getCurrentDirectory:s,fsSupportsRecursiveFsWatch:c,getAccessibleSortedChildDirectories:l,realpath:d,tscWatchFile:p,useNonPollingWatchers:u,tscWatchDirectory:m,inodeWatching:_,fsWatchWithTimestamp:f,sysLog:g}){const y=new Map,T=new Map,S=new Map;let x,v,b,C,E=!1;return{watchFile:watchFile2,watchDirectory:function watchDirectory(e,t,i,p){if(c)return fsWatch(e,1,createFsWatchCallbackForDirectoryWatcherCallback(e,t,p,a,s),i,500,getFallbackOptions(p));C||(C=createDirectoryWatcherSupportingRecursive({useCaseSensitiveFileNames:a,getCurrentDirectory:s,fileSystemEntryExists:o,getAccessibleSortedChildDirectories:l,watchDirectory:nonRecursiveWatchDirectory,realpath:d,setTimeout:n,clearTimeout:r}));return C(e,t,i,p)}};function watchFile2(e,n,r,i){i=function updateOptionsForWatchFile(e,t){if(e&&void 0!==e.watchFile)return e;switch(p){case"PriorityPollingInterval":return{watchFile:1};case"DynamicPriorityPolling":return{watchFile:2};case"UseFsEvents":return generateWatchFileOptions(4,1,e);case"UseFsEventsWithFallbackDynamicPolling":return generateWatchFileOptions(4,2,e);case"UseFsEventsOnParentDirectory":t=!0;default:return t?generateWatchFileOptions(5,1,e):{watchFile:4}}}(i,u);const o=h.checkDefined(i.watchFile);switch(o){case 0:return pollingWatchFile(e,n,250,void 0);case 1:return pollingWatchFile(e,n,r,void 0);case 2:return ensureDynamicPollingWatchFile()(e,n,r,void 0);case 3:return ensureFixedChunkSizePollingWatchFile()(e,n,void 0,void 0);case 4:return fsWatch(e,0,function createFsWatchCallbackForFileWatcherCallback(e,t,n){return(r,i,o)=>{"rename"===r?(o||(o=n(e)||St),t(e,o!==St?0:2,o)):t(e,1,o)}}(e,n,t),!1,r,getFallbackOptions(i));case 5:return b||(b=createUseFsEventsOnParentDirectoryWatchFile(fsWatch,a,t,f)),b(e,n,r,getFallbackOptions(i));default:h.assertNever(o)}}function ensureDynamicPollingWatchFile(){return x||(x=createDynamicPriorityPollingWatchFile({getModifiedTime:t,setTimeout:n}))}function ensureFixedChunkSizePollingWatchFile(){return v||(v=function createFixedChunkSizePollingWatchFile(e){const t=[];let n,r=0;return function watchFile2(n,r){const i={fileName:n,callback:r,mtime:getModifiedTime(e,n)};return t.push(i),scheduleNextPoll(),{close:()=>{i.isClosed=!0,unorderedRemoveItem(t,i)}}};function pollQueue(){n=void 0,r=pollWatchedFileQueue(e,t,r,vt[250]),scheduleNextPoll()}function scheduleNextPoll(){t.length&&!n&&(n=e.setTimeout(pollQueue,2e3,"pollQueue"))}}({getModifiedTime:t,setTimeout:n}))}function generateWatchFileOptions(e,t,n){const r=null==n?void 0:n.fallbackPolling;return{watchFile:e,fallbackPolling:void 0===r?t:r}}function nonRecursiveWatchDirectory(e,t,n,r){h.assert(!n);const i=function updateOptionsForWatchDirectory(e){if(e&&void 0!==e.watchDirectory)return e;switch(m){case"RecursiveDirectoryUsingFsWatchFile":return{watchDirectory:1};case"RecursiveDirectoryUsingDynamicPriorityPolling":return{watchDirectory:2};default:const t=null==e?void 0:e.fallbackPolling;return{watchDirectory:0,fallbackPolling:void 0!==t?t:void 0}}}(r),o=h.checkDefined(i.watchDirectory);switch(o){case 1:return pollingWatchFile(e,()=>t(e),500,void 0);case 2:return ensureDynamicPollingWatchFile()(e,()=>t(e),500,void 0);case 3:return ensureFixedChunkSizePollingWatchFile()(e,()=>t(e),void 0,void 0);case 0:return fsWatch(e,1,createFsWatchCallbackForDirectoryWatcherCallback(e,t,r,a,s),n,500,getFallbackOptions(i));default:h.assertNever(o)}}function pollingWatchFile(t,n,r,i){return createSingleWatcherPerName(y,a,t,n,n=>e(t,n,r,i))}function fsWatch(e,n,r,s,c,l){return createSingleWatcherPerName(s?S:T,a,e,r,r=>function fsWatchHandlingExistenceOnHost(e,n,r,a,s,c){let l,d;_&&(l=e.substring(e.lastIndexOf(Ft)),d=l.slice(Ft.length));let p=o(e,n)?watchPresentFileSystemEntry():watchMissingFileSystemEntry();return{close:()=>{p&&(p.close(),p=void 0)}};function updateWatcher(t){p&&(g(`sysLog:: ${e}:: Changing watcher to ${t===watchPresentFileSystemEntry?"Present":"Missing"}FileSystemEntryWatcher`),p.close(),p=t())}function watchPresentFileSystemEntry(){if(E)return g(`sysLog:: ${e}:: Defaulting to watchFile`),watchPresentFileSystemEntryWithFsWatchFile();try{const t=(1!==n&&f?fsWatchWorkerHandlingTimestamp:i)(e,a,_?callbackChangingToMissingFileSystemEntry:r);return t.on("error",()=>{r("rename",""),updateWatcher(watchMissingFileSystemEntry)}),t}catch(t){return E||(E="ENOSPC"===t.code),g(`sysLog:: ${e}:: Changing to watchFile`),watchPresentFileSystemEntryWithFsWatchFile()}}function callbackChangingToMissingFileSystemEntry(n,i){let o;if(i&&endsWith(i,"~")&&(o=i,i=i.slice(0,i.length-1)),"rename"!==n||i&&i!==d&&!endsWith(i,l))o&&r(n,o),r(n,i);else{const a=t(e)||St;o&&r(n,o,a),r(n,i,a),_?updateWatcher(a===St?watchMissingFileSystemEntry:watchPresentFileSystemEntry):a===St&&updateWatcher(watchMissingFileSystemEntry)}}function watchPresentFileSystemEntryWithFsWatchFile(){return watchFile2(e,function createFileWatcherCallback(e){return(t,n,r)=>e(1===n?"change":"rename","",r)}(r),s,c)}function watchMissingFileSystemEntry(){return watchFile2(e,(n,i,o)=>{0===i&&(o||(o=t(e)||St),o!==St&&(r("rename","",o),updateWatcher(watchPresentFileSystemEntry)))},s,c)}}(e,n,r,s,c,l))}function fsWatchWorkerHandlingTimestamp(e,n,r){let o=t(e)||St;return i(e,n,(n,i,a)=>{"change"===n&&(a||(a=t(e)||St),a.getTime()===o.getTime())||(o=a||t(e)||St,r(n,i,o))})}}function patchWriteFileEnsuringDirectory(e){const t=e.writeFile;e.writeFile=(n,r,i)=>writeFileEnsuringDirectories(n,r,!!i,(n,r,i)=>t.call(e,n,r,i),t=>e.createDirectory(t),t=>e.directoryExists(t))}var kt=(()=>{let e;return isNodeLikeSystem()&&(e=function getNodeSystem(){const e=/^native |^\([^)]+\)$|^(?:internal[\\/]|[\w\s]+(?:\.js)?$)/,t=n(21),i=n(641),o=n(202);let a,s;try{a=n(615)}catch{a=void 0}let c="./profile.cpuprofile";const l="darwin"===process.platform,d="linux"===process.platform||l,p={throwIfNoEntry:!1},u=o.platform(),m=function isFileSystemCaseSensitive(){return"win32"!==u&&"win64"!==u&&!fileExists(function swapCase(e){return e.replace(/\w/g,e=>{const t=e.toUpperCase();return e===t?e.toLowerCase():t})}(r))}(),_=t.realpathSync.native?"win32"===process.platform?function fsRealPathHandlingLongPath(e){return e.length<260?t.realpathSync.native(e):t.realpathSync(e)}:t.realpathSync.native:t.realpathSync,f=r.endsWith("sys.js")?i.join(i.dirname("/"),"__fake__.js"):r,g="win32"===process.platform||l,y=memoize(()=>process.cwd()),{watchFile:h,watchDirectory:T}=createSystemWatchFunctions({pollingWatchFileWorker:function fsWatchFileWorker(e,n,r){let i;return t.watchFile(e,{persistent:!0,interval:r},fileChanged),{close:()=>t.unwatchFile(e,fileChanged)};function fileChanged(t,r){const o=0===+r.mtime||2===i;if(0===+t.mtime){if(o)return;i=2}else if(o)i=0;else{if(+t.mtime===+r.mtime)return;i=1}n(e,i,t.mtime)}},getModifiedTime:getModifiedTime3,setTimeout,clearTimeout,fsWatchWorker:function fsWatchWorker(e,n,r){return t.watch(e,g?{persistent:!0,recursive:!!n}:{persistent:!0},r)},useCaseSensitiveFileNames:m,getCurrentDirectory:y,fileSystemEntryExists,fsSupportsRecursiveFsWatch:g,getAccessibleSortedChildDirectories:e=>getAccessibleFileSystemEntries(e).directories,realpath,tscWatchFile:process.env.TSC_WATCHFILE,useNonPollingWatchers:!!process.env.TSC_NONPOLLING_WATCHER,tscWatchDirectory:process.env.TSC_WATCHDIRECTORY,inodeWatching:d,fsWatchWithTimestamp:l,sysLog}),S={args:process.argv.slice(2),newLine:o.EOL,useCaseSensitiveFileNames:m,write(e){process.stdout.write(e)},getWidthOfTerminal:()=>process.stdout.columns,writeOutputIsTTY:()=>process.stdout.isTTY,readFile:function readFile(e,n){let r;try{r=t.readFileSync(e)}catch{return}let i=r.length;if(i>=2&&254===r[0]&&255===r[1]){i&=-2;for(let e=0;e<i;e+=2){const t=r[e];r[e]=r[e+1],r[e+1]=t}return r.toString("utf16le",2)}return i>=2&&255===r[0]&&254===r[1]?r.toString("utf16le",2):i>=3&&239===r[0]&&187===r[1]&&191===r[2]?r.toString("utf8",3):r.toString("utf8")},writeFile:function writeFile2(e,n,r){let i;r&&(n="\ufeff"+n);try{i=t.openSync(e,"w"),t.writeSync(i,n,void 0,"utf8")}finally{void 0!==i&&t.closeSync(i)}},watchFile:h,watchDirectory:T,preferNonRecursiveWatch:!g,resolvePath:e=>i.resolve(e),fileExists,directoryExists:function directoryExists(e){return fileSystemEntryExists(e,1)},getAccessibleFileSystemEntries,createDirectory(e){if(!S.directoryExists(e))try{t.mkdirSync(e)}catch(e){if("EEXIST"!==e.code)throw e}},getExecutingFilePath:()=>f,getCurrentDirectory:y,getDirectories:function getDirectories(e){return getAccessibleFileSystemEntries(e).directories.slice()},getEnvironmentVariable:e=>process.env[e]||"",readDirectory:function readDirectory(e,t,n,r,i){return matchFiles(e,t,n,r,m,process.cwd(),i,getAccessibleFileSystemEntries,realpath)},getModifiedTime:getModifiedTime3,setModifiedTime:function setModifiedTime(e,n){try{t.utimesSync(e,n,n)}catch{return}},deleteFile:function deleteFile(e){try{return t.unlinkSync(e)}catch{return}},createHash:a?createSHA256Hash:generateDjb2Hash,createSHA256Hash:a?createSHA256Hash:void 0,getMemoryUsage:()=>(n.g.gc&&n.g.gc(),process.memoryUsage().heapUsed),getFileSize(e){const t=statSync(e);return(null==t?void 0:t.isFile())?t.size:0},exit(e){disableCPUProfiler(()=>process.exit(e))},enableCPUProfiler:function enableCPUProfiler(e,t){if(s)return t(),!1;const r=n(247);if(!r||!r.Session)return t(),!1;const i=new r.Session;return i.connect(),i.post("Profiler.enable",()=>{i.post("Profiler.start",()=>{s=i,c=e,t()})}),!0},disableCPUProfiler,cpuProfilingEnabled:()=>!!s||contains(process.execArgv,"--cpu-prof")||contains(process.execArgv,"--prof"),realpath,debugMode:!!process.env.NODE_INSPECTOR_IPC||!!process.env.VSCODE_INSPECTOR_OPTIONS||some(process.execArgv,e=>/^--(?:inspect|debug)(?:-brk)?(?:=\d+)?$/i.test(e))||!!process.recordreplay,tryEnableSourceMapsForHost(){try{n(664).install()}catch{}},setTimeout,clearTimeout,clearScreen:()=>{process.stdout.write("[2J[3J[H")},setBlocking:()=>{var e;const t=null==(e=process.stdout)?void 0:e._handle;t&&t.setBlocking&&t.setBlocking(!0)},base64decode:e=>Buffer.from(e,"base64").toString("utf8"),base64encode:e=>Buffer.from(e).toString("base64"),require:(e,t)=>{try{const r=resolveJSModule(t,e,S);return{module:n(387)(r),modulePath:r,error:void 0}}catch(e){return{module:void 0,modulePath:void 0,error:e}}}};return S;function statSync(e){try{return t.statSync(e,p)}catch{return}}function disableCPUProfiler(n){if(s&&"stopping"!==s){const r=s;return s.post("Profiler.stop",(o,{profile:a})=>{var l;if(!o){(null==(l=statSync(c))?void 0:l.isDirectory())&&(c=i.join(c,`${(new Date).toISOString().replace(/:/g,"-")}+P${process.pid}.cpuprofile`));try{t.mkdirSync(i.dirname(c),{recursive:!0})}catch{}t.writeFileSync(c,JSON.stringify(function cleanupPaths(t){let n=0;const r=new Map,o=normalizeSlashes(i.dirname(f)),a=`file://${1===getRootLength(o)?"":"/"}${o}`;for(const i of t.nodes)if(i.callFrame.url){const t=normalizeSlashes(i.callFrame.url);containsPath(a,t,m)?i.callFrame.url=getRelativePathToDirectoryOrUrl(a,t,a,createGetCanonicalFileName(m),!0):e.test(t)||(i.callFrame.url=(r.has(t)?r:r.set(t,`external${n}.js`)).get(t),n++)}return t}(a)))}s=void 0,r.disconnect(),n()}),s="stopping",!0}return n(),!1}function getAccessibleFileSystemEntries(e){try{const n=t.readdirSync(e||".",{withFileTypes:!0}),r=[],i=[];for(const t of n){const n="string"==typeof t?t:t.name;if("."===n||".."===n)continue;let o;if("string"==typeof t||t.isSymbolicLink()){if(o=statSync(combinePaths(e,n)),!o)continue}else o=t;o.isFile()?r.push(n):o.isDirectory()&&i.push(n)}return r.sort(),i.sort(),{files:r,directories:i}}catch{return Nr}}function fileSystemEntryExists(e,t){const n=statSync(e);if(!n)return!1;switch(t){case 0:return n.isFile();case 1:return n.isDirectory();default:return!1}}function fileExists(e){return fileSystemEntryExists(e,0)}function realpath(e){try{return _(e)}catch{return e}}function getModifiedTime3(e){var t;return null==(t=statSync(e))?void 0:t.mtime}function createSHA256Hash(e){const t=a.createHash("sha256");return t.update(e),t.digest("hex")}}()),e&&patchWriteFileEnsuringDirectory(e),e})();function setSys(e){kt=e}kt&&kt.getEnvironmentVariable&&(!function setCustomPollingValues(e){if(!e.getEnvironmentVariable)return;const t=function setCustomLevels(e,t){const n=getCustomLevels(e);return!!n&&(setLevel("Low"),setLevel("Medium"),setLevel("High"),!0);function setLevel(e){t[e]=n[e]||t[e]}}("TSC_WATCH_POLLINGINTERVAL",Tt);function getCustomLevels(t){let n;return setCustomLevel("Low"),setCustomLevel("Medium"),setCustomLevel("High"),n;function setCustomLevel(r){const i=function getLevel(t,n){return e.getEnvironmentVariable(`${t}_${n.toUpperCase()}`)}(t,r);i&&((n||(n={}))[r]=Number(i))}}function getCustomPollingBasedLevels(e,n){const r=getCustomLevels(e);return(t||r)&&createPollingIntervalBasedLevels(r?{...n,...r}:n)}vt=getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE",xt)||vt,bt=getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS",xt)||bt}(kt),h.setAssertionLevel(/^development$/i.test(kt.getEnvironmentVariable("NODE_ENV"))?1:0)),kt&&kt.debugMode&&(h.isDebugging=!0);var Ft="/",Pt="\\",Dt="://",It=/\\/g;function isAnyDirectorySeparator(e){return 47===e||92===e}function isUrl(e){return getEncodedRootLength(e)<0}function isRootedDiskPath(e){return getEncodedRootLength(e)>0}function isDiskPathRoot(e){const t=getEncodedRootLength(e);return t>0&&t===e.length}function pathIsAbsolute(e){return 0!==getEncodedRootLength(e)}function pathIsRelative(e){return/^\.\.?(?:$|[\\/])/.test(e)}function pathIsBareSpecifier(e){return!pathIsAbsolute(e)&&!pathIsRelative(e)}function hasExtension(e){return getBaseFileName(e).includes(".")}function fileExtensionIs(e,t){return e.length>t.length&&endsWith(e,t)}function fileExtensionIsOneOf(e,t){for(const n of t)if(fileExtensionIs(e,n))return!0;return!1}function hasTrailingDirectorySeparator(e){return e.length>0&&isAnyDirectorySeparator(e.charCodeAt(e.length-1))}function isVolumeCharacter(e){return e>=97&&e<=122||e>=65&&e<=90}function getEncodedRootLength(e){if(!e)return 0;const t=e.charCodeAt(0);if(47===t||92===t){if(e.charCodeAt(1)!==t)return 1;const n=e.indexOf(47===t?Ft:Pt,2);return n<0?e.length:n+1}if(isVolumeCharacter(t)&&58===e.charCodeAt(1)){const t=e.charCodeAt(2);if(47===t||92===t)return 3;if(2===e.length)return 2}const n=e.indexOf(Dt);if(-1!==n){const t=n+Dt.length,r=e.indexOf(Ft,t);if(-1!==r){const i=e.slice(0,n),o=e.slice(t,r);if("file"===i&&(""===o||"localhost"===o)&&isVolumeCharacter(e.charCodeAt(r+1))){const t=function getFileUrlVolumeSeparatorEnd(e,t){const n=e.charCodeAt(t);if(58===n)return t+1;if(37===n&&51===e.charCodeAt(t+1)){const n=e.charCodeAt(t+2);if(97===n||65===n)return t+3}return-1}(e,r+2);if(-1!==t){if(47===e.charCodeAt(t))return~(t+1);if(t===e.length)return~t}}return~(r+1)}return~e.length}return 0}function getRootLength(e){const t=getEncodedRootLength(e);return t<0?~t:t}function getDirectoryPath(e){const t=getRootLength(e=normalizeSlashes(e));return t===e.length?e:(e=removeTrailingDirectorySeparator(e)).slice(0,Math.max(t,e.lastIndexOf(Ft)))}function getBaseFileName(e,t,n){if(getRootLength(e=normalizeSlashes(e))===e.length)return"";const r=(e=removeTrailingDirectorySeparator(e)).slice(Math.max(getRootLength(e),e.lastIndexOf(Ft)+1)),i=void 0!==t&&void 0!==n?getAnyExtensionFromPath(r,t,n):void 0;return i?r.slice(0,r.length-i.length):r}function tryGetExtensionFromPath(e,t,n){if(startsWith(t,".")||(t="."+t),e.length>=t.length&&46===e.charCodeAt(e.length-t.length)){const r=e.slice(e.length-t.length);if(n(r,t))return r}}function getAnyExtensionFromPath(e,t,n){if(t)return function getAnyExtensionFromPathWorker(e,t,n){if("string"==typeof t)return tryGetExtensionFromPath(e,t,n)||"";for(const r of t){const t=tryGetExtensionFromPath(e,r,n);if(t)return t}return""}(removeTrailingDirectorySeparator(e),t,n?equateStringsCaseInsensitive:equateStringsCaseSensitive);const r=getBaseFileName(e),i=r.lastIndexOf(".");return i>=0?r.substring(i):""}function getPathComponents(e,t=""){return function pathComponents(e,t){const n=e.substring(0,t),r=e.substring(t).split(Ft);return r.length&&!lastOrUndefined(r)&&r.pop(),[n,...r]}(e=combinePaths(t,e),getRootLength(e))}function getPathFromPathComponents(e,t){if(0===e.length)return"";return(e[0]&&ensureTrailingDirectorySeparator(e[0]))+e.slice(1,t).join(Ft)}function normalizeSlashes(e){return e.includes("\\")?e.replace(It,Ft):e}function reducePathComponents(e){if(!some(e))return[];const t=[e[0]];for(let n=1;n<e.length;n++){const r=e[n];if(r&&"."!==r){if(".."===r)if(t.length>1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(r)}}return t}function combinePaths(e,...t){e&&(e=normalizeSlashes(e));for(let n of t)n&&(n=normalizeSlashes(n),e=e&&0===getRootLength(n)?ensureTrailingDirectorySeparator(e)+n:n);return e}function resolvePath(e,...t){return normalizePath(some(t)?combinePaths(e,...t):normalizeSlashes(e))}function getNormalizedPathComponents(e,t){return reducePathComponents(getPathComponents(e,t))}function getNormalizedAbsolutePath(e,t){let n=getRootLength(e);0===n&&t?n=getRootLength(e=combinePaths(t,e)):e=normalizeSlashes(e);const r=simpleNormalizePath(e);if(void 0!==r)return r.length>n?removeTrailingDirectorySeparator(r):r;const i=e.length,o=e.substring(0,n);let a,s=n,c=s,l=s,d=0!==n;for(;s<i;){c=s;let t=e.charCodeAt(s);for(;47===t&&s+1<i;)s++,t=e.charCodeAt(s);s>c&&(a??(a=e.substring(0,c-1)),c=s);let r=e.indexOf(Ft,s+1);-1===r&&(r=i);const p=r-c;if(1===p&&46===e.charCodeAt(s))a??(a=e.substring(0,l));else if(2===p&&46===e.charCodeAt(s)&&46===e.charCodeAt(s+1))if(d)if(void 0===a)a=l-2>=0?e.substring(0,Math.max(n,e.lastIndexOf(Ft,l-2))):e.substring(0,l);else{const e=a.lastIndexOf(Ft);a=-1!==e?a.substring(0,Math.max(n,e)):o,a.length===n&&(d=0!==n)}else void 0!==a?a+=a.length===n?"..":"/..":l=s+2;else void 0!==a?(a.length!==n&&(a+=Ft),d=!0,a+=e.substring(c,r)):(d=!0,l=r);s=r+1}return a??(i>n?removeTrailingDirectorySeparator(e):e)}function normalizePath(e){let t=simpleNormalizePath(e=normalizeSlashes(e));return void 0!==t?t:(t=getNormalizedAbsolutePath(e,""),t&&hasTrailingDirectorySeparator(e)?ensureTrailingDirectorySeparator(t):t)}function simpleNormalizePath(e){if(!At.test(e))return e;let t=e.replace(/\/\.\//g,"/");return t.startsWith("./")&&(t=t.slice(2)),t===e||(e=t,At.test(e))?void 0:e}function getNormalizedAbsolutePathWithoutRoot(e,t){return function getPathWithoutRoot(e){return 0===e.length?"":e.slice(1).join(Ft)}(getNormalizedPathComponents(e,t))}function toPath(e,t,n){return n(isRootedDiskPath(e)?normalizePath(e):getNormalizedAbsolutePath(e,t))}function removeTrailingDirectorySeparator(e){return hasTrailingDirectorySeparator(e)?e.substr(0,e.length-1):e}function ensureTrailingDirectorySeparator(e){return hasTrailingDirectorySeparator(e)?e:e+Ft}function ensurePathIsNonModuleName(e){return pathIsAbsolute(e)||pathIsRelative(e)?e:"./"+e}function changeAnyExtension(e,t,n,r){const i=void 0!==n&&void 0!==r?getAnyExtensionFromPath(e,n,r):getAnyExtensionFromPath(e);return i?e.slice(0,e.length-i.length)+(startsWith(t,".")?t:"."+t):e}function changeFullExtension(e,t){const n=getDeclarationFileExtension(e);return n?e.slice(0,e.length-n.length)+(startsWith(t,".")?t:"."+t):changeAnyExtension(e,t)}var At=/\/\/|(?:^|\/)\.\.?(?:$|\/)/;function comparePathsWorker(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,getRootLength(e)),i=t.substring(0,getRootLength(t)),o=compareStringsCaseInsensitive(r,i);if(0!==o)return o;const a=e.substring(r.length),s=t.substring(i.length);if(!At.test(a)&&!At.test(s))return n(a,s);const c=reducePathComponents(getPathComponents(e)),l=reducePathComponents(getPathComponents(t)),d=Math.min(c.length,l.length);for(let e=1;e<d;e++){const t=n(c[e],l[e]);if(0!==t)return t}return compareValues(c.length,l.length)}function comparePathsCaseSensitive(e,t){return comparePathsWorker(e,t,compareStringsCaseSensitive)}function comparePathsCaseInsensitive(e,t){return comparePathsWorker(e,t,compareStringsCaseInsensitive)}function comparePaths(e,t,n,r){return"string"==typeof n?(e=combinePaths(n,e),t=combinePaths(n,t)):"boolean"==typeof n&&(r=n),comparePathsWorker(e,t,getStringComparer(r))}function containsPath(e,t,n,r){if("string"==typeof n?(e=combinePaths(n,e),t=combinePaths(n,t)):"boolean"==typeof n&&(r=n),void 0===e||void 0===t)return!1;if(e===t)return!0;const i=reducePathComponents(getPathComponents(e)),o=reducePathComponents(getPathComponents(t));if(o.length<i.length)return!1;const a=r?equateStringsCaseInsensitive:equateStringsCaseSensitive;for(let e=0;e<i.length;e++){if(!(0===e?equateStringsCaseInsensitive:a)(i[e],o[e]))return!1}return!0}function startsWithDirectory(e,t,n){const r=n(e),i=n(t);return startsWith(r,i+"/")||startsWith(r,i+"\\")}function getPathComponentsRelativeTo(e,t,n,r){const i=reducePathComponents(getPathComponents(e)),o=reducePathComponents(getPathComponents(t));let a;for(a=0;a<i.length&&a<o.length;a++){if(!(0===a?equateStringsCaseInsensitive:n)(r(i[a]),r(o[a])))break}if(0===a)return o;const s=o.slice(a),c=[];for(;a<i.length;a++)c.push("..");return["",...c,...s]}function getRelativePathFromDirectory(e,t,n){h.assert(getRootLength(e)>0==getRootLength(t)>0,"Paths must either both be absolute or both be relative");return getPathFromPathComponents(getPathComponentsRelativeTo(e,t,"boolean"==typeof n&&n?equateStringsCaseInsensitive:equateStringsCaseSensitive,"function"==typeof n?n:identity))}function convertToRelativePath(e,t,n){return isRootedDiskPath(e)?getRelativePathToDirectoryOrUrl(t,e,t,n,!1):e}function getRelativePathFromFile(e,t,n){return ensurePathIsNonModuleName(getRelativePathFromDirectory(getDirectoryPath(e),t,n))}function getRelativePathToDirectoryOrUrl(e,t,n,r,i){const o=getPathComponentsRelativeTo(resolvePath(n,e),resolvePath(n,t),equateStringsCaseSensitive,r),a=o[0];if(i&&isRootedDiskPath(a)){const e=a.charAt(0)===Ft?"file://":"file:///";o[0]=e+a}return getPathFromPathComponents(o)}function forEachAncestorDirectory(e,t){for(;;){const n=t(e);if(void 0!==n)return n;const r=getDirectoryPath(e);if(r===e)return;e=r}}function isNodeModulesDirectory(e){return endsWith(e,"/node_modules")}function diag(e,t,n,r,i,o,a){return{code:e,category:t,key:n,message:r,reportsUnnecessary:i,elidedInCompatabilityPyramid:o,reportsDeprecated:a}}var Ot={Unterminated_string_literal:diag(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:diag(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:diag(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:diag(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:diag(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:diag(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:diag(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:diag(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:diag(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:diag(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:diag(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:diag(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:diag(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:diag(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:diag(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:diag(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:diag(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:diag(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:diag(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:diag(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:diag(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:diag(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:diag(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:diag(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:diag(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:diag(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:diag(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:diag(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:diag(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:diag(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:diag(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:diag(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:diag(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:diag(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:diag(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:diag(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:diag(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:diag(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:diag(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:diag(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:diag(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:diag(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compa_1055","Type '{0}' is not a valid async function return type in ES5 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:diag(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:diag(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:diag(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:diag(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:diag(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:diag(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:diag(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type:diag(1065,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065","The return type of an async function or method must be the global Promise<T> type."),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:diag(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:diag(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:diag(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:diag(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:diag(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:diag(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:diag(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),_0_modifier_cannot_appear_on_a_constructor_declaration:diag(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:diag(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:diag(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:diag(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:diag(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:diag(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:diag(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:diag(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:diag(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:diag(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:diag(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:diag(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:diag(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:diag(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:diag(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:diag(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:diag(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:diag(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:diag(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:diag(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:diag(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:diag(1110,1,"Type_expected_1110","Type expected."),Private_field_0_must_be_declared_in_an_enclosing_class:diag(1111,1,"Private_field_0_must_be_declared_in_an_enclosing_class_1111","Private field '{0}' must be declared in an enclosing class."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:diag(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:diag(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:diag(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:diag(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:diag(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:diag(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:diag(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:diag(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_Use_the_syntax_0:diag(1121,1,"Octal_literals_are_not_allowed_Use_the_syntax_0_1121","Octal literals are not allowed. Use the syntax '{0}'."),Variable_declaration_list_cannot_be_empty:diag(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:diag(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:diag(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:diag(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:diag(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:diag(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:diag(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:diag(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:diag(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:diag(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:diag(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:diag(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:diag(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:diag(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:diag(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:diag(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:diag(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:diag(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:diag(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:diag(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:diag(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:diag(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:diag(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:diag(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:diag(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),_0_declarations_must_be_initialized:diag(1155,1,"_0_declarations_must_be_initialized_1155","'{0}' declarations must be initialized."),_0_declarations_can_only_be_declared_inside_a_block:diag(1156,1,"_0_declarations_can_only_be_declared_inside_a_block_1156","'{0}' declarations can only be declared inside a block."),Unterminated_template_literal:diag(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:diag(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:diag(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:diag(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:diag(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:diag(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:diag(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:diag(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:diag(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:diag(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:diag(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:diag(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:diag(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:diag(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:diag(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:diag(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:diag(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:diag(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:diag(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:diag(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:diag(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:diag(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:diag(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:diag(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:diag(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:diag(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:diag(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:diag(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:diag(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:diag(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:diag(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:diag(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:diag(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:diag(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:diag(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:diag(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:diag(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:diag(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:diag(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:diag(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:diag(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:diag(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:diag(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:diag(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:diag(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:diag(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:diag(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:diag(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:diag(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:diag(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:diag(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:diag(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:diag(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:diag(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:diag(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:diag(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:diag(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:diag(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:diag(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:diag(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:diag(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:diag(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:diag(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:diag(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:diag(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:diag(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:diag(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:diag(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:diag(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:diag(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:diag(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:diag(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:diag(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:diag(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:diag(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:diag(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:diag(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:diag(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:diag(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5:diag(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definitions_are_automatically_in_strict_mode:diag(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definiti_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_automatically_in_strict_mode:diag(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_au_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. Modules are automatically in strict mode."),Abstract_properties_can_only_appear_within_an_abstract_class:diag(1253,1,"Abstract_properties_can_only_appear_within_an_abstract_class_1253","Abstract properties can only appear within an abstract class."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:diag(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:diag(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:diag(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:diag(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:diag(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:diag(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:diag(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:diag(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:diag(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:diag(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:diag(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:diag(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:diag(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:diag(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:diag(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:diag(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:diag(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:diag(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:diag(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:diag(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:diag(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:diag(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:diag(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:diag(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:diag(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:diag(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:diag(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:diag(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:diag(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:diag(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:diag(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax:diag(1286,1,"ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_1286","ECMAScript imports and exports cannot be written in a CommonJS file under 'verbatimModuleSyntax'."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:diag(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:diag(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:diag(1289,1,"_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1289","'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported."),_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default:diag(1290,1,"_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1290","'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'."),_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:diag(1291,1,"_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1291","'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported."),_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default:diag(1292,1,"_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1292","'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'."),ECMAScript_module_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve:diag(1293,1,"ECMAScript_module_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve_1293","ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'."),This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled:diag(1294,1,"This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled_1294","This syntax is not allowed when 'erasableSyntaxOnly' is enabled."),ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_Adjust_the_type_field_in_the_nearest_package_json_to_make_this_file_an_ECMAScript_module_or_adjust_your_verbatimModuleSyntax_module_and_moduleResolution_settings_in_TypeScript:diag(1295,1,"ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_Adjus_1295","ECMAScript imports and exports cannot be written in a CommonJS file under 'verbatimModuleSyntax'. Adjust the 'type' field in the nearest 'package.json' to make this file an ECMAScript module, or adjust your 'verbatimModuleSyntax', 'module', and 'moduleResolution' settings in TypeScript."),with_statements_are_not_allowed_in_an_async_function_block:diag(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:diag(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:diag(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:diag(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:diag(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:diag(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:diag(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:diag(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:diag(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:diag(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:diag(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_node20_or_nodenext:diag(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', 'node18', 'node20', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_node20_nodenext_or_preserve:diag(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', 'node18', 'node20', 'nodenext', or 'preserve'."),Argument_of_dynamic_import_cannot_be_spread_element:diag(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:diag(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:diag(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:diag(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:diag(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:diag(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:diag(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:diag(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:diag(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:diag(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:diag(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:diag(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:diag(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:diag(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:diag(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:diag(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_node20_or_nodenext:diag(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', 'node18', 'node20', or 'nodenext'."),A_label_is_not_allowed_here:diag(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:diag(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:diag(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:diag(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:diag(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:diag(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:diag(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:diag(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:diag(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:diag(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:diag(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:diag(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:diag(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:diag(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:diag(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:diag(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:diag(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:diag(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:diag(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:diag(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:diag(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:diag(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:diag(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:diag(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:diag(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:diag(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:diag(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:diag(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:diag(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:diag(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'node20', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:diag(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:diag(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:diag(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:diag(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:diag(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:diag(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:diag(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:diag(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:diag(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:diag(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:diag(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:diag(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:diag(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:diag(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:diag(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:diag(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:diag(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:diag(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:diag(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:diag(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:diag(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:diag(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:diag(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:diag(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:diag(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:diag(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:diag(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:diag(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:diag(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:diag(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:diag(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:diag(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:diag(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:diag(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:diag(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:diag(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:diag(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:diag(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:diag(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:diag(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:diag(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:diag(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:diag(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:diag(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:diag(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:diag(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:diag(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:diag(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:diag(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:diag(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:diag(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'node20', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:diag(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:diag(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:diag(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:diag(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:diag(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:diag(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:diag(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:diag(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:diag(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:diag(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:diag(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443","Module declaration names may only use ' or \" quoted strings."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:diag(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:diag(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments:diag(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional set of attributes as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:diag(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_should_be_either_require_or_import:diag(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:diag(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:diag(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:diag(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:diag(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:diag(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",'File is ECMAScript module because \'{0}\' has field "type" with value "module"'),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:diag(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",'File is CommonJS module because \'{0}\' has field "type" whose value is not "module"'),File_is_CommonJS_module_because_0_does_not_have_field_type:diag(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460","File is CommonJS module because '{0}' does not have field \"type\""),File_is_CommonJS_module_because_package_json_was_not_found:diag(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),resolution_mode_is_the_only_valid_key_for_type_import_attributes:diag(1463,1,"resolution_mode_is_the_only_valid_key_for_type_import_attributes_1463","'resolution-mode' is the only valid key for type import attributes."),Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:diag(1464,1,"Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1464","Type import attributes should have exactly one key - 'resolution-mode' - with value 'import' or 'require'."),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:diag(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:diag(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:diag(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:diag(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:diag(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:diag(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:diag(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:diag(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:diag(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:diag(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479","The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"{0}\")' call instead."),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:diag(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:diag(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481","To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field `\"type\": \"module\"` to '{1}'."),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:diag(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:diag(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:diag(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:diag(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:diag(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),Octal_escape_sequences_are_not_allowed_Use_the_syntax_0:diag(1487,1,"Octal_escape_sequences_are_not_allowed_Use_the_syntax_0_1487","Octal escape sequences are not allowed. Use the syntax '{0}'."),Escape_sequence_0_is_not_allowed:diag(1488,1,"Escape_sequence_0_is_not_allowed_1488","Escape sequence '{0}' is not allowed."),Decimals_with_leading_zeros_are_not_allowed:diag(1489,1,"Decimals_with_leading_zeros_are_not_allowed_1489","Decimals with leading zeros are not allowed."),File_appears_to_be_binary:diag(1490,1,"File_appears_to_be_binary_1490","File appears to be binary."),_0_modifier_cannot_appear_on_a_using_declaration:diag(1491,1,"_0_modifier_cannot_appear_on_a_using_declaration_1491","'{0}' modifier cannot appear on a 'using' declaration."),_0_declarations_may_not_have_binding_patterns:diag(1492,1,"_0_declarations_may_not_have_binding_patterns_1492","'{0}' declarations may not have binding patterns."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration:diag(1493,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration_1493","The left-hand side of a 'for...in' statement cannot be a 'using' declaration."),The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration:diag(1494,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration_1494","The left-hand side of a 'for...in' statement cannot be an 'await using' declaration."),_0_modifier_cannot_appear_on_an_await_using_declaration:diag(1495,1,"_0_modifier_cannot_appear_on_an_await_using_declaration_1495","'{0}' modifier cannot appear on an 'await using' declaration."),Identifier_string_literal_or_number_literal_expected:diag(1496,1,"Identifier_string_literal_or_number_literal_expected_1496","Identifier, string literal, or number literal expected."),Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator:diag(1497,1,"Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator_1497","Expression must be enclosed in parentheses to be used as a decorator."),Invalid_syntax_in_decorator:diag(1498,1,"Invalid_syntax_in_decorator_1498","Invalid syntax in decorator."),Unknown_regular_expression_flag:diag(1499,1,"Unknown_regular_expression_flag_1499","Unknown regular expression flag."),Duplicate_regular_expression_flag:diag(1500,1,"Duplicate_regular_expression_flag_1500","Duplicate regular expression flag."),This_regular_expression_flag_is_only_available_when_targeting_0_or_later:diag(1501,1,"This_regular_expression_flag_is_only_available_when_targeting_0_or_later_1501","This regular expression flag is only available when targeting '{0}' or later."),The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously:diag(1502,1,"The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously_1502","The Unicode (u) flag and the Unicode Sets (v) flag cannot be set simultaneously."),Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later:diag(1503,1,"Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later_1503","Named capturing groups are only available when targeting 'ES2018' or later."),Subpattern_flags_must_be_present_when_there_is_a_minus_sign:diag(1504,1,"Subpattern_flags_must_be_present_when_there_is_a_minus_sign_1504","Subpattern flags must be present when there is a minus sign."),Incomplete_quantifier_Digit_expected:diag(1505,1,"Incomplete_quantifier_Digit_expected_1505","Incomplete quantifier. Digit expected."),Numbers_out_of_order_in_quantifier:diag(1506,1,"Numbers_out_of_order_in_quantifier_1506","Numbers out of order in quantifier."),There_is_nothing_available_for_repetition:diag(1507,1,"There_is_nothing_available_for_repetition_1507","There is nothing available for repetition."),Unexpected_0_Did_you_mean_to_escape_it_with_backslash:diag(1508,1,"Unexpected_0_Did_you_mean_to_escape_it_with_backslash_1508","Unexpected '{0}'. Did you mean to escape it with backslash?"),This_regular_expression_flag_cannot_be_toggled_within_a_subpattern:diag(1509,1,"This_regular_expression_flag_cannot_be_toggled_within_a_subpattern_1509","This regular expression flag cannot be toggled within a subpattern."),k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets:diag(1510,1,"k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets_1510","'\\k' must be followed by a capturing group name enclosed in angle brackets."),q_is_only_available_inside_character_class:diag(1511,1,"q_is_only_available_inside_character_class_1511","'\\q' is only available inside character class."),c_must_be_followed_by_an_ASCII_letter:diag(1512,1,"c_must_be_followed_by_an_ASCII_letter_1512","'\\c' must be followed by an ASCII letter."),Undetermined_character_escape:diag(1513,1,"Undetermined_character_escape_1513","Undetermined character escape."),Expected_a_capturing_group_name:diag(1514,1,"Expected_a_capturing_group_name_1514","Expected a capturing group name."),Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other:diag(1515,1,"Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other_1515","Named capturing groups with the same name must be mutually exclusive to each other."),A_character_class_range_must_not_be_bounded_by_another_character_class:diag(1516,1,"A_character_class_range_must_not_be_bounded_by_another_character_class_1516","A character class range must not be bounded by another character class."),Range_out_of_order_in_character_class:diag(1517,1,"Range_out_of_order_in_character_class_1517","Range out of order in character class."),Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class:diag(1518,1,"Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_characte_1518","Anything that would possibly match more than a single character is invalid inside a negated character class."),Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead:diag(1519,1,"Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead_1519","Operators must not be mixed within a character class. Wrap it in a nested class instead."),Expected_a_class_set_operand:diag(1520,1,"Expected_a_class_set_operand_1520","Expected a class set operand."),q_must_be_followed_by_string_alternatives_enclosed_in_braces:diag(1521,1,"q_must_be_followed_by_string_alternatives_enclosed_in_braces_1521","'\\q' must be followed by string alternatives enclosed in braces."),A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backslash:diag(1522,1,"A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backs_1522","A character class must not contain a reserved double punctuator. Did you mean to escape it with backslash?"),Expected_a_Unicode_property_name:diag(1523,1,"Expected_a_Unicode_property_name_1523","Expected a Unicode property name."),Unknown_Unicode_property_name:diag(1524,1,"Unknown_Unicode_property_name_1524","Unknown Unicode property name."),Expected_a_Unicode_property_value:diag(1525,1,"Expected_a_Unicode_property_value_1525","Expected a Unicode property value."),Unknown_Unicode_property_value:diag(1526,1,"Unknown_Unicode_property_value_1526","Unknown Unicode property value."),Expected_a_Unicode_property_name_or_value:diag(1527,1,"Expected_a_Unicode_property_name_or_value_1527","Expected a Unicode property name or value."),Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_the_Unicode_Sets_v_flag_is_set:diag(1528,1,"Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_t_1528","Any Unicode property that would possibly match more than a single character is only available when the Unicode Sets (v) flag is set."),Unknown_Unicode_property_name_or_value:diag(1529,1,"Unknown_Unicode_property_name_or_value_1529","Unknown Unicode property name or value."),Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set:diag(1530,1,"Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v__1530","Unicode property value expressions are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set."),_0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces:diag(1531,1,"_0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces_1531","'\\{0}' must be followed by a Unicode property value expression enclosed in braces."),There_is_no_capturing_group_named_0_in_this_regular_expression:diag(1532,1,"There_is_no_capturing_group_named_0_in_this_regular_expression_1532","There is no capturing group named '{0}' in this regular expression."),This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_regular_expression:diag(1533,1,"This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_r_1533","This backreference refers to a group that does not exist. There are only {0} capturing groups in this regular expression."),This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regular_expression:diag(1534,1,"This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regul_1534","This backreference refers to a group that does not exist. There are no capturing groups in this regular expression."),This_character_cannot_be_escaped_in_a_regular_expression:diag(1535,1,"This_character_cannot_be_escaped_in_a_regular_expression_1535","This character cannot be escaped in a regular expression."),Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended_as_an_escape_sequence_use_the_syntax_0_instead:diag(1536,1,"Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended__1536","Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '{0}' instead."),Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class:diag(1537,1,"Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_1537","Decimal escape sequences and backreferences are not allowed in a character class."),Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set:diag(1538,1,"Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_se_1538","Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set."),A_bigint_literal_cannot_be_used_as_a_property_name:diag(1539,1,"A_bigint_literal_cannot_be_used_as_a_property_name_1539","A 'bigint' literal cannot be used as a property name."),A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_keyword_instead:diag(1540,2,"A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540","A 'namespace' declaration should not be declared using the 'module' keyword. Please use the 'namespace' keyword instead.",void 0,void 0,!0),Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute:diag(1541,1,"Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribut_1541","Type-only import of an ECMAScript module from a CommonJS module must have a 'resolution-mode' attribute."),Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute:diag(1542,1,"Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute_1542","Type import of an ECMAScript module from a CommonJS module must have a 'resolution-mode' attribute."),Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0:diag(1543,1,"Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_mod_1543","Importing a JSON file into an ECMAScript module requires a 'type: \"json\"' import attribute when 'module' is set to '{0}'."),Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0:diag(1544,1,"Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0_1544","Named imports from a JSON file into an ECMAScript module are not allowed when 'module' is set to '{0}'."),using_declarations_are_not_allowed_in_ambient_contexts:diag(1545,1,"using_declarations_are_not_allowed_in_ambient_contexts_1545","'using' declarations are not allowed in ambient contexts."),await_using_declarations_are_not_allowed_in_ambient_contexts:diag(1546,1,"await_using_declarations_are_not_allowed_in_ambient_contexts_1546","'await using' declarations are not allowed in ambient contexts."),The_types_of_0_are_incompatible_between_these_types:diag(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:diag(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:diag(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:diag(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:diag(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:diag(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:diag(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:diag(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:diag(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:diag(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:diag(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:diag(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:diag(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:diag(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:diag(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:diag(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:diag(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:diag(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:diag(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:diag(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:diag(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:diag(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:diag(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:diag(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:diag(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:diag(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:diag(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:diag(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:diag(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:diag(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:diag(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:diag(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:diag(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:diag(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:diag(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:diag(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:diag(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:diag(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:diag(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:diag(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:diag(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:diag(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:diag(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:diag(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:diag(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_a_static_property_initializer:diag(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:diag(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:diag(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:diag(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:diag(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:diag(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:diag(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:diag(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:diag(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:diag(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:diag(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:diag(2346,1,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:diag(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:diag(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:diag(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:diag(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:diag(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:diag(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:diag(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:diag(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value:diag(2355,1,"A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:diag(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:diag(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_type_assignable_to_the_Function_interface_type_or_an_object_type_with_a_Symbol_hasInstance_method:diag(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_2359","The right-hand side of an 'instanceof' expression must be either of type 'any', a class, function, or other type assignable to the 'Function' interface type, or an object type with a 'Symbol.hasInstance' method."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:diag(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:diag(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:diag(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:diag(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:diag(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:diag(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:diag(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:diag(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:diag(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:diag(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:diag(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:diag(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:diag(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:diag(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:diag(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:diag(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),Overload_signatures_must_all_be_exported_or_non_exported:diag(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:diag(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:diag(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:diag(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:diag(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:diag(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:diag(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:diag(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:diag(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:diag(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:diag(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:diag(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:diag(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:diag(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:diag(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:diag(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:diag(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:diag(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:diag(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:diag(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:diag(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:diag(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:diag(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:diag(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:diag(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:diag(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:diag(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:diag(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:diag(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:diag(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:diag(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:diag(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:diag(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:diag(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:diag(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:diag(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:diag(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:diag(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:diag(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:diag(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:diag(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:diag(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:diag(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:diag(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:diag(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:diag(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:diag(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:diag(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:diag(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:diag(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:diag(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:diag(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:diag(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:diag(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:diag(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:diag(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:diag(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:diag(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:diag(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:diag(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:diag(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:diag(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:diag(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:diag(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:diag(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:diag(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:diag(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:diag(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:diag(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:diag(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:diag(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:diag(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:diag(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:diag(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:diag(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:diag(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:diag(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:diag(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:diag(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:diag(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:diag(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:diag(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:diag(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:diag(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:diag(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:diag(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:diag(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:diag(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:diag(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:diag(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:diag(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:diag(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:diag(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:diag(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:diag(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:diag(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:diag(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:diag(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:diag(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:diag(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_function_expression:diag(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_func_2496","The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:diag(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:diag(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:diag(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:diag(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:diag(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:diag(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:diag(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:diag(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:diag(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:diag(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:diag(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:diag(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:diag(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:diag(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:diag(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:diag(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:diag(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:diag(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member {1} from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:diag(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:diag(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:diag(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:diag(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:diag(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_standard_function_or_method:diag(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_sta_2522","The 'arguments' object cannot be referenced in an async function or method in ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:diag(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:diag(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:diag(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:diag(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:diag(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:diag(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:diag(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:diag(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:diag(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:diag(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:diag(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:diag(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:diag(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:diag(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:diag(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:diag(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:diag(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:diag(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:diag(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:diag(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:diag(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:diag(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:diag(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:diag(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:diag(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:diag(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:diag(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:diag(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:diag(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:diag(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:diag(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:diag(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:diag(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:diag(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:diag(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:diag(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:diag(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:diag(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:diag(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:diag(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:diag(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:diag(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:diag(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:diag(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:diag(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:diag(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:diag(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:diag(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:diag(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:diag(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:diag(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:diag(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:diag(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:diag(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:diag(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:diag(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:diag(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:diag(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:diag(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:diag(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:diag(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:diag(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:diag(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:diag(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:diag(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:diag(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:diag(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:diag(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:diag(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:diag(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:diag(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:diag(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:diag(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:diag(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:diag(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:diag(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:diag(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:diag(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:diag(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:diag(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:diag(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:diag(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:diag(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:diag(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:diag(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:diag(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:diag(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:diag(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:diag(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:diag(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:diag(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:diag(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:diag(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:diag(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:diag(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:diag(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:diag(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:diag(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),React_components_cannot_include_JSX_namespace_names:diag(2639,1,"React_components_cannot_include_JSX_namespace_names_2639","React components cannot include JSX namespace names"),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:diag(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more:diag(2650,1,"Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and__2650","Non-abstract class expression is missing implementations for the following members of '{0}': {1} and {2} more."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:diag(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:diag(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:diag(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2:diag(2654,1,"Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_2654","Non-abstract class '{0}' is missing implementations for the following members of '{1}': {2}."),Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more:diag(2655,1,"Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more_2655","Non-abstract class '{0}' is missing implementations for the following members of '{1}': {2} and {3} more."),Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1:diag(2656,1,"Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_2656","Non-abstract class expression is missing implementations for the following members of '{0}': {1}."),JSX_expressions_must_have_one_parent_element:diag(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:diag(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:diag(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:diag(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:diag(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:diag(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:diag(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:diag(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:diag(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:diag(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:diag(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:diag(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:diag(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:diag(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:diag(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:diag(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:diag(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:diag(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:diag(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:diag(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:diag(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:diag(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:diag(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:diag(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:diag(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:diag(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:diag(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:diag(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:diag(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:diag(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:diag(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:diag(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:diag(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:diag(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:diag(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:diag(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:diag(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:diag(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:diag(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:diag(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:diag(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:diag(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:diag(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:diag(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:diag(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:diag(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:diag(2705,1,"An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_2705","An async function or method in ES5 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:diag(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:diag(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:diag(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:diag(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:diag(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:diag(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:diag(2712,1,"A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_t_2712","A dynamic import call in ES5 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:diag(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:diag(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:diag(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:diag(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:diag(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:diag(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:diag(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:diag(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:diag(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:diag(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:diag(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:diag(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0:diag(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 and above with module {0}."),Cannot_find_lib_definition_for_0:diag(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:diag(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:diag(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:diag(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:diag(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:diag(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:diag(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:diag(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:diag(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:diag(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:diag(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:diag(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:diag(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:diag(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:diag(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:diag(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:diag(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:diag(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:diag(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:diag(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:diag(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:diag(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:diag(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:diag(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:diag(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:diag(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:diag(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:diag(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:diag(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:diag(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:diag(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:diag(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:diag(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:diag(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:diag(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:diag(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:diag(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:diag(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:diag(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:diag(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:diag(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:diag(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:diag(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:diag(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:diag(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:diag(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:diag(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:diag(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:diag(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:diag(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:diag(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:diag(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:diag(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:diag(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:diag(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:diag(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:diag(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:diag(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:diag(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:diag(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:diag(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:diag(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:diag(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:diag(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:diag(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:diag(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:diag(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:diag(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:diag(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:diag(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:diag(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:diag(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:diag(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:diag(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:diag(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:diag(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:diag(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:diag(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:diag(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:diag(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:diag(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:diag(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:diag(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:diag(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:diag(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:diag(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:diag(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:diag(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers_or_class_static_initialization_blocks:diag(2815,1,"arguments_cannot_be_referenced_in_property_initializers_or_class_static_initialization_blocks_2815","'arguments' cannot be referenced in property initializers or class static initialization blocks."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:diag(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:diag(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:diag(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:diag(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:diag(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext_or_preserve:diag(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext__2821","Import assertions are only supported when the '--module' option is set to 'esnext', 'node18', 'node20', 'nodenext', or 'preserve'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:diag(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext_or_preserve:diag(2823,1,"Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext__2823","Import attributes are only supported when the '--module' option is set to 'esnext', 'node18', 'node20', 'nodenext', or 'preserve'."),Cannot_find_namespace_0_Did_you_mean_1:diag(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:diag(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:diag(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:diag(2836,1,"Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2836","Import assertions are not allowed on statements that compile to CommonJS 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:diag(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:diag(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:diag(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types:diag(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types_2840","An interface cannot extend a primitive type like '{0}'. It can only extend other named object types."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:diag(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:diag(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:diag(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:diag(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:diag(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression:diag(2848,1,"The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression_2848","The right-hand side of an 'instanceof' expression must not be an instantiation expression."),Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1:diag(2849,1,"Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1_2849","Target signature provides too few arguments. Expected {0} or more, but got {1}."),The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_null_or_undefined:diag(2850,1,"The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_n_2850","The initializer of a 'using' declaration must be either an object with a '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined:diag(2851,1,"The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_2851","The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:diag(2852,1,"await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_2852","'await using' statements are only allowed within async functions and at the top levels of modules."),await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:diag(2853,1,"await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_th_2853","'await using' statements are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:diag(2854,1,"Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_sys_2854","Top-level 'await using' statements are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'node20', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super:diag(2855,1,"Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super_2855","Class field '{0}' defined by the parent class is not accessible in the child class via super."),Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:diag(2856,1,"Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2856","Import attributes are not allowed on statements that compile to CommonJS 'require' calls."),Import_attributes_cannot_be_used_with_type_only_imports_or_exports:diag(2857,1,"Import_attributes_cannot_be_used_with_type_only_imports_or_exports_2857","Import attributes cannot be used with type-only imports or exports."),Import_attribute_values_must_be_string_literal_expressions:diag(2858,1,"Import_attribute_values_must_be_string_literal_expressions_2858","Import attribute values must be string literal expressions."),Excessive_complexity_comparing_types_0_and_1:diag(2859,1,"Excessive_complexity_comparing_types_0_and_1_2859","Excessive complexity comparing types '{0}' and '{1}'."),The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_hand_side_s_Symbol_hasInstance_method:diag(2860,1,"The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_2860","The left-hand side of an 'instanceof' expression must be assignable to the first argument of the right-hand side's '[Symbol.hasInstance]' method."),An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_hand_side_of_an_instanceof_expression:diag(2861,1,"An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_han_2861","An object's '[Symbol.hasInstance]' method must return a boolean value for it to be used on the right-hand side of an 'instanceof' expression."),Type_0_is_generic_and_can_only_be_indexed_for_reading:diag(2862,1,"Type_0_is_generic_and_can_only_be_indexed_for_reading_2862","Type '{0}' is generic and can only be indexed for reading."),A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values:diag(2863,1,"A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values_2863","A class cannot extend a primitive type like '{0}'. Classes can only extend constructable values."),A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types:diag(2864,1,"A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types_2864","A class cannot implement a primitive type like '{0}'. It can only implement other named object types."),Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled:diag(2865,1,"Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_2865","Import '{0}' conflicts with local value, so must be declared with a type-only import when 'isolatedModules' is enabled."),Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled:diag(2866,1,"Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_w_2866","Import '{0}' conflicts with global value used in this file, so must be declared with a type-only import when 'isolatedModules' is enabled."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun:diag(2867,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2867","Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_and_then_add_bun_to_the_types_field_in_your_tsconfig:diag(2868,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2868","Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun` and then add 'bun' to the types field in your tsconfig."),Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish:diag(2869,1,"Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish_2869","Right operand of ?? is unreachable because the left operand is never nullish."),This_binary_expression_is_never_nullish_Are_you_missing_parentheses:diag(2870,1,"This_binary_expression_is_never_nullish_Are_you_missing_parentheses_2870","This binary expression is never nullish. Are you missing parentheses?"),This_expression_is_always_nullish:diag(2871,1,"This_expression_is_always_nullish_2871","This expression is always nullish."),This_kind_of_expression_is_always_truthy:diag(2872,1,"This_kind_of_expression_is_always_truthy_2872","This kind of expression is always truthy."),This_kind_of_expression_is_always_falsy:diag(2873,1,"This_kind_of_expression_is_always_falsy_2873","This kind of expression is always falsy."),This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found:diag(2874,1,"This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found_2874","This JSX tag requires '{0}' to be in scope, but it could not be found."),This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed:diag(2875,1,"This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_fo_2875","This JSX tag requires the module path '{0}' to exist, but none could be found. Make sure you have types for the appropriate package installed."),This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolves_to_0:diag(2876,1,"This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolv_2876",'This relative import path is unsafe to rewrite because it looks like a file name, but actually resolves to "{0}".'),This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_during_emit_because_it_is_not_a_relative_path:diag(2877,1,"This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_duri_2877","This import uses a '{0}' extension to resolve to an input TypeScript file, but will not be rewritten during emit because it is not a relative path."),This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_between_the_projects_output_files_is_not_the_same_as_the_relative_path_between_its_input_files:diag(2878,1,"This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_b_2878","This import path is unsafe to rewrite because it resolves to another project, and the relative path between the projects' output files is not the same as the relative path between its input files."),Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found:diag(2879,1,"Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found_2879","Using JSX fragments requires fragment factory '{0}' to be in scope, but it could not be found."),Import_assertions_have_been_replaced_by_import_attributes_Use_with_instead_of_assert:diag(2880,1,"Import_assertions_have_been_replaced_by_import_attributes_Use_with_instead_of_assert_2880","Import assertions have been replaced by import attributes. Use 'with' instead of 'assert'."),This_expression_is_never_nullish:diag(2881,1,"This_expression_is_never_nullish_2881","This expression is never nullish."),Import_declaration_0_is_using_private_name_1:diag(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:diag(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:diag(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:diag(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:diag(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:diag(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:diag(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:diag(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:diag(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:diag(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:diag(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:diag(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:diag(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:diag(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:diag(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:diag(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:diag(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:diag(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:diag(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:diag(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:diag(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:diag(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:diag(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:diag(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:diag(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:diag(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:diag(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:diag(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:diag(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:diag(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:diag(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:diag(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:diag(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:diag(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:diag(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:diag(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:diag(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:diag(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected:diag(4094,1,"Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected_4094","Property '{0}' of exported anonymous class type may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:diag(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:diag(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:diag(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:diag(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:diag(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:diag(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:diag(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:diag(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:diag(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:diag(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:diag(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:diag(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:diag(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:diag(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:diag(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:diag(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:diag(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:diag(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:diag(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:diag(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:diag(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:diag(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:diag(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:diag(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given:diag(4125,1,"Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given_4125","Each declaration of '{0}.{1}' differs in its value, where '{2}' was expected but '{3}' was given."),One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value:diag(4126,1,"One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value_4126","One value of '{0}.{1}' is the string '{2}', and the other is assumed to be an unknown numeric value."),This_member_cannot_have_an_override_modifier_because_its_name_is_dynamic:diag(4127,1,"This_member_cannot_have_an_override_modifier_because_its_name_is_dynamic_4127","This member cannot have an 'override' modifier because its name is dynamic."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_name_is_dynamic:diag(4128,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_name_is_dynamic_4128","This member cannot have a JSDoc comment with an '@override' tag because its name is dynamic."),The_current_host_does_not_support_the_0_option:diag(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:diag(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:diag(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:diag(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Unknown_compiler_option_0:diag(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:diag(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:diag(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:diag(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:diag(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:diag(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:diag(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:diag(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:diag(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:diag(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:diag(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:diag(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:diag(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:diag(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:diag(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:diag(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:diag(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:diag(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:diag(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:diag(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:diag(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:diag(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:diag(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:diag(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:diag(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd:diag(5071,1,"Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd_5071","Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'."),Unknown_build_option_0:diag(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:diag(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:diag(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:diag(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:diag(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:diag(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:diag(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:diag(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:diag(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:diag(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:diag(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:diag(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),A_tuple_member_cannot_be_both_optional_and_rest:diag(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:diag(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:diag(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:diag(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:diag(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:diag(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:diag(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:diag(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:diag(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:diag(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later:diag(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'preserve' or to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:diag(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:diag(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:diag(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:diag(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101","Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '\"ignoreDeprecations\": \"{2}\"' to silence this error."),Option_0_has_been_removed_Please_remove_it_from_your_configuration:diag(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:diag(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:diag(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:diag(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:diag(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:diag(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107","Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '\"ignoreDeprecations\": \"{3}\"' to silence this error."),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:diag(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1:diag(5109,1,"Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1_5109","Option 'moduleResolution' must be set to '{0}' (or left unspecified) when option 'module' is set to '{1}'."),Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1:diag(5110,1,"Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1_5110","Option 'module' must be set to '{0}' when option 'moduleResolution' is set to '{1}'."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:diag(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:diag(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:diag(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:diag(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:diag(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:diag(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:diag(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:diag(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:diag(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:diag(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:diag(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:diag(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:diag(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:diag(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:diag(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:diag(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:diag(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:diag(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:diag(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:diag(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:diag(6024,3,"options_6024","options"),file:diag(6025,3,"file_6025","file"),Examples_Colon_0:diag(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:diag(6027,3,"Options_Colon_6027","Options:"),Version_0:diag(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:diag(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:diag(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:diag(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:diag(6034,3,"KIND_6034","KIND"),FILE:diag(6035,3,"FILE_6035","FILE"),VERSION:diag(6036,3,"VERSION_6036","VERSION"),LOCATION:diag(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:diag(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:diag(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:diag(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:diag(6041,3,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:diag(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:diag(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:diag(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:diag(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:diag(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form <language> or <language>-<territory>. For example '{0}' or '{1}'."),Unable_to_open_file_0:diag(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:diag(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:diag(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:diag(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:diag(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:diag(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:diag(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:diag(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:diag(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:diag(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:diag(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:diag(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:diag(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:diag(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:diag(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:diag(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:diag(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:diag(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:diag(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:diag(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:diag(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:diag(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:diag(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:diag(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:diag(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),Only_amd_and_system_modules_are_supported_alongside_0:diag(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:diag(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:diag(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:diag(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:diag(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:diag(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:diag(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:diag(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:diag(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:diag(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:diag(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:diag(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:diag(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:diag(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:diag(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:diag(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:diag(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:diag(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:diag(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:diag(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:diag(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:diag(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:diag(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:diag(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:diag(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:diag(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:diag(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:diag(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:diag(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:diag(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:diag(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:diag(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:diag(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:diag(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:diag(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:diag(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:diag(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:diag(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:diag(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:diag(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:diag(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:diag(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:diag(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:diag(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:diag(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:diag(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:diag(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:diag(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:diag(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:diag(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:diag(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:diag(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:diag(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:diag(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:diag(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:diag(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:diag(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:diag(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:diag(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:diag(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:diag(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:diag(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:diag(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:diag(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:diag(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:diag(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:diag(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:diag(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:diag(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:diag(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:diag(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:diag(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:diag(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:diag(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:diag(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:diag(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1:diag(6164,3,"Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1_6164","Skipping module '{0}' that looks like an absolute URI, target file types: {1}."),Do_not_truncate_error_messages:diag(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:diag(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:diag(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:diag(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:diag(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:diag(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:diag(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5:diag(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5'."),Enable_all_strict_type_checking_options:diag(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:diag(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:diag(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:diag(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:diag(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:diag(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:diag(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:diag(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:diag(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:diag(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:diag(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:diag(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:diag(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:diag(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:diag(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:diag(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:diag(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:diag(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:diag(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:diag(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:diag(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:diag(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:diag(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:diag(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:diag(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:diag(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:diag(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:diag(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:diag(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:diag(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:diag(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:diag(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:diag(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:diag(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:diag(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:diag(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:diag(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:diag(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:diag(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:diag(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:diag(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:diag(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:diag(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:diag(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:diag(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:diag(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:diag(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:diag(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:diag(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:diag(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:diag(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:diag(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:diag(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:diag(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:diag(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:diag(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:diag(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:diag(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:diag(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:diag(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:diag(6244,3,"Modules_6244","Modules"),File_Management:diag(6245,3,"File_Management_6245","File Management"),Emit:diag(6246,3,"Emit_6246","Emit"),JavaScript_Support:diag(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:diag(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:diag(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:diag(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:diag(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:diag(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:diag(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:diag(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:diag(6255,3,"Projects_6255","Projects"),Output_Formatting:diag(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:diag(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:diag(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_0:diag(6259,3,"Found_1_error_in_0_6259","Found 1 error in {0}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:diag(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:diag(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:diag(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:diag(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:diag(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder:diag(6265,3,"Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_no_6265","Resolving type reference directive for program that specifies custom typeRoots, skipping lookup in 'node_modules' folder."),Option_0_can_only_be_specified_on_command_line:diag(6266,1,"Option_0_can_only_be_specified_on_command_line_6266","Option '{0}' can only be specified on command line."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:diag(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:diag(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:diag(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:diag(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:diag(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:diag(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:diag(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:diag(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:diag(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278","There are types at '{0}', but this result could not be resolved when respecting package.json \"exports\". The '{1}' library may need to update its package.json or typings."),Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update:diag(6279,3,"Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_ne_6279","Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setting_Consider_updating_to_node16_nodenext_or_bundler:diag(6280,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setti_6280","There are types at '{0}', but this result could not be resolved under your current 'moduleResolution' setting. Consider updating to 'node16', 'nodenext', or 'bundler'."),package_json_has_a_peerDependencies_field:diag(6281,3,"package_json_has_a_peerDependencies_field_6281","'package.json' has a 'peerDependencies' field."),Found_peerDependency_0_with_1_version:diag(6282,3,"Found_peerDependency_0_with_1_version_6282","Found peerDependency '{0}' with '{1}' version."),Failed_to_find_peerDependency_0:diag(6283,3,"Failed_to_find_peerDependency_0_6283","Failed to find peerDependency '{0}'."),File_Layout:diag(6284,3,"File_Layout_6284","File Layout"),Environment_Settings:diag(6285,3,"Environment_Settings_6285","Environment Settings"),See_also_https_Colon_Slash_Slashaka_ms_Slashtsconfig_Slashmodule:diag(6286,3,"See_also_https_Colon_Slash_Slashaka_ms_Slashtsconfig_Slashmodule_6286","See also https://aka.ms/tsconfig/module"),For_nodejs_Colon:diag(6287,3,"For_nodejs_Colon_6287","For nodejs:"),and_npm_install_D_types_Slashnode:diag(6290,3,"and_npm_install_D_types_Slashnode_6290","and npm install -D @types/node"),Other_Outputs:diag(6291,3,"Other_Outputs_6291","Other Outputs"),Stricter_Typechecking_Options:diag(6292,3,"Stricter_Typechecking_Options_6292","Stricter Typechecking Options"),Style_Options:diag(6293,3,"Style_Options_6293","Style Options"),Recommended_Options:diag(6294,3,"Recommended_Options_6294","Recommended Options"),Enable_project_compilation:diag(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:diag(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:diag(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:diag(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306","Referenced project '{0}' must have setting \"composite\": true."),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:diag(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Referenced_project_0_may_not_disable_emit:diag(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:diag(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:diag(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:diag(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:diag(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:diag(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:diag(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:diag(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:diag(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:diag(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:diag(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:diag(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:diag(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:diag(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:diag(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:diag(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:diag(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:diag(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:diag(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:diag(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:diag(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:diag(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:diag(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:diag(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:diag(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:diag(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:diag(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:diag(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:diag(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:diag(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:diag(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:diag(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:diag(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:diag(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:diag(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:diag(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:diag(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:diag(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:diag(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:diag(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:diag(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:diag(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:diag(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:diag(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:diag(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:diag(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:diag(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:diag(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:diag(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:diag(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:diag(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:diag(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:diag(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:diag(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:diag(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:diag(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:diag(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:diag(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:diag(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:diag(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0:diag(6417,3,"Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0_6417","Searching all ancestor node_modules directories for preferred extensions: {0}."),Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0:diag(6418,3,"Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0_6418","Searching all ancestor node_modules directories for fallback extensions: {0}."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors:diag(6419,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors_6419","Project '{0}' is out of date because buildinfo file '{1}' indicates that program needs to report errors."),Project_0_is_out_of_date_because_1:diag(6420,3,"Project_0_is_out_of_date_because_1_6420","Project '{0}' is out of date because {1}."),Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_in_output_files:diag(6421,3,"Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_i_6421","Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in relative import paths to their JavaScript equivalent in output files."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:diag(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:diag(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:diag(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:diag(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:diag(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:diag(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:diag(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJs_option_to_get_errors_from_these_files:diag(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJs_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJs' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:diag(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:diag(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:diag(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:diag(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:diag(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:diag(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:diag(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:diag(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:diag(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:diag(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:diag(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:diag(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:diag(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:diag(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:diag(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:diag(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:diag(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:diag(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:diag(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:diag(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:diag(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:diag(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:diag(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:diag(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:diag(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:diag(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:diag(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:diag(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:diag(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:diag(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:diag(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:diag(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:diag(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:diag(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:diag(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:diag(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:diag(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:diag(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Skip_building_downstream_projects_on_error_in_upstream_project:diag(6640,3,"Skip_building_downstream_projects_on_error_in_upstream_project_6640","Skip building downstream projects on error in upstream project."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:diag(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:diag(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:diag(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:diag(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:diag(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:diag(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:diag(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:diag(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:diag(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:diag(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:diag(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:diag(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:diag(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:diag(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:diag(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:diag(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:diag(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:diag(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:diag(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:diag(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:diag(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:diag(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:diag(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:diag(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:diag(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:diag(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:diag(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:diag(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:diag(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:diag(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:diag(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:diag(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:diag(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:diag(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:diag(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:diag(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:diag(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:diag(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:diag(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:diag(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:diag(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:diag(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:diag(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:diag(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:diag(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:diag(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:diag(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:diag(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:diag(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:diag(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:diag(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:diag(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:diag(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:diag(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:diag(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:diag(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:diag(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:diag(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:diag(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:diag(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:diag(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:diag(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:diag(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:diag(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:diag(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:diag(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:diag(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:diag(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:diag(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:diag(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:diag(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:diag(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:diag(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:diag(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:diag(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files:diag(6719,3,"Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719","Require sufficient annotation on exports so other tools can trivially generate declaration files."),Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any:diag(6720,3,"Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any_6720","Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'."),Do_not_allow_runtime_constructs_that_are_not_part_of_ECMAScript:diag(6721,3,"Do_not_allow_runtime_constructs_that_are_not_part_of_ECMAScript_6721","Do not allow runtime constructs that are not part of ECMAScript."),Default_catch_clause_variables_as_unknown_instead_of_any:diag(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:diag(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported:diag(6805,3,"Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805","Disable full type checking (only critical parse and emit errors will be reported)."),Check_side_effect_imports:diag(6806,3,"Check_side_effect_imports_6806","Check side effect imports."),This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2:diag(6807,1,"This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2_6807","This operation can be simplified. This shift is identical to `{0} {1} {2}`."),Enable_lib_replacement:diag(6808,3,"Enable_lib_replacement_6808","Enable lib replacement."),one_of_Colon:diag(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:diag(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:diag(6902,3,"type_Colon_6902","type:"),default_Colon:diag(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:diag(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:diag(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:diag(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:diag(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:diag(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:diag(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:diag(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:diag(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:diag(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:diag(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:diag(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:diag(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:diag(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:diag(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:diag(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:diag(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:diag(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:diag(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:diag(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:diag(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:diag(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:diag(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:diag(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:diag(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:diag(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:diag(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:diag(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:diag(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:diag(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:diag(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:diag(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:diag(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:diag(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:diag(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:diag(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:diag(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:diag(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:diag(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:diag(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:diag(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:diag(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:diag(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:diag(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:diag(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:diag(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:diag(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation:diag(7025,1,"Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation_7025","Generator implicitly has yield type '{0}'. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:diag(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:diag(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:diag(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:diag(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:diag(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:diag(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:diag(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:diag(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:diag(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:diag(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:diag(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:diag(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:diag(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:diag(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:diag(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:diag(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:diag(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:diag(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:diag(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:diag(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:diag(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:diag(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:diag(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:diag(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:diag(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:diag(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:diag(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:diag(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:diag(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:diag(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:diag(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:diag(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:diag(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:diag(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:diag(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:diag(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:diag(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:diag(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:diag(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:diag(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:diag(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:diag(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:diag(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:diag(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:diag(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:diag(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:diag(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Signature_declarations_can_only_be_used_in_TypeScript_files:diag(8017,1,"Signature_declarations_can_only_be_used_in_TypeScript_files_8017","Signature declarations can only be used in TypeScript files."),Report_errors_in_js_files:diag(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:diag(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:diag(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:diag(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:diag(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:diag(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:diag(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:diag(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:diag(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:diag(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:diag(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:diag(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:diag(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:diag(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:diag(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:diag(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:diag(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:diag(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:diag(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:diag(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag:diag(8039,1,"A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag_8039","A JSDoc '@template' tag may not follow a '@typedef', '@callback', or '@overload' tag"),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:diag(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:diag(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations:diag(9007,1,"Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007","Function must have an explicit return type annotation with --isolatedDeclarations."),Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations:diag(9008,1,"Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008","Method must have an explicit return type annotation with --isolatedDeclarations."),At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations:diag(9009,1,"At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9009","At least one accessor must have an explicit type annotation with --isolatedDeclarations."),Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations:diag(9010,1,"Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010","Variable must have an explicit type annotation with --isolatedDeclarations."),Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations:diag(9011,1,"Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011","Parameter must have an explicit type annotation with --isolatedDeclarations."),Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations:diag(9012,1,"Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012","Property must have an explicit type annotation with --isolatedDeclarations."),Expression_type_can_t_be_inferred_with_isolatedDeclarations:diag(9013,1,"Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013","Expression type can't be inferred with --isolatedDeclarations."),Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations:diag(9014,1,"Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014","Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."),Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations:diag(9015,1,"Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015","Objects that contain spread assignments can't be inferred with --isolatedDeclarations."),Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations:diag(9016,1,"Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016","Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."),Only_const_arrays_can_be_inferred_with_isolatedDeclarations:diag(9017,1,"Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017","Only const arrays can be inferred with --isolatedDeclarations."),Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations:diag(9018,1,"Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018","Arrays with spread elements can't inferred with --isolatedDeclarations."),Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations:diag(9019,1,"Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019","Binding elements can't be exported directly with --isolatedDeclarations."),Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations:diag(9020,1,"Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020","Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."),Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations:diag(9021,1,"Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021","Extends clause can't contain an expression with --isolatedDeclarations."),Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations:diag(9022,1,"Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022","Inference from class expressions is not supported with --isolatedDeclarations."),Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function:diag(9023,1,"Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023","Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."),Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations:diag(9025,1,"Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_sup_9025","Declaration emit for this parameter requires implicitly adding undefined to its type. This is not supported with --isolatedDeclarations."),Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations:diag(9026,1,"Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026","Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."),Add_a_type_annotation_to_the_variable_0:diag(9027,1,"Add_a_type_annotation_to_the_variable_0_9027","Add a type annotation to the variable {0}."),Add_a_type_annotation_to_the_parameter_0:diag(9028,1,"Add_a_type_annotation_to_the_parameter_0_9028","Add a type annotation to the parameter {0}."),Add_a_type_annotation_to_the_property_0:diag(9029,1,"Add_a_type_annotation_to_the_property_0_9029","Add a type annotation to the property {0}."),Add_a_return_type_to_the_function_expression:diag(9030,1,"Add_a_return_type_to_the_function_expression_9030","Add a return type to the function expression."),Add_a_return_type_to_the_function_declaration:diag(9031,1,"Add_a_return_type_to_the_function_declaration_9031","Add a return type to the function declaration."),Add_a_return_type_to_the_get_accessor_declaration:diag(9032,1,"Add_a_return_type_to_the_get_accessor_declaration_9032","Add a return type to the get accessor declaration."),Add_a_type_to_parameter_of_the_set_accessor_declaration:diag(9033,1,"Add_a_type_to_parameter_of_the_set_accessor_declaration_9033","Add a type to parameter of the set accessor declaration."),Add_a_return_type_to_the_method:diag(9034,1,"Add_a_return_type_to_the_method_9034","Add a return type to the method"),Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit:diag(9035,1,"Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035","Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."),Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it:diag(9036,1,"Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036","Move the expression in default export to a variable and add a type annotation to it."),Default_exports_can_t_be_inferred_with_isolatedDeclarations:diag(9037,1,"Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037","Default exports can't be inferred with --isolatedDeclarations."),Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations:diag(9038,1,"Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations_9038","Computed property names on class or object literals cannot be inferred with --isolatedDeclarations."),Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations:diag(9039,1,"Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations_9039","Type containing private name '{0}' can't be used with --isolatedDeclarations."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:diag(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:diag(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:diag(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:diag(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:diag(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:diag(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:diag(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:diag(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:diag(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:diag(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:diag(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:diag(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:diag(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:diag(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:diag(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:diag(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:diag(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:diag(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:diag(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:diag(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Unicode_escape_sequence_cannot_appear_here:diag(17021,1,"Unicode_escape_sequence_cannot_appear_here_17021","Unicode escape sequence cannot appear here."),Circularity_detected_while_resolving_configuration_Colon_0:diag(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:diag(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:diag(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:diag(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:diag(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:diag(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:diag(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:diag(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:diag(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:diag(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:diag(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),JSDoc_typedef_may_be_converted_to_TypeScript_type:diag(80009,2,"JSDoc_typedef_may_be_converted_to_TypeScript_type_80009","JSDoc typedef may be converted to TypeScript type."),JSDoc_typedefs_may_be_converted_to_TypeScript_types:diag(80010,2,"JSDoc_typedefs_may_be_converted_to_TypeScript_types_80010","JSDoc typedefs may be converted to TypeScript types."),Add_missing_super_call:diag(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:diag(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:diag(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:diag(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:diag(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:diag(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:diag(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:diag(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:diag(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:diag(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:diag(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:diag(90013,3,"Import_0_from_1_90013","Import '{0}' from \"{1}\""),Change_0_to_1:diag(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:diag(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:diag(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:diag(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:diag(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:diag(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:diag(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:diag(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:diag(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:diag(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:diag(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:diag(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:diag(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:diag(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:diag(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:diag(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:diag(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:diag(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:diag(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:diag(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:diag(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:diag(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:diag(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:diag(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:diag(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:diag(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:diag(90055,3,"Remove_type_from_import_declaration_from_0_90055","Remove 'type' from import declaration from \"{0}\""),Remove_type_from_import_of_0_from_1:diag(90056,3,"Remove_type_from_import_of_0_from_1_90056","Remove 'type' from import of '{0}' from \"{1}\""),Add_import_from_0:diag(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:diag(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:diag(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:diag(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Update_modifiers_of_0:diag(90061,3,"Update_modifiers_of_0_90061","Update modifiers of '{0}'"),Add_annotation_of_type_0:diag(90062,3,"Add_annotation_of_type_0_90062","Add annotation of type '{0}'"),Add_return_type_0:diag(90063,3,"Add_return_type_0_90063","Add return type '{0}'"),Extract_base_class_to_variable:diag(90064,3,"Extract_base_class_to_variable_90064","Extract base class to variable"),Extract_default_export_to_variable:diag(90065,3,"Extract_default_export_to_variable_90065","Extract default export to variable"),Extract_binding_expressions_to_variable:diag(90066,3,"Extract_binding_expressions_to_variable_90066","Extract binding expressions to variable"),Add_all_missing_type_annotations:diag(90067,3,"Add_all_missing_type_annotations_90067","Add all missing type annotations"),Add_satisfies_and_an_inline_type_assertion_with_0:diag(90068,3,"Add_satisfies_and_an_inline_type_assertion_with_0_90068","Add satisfies and an inline type assertion with '{0}'"),Extract_to_variable_and_replace_with_0_as_typeof_0:diag(90069,3,"Extract_to_variable_and_replace_with_0_as_typeof_0_90069","Extract to variable and replace with '{0} as typeof {0}'"),Mark_array_literal_as_const:diag(90070,3,"Mark_array_literal_as_const_90070","Mark array literal as const"),Annotate_types_of_properties_expando_function_in_a_namespace:diag(90071,3,"Annotate_types_of_properties_expando_function_in_a_namespace_90071","Annotate types of properties expando function in a namespace"),Convert_function_to_an_ES2015_class:diag(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:diag(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:diag(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:diag(95005,3,"Extract_function_95005","Extract function"),Extract_constant:diag(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:diag(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:diag(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:diag(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:diag(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:diag(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:diag(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:diag(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:diag(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:diag(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:diag(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:diag(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:diag(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:diag(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:diag(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:diag(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:diag(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:diag(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:diag(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:diag(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:diag(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:diag(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:diag(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:diag(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:diag(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:diag(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:diag(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:diag(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:diag(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:diag(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:diag(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:diag(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:diag(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:diag(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:diag(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:diag(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:diag(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:diag(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:diag(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:diag(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:diag(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:diag(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:diag(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:diag(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:diag(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:diag(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:diag(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:diag(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:diag(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:diag(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:diag(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:diag(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:diag(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:diag(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:diag(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:diag(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:diag(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:diag(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:diag(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:diag(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:diag(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:diag(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:diag(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:diag(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:diag(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:diag(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:diag(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:diag(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:diag(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:diag(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:diag(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:diag(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:diag(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:diag(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:diag(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:diag(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:diag(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:diag(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:diag(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:diag(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:diag(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:diag(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:diag(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:diag(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:diag(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:diag(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:diag(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:diag(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:diag(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:diag(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:diag(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:diag(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:diag(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:diag(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:diag(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:diag(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:diag(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:diag(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:diag(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:diag(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:diag(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:diag(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:diag(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:diag(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:diag(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:diag(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:diag(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:diag(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:diag(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:diag(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:diag(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:diag(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:diag(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:diag(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:diag(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:diag(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:diag(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:diag(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:diag(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:diag(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:diag(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:diag(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:diag(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:diag(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:diag(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:diag(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:diag(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:diag(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:diag(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:diag(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:diag(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:diag(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:diag(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:diag(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:diag(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:diag(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:diag(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:diag(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:diag(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:diag(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:diag(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:diag(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:diag(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:diag(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenations_and_string_literals:diag(95154,3,"Can_only_convert_string_concatenations_and_string_literals_95154","Can only convert string concatenations and string literals"),Selection_is_not_a_valid_statement_or_statements:diag(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:diag(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:diag(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:diag(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:diag(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:diag(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:diag(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:diag(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:diag(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:diag(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:diag(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:diag(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:diag(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:diag(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:diag(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:diag(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:diag(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:diag(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:diag(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:diag(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:diag(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),Convert_typedef_to_TypeScript_type:diag(95176,3,"Convert_typedef_to_TypeScript_type_95176","Convert typedef to TypeScript type."),Convert_all_typedef_to_TypeScript_types:diag(95177,3,"Convert_all_typedef_to_TypeScript_types_95177","Convert all typedef to TypeScript types."),Move_to_file:diag(95178,3,"Move_to_file_95178","Move to file"),Cannot_move_to_file_selected_file_is_invalid:diag(95179,3,"Cannot_move_to_file_selected_file_is_invalid_95179","Cannot move to file, selected file is invalid"),Use_import_type:diag(95180,3,"Use_import_type_95180","Use 'import type'"),Use_type_0:diag(95181,3,"Use_type_0_95181","Use 'type {0}'"),Fix_all_with_type_only_imports:diag(95182,3,"Fix_all_with_type_only_imports_95182","Fix all with type-only imports"),Cannot_move_statements_to_the_selected_file:diag(95183,3,"Cannot_move_statements_to_the_selected_file_95183","Cannot move statements to the selected file"),Inline_variable:diag(95184,3,"Inline_variable_95184","Inline variable"),Could_not_find_variable_to_inline:diag(95185,3,"Could_not_find_variable_to_inline_95185","Could not find variable to inline."),Variables_with_multiple_declarations_cannot_be_inlined:diag(95186,3,"Variables_with_multiple_declarations_cannot_be_inlined_95186","Variables with multiple declarations cannot be inlined."),Add_missing_comma_for_object_member_completion_0:diag(95187,3,"Add_missing_comma_for_object_member_completion_0_95187","Add missing comma for object member completion '{0}'."),Add_missing_parameter_to_0:diag(95188,3,"Add_missing_parameter_to_0_95188","Add missing parameter to '{0}'"),Add_missing_parameters_to_0:diag(95189,3,"Add_missing_parameters_to_0_95189","Add missing parameters to '{0}'"),Add_all_missing_parameters:diag(95190,3,"Add_all_missing_parameters_95190","Add all missing parameters"),Add_optional_parameter_to_0:diag(95191,3,"Add_optional_parameter_to_0_95191","Add optional parameter to '{0}'"),Add_optional_parameters_to_0:diag(95192,3,"Add_optional_parameters_to_0_95192","Add optional parameters to '{0}'"),Add_all_optional_parameters:diag(95193,3,"Add_all_optional_parameters_95193","Add all optional parameters"),Wrap_in_parentheses:diag(95194,3,"Wrap_in_parentheses_95194","Wrap in parentheses"),Wrap_all_invalid_decorator_expressions_in_parentheses:diag(95195,3,"Wrap_all_invalid_decorator_expressions_in_parentheses_95195","Wrap all invalid decorator expressions in parentheses"),Add_resolution_mode_import_attribute:diag(95196,3,"Add_resolution_mode_import_attribute_95196","Add 'resolution-mode' import attribute"),Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it:diag(95197,3,"Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it_95197","Add 'resolution-mode' import attribute to all type-only imports that need it"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:diag(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:diag(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:diag(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:diag(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:diag(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:diag(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:diag(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:diag(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:diag(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:diag(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:diag(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:diag(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:diag(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:diag(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:diag(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:diag(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:diag(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:diag(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:diag(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:diag(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:diag(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:diag(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:diag(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:diag(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:diag(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:diag(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),await_expression_cannot_be_used_inside_a_class_static_block:diag(18037,1,"await_expression_cannot_be_used_inside_a_class_static_block_18037","'await' expression cannot be used inside a class static block."),for_await_loops_cannot_be_used_inside_a_class_static_block:diag(18038,1,"for_await_loops_cannot_be_used_inside_a_class_static_block_18038","'for await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:diag(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:diag(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:diag(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:diag(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:diag(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:diag(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:diag(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:diag(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:diag(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:diag(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:diag(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:diag(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string."),Its_type_0_is_not_a_valid_JSX_element_type:diag(18053,1,"Its_type_0_is_not_a_valid_JSX_element_type_18053","Its type '{0}' is not a valid JSX element type."),await_using_statements_cannot_be_used_inside_a_class_static_block:diag(18054,1,"await_using_statements_cannot_be_used_inside_a_class_static_block_18054","'await using' statements cannot be used inside a class static block."),_0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is_enabled:diag(18055,1,"_0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is__18055","'{0}' has a string type, but must have syntactically recognizable string syntax when 'isolatedModules' is enabled."),Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is_enabled:diag(18056,1,"Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is__18056","Enum member following a non-literal numeric member must have an initializer when 'isolatedModules' is enabled."),String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es2020:diag(18057,1,"String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es_18057","String literal import and export names are not supported when the '--module' flag is set to 'es2015' or 'es2020'."),Default_imports_are_not_allowed_in_a_deferred_import:diag(18058,1,"Default_imports_are_not_allowed_in_a_deferred_import_18058","Default imports are not allowed in a deferred import."),Named_imports_are_not_allowed_in_a_deferred_import:diag(18059,1,"Named_imports_are_not_allowed_in_a_deferred_import_18059","Named imports are not allowed in a deferred import."),Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve:diag(18060,1,"Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve_18060","Deferred imports are only supported when the '--module' flag is set to 'esnext' or 'preserve'."),_0_is_not_a_valid_meta_property_for_keyword_import_Did_you_mean_meta_or_defer:diag(18061,1,"_0_is_not_a_valid_meta_property_for_keyword_import_Did_you_mean_meta_or_defer_18061","'{0}' is not a valid meta-property for keyword 'import'. Did you mean 'meta' or 'defer'?")};function tokenIsIdentifierOrKeyword(e){return e>=80}function tokenIsIdentifierOrKeywordOrGreaterThan(e){return 32===e||tokenIsIdentifierOrKeyword(e)}var wt={abstract:128,accessor:129,any:133,as:130,asserts:131,assert:132,bigint:163,boolean:136,break:83,case:84,catch:85,class:86,continue:88,const:87,constructor:137,debugger:89,declare:138,default:90,defer:166,delete:91,do:92,else:93,enum:94,export:95,extends:96,false:97,finally:98,for:99,from:161,function:100,get:139,if:101,implements:119,import:102,in:103,infer:140,instanceof:104,interface:120,intrinsic:141,is:142,keyof:143,let:121,module:144,namespace:145,never:146,new:105,null:106,number:150,object:151,package:122,private:123,protected:124,public:125,override:164,out:147,readonly:148,require:149,global:162,return:107,satisfies:152,set:153,static:126,string:154,super:108,switch:109,symbol:155,this:110,throw:111,true:112,try:113,type:156,typeof:114,undefined:157,unique:158,unknown:159,using:160,var:115,void:116,while:117,with:118,yield:127,async:134,await:135,of:165},Lt=new Map(Object.entries(wt)),Mt=new Map(Object.entries({...wt,"{":19,"}":20,"(":21,")":22,"[":23,"]":24,".":25,"...":26,";":27,",":28,"<":30,">":32,"<=":33,">=":34,"==":35,"!=":36,"===":37,"!==":38,"=>":39,"+":40,"-":41,"**":43,"*":42,"/":44,"%":45,"++":46,"--":47,"<<":48,"</":31,">>":49,">>>":50,"&":51,"|":52,"^":53,"!":54,"~":55,"&&":56,"||":57,"?":58,"??":61,"?.":29,":":59,"=":64,"+=":65,"-=":66,"*=":67,"**=":68,"/=":69,"%=":70,"<<=":71,">>=":72,">>>=":73,"&=":74,"|=":75,"^=":79,"||=":76,"&&=":77,"??=":78,"@":60,"#":63,"`":62})),Rt=new Map([[100,1],[103,2],[105,4],[109,8],[115,16],[117,32],[118,64],[121,128]]),Bt=new Map([[1,lt.RegularExpressionFlagsHasIndices],[16,lt.RegularExpressionFlagsDotAll],[32,lt.RegularExpressionFlagsUnicode],[64,lt.RegularExpressionFlagsUnicodeSets],[128,lt.RegularExpressionFlagsSticky]]),jt=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Jt=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Wt=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73474,73474,73476,73488,73490,73523,73648,73648,73728,74649,74752,74862,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124112,124139,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,191472,192093,194560,195101,196608,201546,201552,205743],Ut=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2160,2183,2185,2190,2200,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2901,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3132,3140,3142,3144,3146,3149,3157,3158,3160,3162,3165,3165,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3293,3294,3296,3299,3302,3311,3313,3315,3328,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3457,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3790,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5909,5919,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6159,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6847,6862,6912,6988,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43047,43052,43052,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69248,69289,69291,69292,69296,69297,69373,69404,69415,69415,69424,69456,69488,69509,69552,69572,69600,69622,69632,69702,69734,69749,69759,69818,69826,69826,69840,69864,69872,69881,69888,69940,69942,69951,69956,69959,69968,70003,70006,70006,70016,70084,70089,70092,70094,70106,70108,70108,70144,70161,70163,70199,70206,70209,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70753,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71488,71494,71680,71738,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71989,71991,71992,71995,72003,72016,72025,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72368,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73472,73488,73490,73530,73534,73538,73552,73561,73648,73648,73728,74649,74752,74862,74880,75075,77712,77808,77824,78895,78912,78933,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94180,94192,94193,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,118528,118573,118576,118598,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122624,122654,122661,122666,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,122928,122989,123023,123023,123136,123180,123184,123197,123200,123209,123214,123214,123536,123566,123584,123641,124112,124153,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,191472,192093,194560,195101,196608,201546,201552,205743,917760,917999],zt=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,Vt=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,qt=/@(?:see|link)/i;function lookupInUnicodeMap(e,t){if(e<t[0])return!1;let n,r=0,i=t.length;for(;r+1<i;){if(n=r+(i-r)/2,n-=n%2,t[n]<=e&&e<=t[n+1])return!0;e<t[n]?i=n:r=n+2}return!1}function isUnicodeIdentifierStart(e,t){return lookupInUnicodeMap(e,t>=2?Wt:jt)}function makeReverseMap(e){const t=[];return e.forEach((e,n)=>{t[e]=n}),t}var Ht=makeReverseMap(Mt);function tokenToString(e){return Ht[e]}function stringToToken(e){return Mt.get(e)}var Kt=makeReverseMap(Rt);function regularExpressionFlagToCharacterCode(e){return Kt[e]}function characterCodeToRegularExpressionFlag(e){return Rt.get(e)}function computeLineStarts(e){const t=[];let n=0,r=0;for(;n<e.length;){const i=e.charCodeAt(n);switch(n++,i){case 13:10===e.charCodeAt(n)&&n++;case 10:t.push(r),r=n;break;default:i>127&&isLineBreak(i)&&(t.push(r),r=n)}}return t.push(r),t}function getPositionOfLineAndCharacter(e,t,n,r){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,n,r):computePositionOfLineAndCharacter(getLineStarts(e),t,n,e.text,r)}function computePositionOfLineAndCharacter(e,t,n,r,i){(t<0||t>=e.length)&&(i?t=t<0?0:t>=e.length?e.length-1:t:h.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${void 0!==r?arrayIsEqualTo(e,computeLineStarts(r)):"unknown"}`));const o=e[t]+n;return i?o>e[t+1]?e[t+1]:"string"==typeof r&&o>r.length?r.length:o:(t<e.length-1?h.assert(o<e[t+1]):void 0!==r&&h.assert(o<=r.length),o)}function getLineStarts(e){return e.lineMap||(e.lineMap=computeLineStarts(e.text))}function computeLineAndCharacterOfPosition(e,t){const n=computeLineOfPosition(e,t);return{line:n,character:t-e[n]}}function computeLineOfPosition(e,t,n){let r=binarySearch(e,t,identity,compareValues,n);return r<0&&(r=~r-1,h.assert(-1!==r,"position cannot precede the beginning of the file")),r}function getLinesBetweenPositions(e,t,n){if(t===n)return 0;const r=getLineStarts(e),i=Math.min(t,n),o=i===n,a=o?t:n,s=computeLineOfPosition(r,i),c=computeLineOfPosition(r,a,s);return o?s-c:c-s}function getLineAndCharacterOfPosition(e,t){return computeLineAndCharacterOfPosition(getLineStarts(e),t)}function isWhiteSpaceLike(e){return isWhiteSpaceSingleLine(e)||isLineBreak(e)}function isWhiteSpaceSingleLine(e){return 32===e||9===e||11===e||12===e||160===e||133===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function isLineBreak(e){return 10===e||13===e||8232===e||8233===e}function isDigit(e){return e>=48&&e<=57}function isHexDigit(e){return isDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isASCIILetter(e){return e>=65&&e<=90||e>=97&&e<=122}function isWordCharacter(e){return isASCIILetter(e)||isDigit(e)||95===e}function isOctalDigit(e){return e>=48&&e<=55}function couldStartTrivia(e,t){const n=e.charCodeAt(t);switch(n){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return 0===t;default:return n>127}}function skipTrivia(e,t,n,r,i){if(positionIsSynthesized(t))return t;let o=!1;for(;;){const a=e.charCodeAt(t);switch(a){case 13:10===e.charCodeAt(t+1)&&t++;case 10:if(t++,n)return t;o=!!i;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(r)break;if(47===e.charCodeAt(t+1)){for(t+=2;t<e.length&&!isLineBreak(e.charCodeAt(t));)t++;o=!1;continue}if(42===e.charCodeAt(t+1)){for(t+=2;t<e.length;){if(42===e.charCodeAt(t)&&47===e.charCodeAt(t+1)){t+=2;break}t++}o=!1;continue}break;case 60:case 124:case 61:case 62:if(isConflictMarkerTrivia(e,t)){t=scanConflictMarkerTrivia(e,t),o=!1;continue}break;case 35:if(0===t&&isShebangTrivia(e,t)){t=scanShebangTrivia(e,t),o=!1;continue}break;case 42:if(o){t++,o=!1;continue}break;default:if(a>127&&isWhiteSpaceLike(a)){t++;continue}}return t}}var Gt=7;function isConflictMarkerTrivia(e,t){if(h.assert(t>=0),0===t||isLineBreak(e.charCodeAt(t-1))){const n=e.charCodeAt(t);if(t+Gt<e.length){for(let r=0;r<Gt;r++)if(e.charCodeAt(t+r)!==n)return!1;return 61===n||32===e.charCodeAt(t+Gt)}}return!1}function scanConflictMarkerTrivia(e,t,n){n&&n(Ot.Merge_conflict_marker_encountered,t,Gt);const r=e.charCodeAt(t),i=e.length;if(60===r||62===r)for(;t<i&&!isLineBreak(e.charCodeAt(t));)t++;else for(h.assert(124===r||61===r);t<i;){const n=e.charCodeAt(t);if((61===n||62===n)&&n!==r&&isConflictMarkerTrivia(e,t))break;t++}return t}var $t=/^#!.*/;function isShebangTrivia(e,t){return h.assert(0===t),$t.test(e)}function scanShebangTrivia(e,t){return t+=$t.exec(e)[0].length}function iterateCommentRanges(e,t,n,r,i,o,a){let s,c,l,d,p=!1,u=r,m=a;if(0===n){u=!0;const e=getShebang(t);e&&(n=e.length)}e:for(;n>=0&&n<t.length;){const a=t.charCodeAt(n);switch(a){case 13:10===t.charCodeAt(n+1)&&n++;case 10:if(n++,r)break e;u=!0,p&&(d=!0);continue;case 9:case 11:case 12:case 32:n++;continue;case 47:const _=t.charCodeAt(n+1);let f=!1;if(47===_||42===_){const r=47===_?2:3,a=n;if(n+=2,47===_)for(;n<t.length;){if(isLineBreak(t.charCodeAt(n))){f=!0;break}n++}else for(;n<t.length;){if(42===t.charCodeAt(n)&&47===t.charCodeAt(n+1)){n+=2;break}n++}if(u){if(p&&(m=i(s,c,l,d,o,m),!e&&m))return m;s=a,c=n,l=r,d=f,p=!0}continue}break e;default:if(a>127&&isWhiteSpaceLike(a)){p&&isLineBreak(a)&&(d=!0),n++;continue}break e}}return p&&(m=i(s,c,l,d,o,m)),m}function forEachLeadingCommentRange(e,t,n,r){return iterateCommentRanges(!1,e,t,!1,n,r)}function forEachTrailingCommentRange(e,t,n,r){return iterateCommentRanges(!1,e,t,!0,n,r)}function reduceEachLeadingCommentRange(e,t,n,r,i){return iterateCommentRanges(!0,e,t,!1,n,r,i)}function reduceEachTrailingCommentRange(e,t,n,r,i){return iterateCommentRanges(!0,e,t,!0,n,r,i)}function appendCommentRange(e,t,n,r,i,o=[]){return o.push({kind:n,pos:e,end:t,hasTrailingNewLine:r}),o}function getLeadingCommentRanges(e,t){return reduceEachLeadingCommentRange(e,t,appendCommentRange,void 0,void 0)}function getTrailingCommentRanges(e,t){return reduceEachTrailingCommentRange(e,t,appendCommentRange,void 0,void 0)}function getShebang(e){const t=$t.exec(e);if(t)return t[0]}function isIdentifierStart(e,t){return isASCIILetter(e)||36===e||95===e||e>127&&isUnicodeIdentifierStart(e,t)}function isIdentifierPart(e,t,n){return isWordCharacter(e)||36===e||1===n&&(45===e||58===e)||e>127&&function isUnicodeIdentifierPart(e,t){return lookupInUnicodeMap(e,t>=2?Ut:Jt)}(e,t)}function isIdentifierText(e,t,n){let r=codePointAt(e,0);if(!isIdentifierStart(r,t))return!1;for(let i=charSize(r);i<e.length;i+=charSize(r))if(!isIdentifierPart(r=codePointAt(e,i),t,n))return!1;return!0}function createScanner(e,t,n=0,r,i,o,a){var s,c,l,d,p,u,m,_,f=r,g=0,y=0,T=0;setText(f,o,a);var S={getTokenFullStart:()=>l,getStartPos:()=>l,getTokenEnd:()=>s,getTextPos:()=>s,getToken:()=>p,getTokenStart:()=>d,getTokenPos:()=>d,getTokenText:()=>f.substring(d,s),getTokenValue:()=>u,hasUnicodeEscape:()=>!!(1024&m),hasExtendedUnicodeEscape:()=>!!(8&m),hasPrecedingLineBreak:()=>!!(1&m),hasPrecedingJSDocComment:()=>!!(2&m),hasPrecedingJSDocLeadingAsterisks:()=>!!(32768&m),isIdentifier:()=>80===p||p>118,isReservedWord:()=>p>=83&&p<=118,isUnterminated:()=>!!(4&m),getCommentDirectives:()=>_,getNumericLiteralFlags:()=>25584&m,getTokenFlags:()=>m,reScanGreaterToken:function reScanGreaterToken(){if(32===p){if(62===charCodeUnchecked(s))return 62===charCodeUnchecked(s+1)?61===charCodeUnchecked(s+2)?(s+=3,p=73):(s+=2,p=50):61===charCodeUnchecked(s+1)?(s+=2,p=72):(s++,p=49);if(61===charCodeUnchecked(s))return s++,p=34}return p},reScanAsteriskEqualsToken:function reScanAsteriskEqualsToken(){return h.assert(67===p,"'reScanAsteriskEqualsToken' should only be called on a '*='"),s=d+1,p=64},reScanSlashToken:function reScanSlashToken(t){if(44===p||69===p){const n=d+1;s=n;let r=!1,i=!1,a=!1;for(;;){const e=charCodeChecked(s);if(-1===e||isLineBreak(e)){m|=4;break}if(r)r=!1;else{if(47===e&&!a)break;91===e?a=!0:92===e?r=!0:93===e?a=!1:a||40!==e||63!==charCodeChecked(s+1)||60!==charCodeChecked(s+2)||61===charCodeChecked(s+3)||33===charCodeChecked(s+3)||(i=!0)}s++}const l=s;if(4&m){s=n,r=!1;let e=0,t=!1,i=0;for(;s<l;){const n=charCodeUnchecked(s);if(r)r=!1;else if(92===n)r=!0;else if(91===n)e++;else if(93===n&&e)e--;else if(!e)if(123===n)t=!0;else if(125===n&&t)t=!1;else if(!t)if(40===n)i++;else if(41===n&&i)i--;else if(41===n||93===n||125===n)break;s++}for(;isWhiteSpaceLike(charCodeChecked(s-1))||59===charCodeChecked(s-1);)s--;error2(Ot.Unterminated_regular_expression_literal,d,s-d)}else{s++;let r=0;for(;;){const n=codePointChecked(s);if(-1===n||!isIdentifierPart(n,e))break;const i=charSize(n);if(t){const e=characterCodeToRegularExpressionFlag(n);void 0===e?error2(Ot.Unknown_regular_expression_flag,s,i):r&e?error2(Ot.Duplicate_regular_expression_flag,s,i):96&~(r|e)?(r|=e,checkRegularExpressionFlagAvailability(e,i)):error2(Ot.The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously,s,i)}s+=i}t&&scanRange(n,l-n,()=>{!function scanRegularExpressionWorker(t,n,r){var i,a,l,p,m=!!(64&t),_=!!(96&t),g=_||!n,y=!1,T=0,S=[];function scanDisjunction(e){for(;;){if(S.push(p),p=void 0,scanAlternative(e),p=S.pop(),124!==charCodeChecked(s))return;s++}}function scanAlternative(t){let n=!1;for(;;){const r=s,i=charCodeChecked(s);switch(i){case-1:return;case 94:case 36:s++,n=!1;break;case 92:switch(charCodeChecked(++s)){case 98:case 66:s++,n=!1;break;default:scanAtomEscape(),n=!0}break;case 40:if(63===charCodeChecked(++s))switch(charCodeChecked(++s)){case 61:case 33:s++,n=!g;break;case 60:const t=s;switch(charCodeChecked(++s)){case 61:case 33:s++,n=!1;break;default:scanGroupName(!1),scanExpectedChar(62),e<5&&error2(Ot.Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later,t,s-t),T++,n=!0}break;default:const r=s,i=scanPatternModifiers(0);45===charCodeChecked(s)&&(s++,scanPatternModifiers(i),s===r+1&&error2(Ot.Subpattern_flags_must_be_present_when_there_is_a_minus_sign,r,s-r)),scanExpectedChar(58),n=!0}else T++,n=!0;scanDisjunction(!0),scanExpectedChar(41);break;case 123:const o=++s;scanDigits();const a=u;if(!g&&!a){n=!0;break}if(44===charCodeChecked(s)){s++,scanDigits();const e=u;if(a)e&&Number.parseInt(a)>Number.parseInt(e)&&(g||125===charCodeChecked(s))&&error2(Ot.Numbers_out_of_order_in_quantifier,o,s-o);else{if(!e&&125!==charCodeChecked(s)){error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,r,1,String.fromCharCode(i)),n=!0;break}error2(Ot.Incomplete_quantifier_Digit_expected,o,0)}}else if(!a){g&&error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,r,1,String.fromCharCode(i)),n=!0;break}if(125!==charCodeChecked(s)){if(!g){n=!0;break}error2(Ot._0_expected,s,0,String.fromCharCode(125)),s--}case 42:case 43:case 63:63===charCodeChecked(++s)&&s++,n||error2(Ot.There_is_nothing_available_for_repetition,r,s-r),n=!1;break;case 46:s++,n=!0;break;case 91:s++,m?scanClassSetExpression():scanClassRanges(),scanExpectedChar(93),n=!0;break;case 41:if(t)return;case 93:case 125:(g||41===i)&&error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,s,1,String.fromCharCode(i)),s++,n=!0;break;case 47:case 124:return;default:scanSourceCharacter(),n=!0}}}function scanPatternModifiers(t){for(;;){const n=codePointChecked(s);if(-1===n||!isIdentifierPart(n,e))break;const r=charSize(n),i=characterCodeToRegularExpressionFlag(n);void 0===i?error2(Ot.Unknown_regular_expression_flag,s,r):t&i?error2(Ot.Duplicate_regular_expression_flag,s,r):28&i?(t|=i,checkRegularExpressionFlagAvailability(i,r)):error2(Ot.This_regular_expression_flag_cannot_be_toggled_within_a_subpattern,s,r),s+=r}return t}function scanAtomEscape(){switch(h.assertEqual(charCodeUnchecked(s-1),92),charCodeChecked(s)){case 107:60===charCodeChecked(++s)?(s++,scanGroupName(!0),scanExpectedChar(62)):(g||r)&&error2(Ot.k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets,s-2,2);break;case 113:if(m){s++,error2(Ot.q_is_only_available_inside_character_class,s-2,2);break}default:h.assert(scanCharacterClassEscape()||scanDecimalEscape()||scanCharacterEscape(!0))}}function scanDecimalEscape(){h.assertEqual(charCodeUnchecked(s-1),92);const e=charCodeChecked(s);if(e>=49&&e<=57){const e=s;return scanDigits(),l=append(l,{pos:e,end:s,value:+u}),!0}return!1}function scanCharacterEscape(e){h.assertEqual(charCodeUnchecked(s-1),92);let t=charCodeChecked(s);switch(t){case-1:return error2(Ot.Undetermined_character_escape,s-1,1),"\\";case 99:if(t=charCodeChecked(++s),isASCIILetter(t))return s++,String.fromCharCode(31&t);if(g)error2(Ot.c_must_be_followed_by_an_ASCII_letter,s-2,2);else if(e)return s--,"\\";return String.fromCharCode(t);case 94:case 36:case 47:case 92:case 46:case 42:case 43:case 63:case 40:case 41:case 91:case 93:case 123:case 125:case 124:return s++,String.fromCharCode(t);default:return s--,scanEscapeSequence(4|(n?8:0)|(_?16:0)|(e?32:0))}}function scanGroupName(t){h.assertEqual(charCodeUnchecked(s-1),60),d=s,scanIdentifier(codePointChecked(s),e),s===d?error2(Ot.Expected_a_capturing_group_name):t?a=append(a,{pos:d,end:s,name:u}):(null==p?void 0:p.has(u))||S.some(e=>null==e?void 0:e.has(u))?error2(Ot.Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other,d,s-d):(p??(p=new Set),p.add(u),i??(i=new Set),i.add(u))}function isClassContentExit(e){return 93===e||-1===e||s>=c}function scanClassRanges(){for(h.assertEqual(charCodeUnchecked(s-1),91),94===charCodeChecked(s)&&s++;;){if(isClassContentExit(charCodeChecked(s)))return;const e=s,t=scanClassAtom();if(45===charCodeChecked(s)){if(isClassContentExit(charCodeChecked(++s)))return;!t&&g&&error2(Ot.A_character_class_range_must_not_be_bounded_by_another_character_class,e,s-1-e);const n=s,r=scanClassAtom();if(!r&&g){error2(Ot.A_character_class_range_must_not_be_bounded_by_another_character_class,n,s-n);continue}if(!t)continue;const i=codePointAt(t,0),o=codePointAt(r,0);t.length===charSize(i)&&r.length===charSize(o)&&i>o&&error2(Ot.Range_out_of_order_in_character_class,e,s-e)}}}function scanClassSetExpression(){h.assertEqual(charCodeUnchecked(s-1),91);let e=!1;94===charCodeChecked(s)&&(s++,e=!0);let t=!1,n=charCodeChecked(s);if(isClassContentExit(n))return;let r,i=s;switch(f.slice(s,s+2)){case"--":case"&&":error2(Ot.Expected_a_class_set_operand),y=!1;break;default:r=scanClassSetOperand()}switch(charCodeChecked(s)){case 45:if(45===charCodeChecked(s+1))return e&&y&&error2(Ot.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class,i,s-i),t=y,scanClassSetSubExpression(3),void(y=!e&&t);break;case 38:if(38===charCodeChecked(s+1))return scanClassSetSubExpression(2),e&&y&&error2(Ot.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class,i,s-i),t=y,void(y=!e&&t);error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,s,1,String.fromCharCode(n));break;default:e&&y&&error2(Ot.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class,i,s-i),t=y}for(;n=charCodeChecked(s),-1!==n;){switch(n){case 45:if(n=charCodeChecked(++s),isClassContentExit(n))return void(y=!e&&t);if(45===n){s++,error2(Ot.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead,s-2,2),i=s-2,r=f.slice(i,s);continue}{r||error2(Ot.A_character_class_range_must_not_be_bounded_by_another_character_class,i,s-1-i);const n=s,o=scanClassSetOperand();if(e&&y&&error2(Ot.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class,n,s-n),t||(t=y),!o){error2(Ot.A_character_class_range_must_not_be_bounded_by_another_character_class,n,s-n);break}if(!r)break;const a=codePointAt(r,0),c=codePointAt(o,0);r.length===charSize(a)&&o.length===charSize(c)&&a>c&&error2(Ot.Range_out_of_order_in_character_class,i,s-i)}break;case 38:i=s,38===charCodeChecked(++s)?(s++,error2(Ot.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead,s-2,2),38===charCodeChecked(s)&&(error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,s,1,String.fromCharCode(n)),s++)):error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,s-1,1,String.fromCharCode(n)),r=f.slice(i,s);continue}if(isClassContentExit(charCodeChecked(s)))break;switch(i=s,f.slice(s,s+2)){case"--":case"&&":error2(Ot.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead,s,2),s+=2,r=f.slice(i,s);break;default:r=scanClassSetOperand()}}y=!e&&t}function scanClassSetSubExpression(e){let t=y;for(;;){let n=charCodeChecked(s);if(isClassContentExit(n))break;switch(n){case 45:45===charCodeChecked(++s)?(s++,3!==e&&error2(Ot.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead,s-2,2)):error2(Ot.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead,s-1,1);break;case 38:38===charCodeChecked(++s)?(s++,2!==e&&error2(Ot.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead,s-2,2),38===charCodeChecked(s)&&(error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,s,1,String.fromCharCode(n)),s++)):error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,s-1,1,String.fromCharCode(n));break;default:switch(e){case 3:error2(Ot._0_expected,s,0,"--");break;case 2:error2(Ot._0_expected,s,0,"&&")}}if(n=charCodeChecked(s),isClassContentExit(n)){error2(Ot.Expected_a_class_set_operand);break}scanClassSetOperand(),t&&(t=y)}y=t}function scanClassSetOperand(){switch(y=!1,charCodeChecked(s)){case-1:return"";case 91:return s++,scanClassSetExpression(),scanExpectedChar(93),"";case 92:if(s++,scanCharacterClassEscape())return"";if(113===charCodeChecked(s))return 123===charCodeChecked(++s)?(s++,scanClassStringDisjunctionContents(),scanExpectedChar(125),""):(error2(Ot.q_must_be_followed_by_string_alternatives_enclosed_in_braces,s-2,2),"q");s--;default:return scanClassSetCharacter()}}function scanClassStringDisjunctionContents(){h.assertEqual(charCodeUnchecked(s-1),123);let e=0;for(;;){switch(charCodeChecked(s)){case-1:return;case 125:return void(1!==e&&(y=!0));case 124:1!==e&&(y=!0),s++,o=s,e=0;break;default:scanClassSetCharacter(),e++}}}function scanClassSetCharacter(){const e=charCodeChecked(s);if(-1===e)return"";if(92===e){const e=charCodeChecked(++s);switch(e){case 98:return s++,"\b";case 38:case 45:case 33:case 35:case 37:case 44:case 58:case 59:case 60:case 61:case 62:case 64:case 96:case 126:return s++,String.fromCharCode(e);default:return scanCharacterEscape(!1)}}else if(e===charCodeChecked(s+1))switch(e){case 38:case 33:case 35:case 37:case 42:case 43:case 44:case 46:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 96:case 126:return error2(Ot.A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backslash,s,2),s+=2,f.substring(s-2,s)}switch(e){case 47:case 40:case 41:case 91:case 93:case 123:case 125:case 45:case 124:return error2(Ot.Unexpected_0_Did_you_mean_to_escape_it_with_backslash,s,1,String.fromCharCode(e)),s++,String.fromCharCode(e)}return scanSourceCharacter()}function scanClassAtom(){if(92!==charCodeChecked(s))return scanSourceCharacter();{const e=charCodeChecked(++s);switch(e){case 98:return s++,"\b";case 45:return s++,String.fromCharCode(e);default:return scanCharacterClassEscape()?"":scanCharacterEscape(!1)}}}function scanCharacterClassEscape(){h.assertEqual(charCodeUnchecked(s-1),92);let e=!1;const t=s-1,n=charCodeChecked(s);switch(n){case 100:case 68:case 115:case 83:case 119:case 87:return s++,!0;case 80:e=!0;case 112:if(123===charCodeChecked(++s)){const n=++s,r=scanWordCharacters();if(61===charCodeChecked(s)){const e=Xt.get(r);if(s===n)error2(Ot.Expected_a_Unicode_property_name);else if(void 0===e){error2(Ot.Unknown_Unicode_property_name,n,s-n);const e=getSpellingSuggestion(r,Xt.keys(),identity);e&&error2(Ot.Did_you_mean_0,n,s-n,e)}const t=++s,i=scanWordCharacters();if(s===t)error2(Ot.Expected_a_Unicode_property_value);else if(void 0!==e&&!en[e].has(i)){error2(Ot.Unknown_Unicode_property_value,t,s-t);const n=getSpellingSuggestion(i,en[e],identity);n&&error2(Ot.Did_you_mean_0,t,s-t,n)}}else if(s===n)error2(Ot.Expected_a_Unicode_property_name_or_value);else if(Zt.has(r))m?e?error2(Ot.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class,n,s-n):y=!0:error2(Ot.Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_the_Unicode_Sets_v_flag_is_set,n,s-n);else if(!en.General_Category.has(r)&&!Yt.has(r)){error2(Ot.Unknown_Unicode_property_name_or_value,n,s-n);const e=getSpellingSuggestion(r,[...en.General_Category,...Yt,...Zt],identity);e&&error2(Ot.Did_you_mean_0,n,s-n,e)}scanExpectedChar(125),_||error2(Ot.Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set,t,s-t)}else{if(!g)return s--,!1;error2(Ot._0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces,s-2,2,String.fromCharCode(n))}return!0}return!1}function scanWordCharacters(){let e="";for(;;){const t=charCodeChecked(s);if(-1===t||!isWordCharacter(t))break;e+=String.fromCharCode(t),s++}return e}function scanSourceCharacter(){const e=_?charSize(codePointChecked(s)):1;return s+=e,e>0?f.substring(s-e,s):""}function scanExpectedChar(e){charCodeChecked(s)===e?s++:error2(Ot._0_expected,s,0,String.fromCharCode(e))}scanDisjunction(!1),forEach(a,e=>{if(!(null==i?void 0:i.has(e.name))&&(error2(Ot.There_is_no_capturing_group_named_0_in_this_regular_expression,e.pos,e.end-e.pos,e.name),i)){const t=getSpellingSuggestion(e.name,i,identity);t&&error2(Ot.Did_you_mean_0,e.pos,e.end-e.pos,t)}}),forEach(l,e=>{e.value>T&&(T?error2(Ot.This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_regular_expression,e.pos,e.end-e.pos,T):error2(Ot.This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regular_expression,e.pos,e.end-e.pos))})}(r,!0,i)})}u=f.substring(d,s),p=14}return p},reScanTemplateToken:function reScanTemplateToken(e){return s=d,p=scanTemplateAndSetTokenValue(!e)},reScanTemplateHeadOrNoSubstitutionTemplate:function reScanTemplateHeadOrNoSubstitutionTemplate(){return s=d,p=scanTemplateAndSetTokenValue(!0)},scanJsxIdentifier:function scanJsxIdentifier(){if(tokenIsIdentifierOrKeyword(p)){for(;s<c;){if(45===charCodeUnchecked(s)){u+="-",s++;continue}const e=s;if(u+=scanIdentifierParts(),s===e)break}return getIdentifierToken()}return p},scanJsxAttributeValue,reScanJsxAttributeValue:function reScanJsxAttributeValue(){return s=d=l,scanJsxAttributeValue()},reScanJsxToken:function reScanJsxToken(e=!0){return s=d=l,p=scanJsxToken(e)},reScanLessThanToken:function reScanLessThanToken(){if(48===p)return s=d+1,p=30;return p},reScanHashToken:function reScanHashToken(){if(81===p)return s=d+1,p=63;return p},reScanQuestionToken:function reScanQuestionToken(){return h.assert(61===p,"'reScanQuestionToken' should only be called on a '??'"),s=d+1,p=58},reScanInvalidIdentifier:function reScanInvalidIdentifier(){h.assert(0===p,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),s=d=l,m=0;const e=codePointUnchecked(s),t=scanIdentifier(e,99);if(t)return p=t;return s+=charSize(e),p},scanJsxToken,scanJsDocToken,scanJSDocCommentTextToken:function scanJSDocCommentTextToken(e){if(l=d=s,m=0,s>=c)return p=1;for(let t=charCodeUnchecked(s);s<c&&!isLineBreak(t)&&96!==t;t=codePointUnchecked(++s))if(!e){if(123===t)break;if(64===t&&s-1>=0&&isWhiteSpaceSingleLine(charCodeUnchecked(s-1))&&!(s+1<c&&isWhiteSpaceLike(charCodeUnchecked(s+1))))break}if(s===d)return scanJsDocToken();return u=f.substring(d,s),p=82},scan,getText:function getText(){return f},clearCommentDirectives:function clearCommentDirectives(){_=void 0},setText,setScriptTarget:function setScriptTarget(t){e=t},setLanguageVariant:function setLanguageVariant(e){n=e},setScriptKind:function setScriptKind(e){y=e},setJSDocParsingMode:function setJSDocParsingMode(e){T=e},setOnError:function setOnError(e){i=e},resetTokenState,setTextPos:resetTokenState,setSkipJsDocLeadingAsterisks:function setSkipJsDocLeadingAsterisks(e){g+=e?1:-1},tryScan:function tryScan(e){return speculationHelper(e,!1)},lookAhead:function lookAhead(e){return speculationHelper(e,!0)},scanRange};return h.isDebugging&&Object.defineProperty(S,"__debugShowCurrentPositionInText",{get:()=>{const e=S.getText();return e.slice(0,S.getTokenFullStart())+"\u2551"+e.slice(S.getTokenFullStart())}}),S;function codePointUnchecked(e){return codePointAt(f,e)}function codePointChecked(e){return e>=0&&e<c?codePointUnchecked(e):-1}function charCodeUnchecked(e){return f.charCodeAt(e)}function charCodeChecked(e){return e>=0&&e<c?charCodeUnchecked(e):-1}function error2(e,t=s,n,r){if(i){const o=s;s=t,i(e,n||0,r),s=o}}function scanNumberFragment(){let e=s,t=!1,n=!1,r="";for(;;){const i=charCodeUnchecked(s);if(95!==i){if(!isDigit(i))break;t=!0,n=!1,s++}else m|=512,t?(t=!1,n=!0,r+=f.substring(e,s)):(m|=16384,error2(n?Ot.Multiple_consecutive_numeric_separators_are_not_permitted:Ot.Numeric_separators_are_not_allowed_here,s,1)),e=++s}return 95===charCodeUnchecked(s-1)&&(m|=16384,error2(Ot.Numeric_separators_are_not_allowed_here,s-1,1)),r+f.substring(e,s)}function scanNumber(){let e,t,n,r=s;if(48===charCodeUnchecked(s))if(95===charCodeUnchecked(++s))m|=16896,error2(Ot.Numeric_separators_are_not_allowed_here,s,1),s--,e=scanNumberFragment();else if(scanDigits()){if(u){u=""+parseInt(u,8),m|=32;const e=41===p,t=(e?"-":"")+"0o"+(+u).toString(8);return e&&r--,error2(Ot.Octal_literals_are_not_allowed_Use_the_syntax_0,r,s-r,t),9}e="0"}else m|=8192,e=""+ +u;else e=scanNumberFragment();46===charCodeUnchecked(s)&&(s++,t=scanNumberFragment());let i,o=s;if(69===charCodeUnchecked(s)||101===charCodeUnchecked(s)){s++,m|=16,43!==charCodeUnchecked(s)&&45!==charCodeUnchecked(s)||s++;const e=s,t=scanNumberFragment();t?(n=f.substring(o,e)+t,o=s):error2(Ot.Digit_expected)}if(512&m?(i=e,t&&(i+="."+t),n&&(i+=n)):i=f.substring(r,o),8192&m)return error2(Ot.Decimals_with_leading_zeros_are_not_allowed,r,o-r),u=""+ +i,9;if(void 0!==t||16&m)return checkForIdentifierStartAfterNumericLiteral(r,void 0===t&&!!(16&m)),u=""+ +i,9;{u=i;const e=checkBigIntSuffix();return checkForIdentifierStartAfterNumericLiteral(r),e}}function checkForIdentifierStartAfterNumericLiteral(t,n){if(!isIdentifierStart(codePointUnchecked(s),e))return;const r=s,{length:i}=scanIdentifierParts();1===i&&"n"===f[r]?error2(n?Ot.A_bigint_literal_cannot_use_exponential_notation:Ot.A_bigint_literal_must_be_an_integer,t,r-t+1):(error2(Ot.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,r,i),s=r)}function scanDigits(){const e=s;let t=!0;for(;isDigit(charCodeChecked(s));)isOctalDigit(charCodeUnchecked(s))||(t=!1),s++;return u=f.substring(e,s),t}function scanMinimumNumberOfHexDigits(e,t){return scanHexDigits(e,!0,t)}function scanHexDigits(e,t,n){let r=[],i=!1,o=!1;for(;r.length<e||t;){let e=charCodeUnchecked(s);if(n&&95===e)m|=512,i?(i=!1,o=!0):error2(o?Ot.Multiple_consecutive_numeric_separators_are_not_permitted:Ot.Numeric_separators_are_not_allowed_here,s,1),s++;else{if(i=n,e>=65&&e<=70)e+=32;else if(!(e>=48&&e<=57||e>=97&&e<=102))break;r.push(e),s++,o=!1}}return r.length<e&&(r=[]),95===charCodeUnchecked(s-1)&&error2(Ot.Numeric_separators_are_not_allowed_here,s-1,1),String.fromCharCode(...r)}function scanString(e=!1){const t=charCodeUnchecked(s);let n="",r=++s;for(;;){if(s>=c){n+=f.substring(r,s),m|=4,error2(Ot.Unterminated_string_literal);break}const i=charCodeUnchecked(s);if(i===t){n+=f.substring(r,s),s++;break}if(92!==i||e){if((10===i||13===i)&&!e){n+=f.substring(r,s),m|=4,error2(Ot.Unterminated_string_literal);break}s++}else n+=f.substring(r,s),n+=scanEscapeSequence(3),r=s}return n}function scanTemplateAndSetTokenValue(e){const t=96===charCodeUnchecked(s);let n,r=++s,i="";for(;;){if(s>=c){i+=f.substring(r,s),m|=4,error2(Ot.Unterminated_template_literal),n=t?15:18;break}const o=charCodeUnchecked(s);if(96===o){i+=f.substring(r,s),s++,n=t?15:18;break}if(36===o&&s+1<c&&123===charCodeUnchecked(s+1)){i+=f.substring(r,s),s+=2,n=t?16:17;break}92!==o?13!==o?s++:(i+=f.substring(r,s),++s<c&&10===charCodeUnchecked(s)&&s++,i+="\n",r=s):(i+=f.substring(r,s),i+=scanEscapeSequence(1|(e?2:0)),r=s)}return h.assert(void 0!==n),u=i,n}function scanEscapeSequence(t){const n=s;if(++s>=c)return error2(Ot.Unexpected_end_of_text),"";const r=charCodeUnchecked(s);switch(s++,r){case 48:if(s>=c||!isDigit(charCodeUnchecked(s)))return"\0";case 49:case 50:case 51:s<c&&isOctalDigit(charCodeUnchecked(s))&&s++;case 52:case 53:case 54:case 55:if(s<c&&isOctalDigit(charCodeUnchecked(s))&&s++,m|=2048,6&t){const e=parseInt(f.substring(n+1,s),8);return error2(4&t&&!(32&t)&&48!==r?Ot.Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended_as_an_escape_sequence_use_the_syntax_0_instead:Ot.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0,n,s-n,"\\x"+e.toString(16).padStart(2,"0")),String.fromCharCode(e)}return f.substring(n,s);case 56:case 57:return m|=2048,6&t?(4&t&&!(32&t)?error2(Ot.Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class,n,s-n):error2(Ot.Escape_sequence_0_is_not_allowed,n,s-n,f.substring(n,s)),String.fromCharCode(r)):f.substring(n,s);case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:if(s<c&&123===charCodeUnchecked(s)){s-=2;const e=scanExtendedUnicodeEscape(!!(6&t));return 17&t||(m|=2048,6&t&&error2(Ot.Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set,n,s-n)),e}for(;s<n+6;s++)if(!(s<c&&isHexDigit(charCodeUnchecked(s))))return m|=2048,6&t&&error2(Ot.Hexadecimal_digit_expected),f.substring(n,s);m|=1024;const i=parseInt(f.substring(n+2,s),16),o=String.fromCharCode(i);if(16&t&&i>=55296&&i<=56319&&s+6<c&&"\\u"===f.substring(s,s+2)&&123!==charCodeUnchecked(s+2)){const e=s;let t=s+2;for(;t<e+6;t++)if(!isHexDigit(charCodeUnchecked(t)))return o;const n=parseInt(f.substring(e+2,t),16);if(n>=56320&&n<=57343)return s=t,o+String.fromCharCode(n)}return o;case 120:for(;s<n+4;s++)if(!(s<c&&isHexDigit(charCodeUnchecked(s))))return m|=2048,6&t&&error2(Ot.Hexadecimal_digit_expected),f.substring(n,s);return m|=4096,String.fromCharCode(parseInt(f.substring(n+2,s),16));case 13:s<c&&10===charCodeUnchecked(s)&&s++;case 10:case 8232:case 8233:return"";default:return(16&t||4&t&&!(8&t)&&isIdentifierPart(r,e))&&error2(Ot.This_character_cannot_be_escaped_in_a_regular_expression,s-2,2),String.fromCharCode(r)}}function scanExtendedUnicodeEscape(e){const t=s,n=s+=3,r=scanMinimumNumberOfHexDigits(1,!1),i=r?parseInt(r,16):-1;let o=!1;return i<0?(e&&error2(Ot.Hexadecimal_digit_expected),o=!0):i>1114111&&(e&&error2(Ot.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive,n,s-n),o=!0),s>=c?(e&&error2(Ot.Unexpected_end_of_text),o=!0):125===charCodeUnchecked(s)?s++:(e&&error2(Ot.Unterminated_Unicode_escape_sequence),o=!0),o?(m|=2048,f.substring(t,s)):(m|=8,utf16EncodeAsString(i))}function peekUnicodeEscape(){if(s+5<c&&117===charCodeUnchecked(s+1)){const e=s;s+=2;const t=function scanExactNumberOfHexDigits(e,t){const n=scanHexDigits(e,!1,t);return n?parseInt(n,16):-1}(4,!1);return s=e,t}return-1}function peekExtendedUnicodeEscape(){if(117===codePointUnchecked(s+1)&&123===codePointUnchecked(s+2)){const e=s;s+=3;const t=scanMinimumNumberOfHexDigits(1,!1),n=t?parseInt(t,16):-1;return s=e,n}return-1}function scanIdentifierParts(){let t="",n=s;for(;s<c;){let r=codePointUnchecked(s);if(isIdentifierPart(r,e))s+=charSize(r);else{if(92!==r)break;if(r=peekExtendedUnicodeEscape(),r>=0&&isIdentifierPart(r,e)){t+=scanExtendedUnicodeEscape(!0),n=s;continue}if(r=peekUnicodeEscape(),!(r>=0&&isIdentifierPart(r,e)))break;m|=1024,t+=f.substring(n,s),t+=utf16EncodeAsString(r),n=s+=6}}return t+=f.substring(n,s),t}function getIdentifierToken(){const e=u.length;if(e>=2&&e<=12){const e=u.charCodeAt(0);if(e>=97&&e<=122){const e=Lt.get(u);if(void 0!==e)return p=e}}return p=80}function scanBinaryOrOctalDigits(e){let t="",n=!1,r=!1;for(;;){const i=charCodeUnchecked(s);if(95!==i){if(n=!0,!isDigit(i)||i-48>=e)break;t+=f[s],s++,r=!1}else m|=512,n?(n=!1,r=!0):error2(r?Ot.Multiple_consecutive_numeric_separators_are_not_permitted:Ot.Numeric_separators_are_not_allowed_here,s,1),s++}return 95===charCodeUnchecked(s-1)&&error2(Ot.Numeric_separators_are_not_allowed_here,s-1,1),t}function checkBigIntSuffix(){if(110===charCodeUnchecked(s))return u+="n",384&m&&(u=parsePseudoBigInt(u)+"n"),s++,10;{const e=128&m?parseInt(u.slice(2),2):256&m?parseInt(u.slice(2),8):+u;return u=""+e,9}}function scan(){for(l=s,m=0;;){if(d=s,s>=c)return p=1;const r=codePointUnchecked(s);if(0===s&&35===r&&isShebangTrivia(f,s)){if(s=scanShebangTrivia(f,s),t)continue;return p=6}switch(r){case 10:case 13:if(m|=1,t){s++;continue}return 13===r&&s+1<c&&10===charCodeUnchecked(s+1)?s+=2:s++,p=4;case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8203:case 8239:case 8287:case 12288:case 65279:if(t){s++;continue}for(;s<c&&isWhiteSpaceSingleLine(charCodeUnchecked(s));)s++;return p=5;case 33:return 61===charCodeUnchecked(s+1)?61===charCodeUnchecked(s+2)?(s+=3,p=38):(s+=2,p=36):(s++,p=54);case 34:case 39:return u=scanString(),p=11;case 96:return p=scanTemplateAndSetTokenValue(!1);case 37:return 61===charCodeUnchecked(s+1)?(s+=2,p=70):(s++,p=45);case 38:return 38===charCodeUnchecked(s+1)?61===charCodeUnchecked(s+2)?(s+=3,p=77):(s+=2,p=56):61===charCodeUnchecked(s+1)?(s+=2,p=74):(s++,p=51);case 40:return s++,p=21;case 41:return s++,p=22;case 42:if(61===charCodeUnchecked(s+1))return s+=2,p=67;if(42===charCodeUnchecked(s+1))return 61===charCodeUnchecked(s+2)?(s+=3,p=68):(s+=2,p=43);if(s++,g&&!(32768&m)&&1&m){m|=32768;continue}return p=42;case 43:return 43===charCodeUnchecked(s+1)?(s+=2,p=46):61===charCodeUnchecked(s+1)?(s+=2,p=65):(s++,p=40);case 44:return s++,p=28;case 45:return 45===charCodeUnchecked(s+1)?(s+=2,p=47):61===charCodeUnchecked(s+1)?(s+=2,p=66):(s++,p=41);case 46:return isDigit(charCodeUnchecked(s+1))?(scanNumber(),p=9):46===charCodeUnchecked(s+1)&&46===charCodeUnchecked(s+2)?(s+=3,p=26):(s++,p=25);case 47:if(47===charCodeUnchecked(s+1)){for(s+=2;s<c&&!isLineBreak(charCodeUnchecked(s));)s++;if(_=appendIfCommentDirective(_,f.slice(d,s),zt,d),t)continue;return p=2}if(42===charCodeUnchecked(s+1)){const e=42===charCodeUnchecked(s+=2)&&47!==charCodeUnchecked(s+1);let n=!1,r=d;for(;s<c;){const e=charCodeUnchecked(s);if(42===e&&47===charCodeUnchecked(s+1)){s+=2,n=!0;break}s++,isLineBreak(e)&&(r=s,m|=1)}if(e&&shouldParseJSDoc()&&(m|=2),_=appendIfCommentDirective(_,f.slice(r,s),Vt,r),n||error2(Ot.Asterisk_Slash_expected),t)continue;return n||(m|=4),p=3}return 61===charCodeUnchecked(s+1)?(s+=2,p=69):(s++,p=44);case 48:if(s+2<c&&(88===charCodeUnchecked(s+1)||120===charCodeUnchecked(s+1)))return s+=2,(u=scanMinimumNumberOfHexDigits(1,!0))||(error2(Ot.Hexadecimal_digit_expected),u="0"),u="0x"+u,m|=64,p=checkBigIntSuffix();if(s+2<c&&(66===charCodeUnchecked(s+1)||98===charCodeUnchecked(s+1)))return s+=2,(u=scanBinaryOrOctalDigits(2))||(error2(Ot.Binary_digit_expected),u="0"),u="0b"+u,m|=128,p=checkBigIntSuffix();if(s+2<c&&(79===charCodeUnchecked(s+1)||111===charCodeUnchecked(s+1)))return s+=2,(u=scanBinaryOrOctalDigits(8))||(error2(Ot.Octal_digit_expected),u="0"),u="0o"+u,m|=256,p=checkBigIntSuffix();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return p=scanNumber();case 58:return s++,p=59;case 59:return s++,p=27;case 60:if(isConflictMarkerTrivia(f,s)){if(s=scanConflictMarkerTrivia(f,s,error2),t)continue;return p=7}return 60===charCodeUnchecked(s+1)?61===charCodeUnchecked(s+2)?(s+=3,p=71):(s+=2,p=48):61===charCodeUnchecked(s+1)?(s+=2,p=33):1===n&&47===charCodeUnchecked(s+1)&&42!==charCodeUnchecked(s+2)?(s+=2,p=31):(s++,p=30);case 61:if(isConflictMarkerTrivia(f,s)){if(s=scanConflictMarkerTrivia(f,s,error2),t)continue;return p=7}return 61===charCodeUnchecked(s+1)?61===charCodeUnchecked(s+2)?(s+=3,p=37):(s+=2,p=35):62===charCodeUnchecked(s+1)?(s+=2,p=39):(s++,p=64);case 62:if(isConflictMarkerTrivia(f,s)){if(s=scanConflictMarkerTrivia(f,s,error2),t)continue;return p=7}return s++,p=32;case 63:return 46!==charCodeUnchecked(s+1)||isDigit(charCodeUnchecked(s+2))?63===charCodeUnchecked(s+1)?61===charCodeUnchecked(s+2)?(s+=3,p=78):(s+=2,p=61):(s++,p=58):(s+=2,p=29);case 91:return s++,p=23;case 93:return s++,p=24;case 94:return 61===charCodeUnchecked(s+1)?(s+=2,p=79):(s++,p=53);case 123:return s++,p=19;case 124:if(isConflictMarkerTrivia(f,s)){if(s=scanConflictMarkerTrivia(f,s,error2),t)continue;return p=7}return 124===charCodeUnchecked(s+1)?61===charCodeUnchecked(s+2)?(s+=3,p=76):(s+=2,p=57):61===charCodeUnchecked(s+1)?(s+=2,p=75):(s++,p=52);case 125:return s++,p=20;case 126:return s++,p=55;case 64:return s++,p=60;case 92:const i=peekExtendedUnicodeEscape();if(i>=0&&isIdentifierStart(i,e))return u=scanExtendedUnicodeEscape(!0)+scanIdentifierParts(),p=getIdentifierToken();const o=peekUnicodeEscape();return o>=0&&isIdentifierStart(o,e)?(s+=6,m|=1024,u=String.fromCharCode(o)+scanIdentifierParts(),p=getIdentifierToken()):(error2(Ot.Invalid_character),s++,p=0);case 35:if(0!==s&&"!"===f[s+1])return error2(Ot.can_only_be_used_at_the_start_of_a_file,s,2),s++,p=0;const a=codePointUnchecked(s+1);if(92===a){s++;const t=peekExtendedUnicodeEscape();if(t>=0&&isIdentifierStart(t,e))return u="#"+scanExtendedUnicodeEscape(!0)+scanIdentifierParts(),p=81;const n=peekUnicodeEscape();if(n>=0&&isIdentifierStart(n,e))return s+=6,m|=1024,u="#"+String.fromCharCode(n)+scanIdentifierParts(),p=81;s--}return isIdentifierStart(a,e)?(s++,scanIdentifier(a,e)):(u="#",error2(Ot.Invalid_character,s++,charSize(r))),p=81;case 65533:return error2(Ot.File_appears_to_be_binary,0,0),s=c,p=8;default:const l=scanIdentifier(r,e);if(l)return p=l;if(isWhiteSpaceSingleLine(r)){s+=charSize(r);continue}if(isLineBreak(r)){m|=1,s+=charSize(r);continue}const y=charSize(r);return error2(Ot.Invalid_character,s,y),s+=y,p=0}}}function shouldParseJSDoc(){switch(T){case 0:return!0;case 1:return!1}return 3!==y&&4!==y||3!==T&&qt.test(f.slice(l,s))}function scanIdentifier(e,t){let n=e;if(isIdentifierStart(n,t)){for(s+=charSize(n);s<c&&isIdentifierPart(n=codePointUnchecked(s),t);)s+=charSize(n);return u=f.substring(d,s),92===n&&(u+=scanIdentifierParts()),getIdentifierToken()}}function checkRegularExpressionFlagAvailability(t,n){const r=Bt.get(t);r&&e<r&&error2(Ot.This_regular_expression_flag_is_only_available_when_targeting_0_or_later,s,n,getNameOfScriptTarget(r))}function appendIfCommentDirective(e,t,n,r){const i=function getDirectiveFromComment(e,t){const n=t.exec(e);if(!n)return;switch(n[1]){case"ts-expect-error":return 0;case"ts-ignore":return 1}return}(t.trimStart(),n);return void 0===i?e:append(e,{range:{pos:r,end:s},type:i})}function scanJsxToken(e=!0){if(l=d=s,s>=c)return p=1;let t=charCodeUnchecked(s);if(60===t)return 47===charCodeUnchecked(s+1)?(s+=2,p=31):(s++,p=30);if(123===t)return s++,p=19;let n=0;for(;s<c&&(t=charCodeUnchecked(s),123!==t);){if(60===t){if(isConflictMarkerTrivia(f,s))return s=scanConflictMarkerTrivia(f,s,error2),p=7;break}if(62===t&&error2(Ot.Unexpected_token_Did_you_mean_or_gt,s,1),125===t&&error2(Ot.Unexpected_token_Did_you_mean_or_rbrace,s,1),isLineBreak(t)&&0===n)n=-1;else{if(!e&&isLineBreak(t)&&n>0)break;isWhiteSpaceLike(t)||(n=s)}s++}return u=f.substring(l,s),-1===n?13:12}function scanJsxAttributeValue(){switch(l=s,charCodeUnchecked(s)){case 34:case 39:return u=scanString(!0),p=11;default:return scan()}}function scanJsDocToken(){if(l=d=s,m=0,s>=c)return p=1;const t=codePointUnchecked(s);switch(s+=charSize(t),t){case 9:case 11:case 12:case 32:for(;s<c&&isWhiteSpaceSingleLine(charCodeUnchecked(s));)s++;return p=5;case 64:return p=60;case 13:10===charCodeUnchecked(s)&&s++;case 10:return m|=1,p=4;case 42:return p=42;case 123:return p=19;case 125:return p=20;case 91:return p=23;case 93:return p=24;case 40:return p=21;case 41:return p=22;case 60:return p=30;case 62:return p=32;case 61:return p=64;case 44:return p=28;case 46:return p=25;case 96:return p=62;case 35:return p=63;case 92:s--;const t=peekExtendedUnicodeEscape();if(t>=0&&isIdentifierStart(t,e))return u=scanExtendedUnicodeEscape(!0)+scanIdentifierParts(),p=getIdentifierToken();const n=peekUnicodeEscape();return n>=0&&isIdentifierStart(n,e)?(s+=6,m|=1024,u=String.fromCharCode(n)+scanIdentifierParts(),p=getIdentifierToken()):(s++,p=0)}if(isIdentifierStart(t,e)){let n=t;for(;s<c&&isIdentifierPart(n=codePointUnchecked(s),e)||45===n;)s+=charSize(n);return u=f.substring(d,s),92===n&&(u+=scanIdentifierParts()),p=getIdentifierToken()}return p=0}function speculationHelper(e,t){const n=s,r=l,i=d,o=p,a=u,c=m,_=e();return _&&!t||(s=n,l=r,d=i,p=o,u=a,m=c),_}function scanRange(e,t,n){const r=c,i=s,o=l,a=d,g=p,y=u,h=m,T=_;setText(f,e,t);const S=n();return c=r,s=i,l=o,d=a,p=g,u=y,m=h,_=T,S}function setText(e,t,n){f=e||"",c=void 0===n?f.length:t+n,resetTokenState(t||0)}function resetTokenState(e){h.assert(e>=0),s=e,l=e,d=e,p=0,u=void 0,m=0}}function codePointAt(e,t){return e.codePointAt(t)}function charSize(e){return e>=65536?2:-1===e?0:1}var Qt=String.fromCodePoint?e=>String.fromCodePoint(e):function utf16EncodeAsStringFallback(e){if(h.assert(0<=e&&e<=1114111),e<=65535)return String.fromCharCode(e);const t=Math.floor((e-65536)/1024)+55296,n=(e-65536)%1024+56320;return String.fromCharCode(t,n)};function utf16EncodeAsString(e){return Qt(e)}var Xt=new Map(Object.entries({General_Category:"General_Category",gc:"General_Category",Script:"Script",sc:"Script",Script_Extensions:"Script_Extensions",scx:"Script_Extensions"})),Yt=new Set(["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","EComp","Emoji_Modifier","EMod","Emoji_Modifier_Base","EBase","Emoji_Presentation","EPres","Extended_Pictographic","ExtPict","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"]),Zt=new Set(["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Flag_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence","RGI_Emoji"]),en={General_Category:new Set(["C","Other","Cc","Control","cntrl","Cf","Format","Cn","Unassigned","Co","Private_Use","Cs","Surrogate","L","Letter","LC","Cased_Letter","Ll","Lowercase_Letter","Lm","Modifier_Letter","Lo","Other_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter","M","Mark","Combining_Mark","Mc","Spacing_Mark","Me","Enclosing_Mark","Mn","Nonspacing_Mark","N","Number","Nd","Decimal_Number","digit","Nl","Letter_Number","No","Other_Number","P","Punctuation","punct","Pc","Connector_Punctuation","Pd","Dash_Punctuation","Pe","Close_Punctuation","Pf","Final_Punctuation","Pi","Initial_Punctuation","Po","Other_Punctuation","Ps","Open_Punctuation","S","Symbol","Sc","Currency_Symbol","Sk","Modifier_Symbol","Sm","Math_Symbol","So","Other_Symbol","Z","Separator","Zl","Line_Separator","Zp","Paragraph_Separator","Zs","Space_Separator"]),Script:new Set(["Adlm","Adlam","Aghb","Caucasian_Albanian","Ahom","Arab","Arabic","Armi","Imperial_Aramaic","Armn","Armenian","Avst","Avestan","Bali","Balinese","Bamu","Bamum","Bass","Bassa_Vah","Batk","Batak","Beng","Bengali","Bhks","Bhaiksuki","Bopo","Bopomofo","Brah","Brahmi","Brai","Braille","Bugi","Buginese","Buhd","Buhid","Cakm","Chakma","Cans","Canadian_Aboriginal","Cari","Carian","Cham","Cher","Cherokee","Chrs","Chorasmian","Copt","Coptic","Qaac","Cpmn","Cypro_Minoan","Cprt","Cypriot","Cyrl","Cyrillic","Deva","Devanagari","Diak","Dives_Akuru","Dogr","Dogra","Dsrt","Deseret","Dupl","Duployan","Egyp","Egyptian_Hieroglyphs","Elba","Elbasan","Elym","Elymaic","Ethi","Ethiopic","Geor","Georgian","Glag","Glagolitic","Gong","Gunjala_Gondi","Gonm","Masaram_Gondi","Goth","Gothic","Gran","Grantha","Grek","Greek","Gujr","Gujarati","Guru","Gurmukhi","Hang","Hangul","Hani","Han","Hano","Hanunoo","Hatr","Hatran","Hebr","Hebrew","Hira","Hiragana","Hluw","Anatolian_Hieroglyphs","Hmng","Pahawh_Hmong","Hmnp","Nyiakeng_Puachue_Hmong","Hrkt","Katakana_Or_Hiragana","Hung","Old_Hungarian","Ital","Old_Italic","Java","Javanese","Kali","Kayah_Li","Kana","Katakana","Kawi","Khar","Kharoshthi","Khmr","Khmer","Khoj","Khojki","Kits","Khitan_Small_Script","Knda","Kannada","Kthi","Kaithi","Lana","Tai_Tham","Laoo","Lao","Latn","Latin","Lepc","Lepcha","Limb","Limbu","Lina","Linear_A","Linb","Linear_B","Lisu","Lyci","Lycian","Lydi","Lydian","Mahj","Mahajani","Maka","Makasar","Mand","Mandaic","Mani","Manichaean","Marc","Marchen","Medf","Medefaidrin","Mend","Mende_Kikakui","Merc","Meroitic_Cursive","Mero","Meroitic_Hieroglyphs","Mlym","Malayalam","Modi","Mong","Mongolian","Mroo","Mro","Mtei","Meetei_Mayek","Mult","Multani","Mymr","Myanmar","Nagm","Nag_Mundari","Nand","Nandinagari","Narb","Old_North_Arabian","Nbat","Nabataean","Newa","Nkoo","Nko","Nshu","Nushu","Ogam","Ogham","Olck","Ol_Chiki","Orkh","Old_Turkic","Orya","Oriya","Osge","Osage","Osma","Osmanya","Ougr","Old_Uyghur","Palm","Palmyrene","Pauc","Pau_Cin_Hau","Perm","Old_Permic","Phag","Phags_Pa","Phli","Inscriptional_Pahlavi","Phlp","Psalter_Pahlavi","Phnx","Phoenician","Plrd","Miao","Prti","Inscriptional_Parthian","Rjng","Rejang","Rohg","Hanifi_Rohingya","Runr","Runic","Samr","Samaritan","Sarb","Old_South_Arabian","Saur","Saurashtra","Sgnw","SignWriting","Shaw","Shavian","Shrd","Sharada","Sidd","Siddham","Sind","Khudawadi","Sinh","Sinhala","Sogd","Sogdian","Sogo","Old_Sogdian","Sora","Sora_Sompeng","Soyo","Soyombo","Sund","Sundanese","Sylo","Syloti_Nagri","Syrc","Syriac","Tagb","Tagbanwa","Takr","Takri","Tale","Tai_Le","Talu","New_Tai_Lue","Taml","Tamil","Tang","Tangut","Tavt","Tai_Viet","Telu","Telugu","Tfng","Tifinagh","Tglg","Tagalog","Thaa","Thaana","Thai","Tibt","Tibetan","Tirh","Tirhuta","Tnsa","Tangsa","Toto","Ugar","Ugaritic","Vaii","Vai","Vith","Vithkuqi","Wara","Warang_Citi","Wcho","Wancho","Xpeo","Old_Persian","Xsux","Cuneiform","Yezi","Yezidi","Yiii","Yi","Zanb","Zanabazar_Square","Zinh","Inherited","Qaai","Zyyy","Common","Zzzz","Unknown"]),Script_Extensions:void 0};function isExternalModuleNameRelative(e){return pathIsRelative(e)||isRootedDiskPath(e)}function sortAndDeduplicateDiagnostics(e){return sortAndDeduplicate(e,compareDiagnostics,diagnosticsEqualityComparer)}en.Script_Extensions=en.Script;var tn=new Map([[99,"lib.esnext.full.d.ts"],[11,"lib.es2024.full.d.ts"],[10,"lib.es2023.full.d.ts"],[9,"lib.es2022.full.d.ts"],[8,"lib.es2021.full.d.ts"],[7,"lib.es2020.full.d.ts"],[6,"lib.es2019.full.d.ts"],[5,"lib.es2018.full.d.ts"],[4,"lib.es2017.full.d.ts"],[3,"lib.es2016.full.d.ts"],[2,"lib.es6.d.ts"]]);function getDefaultLibFileName(e){const t=zn(e);switch(t){case 99:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:return tn.get(t);default:return"lib.d.ts"}}function textSpanEnd(e){return e.start+e.length}function textSpanIsEmpty(e){return 0===e.length}function textSpanContainsPosition(e,t){return t>=e.start&&t<textSpanEnd(e)}function textRangeContainsPositionInclusive(e,t){return t>=e.pos&&t<=e.end}function textSpanContainsTextSpan(e,t){return t.start>=e.start&&textSpanEnd(t)<=textSpanEnd(e)}function textSpanContainsTextRange(e,t){return t.pos>=e.start&&t.end<=textSpanEnd(e)}function textRangeContainsTextSpan(e,t){return t.start>=e.pos&&textSpanEnd(t)<=e.end}function textSpanOverlapsWith(e,t){return void 0!==textSpanOverlap(e,t)}function textSpanOverlap(e,t){const n=textSpanIntersection(e,t);return n&&0===n.length?void 0:n}function textSpanIntersectsWithTextSpan(e,t){return decodedTextSpanIntersectsWith(e.start,e.length,t.start,t.length)}function textSpanIntersectsWith(e,t,n){return decodedTextSpanIntersectsWith(e.start,e.length,t,n)}function decodedTextSpanIntersectsWith(e,t,n,r){return n<=e+t&&n+r>=e}function textSpanIntersectsWithPosition(e,t){return t<=textSpanEnd(e)&&t>=e.start}function textRangeIntersectsWithTextSpan(e,t){return textSpanIntersectsWith(t,e.pos,e.end-e.pos)}function textSpanIntersection(e,t){const n=Math.max(e.start,t.start),r=Math.min(textSpanEnd(e),textSpanEnd(t));return n<=r?createTextSpanFromBounds(n,r):void 0}function normalizeSpans(e){e=e.filter(e=>e.length>0).sort((e,t)=>e.start!==t.start?e.start-t.start:e.length-t.length);const t=[];let n=0;for(;n<e.length;){let r=e[n],i=n+1;for(;i<e.length&&textSpanIntersectsWithTextSpan(r,e[i]);){r=createTextSpanFromBounds(Math.min(r.start,e[i].start),Math.max(textSpanEnd(r),textSpanEnd(e[i]))),i++}n=i,t.push(r)}return t}function createTextSpan(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function createTextSpanFromBounds(e,t){return createTextSpan(e,t-e)}function textChangeRangeNewSpan(e){return createTextSpan(e.span.start,e.newLength)}function textChangeRangeIsUnchanged(e){return textSpanIsEmpty(e.span)&&0===e.newLength}function createTextChangeRange(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}var nn=createTextChangeRange(createTextSpan(0,0),0);function collapseTextChangeRangesAcrossMultipleVersions(e){if(0===e.length)return nn;if(1===e.length)return e[0];const t=e[0];let n=t.span.start,r=textSpanEnd(t.span),i=n+t.newLength;for(let t=1;t<e.length;t++){const o=e[t],a=n,s=r,c=i,l=o.span.start,d=textSpanEnd(o.span),p=l+o.newLength;n=Math.min(a,l),r=Math.max(s,s+(d-c)),i=Math.max(p,p+(c-d))}return createTextChangeRange(createTextSpanFromBounds(n,r),i-n)}function getTypeParameterOwner(e){if(e&&169===e.kind)for(let t=e;t;t=t.parent)if(isFunctionLike(t)||isClassLike(t)||265===t.kind)return t}function isParameterPropertyDeclaration(e,t){return isParameter(e)&&hasSyntacticModifier(e,31)&&177===t.kind}function isEmptyBindingPattern(e){return!!isBindingPattern(e)&&every(e.elements,isEmptyBindingElement)}function isEmptyBindingElement(e){return!!isOmittedExpression(e)||isEmptyBindingPattern(e.name)}function walkUpBindingElementsAndPatterns(e){let t=e.parent;for(;isBindingElement(t.parent);)t=t.parent.parent;return t.parent}function getCombinedFlags(e,t){isBindingElement(e)&&(e=walkUpBindingElementsAndPatterns(e));let n=t(e);return 261===e.kind&&(e=e.parent),e&&262===e.kind&&(n|=t(e),e=e.parent),e&&244===e.kind&&(n|=t(e)),n}function getCombinedModifierFlags(e){return getCombinedFlags(e,getEffectiveModifierFlags)}function getCombinedNodeFlagsAlwaysIncludeJSDoc(e){return getCombinedFlags(e,getEffectiveModifierFlagsAlwaysIncludeJSDoc)}function getCombinedNodeFlags(e){return getCombinedFlags(e,getNodeFlags)}function getNodeFlags(e){return e.flags}var rn=["cs","de","es","fr","it","ja","ko","pl","pt-br","ru","tr","zh-cn","zh-tw"];function validateLocaleAndSetLanguage(e,t,n){const r=e.toLowerCase(),i=/^([a-z]+)(?:[_-]([a-z]+))?$/.exec(r);if(!i)return void(n&&n.push(createCompilerDiagnostic(Ot.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,"en","ja-jp")));const o=i[1],a=i[2];function trySetLanguageAndTerritory(e,n,r){let i=combinePaths(getDirectoryPath(normalizePath(t.getExecutingFilePath())),e);if(n&&(i=i+"-"+n),i=t.resolvePath(combinePaths(i,"diagnosticMessages.generated.json")),!t.fileExists(i))return!1;let o="";try{o=t.readFile(i)}catch{return r&&r.push(createCompilerDiagnostic(Ot.Unable_to_open_file_0,i)),!1}try{setLocalizedDiagnosticMessages(JSON.parse(o))}catch{return r&&r.push(createCompilerDiagnostic(Ot.Corrupted_locale_file_0,i)),!1}return!0}contains(rn,r)&&!trySetLanguageAndTerritory(o,a,n)&&trySetLanguageAndTerritory(o,void 0,n),setUILocale(e)}function getOriginalNode(e,t){if(e)for(;void 0!==e.original;)e=e.original;return e&&t?t(e)?e:void 0:e}function findAncestor(e,t){for(;e;){const n=t(e);if("quit"===n)return;if(n)return e;e=e.parent}}function isParseTreeNode(e){return!(16&e.flags)}function getParseTreeNode(e,t){if(void 0===e||isParseTreeNode(e))return e;for(e=e.original;e;){if(isParseTreeNode(e))return!t||t(e)?e:void 0;e=e.original}}function escapeLeadingUnderscores(e){return e.length>=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e}function unescapeLeadingUnderscores(e){const t=e;return t.length>=3&&95===t.charCodeAt(0)&&95===t.charCodeAt(1)&&95===t.charCodeAt(2)?t.substr(1):t}function idText(e){return unescapeLeadingUnderscores(e.escapedText)}function identifierToKeywordKind(e){const t=stringToToken(e.escapedText);return t?tryCast(t,isKeyword):void 0}function symbolName(e){return e.valueDeclaration&&isPrivateIdentifierClassElementDeclaration(e.valueDeclaration)?idText(e.valueDeclaration.name):unescapeLeadingUnderscores(e.escapedName)}function nameForNamelessJSDocTypedef(e){const t=e.parent.parent;if(t){if(isDeclaration(t))return getDeclarationIdentifier(t);switch(t.kind){case 244:if(t.declarationList&&t.declarationList.declarations[0])return getDeclarationIdentifier(t.declarationList.declarations[0]);break;case 245:let e=t.expression;switch(227===e.kind&&64===e.operatorToken.kind&&(e=e.left),e.kind){case 212:return e.name;case 213:const t=e.argumentExpression;if(isIdentifier(t))return t}break;case 218:return getDeclarationIdentifier(t.expression);case 257:if(isDeclaration(t.statement)||isExpression(t.statement))return getDeclarationIdentifier(t.statement)}}}function getDeclarationIdentifier(e){const t=getNameOfDeclaration(e);return t&&isIdentifier(t)?t:void 0}function nodeHasName(e,t){return!(!isNamedDeclaration(e)||!isIdentifier(e.name)||idText(e.name)!==idText(t))||!(!isVariableStatement(e)||!some(e.declarationList.declarations,e=>nodeHasName(e,t)))}function getNameOfJSDocTypedef(e){return e.name||nameForNamelessJSDocTypedef(e)}function isNamedDeclaration(e){return!!e.name}function getNonAssignedNameOfDeclaration(e){switch(e.kind){case 80:return e;case 349:case 342:{const{name:t}=e;if(167===t.kind)return t.right;break}case 214:case 227:{const t=e;switch(getAssignmentDeclarationKind(t)){case 1:case 4:case 5:case 3:return getElementOrPropertyAccessArgumentExpressionOrName(t.left);case 7:case 8:case 9:return t.arguments[1];default:return}}case 347:return getNameOfJSDocTypedef(e);case 341:return nameForNamelessJSDocTypedef(e);case 278:{const{expression:t}=e;return isIdentifier(t)?t:void 0}case 213:const t=e;if(isBindableStaticElementAccessExpression(t))return t.argumentExpression}return e.name}function getNameOfDeclaration(e){if(void 0!==e)return getNonAssignedNameOfDeclaration(e)||(isFunctionExpression(e)||isArrowFunction(e)||isClassExpression(e)?getAssignedName(e):void 0)}function getAssignedName(e){if(e.parent){if(isPropertyAssignment(e.parent)||isBindingElement(e.parent))return e.parent.name;if(isBinaryExpression(e.parent)&&e===e.parent.right){if(isIdentifier(e.parent.left))return e.parent.left;if(isAccessExpression(e.parent.left))return getElementOrPropertyAccessArgumentExpressionOrName(e.parent.left)}else if(isVariableDeclaration(e.parent)&&isIdentifier(e.parent.name))return e.parent.name}}function getDecorators(e){if(hasDecorators(e))return filter(e.modifiers,isDecorator)}function getModifiers(e){if(hasSyntacticModifier(e,98303))return filter(e.modifiers,isModifier)}function getJSDocParameterTagsWorker(e,t){if(e.name){if(isIdentifier(e.name)){const n=e.name.escapedText;return getJSDocTagsWorker(e.parent,t).filter(e=>isJSDocParameterTag(e)&&isIdentifier(e.name)&&e.name.escapedText===n)}{const n=e.parent.parameters.indexOf(e);h.assert(n>-1,"Parameters should always be in their parents' parameter list");const r=getJSDocTagsWorker(e.parent,t).filter(isJSDocParameterTag);if(n<r.length)return[r[n]]}}return l}function getJSDocParameterTags(e){return getJSDocParameterTagsWorker(e,!1)}function getJSDocParameterTagsNoCache(e){return getJSDocParameterTagsWorker(e,!0)}function getJSDocTypeParameterTagsWorker(e,t){const n=e.name.escapedText;return getJSDocTagsWorker(e.parent,t).filter(e=>isJSDocTemplateTag(e)&&e.typeParameters.some(e=>e.name.escapedText===n))}function getJSDocTypeParameterTags(e){return getJSDocTypeParameterTagsWorker(e,!1)}function getJSDocTypeParameterTagsNoCache(e){return getJSDocTypeParameterTagsWorker(e,!0)}function hasJSDocParameterTags(e){return!!getFirstJSDocTag(e,isJSDocParameterTag)}function getJSDocAugmentsTag(e){return getFirstJSDocTag(e,isJSDocAugmentsTag)}function getJSDocImplementsTags(e){return getAllJSDocTags(e,isJSDocImplementsTag)}function getJSDocClassTag(e){return getFirstJSDocTag(e,isJSDocClassTag)}function getJSDocPublicTag(e){return getFirstJSDocTag(e,isJSDocPublicTag)}function getJSDocPublicTagNoCache(e){return getFirstJSDocTag(e,isJSDocPublicTag,!0)}function getJSDocPrivateTag(e){return getFirstJSDocTag(e,isJSDocPrivateTag)}function getJSDocPrivateTagNoCache(e){return getFirstJSDocTag(e,isJSDocPrivateTag,!0)}function getJSDocProtectedTag(e){return getFirstJSDocTag(e,isJSDocProtectedTag)}function getJSDocProtectedTagNoCache(e){return getFirstJSDocTag(e,isJSDocProtectedTag,!0)}function getJSDocReadonlyTag(e){return getFirstJSDocTag(e,isJSDocReadonlyTag)}function getJSDocReadonlyTagNoCache(e){return getFirstJSDocTag(e,isJSDocReadonlyTag,!0)}function getJSDocOverrideTagNoCache(e){return getFirstJSDocTag(e,isJSDocOverrideTag,!0)}function getJSDocDeprecatedTag(e){return getFirstJSDocTag(e,isJSDocDeprecatedTag)}function getJSDocDeprecatedTagNoCache(e){return getFirstJSDocTag(e,isJSDocDeprecatedTag,!0)}function getJSDocEnumTag(e){return getFirstJSDocTag(e,isJSDocEnumTag)}function getJSDocThisTag(e){return getFirstJSDocTag(e,isJSDocThisTag)}function getJSDocReturnTag(e){return getFirstJSDocTag(e,isJSDocReturnTag)}function getJSDocTemplateTag(e){return getFirstJSDocTag(e,isJSDocTemplateTag)}function getJSDocSatisfiesTag(e){return getFirstJSDocTag(e,isJSDocSatisfiesTag)}function getJSDocTypeTag(e){const t=getFirstJSDocTag(e,isJSDocTypeTag);if(t&&t.typeExpression&&t.typeExpression.type)return t}function getJSDocType(e){let t=getFirstJSDocTag(e,isJSDocTypeTag);return!t&&isParameter(e)&&(t=find(getJSDocParameterTags(e),e=>!!e.typeExpression)),t&&t.typeExpression&&t.typeExpression.type}function getJSDocReturnType(e){const t=getJSDocReturnTag(e);if(t&&t.typeExpression)return t.typeExpression.type;const n=getJSDocTypeTag(e);if(n&&n.typeExpression){const e=n.typeExpression.type;if(isTypeLiteralNode(e)){const t=find(e.members,isCallSignatureDeclaration);return t&&t.type}if(isFunctionTypeNode(e)||isJSDocFunctionType(e))return e.type}}function getJSDocTagsWorker(e,t){var n;if(!canHaveJSDoc(e))return l;let r=null==(n=e.jsDoc)?void 0:n.jsDocCache;if(void 0===r||t){const n=getJSDocCommentsAndTags(e,t);h.assert(n.length<2||n[0]!==n[1]),r=flatMap(n,e=>isJSDoc(e)?e.tags:e),t||(e.jsDoc??(e.jsDoc=[]),e.jsDoc.jsDocCache=r)}return r}function getJSDocTags(e){return getJSDocTagsWorker(e,!1)}function getFirstJSDocTag(e,t,n){return find(getJSDocTagsWorker(e,n),t)}function getAllJSDocTags(e,t){return getJSDocTags(e).filter(t)}function getAllJSDocTagsOfKind(e,t){return getJSDocTags(e).filter(e=>e.kind===t)}function getTextOfJSDocComment(e){return"string"==typeof e?e:null==e?void 0:e.map(e=>322===e.kind?e.text:function formatJSDocLink(e){const t=325===e.kind?"link":326===e.kind?"linkcode":"linkplain",n=e.name?entityNameToString(e.name):"",r=e.name&&(""===e.text||e.text.startsWith("://"))?"":" ";return`{@${t} ${n}${r}${e.text}}`}(e)).join("")}function getEffectiveTypeParameterDeclarations(e){if(isJSDocSignature(e)){if(isJSDocOverloadTag(e.parent)){const t=getJSDocRoot(e.parent);if(t&&length(t.tags))return flatMap(t.tags,e=>isJSDocTemplateTag(e)?e.typeParameters:void 0)}return l}if(isJSDocTypeAlias(e))return h.assert(321===e.parent.kind),flatMap(e.parent.tags,e=>isJSDocTemplateTag(e)?e.typeParameters:void 0);if(e.typeParameters)return e.typeParameters;if(canHaveIllegalTypeParameters(e)&&e.typeParameters)return e.typeParameters;if(isInJSFile(e)){const t=getJSDocTypeParameterDeclarations(e);if(t.length)return t;const n=getJSDocType(e);if(n&&isFunctionTypeNode(n)&&n.typeParameters)return n.typeParameters}return l}function getEffectiveConstraintOfTypeParameter(e){return e.constraint?e.constraint:isJSDocTemplateTag(e.parent)&&e===e.parent.typeParameters[0]?e.parent.constraint:void 0}function isMemberName(e){return 80===e.kind||81===e.kind}function isGetOrSetAccessorDeclaration(e){return 179===e.kind||178===e.kind}function isPropertyAccessChain(e){return isPropertyAccessExpression(e)&&!!(64&e.flags)}function isElementAccessChain(e){return isElementAccessExpression(e)&&!!(64&e.flags)}function isCallChain(e){return isCallExpression(e)&&!!(64&e.flags)}function isOptionalChain(e){const t=e.kind;return!!(64&e.flags)&&(212===t||213===t||214===t||236===t)}function isOptionalChainRoot(e){return isOptionalChain(e)&&!isNonNullExpression(e)&&!!e.questionDotToken}function isExpressionOfOptionalChainRoot(e){return isOptionalChainRoot(e.parent)&&e.parent.expression===e}function isOutermostOptionalChain(e){return!isOptionalChain(e.parent)||isOptionalChainRoot(e.parent)||e!==e.parent.expression}function isNullishCoalesce(e){return 227===e.kind&&61===e.operatorToken.kind}function isConstTypeReference(e){return isTypeReferenceNode(e)&&isIdentifier(e.typeName)&&"const"===e.typeName.escapedText&&!e.typeArguments}function skipPartiallyEmittedExpressions(e){return skipOuterExpressions(e,8)}function isNonNullChain(e){return isNonNullExpression(e)&&!!(64&e.flags)}function isBreakOrContinueStatement(e){return 253===e.kind||252===e.kind}function isNamedExportBindings(e){return 281===e.kind||280===e.kind}function isJSDocPropertyLikeTag(e){return 349===e.kind||342===e.kind}function isNodeKind(e){return e>=167}function isTokenKind(e){return e>=0&&e<=166}function isToken(e){return isTokenKind(e.kind)}function isNodeArray(e){return hasProperty(e,"pos")&&hasProperty(e,"end")}function isLiteralKind(e){return 9<=e&&e<=15}function isLiteralExpression(e){return isLiteralKind(e.kind)}function isLiteralExpressionOfObject(e){switch(e.kind){case 211:case 210:case 14:case 219:case 232:return!0}return!1}function isTemplateLiteralKind(e){return 15<=e&&e<=18}function isTemplateLiteralToken(e){return isTemplateLiteralKind(e.kind)}function isTemplateMiddleOrTemplateTail(e){const t=e.kind;return 17===t||18===t}function isImportOrExportSpecifier(e){return isImportSpecifier(e)||isExportSpecifier(e)}function isTypeOnlyImportDeclaration(e){switch(e.kind){case 277:return e.isTypeOnly||156===e.parent.parent.phaseModifier;case 275:return 156===e.parent.phaseModifier;case 274:return 156===e.phaseModifier;case 272:return e.isTypeOnly}return!1}function isTypeOnlyExportDeclaration(e){switch(e.kind){case 282:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 279:return e.isTypeOnly&&!!e.moduleSpecifier&&!e.exportClause;case 281:return e.parent.isTypeOnly}return!1}function isTypeOnlyImportOrExportDeclaration(e){return isTypeOnlyImportDeclaration(e)||isTypeOnlyExportDeclaration(e)}function isPartOfTypeOnlyImportOrExportDeclaration(e){return void 0!==findAncestor(e,isTypeOnlyImportOrExportDeclaration)}function isStringTextContainingNode(e){return 11===e.kind||isTemplateLiteralKind(e.kind)}function isImportAttributeName(e){return isStringLiteral(e)||isIdentifier(e)}function isGeneratedIdentifier(e){var t;return isIdentifier(e)&&void 0!==(null==(t=e.emitNode)?void 0:t.autoGenerate)}function isGeneratedPrivateIdentifier(e){var t;return isPrivateIdentifier(e)&&void 0!==(null==(t=e.emitNode)?void 0:t.autoGenerate)}function isFileLevelReservedGeneratedIdentifier(e){const t=e.emitNode.autoGenerate.flags;return!!(32&t)&&!!(16&t)&&!!(8&t)}function isPrivateIdentifierClassElementDeclaration(e){return(isPropertyDeclaration(e)||isMethodOrAccessor(e))&&isPrivateIdentifier(e.name)}function isPrivateIdentifierPropertyAccessExpression(e){return isPropertyAccessExpression(e)&&isPrivateIdentifier(e.name)}function isModifierKind(e){switch(e){case 128:case 129:case 134:case 87:case 138:case 90:case 95:case 103:case 125:case 123:case 124:case 148:case 126:case 147:case 164:return!0}return!1}function isParameterPropertyModifier(e){return!!(31&modifierToFlag(e))}function isClassMemberModifier(e){return isParameterPropertyModifier(e)||126===e||164===e||129===e}function isModifier(e){return isModifierKind(e.kind)}function isEntityName(e){const t=e.kind;return 167===t||80===t}function isPropertyName(e){const t=e.kind;return 80===t||81===t||11===t||9===t||168===t}function isBindingName(e){const t=e.kind;return 80===t||207===t||208===t}function isFunctionLike(e){return!!e&&isFunctionLikeKind(e.kind)}function isFunctionLikeOrClassStaticBlockDeclaration(e){return!!e&&(isFunctionLikeKind(e.kind)||isClassStaticBlockDeclaration(e))}function isFunctionLikeDeclaration(e){return e&&isFunctionLikeDeclarationKind(e.kind)}function isBooleanLiteral(e){return 112===e.kind||97===e.kind}function isFunctionLikeDeclarationKind(e){switch(e){case 263:case 175:case 177:case 178:case 179:case 219:case 220:return!0;default:return!1}}function isFunctionLikeKind(e){switch(e){case 174:case 180:case 324:case 181:case 182:case 185:case 318:case 186:return!0;default:return isFunctionLikeDeclarationKind(e)}}function isFunctionOrModuleBlock(e){return isSourceFile(e)||isModuleBlock(e)||isBlock(e)&&isFunctionLike(e.parent)}function isClassElement(e){const t=e.kind;return 177===t||173===t||175===t||178===t||179===t||182===t||176===t||241===t}function isClassLike(e){return e&&(264===e.kind||232===e.kind)}function isAccessor(e){return e&&(178===e.kind||179===e.kind)}function isAutoAccessorPropertyDeclaration(e){return isPropertyDeclaration(e)&&hasAccessorModifier(e)}function isClassInstanceProperty(e){return isInJSFile(e)&&isExpandoPropertyDeclaration(e)?!(isBindableStaticAccessExpression(e)&&isPrototypeAccess(e.expression)||isBindableStaticNameExpression(e,!0)):e.parent&&isClassLike(e.parent)&&isPropertyDeclaration(e)&&!hasAccessorModifier(e)}function isMethodOrAccessor(e){switch(e.kind){case 175:case 178:case 179:return!0;default:return!1}}function isModifierLike(e){return isModifier(e)||isDecorator(e)}function isTypeElement(e){const t=e.kind;return 181===t||180===t||172===t||174===t||182===t||178===t||179===t||355===t}function isClassOrTypeElement(e){return isTypeElement(e)||isClassElement(e)}function isObjectLiteralElementLike(e){const t=e.kind;return 304===t||305===t||306===t||175===t||178===t||179===t}function isTypeNode(e){return isTypeNodeKind(e.kind)}function isFunctionOrConstructorTypeNode(e){switch(e.kind){case 185:case 186:return!0}return!1}function isBindingPattern(e){if(e){const t=e.kind;return 208===t||207===t}return!1}function isAssignmentPattern(e){const t=e.kind;return 210===t||211===t}function isArrayBindingElement(e){const t=e.kind;return 209===t||233===t}function isDeclarationBindingElement(e){switch(e.kind){case 261:case 170:case 209:return!0}return!1}function isBindingOrAssignmentElement(e){return isVariableDeclaration(e)||isParameter(e)||isObjectBindingOrAssignmentElement(e)||isArrayBindingOrAssignmentElement(e)}function isBindingOrAssignmentPattern(e){return isObjectBindingOrAssignmentPattern(e)||isArrayBindingOrAssignmentPattern(e)}function isObjectBindingOrAssignmentPattern(e){switch(e.kind){case 207:case 211:return!0}return!1}function isObjectBindingOrAssignmentElement(e){switch(e.kind){case 209:case 304:case 305:case 306:return!0}return!1}function isArrayBindingOrAssignmentPattern(e){switch(e.kind){case 208:case 210:return!0}return!1}function isArrayBindingOrAssignmentElement(e){switch(e.kind){case 209:case 233:case 231:case 210:case 211:case 80:case 212:case 213:return!0}return isAssignmentExpression(e,!0)}function isPropertyAccessOrQualifiedNameOrImportTypeNode(e){const t=e.kind;return 212===t||167===t||206===t}function isPropertyAccessOrQualifiedName(e){const t=e.kind;return 212===t||167===t}function isCallLikeOrFunctionLikeExpression(e){return isCallLikeExpression(e)||isFunctionExpressionOrArrowFunction(e)}function isCallLikeExpression(e){switch(e.kind){case 214:case 215:case 216:case 171:case 287:case 286:case 290:return!0;case 227:return 104===e.operatorToken.kind;default:return!1}}function isCallOrNewExpression(e){return 214===e.kind||215===e.kind}function isTemplateLiteral(e){const t=e.kind;return 229===t||15===t}function isLeftHandSideExpression(e){return isLeftHandSideExpressionKind(skipPartiallyEmittedExpressions(e).kind)}function isLeftHandSideExpressionKind(e){switch(e){case 212:case 213:case 215:case 214:case 285:case 286:case 289:case 216:case 210:case 218:case 211:case 232:case 219:case 80:case 81:case 14:case 9:case 10:case 11:case 15:case 229:case 97:case 106:case 110:case 112:case 108:case 236:case 234:case 237:case 102:case 283:return!0;default:return!1}}function isUnaryExpression(e){return isUnaryExpressionKind(skipPartiallyEmittedExpressions(e).kind)}function isUnaryExpressionKind(e){switch(e){case 225:case 226:case 221:case 222:case 223:case 224:case 217:return!0;default:return isLeftHandSideExpressionKind(e)}}function isUnaryExpressionWithWrite(e){switch(e.kind){case 226:return!0;case 225:return 46===e.operator||47===e.operator;default:return!1}}function isLiteralTypeLiteral(e){switch(e.kind){case 106:case 112:case 97:case 225:return!0;default:return isLiteralExpression(e)}}function isExpression(e){return function isExpressionKind(e){switch(e){case 228:case 230:case 220:case 227:case 231:case 235:case 233:case 357:case 356:case 239:return!0;default:return isUnaryExpressionKind(e)}}(skipPartiallyEmittedExpressions(e).kind)}function isAssertionExpression(e){const t=e.kind;return 217===t||235===t}function isIterationStatement(e,t){switch(e.kind){case 249:case 250:case 251:case 247:case 248:return!0;case 257:return t&&isIterationStatement(e.statement,t)}return!1}function isScopeMarker(e){return isExportAssignment(e)||isExportDeclaration(e)}function hasScopeMarker(e){return some(e,isScopeMarker)}function needsScopeMarker(e){return!(isAnyImportOrReExport(e)||isExportAssignment(e)||hasSyntacticModifier(e,32)||isAmbientModule(e))}function isExternalModuleIndicator(e){return isAnyImportOrReExport(e)||isExportAssignment(e)||hasSyntacticModifier(e,32)}function isForInOrOfStatement(e){return 250===e.kind||251===e.kind}function isConciseBody(e){return isBlock(e)||isExpression(e)}function isFunctionBody(e){return isBlock(e)}function isForInitializer(e){return isVariableDeclarationList(e)||isExpression(e)}function isModuleBody(e){const t=e.kind;return 269===t||268===t||80===t}function isNamespaceBody(e){const t=e.kind;return 269===t||268===t}function isJSDocNamespaceBody(e){const t=e.kind;return 80===t||268===t}function isNamedImportBindings(e){const t=e.kind;return 276===t||275===t}function isModuleOrEnumDeclaration(e){return 268===e.kind||267===e.kind}function canHaveSymbol(e){switch(e.kind){case 220:case 227:case 209:case 214:case 180:case 264:case 232:case 176:case 177:case 186:case 181:case 213:case 267:case 307:case 278:case 279:case 282:case 263:case 219:case 185:case 178:case 80:case 274:case 272:case 277:case 182:case 265:case 339:case 341:case 318:case 342:case 349:case 324:case 347:case 323:case 292:case 293:case 294:case 201:case 175:case 174:case 268:case 203:case 281:case 271:case 275:case 215:case 15:case 9:case 211:case 170:case 212:case 304:case 173:case 172:case 179:case 305:case 308:case 306:case 11:case 266:case 188:case 169:case 261:return!0;default:return!1}}function canHaveLocals(e){switch(e.kind){case 220:case 242:case 180:case 270:case 300:case 176:case 195:case 177:case 186:case 181:case 249:case 250:case 251:case 263:case 219:case 185:case 178:case 182:case 339:case 341:case 318:case 324:case 347:case 201:case 175:case 174:case 268:case 179:case 308:case 266:return!0;default:return!1}}function isDeclarationStatementKind(e){return 263===e||283===e||264===e||265===e||266===e||267===e||268===e||273===e||272===e||279===e||278===e||271===e}function isStatementKindButNotDeclarationKind(e){return 253===e||252===e||260===e||247===e||245===e||243===e||250===e||251===e||249===e||246===e||257===e||254===e||256===e||258===e||259===e||244===e||248===e||255===e||354===e}function isDeclaration(e){return 169===e.kind?e.parent&&346!==e.parent.kind||isInJSFile(e):function isDeclarationKind(e){return 220===e||209===e||264===e||232===e||176===e||177===e||267===e||307===e||282===e||263===e||219===e||178===e||274===e||272===e||277===e||265===e||292===e||175===e||174===e||268===e||271===e||275===e||281===e||170===e||304===e||173===e||172===e||179===e||305===e||266===e||169===e||261===e||347===e||339===e||349===e||203===e}(e.kind)}function isDeclarationStatement(e){return isDeclarationStatementKind(e.kind)}function isStatementButNotDeclaration(e){return isStatementKindButNotDeclarationKind(e.kind)}function isStatement(e){const t=e.kind;return isStatementKindButNotDeclarationKind(t)||isDeclarationStatementKind(t)||function isBlockStatement(e){if(242!==e.kind)return!1;if(void 0!==e.parent&&(259===e.parent.kind||300===e.parent.kind))return!1;return!isFunctionBlock(e)}(e)}function isStatementOrBlock(e){const t=e.kind;return isStatementKindButNotDeclarationKind(t)||isDeclarationStatementKind(t)||242===t}function isModuleReference(e){const t=e.kind;return 284===t||167===t||80===t}function isJsxTagNameExpression(e){const t=e.kind;return 110===t||80===t||212===t||296===t}function isJsxChild(e){const t=e.kind;return 285===t||295===t||286===t||12===t||289===t}function isJsxAttributeLike(e){const t=e.kind;return 292===t||294===t}function isStringLiteralOrJsxExpression(e){const t=e.kind;return 11===t||295===t}function isJsxOpeningLikeElement(e){const t=e.kind;return 287===t||286===t}function isJsxCallLike(e){const t=e.kind;return 287===t||286===t||290===t}function isCaseOrDefaultClause(e){const t=e.kind;return 297===t||298===t}function isJSDocNode(e){return e.kind>=310&&e.kind<=352}function isJSDocCommentContainingNode(e){return 321===e.kind||320===e.kind||322===e.kind||isJSDocLinkLike(e)||isJSDocTag(e)||isJSDocTypeLiteral(e)||isJSDocSignature(e)}function isJSDocTag(e){return e.kind>=328&&e.kind<=352}function isSetAccessor(e){return 179===e.kind}function isGetAccessor(e){return 178===e.kind}function hasJSDocNodes(e){if(!canHaveJSDoc(e))return!1;const{jsDoc:t}=e;return!!t&&t.length>0}function hasType(e){return!!e.type}function hasInitializer(e){return!!e.initializer}function hasOnlyExpressionInitializer(e){switch(e.kind){case 261:case 170:case 209:case 173:case 304:case 307:return!0;default:return!1}}function isObjectLiteralElement(e){return 292===e.kind||294===e.kind||isObjectLiteralElementLike(e)}function isTypeReferenceType(e){return 184===e.kind||234===e.kind}var on=1073741823;function guessIndentation(e){let t=on;for(const n of e){if(!n.length)continue;let e=0;for(;e<n.length&&e<t&&isWhiteSpaceLike(n.charCodeAt(e));e++);if(e<t&&(t=e),0===t)return 0}return t===on?void 0:t}function isStringLiteralLike(e){return 11===e.kind||15===e.kind}function isJSDocLinkLike(e){return 325===e.kind||326===e.kind||327===e.kind}function hasRestParameter(e){const t=lastOrUndefined(e.parameters);return!!t&&isRestParameter(t)}function isRestParameter(e){const t=isJSDocParameterTag(e)?e.typeExpression&&e.typeExpression.type:e.type;return void 0!==e.dotDotDotToken||!!t&&319===t.kind}function hasInternalAnnotation(e,t){return t.text.substring(e.pos,e.end).includes("@internal")}function isInternalDeclaration(e,t){t??(t=getSourceFileOfNode(e));const n=getParseTreeNode(e);if(n&&170===n.kind){const r=n.parent.parameters.indexOf(n),i=r>0?n.parent.parameters[r-1]:void 0,o=t.text,a=i?concatenate(getTrailingCommentRanges(o,skipTrivia(o,i.end+1,!1,!0)),getLeadingCommentRanges(o,e.pos)):getTrailingCommentRanges(o,skipTrivia(o,e.pos,!1,!0));return some(a)&&hasInternalAnnotation(last(a),t)}return!!forEach(n&&getLeadingCommentRangesOfNode(n,t),e=>hasInternalAnnotation(e,t))}var an=[],sn="tslib",cn=160,ln=1e6,dn=500;function getDeclarationOfKind(e,t){const n=e.declarations;if(n)for(const e of n)if(e.kind===t)return e}function getDeclarationsOfKind(e,t){return filter(e.declarations||l,e=>e.kind===t)}function createSymbolTable(e){const t=new Map;if(e)for(const n of e)t.set(n.escapedName,n);return t}function isTransientSymbol(e){return!!(33554432&e.flags)}function isExternalModuleSymbol(e){return!!(1536&e.flags)&&34===e.escapedName.charCodeAt(0)}var pn=function createSingleLineStringWriter(){var e="";const writeText=t=>e+=t;return{getText:()=>e,write:writeText,rawWrite:writeText,writeKeyword:writeText,writeOperator:writeText,writePunctuation:writeText,writeSpace:writeText,writeStringLiteral:writeText,writeLiteral:writeText,writeParameter:writeText,writeProperty:writeText,writeSymbol:(e,t)=>writeText(e),writeTrailingSemicolon:writeText,writeComment:writeText,getTextPos:()=>e.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!e.length&&isWhiteSpaceLike(e.charCodeAt(e.length-1)),writeLine:()=>e+=" ",increaseIndent:noop,decreaseIndent:noop,clear:()=>e=""}}();function changesAffectModuleResolution(e,t){return e.configFilePath!==t.configFilePath||function optionsHaveModuleResolutionChanges(e,t){return optionsHaveChanges(e,t,eo)}(e,t)}function changesAffectingProgramStructure(e,t){return optionsHaveChanges(e,t,no)}function optionsHaveChanges(e,t,n){return e!==t&&n.some(n=>!isJsonEqual(getCompilerOptionValue(e,n),getCompilerOptionValue(t,n)))}function forEachAncestor(e,t){for(;;){const n=t(e);if("quit"===n)return;if(void 0!==n)return n;if(isSourceFile(e))return;e=e.parent}}function forEachEntry(e,t){const n=e.entries();for(const[e,r]of n){const n=t(r,e);if(n)return n}}function forEachKey(e,t){const n=e.keys();for(const e of n){const n=t(e);if(n)return n}}function copyEntries(e,t){e.forEach((e,n)=>{t.set(n,e)})}function usingSingleLineStringWriter(e){const t=pn.getText();try{return e(pn),pn.getText()}finally{pn.clear(),pn.writeKeyword(t)}}function getFullWidth(e){return e.end-e.pos}function projectReferenceIsEqualTo(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular}function moduleResolutionIsEqualTo(e,t){return e===t||e.resolvedModule===t.resolvedModule||!!e.resolvedModule&&!!t.resolvedModule&&e.resolvedModule.isExternalLibraryImport===t.resolvedModule.isExternalLibraryImport&&e.resolvedModule.extension===t.resolvedModule.extension&&e.resolvedModule.resolvedFileName===t.resolvedModule.resolvedFileName&&e.resolvedModule.originalPath===t.resolvedModule.originalPath&&function packageIdIsEqual(e,t){return e===t||!!e&&!!t&&e.name===t.name&&e.subModuleName===t.subModuleName&&e.version===t.version&&e.peerDependencies===t.peerDependencies}(e.resolvedModule.packageId,t.resolvedModule.packageId)&&e.alternateResult===t.alternateResult}function getResolvedModuleFromResolution(e){return e.resolvedModule}function getResolvedTypeReferenceDirectiveFromResolution(e){return e.resolvedTypeReferenceDirective}function createModuleNotFoundChain(e,t,n,r,i){var o;const a=null==(o=t.getResolvedModule(e,n,r))?void 0:o.alternateResult,s=a&&(2===qn(t.getCompilerOptions())?[Ot.There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setting_Consider_updating_to_node16_nodenext_or_bundler,[a]]:[Ot.There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings,[a,a.includes(Mo+"@types/")?`@types/${mangleScopedPackageName(i)}`:i]]),c=s?chainDiagnosticMessages(void 0,s[0],...s[1]):t.typesPackageExists(i)?chainDiagnosticMessages(void 0,Ot.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,i,mangleScopedPackageName(i)):t.packageBundlesTypes(i)?chainDiagnosticMessages(void 0,Ot.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,i,n):chainDiagnosticMessages(void 0,Ot.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,n,mangleScopedPackageName(i));return c&&(c.repopulateInfo=()=>({moduleReference:n,mode:r,packageName:i===n?void 0:i})),c}function createModeMismatchDetails(e){const t=tryGetExtensionFromPath2(e.fileName),n=e.packageJsonScope,r=".ts"===t?".mts":".js"===t?".mjs":void 0,i=n&&!n.contents.packageJsonContent.type?r?chainDiagnosticMessages(void 0,Ot.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1,r,combinePaths(n.packageDirectory,"package.json")):chainDiagnosticMessages(void 0,Ot.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0,combinePaths(n.packageDirectory,"package.json")):r?chainDiagnosticMessages(void 0,Ot.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module,r):chainDiagnosticMessages(void 0,Ot.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module);return i.repopulateInfo=()=>!0,i}function packageIdToPackageName({name:e,subModuleName:t}){return t?`${e}/${t}`:e}function packageIdToString(e){return`${packageIdToPackageName(e)}@${e.version}${e.peerDependencies??""}`}function typeDirectiveIsEqualTo(e,t){return e===t||e.resolvedTypeReferenceDirective===t.resolvedTypeReferenceDirective||!!e.resolvedTypeReferenceDirective&&!!t.resolvedTypeReferenceDirective&&e.resolvedTypeReferenceDirective.resolvedFileName===t.resolvedTypeReferenceDirective.resolvedFileName&&!!e.resolvedTypeReferenceDirective.primary==!!t.resolvedTypeReferenceDirective.primary&&e.resolvedTypeReferenceDirective.originalPath===t.resolvedTypeReferenceDirective.originalPath}function hasChangesInResolutions(e,t,n,r){h.assert(e.length===t.length);for(let i=0;i<e.length;i++){const o=t[i],a=n(e[i]);if(a?!o||!r(a,o):o)return!0}return!1}function containsParseError(e){return function aggregateChildData(e){if(!(2097152&e.flags)){(!!(262144&e.flags)||forEachChild(e,containsParseError))&&(e.flags|=1048576),e.flags|=2097152}}(e),!!(1048576&e.flags)}function getSourceFileOfNode(e){for(;e&&308!==e.kind;)e=e.parent;return e}function getSourceFileOfModule(e){return getSourceFileOfNode(e.valueDeclaration||getNonAugmentationDeclaration(e))}function isPlainJsFile(e,t){return!(!e||1!==e.scriptKind&&2!==e.scriptKind||e.checkJsDirective||void 0!==t)}function isStatementWithLocals(e){switch(e.kind){case 242:case 270:case 249:case 250:case 251:return!0}return!1}function getStartPositionOfLine(e,t){return h.assert(e>=0),getLineStarts(t)[e]}function nodePosToString(e){const t=getSourceFileOfNode(e),n=getLineAndCharacterOfPosition(t,e.pos);return`${t.fileName}(${n.line+1},${n.character+1})`}function getEndLinePosition(e,t){h.assert(e>=0);const n=getLineStarts(t),r=e,i=t.text;if(r+1===n.length)return i.length-1;{const e=n[r];let t=n[r+1]-1;for(h.assert(isLineBreak(i.charCodeAt(t)));e<=t&&isLineBreak(i.charCodeAt(t));)t--;return t}}function isFileLevelUniqueName(e,t,n){return!(n&&n(t)||e.identifiers.has(t))}function nodeIsMissing(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function nodeIsPresent(e){return!nodeIsMissing(e)}function isGrammarError(e,t){return isTypeParameterDeclaration(e)?t===e.expression:isClassStaticBlockDeclaration(e)?t===e.modifiers:isPropertySignature(e)?t===e.initializer:isPropertyDeclaration(e)?t===e.questionToken&&isAutoAccessorPropertyDeclaration(e):isPropertyAssignment(e)?t===e.modifiers||t===e.questionToken||t===e.exclamationToken||isGrammarErrorElement(e.modifiers,t,isModifierLike):isShorthandPropertyAssignment(e)?t===e.equalsToken||t===e.modifiers||t===e.questionToken||t===e.exclamationToken||isGrammarErrorElement(e.modifiers,t,isModifierLike):isMethodDeclaration(e)?t===e.exclamationToken:isConstructorDeclaration(e)?t===e.typeParameters||t===e.type||isGrammarErrorElement(e.typeParameters,t,isTypeParameterDeclaration):isGetAccessorDeclaration(e)?t===e.typeParameters||isGrammarErrorElement(e.typeParameters,t,isTypeParameterDeclaration):isSetAccessorDeclaration(e)?t===e.typeParameters||t===e.type||isGrammarErrorElement(e.typeParameters,t,isTypeParameterDeclaration):!!isNamespaceExportDeclaration(e)&&(t===e.modifiers||isGrammarErrorElement(e.modifiers,t,isModifierLike))}function isGrammarErrorElement(e,t,n){return!(!e||isArray(t)||!n(t))&&contains(e,t)}function insertStatementsAfterPrologue(e,t,n){if(void 0===t||0===t.length)return e;let r=0;for(;r<e.length&&n(e[r]);++r);return e.splice(r,0,...t),e}function insertStatementAfterPrologue(e,t,n){if(void 0===t)return e;let r=0;for(;r<e.length&&n(e[r]);++r);return e.splice(r,0,t),e}function isAnyPrologueDirective(e){return isPrologueDirective(e)||!!(2097152&getEmitFlags(e))}function insertStatementsAfterStandardPrologue(e,t){return insertStatementsAfterPrologue(e,t,isPrologueDirective)}function insertStatementsAfterCustomPrologue(e,t){return insertStatementsAfterPrologue(e,t,isAnyPrologueDirective)}function insertStatementAfterStandardPrologue(e,t){return insertStatementAfterPrologue(e,t,isPrologueDirective)}function insertStatementAfterCustomPrologue(e,t){return insertStatementAfterPrologue(e,t,isAnyPrologueDirective)}function isRecognizedTripleSlashComment(e,t,n){if(47===e.charCodeAt(t+1)&&t+2<n&&47===e.charCodeAt(t+2)){const r=e.substring(t,n);return!!(_n.test(r)||yn.test(r)||hn.test(r)||fn.test(r)||gn.test(r)||Tn.test(r))}return!1}function isPinnedComment(e,t){return 42===e.charCodeAt(t+1)&&33===e.charCodeAt(t+2)}function createCommentDirectivesMap(e,t){const n=new Map(t.map(t=>[`${getLineAndCharacterOfPosition(e,t.range.end).line}`,t])),r=new Map;return{getUnusedExpectations:function getUnusedExpectations(){return arrayFrom(n.entries()).filter(([e,t])=>0===t.type&&!r.get(e)).map(([e,t])=>t)},markUsed:function markUsed(e){if(!n.has(`${e}`))return!1;return r.set(`${e}`,!0),!0}}}function getTokenPosOfNode(e,t,n){if(nodeIsMissing(e))return e.pos;if(isJSDocNode(e)||12===e.kind)return skipTrivia((t??getSourceFileOfNode(e)).text,e.pos,!1,!0);if(n&&hasJSDocNodes(e))return getTokenPosOfNode(e.jsDoc[0],t);if(353===e.kind){t??(t=getSourceFileOfNode(e));const r=firstOrUndefined(getNodeChildren(e,t));if(r)return getTokenPosOfNode(r,t,n)}return skipTrivia((t??getSourceFileOfNode(e)).text,e.pos,!1,!1,isInJSDoc(e))}function getNonDecoratorTokenPosOfNode(e,t){const n=!nodeIsMissing(e)&&canHaveModifiers(e)?findLast(e.modifiers,isDecorator):void 0;return n?skipTrivia((t||getSourceFileOfNode(e)).text,n.end):getTokenPosOfNode(e,t)}function getNonModifierTokenPosOfNode(e,t){const n=!nodeIsMissing(e)&&canHaveModifiers(e)&&e.modifiers?last(e.modifiers):void 0;return n?skipTrivia((t||getSourceFileOfNode(e)).text,n.end):getTokenPosOfNode(e,t)}function getSourceTextOfNodeFromSourceFile(e,t,n=!1){return getTextOfNodeFromSourceText(e.text,t,n)}function isExportNamespaceAsDefaultDeclaration(e){return!!(isExportDeclaration(e)&&e.exportClause&&isNamespaceExport(e.exportClause)&&moduleExportNameIsDefault(e.exportClause.name))}function moduleExportNameTextUnescaped(e){return 11===e.kind?e.text:unescapeLeadingUnderscores(e.escapedText)}function moduleExportNameTextEscaped(e){return 11===e.kind?escapeLeadingUnderscores(e.text):e.escapedText}function moduleExportNameIsDefault(e){return"default"===(11===e.kind?e.text:e.escapedText)}function getTextOfNodeFromSourceText(e,t,n=!1){if(nodeIsMissing(t))return"";let r=e.substring(n?t.pos:skipTrivia(e,t.pos),t.end);return function isJSDocTypeExpressionOrChild(e){return!!findAncestor(e,isJSDocTypeExpression)}(t)&&(r=r.split(/\r\n|\n|\r/).map(e=>e.replace(/^\s*\*/,"").trimStart()).join("\n")),r}function getTextOfNode(e,t=!1){return getSourceTextOfNodeFromSourceFile(getSourceFileOfNode(e),e,t)}function getPos(e){return e.pos}function indexOfNode(e,t){return binarySearch(e,t,getPos,compareValues)}function getEmitFlags(e){const t=e.emitNode;return t&&t.flags||0}function getInternalEmitFlags(e){const t=e.emitNode;return t&&t.internalFlags||0}var un=memoize(()=>new Map(Object.entries({Array:new Map(Object.entries({es2015:["find","findIndex","fill","copyWithin","entries","keys","values"],es2016:["includes"],es2019:["flat","flatMap"],es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Iterator:new Map(Object.entries({es2015:l})),AsyncIterator:new Map(Object.entries({es2015:l})),ArrayBuffer:new Map(Object.entries({es2024:["maxByteLength","resizable","resize","detached","transfer","transferToFixedLength"]})),Atomics:new Map(Object.entries({es2017:["add","and","compareExchange","exchange","isLockFree","load","or","store","sub","wait","notify","xor"],es2024:["waitAsync"],esnext:["pause"]})),SharedArrayBuffer:new Map(Object.entries({es2017:["byteLength","slice"],es2024:["growable","maxByteLength","grow"]})),AsyncIterable:new Map(Object.entries({es2018:l})),AsyncIterableIterator:new Map(Object.entries({es2018:l})),AsyncGenerator:new Map(Object.entries({es2018:l})),AsyncGeneratorFunction:new Map(Object.entries({es2018:l})),RegExp:new Map(Object.entries({es2015:["flags","sticky","unicode"],es2018:["dotAll"],es2024:["unicodeSets"]})),Reflect:new Map(Object.entries({es2015:["apply","construct","defineProperty","deleteProperty","get","getOwnPropertyDescriptor","getPrototypeOf","has","isExtensible","ownKeys","preventExtensions","set","setPrototypeOf"]})),ArrayConstructor:new Map(Object.entries({es2015:["from","of"],esnext:["fromAsync"]})),ObjectConstructor:new Map(Object.entries({es2015:["assign","getOwnPropertySymbols","keys","is","setPrototypeOf"],es2017:["values","entries","getOwnPropertyDescriptors"],es2019:["fromEntries"],es2022:["hasOwn"],es2024:["groupBy"]})),NumberConstructor:new Map(Object.entries({es2015:["isFinite","isInteger","isNaN","isSafeInteger","parseFloat","parseInt"]})),Math:new Map(Object.entries({es2015:["clz32","imul","sign","log10","log2","log1p","expm1","cosh","sinh","tanh","acosh","asinh","atanh","hypot","trunc","fround","cbrt"],esnext:["f16round"]})),Map:new Map(Object.entries({es2015:["entries","keys","values"]})),MapConstructor:new Map(Object.entries({es2024:["groupBy"]})),Set:new Map(Object.entries({es2015:["entries","keys","values"],esnext:["union","intersection","difference","symmetricDifference","isSubsetOf","isSupersetOf","isDisjointFrom"]})),PromiseConstructor:new Map(Object.entries({es2015:["all","race","reject","resolve"],es2020:["allSettled"],es2021:["any"],es2024:["withResolvers"]})),Symbol:new Map(Object.entries({es2015:["for","keyFor"],es2019:["description"]})),WeakMap:new Map(Object.entries({es2015:["entries","keys","values"]})),WeakSet:new Map(Object.entries({es2015:["entries","keys","values"]})),String:new Map(Object.entries({es2015:["codePointAt","includes","endsWith","normalize","repeat","startsWith","anchor","big","blink","bold","fixed","fontcolor","fontsize","italics","link","small","strike","sub","sup"],es2017:["padStart","padEnd"],es2019:["trimStart","trimEnd","trimLeft","trimRight"],es2020:["matchAll"],es2021:["replaceAll"],es2022:["at"],es2024:["isWellFormed","toWellFormed"]})),StringConstructor:new Map(Object.entries({es2015:["fromCodePoint","raw"]})),DateTimeFormat:new Map(Object.entries({es2017:["formatToParts"]})),Promise:new Map(Object.entries({es2015:l,es2018:["finally"]})),RegExpMatchArray:new Map(Object.entries({es2018:["groups"]})),RegExpExecArray:new Map(Object.entries({es2018:["groups"]})),Intl:new Map(Object.entries({es2018:["PluralRules"]})),NumberFormat:new Map(Object.entries({es2018:["formatToParts"]})),SymbolConstructor:new Map(Object.entries({es2020:["matchAll"],esnext:["metadata","dispose","asyncDispose"]})),DataView:new Map(Object.entries({es2020:["setBigInt64","setBigUint64","getBigInt64","getBigUint64"],esnext:["setFloat16","getFloat16"]})),BigInt:new Map(Object.entries({es2020:l})),RelativeTimeFormat:new Map(Object.entries({es2020:["format","formatToParts","resolvedOptions"]})),Int8Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Uint8Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Uint8ClampedArray:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Int16Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Uint16Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Int32Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Uint32Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Float16Array:new Map(Object.entries({esnext:l})),Float32Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Float64Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),BigInt64Array:new Map(Object.entries({es2020:l,es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),BigUint64Array:new Map(Object.entries({es2020:l,es2022:["at"],es2023:["findLastIndex","findLast","toReversed","toSorted","toSpliced","with"]})),Error:new Map(Object.entries({es2022:["cause"]}))}))),mn=(e=>(e[e.None=0]="None",e[e.NeverAsciiEscape=1]="NeverAsciiEscape",e[e.JsxAttributeEscape=2]="JsxAttributeEscape",e[e.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",e[e.AllowNumericSeparator=8]="AllowNumericSeparator",e))(mn||{});function getLiteralText(e,t,n){if(t&&function canUseOriginalText(e,t){if(nodeIsSynthesized(e)||!e.parent||4&t&&e.isUnterminated)return!1;if(isNumericLiteral(e)){if(26656&e.numericLiteralFlags)return!1;if(512&e.numericLiteralFlags)return!!(8&t)}return!isBigIntLiteral(e)}(e,n))return getSourceTextOfNodeFromSourceFile(t,e);switch(e.kind){case 11:{const t=2&n?escapeJsxAttributeString:1&n||16777216&getEmitFlags(e)?escapeString:escapeNonAsciiString;return e.singleQuote?"'"+t(e.text,39)+"'":'"'+t(e.text,34)+'"'}case 15:case 16:case 17:case 18:{const t=1&n||16777216&getEmitFlags(e)?escapeString:escapeNonAsciiString,r=e.rawText??escapeTemplateSubstitution(t(e.text,96));switch(e.kind){case 15:return"`"+r+"`";case 16:return"`"+r+"${";case 17:return"}"+r+"${";case 18:return"}"+r+"`"}break}case 9:case 10:return e.text;case 14:return 4&n&&e.isUnterminated?e.text+(92===e.text.charCodeAt(e.text.length-1)?" /":"/"):e.text}return h.fail(`Literal kind '${e.kind}' not accounted for.`)}function getTextOfConstantValue(e){return isString(e)?`"${escapeString(e)}"`:""+e}function makeIdentifierFromModuleName(e){return getBaseFileName(e).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function isBlockOrCatchScoped(e){return!!(7&getCombinedNodeFlags(e))||isCatchClauseVariableDeclarationOrBindingElement(e)}function isCatchClauseVariableDeclarationOrBindingElement(e){const t=getRootDeclaration(e);return 261===t.kind&&300===t.parent.kind}function isAmbientModule(e){return isModuleDeclaration(e)&&(11===e.name.kind||isGlobalScopeAugmentation(e))}function isModuleWithStringLiteralName(e){return isModuleDeclaration(e)&&11===e.name.kind}function isNonGlobalAmbientModule(e){return isModuleDeclaration(e)&&isStringLiteral(e.name)}function isShorthandAmbientModuleSymbol(e){return function isShorthandAmbientModule(e){return!!e&&268===e.kind&&!e.body}(e.valueDeclaration)}function isBlockScopedContainerTopLevel(e){return 308===e.kind||268===e.kind||isFunctionLikeOrClassStaticBlockDeclaration(e)}function isGlobalScopeAugmentation(e){return!!(2048&e.flags)}function isExternalModuleAugmentation(e){return isAmbientModule(e)&&isModuleAugmentationExternal(e)}function isModuleAugmentationExternal(e){switch(e.parent.kind){case 308:return isExternalModule(e.parent);case 269:return isAmbientModule(e.parent.parent)&&isSourceFile(e.parent.parent.parent)&&!isExternalModule(e.parent.parent.parent)}return!1}function getNonAugmentationDeclaration(e){var t;return null==(t=e.declarations)?void 0:t.find(e=>!(isExternalModuleAugmentation(e)||isModuleDeclaration(e)&&isGlobalScopeAugmentation(e)))}function isEffectiveExternalModule(e,t){return isExternalModule(e)||function isCommonJSContainingModuleKind(e){return 1===e||100<=e&&e<=199}(Vn(t))&&!!e.commonJsModuleIndicator}function isEffectiveStrictModeSourceFile(e,t){switch(e.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return!e.isDeclarationFile&&(!!getStrictOptionValue(t,"alwaysStrict")||(!!startsWithUseStrict(e.statements)||!(!isExternalModule(e)&&!Kn(t))))}function isAmbientPropertyDeclaration(e){return!!(33554432&e.flags)||hasSyntacticModifier(e,128)}function isBlockScope(e,t){switch(e.kind){case 308:case 270:case 300:case 268:case 249:case 250:case 251:case 177:case 175:case 178:case 179:case 263:case 219:case 220:case 173:case 176:return!0;case 242:return!isFunctionLikeOrClassStaticBlockDeclaration(t)}return!1}function isDeclarationWithTypeParameters(e){switch(h.type(e),e.kind){case 339:case 347:case 324:return!0;default:return isDeclarationWithTypeParameterChildren(e)}}function isDeclarationWithTypeParameterChildren(e){switch(h.type(e),e.kind){case 180:case 181:case 174:case 182:case 185:case 186:case 318:case 264:case 232:case 265:case 266:case 346:case 263:case 175:case 177:case 178:case 179:case 219:case 220:return!0;default:return!1}}function isAnyImportSyntax(e){switch(e.kind){case 273:case 272:return!0;default:return!1}}function isAnyImportOrBareOrAccessedRequire(e){return isAnyImportSyntax(e)||isVariableDeclarationInitializedToBareOrAccessedRequire(e)}function isAnyImportOrRequireStatement(e){return isAnyImportSyntax(e)||isRequireVariableStatement(e)}function isLateVisibilityPaintedStatement(e){switch(e.kind){case 273:case 272:case 244:case 264:case 263:case 268:case 266:case 265:case 267:return!0;default:return!1}}function hasPossibleExternalModuleReference(e){return isAnyImportOrReExport(e)||isModuleDeclaration(e)||isImportTypeNode(e)||isImportCall(e)}function isAnyImportOrReExport(e){return isAnyImportSyntax(e)||isExportDeclaration(e)}function getEnclosingContainer(e){return findAncestor(e.parent,e=>!!(1&getContainerFlags(e)))}function getEnclosingBlockScopeContainer(e){return findAncestor(e.parent,e=>isBlockScope(e,e.parent))}function forEachEnclosingBlockScopeContainer(e,t){let n=getEnclosingBlockScopeContainer(e);for(;n;)t(n),n=getEnclosingBlockScopeContainer(n)}function declarationNameToString(e){return e&&0!==getFullWidth(e)?getTextOfNode(e):"(Missing)"}function getNameFromIndexInfo(e){return e.declaration?declarationNameToString(e.declaration.parameters[0].name):void 0}function isComputedNonLiteralName(e){return 168===e.kind&&!isStringOrNumericLiteralLike(e.expression)}function tryGetTextOfPropertyName(e){var t;switch(e.kind){case 80:case 81:return(null==(t=e.emitNode)?void 0:t.autoGenerate)?void 0:e.escapedText;case 11:case 9:case 10:case 15:return escapeLeadingUnderscores(e.text);case 168:return isStringOrNumericLiteralLike(e.expression)?escapeLeadingUnderscores(e.expression.text):void 0;case 296:return getEscapedTextOfJsxNamespacedName(e);default:return h.assertNever(e)}}function getTextOfPropertyName(e){return h.checkDefined(tryGetTextOfPropertyName(e))}function entityNameToString(e){switch(e.kind){case 110:return"this";case 81:case 80:return 0===getFullWidth(e)?idText(e):getTextOfNode(e);case 167:return entityNameToString(e.left)+"."+entityNameToString(e.right);case 212:return isIdentifier(e.name)||isPrivateIdentifier(e.name)?entityNameToString(e.expression)+"."+entityNameToString(e.name):h.assertNever(e.name);case 312:return entityNameToString(e.left)+"#"+entityNameToString(e.right);case 296:return entityNameToString(e.namespace)+":"+entityNameToString(e.name);default:return h.assertNever(e)}}function createDiagnosticForNode(e,t,...n){return createDiagnosticForNodeInSourceFile(getSourceFileOfNode(e),e,t,...n)}function createDiagnosticForNodeArray(e,t,n,...r){const i=skipTrivia(e.text,t.pos);return createFileDiagnostic(e,i,t.end-i,n,...r)}function createDiagnosticForNodeInSourceFile(e,t,n,...r){const i=getErrorSpanForNode(e,t);return createFileDiagnostic(e,i.start,i.length,n,...r)}function createDiagnosticForNodeFromMessageChain(e,t,n,r){const i=getErrorSpanForNode(e,t);return createFileDiagnosticFromMessageChain(e,i.start,i.length,n,r)}function createDiagnosticForNodeArrayFromMessageChain(e,t,n,r){const i=skipTrivia(e.text,t.pos);return createFileDiagnosticFromMessageChain(e,i,t.end-i,n,r)}function assertDiagnosticLocation(e,t,n){h.assertGreaterThanOrEqual(t,0),h.assertGreaterThanOrEqual(n,0),h.assertLessThanOrEqual(t,e.length),h.assertLessThanOrEqual(t+n,e.length)}function createFileDiagnosticFromMessageChain(e,t,n,r,i){return assertDiagnosticLocation(e.text,t,n),{file:e,start:t,length:n,code:r.code,category:r.category,messageText:r.next?r:r.messageText,relatedInformation:i,canonicalHead:r.canonicalHead}}function createDiagnosticForFileFromMessageChain(e,t,n){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:n}}function createDiagnosticMessageChainFromDiagnostic(e){return"string"==typeof e.messageText?{code:e.code,category:e.category,messageText:e.messageText,next:e.next}:e.messageText}function createDiagnosticForRange(e,t,n){return{file:e,start:t.pos,length:t.end-t.pos,code:n.code,category:n.category,messageText:n.message}}function getCanonicalDiagnostic(e,...t){return{code:e.code,messageText:formatMessage(e,...t)}}function getSpanOfTokenAtPosition(e,t){const n=createScanner(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);n.scan();return createTextSpanFromBounds(n.getTokenStart(),n.getTokenEnd())}function scanTokenAtPosition(e,t){const n=createScanner(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);return n.scan(),n.getToken()}function getErrorSpanForNode(e,t){let n=t;switch(t.kind){case 308:{const t=skipTrivia(e.text,0,!1);return t===e.text.length?createTextSpan(0,0):getSpanOfTokenAtPosition(e,t)}case 261:case 209:case 264:case 232:case 265:case 268:case 267:case 307:case 263:case 219:case 175:case 178:case 179:case 266:case 173:case 172:case 275:n=t.name;break;case 220:return function getErrorSpanForArrowFunction(e,t){const n=skipTrivia(e.text,t.pos);if(t.body&&242===t.body.kind){const{line:r}=getLineAndCharacterOfPosition(e,t.body.pos),{line:i}=getLineAndCharacterOfPosition(e,t.body.end);if(r<i)return createTextSpan(n,getEndLinePosition(r,e)-n+1)}return createTextSpanFromBounds(n,t.end)}(e,t);case 297:case 298:return createTextSpanFromBounds(skipTrivia(e.text,t.pos),t.statements.length>0?t.statements[0].pos:t.end);case 254:case 230:return getSpanOfTokenAtPosition(e,skipTrivia(e.text,t.pos));case 239:return getSpanOfTokenAtPosition(e,skipTrivia(e.text,t.expression.end));case 351:return getSpanOfTokenAtPosition(e,skipTrivia(e.text,t.tagName.pos));case 177:{const n=t,r=skipTrivia(e.text,n.pos),i=createScanner(e.languageVersion,!0,e.languageVariant,e.text,void 0,r);let o=i.scan();for(;137!==o&&1!==o;)o=i.scan();return createTextSpanFromBounds(r,i.getTokenEnd())}}if(void 0===n)return getSpanOfTokenAtPosition(e,t.pos);h.assert(!isJSDoc(n));const r=nodeIsMissing(n),i=r||isJsxText(t)?n.pos:skipTrivia(e.text,n.pos);return r?(h.assert(i===n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),h.assert(i===n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(h.assert(i>=n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),h.assert(i<=n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),createTextSpanFromBounds(i,n.end)}function isGlobalSourceFile(e){return 308===e.kind&&!isExternalOrCommonJsModule(e)}function isExternalOrCommonJsModule(e){return void 0!==(e.externalModuleIndicator||e.commonJsModuleIndicator)}function isJsonSourceFile(e){return 6===e.scriptKind}function isEnumConst(e){return!!(4096&getCombinedModifierFlags(e))}function isDeclarationReadonly(e){return!(!(8&getCombinedModifierFlags(e))||isParameterPropertyDeclaration(e,e.parent))}function isVarAwaitUsing(e){return 6==(7&getCombinedNodeFlags(e))}function isVarUsing(e){return 4==(7&getCombinedNodeFlags(e))}function isVarConst(e){return 2==(7&getCombinedNodeFlags(e))}function isVarConstLike(e){const t=7&getCombinedNodeFlags(e);return 2===t||4===t||6===t}function isLet(e){return 1==(7&getCombinedNodeFlags(e))}function isSuperCall(e){return 214===e.kind&&108===e.expression.kind}function isImportCall(e){if(214!==e.kind)return!1;const t=e.expression;return 102===t.kind||isMetaProperty(t)&&102===t.keywordToken&&"defer"===t.name.escapedText}function isImportMeta(e){return isMetaProperty(e)&&102===e.keywordToken&&"meta"===e.name.escapedText}function isLiteralImportTypeNode(e){return isImportTypeNode(e)&&isLiteralTypeNode(e.argument)&&isStringLiteral(e.argument.literal)}function isPrologueDirective(e){return 245===e.kind&&11===e.expression.kind}function isCustomPrologue(e){return!!(2097152&getEmitFlags(e))}function isHoistedFunction(e){return isCustomPrologue(e)&&isFunctionDeclaration(e)}function isHoistedVariable(e){return isIdentifier(e.name)&&!e.initializer}function isHoistedVariableStatement(e){return isCustomPrologue(e)&&isVariableStatement(e)&&every(e.declarationList.declarations,isHoistedVariable)}function getLeadingCommentRangesOfNode(e,t){return 12!==e.kind?getLeadingCommentRanges(t.text,e.pos):void 0}function getJSDocCommentRanges(e,t){return filter(170===e.kind||169===e.kind||219===e.kind||220===e.kind||218===e.kind||261===e.kind||282===e.kind?concatenate(getTrailingCommentRanges(t,e.pos),getLeadingCommentRanges(t,e.pos)):getLeadingCommentRanges(t,e.pos),n=>n.end<=e.end&&42===t.charCodeAt(n.pos+1)&&42===t.charCodeAt(n.pos+2)&&47!==t.charCodeAt(n.pos+3))}var _n=/^\/\/\/\s*<reference\s+path\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/,fn=/^\/\/\/\s*<reference\s+types\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/,gn=/^\/\/\/\s*<reference\s+lib\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/,yn=/^\/\/\/\s*<amd-dependency\s+path\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/,hn=/^\/\/\/\s*<amd-module\s+(?:\S.*?)??\/>/,Tn=/^\/\/\/\s*<reference\s+no-default-lib\s*=\s*(?:'[^']*'|"[^"]*")\s*\/>/;function isPartOfTypeNode(e){if(183<=e.kind&&e.kind<=206)return!0;switch(e.kind){case 133:case 159:case 150:case 163:case 154:case 136:case 155:case 151:case 157:case 106:case 146:return!0;case 116:return 223!==e.parent.kind;case 234:return isPartOfTypeExpressionWithTypeArguments(e);case 169:return 201===e.parent.kind||196===e.parent.kind;case 80:(167===e.parent.kind&&e.parent.right===e||212===e.parent.kind&&e.parent.name===e)&&(e=e.parent),h.assert(80===e.kind||167===e.kind||212===e.kind,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 167:case 212:case 110:{const{parent:t}=e;if(187===t.kind)return!1;if(206===t.kind)return!t.isTypeOf;if(183<=t.kind&&t.kind<=206)return!0;switch(t.kind){case 234:return isPartOfTypeExpressionWithTypeArguments(t);case 169:case 346:return e===t.constraint;case 173:case 172:case 170:case 261:case 263:case 219:case 220:case 177:case 175:case 174:case 178:case 179:case 180:case 181:case 182:case 217:return e===t.type;case 214:case 215:case 216:return contains(t.typeArguments,e)}}}return!1}function isPartOfTypeExpressionWithTypeArguments(e){return isJSDocImplementsTag(e.parent)||isJSDocAugmentsTag(e.parent)||isHeritageClause(e.parent)&&!isExpressionWithTypeArgumentsInClassExtendsClause(e)}function forEachReturnStatement(e,t){return function traverse(e){switch(e.kind){case 254:return t(e);case 270:case 242:case 246:case 247:case 248:case 249:case 250:case 251:case 255:case 256:case 297:case 298:case 257:case 259:case 300:return forEachChild(e,traverse)}}(e)}function forEachYieldExpression(e,t){return function traverse(e){switch(e.kind){case 230:t(e);const n=e.expression;return void(n&&traverse(n));case 267:case 265:case 268:case 266:return;default:if(isFunctionLike(e)){if(e.name&&168===e.name.kind)return void traverse(e.name.expression)}else isPartOfTypeNode(e)||forEachChild(e,traverse)}}(e)}function getRestParameterElementType(e){return e&&189===e.kind?e.elementType:e&&184===e.kind?singleOrUndefined(e.typeArguments):void 0}function getMembersOfDeclaration(e){switch(e.kind){case 265:case 264:case 232:case 188:return e.members;case 211:return e.properties}}function isVariableLike(e){if(e)switch(e.kind){case 209:case 307:case 170:case 304:case 173:case 172:case 305:case 261:return!0}return!1}function isVariableDeclarationInVariableStatement(e){return 262===e.parent.kind&&244===e.parent.parent.kind}function isCommonJsExportedExpression(e){return!!isInJSFile(e)&&(isObjectLiteralExpression(e.parent)&&isBinaryExpression(e.parent.parent)&&2===getAssignmentDeclarationKind(e.parent.parent)||isCommonJsExportPropertyAssignment(e.parent))}function isCommonJsExportPropertyAssignment(e){return!!isInJSFile(e)&&(isBinaryExpression(e)&&1===getAssignmentDeclarationKind(e))}function isValidESSymbolDeclaration(e){return(isVariableDeclaration(e)?isVarConst(e)&&isIdentifier(e.name)&&isVariableDeclarationInVariableStatement(e):isPropertyDeclaration(e)?hasEffectiveReadonlyModifier(e)&&hasStaticModifier(e):isPropertySignature(e)&&hasEffectiveReadonlyModifier(e))||isCommonJsExportPropertyAssignment(e)}function introducesArgumentsExoticObject(e){switch(e.kind){case 175:case 174:case 177:case 178:case 179:case 263:case 219:return!0}return!1}function unwrapInnermostStatementOfLabel(e,t){for(;;){if(t&&t(e),257!==e.statement.kind)return e.statement;e=e.statement}}function isFunctionBlock(e){return e&&242===e.kind&&isFunctionLike(e.parent)}function isObjectLiteralMethod(e){return e&&175===e.kind&&211===e.parent.kind}function isObjectLiteralOrClassExpressionMethodOrAccessor(e){return!(175!==e.kind&&178!==e.kind&&179!==e.kind||211!==e.parent.kind&&232!==e.parent.kind)}function isIdentifierTypePredicate(e){return e&&1===e.kind}function isThisTypePredicate(e){return e&&0===e.kind}function forEachPropertyAssignment(e,t,n,r){return forEach(null==e?void 0:e.properties,e=>{if(!isPropertyAssignment(e))return;const i=tryGetTextOfPropertyName(e.name);return t===i||r&&r===i?n(e):void 0})}function getTsConfigObjectLiteralExpression(e){if(e&&e.statements.length){return tryCast(e.statements[0].expression,isObjectLiteralExpression)}}function getTsConfigPropArrayElementValue(e,t,n){return forEachTsConfigPropArray(e,t,e=>isArrayLiteralExpression(e.initializer)?find(e.initializer.elements,e=>isStringLiteral(e)&&e.text===n):void 0)}function forEachTsConfigPropArray(e,t,n){return forEachPropertyAssignment(getTsConfigObjectLiteralExpression(e),t,n)}function getContainingFunction(e){return findAncestor(e.parent,isFunctionLike)}function getContainingFunctionDeclaration(e){return findAncestor(e.parent,isFunctionLikeDeclaration)}function getContainingClass(e){return findAncestor(e.parent,isClassLike)}function getContainingClassStaticBlock(e){return findAncestor(e.parent,e=>isClassLike(e)||isFunctionLike(e)?"quit":isClassStaticBlockDeclaration(e))}function getContainingFunctionOrClassStaticBlock(e){return findAncestor(e.parent,isFunctionLikeOrClassStaticBlockDeclaration)}function getContainingClassExcludingClassDecorators(e){const t=findAncestor(e.parent,e=>isClassLike(e)?"quit":isDecorator(e));return t&&isClassLike(t.parent)?getContainingClass(t.parent):getContainingClass(t??e)}function getThisContainer(e,t,n){for(h.assert(308!==e.kind);;){if(!(e=e.parent))return h.fail();switch(e.kind){case 168:if(n&&isClassLike(e.parent.parent))return e;e=e.parent.parent;break;case 171:170===e.parent.kind&&isClassElement(e.parent.parent)?e=e.parent.parent:isClassElement(e.parent)&&(e=e.parent);break;case 220:if(!t)continue;case 263:case 219:case 268:case 176:case 173:case 172:case 175:case 174:case 177:case 178:case 179:case 180:case 181:case 182:case 267:case 308:return e}}}function isThisContainerOrFunctionBlock(e){switch(e.kind){case 220:case 263:case 219:case 173:return!0;case 242:switch(e.parent.kind){case 177:case 175:case 178:case 179:return!0;default:return!1}default:return!1}}function isInTopLevelContext(e){isIdentifier(e)&&(isClassDeclaration(e.parent)||isFunctionDeclaration(e.parent))&&e.parent.name===e&&(e=e.parent);return isSourceFile(getThisContainer(e,!0,!1))}function getNewTargetContainer(e){const t=getThisContainer(e,!1,!1);if(t)switch(t.kind){case 177:case 263:case 219:return t}}function getSuperContainer(e,t){for(;;){if(!(e=e.parent))return;switch(e.kind){case 168:e=e.parent;break;case 263:case 219:case 220:if(!t)continue;case 173:case 172:case 175:case 174:case 177:case 178:case 179:case 176:return e;case 171:170===e.parent.kind&&isClassElement(e.parent.parent)?e=e.parent.parent:isClassElement(e.parent)&&(e=e.parent)}}}function getImmediatelyInvokedFunctionExpression(e){if(219===e.kind||220===e.kind){let t=e,n=e.parent;for(;218===n.kind;)t=n,n=n.parent;if(214===n.kind&&n.expression===t)return n}}function isSuperProperty(e){const t=e.kind;return(212===t||213===t)&&108===e.expression.kind}function isThisProperty(e){const t=e.kind;return(212===t||213===t)&&110===e.expression.kind}function isThisInitializedDeclaration(e){var t;return!!e&&isVariableDeclaration(e)&&110===(null==(t=e.initializer)?void 0:t.kind)}function isThisInitializedObjectBindingExpression(e){return!!e&&(isShorthandPropertyAssignment(e)||isPropertyAssignment(e))&&isBinaryExpression(e.parent.parent)&&64===e.parent.parent.operatorToken.kind&&110===e.parent.parent.right.kind}function getEntityNameFromTypeNode(e){switch(e.kind){case 184:return e.typeName;case 234:return isEntityNameExpression(e.expression)?e.expression:void 0;case 80:case 167:return e}}function getInvokedExpression(e){switch(e.kind){case 216:return e.tag;case 287:case 286:return e.tagName;case 227:return e.right;case 290:return e;default:return e.expression}}function nodeCanBeDecorated(e,t,n,r){if(e&&isNamedDeclaration(t)&&isPrivateIdentifier(t.name))return!1;switch(t.kind){case 264:return!0;case 232:return!e;case 173:return void 0!==n&&(e?isClassDeclaration(n):isClassLike(n)&&!hasAbstractModifier(t)&&!hasAmbientModifier(t));case 178:case 179:case 175:return void 0!==t.body&&void 0!==n&&(e?isClassDeclaration(n):isClassLike(n));case 170:return!!e&&(void 0!==n&&void 0!==n.body&&(177===n.kind||175===n.kind||179===n.kind)&&getThisParameter(n)!==t&&void 0!==r&&264===r.kind)}return!1}function nodeIsDecorated(e,t,n,r){return hasDecorators(t)&&nodeCanBeDecorated(e,t,n,r)}function nodeOrChildIsDecorated(e,t,n,r){return nodeIsDecorated(e,t,n,r)||childIsDecorated(e,t,n)}function childIsDecorated(e,t,n){switch(t.kind){case 264:return some(t.members,r=>nodeOrChildIsDecorated(e,r,t,n));case 232:return!e&&some(t.members,r=>nodeOrChildIsDecorated(e,r,t,n));case 175:case 179:case 177:return some(t.parameters,r=>nodeIsDecorated(e,r,t,n));default:return!1}}function classOrConstructorParameterIsDecorated(e,t){if(nodeIsDecorated(e,t))return!0;const n=getFirstConstructorWithBody(t);return!!n&&childIsDecorated(e,n,t)}function classElementOrClassElementParameterIsDecorated(e,t,n){let r;if(isAccessor(t)){const{firstAccessor:e,secondAccessor:i,setAccessor:o}=getAllAccessorDeclarations(n.members,t),a=hasDecorators(e)?e:i&&hasDecorators(i)?i:void 0;if(!a||t!==a)return!1;r=null==o?void 0:o.parameters}else isMethodDeclaration(t)&&(r=t.parameters);if(nodeIsDecorated(e,t,n))return!0;if(r)for(const i of r)if(!parameterIsThisKeyword(i)&&nodeIsDecorated(e,i,t,n))return!0;return!1}function isEmptyStringLiteral(e){if(e.textSourceNode){switch(e.textSourceNode.kind){case 11:return isEmptyStringLiteral(e.textSourceNode);case 15:return""===e.text}return!1}return""===e.text}function isJSXTagName(e){const{parent:t}=e;return(287===t.kind||286===t.kind||288===t.kind)&&t.tagName===e}function isExpressionNode(e){switch(e.kind){case 108:case 106:case 112:case 97:case 14:case 210:case 211:case 212:case 213:case 214:case 215:case 216:case 235:case 217:case 239:case 236:case 218:case 219:case 232:case 220:case 223:case 221:case 222:case 225:case 226:case 227:case 228:case 231:case 229:case 233:case 285:case 286:case 289:case 230:case 224:return!0;case 237:return!isImportCall(e.parent)||e.parent.expression!==e;case 234:return!isHeritageClause(e.parent)&&!isJSDocAugmentsTag(e.parent);case 167:for(;167===e.parent.kind;)e=e.parent;return 187===e.parent.kind||isJSDocLinkLike(e.parent)||isJSDocNameReference(e.parent)||isJSDocMemberName(e.parent)||isJSXTagName(e);case 312:for(;isJSDocMemberName(e.parent);)e=e.parent;return 187===e.parent.kind||isJSDocLinkLike(e.parent)||isJSDocNameReference(e.parent)||isJSDocMemberName(e.parent)||isJSXTagName(e);case 81:return isBinaryExpression(e.parent)&&e.parent.left===e&&103===e.parent.operatorToken.kind;case 80:if(187===e.parent.kind||isJSDocLinkLike(e.parent)||isJSDocNameReference(e.parent)||isJSDocMemberName(e.parent)||isJSXTagName(e))return!0;case 9:case 10:case 11:case 15:case 110:return isInExpressionContext(e);default:return!1}}function isInExpressionContext(e){const{parent:t}=e;switch(t.kind){case 261:case 170:case 173:case 172:case 307:case 304:case 209:return t.initializer===e;case 245:case 246:case 247:case 248:case 254:case 255:case 256:case 297:case 258:return t.expression===e;case 249:const n=t;return n.initializer===e&&262!==n.initializer.kind||n.condition===e||n.incrementor===e;case 250:case 251:const r=t;return r.initializer===e&&262!==r.initializer.kind||r.expression===e;case 217:case 235:case 240:case 168:case 239:return e===t.expression;case 171:case 295:case 294:case 306:return!0;case 234:return t.expression===e&&!isPartOfTypeNode(t);case 305:return t.objectAssignmentInitializer===e;default:return isExpressionNode(t)}}function isPartOfTypeQuery(e){for(;167===e.kind||80===e.kind;)e=e.parent;return 187===e.kind}function isNamespaceReexportDeclaration(e){return isNamespaceExport(e)&&!!e.parent.moduleSpecifier}function isExternalModuleImportEqualsDeclaration(e){return 272===e.kind&&284===e.moduleReference.kind}function getExternalModuleImportEqualsDeclarationExpression(e){return h.assert(isExternalModuleImportEqualsDeclaration(e)),e.moduleReference.expression}function getExternalModuleRequireArgument(e){return isVariableDeclarationInitializedToBareOrAccessedRequire(e)&&getLeftmostAccessExpression(e.initializer).arguments[0]}function isInternalModuleImportEqualsDeclaration(e){return 272===e.kind&&284!==e.moduleReference.kind}function isFullSourceFile(e){return 308===(null==e?void 0:e.kind)}function isSourceFileJS(e){return isInJSFile(e)}function isInJSFile(e){return!!e&&!!(524288&e.flags)}function isInJsonFile(e){return!!e&&!!(134217728&e.flags)}function isSourceFileNotJson(e){return!isJsonSourceFile(e)}function isInJSDoc(e){return!!e&&!!(16777216&e.flags)}function isJSDocIndexSignature(e){return isTypeReferenceNode(e)&&isIdentifier(e.typeName)&&"Object"===e.typeName.escapedText&&e.typeArguments&&2===e.typeArguments.length&&(154===e.typeArguments[0].kind||150===e.typeArguments[0].kind)}function isRequireCall(e,t){if(214!==e.kind)return!1;const{expression:n,arguments:r}=e;if(80!==n.kind||"require"!==n.escapedText)return!1;if(1!==r.length)return!1;const i=r[0];return!t||isStringLiteralLike(i)}function isVariableDeclarationInitializedToRequire(e){return isVariableDeclarationInitializedWithRequireHelper(e,!1)}function isVariableDeclarationInitializedToBareOrAccessedRequire(e){return isVariableDeclarationInitializedWithRequireHelper(e,!0)}function isBindingElementOfBareOrAccessedRequire(e){return isBindingElement(e)&&isVariableDeclarationInitializedToBareOrAccessedRequire(e.parent.parent)}function isVariableDeclarationInitializedWithRequireHelper(e,t){return isVariableDeclaration(e)&&!!e.initializer&&isRequireCall(t?getLeftmostAccessExpression(e.initializer):e.initializer,!0)}function isRequireVariableStatement(e){return isVariableStatement(e)&&e.declarationList.declarations.length>0&&every(e.declarationList.declarations,e=>isVariableDeclarationInitializedToRequire(e))}function isSingleOrDoubleQuote(e){return 39===e||34===e}function isStringDoubleQuoted(e,t){return 34===getSourceTextOfNodeFromSourceFile(t,e).charCodeAt(0)}function isAssignmentDeclaration(e){return isBinaryExpression(e)||isAccessExpression(e)||isIdentifier(e)||isCallExpression(e)}function getEffectiveInitializer(e){return isInJSFile(e)&&e.initializer&&isBinaryExpression(e.initializer)&&(57===e.initializer.operatorToken.kind||61===e.initializer.operatorToken.kind)&&e.name&&isEntityNameExpression(e.name)&&isSameEntityName(e.name,e.initializer.left)?e.initializer.right:e.initializer}function getDeclaredExpandoInitializer(e){const t=getEffectiveInitializer(e);return t&&getExpandoInitializer(t,isPrototypeAccess(e.name))}function getAssignedExpandoInitializer(e){if(e&&e.parent&&isBinaryExpression(e.parent)&&64===e.parent.operatorToken.kind){const t=isPrototypeAccess(e.parent.left);return getExpandoInitializer(e.parent.right,t)||function getDefaultedExpandoInitializer(e,t,n){const r=isBinaryExpression(t)&&(57===t.operatorToken.kind||61===t.operatorToken.kind)&&getExpandoInitializer(t.right,n);if(r&&isSameEntityName(e,t.left))return r}(e.parent.left,e.parent.right,t)}if(e&&isCallExpression(e)&&isBindableObjectDefinePropertyCall(e)){const t=function hasExpandoValueProperty(e,t){return forEach(e.properties,e=>isPropertyAssignment(e)&&isIdentifier(e.name)&&"value"===e.name.escapedText&&e.initializer&&getExpandoInitializer(e.initializer,t))}(e.arguments[2],"prototype"===e.arguments[1].text);if(t)return t}}function getExpandoInitializer(e,t){if(isCallExpression(e)){const t=skipParentheses(e.expression);return 219===t.kind||220===t.kind?e:void 0}return 219===e.kind||232===e.kind||220===e.kind||isObjectLiteralExpression(e)&&(0===e.properties.length||t)?e:void 0}function isDefaultedExpandoInitializer(e){const t=isVariableDeclaration(e.parent)?e.parent.name:isBinaryExpression(e.parent)&&64===e.parent.operatorToken.kind?e.parent.left:void 0;return t&&getExpandoInitializer(e.right,isPrototypeAccess(t))&&isEntityNameExpression(t)&&isSameEntityName(t,e.left)}function getNameOfExpando(e){if(isBinaryExpression(e.parent)){const t=57!==e.parent.operatorToken.kind&&61!==e.parent.operatorToken.kind||!isBinaryExpression(e.parent.parent)?e.parent:e.parent.parent;if(64===t.operatorToken.kind&&isIdentifier(t.left))return t.left}else if(isVariableDeclaration(e.parent))return e.parent.name}function isSameEntityName(e,t){return isPropertyNameLiteral(e)&&isPropertyNameLiteral(t)?getTextOfIdentifierOrLiteral(e)===getTextOfIdentifierOrLiteral(t):isMemberName(e)&&isLiteralLikeAccess(t)&&(110===t.expression.kind||isIdentifier(t.expression)&&("window"===t.expression.escapedText||"self"===t.expression.escapedText||"global"===t.expression.escapedText))?isSameEntityName(e,getNameOrArgument(t)):!(!isLiteralLikeAccess(e)||!isLiteralLikeAccess(t))&&(getElementOrPropertyAccessName(e)===getElementOrPropertyAccessName(t)&&isSameEntityName(e.expression,t.expression))}function getRightMostAssignedExpression(e){for(;isAssignmentExpression(e,!0);)e=e.right;return e}function isExportsIdentifier(e){return isIdentifier(e)&&"exports"===e.escapedText}function isModuleIdentifier(e){return isIdentifier(e)&&"module"===e.escapedText}function isModuleExportsAccessExpression(e){return(isPropertyAccessExpression(e)||isLiteralLikeElementAccess(e))&&isModuleIdentifier(e.expression)&&"exports"===getElementOrPropertyAccessName(e)}function getAssignmentDeclarationKind(e){const t=function getAssignmentDeclarationKindWorker(e){if(isCallExpression(e)){if(!isBindableObjectDefinePropertyCall(e))return 0;const t=e.arguments[0];return isExportsIdentifier(t)||isModuleExportsAccessExpression(t)?8:isBindableStaticAccessExpression(t)&&"prototype"===getElementOrPropertyAccessName(t)?9:7}if(64!==e.operatorToken.kind||!isAccessExpression(e.left)||function isVoidZero(e){return isVoidExpression(e)&&isNumericLiteral(e.expression)&&"0"===e.expression.text}(getRightMostAssignedExpression(e)))return 0;if(isBindableStaticNameExpression(e.left.expression,!0)&&"prototype"===getElementOrPropertyAccessName(e.left)&&isObjectLiteralExpression(getInitializerOfBinaryExpression(e)))return 6;return getAssignmentDeclarationPropertyAccessKind(e.left)}(e);return 5===t||isInJSFile(e)?t:0}function isBindableObjectDefinePropertyCall(e){return 3===length(e.arguments)&&isPropertyAccessExpression(e.expression)&&isIdentifier(e.expression.expression)&&"Object"===idText(e.expression.expression)&&"defineProperty"===idText(e.expression.name)&&isStringOrNumericLiteralLike(e.arguments[1])&&isBindableStaticNameExpression(e.arguments[0],!0)}function isLiteralLikeAccess(e){return isPropertyAccessExpression(e)||isLiteralLikeElementAccess(e)}function isLiteralLikeElementAccess(e){return isElementAccessExpression(e)&&isStringOrNumericLiteralLike(e.argumentExpression)}function isBindableStaticAccessExpression(e,t){return isPropertyAccessExpression(e)&&(!t&&110===e.expression.kind||isIdentifier(e.name)&&isBindableStaticNameExpression(e.expression,!0))||isBindableStaticElementAccessExpression(e,t)}function isBindableStaticElementAccessExpression(e,t){return isLiteralLikeElementAccess(e)&&(!t&&110===e.expression.kind||isEntityNameExpression(e.expression)||isBindableStaticAccessExpression(e.expression,!0))}function isBindableStaticNameExpression(e,t){return isEntityNameExpression(e)||isBindableStaticAccessExpression(e,t)}function getNameOrArgument(e){return isPropertyAccessExpression(e)?e.name:e.argumentExpression}function getElementOrPropertyAccessArgumentExpressionOrName(e){if(isPropertyAccessExpression(e))return e.name;const t=skipParentheses(e.argumentExpression);return isNumericLiteral(t)||isStringLiteralLike(t)?t:e}function getElementOrPropertyAccessName(e){const t=getElementOrPropertyAccessArgumentExpressionOrName(e);if(t){if(isIdentifier(t))return t.escapedText;if(isStringLiteralLike(t)||isNumericLiteral(t))return escapeLeadingUnderscores(t.text)}}function getAssignmentDeclarationPropertyAccessKind(e){if(110===e.expression.kind)return 4;if(isModuleExportsAccessExpression(e))return 2;if(isBindableStaticNameExpression(e.expression,!0)){if(isPrototypeAccess(e.expression))return 3;let t=e;for(;!isIdentifier(t.expression);)t=t.expression;const n=t.expression;if(("exports"===n.escapedText||"module"===n.escapedText&&"exports"===getElementOrPropertyAccessName(t))&&isBindableStaticAccessExpression(e))return 1;if(isBindableStaticNameExpression(e,!0)||isElementAccessExpression(e)&&isDynamicName(e))return 5}return 0}function getInitializerOfBinaryExpression(e){for(;isBinaryExpression(e.right);)e=e.right;return e.right}function isPrototypePropertyAssignment(e){return isBinaryExpression(e)&&3===getAssignmentDeclarationKind(e)}function isSpecialPropertyDeclaration(e){return isInJSFile(e)&&e.parent&&245===e.parent.kind&&(!isElementAccessExpression(e)||isLiteralLikeElementAccess(e))&&!!getJSDocTypeTag(e.parent)}function setValueDeclaration(e,t){const{valueDeclaration:n}=e;(!n||(!(33554432&t.flags)||isInJSFile(t)||33554432&n.flags)&&isAssignmentDeclaration(n)&&!isAssignmentDeclaration(t)||n.kind!==t.kind&&function isEffectiveModuleDeclaration(e){return isModuleDeclaration(e)||isIdentifier(e)}(n))&&(e.valueDeclaration=t)}function isFunctionSymbol(e){if(!e||!e.valueDeclaration)return!1;const t=e.valueDeclaration;return 263===t.kind||isVariableDeclaration(t)&&t.initializer&&isFunctionLike(t.initializer)}function canHaveModuleSpecifier(e){switch(null==e?void 0:e.kind){case 261:case 209:case 273:case 279:case 272:case 274:case 281:case 275:case 282:case 277:case 206:return!0}return!1}function tryGetModuleSpecifierFromDeclaration(e){var t,n;switch(e.kind){case 261:case 209:return null==(t=findAncestor(e.initializer,e=>isRequireCall(e,!0)))?void 0:t.arguments[0];case 273:case 279:case 352:return tryCast(e.moduleSpecifier,isStringLiteralLike);case 272:return tryCast(null==(n=tryCast(e.moduleReference,isExternalModuleReference))?void 0:n.expression,isStringLiteralLike);case 274:case 281:return tryCast(e.parent.moduleSpecifier,isStringLiteralLike);case 275:case 282:return tryCast(e.parent.parent.moduleSpecifier,isStringLiteralLike);case 277:return tryCast(e.parent.parent.parent.moduleSpecifier,isStringLiteralLike);case 206:return isLiteralImportTypeNode(e)?e.argument.literal:void 0;default:h.assertNever(e)}}function importFromModuleSpecifier(e){return tryGetImportFromModuleSpecifier(e)||h.failBadSyntaxKind(e.parent)}function tryGetImportFromModuleSpecifier(e){switch(e.parent.kind){case 273:case 279:case 352:return e.parent;case 284:return e.parent.parent;case 214:return isImportCall(e.parent)||isRequireCall(e.parent,!1)?e.parent:void 0;case 202:if(!isStringLiteral(e))break;return tryCast(e.parent.parent,isImportTypeNode);default:return}}function shouldRewriteModuleSpecifier(e,t){return!!t.rewriteRelativeImportExtensions&&pathIsRelative(e)&&!isDeclarationFileName(e)&&hasTSFileExtension(e)}function getExternalModuleName(e){switch(e.kind){case 273:case 279:case 352:return e.moduleSpecifier;case 272:return 284===e.moduleReference.kind?e.moduleReference.expression:void 0;case 206:return isLiteralImportTypeNode(e)?e.argument.literal:void 0;case 214:return e.arguments[0];case 268:return 11===e.name.kind?e.name:void 0;default:return h.assertNever(e)}}function getNamespaceDeclarationNode(e){switch(e.kind){case 273:return e.importClause&&tryCast(e.importClause.namedBindings,isNamespaceImport);case 272:return e;case 279:return e.exportClause&&tryCast(e.exportClause,isNamespaceExport);default:return h.assertNever(e)}}function isDefaultImport(e){return!(273!==e.kind&&352!==e.kind||!e.importClause||!e.importClause.name)}function forEachImportClauseDeclaration(e,t){if(e.name){const n=t(e);if(n)return n}if(e.namedBindings){const n=isNamespaceImport(e.namedBindings)?t(e.namedBindings):forEach(e.namedBindings.elements,t);if(n)return n}}function hasQuestionToken(e){switch(e.kind){case 170:case 175:case 174:case 305:case 304:case 173:case 172:return void 0!==e.questionToken}return!1}function isJSDocConstructSignature(e){const t=isJSDocFunctionType(e)?firstOrUndefined(e.parameters):void 0,n=tryCast(t&&t.name,isIdentifier);return!!n&&"new"===n.escapedText}function isJSDocTypeAlias(e){return 347===e.kind||339===e.kind||341===e.kind}function isTypeAlias(e){return isJSDocTypeAlias(e)||isTypeAliasDeclaration(e)}function getSourceOfDefaultedAssignment(e){return isExpressionStatement(e)&&isBinaryExpression(e.expression)&&0!==getAssignmentDeclarationKind(e.expression)&&isBinaryExpression(e.expression.right)&&(57===e.expression.right.operatorToken.kind||61===e.expression.right.operatorToken.kind)?e.expression.right.right:void 0}function getSingleInitializerOfVariableStatementOrPropertyDeclaration(e){switch(e.kind){case 244:const t=getSingleVariableOfVariableStatement(e);return t&&t.initializer;case 173:case 304:return e.initializer}}function getSingleVariableOfVariableStatement(e){return isVariableStatement(e)?firstOrUndefined(e.declarationList.declarations):void 0}function getNestedModuleDeclaration(e){return isModuleDeclaration(e)&&e.body&&268===e.body.kind?e.body:void 0}function canHaveFlowNode(e){if(e.kind>=244&&e.kind<=260)return!0;switch(e.kind){case 80:case 110:case 108:case 167:case 237:case 213:case 212:case 209:case 219:case 220:case 175:case 178:case 179:return!0;default:return!1}}function canHaveJSDoc(e){switch(e.kind){case 220:case 227:case 242:case 253:case 180:case 297:case 264:case 232:case 176:case 177:case 186:case 181:case 252:case 260:case 247:case 213:case 243:case 1:case 267:case 307:case 278:case 279:case 282:case 245:case 250:case 251:case 249:case 263:case 219:case 185:case 178:case 80:case 246:case 273:case 272:case 182:case 265:case 318:case 324:case 257:case 175:case 174:case 268:case 203:case 271:case 211:case 170:case 218:case 212:case 304:case 173:case 172:case 254:case 241:case 179:case 305:case 306:case 256:case 258:case 259:case 266:case 169:case 261:case 244:case 248:case 255:return!0;default:return!1}}function getJSDocCommentsAndTags(e,t){let n;isVariableLike(e)&&hasInitializer(e)&&hasJSDocNodes(e.initializer)&&(n=addRange(n,filterOwnedJSDocTags(e,e.initializer.jsDoc)));let r=e;for(;r&&r.parent;){if(hasJSDocNodes(r)&&(n=addRange(n,filterOwnedJSDocTags(e,r.jsDoc))),170===r.kind){n=addRange(n,(t?getJSDocParameterTagsNoCache:getJSDocParameterTags)(r));break}if(169===r.kind){n=addRange(n,(t?getJSDocTypeParameterTagsNoCache:getJSDocTypeParameterTags)(r));break}r=getNextJSDocCommentLocation(r)}return n||l}function filterOwnedJSDocTags(e,t){const n=last(t);return flatMap(t,t=>{if(t===n){const n=filter(t.tags,t=>function ownsJSDocTag(e,t){return!((isJSDocTypeTag(t)||isJSDocSatisfiesTag(t))&&t.parent&&isJSDoc(t.parent)&&isParenthesizedExpression(t.parent.parent)&&t.parent.parent!==e)}(e,t));return t.tags===n?[t]:n}return filter(t.tags,isJSDocOverloadTag)})}function getNextJSDocCommentLocation(e){const t=e.parent;return 304===t.kind||278===t.kind||173===t.kind||245===t.kind&&212===e.kind||254===t.kind||getNestedModuleDeclaration(t)||isAssignmentExpression(e)?t:t.parent&&(getSingleVariableOfVariableStatement(t.parent)===e||isAssignmentExpression(t))?t.parent:t.parent&&t.parent.parent&&(getSingleVariableOfVariableStatement(t.parent.parent)||getSingleInitializerOfVariableStatementOrPropertyDeclaration(t.parent.parent)===e||getSourceOfDefaultedAssignment(t.parent.parent))?t.parent.parent:void 0}function getParameterSymbolFromJSDoc(e){if(e.symbol)return e.symbol;if(!isIdentifier(e.name))return;const t=e.name.escapedText,n=getHostSignatureFromJSDoc(e);if(!n)return;const r=find(n.parameters,e=>80===e.name.kind&&e.name.escapedText===t);return r&&r.symbol}function getEffectiveContainerForJSDocTemplateTag(e){if(isJSDoc(e.parent)&&e.parent.tags){const t=find(e.parent.tags,isJSDocTypeAlias);if(t)return t}return getHostSignatureFromJSDoc(e)}function getJSDocOverloadTags(e){return getAllJSDocTags(e,isJSDocOverloadTag)}function getHostSignatureFromJSDoc(e){const t=getEffectiveJSDocHost(e);if(t)return isPropertySignature(t)&&t.type&&isFunctionLike(t.type)?t.type:isFunctionLike(t)?t:void 0}function getEffectiveJSDocHost(e){const t=getJSDocHost(e);if(t)return getSourceOfDefaultedAssignment(t)||function getSourceOfAssignment(e){return isExpressionStatement(e)&&isBinaryExpression(e.expression)&&64===e.expression.operatorToken.kind?getRightMostAssignedExpression(e.expression):void 0}(t)||getSingleInitializerOfVariableStatementOrPropertyDeclaration(t)||getSingleVariableOfVariableStatement(t)||getNestedModuleDeclaration(t)||t}function getJSDocHost(e){const t=getJSDocRoot(e);if(!t)return;const n=t.parent;return n&&n.jsDoc&&t===lastOrUndefined(n.jsDoc)?n:void 0}function getJSDocRoot(e){return findAncestor(e.parent,isJSDoc)}function getTypeParameterFromJsDoc(e){const t=e.name.escapedText,{typeParameters:n}=e.parent.parent.parent;return n&&find(n,e=>e.name.escapedText===t)}function hasTypeArguments(e){return!!e.typeArguments}var Sn=(e=>(e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound",e))(Sn||{});function getAssignmentTarget(e){let t=e.parent;for(;;){switch(t.kind){case 227:const n=t;return isAssignmentOperator(n.operatorToken.kind)&&n.left===e?n:void 0;case 225:case 226:const r=t,i=r.operator;return 46===i||47===i?r:void 0;case 250:case 251:const o=t;return o.initializer===e?o:void 0;case 218:case 210:case 231:case 236:e=t;break;case 306:e=t.parent;break;case 305:if(t.name!==e)return;e=t.parent;break;case 304:if(t.name===e)return;e=t.parent;break;default:return}t=e.parent}}function getAssignmentTargetKind(e){const t=getAssignmentTarget(e);if(!t)return 0;switch(t.kind){case 227:const e=t.operatorToken.kind;return 64===e||isLogicalOrCoalescingAssignmentOperator(e)?1:2;case 225:case 226:return 2;case 250:case 251:return 1}}function isAssignmentTarget(e){return!!getAssignmentTarget(e)}function isInCompoundLikeAssignment(e){const t=getAssignmentTarget(e);return!!t&&isAssignmentExpression(t,!0)&&function isCompoundLikeAssignment(e){const t=skipParentheses(e.right);return 227===t.kind&&isShiftOperatorOrHigher(t.operatorToken.kind)}(t)}function isNodeWithPossibleHoistedDeclaration(e){switch(e.kind){case 242:case 244:case 255:case 246:case 256:case 270:case 297:case 298:case 257:case 249:case 250:case 251:case 247:case 248:case 259:case 300:return!0}return!1}function isValueSignatureDeclaration(e){return isFunctionExpression(e)||isArrowFunction(e)||isMethodOrAccessor(e)||isFunctionDeclaration(e)||isConstructorDeclaration(e)}function walkUp(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function walkUpParenthesizedTypes(e){return walkUp(e,197)}function walkUpParenthesizedExpressions(e){return walkUp(e,218)}function walkUpParenthesizedTypesAndGetParentAndChild(e){let t;for(;e&&197===e.kind;)t=e,e=e.parent;return[t,e]}function skipTypeParentheses(e){for(;isParenthesizedTypeNode(e);)e=e.type;return e}function skipParentheses(e,t){return skipOuterExpressions(e,t?-2147483647:1)}function isDeleteTarget(e){return(212===e.kind||213===e.kind)&&((e=walkUpParenthesizedExpressions(e.parent))&&221===e.kind)}function isNodeDescendantOf(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1}function isDeclarationName(e){return!isSourceFile(e)&&!isBindingPattern(e)&&isDeclaration(e.parent)&&e.parent.name===e}function getDeclarationFromName(e){const t=e.parent;switch(e.kind){case 11:case 15:case 9:if(isComputedPropertyName(t))return t.parent;case 80:if(isDeclaration(t))return t.name===e?t:void 0;if(isQualifiedName(t)){const e=t.parent;return isJSDocParameterTag(e)&&e.name===t?e:void 0}{const n=t.parent;return isBinaryExpression(n)&&0!==getAssignmentDeclarationKind(n)&&(n.left.symbol||n.symbol)&&getNameOfDeclaration(n)===e?n:void 0}case 81:return isDeclaration(t)&&t.name===e?t:void 0;default:return}}function isLiteralComputedPropertyDeclarationName(e){return isStringOrNumericLiteralLike(e)&&168===e.parent.kind&&isDeclaration(e.parent.parent)}function isIdentifierName(e){const t=e.parent;switch(t.kind){case 173:case 172:case 175:case 174:case 178:case 179:case 307:case 304:case 212:return t.name===e;case 167:return t.right===e;case 209:case 277:return t.propertyName===e;case 282:case 292:case 286:case 287:case 288:return!0}return!1}function getAliasDeclarationFromName(e){switch(e.parent.kind){case 274:case 277:case 275:case 282:case 278:case 272:case 281:return e.parent;case 167:do{e=e.parent}while(167===e.parent.kind);return getAliasDeclarationFromName(e)}}function isAliasableExpression(e){return isEntityNameExpression(e)||isClassExpression(e)}function exportAssignmentIsAlias(e){return isAliasableExpression(getExportAssignmentExpression(e))}function getExportAssignmentExpression(e){return isExportAssignment(e)?e.expression:e.right}function getPropertyAssignmentAliasLikeExpression(e){return 305===e.kind?e.name:304===e.kind?e.initializer:e.parent.right}function getEffectiveBaseTypeNode(e){const t=getClassExtendsHeritageElement(e);if(t&&isInJSFile(e)){const t=getJSDocAugmentsTag(e);if(t)return t.class}return t}function getClassExtendsHeritageElement(e){const t=getHeritageClause(e.heritageClauses,96);return t&&t.types.length>0?t.types[0]:void 0}function getEffectiveImplementsTypeNodes(e){if(isInJSFile(e))return getJSDocImplementsTags(e).map(e=>e.class);{const t=getHeritageClause(e.heritageClauses,119);return null==t?void 0:t.types}}function getAllSuperTypeNodes(e){return isInterfaceDeclaration(e)?getInterfaceBaseTypeNodes(e)||l:isClassLike(e)&&concatenate(singleElementArray(getEffectiveBaseTypeNode(e)),getEffectiveImplementsTypeNodes(e))||l}function getInterfaceBaseTypeNodes(e){const t=getHeritageClause(e.heritageClauses,96);return t?t.types:void 0}function getHeritageClause(e,t){if(e)for(const n of e)if(n.token===t)return n}function getAncestor(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}}function isKeyword(e){return 83<=e&&e<=166}function isPunctuation(e){return 19<=e&&e<=79}function isKeywordOrPunctuation(e){return isKeyword(e)||isPunctuation(e)}function isContextualKeyword(e){return 128<=e&&e<=166}function isNonContextualKeyword(e){return isKeyword(e)&&!isContextualKeyword(e)}function isStringANonContextualKeyword(e){const t=stringToToken(e);return void 0!==t&&isNonContextualKeyword(t)}function isIdentifierANonContextualKeyword(e){const t=identifierToKeywordKind(e);return!!t&&!isContextualKeyword(t)}function isTrivia(e){return 2<=e&&e<=7}var xn=(e=>(e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator",e))(xn||{});function getFunctionFlags(e){if(!e)return 4;let t=0;switch(e.kind){case 263:case 219:case 175:e.asteriskToken&&(t|=1);case 220:hasSyntacticModifier(e,1024)&&(t|=2)}return e.body||(t|=4),t}function isAsyncFunction(e){switch(e.kind){case 263:case 219:case 220:case 175:return void 0!==e.body&&void 0===e.asteriskToken&&hasSyntacticModifier(e,1024)}return!1}function isStringOrNumericLiteralLike(e){return isStringLiteralLike(e)||isNumericLiteral(e)}function isSignedNumericLiteral(e){return isPrefixUnaryExpression(e)&&(40===e.operator||41===e.operator)&&isNumericLiteral(e.operand)}function hasDynamicName(e){const t=getNameOfDeclaration(e);return!!t&&isDynamicName(t)}function isDynamicName(e){if(168!==e.kind&&213!==e.kind)return!1;const t=isElementAccessExpression(e)?skipParentheses(e.argumentExpression):e.expression;return!isStringOrNumericLiteralLike(t)&&!isSignedNumericLiteral(t)}function getPropertyNameForPropertyNameNode(e){switch(e.kind){case 80:case 81:return e.escapedText;case 11:case 15:case 9:case 10:return escapeLeadingUnderscores(e.text);case 168:const t=e.expression;return isStringOrNumericLiteralLike(t)?escapeLeadingUnderscores(t.text):isSignedNumericLiteral(t)?41===t.operator?tokenToString(t.operator)+t.operand.text:t.operand.text:void 0;case 296:return getEscapedTextOfJsxNamespacedName(e);default:return h.assertNever(e)}}function isPropertyNameLiteral(e){switch(e.kind){case 80:case 11:case 15:case 9:return!0;default:return!1}}function getTextOfIdentifierOrLiteral(e){return isMemberName(e)?idText(e):isJsxNamespacedName(e)?getTextOfJsxNamespacedName(e):e.text}function getEscapedTextOfIdentifierOrLiteral(e){return isMemberName(e)?e.escapedText:isJsxNamespacedName(e)?getEscapedTextOfJsxNamespacedName(e):escapeLeadingUnderscores(e.text)}function getSymbolNameForPrivateIdentifier(e,t){return`__#${getSymbolId(e)}@${t}`}function isKnownSymbol(e){return startsWith(e.escapedName,"__@")}function isPrivateIdentifierSymbol(e){return startsWith(e.escapedName,"__#")}function isAnonymousFunctionDefinition(e,t){switch((e=skipOuterExpressions(e)).kind){case 232:if(classHasDeclaredOrExplicitlyAssignedName(e))return!1;break;case 219:if(e.name)return!1;break;case 220:break;default:return!1}return"function"!=typeof t||t(e)}function isNamedEvaluationSource(e){switch(e.kind){case 304:return!function isProtoSetter(e){return isIdentifier(e)?"__proto__"===idText(e):isStringLiteral(e)&&"__proto__"===e.text}(e.name);case 305:return!!e.objectAssignmentInitializer;case 261:return isIdentifier(e.name)&&!!e.initializer;case 170:case 209:return isIdentifier(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 173:return!!e.initializer;case 227:switch(e.operatorToken.kind){case 64:case 77:case 76:case 78:return isIdentifier(e.left)}break;case 278:return!0}return!1}function isNamedEvaluation(e,t){if(!isNamedEvaluationSource(e))return!1;switch(e.kind){case 304:case 261:case 170:case 209:case 173:return isAnonymousFunctionDefinition(e.initializer,t);case 305:return isAnonymousFunctionDefinition(e.objectAssignmentInitializer,t);case 227:return isAnonymousFunctionDefinition(e.right,t);case 278:return isAnonymousFunctionDefinition(e.expression,t)}}function isPushOrUnshiftIdentifier(e){return"push"===e.escapedText||"unshift"===e.escapedText}function isPartOfParameterDeclaration(e){return 170===getRootDeclaration(e).kind}function getRootDeclaration(e){for(;209===e.kind;)e=e.parent.parent;return e}function nodeStartsNewLexicalEnvironment(e){const t=e.kind;return 177===t||219===t||263===t||220===t||175===t||178===t||179===t||268===t||308===t}function nodeIsSynthesized(e){return positionIsSynthesized(e.pos)||positionIsSynthesized(e.end)}var vn=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(vn||{});function getExpressionAssociativity(e){const t=getOperator(e),n=215===e.kind&&void 0!==e.arguments;return getOperatorAssociativity(e.kind,t,n)}function getOperatorAssociativity(e,t,n){switch(e){case 215:return n?0:1;case 225:case 222:case 223:case 221:case 224:case 228:case 230:return 1;case 227:switch(t){case 43:case 64:case 65:case 66:case 68:case 67:case 69:case 70:case 71:case 72:case 73:case 74:case 79:case 75:case 76:case 77:case 78:return 1}}return 0}function getExpressionPrecedence(e){const t=getOperator(e),n=215===e.kind&&void 0!==e.arguments;return getOperatorPrecedence(e.kind,t,n)}function getOperator(e){return 227===e.kind?e.operatorToken.kind:225===e.kind||226===e.kind?e.operator:e.kind}var bn=(e=>(e[e.Comma=0]="Comma",e[e.Spread=1]="Spread",e[e.Yield=2]="Yield",e[e.Assignment=3]="Assignment",e[e.Conditional=4]="Conditional",e[e.LogicalOR=5]="LogicalOR",e[e.Coalesce=5]="Coalesce",e[e.LogicalAND=6]="LogicalAND",e[e.BitwiseOR=7]="BitwiseOR",e[e.BitwiseXOR=8]="BitwiseXOR",e[e.BitwiseAND=9]="BitwiseAND",e[e.Equality=10]="Equality",e[e.Relational=11]="Relational",e[e.Shift=12]="Shift",e[e.Additive=13]="Additive",e[e.Multiplicative=14]="Multiplicative",e[e.Exponentiation=15]="Exponentiation",e[e.Unary=16]="Unary",e[e.Update=17]="Update",e[e.LeftHandSide=18]="LeftHandSide",e[e.Member=19]="Member",e[e.Primary=20]="Primary",e[e.Highest=20]="Highest",e[e.Lowest=0]="Lowest",e[e.Invalid=-1]="Invalid",e))(bn||{});function getOperatorPrecedence(e,t,n){switch(e){case 357:return 0;case 231:return 1;case 230:return 2;case 228:return 4;case 227:switch(t){case 28:return 0;case 64:case 65:case 66:case 68:case 67:case 69:case 70:case 71:case 72:case 73:case 74:case 79:case 75:case 76:case 77:case 78:return 3;default:return getBinaryOperatorPrecedence(t)}case 217:case 236:case 225:case 222:case 223:case 221:case 224:return 16;case 226:return 17;case 214:return 18;case 215:return n?19:18;case 216:case 212:case 213:case 237:return 19;case 235:case 239:return 11;case 110:case 108:case 80:case 81:case 106:case 112:case 97:case 9:case 10:case 11:case 210:case 211:case 219:case 220:case 232:case 14:case 15:case 229:case 218:case 233:case 285:case 286:case 289:return 20;default:return-1}}function getBinaryOperatorPrecedence(e){switch(e){case 61:case 57:return 5;case 56:return 6;case 52:return 7;case 53:return 8;case 51:return 9;case 35:case 36:case 37:case 38:return 10;case 30:case 32:case 33:case 34:case 104:case 103:case 130:case 152:return 11;case 48:case 49:case 50:return 12;case 40:case 41:return 13;case 42:case 44:case 45:return 14;case 43:return 15}return-1}function getSemanticJsxChildren(e){return filter(e,e=>{switch(e.kind){case 295:return!!e.expression;case 12:return!e.containsOnlyTriviaWhiteSpaces;default:return!0}})}function createDiagnosticCollection(){let e=[];const t=[],n=new Map;let r=!1;return{add:function add(i){let o;i.file?(o=n.get(i.file.fileName),o||(o=[],n.set(i.file.fileName,o),insertSorted(t,i.file.fileName,compareStringsCaseSensitive))):(r&&(r=!1,e=e.slice()),o=e);insertSorted(o,i,compareDiagnosticsSkipRelatedInformation,diagnosticsEqualityComparer)},lookup:function lookup(t){let r;r=t.file?n.get(t.file.fileName):e;if(!r)return;const i=binarySearch(r,t,identity,compareDiagnosticsSkipRelatedInformation);if(i>=0)return r[i];if(~i>0&&diagnosticsEqualityComparer(t,r[~i-1]))return r[~i-1];return},getGlobalDiagnostics:function getGlobalDiagnostics(){return r=!0,e},getDiagnostics:function getDiagnostics2(r){if(r)return n.get(r)||[];const i=flatMapToMutable(t,e=>n.get(e));if(!e.length)return i;return i.unshift(...e),i}}}var Cn=/\$\{/g;function escapeTemplateSubstitution(e){return e.replace(Cn,"\\${")}function containsInvalidEscapeFlag(e){return!!(2048&(e.templateFlags||0))}function hasInvalidEscape(e){return e&&!!(isNoSubstitutionTemplateLiteral(e)?containsInvalidEscapeFlag(e):containsInvalidEscapeFlag(e.head)||some(e.templateSpans,e=>containsInvalidEscapeFlag(e.literal)))}var En=/[\\"\u0000-\u001f\u2028\u2029\u0085]/g,Nn=/[\\'\u0000-\u001f\u2028\u2029\u0085]/g,kn=/\r\n|[\\`\u0000-\u0009\u000b-\u001f\u2028\u2029\u0085]/g,Fn=new Map(Object.entries({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\u0085":"\\u0085","\r\n":"\\r\\n"}));function encodeUtf16EscapeSequence(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function getReplacement(e,t,n){if(0===e.charCodeAt(0)){const r=n.charCodeAt(t+e.length);return r>=48&&r<=57?"\\x00":"\\0"}return Fn.get(e)||encodeUtf16EscapeSequence(e.charCodeAt(0))}function escapeString(e,t){const n=96===t?kn:39===t?Nn:En;return e.replace(n,getReplacement)}var Pn=/[^\u0000-\u007F]/g;function escapeNonAsciiString(e,t){return e=escapeString(e,t),Pn.test(e)?e.replace(Pn,e=>encodeUtf16EscapeSequence(e.charCodeAt(0))):e}var Dn=/["\u0000-\u001f\u2028\u2029\u0085]/g,In=/['\u0000-\u001f\u2028\u2029\u0085]/g,An=new Map(Object.entries({'"':""","'":"'"}));function getJsxAttributeStringReplacement(e){return 0===e.charCodeAt(0)?"�":An.get(e)||function encodeJsxCharacterEntity(e){return"&#x"+e.toString(16).toUpperCase()+";"}(e.charCodeAt(0))}function escapeJsxAttributeString(e,t){const n=39===t?In:Dn;return e.replace(n,getJsxAttributeStringReplacement)}function stripQuotes(e){const t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&function isQuoteOrBacktick(e){return 39===e||34===e||96===e}(e.charCodeAt(0))?e.substring(1,t-1):e}function isIntrinsicJsxName(e){const t=e.charCodeAt(0);return t>=97&&t<=122||e.includes("-")}var On=[""," "];function getIndentString(e){const t=On[1];for(let n=On.length;n<=e;n++)On.push(On[n-1]+t);return On[e]}function getIndentSize(){return On[1].length}function createTextWriter(e){var t,n,r,i,o,a=!1;function updateLineCountAndPosFor(e){const n=computeLineStarts(e);n.length>1?(i=i+n.length-1,o=t.length-e.length+last(n),r=o-t.length===0):r=!1}function writeText(e){e&&e.length&&(r&&(e=getIndentString(n)+e,r=!1),t+=e,updateLineCountAndPosFor(e))}function write(e){e&&(a=!1),writeText(e)}function reset2(){t="",n=0,r=!0,i=0,o=0,a=!1}return reset2(),{write,rawWrite:function rawWrite(e){void 0!==e&&(t+=e,updateLineCountAndPosFor(e),a=!1)},writeLiteral:function writeLiteral(e){e&&e.length&&write(e)},writeLine:function writeLine(n){r&&!n||(i++,o=(t+=e).length,r=!0,a=!1)},increaseIndent:()=>{n++},decreaseIndent:()=>{n--},getIndent:()=>n,getTextPos:()=>t.length,getLine:()=>i,getColumn:()=>r?n*getIndentSize():t.length-o,getText:()=>t,isAtStartOfLine:()=>r,hasTrailingComment:()=>a,hasTrailingWhitespace:()=>!!t.length&&isWhiteSpaceLike(t.charCodeAt(t.length-1)),clear:reset2,writeKeyword:write,writeOperator:write,writeParameter:write,writeProperty:write,writePunctuation:write,writeSpace:write,writeStringLiteral:write,writeSymbol:(e,t)=>write(e),writeTrailingSemicolon:write,writeComment:function writeComment(e){e&&(a=!0),writeText(e)}}}function getTrailingSemicolonDeferringWriter(e){let t=!1;function commitPendingTrailingSemicolon(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return{...e,writeTrailingSemicolon(){t=!0},writeLiteral(t){commitPendingTrailingSemicolon(),e.writeLiteral(t)},writeStringLiteral(t){commitPendingTrailingSemicolon(),e.writeStringLiteral(t)},writeSymbol(t,n){commitPendingTrailingSemicolon(),e.writeSymbol(t,n)},writePunctuation(t){commitPendingTrailingSemicolon(),e.writePunctuation(t)},writeKeyword(t){commitPendingTrailingSemicolon(),e.writeKeyword(t)},writeOperator(t){commitPendingTrailingSemicolon(),e.writeOperator(t)},writeParameter(t){commitPendingTrailingSemicolon(),e.writeParameter(t)},writeSpace(t){commitPendingTrailingSemicolon(),e.writeSpace(t)},writeProperty(t){commitPendingTrailingSemicolon(),e.writeProperty(t)},writeComment(t){commitPendingTrailingSemicolon(),e.writeComment(t)},writeLine(){commitPendingTrailingSemicolon(),e.writeLine()},increaseIndent(){commitPendingTrailingSemicolon(),e.increaseIndent()},decreaseIndent(){commitPendingTrailingSemicolon(),e.decreaseIndent()}}}function hostUsesCaseSensitiveFileNames(e){return!!e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames()}function hostGetCanonicalFileName(e){return createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(e))}function getResolvedExternalModuleName(e,t,n){return t.moduleName||getExternalModuleNameFromPath(e,t.fileName,n&&n.fileName)}function getCanonicalAbsolutePath(e,t){return e.getCanonicalFileName(getNormalizedAbsolutePath(t,e.getCurrentDirectory()))}function getExternalModuleNameFromDeclaration(e,t,n){const r=t.getExternalModuleFileFromDeclaration(n);if(!r||r.isDeclarationFile)return;const i=getExternalModuleName(n);return!i||!isStringLiteralLike(i)||pathIsRelative(i.text)||getCanonicalAbsolutePath(e,r.path).includes(getCanonicalAbsolutePath(e,ensureTrailingDirectorySeparator(e.getCommonSourceDirectory())))?getResolvedExternalModuleName(e,r):void 0}function getExternalModuleNameFromPath(e,t,n){const getCanonicalFileName=t=>e.getCanonicalFileName(t),r=toPath(n?getDirectoryPath(n):e.getCommonSourceDirectory(),e.getCurrentDirectory(),getCanonicalFileName),i=removeFileExtension(getRelativePathToDirectoryOrUrl(r,getNormalizedAbsolutePath(t,e.getCurrentDirectory()),r,getCanonicalFileName,!1));return n?ensurePathIsNonModuleName(i):i}function getOwnEmitOutputFilePath(e,t,n){const r=t.getCompilerOptions();let i;return i=r.outDir?removeFileExtension(getSourceFilePathInNewDir(e,t,r.outDir)):removeFileExtension(e),i+n}function getDeclarationEmitOutputFilePath(e,t){return getDeclarationEmitOutputFilePathWorker(e,t.getCompilerOptions(),t)}function getDeclarationEmitOutputFilePathWorker(e,t,n){const r=t.declarationDir||t.outDir,i=r?getSourceFilePathInNewDirWorker(e,r,n.getCurrentDirectory(),n.getCommonSourceDirectory(),e=>n.getCanonicalFileName(e)):e,o=getDeclarationEmitExtensionForPath(i);return removeFileExtension(i)+o}function getDeclarationEmitExtensionForPath(e){return fileExtensionIsOneOf(e,[".mjs",".mts"])?".d.mts":fileExtensionIsOneOf(e,[".cjs",".cts"])?".d.cts":fileExtensionIsOneOf(e,[".json"])?".d.json.ts":".d.ts"}function getPossibleOriginalInputExtensionForExtension(e){return fileExtensionIsOneOf(e,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:fileExtensionIsOneOf(e,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:fileExtensionIsOneOf(e,[".d.json.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}function getPossibleOriginalInputPathWithoutChangingExt(e,t,n,r){return n?resolvePath(r(),getRelativePathFromDirectory(n,e,t)):e}function getPathsBasePath(e,t){var n;if(e.paths)return e.baseUrl??h.checkDefined(e.pathsBasePath||(null==(n=t.getCurrentDirectory)?void 0:n.call(t)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}function getSourceFilesToEmit(e,t,n){const r=e.getCompilerOptions();if(r.outFile){const t=Vn(r),i=r.emitDeclarationOnly||2===t||4===t;return filter(e.getSourceFiles(),t=>(i||!isExternalModule(t))&&sourceFileMayBeEmitted(t,e,n))}return filter(void 0===t?e.getSourceFiles():[t],t=>sourceFileMayBeEmitted(t,e,n))}function sourceFileMayBeEmitted(e,t,n){const r=t.getCompilerOptions();if(r.noEmitForJsFiles&&isSourceFileJS(e))return!1;if(e.isDeclarationFile)return!1;if(t.isSourceFileFromExternalLibrary(e))return!1;if(n)return!0;if(t.isSourceOfProjectReferenceRedirect(e.fileName))return!1;if(!isJsonSourceFile(e))return!0;if(t.getRedirectFromSourceFile(e.fileName))return!1;if(r.outFile)return!0;if(!r.outDir)return!1;if(r.rootDir||r.composite&&r.configFilePath){const n=getNormalizedAbsolutePath(getCommonSourceDirectory(r,()=>[],t.getCurrentDirectory(),t.getCanonicalFileName),t.getCurrentDirectory()),i=getSourceFilePathInNewDirWorker(e.fileName,r.outDir,t.getCurrentDirectory(),n,t.getCanonicalFileName);if(0===comparePaths(e.fileName,i,t.getCurrentDirectory(),!t.useCaseSensitiveFileNames()))return!1}return!0}function getSourceFilePathInNewDir(e,t,n){return getSourceFilePathInNewDirWorker(e,n,t.getCurrentDirectory(),t.getCommonSourceDirectory(),e=>t.getCanonicalFileName(e))}function getSourceFilePathInNewDirWorker(e,t,n,r,i){let o=getNormalizedAbsolutePath(e,n);return o=0===i(o).indexOf(i(r))?o.substring(r.length):o,combinePaths(t,o)}function writeFile(e,t,n,r,i,o,a){e.writeFile(n,r,i,e=>{t.add(createCompilerDiagnostic(Ot.Could_not_write_file_0_Colon_1,n,e))},o,a)}function ensureDirectoriesExist(e,t,n){if(e.length>getRootLength(e)&&!n(e)){ensureDirectoriesExist(getDirectoryPath(e),t,n),t(e)}}function writeFileEnsuringDirectories(e,t,n,r,i,o){try{r(e,t,n)}catch{ensureDirectoriesExist(getDirectoryPath(normalizePath(e)),i,o),r(e,t,n)}}function getLineOfLocalPosition(e,t){return computeLineOfPosition(getLineStarts(e),t)}function getLineOfLocalPositionFromLineMap(e,t){return computeLineOfPosition(e,t)}function getFirstConstructorWithBody(e){return find(e.members,e=>isConstructorDeclaration(e)&&nodeIsPresent(e.body))}function getSetAccessorValueParameter(e){if(e&&e.parameters.length>0){const t=2===e.parameters.length&¶meterIsThisKeyword(e.parameters[0]);return e.parameters[t?1:0]}}function getSetAccessorTypeAnnotationNode(e){const t=getSetAccessorValueParameter(e);return t&&t.type}function getThisParameter(e){if(e.parameters.length&&!isJSDocSignature(e)){const t=e.parameters[0];if(parameterIsThisKeyword(t))return t}}function parameterIsThisKeyword(e){return isThisIdentifier(e.name)}function isThisIdentifier(e){return!!e&&80===e.kind&&identifierIsThisKeyword(e)}function isInTypeQuery(e){return!!findAncestor(e,e=>187===e.kind||80!==e.kind&&167!==e.kind&&"quit")}function isThisInTypeQuery(e){if(!isThisIdentifier(e))return!1;for(;isQualifiedName(e.parent)&&e.parent.left===e;)e=e.parent;return 187===e.parent.kind}function identifierIsThisKeyword(e){return"this"===e.escapedText}function getAllAccessorDeclarations(e,t){let n,r,i,o;return hasDynamicName(t)?(n=t,178===t.kind?i=t:179===t.kind?o=t:h.fail("Accessor has wrong kind")):forEach(e,e=>{if(isAccessor(e)&&isStatic(e)===isStatic(t)){getPropertyNameForPropertyNameNode(e.name)===getPropertyNameForPropertyNameNode(t.name)&&(n?r||(r=e):n=e,178!==e.kind||i||(i=e),179!==e.kind||o||(o=e))}}),{firstAccessor:n,secondAccessor:r,getAccessor:i,setAccessor:o}}function getEffectiveTypeAnnotationNode(e){if(!isInJSFile(e)&&isFunctionDeclaration(e))return;if(isTypeAliasDeclaration(e))return;const t=e.type;return t||!isInJSFile(e)?t:isJSDocPropertyLikeTag(e)?e.typeExpression&&e.typeExpression.type:getJSDocType(e)}function getTypeAnnotationNode(e){return e.type}function getEffectiveReturnTypeNode(e){return isJSDocSignature(e)?e.type&&e.type.typeExpression&&e.type.typeExpression.type:e.type||(isInJSFile(e)?getJSDocReturnType(e):void 0)}function getJSDocTypeParameterDeclarations(e){return flatMap(getJSDocTags(e),e=>function isNonTypeAliasTemplate(e){return isJSDocTemplateTag(e)&&!(321===e.parent.kind&&(e.parent.tags.some(isJSDocTypeAlias)||e.parent.tags.some(isJSDocOverloadTag)))}(e)?e.typeParameters:void 0)}function getEffectiveSetAccessorTypeAnnotationNode(e){const t=getSetAccessorValueParameter(e);return t&&getEffectiveTypeAnnotationNode(t)}function emitNewLineBeforeLeadingComments(e,t,n,r){!function emitNewLineBeforeLeadingCommentsOfPosition(e,t,n,r){r&&r.length&&n!==r[0].pos&&getLineOfLocalPositionFromLineMap(e,n)!==getLineOfLocalPositionFromLineMap(e,r[0].pos)&&t.writeLine()}(e,t,n.pos,r)}function emitNewLineBeforeLeadingCommentOfPosition(e,t,n,r){n!==r&&getLineOfLocalPositionFromLineMap(e,n)!==getLineOfLocalPositionFromLineMap(e,r)&&t.writeLine()}function emitDetachedComments(e,t,n,r,i,o,a){let s,c;if(a?0===i.pos&&(s=filter(getLeadingCommentRanges(e,i.pos),function isPinnedCommentLocal(t){return isPinnedComment(e,t.pos)})):s=getLeadingCommentRanges(e,i.pos),s){const a=[];let l;for(const e of s){if(l){const n=getLineOfLocalPositionFromLineMap(t,l.end);if(getLineOfLocalPositionFromLineMap(t,e.pos)>=n+2)break}a.push(e),l=e}if(a.length){const l=getLineOfLocalPositionFromLineMap(t,last(a).end);getLineOfLocalPositionFromLineMap(t,skipTrivia(e,i.pos))>=l+2&&(emitNewLineBeforeLeadingComments(t,n,i,s),function emitComments(e,t,n,r,i,o,a,s){if(r&&r.length>0){i&&n.writeSpace(" ");let c=!1;for(const i of r)c&&(n.writeSpace(" "),c=!1),s(e,t,n,i.pos,i.end,a),i.hasTrailingNewLine?n.writeLine():c=!0;c&&o&&n.writeSpace(" ")}}(e,t,n,a,!1,!0,o,r),c={nodePos:i.pos,detachedCommentEndPos:last(a).end})}}return c}function writeCommentRange(e,t,n,r,i,o){if(42===e.charCodeAt(r+1)){const a=computeLineAndCharacterOfPosition(t,r),s=t.length;let c;for(let l=r,d=a.line;l<i;d++){const p=d+1===s?e.length+1:t[d+1];if(l!==r){void 0===c&&(c=calculateIndent(e,t[a.line],r));const i=n.getIndent()*getIndentSize()-c+calculateIndent(e,l,p);if(i>0){let e=i%getIndentSize();const t=getIndentString((i-e)/getIndentSize());for(n.rawWrite(t);e;)n.rawWrite(" "),e--}else n.rawWrite("")}writeTrimmedCurrentLine(e,i,n,o,l,p),l=p}}else n.writeComment(e.substring(r,i))}function writeTrimmedCurrentLine(e,t,n,r,i,o){const a=Math.min(t,o-1),s=e.substring(i,a).trim();s?(n.writeComment(s),a!==t&&n.writeLine()):n.rawWrite(r)}function calculateIndent(e,t,n){let r=0;for(;t<n&&isWhiteSpaceSingleLine(e.charCodeAt(t));t++)9===e.charCodeAt(t)?r+=getIndentSize()-r%getIndentSize():r++;return r}function hasEffectiveModifiers(e){return 0!==getEffectiveModifierFlags(e)}function hasSyntacticModifiers(e){return 0!==getSyntacticModifierFlags(e)}function hasEffectiveModifier(e,t){return!!getSelectedEffectiveModifierFlags(e,t)}function hasSyntacticModifier(e,t){return!!getSelectedSyntacticModifierFlags(e,t)}function isStatic(e){return isClassElement(e)&&hasStaticModifier(e)||isClassStaticBlockDeclaration(e)}function hasStaticModifier(e){return hasSyntacticModifier(e,256)}function hasOverrideModifier(e){return hasEffectiveModifier(e,16)}function hasAbstractModifier(e){return hasSyntacticModifier(e,64)}function hasAmbientModifier(e){return hasSyntacticModifier(e,128)}function hasAccessorModifier(e){return hasSyntacticModifier(e,512)}function hasEffectiveReadonlyModifier(e){return hasEffectiveModifier(e,8)}function hasDecorators(e){return hasSyntacticModifier(e,32768)}function getSelectedEffectiveModifierFlags(e,t){return getEffectiveModifierFlags(e)&t}function getSelectedSyntacticModifierFlags(e,t){return getSyntacticModifierFlags(e)&t}function getModifierFlagsWorker(e,t,n){return e.kind>=0&&e.kind<=166?0:(536870912&e.modifierFlagsCache||(e.modifierFlagsCache=536870912|getSyntacticModifierFlagsNoCache(e)),n||t&&isInJSFile(e)?(268435456&e.modifierFlagsCache||!e.parent||(e.modifierFlagsCache|=268435456|getRawJSDocModifierFlagsNoCache(e)),selectEffectiveModifierFlags(e.modifierFlagsCache)):function selectSyntacticModifierFlags(e){return 65535&e}(e.modifierFlagsCache))}function getEffectiveModifierFlags(e){return getModifierFlagsWorker(e,!0)}function getEffectiveModifierFlagsAlwaysIncludeJSDoc(e){return getModifierFlagsWorker(e,!0,!0)}function getSyntacticModifierFlags(e){return getModifierFlagsWorker(e,!1)}function getRawJSDocModifierFlagsNoCache(e){let t=0;return e.parent&&!isParameter(e)&&(isInJSFile(e)&&(getJSDocPublicTagNoCache(e)&&(t|=8388608),getJSDocPrivateTagNoCache(e)&&(t|=16777216),getJSDocProtectedTagNoCache(e)&&(t|=33554432),getJSDocReadonlyTagNoCache(e)&&(t|=67108864),getJSDocOverrideTagNoCache(e)&&(t|=134217728)),getJSDocDeprecatedTagNoCache(e)&&(t|=65536)),t}function selectEffectiveModifierFlags(e){return 131071&e|(260046848&e)>>>23}function getEffectiveModifierFlagsNoCache(e){return getSyntacticModifierFlagsNoCache(e)|function getJSDocModifierFlagsNoCache(e){return selectEffectiveModifierFlags(getRawJSDocModifierFlagsNoCache(e))}(e)}function getSyntacticModifierFlagsNoCache(e){let t=canHaveModifiers(e)?modifiersToFlags(e.modifiers):0;return(8&e.flags||80===e.kind&&4096&e.flags)&&(t|=32),t}function modifiersToFlags(e){let t=0;if(e)for(const n of e)t|=modifierToFlag(n.kind);return t}function modifierToFlag(e){switch(e){case 126:return 256;case 125:return 1;case 124:return 4;case 123:return 2;case 128:return 64;case 129:return 512;case 95:return 32;case 138:return 128;case 87:return 4096;case 90:return 2048;case 134:return 1024;case 148:return 8;case 164:return 16;case 103:return 8192;case 147:return 16384;case 171:return 32768}return 0}function isBinaryLogicalOperator(e){return 57===e||56===e}function isLogicalOperator(e){return isBinaryLogicalOperator(e)||54===e}function isLogicalOrCoalescingAssignmentOperator(e){return 76===e||77===e||78===e}function isLogicalOrCoalescingAssignmentExpression(e){return isBinaryExpression(e)&&isLogicalOrCoalescingAssignmentOperator(e.operatorToken.kind)}function isLogicalOrCoalescingBinaryOperator(e){return isBinaryLogicalOperator(e)||61===e}function isLogicalOrCoalescingBinaryExpression(e){return isBinaryExpression(e)&&isLogicalOrCoalescingBinaryOperator(e.operatorToken.kind)}function isAssignmentOperator(e){return e>=64&&e<=79}function tryGetClassExtendingExpressionWithTypeArguments(e){const t=tryGetClassImplementingOrExtendingExpressionWithTypeArguments(e);return t&&!t.isImplements?t.class:void 0}function tryGetClassImplementingOrExtendingExpressionWithTypeArguments(e){if(isExpressionWithTypeArguments(e)){if(isHeritageClause(e.parent)&&isClassLike(e.parent.parent))return{class:e.parent.parent,isImplements:119===e.parent.token};if(isJSDocAugmentsTag(e.parent)){const t=getEffectiveJSDocHost(e.parent);if(t&&isClassLike(t))return{class:t,isImplements:!1}}}}function isAssignmentExpression(e,t){return isBinaryExpression(e)&&(t?64===e.operatorToken.kind:isAssignmentOperator(e.operatorToken.kind))&&isLeftHandSideExpression(e.left)}function isDestructuringAssignment(e){if(isAssignmentExpression(e,!0)){const t=e.left.kind;return 211===t||210===t}return!1}function isExpressionWithTypeArgumentsInClassExtendsClause(e){return void 0!==tryGetClassExtendingExpressionWithTypeArguments(e)}function isEntityNameExpression(e){return 80===e.kind||isPropertyAccessEntityNameExpression(e)}function getFirstIdentifier(e){switch(e.kind){case 80:return e;case 167:do{e=e.left}while(80!==e.kind);return e;case 212:do{e=e.expression}while(80!==e.kind);return e}}function isDottedName(e){return 80===e.kind||110===e.kind||108===e.kind||237===e.kind||212===e.kind&&isDottedName(e.expression)||218===e.kind&&isDottedName(e.expression)}function isPropertyAccessEntityNameExpression(e){return isPropertyAccessExpression(e)&&isIdentifier(e.name)&&isEntityNameExpression(e.expression)}function tryGetPropertyAccessOrIdentifierToString(e){if(isPropertyAccessExpression(e)){const t=tryGetPropertyAccessOrIdentifierToString(e.expression);if(void 0!==t)return t+"."+entityNameToString(e.name)}else if(isElementAccessExpression(e)){const t=tryGetPropertyAccessOrIdentifierToString(e.expression);if(void 0!==t&&isPropertyName(e.argumentExpression))return t+"."+getPropertyNameForPropertyNameNode(e.argumentExpression)}else{if(isIdentifier(e))return unescapeLeadingUnderscores(e.escapedText);if(isJsxNamespacedName(e))return getTextOfJsxNamespacedName(e)}}function isPrototypeAccess(e){return isBindableStaticAccessExpression(e)&&"prototype"===getElementOrPropertyAccessName(e)}function isRightSideOfQualifiedNameOrPropertyAccess(e){return 167===e.parent.kind&&e.parent.right===e||212===e.parent.kind&&e.parent.name===e||237===e.parent.kind&&e.parent.name===e}function isRightSideOfAccessExpression(e){return!!e.parent&&(isPropertyAccessExpression(e.parent)&&e.parent.name===e||isElementAccessExpression(e.parent)&&e.parent.argumentExpression===e)}function isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName(e){return isQualifiedName(e.parent)&&e.parent.right===e||isPropertyAccessExpression(e.parent)&&e.parent.name===e||isJSDocMemberName(e.parent)&&e.parent.right===e}function isInstanceOfExpression(e){return isBinaryExpression(e)&&104===e.operatorToken.kind}function isRightSideOfInstanceofExpression(e){return isInstanceOfExpression(e.parent)&&e===e.parent.right}function isEmptyObjectLiteral(e){return 211===e.kind&&0===e.properties.length}function isEmptyArrayLiteral(e){return 210===e.kind&&0===e.elements.length}function getLocalSymbolForExportDefault(e){if(function isExportDefaultSymbol(e){return e&&length(e.declarations)>0&&hasSyntacticModifier(e.declarations[0],2048)}(e)&&e.declarations)for(const t of e.declarations)if(t.localSymbol)return t.localSymbol}function tryExtractTSExtension(e){return find(gr,t=>fileExtensionIs(e,t))}var wn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function convertToBase64(e){let t="";const n=function getExpandedCharCodes(e){const t=[],n=e.length;for(let r=0;r<n;r++){const n=e.charCodeAt(r);n<128?t.push(n):n<2048?(t.push(n>>6|192),t.push(63&n|128)):n<65536?(t.push(n>>12|224),t.push(n>>6&63|128),t.push(63&n|128)):n<131072?(t.push(n>>18|240),t.push(n>>12&63|128),t.push(n>>6&63|128),t.push(63&n|128)):h.assert(!1,"Unexpected code point")}return t}(e);let r=0;const i=n.length;let o,a,s,c;for(;r<i;)o=n[r]>>2,a=(3&n[r])<<4|n[r+1]>>4,s=(15&n[r+1])<<2|n[r+2]>>6,c=63&n[r+2],r+1>=i?s=c=64:r+2>=i&&(c=64),t+=wn.charAt(o)+wn.charAt(a)+wn.charAt(s)+wn.charAt(c),r+=3;return t}function base64encode(e,t){return e&&e.base64encode?e.base64encode(t):convertToBase64(t)}function base64decode(e,t){if(e&&e.base64decode)return e.base64decode(t);const n=t.length,r=[];let i=0;for(;i<n&&t.charCodeAt(i)!==wn.charCodeAt(64);){const e=wn.indexOf(t[i]),n=wn.indexOf(t[i+1]),o=wn.indexOf(t[i+2]),a=wn.indexOf(t[i+3]),s=(63&e)<<2|n>>4&3,c=(15&n)<<4|o>>2&15,l=(3&o)<<6|63&a;0===c&&0!==o?r.push(s):0===l&&0!==a?r.push(s,c):r.push(s,c,l),i+=4}return function getStringFromExpandedCharCodes(e){let t="",n=0;const r=e.length;for(;n<r;){const r=e[n];if(r<128)t+=String.fromCharCode(r),n++;else if(192&~r)t+=String.fromCharCode(r),n++;else{let i=63&r;n++;let o=e[n];for(;128==(192&o);)i=i<<6|63&o,n++,o=e[n];t+=String.fromCharCode(i)}}return t}(r)}function readJsonOrUndefined(e,t){const n=isString(t)?t:t.readFile(e);if(!n)return;let r=tryParseJson(n);if(void 0===r){const t=parseConfigFileTextToJson(e,n);t.error||(r=t.config)}return r}function readJson(e,t){return readJsonOrUndefined(e,t)||{}}function tryParseJson(e){try{return JSON.parse(e)}catch{return}}function directoryProbablyExists(e,t){return!t.directoryExists||t.directoryExists(e)}var Ln="\r\n",Mn="\n";function getNewLineCharacter(e){switch(e.newLine){case 0:return Ln;case 1:case void 0:return Mn}}function createRange(e,t=e){return h.assert(t>=e||-1===t),{pos:e,end:t}}function moveRangeEnd(e,t){return createRange(e.pos,t)}function moveRangePos(e,t){return createRange(t,e.end)}function moveRangePastDecorators(e){const t=canHaveModifiers(e)?findLast(e.modifiers,isDecorator):void 0;return t&&!positionIsSynthesized(t.end)?moveRangePos(e,t.end):e}function moveRangePastModifiers(e){if(isPropertyDeclaration(e)||isMethodDeclaration(e))return moveRangePos(e,e.name.pos);const t=canHaveModifiers(e)?lastOrUndefined(e.modifiers):void 0;return t&&!positionIsSynthesized(t.end)?moveRangePos(e,t.end):moveRangePastDecorators(e)}function createTokenRange(e,t){return createRange(e,e+tokenToString(t).length)}function rangeIsOnSingleLine(e,t){return rangeStartIsOnSameLineAsRangeEnd(e,e,t)}function rangeStartPositionsAreOnSameLine(e,t,n){return positionsAreOnSameLine(getStartPositionOfRange(e,n,!1),getStartPositionOfRange(t,n,!1),n)}function rangeEndPositionsAreOnSameLine(e,t,n){return positionsAreOnSameLine(e.end,t.end,n)}function rangeStartIsOnSameLineAsRangeEnd(e,t,n){return positionsAreOnSameLine(getStartPositionOfRange(e,n,!1),t.end,n)}function rangeEndIsOnSameLineAsRangeStart(e,t,n){return positionsAreOnSameLine(e.end,getStartPositionOfRange(t,n,!1),n)}function getLinesBetweenRangeEndAndRangeStart(e,t,n,r){const i=getStartPositionOfRange(t,n,r);return getLinesBetweenPositions(n,e.end,i)}function getLinesBetweenRangeEndPositions(e,t,n){return getLinesBetweenPositions(n,e.end,t.end)}function isNodeArrayMultiLine(e,t){return!positionsAreOnSameLine(e.pos,e.end,t)}function positionsAreOnSameLine(e,t,n){return 0===getLinesBetweenPositions(n,e,t)}function getStartPositionOfRange(e,t,n){return positionIsSynthesized(e.pos)?-1:skipTrivia(t.text,e.pos,!1,n)}function getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter(e,t,n,r){const i=skipTrivia(n.text,e,!1,r),o=function getPreviousNonWhitespacePosition(e,t=0,n){for(;e-- >t;)if(!isWhiteSpaceLike(n.text.charCodeAt(e)))return e}(i,t,n);return getLinesBetweenPositions(n,o??t,i)}function getLinesBetweenPositionAndNextNonWhitespaceCharacter(e,t,n,r){const i=skipTrivia(n.text,e,!1,r);return getLinesBetweenPositions(n,e,Math.min(t,i))}function rangeContainsRange(e,t){return startEndContainsRange(e.pos,e.end,t)}function startEndContainsRange(e,t,n){return e<=n.pos&&t>=n.end}function isDeclarationNameOfEnumOrNamespace(e){const t=getParseTreeNode(e);if(t)switch(t.parent.kind){case 267:case 268:return t===t.parent.name}return!1}function getInitializedVariables(e){return filter(e.declarations,isInitializedVariable)}function isInitializedVariable(e){return isVariableDeclaration(e)&&void 0!==e.initializer}function isWatchSet(e){return e.watch&&hasProperty(e,"watch")}function closeFileWatcher(e){e.close()}function getCheckFlags(e){return 33554432&e.flags?e.links.checkFlags:0}function getDeclarationModifierFlagsFromSymbol(e,t=!1){if(e.valueDeclaration){const n=getCombinedModifierFlags(t&&e.declarations&&find(e.declarations,isSetAccessorDeclaration)||32768&e.flags&&find(e.declarations,isGetAccessorDeclaration)||e.valueDeclaration);return e.parent&&32&e.parent.flags?n:-8&n}if(6&getCheckFlags(e)){const t=e.links.checkFlags;return(1024&t?2:256&t?1:4)|(2048&t?256:0)}return 4194304&e.flags?257:0}function skipAlias(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e}function getCombinedLocalAndExportSymbolFlags(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}function isWriteOnlyAccess(e){return 1===accessKind(e)}function isWriteAccess(e){return 0!==accessKind(e)}function accessKind(e){const{parent:t}=e;switch(null==t?void 0:t.kind){case 218:case 210:return accessKind(t);case 226:case 225:const{operator:n}=t;return 46===n||47===n?2:0;case 227:const{left:r,operatorToken:i}=t;return r===e&&isAssignmentOperator(i.kind)?64===i.kind?1:2:0;case 212:return t.name!==e?0:accessKind(t);case 304:{const n=accessKind(t.parent);return e===t.name?function reverseAccessKind(e){switch(e){case 0:return 1;case 1:return 0;case 2:return 2;default:return h.assertNever(e)}}(n):n}case 305:return e===t.objectAssignmentInitializer?0:accessKind(t.parent);case 250:case 251:return e===t.initializer?1:0;default:return 0}}function compareDataObjects(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if("object"==typeof e[n]){if(!compareDataObjects(e[n],t[n]))return!1}else if("function"!=typeof e[n]&&e[n]!==t[n])return!1;return!0}function clearMap(e,t){e.forEach(t),e.clear()}function mutateMapSkippingNewValues(e,t,n){const{onDeleteValue:r,onExistingValue:i}=n;e.forEach((n,o)=>{var a;(null==t?void 0:t.has(o))?i&&i(n,null==(a=t.get)?void 0:a.call(t,o),o):(e.delete(o),r(n,o))})}function mutateMap(e,t,n){mutateMapSkippingNewValues(e,t,n);const{createNewValue:r}=n;null==t||t.forEach((t,n)=>{e.has(n)||e.set(n,r(n,t))})}function isAbstractConstructorSymbol(e){if(32&e.flags){const t=getClassLikeDeclarationOfSymbol(e);return!!t&&hasSyntacticModifier(t,64)}return!1}function getClassLikeDeclarationOfSymbol(e){var t;return null==(t=e.declarations)?void 0:t.find(isClassLike)}function getObjectFlags(e){return 3899393&e.flags?e.objectFlags:0}function isUMDExportSymbol(e){return!!e&&!!e.declarations&&!!e.declarations[0]&&isNamespaceExportDeclaration(e.declarations[0])}function showModuleSpecifier({moduleSpecifier:e}){return isStringLiteral(e)?e.text:getTextOfNode(e)}function getLastChild(e){let t;return forEachChild(e,e=>{nodeIsPresent(e)&&(t=e)},e=>{for(let n=e.length-1;n>=0;n--)if(nodeIsPresent(e[n])){t=e[n];break}}),t}function addToSeen(e,t){return!e.has(t)&&(e.add(t),!0)}function isObjectTypeDeclaration(e){return isClassLike(e)||isInterfaceDeclaration(e)||isTypeLiteralNode(e)}function isTypeNodeKind(e){return e>=183&&e<=206||133===e||159===e||150===e||163===e||151===e||136===e||154===e||155===e||116===e||157===e||146===e||141===e||234===e||313===e||314===e||315===e||316===e||317===e||318===e||319===e}function isAccessExpression(e){return 212===e.kind||213===e.kind}function getNameOfAccessExpression(e){return 212===e.kind?e.name:(h.assert(213===e.kind),e.argumentExpression)}function isNamedImportsOrExports(e){return 276===e.kind||280===e.kind}function getLeftmostAccessExpression(e){for(;isAccessExpression(e);)e=e.expression;return e}function forEachNameInAccessChainWalkingLeft(e,t){if(isAccessExpression(e.parent)&&isRightSideOfAccessExpression(e))return function walkAccessExpression(e){if(212===e.kind){const n=t(e.name);if(void 0!==n)return n}else if(213===e.kind){if(!isIdentifier(e.argumentExpression)&&!isStringLiteralLike(e.argumentExpression))return;{const n=t(e.argumentExpression);if(void 0!==n)return n}}if(isAccessExpression(e.expression))return walkAccessExpression(e.expression);if(isIdentifier(e.expression))return t(e.expression);return}(e.parent)}function getLeftmostExpression(e,t){for(;;){switch(e.kind){case 226:e=e.operand;continue;case 227:e=e.left;continue;case 228:e=e.condition;continue;case 216:e=e.tag;continue;case 214:if(t)return e;case 235:case 213:case 212:case 236:case 356:case 239:e=e.expression;continue}return e}}function Symbol4(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.lastAssignmentPos=void 0,this.links=void 0}function Type3(e,t){this.flags=t,(h.isDebugging||J)&&(this.checker=e)}function Signature2(e,t){this.flags=t,h.isDebugging&&(this.checker=e)}function Node4(e,t,n){this.pos=t,this.end=n,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function Token(e,t,n){this.pos=t,this.end=n,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function Identifier2(e,t,n){this.pos=t,this.end=n,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function SourceMapSource(e,t,n){this.fileName=e,this.text=t,this.skipTrivia=n||(e=>e)}var Rn,Bn={getNodeConstructor:()=>Node4,getTokenConstructor:()=>Token,getIdentifierConstructor:()=>Identifier2,getPrivateIdentifierConstructor:()=>Node4,getSourceFileConstructor:()=>Node4,getSymbolConstructor:()=>Symbol4,getTypeConstructor:()=>Type3,getSignatureConstructor:()=>Signature2,getSourceMapSourceConstructor:()=>SourceMapSource},jn=[];function addObjectAllocatorPatcher(e){jn.push(e),e(Bn)}function setObjectAllocator(e){Object.assign(Bn,e),forEach(jn,e=>e(Bn))}function formatStringFromArgs(e,t){return e.replace(/\{(\d+)\}/g,(e,n)=>""+h.checkDefined(t[+n]))}function setLocalizedDiagnosticMessages(e){Rn=e}function maybeSetLocalizedDiagnosticMessages(e){!Rn&&e&&(Rn=e())}function getLocaleSpecificMessage(e){return Rn&&Rn[e.key]||e.message}function createDetachedDiagnostic(e,t,n,r,i,...o){n+r>t.length&&(r=t.length-n),assertDiagnosticLocation(t,n,r);let a=getLocaleSpecificMessage(i);return some(o)&&(a=formatStringFromArgs(a,o)),{file:void 0,start:n,length:r,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,fileName:e}}function isDiagnosticWithDetachedLocation(e){return void 0===e.file&&void 0!==e.start&&void 0!==e.length&&"string"==typeof e.fileName}function attachFileToDiagnostic(e,t){const n=t.fileName||"",r=t.text.length;h.assertEqual(e.fileName,n),h.assertLessThanOrEqual(e.start,r),h.assertLessThanOrEqual(e.start+e.length,r);const i={file:t,start:e.start,length:e.length,messageText:e.messageText,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary};if(e.relatedInformation){i.relatedInformation=[];for(const o of e.relatedInformation)isDiagnosticWithDetachedLocation(o)&&o.fileName===n?(h.assertLessThanOrEqual(o.start,r),h.assertLessThanOrEqual(o.start+o.length,r),i.relatedInformation.push(attachFileToDiagnostic(o,t))):i.relatedInformation.push(o)}return i}function attachFileToDiagnostics(e,t){const n=[];for(const r of e)n.push(attachFileToDiagnostic(r,t));return n}function createFileDiagnostic(e,t,n,r,...i){assertDiagnosticLocation(e.text,t,n);let o=getLocaleSpecificMessage(r);return some(i)&&(o=formatStringFromArgs(o,i)),{file:e,start:t,length:n,messageText:o,category:r.category,code:r.code,reportsUnnecessary:r.reportsUnnecessary,reportsDeprecated:r.reportsDeprecated}}function formatMessage(e,...t){let n=getLocaleSpecificMessage(e);return some(t)&&(n=formatStringFromArgs(n,t)),n}function createCompilerDiagnostic(e,...t){let n=getLocaleSpecificMessage(e);return some(t)&&(n=formatStringFromArgs(n,t)),{file:void 0,start:void 0,length:void 0,messageText:n,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function createCompilerDiagnosticFromMessageChain(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}}function chainDiagnosticMessages(e,t,...n){let r=getLocaleSpecificMessage(t);return some(n)&&(r=formatStringFromArgs(r,n)),{messageText:r,category:t.category,code:t.code,next:void 0===e||Array.isArray(e)?e:[e]}}function concatenateDiagnosticMessageChains(e,t){let n=e;for(;n.next;)n=n.next[0];n.next=[t]}function getDiagnosticFilePath(e){return e.file?e.file.path:void 0}function compareDiagnostics(e,t){return compareDiagnosticsSkipRelatedInformation(e,t)||function compareRelatedInformation(e,t){if(!e.relatedInformation&&!t.relatedInformation)return 0;if(e.relatedInformation&&t.relatedInformation)return compareValues(t.relatedInformation.length,e.relatedInformation.length)||forEach(e.relatedInformation,(e,n)=>compareDiagnostics(e,t.relatedInformation[n]))||0;return e.relatedInformation?-1:1}(e,t)||0}function compareDiagnosticsSkipRelatedInformation(e,t){const n=getDiagnosticCode(e),r=getDiagnosticCode(t);return compareStringsCaseSensitive(getDiagnosticFilePath(e),getDiagnosticFilePath(t))||compareValues(e.start,t.start)||compareValues(e.length,t.length)||compareValues(n,r)||function compareMessageText(e,t){let n=getDiagnosticMessage(e),r=getDiagnosticMessage(t);"string"!=typeof n&&(n=n.messageText);"string"!=typeof r&&(r=r.messageText);const i="string"!=typeof e.messageText?e.messageText.next:void 0,o="string"!=typeof t.messageText?t.messageText.next:void 0;let a=compareStringsCaseSensitive(n,r);if(a)return a;if(a=function compareMessageChain(e,t){if(void 0===e&&void 0===t)return 0;if(void 0===e)return 1;if(void 0===t)return-1;return compareMessageChainSize(e,t)||compareMessageChainContent(e,t)}(i,o),a)return a;if(e.canonicalHead&&!t.canonicalHead)return-1;if(t.canonicalHead&&!e.canonicalHead)return 1;return 0}(e,t)||0}function compareMessageChainSize(e,t){if(void 0===e&&void 0===t)return 0;if(void 0===e)return 1;if(void 0===t)return-1;let n=compareValues(t.length,e.length);if(n)return n;for(let r=0;r<t.length;r++)if(n=compareMessageChainSize(e[r].next,t[r].next),n)return n;return 0}function compareMessageChainContent(e,t){let n;for(let r=0;r<t.length;r++){if(n=compareStringsCaseSensitive(e[r].messageText,t[r].messageText),n)return n;if(void 0!==e[r].next&&(n=compareMessageChainContent(e[r].next,t[r].next),n))return n}return 0}function diagnosticsEqualityComparer(e,t){const n=getDiagnosticCode(e),r=getDiagnosticCode(t),i=getDiagnosticMessage(e),o=getDiagnosticMessage(t);return 0===compareStringsCaseSensitive(getDiagnosticFilePath(e),getDiagnosticFilePath(t))&&0===compareValues(e.start,t.start)&&0===compareValues(e.length,t.length)&&0===compareValues(n,r)&&function messageTextEqualityComparer(e,t){const n="string"==typeof e?e:e.messageText,r="string"==typeof t?t:t.messageText;return 0===compareStringsCaseSensitive(n,r)}(i,o)}function getDiagnosticCode(e){var t;return(null==(t=e.canonicalHead)?void 0:t.code)||e.code}function getDiagnosticMessage(e){var t;return(null==(t=e.canonicalHead)?void 0:t.messageText)||e.messageText}function getLanguageVariant(e){return 4===e||2===e||1===e||6===e?1:0}function walkTreeForJSXTags(e){if(2&e.transformFlags)return isJsxOpeningLikeElement(e)||isJsxFragment(e)?e:forEachChild(e,walkTreeForJSXTags)}function isFileModuleFromUsingJSXTag(e){return e.isDeclarationFile?void 0:walkTreeForJSXTags(e)}function isFileForcedToBeModuleByFormat(e,t){return!(99!==getImpliedNodeFormatForEmitWorker(e,t)&&!fileExtensionIsOneOf(e.fileName,[".cjs",".cts",".mjs",".mts"])||e.isDeclarationFile)||void 0}function getSetExternalModuleIndicator(e){switch(Hn(e)){case 3:return e=>{e.externalModuleIndicator=isFileProbablyExternalModule(e)||!e.isDeclarationFile||void 0};case 1:return e=>{e.externalModuleIndicator=isFileProbablyExternalModule(e)};case 2:const t=[isFileProbablyExternalModule];4!==e.jsx&&5!==e.jsx||t.push(isFileModuleFromUsingJSXTag),t.push(isFileForcedToBeModuleByFormat);const n=or(...t);return t=>{t.externalModuleIndicator=n(t,e)}}}function importSyntaxAffectsModuleResolution(e){const t=qn(e);return 3<=t&&t<=99||Qn(e)||Xn(e)}var Jn={allowImportingTsExtensions:{dependencies:["rewriteRelativeImportExtensions"],computeValue:e=>!(!e.allowImportingTsExtensions&&!e.rewriteRelativeImportExtensions)},target:{dependencies:["module"],computeValue:e=>(0===e.target?void 0:e.target)??((100===e.module||101===e.module?9:102===e.module&&10)||199===e.module&&99||1)},module:{dependencies:["target"],computeValue:e=>"number"==typeof e.module?e.module:Jn.target.computeValue(e)>=2?5:1},moduleResolution:{dependencies:["module","target"],computeValue:e=>{let t=e.moduleResolution;if(void 0===t)switch(Jn.module.computeValue(e)){case 1:t=2;break;case 100:case 101:case 102:t=3;break;case 199:t=99;break;case 200:t=100;break;default:t=1}return t}},moduleDetection:{dependencies:["module","target"],computeValue:e=>{if(void 0!==e.moduleDetection)return e.moduleDetection;const t=Jn.module.computeValue(e);return 100<=t&&t<=199?3:2}},isolatedModules:{dependencies:["verbatimModuleSyntax"],computeValue:e=>!(!e.isolatedModules&&!e.verbatimModuleSyntax)},esModuleInterop:{dependencies:["module","target"],computeValue:e=>{if(void 0!==e.esModuleInterop)return e.esModuleInterop;switch(Jn.module.computeValue(e)){case 100:case 101:case 102:case 199:case 200:return!0}return!1}},allowSyntheticDefaultImports:{dependencies:["module","target","moduleResolution"],computeValue:e=>void 0!==e.allowSyntheticDefaultImports?e.allowSyntheticDefaultImports:Jn.esModuleInterop.computeValue(e)||4===Jn.module.computeValue(e)||100===Jn.moduleResolution.computeValue(e)},resolvePackageJsonExports:{dependencies:["moduleResolution"],computeValue:e=>{const t=Jn.moduleResolution.computeValue(e);if(!moduleResolutionSupportsPackageJsonExportsAndImports(t))return!1;if(void 0!==e.resolvePackageJsonExports)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}},resolvePackageJsonImports:{dependencies:["moduleResolution","resolvePackageJsonExports"],computeValue:e=>{const t=Jn.moduleResolution.computeValue(e);if(!moduleResolutionSupportsPackageJsonExportsAndImports(t))return!1;if(void 0!==e.resolvePackageJsonImports)return e.resolvePackageJsonImports;switch(t){case 3:case 99:case 100:return!0}return!1}},resolveJsonModule:{dependencies:["moduleResolution","module","target"],computeValue:e=>{if(void 0!==e.resolveJsonModule)return e.resolveJsonModule;switch(Jn.module.computeValue(e)){case 102:case 199:return!0}return 100===Jn.moduleResolution.computeValue(e)}},declaration:{dependencies:["composite"],computeValue:e=>!(!e.declaration&&!e.composite)},preserveConstEnums:{dependencies:["isolatedModules","verbatimModuleSyntax"],computeValue:e=>!(!e.preserveConstEnums&&!Jn.isolatedModules.computeValue(e))},incremental:{dependencies:["composite"],computeValue:e=>!(!e.incremental&&!e.composite)},declarationMap:{dependencies:["declaration","composite"],computeValue:e=>!(!e.declarationMap||!Jn.declaration.computeValue(e))},allowJs:{dependencies:["checkJs"],computeValue:e=>void 0===e.allowJs?!!e.checkJs:e.allowJs},useDefineForClassFields:{dependencies:["target","module"],computeValue:e=>void 0===e.useDefineForClassFields?Jn.target.computeValue(e)>=9:e.useDefineForClassFields},noImplicitAny:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"noImplicitAny")},noImplicitThis:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"noImplicitThis")},strictNullChecks:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"strictNullChecks")},strictFunctionTypes:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"strictFunctionTypes")},strictBindCallApply:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"strictBindCallApply")},strictPropertyInitialization:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"strictPropertyInitialization")},strictBuiltinIteratorReturn:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"strictBuiltinIteratorReturn")},alwaysStrict:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"alwaysStrict")},useUnknownInCatchVariables:{dependencies:["strict"],computeValue:e=>getStrictOptionValue(e,"useUnknownInCatchVariables")}},Wn=Jn,Un=Jn.allowImportingTsExtensions.computeValue,zn=Jn.target.computeValue,Vn=Jn.module.computeValue,qn=Jn.moduleResolution.computeValue,Hn=Jn.moduleDetection.computeValue,Kn=Jn.isolatedModules.computeValue,Gn=Jn.esModuleInterop.computeValue,$n=Jn.allowSyntheticDefaultImports.computeValue,Qn=Jn.resolvePackageJsonExports.computeValue,Xn=Jn.resolvePackageJsonImports.computeValue,Yn=Jn.resolveJsonModule.computeValue,Zn=Jn.declaration.computeValue,er=Jn.preserveConstEnums.computeValue,tr=Jn.incremental.computeValue,nr=Jn.declarationMap.computeValue,rr=Jn.allowJs.computeValue,ir=Jn.useDefineForClassFields.computeValue;function emitModuleKindIsNonNodeESM(e){return e>=5&&e<=99}function hasJsonModuleEmitEnabled(e){switch(Vn(e)){case 0:case 4:case 3:return!1}return!0}function unreachableCodeIsError(e){return!1===e.allowUnreachableCode}function unusedLabelIsError(e){return!1===e.allowUnusedLabels}function moduleResolutionSupportsPackageJsonExportsAndImports(e){return e>=3&&e<=99||100===e}function moduleSupportsImportAttributes(e){return 101<=e&&e<=199||200===e||99===e}function getStrictOptionValue(e,t){return void 0===e[t]?!!e.strict:!!e[t]}function getNameOfScriptTarget(e){return forEachEntry(Ki.type,(t,n)=>t===e?n:void 0)}function getEmitStandardClassFields(e){return!1!==e.useDefineForClassFields&&zn(e)>=9}function compilerOptionsAffectSemanticDiagnostics(e,t){return optionsHaveChanges(t,e,Xi)}function compilerOptionsAffectEmit(e,t){return optionsHaveChanges(t,e,Yi)}function compilerOptionsAffectDeclarationPath(e,t){return optionsHaveChanges(t,e,Zi)}function getCompilerOptionValue(e,t){return t.strictFlag?getStrictOptionValue(e,t.name):t.allowJsFlag?rr(e):e[t.name]}function getJSXTransformEnabled(e){const t=e.jsx;return 2===t||4===t||5===t}function getJSXImplicitImportBase(e,t){const n=null==t?void 0:t.pragmas.get("jsximportsource"),r=isArray(n)?n[n.length-1]:n,i=null==t?void 0:t.pragmas.get("jsxruntime"),o=isArray(i)?i[i.length-1]:i;if("classic"!==(null==o?void 0:o.arguments.factory))return 4===e.jsx||5===e.jsx||e.jsxImportSource||r||"automatic"===(null==o?void 0:o.arguments.factory)?(null==r?void 0:r.arguments.factory)||e.jsxImportSource||"react":void 0}function getJSXRuntimeImport(e,t){return e?`${e}/${5===t.jsx?"jsx-dev-runtime":"jsx-runtime"}`:void 0}function hasZeroOrOneAsteriskCharacter(e){let t=!1;for(let n=0;n<e.length;n++)if(42===e.charCodeAt(n)){if(t)return!1;t=!0}return!0}function createSymlinkCache(e,t){let n,r,i,o=!1;return{getSymlinkedFiles:()=>i,getSymlinkedDirectories:()=>n,getSymlinkedDirectoriesByRealpath:()=>r,setSymlinkedFile:(e,t)=>(i||(i=new Map)).set(e,t),setSymlinkedDirectory:(i,o)=>{let a=toPath(i,e,t);containsIgnoredPath(a)||(a=ensureTrailingDirectorySeparator(a),!1===o||(null==n?void 0:n.has(a))||(r||(r=createMultiMap())).add(o.realPath,i),(n||(n=new Map)).set(a,o))},setSymlinksFromResolutions(e,t,n){h.assert(!o),o=!0,e(e=>processResolution(this,e.resolvedModule)),t(e=>processResolution(this,e.resolvedTypeReferenceDirective)),n.forEach(e=>processResolution(this,e.resolvedTypeReferenceDirective))},hasProcessedResolutions:()=>o,setSymlinksFromResolution(e){processResolution(this,e)},hasAnySymlinks:function hasAnySymlinks(){return!!(null==i?void 0:i.size)||!!n&&!!forEachEntry(n,e=>!!e)}};function processResolution(n,r){if(!r||!r.originalPath||!r.resolvedFileName)return;const{resolvedFileName:i,originalPath:o}=r;n.setSymlinkedFile(toPath(o,e,t),i);const[a,s]=function guessDirectorySymlink(e,t,n,r){const i=getPathComponents(getNormalizedAbsolutePath(e,n)),o=getPathComponents(getNormalizedAbsolutePath(t,n));let a=!1;for(;i.length>=2&&o.length>=2&&!isNodeModulesOrScopedPackageDirectory(i[i.length-2],r)&&!isNodeModulesOrScopedPackageDirectory(o[o.length-2],r)&&r(i[i.length-1])===r(o[o.length-1]);)i.pop(),o.pop(),a=!0;return a?[getPathFromPathComponents(i),getPathFromPathComponents(o)]:void 0}(i,o,e,t)||l;a&&s&&n.setSymlinkedDirectory(s,{real:ensureTrailingDirectorySeparator(a),realPath:ensureTrailingDirectorySeparator(toPath(a,e,t))})}}function isNodeModulesOrScopedPackageDirectory(e,t){return void 0!==e&&("node_modules"===t(e)||startsWith(e,"@"))}function tryRemoveDirectoryPrefix(e,t,n){const r=tryRemovePrefix(e,t,n);return void 0===r?void 0:function stripLeadingDirectorySeparator(e){return isAnyDirectorySeparator(e.charCodeAt(0))?e.slice(1):void 0}(r)}var ar=/[^\w\s/]/g;function regExpEscape(e){return e.replace(ar,escapeRegExpCharacter)}function escapeRegExpCharacter(e){return"\\"+e}var sr=[42,63],cr=`(?!(?:${["node_modules","bower_components","jspm_packages"].join("|")})(?:/|$))`,lr={singleAsteriskRegexFragment:"(?:[^./]|(?:\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(?:/${cr}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>replaceWildcardCharacter(e,lr.singleAsteriskRegexFragment)},dr={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(?:/${cr}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>replaceWildcardCharacter(e,dr.singleAsteriskRegexFragment)},pr={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(?:/.+?)?",replaceWildcardCharacter:e=>replaceWildcardCharacter(e,pr.singleAsteriskRegexFragment)},ur={files:lr,directories:dr,exclude:pr};function getRegularExpressionForWildcard(e,t,n){const r=getRegularExpressionsForWildcards(e,t,n);if(!r||!r.length)return;return`^(?:${r.map(e=>`(?:${e})`).join("|")})${"exclude"===n?"(?:$|/)":"$"}`}function getRegularExpressionsForWildcards(e,t,n){if(void 0!==e&&0!==e.length)return flatMap(e,e=>e&&getSubPatternFromSpec(e,t,n,ur[n]))}function isImplicitGlob(e){return!/[.*?]/.test(e)}function getPatternFromSpec(e,t,n){const r=e&&getSubPatternFromSpec(e,t,n,ur[n]);return r&&`^(?:${r})${"exclude"===n?"(?:$|/)":"$"}`}function getSubPatternFromSpec(e,t,n,{singleAsteriskRegexFragment:r,doubleAsteriskRegexFragment:i,replaceWildcardCharacter:o}=ur[n]){let a="",s=!1;const c=getNormalizedPathComponents(e,t),l=last(c);if("exclude"!==n&&"**"===l)return;c[0]=removeTrailingDirectorySeparator(c[0]),isImplicitGlob(l)&&c.push("**","*");let d=0;for(let e of c){if("**"===e)a+=i;else if("directories"===n&&(a+="(?:",d++),s&&(a+=Ft),"exclude"!==n){let t="";42===e.charCodeAt(0)?(t+="(?:[^./]"+r+")?",e=e.substr(1)):63===e.charCodeAt(0)&&(t+="[^./]",e=e.substr(1)),t+=e.replace(ar,o),t!==e&&(a+=cr),a+=t}else a+=e.replace(ar,o);s=!0}for(;d>0;)a+=")?",d--;return a}function replaceWildcardCharacter(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function getFileMatcherPatterns(e,t,n,r,i){e=normalizePath(e);const o=combinePaths(i=normalizePath(i),e);return{includeFilePatterns:map(getRegularExpressionsForWildcards(n,o,"files"),e=>`^${e}$`),includeFilePattern:getRegularExpressionForWildcard(n,o,"files"),includeDirectoryPattern:getRegularExpressionForWildcard(n,o,"directories"),excludePattern:getRegularExpressionForWildcard(t,o,"exclude"),basePaths:getBasePaths(e,n,r)}}function getRegexFromPattern(e,t){return new RegExp(e,t?"":"i")}function matchFiles(e,t,n,r,i,o,a,s,c){e=normalizePath(e),o=normalizePath(o);const l=getFileMatcherPatterns(e,n,r,i,o),d=l.includeFilePatterns&&l.includeFilePatterns.map(e=>getRegexFromPattern(e,i)),p=l.includeDirectoryPattern&&getRegexFromPattern(l.includeDirectoryPattern,i),u=l.excludePattern&&getRegexFromPattern(l.excludePattern,i),m=d?d.map(()=>[]):[[]],_=new Map,f=createGetCanonicalFileName(i);for(const e of l.basePaths)visitDirectory(e,combinePaths(o,e),a);return flatten(m);function visitDirectory(e,n,r){const i=f(c(n));if(_.has(i))return;_.set(i,!0);const{files:o,directories:a}=s(e);for(const r of toSorted(o,compareStringsCaseSensitive)){const i=combinePaths(e,r),o=combinePaths(n,r);if((!t||fileExtensionIsOneOf(i,t))&&(!u||!u.test(o)))if(d){const e=findIndex(d,e=>e.test(o));-1!==e&&m[e].push(i)}else m[0].push(i)}if(void 0===r||0!==--r)for(const t of toSorted(a,compareStringsCaseSensitive)){const i=combinePaths(e,t),o=combinePaths(n,t);p&&!p.test(o)||u&&u.test(o)||visitDirectory(i,o,r)}}}function getBasePaths(e,t,n){const r=[e];if(t){const i=[];for(const n of t){const t=isRootedDiskPath(n)?n:normalizePath(combinePaths(e,n));i.push(getIncludeBasePath(t))}i.sort(getStringComparer(!n));for(const t of i)every(r,r=>!containsPath(r,t,e,!n))&&r.push(t)}return r}function getIncludeBasePath(e){const t=indexOfAnyCharCode(e,sr);return t<0?hasExtension(e)?removeTrailingDirectorySeparator(getDirectoryPath(e)):e:e.substring(0,e.lastIndexOf(Ft,t))}function ensureScriptKind(e,t){return t||getScriptKindFromFileName(e)||3}function getScriptKindFromFileName(e){switch(e.substr(e.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}var mr=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],_r=flatten(mr),fr=[...mr,[".json"]],gr=[".d.ts",".d.cts",".d.mts",".cts",".mts",".ts",".tsx"],yr=flatten([[".js",".jsx"],[".mjs"],[".cjs"]]),hr=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],Tr=[...hr,[".json"]],Sr=[".d.ts",".d.cts",".d.mts"],xr=[".ts",".cts",".mts",".tsx"],vr=[".mts",".d.mts",".mjs",".cts",".d.cts",".cjs"];function getSupportedExtensions(e,t){const n=e&&rr(e);if(!t||0===t.length)return n?hr:mr;const r=n?hr:mr,i=flatten(r);return[...r,...mapDefined(t,e=>7===e.scriptKind||n&&function isJSLike(e){return 1===e||2===e}(e.scriptKind)&&!i.includes(e.extension)?[e.extension]:void 0)]}function getSupportedExtensionsWithJsonIfResolveJsonModule(e,t){return e&&Yn(e)?t===hr?Tr:t===mr?fr:[...t,[".json"]]:t}function hasJSFileExtension(e){return some(yr,t=>fileExtensionIs(e,t))}function hasTSFileExtension(e){return some(_r,t=>fileExtensionIs(e,t))}function hasImplementationTSFileExtension(e){return some(xr,t=>fileExtensionIs(e,t))&&!isDeclarationFileName(e)}var br=(e=>(e[e.Minimal=0]="Minimal",e[e.Index=1]="Index",e[e.JsExtension=2]="JsExtension",e[e.TsExtension=3]="TsExtension",e))(br||{});function getModuleSpecifierEndingPreference(e,t,n,r){const i=qn(n),o=3<=i&&i<=99;return"js"===e||99===t&&o?shouldAllowImportingTsExtension(n)&&2!==inferPreference()?3:2:"minimal"===e?0:"index"===e?1:shouldAllowImportingTsExtension(n)?inferPreference():r&&function usesExtensionsOnImports({imports:e},t=or(hasJSFileExtension,hasTSFileExtension)){return firstDefined(e,({text:e})=>pathIsRelative(e)&&!fileExtensionIsOneOf(e,vr)?t(e):void 0)||!1}(r)?2:0;function inferPreference(){let e=!1;const i=(null==r?void 0:r.imports.length)?r.imports:r&&isSourceFileJS(r)?function getRequiresAtTopOfFile(e){let t,n=0;for(const r of e.statements){if(n>3)break;isRequireVariableStatement(r)?t=concatenate(t,r.declarationList.declarations.map(e=>e.initializer)):isExpressionStatement(r)&&isRequireCall(r.expression,!0)?t=append(t,r.expression):n++}return t||l}(r).map(e=>e.arguments[0]):l;for(const a of i)if(pathIsRelative(a.text)){if(o&&1===t&&99===getModeForUsageLocation(r,a,n))continue;if(fileExtensionIsOneOf(a.text,vr))continue;if(hasTSFileExtension(a.text))return 3;hasJSFileExtension(a.text)&&(e=!0)}return e?2:0}}function isSupportedSourceFileName(e,t,n){if(!e)return!1;const r=getSupportedExtensions(t,n);for(const n of flatten(getSupportedExtensionsWithJsonIfResolveJsonModule(t,r)))if(fileExtensionIs(e,n))return!0;return!1}function numberOfDirectorySeparators(e){const t=e.match(/\//g);return t?t.length:0}function compareNumberOfDirectorySeparators(e,t){return compareValues(numberOfDirectorySeparators(e),numberOfDirectorySeparators(t))}var Cr=[".d.ts",".d.mts",".d.cts",".mjs",".mts",".cjs",".cts",".ts",".js",".tsx",".jsx",".json"];function removeFileExtension(e){for(const t of Cr){const n=tryRemoveExtension(e,t);if(void 0!==n)return n}return e}function tryRemoveExtension(e,t){return fileExtensionIs(e,t)?removeExtension(e,t):void 0}function removeExtension(e,t){return e.substring(0,e.length-t.length)}function changeExtension(e,t){return changeAnyExtension(e,t,Cr,!1)}function tryParsePattern(e){const t=e.indexOf("*");return-1===t?e:-1!==e.indexOf("*",t+1)?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}var Er=new WeakMap;function tryParsePatterns(e){let t,n,r=Er.get(e);if(void 0!==r)return r;const i=getOwnKeys(e);for(const e of i){const r=tryParsePattern(e);void 0!==r&&("string"==typeof r?(t??(t=new Set)).add(r):(n??(n=[])).push(r))}return Er.set(e,r={matchableStringSet:t,patterns:n}),r}function positionIsSynthesized(e){return!(e>=0)}function extensionIsTS(e){return".ts"===e||".tsx"===e||".d.ts"===e||".cts"===e||".mts"===e||".d.mts"===e||".d.cts"===e||startsWith(e,".d.")&&endsWith(e,".ts")}function resolutionExtensionIsTSOrJson(e){return extensionIsTS(e)||".json"===e}function extensionFromPath(e){const t=tryGetExtensionFromPath2(e);return void 0!==t?t:h.fail(`File ${e} has unknown extension.`)}function isAnySupportedFileExtension(e){return void 0!==tryGetExtensionFromPath2(e)}function tryGetExtensionFromPath2(e){return find(Cr,t=>fileExtensionIs(e,t))}function isCheckJsEnabledForFile(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}var Nr={files:l,directories:l};function matchPatternOrExact(e,t){const{matchableStringSet:n,patterns:r}=e;return(null==n?void 0:n.has(t))?t:void 0!==r&&0!==r.length?findBestPatternMatch(r,e=>e,t):void 0}function sliceAfter(e,t){const n=e.indexOf(t);return h.assert(-1!==n),e.slice(n)}function addRelatedInfo(e,...t){return t.length?(e.relatedInformation||(e.relatedInformation=[]),h.assert(e.relatedInformation!==l,"Diagnostic had empty array singleton for related info, but is still being constructed!"),e.relatedInformation.push(...t),e):e}function minAndMax(e,t){h.assert(0!==e.length);let n=t(e[0]),r=n;for(let i=1;i<e.length;i++){const o=t(e[i]);o<n?n=o:o>r&&(r=o)}return{min:n,max:r}}function rangeOfNode(e){return{pos:getTokenPosOfNode(e),end:e.end}}function rangeOfTypeParameters(e,t){return{pos:t.pos-1,end:Math.min(e.text.length,skipTrivia(e.text,t.end)+1)}}function skipTypeChecking(e,t,n){return skipTypeCheckingWorker(e,t,n,!1)}function skipTypeCheckingIgnoringNoCheck(e,t,n){return skipTypeCheckingWorker(e,t,n,!0)}function skipTypeCheckingWorker(e,t,n,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||!r&&t.noCheck||n.isSourceOfProjectReferenceRedirect(e.fileName)||!canIncludeBindAndCheckDiagnostics(e,t)}function canIncludeBindAndCheckDiagnostics(e,t){if(e.checkJsDirective&&!1===e.checkJsDirective.enabled)return!1;if(3===e.scriptKind||4===e.scriptKind||5===e.scriptKind)return!0;const n=(1===e.scriptKind||2===e.scriptKind)&&isCheckJsEnabledForFile(e,t);return isPlainJsFile(e,t.checkJs)||n||7===e.scriptKind}function isJsonEqual(e,t){return e===t||"object"==typeof e&&null!==e&&"object"==typeof t&&null!==t&&equalOwnProperties(e,t,isJsonEqual)}function parsePseudoBigInt(e){let t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:const n=e.length-1;let r=0;for(;48===e.charCodeAt(r);)r++;return e.slice(r,n)||"0"}const n=e.length-1,r=(n-2)*t,i=new Uint16Array((r>>>4)+(15&r?1:0));for(let r=n-1,o=0;r>=2;r--,o+=t){const t=o>>>4,n=e.charCodeAt(r),a=(n<=57?n-48:10+n-(n<=70?65:97))<<(15&o);i[t]|=a;const s=a>>>16;s&&(i[t+1]|=s)}let o="",a=i.length-1,s=!0;for(;s;){let e=0;s=!1;for(let t=a;t>=0;t--){const n=e<<16|i[t],r=n/10|0;i[t]=r,e=n-10*r,r&&!s&&(a=t,s=!0)}o=e+o}return o}function pseudoBigIntToString({negative:e,base10Value:t}){return(e&&"0"!==t?"-":"")+t}function parseBigInt(e){if(isValidBigIntString(e,!1))return parseValidBigInt(e)}function parseValidBigInt(e){const t=e.startsWith("-");return{negative:t,base10Value:parsePseudoBigInt(`${t?e.slice(1):e}n`)}}function isValidBigIntString(e,t){if(""===e)return!1;const n=createScanner(99,!1);let r=!0;n.setOnError(()=>r=!1),n.setText(e+"n");let i=n.scan();const o=41===i;o&&(i=n.scan());const a=n.getTokenFlags();return r&&10===i&&n.getTokenEnd()===e.length+1&&!(512&a)&&(!t||e===pseudoBigIntToString({negative:o,base10Value:parsePseudoBigInt(n.getTokenValue())}))}function isValidTypeOnlyAliasUseSite(e){return!!(33554432&e.flags)||isInJSDoc(e)||isPartOfTypeQuery(e)||function isIdentifierInNonEmittingHeritageClause(e){if(80!==e.kind)return!1;const t=findAncestor(e.parent,e=>{switch(e.kind){case 299:return!0;case 212:case 234:return!1;default:return"quit"}});return 119===(null==t?void 0:t.token)||265===(null==t?void 0:t.parent.kind)}(e)||function isPartOfPossiblyValidTypeOrAbstractComputedPropertyName(e){for(;80===e.kind||212===e.kind;)e=e.parent;if(168!==e.kind)return!1;if(hasSyntacticModifier(e.parent,64))return!0;const t=e.parent.parent.kind;return 265===t||188===t}(e)||!(isExpressionNode(e)||function isShorthandPropertyNameUseSite(e){return isIdentifier(e)&&isShorthandPropertyAssignment(e.parent)&&e.parent.name===e}(e))}function isIdentifierTypeReference(e){return isTypeReferenceNode(e)&&isIdentifier(e.typeName)}function arrayIsHomogeneous(e,t=equateValues){if(e.length<2)return!0;const n=e[0];for(let r=1,i=e.length;r<i;r++){if(!t(n,e[r]))return!1}return!0}function setTextRangePos(e,t){return e.pos=t,e}function setTextRangeEnd(e,t){return e.end=t,e}function setTextRangePosEnd(e,t,n){return setTextRangeEnd(setTextRangePos(e,t),n)}function setTextRangePosWidth(e,t,n){return setTextRangePosEnd(e,t,t+n)}function setNodeFlags(e,t){return e&&(e.flags=t),e}function setParent(e,t){return e&&t&&(e.parent=t),e}function setParentRecursive(e,t){return e?(forEachChildRecursively(e,isJSDocNode(e)?bindParentToChildIgnoringJSDoc:function bindParentToChild(e,t){return bindParentToChildIgnoringJSDoc(e,t)||function bindJSDoc(e){if(hasJSDocNodes(e))for(const t of e.jsDoc)bindParentToChildIgnoringJSDoc(t,e),forEachChildRecursively(t,bindParentToChildIgnoringJSDoc)}(e)}),e):e;function bindParentToChildIgnoringJSDoc(e,n){if(t&&e.parent===n)return"skip";setParent(e,n)}}function isPackedElement(e){return!isOmittedExpression(e)}function isPackedArrayLiteral(e){return isArrayLiteralExpression(e)&&every(e.elements,isPackedElement)}function expressionResultIsUnused(e){for(h.assertIsDefined(e.parent);;){const t=e.parent;if(isParenthesizedExpression(t))e=t;else{if(isExpressionStatement(t)||isVoidExpression(t)||isForStatement(t)&&(t.initializer===e||t.incrementor===e))return!0;if(isCommaListExpression(t)){if(e!==last(t.elements))return!0;e=t}else{if(!isBinaryExpression(t)||28!==t.operatorToken.kind)return!1;if(e===t.left)return!0;e=t}}}}function containsIgnoredPath(e){return some(Ct,t=>e.includes(t))}function getContainingNodeArray(e){if(!e.parent)return;switch(e.kind){case 169:const{parent:t}=e;return 196===t.kind?void 0:t.typeParameters;case 170:return e.parent.parameters;case 205:case 240:return e.parent.templateSpans;case 171:{const{parent:t}=e;return canHaveDecorators(t)?t.modifiers:void 0}case 299:return e.parent.heritageClauses}const{parent:t}=e;if(isJSDocTag(e))return isJSDocTypeLiteral(e.parent)?void 0:e.parent.tags;switch(t.kind){case 188:case 265:return isTypeElement(e)?t.members:void 0;case 193:case 194:return t.types;case 190:case 210:case 357:case 276:case 280:return t.elements;case 211:case 293:return t.properties;case 214:case 215:return isTypeNode(e)?t.typeArguments:t.expression===e?void 0:t.arguments;case 285:case 289:return isJsxChild(e)?t.children:void 0;case 287:case 286:return isTypeNode(e)?t.typeArguments:void 0;case 242:case 297:case 298:case 269:case 308:return t.statements;case 270:return t.clauses;case 264:case 232:return isClassElement(e)?t.members:void 0;case 267:return isEnumMember(e)?t.members:void 0}}function hasContextSensitiveParameters(e){if(!e.typeParameters){if(some(e.parameters,e=>!getEffectiveTypeAnnotationNode(e)))return!0;if(220!==e.kind){const t=firstOrUndefined(e.parameters);if(!t||!parameterIsThisKeyword(t))return!0}}return!1}function isInfinityOrNaNString(e){return"Infinity"===e||"-Infinity"===e||"NaN"===e}function isCatchClauseVariableDeclaration(e){return 261===e.kind&&300===e.parent.kind}function isFunctionExpressionOrArrowFunction(e){return 219===e.kind||220===e.kind}function escapeSnippetText(e){return e.replace(/\$/g,()=>"\\$")}function isNumericLiteralName(e){return(+e).toString()===e}function createPropertyNameNodeForIdentifierOrLiteral(e,t,n,r,i){const o=i&&"new"===e;return!o&&isIdentifierText(e,t)?Wr.createIdentifier(e):!r&&!o&&isNumericLiteralName(e)&&+e>=0?Wr.createNumericLiteral(+e):Wr.createStringLiteral(e,!!n)}function isThisTypeParameter(e){return!!(262144&e.flags&&e.isThisType)}function getNodeModulePathParts(e){let t,n=0,r=0,i=0,o=0;var a;(a=t||(t={}))[a.BeforeNodeModules=0]="BeforeNodeModules",a[a.NodeModules=1]="NodeModules",a[a.Scope=2]="Scope",a[a.PackageContent=3]="PackageContent";let s=0,c=0,l=0;for(;c>=0;)switch(s=c,c=e.indexOf("/",s+1),l){case 0:e.indexOf(Mo,s)===s&&(n=s,r=c,l=1);break;case 1:case 2:1===l&&"@"===e.charAt(s+1)?l=2:(i=c,l=3);break;case 3:l=e.indexOf(Mo,s)===s?1:3}return o=s,l>1?{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:r,packageRootIndex:i,fileNameIndex:o}:void 0}function isTypeDeclaration(e){switch(e.kind){case 169:case 264:case 265:case 266:case 267:case 347:case 339:case 341:return!0;case 274:return 156===e.phaseModifier;case 277:return 156===e.parent.parent.phaseModifier;case 282:return e.parent.parent.isTypeOnly;default:return!1}}function canHaveExportModifier(e){return isEnumDeclaration(e)||isVariableStatement(e)||isFunctionDeclaration(e)||isClassDeclaration(e)||isInterfaceDeclaration(e)||isTypeDeclaration(e)||isModuleDeclaration(e)&&!isExternalModuleAugmentation(e)&&!isGlobalScopeAugmentation(e)}function isOptionalJSDocPropertyLikeTag(e){if(!isJSDocPropertyLikeTag(e))return!1;const{isBracketed:t,typeExpression:n}=e;return t||!!n&&317===n.type.kind}function canUsePropertyAccess(e,t){if(0===e.length)return!1;const n=e.charCodeAt(0);return 35===n?e.length>1&&isIdentifierStart(e.charCodeAt(1),t):isIdentifierStart(n,t)}function hasTabstop(e){var t;return 0===(null==(t=getSnippetElement(e))?void 0:t.kind)}function isJSDocOptionalParameter(e){return isInJSFile(e)&&(e.type&&317===e.type.kind||getJSDocParameterTags(e).some(isOptionalJSDocPropertyLikeTag))}function isOptionalDeclaration(e){switch(e.kind){case 173:case 172:return!!e.questionToken;case 170:return!!e.questionToken||isJSDocOptionalParameter(e);case 349:case 342:return isOptionalJSDocPropertyLikeTag(e);default:return!1}}function isNonNullAccess(e){const t=e.kind;return(212===t||213===t)&&isNonNullExpression(e.expression)}function isJSDocSatisfiesExpression(e){return isInJSFile(e)&&isParenthesizedExpression(e)&&hasJSDocNodes(e)&&!!getJSDocSatisfiesTag(e)}function getJSDocSatisfiesExpressionType(e){return h.checkDefined(tryGetJSDocSatisfiesTypeNode(e))}function tryGetJSDocSatisfiesTypeNode(e){const t=getJSDocSatisfiesTag(e);return t&&t.typeExpression&&t.typeExpression.type}function getEscapedTextOfJsxAttributeName(e){return isIdentifier(e)?e.escapedText:getEscapedTextOfJsxNamespacedName(e)}function getTextOfJsxAttributeName(e){return isIdentifier(e)?idText(e):getTextOfJsxNamespacedName(e)}function isJsxAttributeName(e){const t=e.kind;return 80===t||296===t}function getEscapedTextOfJsxNamespacedName(e){return`${e.namespace.escapedText}:${idText(e.name)}`}function getTextOfJsxNamespacedName(e){return`${idText(e.namespace)}:${idText(e.name)}`}function intrinsicTagNameToString(e){return isIdentifier(e)?idText(e):getTextOfJsxNamespacedName(e)}function isTypeUsableAsPropertyName(e){return!!(8576&e.flags)}function getPropertyNameFromType(e){return 8192&e.flags?e.escapedName:384&e.flags?escapeLeadingUnderscores(""+e.value):h.fail()}function isExpandoPropertyDeclaration(e){return!!e&&(isPropertyAccessExpression(e)||isElementAccessExpression(e)||isBinaryExpression(e))}function hasResolutionModeOverride(e){return void 0!==e&&!!getResolutionModeOverride(e.attributes)}var kr=String.prototype.replace;function replaceFirstStar(e,t){return kr.call(e,"*",t)}function getNameFromImportAttribute(e){return isIdentifier(e.name)?e.name.escapedText:escapeLeadingUnderscores(e.name.text)}function isSourceElement(e){switch(e.kind){case 169:case 170:case 173:case 172:case 186:case 185:case 180:case 181:case 182:case 175:case 174:case 176:case 177:case 178:case 179:case 184:case 183:case 187:case 188:case 189:case 190:case 193:case 194:case 197:case 191:case 192:case 198:case 199:case 195:case 196:case 204:case 206:case 203:case 329:case 330:case 347:case 339:case 341:case 346:case 345:case 325:case 326:case 327:case 342:case 349:case 318:case 316:case 315:case 313:case 314:case 323:case 319:case 310:case 334:case 336:case 335:case 351:case 344:case 200:case 201:case 263:case 242:case 269:case 244:case 245:case 246:case 247:case 248:case 249:case 250:case 251:case 252:case 253:case 254:case 255:case 256:case 257:case 258:case 259:case 261:case 209:case 264:case 265:case 266:case 267:case 268:case 273:case 272:case 279:case 278:case 243:case 260:case 283:return!0}return!1}function evaluatorResult(e,t=!1,n=!1,r=!1){return{value:e,isSyntacticallyString:t,resolvedOtherFiles:n,hasExternalReferences:r}}function createEvaluator({evaluateElementAccessExpression:e,evaluateEntityNameExpression:t}){function evaluate(n,r){let i=!1,o=!1,a=!1;switch((n=skipParentheses(n)).kind){case 225:const s=evaluate(n.operand,r);if(o=s.resolvedOtherFiles,a=s.hasExternalReferences,"number"==typeof s.value)switch(n.operator){case 40:return evaluatorResult(s.value,i,o,a);case 41:return evaluatorResult(-s.value,i,o,a);case 55:return evaluatorResult(~s.value,i,o,a)}break;case 227:{const e=evaluate(n.left,r),t=evaluate(n.right,r);if(i=(e.isSyntacticallyString||t.isSyntacticallyString)&&40===n.operatorToken.kind,o=e.resolvedOtherFiles||t.resolvedOtherFiles,a=e.hasExternalReferences||t.hasExternalReferences,"number"==typeof e.value&&"number"==typeof t.value)switch(n.operatorToken.kind){case 52:return evaluatorResult(e.value|t.value,i,o,a);case 51:return evaluatorResult(e.value&t.value,i,o,a);case 49:return evaluatorResult(e.value>>t.value,i,o,a);case 50:return evaluatorResult(e.value>>>t.value,i,o,a);case 48:return evaluatorResult(e.value<<t.value,i,o,a);case 53:return evaluatorResult(e.value^t.value,i,o,a);case 42:return evaluatorResult(e.value*t.value,i,o,a);case 44:return evaluatorResult(e.value/t.value,i,o,a);case 40:return evaluatorResult(e.value+t.value,i,o,a);case 41:return evaluatorResult(e.value-t.value,i,o,a);case 45:return evaluatorResult(e.value%t.value,i,o,a);case 43:return evaluatorResult(e.value**t.value,i,o,a)}else if(!("string"!=typeof e.value&&"number"!=typeof e.value||"string"!=typeof t.value&&"number"!=typeof t.value||40!==n.operatorToken.kind))return evaluatorResult(""+e.value+t.value,i,o,a);break}case 11:case 15:return evaluatorResult(n.text,!0);case 229:return function evaluateTemplateExpression(e,t){let n=e.head.text,r=!1,i=!1;for(const o of e.templateSpans){const e=evaluate(o.expression,t);if(void 0===e.value)return evaluatorResult(void 0,!0);n+=e.value,n+=o.literal.text,r||(r=e.resolvedOtherFiles),i||(i=e.hasExternalReferences)}return evaluatorResult(n,!0,r,i)}(n,r);case 9:return evaluatorResult(+n.text);case 80:return t(n,r);case 212:if(isEntityNameExpression(n))return t(n,r);break;case 213:return e(n,r)}return evaluatorResult(void 0,i,o,a)}return evaluate}function isConstAssertion(e){return isAssertionExpression(e)&&isConstTypeReference(e.type)||isJSDocTypeTag(e)&&isConstTypeReference(e.typeExpression)}function findConstructorDeclaration(e){const t=e.members;for(const e of t)if(177===e.kind&&nodeIsPresent(e.body))return e}function createNameResolver({compilerOptions:e,requireSymbol:t,argumentsSymbol:n,error:r,getSymbolOfDeclaration:i,globals:o,lookup:a,setRequiresScopeChangeCache:s=returnUndefined,getRequiresScopeChangeCache:c=returnUndefined,onPropertyWithInvalidInitializer:l=returnFalse,onFailedToResolveSymbol:d=returnUndefined,onSuccessfullyResolvedSymbol:p=returnUndefined}){var u=e.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules",m=getEmitStandardClassFields(e),_=createSymbolTable();return function resolveNameHelper(s,c,m,f,g,y){var T,S,x;const v=s;let b,C,E,N,k,F,P=!1;const D=isString(c)?c:c.escapedText;e:for(;s;){if("const"===D&&isConstAssertion(s))return;if(isModuleOrEnumDeclaration(s)&&C&&s.name===C&&(C=s,s=s.parent),canHaveLocals(s)&&s.locals&&!isGlobalSourceFile(s)&&(b=a(s.locals,D,m))){let e=!0;if(isFunctionLike(s)&&C&&C!==s.body?(m&b.flags&788968&&321!==C.kind&&(e=!!(262144&b.flags)&&(!!(16&C.flags)||C===s.type||170===C.kind||342===C.kind||343===C.kind||169===C.kind)),m&b.flags&3&&(useOuterVariableScopeInParameter(b,s,C)?e=!1:1&b.flags&&(e=170===C.kind||!!(16&C.flags)||C===s.type&&!!findAncestor(b.valueDeclaration,isParameter)))):195===s.kind&&(e=C===s.trueType),e)break e;b=void 0}switch(P=P||getIsDeferredContext(s,C),s.kind){case 308:if(!isExternalOrCommonJsModule(s))break;case 268:const t=(null==(T=i(s))?void 0:T.exports)||_;if(308===s.kind||isModuleDeclaration(s)&&33554432&s.flags&&!isGlobalScopeAugmentation(s)){if(b=t.get("default")){const e=getLocalSymbolForExportDefault(b);if(e&&b.flags&m&&e.escapedName===D)break e;b=void 0}const e=t.get(D);if(e&&2097152===e.flags&&(getDeclarationOfKind(e,282)||getDeclarationOfKind(e,281)))break}if("default"!==D&&(b=a(t,D,2623475&m))){if(!isSourceFile(s)||!s.commonJsModuleIndicator||(null==(S=b.declarations)?void 0:S.some(isJSDocTypeAlias)))break e;b=void 0}break;case 267:if(b=a((null==(x=i(s))?void 0:x.exports)||_,D,8&m)){!f||!Kn(e)||33554432&s.flags||getSourceFileOfNode(s)===getSourceFileOfNode(b.valueDeclaration)||r(v,Ot.Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead,unescapeLeadingUnderscores(D),u,`${unescapeLeadingUnderscores(i(s).escapedName)}.${unescapeLeadingUnderscores(D)}`);break e}break;case 173:if(!isStatic(s)){const e=findConstructorDeclaration(s.parent);e&&e.locals&&a(e.locals,D,111551&m)&&(h.assertNode(s,isPropertyDeclaration),N=s)}break;case 264:case 232:case 265:if(b=a(i(s).members||_,D,788968&m)){if(!isTypeParameterSymbolDeclaredInContainer(b,s)){b=void 0;break}if(C&&isStatic(C))return void(f&&r(v,Ot.Static_members_cannot_reference_class_type_parameters));break e}if(isClassExpression(s)&&32&m){const e=s.name;if(e&&D===e.escapedText){b=s.symbol;break e}}break;case 234:if(C===s.expression&&96===s.parent.token){const e=s.parent.parent;if(isClassLike(e)&&(b=a(i(e).members,D,788968&m)))return void(f&&r(v,Ot.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 168:if(F=s.parent.parent,(isClassLike(F)||265===F.kind)&&(b=a(i(F).members,D,788968&m)))return void(f&&r(v,Ot.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type));break;case 220:if(zn(e)>=2)break;case 175:case 177:case 178:case 179:case 263:if(3&m&&"arguments"===D){b=n;break e}break;case 219:if(3&m&&"arguments"===D){b=n;break e}if(16&m){const e=s.name;if(e&&D===e.escapedText){b=s.symbol;break e}}break;case 171:s.parent&&170===s.parent.kind&&(s=s.parent),s.parent&&(isClassElement(s.parent)||264===s.parent.kind)&&(s=s.parent);break;case 347:case 339:case 341:case 352:const o=getJSDocRoot(s);o&&(s=o.parent);break;case 170:C&&(C===s.initializer||C===s.name&&isBindingPattern(C))&&(k||(k=s));break;case 209:C&&(C===s.initializer||C===s.name&&isBindingPattern(C))&&isPartOfParameterDeclaration(s)&&!k&&(k=s);break;case 196:if(262144&m){const e=s.typeParameter.name;if(e&&D===e.escapedText){b=s.typeParameter.symbol;break e}}break;case 282:C&&C===s.propertyName&&s.parent.parent.moduleSpecifier&&(s=s.parent.parent.parent)}isSelfReferenceLocation(s,C)&&(E=s),C=s,s=isJSDocTemplateTag(s)?getEffectiveContainerForJSDocTemplateTag(s)||s.parent:(isJSDocParameterTag(s)||isJSDocReturnTag(s))&&getHostSignatureFromJSDoc(s)||s.parent}!g||!b||E&&b===E.symbol||(b.isReferenced|=m);if(!b){if(C&&(h.assertNode(C,isSourceFile),C.commonJsModuleIndicator&&"exports"===D&&m&C.symbol.flags))return C.symbol;y||(b=a(o,D,m))}if(!b&&v&&isInJSFile(v)&&v.parent&&isRequireCall(v.parent,!1))return t;if(f){if(N&&l(v,D,N,b))return;b?p(v,b,m,C,k,P):d(v,c,m,f)}return b};function useOuterVariableScopeInParameter(t,n,r){const i=zn(e),o=n;if(isParameter(r)&&o.body&&t.valueDeclaration&&t.valueDeclaration.pos>=o.body.pos&&t.valueDeclaration.end<=o.body.end&&i>=2){let e=c(o);return void 0===e&&(e=forEach(o.parameters,function requiresScopeChange(e){return requiresScopeChangeWorker(e.name)||!!e.initializer&&requiresScopeChangeWorker(e.initializer)})||!1,s(o,e)),!e}return!1;function requiresScopeChangeWorker(e){switch(e.kind){case 220:case 219:case 263:case 177:return!1;case 175:case 178:case 179:case 304:return requiresScopeChangeWorker(e.name);case 173:return hasStaticModifier(e)?!m:requiresScopeChangeWorker(e.name);default:return isNullishCoalesce(e)||isOptionalChain(e)?i<7:isBindingElement(e)&&e.dotDotDotToken&&isObjectBindingPattern(e.parent)?i<4:!isTypeNode(e)&&(forEachChild(e,requiresScopeChangeWorker)||!1)}}}function getIsDeferredContext(e,t){return 220!==e.kind&&219!==e.kind?isTypeQueryNode(e)||(isFunctionLikeDeclaration(e)||173===e.kind&&!isStatic(e))&&(!t||t!==e.name):(!t||t!==e.name)&&(!(!e.asteriskToken&&!hasSyntacticModifier(e,1024))||!getImmediatelyInvokedFunctionExpression(e))}function isSelfReferenceLocation(e,t){switch(e.kind){case 170:return!!t&&t===e.name;case 263:case 264:case 265:case 267:case 266:case 268:return!0;default:return!1}}function isTypeParameterSymbolDeclaredInContainer(e,t){if(e.declarations)for(const n of e.declarations)if(169===n.kind){if((isJSDocTemplateTag(n.parent)?getJSDocHost(n.parent):n.parent)===t)return!(isJSDocTemplateTag(n.parent)&&find(n.parent.parent.tags,isJSDocTypeAlias))}return!1}}function isPrimitiveLiteralValue(e,t=!0){switch(h.type(e),e.kind){case 112:case 97:case 9:case 11:case 15:return!0;case 10:return t;case 225:return 41===e.operator?isNumericLiteral(e.operand)||t&&isBigIntLiteral(e.operand):40===e.operator&&isNumericLiteral(e.operand);default:return!1}}function unwrapParenthesizedExpression(e){for(;218===e.kind;)e=e.expression;return e}function hasInferredType(e){switch(h.type(e),e.kind){case 170:case 172:case 173:case 209:case 212:case 213:case 227:case 261:case 278:case 304:case 305:case 342:case 349:return!0;default:return!1}}function isSideEffectImport(e){const t=findAncestor(e,isImportDeclaration);return!!t&&!t.importClause}var Fr=["assert","assert/strict","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","diagnostics_channel","dns","dns/promises","domain","events","fs","fs/promises","http","http2","https","inspector","inspector/promises","module","net","os","path","path/posix","path/win32","perf_hooks","process","punycode","querystring","readline","readline/promises","repl","stream","stream/consumers","stream/promises","stream/web","string_decoder","sys","test/mock_loader","timers","timers/promises","tls","trace_events","tty","url","util","util/types","v8","vm","wasi","worker_threads","zlib"],Pr=new Set(Fr),Dr=new Set(["node:sea","node:sqlite","node:test","node:test/reporters"]),Ir=new Set([...Fr,...Fr.map(e=>`node:${e}`),...Dr]);function forEachDynamicImportOrRequireCall(e,t,n,r){const i=isInJSFile(e),o=/import|require/g;for(;null!==o.exec(e.text);){const a=getNodeAtPosition(e,o.lastIndex,t);if(i&&isRequireCall(a,n))r(a,a.arguments[0]);else if(isImportCall(a)&&a.arguments.length>=1&&(!n||isStringLiteralLike(a.arguments[0])))r(a,a.arguments[0]);else if(t&&isLiteralImportTypeNode(a))r(a,a.argument.literal);else if(t&&isJSDocImportTag(a)){const e=getExternalModuleName(a);e&&isStringLiteral(e)&&e.text&&r(a,e)}}}function getNodeAtPosition(e,t,n){const r=isInJSFile(e);let i=e;const getContainingChild=e=>{if(e.pos<=t&&(t<e.end||t===e.end&&1===e.kind))return e};for(;;){const e=r&&n&&hasJSDocNodes(i)&&forEach(i.jsDoc,getContainingChild)||forEachChild(i,getContainingChild);if(!e||isMetaProperty(e))return i;i=e}}function isNewScopeNode(e){return isFunctionLike(e)||isJSDocSignature(e)||isMappedTypeNode(e)}function getLibNameFromLibReference(e){return toFileNameLowerCase(e.fileName)}function getLibFileNameFromLibReference(e){const t=getLibNameFromLibReference(e);return Vi.get(t)}function forEachResolvedProjectReference(e,t){return forEachProjectReference(void 0,e,e=>e&&t(e))}function forEachProjectReference(e,t,n,r){let i;return function worker(e,t,o){if(r){const t=r(e,o);if(t)return t}let a;return forEach(t,(e,t)=>{if(e&&(null==i?void 0:i.has(e.sourceFile.path)))return void(a??(a=new Set)).add(e);const r=n(e,o,t);if(r||!e)return r;(i||(i=new Set)).add(e.sourceFile.path)})||forEach(t,e=>e&&!(null==a?void 0:a.has(e))?worker(e.commandLine.projectReferences,e.references,e):void 0)}(e,t,void 0)}function getOptionsSyntaxByArrayElementValue(e,t,n){return e&&function getPropertyArrayElementValue(e,t,n){return forEachPropertyAssignment(e,t,e=>isArrayLiteralExpression(e.initializer)?find(e.initializer.elements,e=>isStringLiteral(e)&&e.text===n):void 0)}(e,t,n)}function getOptionsSyntaxByValue(e,t,n){return forEachOptionsSyntaxByName(e,t,e=>isStringLiteral(e.initializer)&&e.initializer.text===n?e.initializer:void 0)}function forEachOptionsSyntaxByName(e,t,n){return forEachPropertyAssignment(e,t,n)}function getSynthesizedDeepClone(e,t=!0){const n=e&&getSynthesizedDeepCloneWorker(e);return n&&!t&&suppressLeadingAndTrailingTrivia(n),setParentRecursive(n,!1)}function getSynthesizedDeepCloneWithReplacements(e,t,n){let r=n(e);return r?setOriginalNode(r,e):r=getSynthesizedDeepCloneWorker(e,n),r&&!t&&suppressLeadingAndTrailingTrivia(r),r}function getSynthesizedDeepCloneWorker(e,t){const n=t?e=>getSynthesizedDeepCloneWithReplacements(e,!0,t):getSynthesizedDeepClone,r=visitEachChild(e,n,void 0,t?e=>e&&getSynthesizedDeepClonesWithReplacements(e,!0,t):e=>e&&getSynthesizedDeepClones(e),n);if(r===e){return setTextRange(isStringLiteral(e)?setOriginalNode(Wr.createStringLiteralFromNode(e),e):isNumericLiteral(e)?setOriginalNode(Wr.createNumericLiteral(e.text,e.numericLiteralFlags),e):Wr.cloneNode(e),e)}return r.parent=void 0,r}function getSynthesizedDeepClones(e,t=!0){if(e){const n=Wr.createNodeArray(e.map(e=>getSynthesizedDeepClone(e,t)),e.hasTrailingComma);return setTextRange(n,e),n}return e}function getSynthesizedDeepClonesWithReplacements(e,t,n){return Wr.createNodeArray(e.map(e=>getSynthesizedDeepCloneWithReplacements(e,t,n)),e.hasTrailingComma)}function suppressLeadingAndTrailingTrivia(e){suppressLeadingTrivia(e),suppressTrailingTrivia(e)}function suppressLeadingTrivia(e){addEmitFlagsRecursively(e,1024,getFirstChild)}function suppressTrailingTrivia(e){addEmitFlagsRecursively(e,2048,getLastChild)}function addEmitFlagsRecursively(e,t,n){addEmitFlags(e,t);const r=n(e);r&&addEmitFlagsRecursively(r,t,n)}function getFirstChild(e){return forEachChild(e,e=>e)}function createBaseNodeFactory(){let e,t,n,r,i;return{createBaseSourceFileNode:function createBaseSourceFileNode(e){return new(i||(i=Bn.getSourceFileConstructor()))(e,-1,-1)},createBaseIdentifierNode:function createBaseIdentifierNode(e){return new(n||(n=Bn.getIdentifierConstructor()))(e,-1,-1)},createBasePrivateIdentifierNode:function createBasePrivateIdentifierNode(e){return new(r||(r=Bn.getPrivateIdentifierConstructor()))(e,-1,-1)},createBaseTokenNode:function createBaseTokenNode(e){return new(t||(t=Bn.getTokenConstructor()))(e,-1,-1)},createBaseNode:function createBaseNode(t){return new(e||(e=Bn.getNodeConstructor()))(t,-1,-1)}}}function createParenthesizerRules(e){let t,n;return{getParenthesizeLeftSideOfBinaryForOperator:function getParenthesizeLeftSideOfBinaryForOperator(e){t||(t=new Map);let n=t.get(e);n||(n=t=>parenthesizeLeftSideOfBinary(e,t),t.set(e,n));return n},getParenthesizeRightSideOfBinaryForOperator:function getParenthesizeRightSideOfBinaryForOperator(e){n||(n=new Map);let t=n.get(e);t||(t=t=>parenthesizeRightSideOfBinary(e,void 0,t),n.set(e,t));return t},parenthesizeLeftSideOfBinary,parenthesizeRightSideOfBinary,parenthesizeExpressionOfComputedPropertyName:function parenthesizeExpressionOfComputedPropertyName(t){return isCommaSequence(t)?e.createParenthesizedExpression(t):t},parenthesizeConditionOfConditionalExpression:function parenthesizeConditionOfConditionalExpression(t){const n=getOperatorPrecedence(228,58),r=skipPartiallyEmittedExpressions(t);if(1!==compareValues(getExpressionPrecedence(r),n))return e.createParenthesizedExpression(t);return t},parenthesizeBranchOfConditionalExpression:function parenthesizeBranchOfConditionalExpression(t){return isCommaSequence(skipPartiallyEmittedExpressions(t))?e.createParenthesizedExpression(t):t},parenthesizeExpressionOfExportDefault:function parenthesizeExpressionOfExportDefault(t){const n=skipPartiallyEmittedExpressions(t);let r=isCommaSequence(n);if(!r)switch(getLeftmostExpression(n,!1).kind){case 232:case 219:r=!0}return r?e.createParenthesizedExpression(t):t},parenthesizeExpressionOfNew:function parenthesizeExpressionOfNew(t){const n=getLeftmostExpression(t,!0);switch(n.kind){case 214:return e.createParenthesizedExpression(t);case 215:return n.arguments?t:e.createParenthesizedExpression(t)}return parenthesizeLeftSideOfAccess(t)},parenthesizeLeftSideOfAccess,parenthesizeOperandOfPostfixUnary:function parenthesizeOperandOfPostfixUnary(t){return isLeftHandSideExpression(t)?t:setTextRange(e.createParenthesizedExpression(t),t)},parenthesizeOperandOfPrefixUnary:function parenthesizeOperandOfPrefixUnary(t){return isUnaryExpression(t)?t:setTextRange(e.createParenthesizedExpression(t),t)},parenthesizeExpressionsOfCommaDelimitedList:function parenthesizeExpressionsOfCommaDelimitedList(t){const n=sameMap(t,parenthesizeExpressionForDisallowedComma);return setTextRange(e.createNodeArray(n,t.hasTrailingComma),t)},parenthesizeExpressionForDisallowedComma,parenthesizeExpressionOfExpressionStatement:function parenthesizeExpressionOfExpressionStatement(t){const n=skipPartiallyEmittedExpressions(t);if(isCallExpression(n)){const r=n.expression,i=skipPartiallyEmittedExpressions(r).kind;if(219===i||220===i){const i=e.updateCallExpression(n,setTextRange(e.createParenthesizedExpression(r),r),n.typeArguments,n.arguments);return e.restoreOuterExpressions(t,i,8)}}const r=getLeftmostExpression(n,!1).kind;if(211===r||219===r)return setTextRange(e.createParenthesizedExpression(t),t);return t},parenthesizeConciseBodyOfArrowFunction:function parenthesizeConciseBodyOfArrowFunction(t){if(!isBlock(t)&&(isCommaSequence(t)||211===getLeftmostExpression(t,!1).kind))return setTextRange(e.createParenthesizedExpression(t),t);return t},parenthesizeCheckTypeOfConditionalType,parenthesizeExtendsTypeOfConditionalType:function parenthesizeExtendsTypeOfConditionalType(t){if(195===t.kind)return e.createParenthesizedType(t);return t},parenthesizeConstituentTypesOfUnionType:function parenthesizeConstituentTypesOfUnionType(t){return e.createNodeArray(sameMap(t,parenthesizeConstituentTypeOfUnionType))},parenthesizeConstituentTypeOfUnionType,parenthesizeConstituentTypesOfIntersectionType:function parenthesizeConstituentTypesOfIntersectionType(t){return e.createNodeArray(sameMap(t,parenthesizeConstituentTypeOfIntersectionType))},parenthesizeConstituentTypeOfIntersectionType,parenthesizeOperandOfTypeOperator,parenthesizeOperandOfReadonlyTypeOperator:function parenthesizeOperandOfReadonlyTypeOperator(t){if(199===t.kind)return e.createParenthesizedType(t);return parenthesizeOperandOfTypeOperator(t)},parenthesizeNonArrayTypeOfPostfixType,parenthesizeElementTypesOfTupleType:function parenthesizeElementTypesOfTupleType(t){return e.createNodeArray(sameMap(t,parenthesizeElementTypeOfTupleType))},parenthesizeElementTypeOfTupleType,parenthesizeTypeOfOptionalType:function parenthesizeTypeOfOptionalType(t){return hasJSDocPostfixQuestion(t)?e.createParenthesizedType(t):parenthesizeNonArrayTypeOfPostfixType(t)},parenthesizeTypeArguments:function parenthesizeTypeArguments(t){if(some(t))return e.createNodeArray(sameMap(t,parenthesizeOrdinalTypeArgument))},parenthesizeLeadingTypeArgument};function getLiteralKindOfBinaryPlusOperand(e){if(isLiteralKind((e=skipPartiallyEmittedExpressions(e)).kind))return e.kind;if(227===e.kind&&40===e.operatorToken.kind){if(void 0!==e.cachedLiteralKind)return e.cachedLiteralKind;const t=getLiteralKindOfBinaryPlusOperand(e.left),n=isLiteralKind(t)&&t===getLiteralKindOfBinaryPlusOperand(e.right)?t:0;return e.cachedLiteralKind=n,n}return 0}function parenthesizeBinaryOperand(t,n,r,i){return 218===skipPartiallyEmittedExpressions(n).kind?n:function binaryOperandNeedsParentheses(e,t,n,r){const i=getOperatorPrecedence(227,e),o=getOperatorAssociativity(227,e),a=skipPartiallyEmittedExpressions(t);if(!n&&220===t.kind&&i>3)return!0;switch(compareValues(getExpressionPrecedence(a),i)){case-1:return!(!n&&1===o&&230===t.kind);case 1:return!1;case 0:if(n)return 1===o;if(isBinaryExpression(a)&&a.operatorToken.kind===e){if(function operatorHasAssociativeProperty(e){return 42===e||52===e||51===e||53===e||28===e}(e))return!1;if(40===e){const e=r?getLiteralKindOfBinaryPlusOperand(r):0;if(isLiteralKind(e)&&e===getLiteralKindOfBinaryPlusOperand(a))return!1}}return 0===getExpressionAssociativity(a)}}(t,n,r,i)?e.createParenthesizedExpression(n):n}function parenthesizeLeftSideOfBinary(e,t){return parenthesizeBinaryOperand(e,t,!0)}function parenthesizeRightSideOfBinary(e,t,n){return parenthesizeBinaryOperand(e,n,!1,t)}function parenthesizeLeftSideOfAccess(t,n){const r=skipPartiallyEmittedExpressions(t);return!isLeftHandSideExpression(r)||215===r.kind&&!r.arguments||!n&&isOptionalChain(r)?setTextRange(e.createParenthesizedExpression(t),t):t}function parenthesizeExpressionForDisallowedComma(t){return getExpressionPrecedence(skipPartiallyEmittedExpressions(t))>getOperatorPrecedence(227,28)?t:setTextRange(e.createParenthesizedExpression(t),t)}function parenthesizeCheckTypeOfConditionalType(t){switch(t.kind){case 185:case 186:case 195:return e.createParenthesizedType(t)}return t}function parenthesizeConstituentTypeOfUnionType(t){switch(t.kind){case 193:case 194:return e.createParenthesizedType(t)}return parenthesizeCheckTypeOfConditionalType(t)}function parenthesizeConstituentTypeOfIntersectionType(t){switch(t.kind){case 193:case 194:return e.createParenthesizedType(t)}return parenthesizeConstituentTypeOfUnionType(t)}function parenthesizeOperandOfTypeOperator(t){return 194===t.kind?e.createParenthesizedType(t):parenthesizeConstituentTypeOfIntersectionType(t)}function parenthesizeNonArrayTypeOfPostfixType(t){switch(t.kind){case 196:case 199:case 187:return e.createParenthesizedType(t)}return parenthesizeOperandOfTypeOperator(t)}function parenthesizeElementTypeOfTupleType(t){return hasJSDocPostfixQuestion(t)?e.createParenthesizedType(t):t}function hasJSDocPostfixQuestion(e){return isJSDocNullableType(e)?e.postfix:isNamedTupleMember(e)||isFunctionTypeNode(e)||isConstructorTypeNode(e)||isTypeOperatorNode(e)?hasJSDocPostfixQuestion(e.type):isConditionalTypeNode(e)?hasJSDocPostfixQuestion(e.falseType):isUnionTypeNode(e)||isIntersectionTypeNode(e)?hasJSDocPostfixQuestion(last(e.types)):!!isInferTypeNode(e)&&(!!e.typeParameter.constraint&&hasJSDocPostfixQuestion(e.typeParameter.constraint))}function parenthesizeLeadingTypeArgument(t){return isFunctionOrConstructorTypeNode(t)&&t.typeParameters?e.createParenthesizedType(t):t}function parenthesizeOrdinalTypeArgument(e,t){return 0===t?parenthesizeLeadingTypeArgument(e):e}}var Ar={getParenthesizeLeftSideOfBinaryForOperator:e=>identity,getParenthesizeRightSideOfBinaryForOperator:e=>identity,parenthesizeLeftSideOfBinary:(e,t)=>t,parenthesizeRightSideOfBinary:(e,t,n)=>n,parenthesizeExpressionOfComputedPropertyName:identity,parenthesizeConditionOfConditionalExpression:identity,parenthesizeBranchOfConditionalExpression:identity,parenthesizeExpressionOfExportDefault:identity,parenthesizeExpressionOfNew:e=>cast(e,isLeftHandSideExpression),parenthesizeLeftSideOfAccess:e=>cast(e,isLeftHandSideExpression),parenthesizeOperandOfPostfixUnary:e=>cast(e,isLeftHandSideExpression),parenthesizeOperandOfPrefixUnary:e=>cast(e,isUnaryExpression),parenthesizeExpressionsOfCommaDelimitedList:e=>cast(e,isNodeArray),parenthesizeExpressionForDisallowedComma:identity,parenthesizeExpressionOfExpressionStatement:identity,parenthesizeConciseBodyOfArrowFunction:identity,parenthesizeCheckTypeOfConditionalType:identity,parenthesizeExtendsTypeOfConditionalType:identity,parenthesizeConstituentTypesOfUnionType:e=>cast(e,isNodeArray),parenthesizeConstituentTypeOfUnionType:identity,parenthesizeConstituentTypesOfIntersectionType:e=>cast(e,isNodeArray),parenthesizeConstituentTypeOfIntersectionType:identity,parenthesizeOperandOfTypeOperator:identity,parenthesizeOperandOfReadonlyTypeOperator:identity,parenthesizeNonArrayTypeOfPostfixType:identity,parenthesizeElementTypesOfTupleType:e=>cast(e,isNodeArray),parenthesizeElementTypeOfTupleType:identity,parenthesizeTypeOfOptionalType:identity,parenthesizeTypeArguments:e=>e&&cast(e,isNodeArray),parenthesizeLeadingTypeArgument:identity};function createNodeConverters(e){return{convertToFunctionBlock:function convertToFunctionBlock(t,n){if(isBlock(t))return t;const r=e.createReturnStatement(t);setTextRange(r,t);const i=e.createBlock([r],n);return setTextRange(i,t),i},convertToFunctionExpression:function convertToFunctionExpression(t){var n;if(!t.body)return h.fail("Cannot convert a FunctionDeclaration without a body");const r=e.createFunctionExpression(null==(n=getModifiers(t))?void 0:n.filter(e=>!isExportModifier(e)&&!isDefaultModifier(e)),t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body);setOriginalNode(r,t),setTextRange(r,t),getStartsOnNewLine(t)&&setStartsOnNewLine(r,!0);return r},convertToClassExpression:function convertToClassExpression(t){var n;const r=e.createClassExpression(null==(n=t.modifiers)?void 0:n.filter(e=>!isExportModifier(e)&&!isDefaultModifier(e)),t.name,t.typeParameters,t.heritageClauses,t.members);setOriginalNode(r,t),setTextRange(r,t),getStartsOnNewLine(t)&&setStartsOnNewLine(r,!0);return r},convertToArrayAssignmentElement,convertToObjectAssignmentElement,convertToAssignmentPattern,convertToObjectAssignmentPattern,convertToArrayAssignmentPattern,convertToAssignmentElementTarget};function convertToArrayAssignmentElement(t){if(isBindingElement(t)){if(t.dotDotDotToken)return h.assertNode(t.name,isIdentifier),setOriginalNode(setTextRange(e.createSpreadElement(t.name),t),t);const n=convertToAssignmentElementTarget(t.name);return t.initializer?setOriginalNode(setTextRange(e.createAssignment(n,t.initializer),t),t):n}return cast(t,isExpression)}function convertToObjectAssignmentElement(t){if(isBindingElement(t)){if(t.dotDotDotToken)return h.assertNode(t.name,isIdentifier),setOriginalNode(setTextRange(e.createSpreadAssignment(t.name),t),t);if(t.propertyName){const n=convertToAssignmentElementTarget(t.name);return setOriginalNode(setTextRange(e.createPropertyAssignment(t.propertyName,t.initializer?e.createAssignment(n,t.initializer):n),t),t)}return h.assertNode(t.name,isIdentifier),setOriginalNode(setTextRange(e.createShorthandPropertyAssignment(t.name,t.initializer),t),t)}return cast(t,isObjectLiteralElementLike)}function convertToAssignmentPattern(e){switch(e.kind){case 208:case 210:return convertToArrayAssignmentPattern(e);case 207:case 211:return convertToObjectAssignmentPattern(e)}}function convertToObjectAssignmentPattern(t){return isObjectBindingPattern(t)?setOriginalNode(setTextRange(e.createObjectLiteralExpression(map(t.elements,convertToObjectAssignmentElement)),t),t):cast(t,isObjectLiteralExpression)}function convertToArrayAssignmentPattern(t){return isArrayBindingPattern(t)?setOriginalNode(setTextRange(e.createArrayLiteralExpression(map(t.elements,convertToArrayAssignmentElement)),t),t):cast(t,isArrayLiteralExpression)}function convertToAssignmentElementTarget(e){return isBindingPattern(e)?convertToAssignmentPattern(e):cast(e,isExpression)}}var Or,wr={convertToFunctionBlock:notImplemented,convertToFunctionExpression:notImplemented,convertToClassExpression:notImplemented,convertToArrayAssignmentElement:notImplemented,convertToObjectAssignmentElement:notImplemented,convertToAssignmentPattern:notImplemented,convertToObjectAssignmentPattern:notImplemented,convertToArrayAssignmentPattern:notImplemented,convertToAssignmentElementTarget:notImplemented},Lr=0,Mr=(e=>(e[e.None=0]="None",e[e.NoParenthesizerRules=1]="NoParenthesizerRules",e[e.NoNodeConverters=2]="NoNodeConverters",e[e.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",e[e.NoOriginalNode=8]="NoOriginalNode",e))(Mr||{}),Rr=[];function addNodeFactoryPatcher(e){Rr.push(e)}function createNodeFactory(e,t){const n=8&e?identity:setOriginalNode,r=memoize(()=>1&e?Ar:createParenthesizerRules(T)),i=memoize(()=>2&e?wr:createNodeConverters(T)),o=memoizeOne(e=>(t,n)=>createBinaryExpression(t,e,n)),a=memoizeOne(e=>t=>createPrefixUnaryExpression(e,t)),s=memoizeOne(e=>t=>createPostfixUnaryExpression(t,e)),c=memoizeOne(e=>()=>function createJSDocPrimaryTypeWorker(e){return createBaseNode(e)}(e)),d=memoizeOne(e=>t=>createJSDocUnaryTypeWorker(e,t)),p=memoizeOne(e=>(t,n)=>function updateJSDocUnaryTypeWorker(e,t,n){return t.type!==n?update(createJSDocUnaryTypeWorker(e,n),t):t}(e,t,n)),u=memoizeOne(e=>(t,n)=>createJSDocPrePostfixUnaryTypeWorker(e,t,n)),m=memoizeOne(e=>(t,n)=>function updateJSDocPrePostfixUnaryTypeWorker(e,t,n){return t.type!==n?update(createJSDocPrePostfixUnaryTypeWorker(e,n,t.postfix),t):t}(e,t,n)),_=memoizeOne(e=>(t,n)=>createJSDocSimpleTagWorker(e,t,n)),f=memoizeOne(e=>(t,n,r)=>function updateJSDocSimpleTagWorker(e,t,n=getDefaultTagName(t),r){return t.tagName!==n||t.comment!==r?update(createJSDocSimpleTagWorker(e,n,r),t):t}(e,t,n,r)),g=memoizeOne(e=>(t,n,r)=>createJSDocTypeLikeTagWorker(e,t,n,r)),y=memoizeOne(e=>(t,n,r,i)=>function updateJSDocTypeLikeTagWorker(e,t,n=getDefaultTagName(t),r,i){return t.tagName!==n||t.typeExpression!==r||t.comment!==i?update(createJSDocTypeLikeTagWorker(e,n,r,i),t):t}(e,t,n,r,i)),T={get parenthesizer(){return r()},get converters(){return i()},baseFactory:t,flags:e,createNodeArray,createNumericLiteral,createBigIntLiteral,createStringLiteral,createStringLiteralFromNode:function createStringLiteralFromNode(e){const t=createBaseStringLiteral(getTextOfIdentifierOrLiteral(e),void 0);return t.textSourceNode=e,t},createRegularExpressionLiteral,createLiteralLikeNode:function createLiteralLikeNode(e,t){switch(e){case 9:return createNumericLiteral(t,0);case 10:return createBigIntLiteral(t);case 11:return createStringLiteral(t,void 0);case 12:return createJsxText(t,!1);case 13:return createJsxText(t,!0);case 14:return createRegularExpressionLiteral(t);case 15:return createTemplateLiteralLikeNode(e,t,void 0,0)}},createIdentifier,createTempVariable,createLoopVariable:function createLoopVariable(e){let t=2;e&&(t|=8);return createBaseGeneratedIdentifier("",t,void 0,void 0)},createUniqueName:function createUniqueName(e,t=0,n,r){return h.assert(!(7&t),"Argument out of range: flags"),h.assert(32!=(48&t),"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),createBaseGeneratedIdentifier(e,3|t,n,r)},getGeneratedNameForNode,createPrivateIdentifier:function createPrivateIdentifier(e){startsWith(e,"#")||h.fail("First character of private identifier must be #: "+e);return createBasePrivateIdentifier(escapeLeadingUnderscores(e))},createUniquePrivateName:function createUniquePrivateName(e,t,n){e&&!startsWith(e,"#")&&h.fail("First character of private identifier must be #: "+e);return createBaseGeneratedPrivateIdentifier(e??"",8|(e?3:1),t,n)},getGeneratedPrivateNameForNode:function getGeneratedPrivateNameForNode(e,t,n){const r=isMemberName(e)?formatGeneratedName(!0,t,e,n,idText):`#generated@${getNodeId(e)}`,i=createBaseGeneratedPrivateIdentifier(r,4|(t||n?16:0),t,n);return i.original=e,i},createToken,createSuper:function createSuper(){return createToken(108)},createThis,createNull,createTrue,createFalse,createModifier,createModifiersFromModifierFlags,createQualifiedName,updateQualifiedName:function updateQualifiedName(e,t,n){return e.left!==t||e.right!==n?update(createQualifiedName(t,n),e):e},createComputedPropertyName,updateComputedPropertyName:function updateComputedPropertyName(e,t){return e.expression!==t?update(createComputedPropertyName(t),e):e},createTypeParameterDeclaration,updateTypeParameterDeclaration,createParameterDeclaration,updateParameterDeclaration,createDecorator,updateDecorator:function updateDecorator(e,t){return e.expression!==t?update(createDecorator(t),e):e},createPropertySignature,updatePropertySignature,createPropertyDeclaration,updatePropertyDeclaration:updatePropertyDeclaration2,createMethodSignature,updateMethodSignature,createMethodDeclaration,updateMethodDeclaration,createConstructorDeclaration,updateConstructorDeclaration,createGetAccessorDeclaration,updateGetAccessorDeclaration,createSetAccessorDeclaration,updateSetAccessorDeclaration,createCallSignature,updateCallSignature:function updateCallSignature(e,t,n,r){return e.typeParameters!==t||e.parameters!==n||e.type!==r?finishUpdateBaseSignatureDeclaration(createCallSignature(t,n,r),e):e},createConstructSignature,updateConstructSignature:function updateConstructSignature(e,t,n,r){return e.typeParameters!==t||e.parameters!==n||e.type!==r?finishUpdateBaseSignatureDeclaration(createConstructSignature(t,n,r),e):e},createIndexSignature,updateIndexSignature,createClassStaticBlockDeclaration,updateClassStaticBlockDeclaration:function updateClassStaticBlockDeclaration(e,t){return e.body!==t?function finishUpdateClassStaticBlockDeclaration(e,t){e!==t&&(e.modifiers=t.modifiers);return update(e,t)}(createClassStaticBlockDeclaration(t),e):e},createTemplateLiteralTypeSpan,updateTemplateLiteralTypeSpan:function updateTemplateLiteralTypeSpan(e,t,n){return e.type!==t||e.literal!==n?update(createTemplateLiteralTypeSpan(t,n),e):e},createKeywordTypeNode:function createKeywordTypeNode(e){return createToken(e)},createTypePredicateNode,updateTypePredicateNode:function updateTypePredicateNode(e,t,n,r){return e.assertsModifier!==t||e.parameterName!==n||e.type!==r?update(createTypePredicateNode(t,n,r),e):e},createTypeReferenceNode,updateTypeReferenceNode:function updateTypeReferenceNode(e,t,n){return e.typeName!==t||e.typeArguments!==n?update(createTypeReferenceNode(t,n),e):e},createFunctionTypeNode,updateFunctionTypeNode:function updateFunctionTypeNode(e,t,n,r){return e.typeParameters!==t||e.parameters!==n||e.type!==r?function finishUpdateFunctionTypeNode(e,t){e!==t&&(e.modifiers=t.modifiers);return finishUpdateBaseSignatureDeclaration(e,t)}(createFunctionTypeNode(t,n,r),e):e},createConstructorTypeNode,updateConstructorTypeNode:function updateConstructorTypeNode(...e){return 5===e.length?updateConstructorTypeNode1(...e):4===e.length?function updateConstructorTypeNode2(e,t,n,r){return updateConstructorTypeNode1(e,e.modifiers,t,n,r)}(...e):h.fail("Incorrect number of arguments specified.")},createTypeQueryNode,updateTypeQueryNode:function updateTypeQueryNode(e,t,n){return e.exprName!==t||e.typeArguments!==n?update(createTypeQueryNode(t,n),e):e},createTypeLiteralNode,updateTypeLiteralNode:function updateTypeLiteralNode(e,t){return e.members!==t?update(createTypeLiteralNode(t),e):e},createArrayTypeNode,updateArrayTypeNode:function updateArrayTypeNode(e,t){return e.elementType!==t?update(createArrayTypeNode(t),e):e},createTupleTypeNode,updateTupleTypeNode:function updateTupleTypeNode(e,t){return e.elements!==t?update(createTupleTypeNode(t),e):e},createNamedTupleMember,updateNamedTupleMember:function updateNamedTupleMember(e,t,n,r,i){return e.dotDotDotToken!==t||e.name!==n||e.questionToken!==r||e.type!==i?update(createNamedTupleMember(t,n,r,i),e):e},createOptionalTypeNode,updateOptionalTypeNode:function updateOptionalTypeNode(e,t){return e.type!==t?update(createOptionalTypeNode(t),e):e},createRestTypeNode,updateRestTypeNode:function updateRestTypeNode(e,t){return e.type!==t?update(createRestTypeNode(t),e):e},createUnionTypeNode:function createUnionTypeNode(e){return createUnionOrIntersectionTypeNode(193,e,r().parenthesizeConstituentTypesOfUnionType)},updateUnionTypeNode:function updateUnionTypeNode(e,t){return updateUnionOrIntersectionTypeNode(e,t,r().parenthesizeConstituentTypesOfUnionType)},createIntersectionTypeNode:function createIntersectionTypeNode(e){return createUnionOrIntersectionTypeNode(194,e,r().parenthesizeConstituentTypesOfIntersectionType)},updateIntersectionTypeNode:function updateIntersectionTypeNode(e,t){return updateUnionOrIntersectionTypeNode(e,t,r().parenthesizeConstituentTypesOfIntersectionType)},createConditionalTypeNode,updateConditionalTypeNode:function updateConditionalTypeNode(e,t,n,r,i){return e.checkType!==t||e.extendsType!==n||e.trueType!==r||e.falseType!==i?update(createConditionalTypeNode(t,n,r,i),e):e},createInferTypeNode,updateInferTypeNode:function updateInferTypeNode(e,t){return e.typeParameter!==t?update(createInferTypeNode(t),e):e},createImportTypeNode,updateImportTypeNode:function updateImportTypeNode(e,t,n,r,i,o=e.isTypeOf){return e.argument!==t||e.attributes!==n||e.qualifier!==r||e.typeArguments!==i||e.isTypeOf!==o?update(createImportTypeNode(t,n,r,i,o),e):e},createParenthesizedType,updateParenthesizedType:function updateParenthesizedType(e,t){return e.type!==t?update(createParenthesizedType(t),e):e},createThisTypeNode:function createThisTypeNode(){const e=createBaseNode(198);return e.transformFlags=1,e},createTypeOperatorNode,updateTypeOperatorNode:function updateTypeOperatorNode(e,t){return e.type!==t?update(createTypeOperatorNode(e.operator,t),e):e},createIndexedAccessTypeNode,updateIndexedAccessTypeNode:function updateIndexedAccessTypeNode(e,t,n){return e.objectType!==t||e.indexType!==n?update(createIndexedAccessTypeNode(t,n),e):e},createMappedTypeNode,updateMappedTypeNode:function updateMappedTypeNode(e,t,n,r,i,o,a){return e.readonlyToken!==t||e.typeParameter!==n||e.nameType!==r||e.questionToken!==i||e.type!==o||e.members!==a?update(createMappedTypeNode(t,n,r,i,o,a),e):e},createLiteralTypeNode,updateLiteralTypeNode:function updateLiteralTypeNode(e,t){return e.literal!==t?update(createLiteralTypeNode(t),e):e},createTemplateLiteralType,updateTemplateLiteralType:function updateTemplateLiteralType(e,t,n){return e.head!==t||e.templateSpans!==n?update(createTemplateLiteralType(t,n),e):e},createObjectBindingPattern,updateObjectBindingPattern:function updateObjectBindingPattern(e,t){return e.elements!==t?update(createObjectBindingPattern(t),e):e},createArrayBindingPattern,updateArrayBindingPattern:function updateArrayBindingPattern(e,t){return e.elements!==t?update(createArrayBindingPattern(t),e):e},createBindingElement,updateBindingElement:function updateBindingElement(e,t,n,r,i){return e.propertyName!==n||e.dotDotDotToken!==t||e.name!==r||e.initializer!==i?update(createBindingElement(t,n,r,i),e):e},createArrayLiteralExpression,updateArrayLiteralExpression:function updateArrayLiteralExpression(e,t){return e.elements!==t?update(createArrayLiteralExpression(t,e.multiLine),e):e},createObjectLiteralExpression,updateObjectLiteralExpression:function updateObjectLiteralExpression(e,t){return e.properties!==t?update(createObjectLiteralExpression(t,e.multiLine),e):e},createPropertyAccessExpression:4&e?(e,t)=>setEmitFlags(createPropertyAccessExpression(e,t),262144):createPropertyAccessExpression,updatePropertyAccessExpression:function updatePropertyAccessExpression(e,t,n){if(isPropertyAccessChain(e))return updatePropertyAccessChain(e,t,e.questionDotToken,cast(n,isIdentifier));return e.expression!==t||e.name!==n?update(createPropertyAccessExpression(t,n),e):e},createPropertyAccessChain:4&e?(e,t,n)=>setEmitFlags(createPropertyAccessChain(e,t,n),262144):createPropertyAccessChain,updatePropertyAccessChain,createElementAccessExpression,updateElementAccessExpression:function updateElementAccessExpression(e,t,n){if(isElementAccessChain(e))return updateElementAccessChain(e,t,e.questionDotToken,n);return e.expression!==t||e.argumentExpression!==n?update(createElementAccessExpression(t,n),e):e},createElementAccessChain,updateElementAccessChain,createCallExpression,updateCallExpression:function updateCallExpression(e,t,n,r){if(isCallChain(e))return updateCallChain(e,t,e.questionDotToken,n,r);return e.expression!==t||e.typeArguments!==n||e.arguments!==r?update(createCallExpression(t,n,r),e):e},createCallChain,updateCallChain,createNewExpression,updateNewExpression:function updateNewExpression(e,t,n,r){return e.expression!==t||e.typeArguments!==n||e.arguments!==r?update(createNewExpression(t,n,r),e):e},createTaggedTemplateExpression,updateTaggedTemplateExpression:function updateTaggedTemplateExpression(e,t,n,r){return e.tag!==t||e.typeArguments!==n||e.template!==r?update(createTaggedTemplateExpression(t,n,r),e):e},createTypeAssertion,updateTypeAssertion,createParenthesizedExpression,updateParenthesizedExpression,createFunctionExpression,updateFunctionExpression,createArrowFunction,updateArrowFunction,createDeleteExpression,updateDeleteExpression:function updateDeleteExpression(e,t){return e.expression!==t?update(createDeleteExpression(t),e):e},createTypeOfExpression,updateTypeOfExpression:function updateTypeOfExpression(e,t){return e.expression!==t?update(createTypeOfExpression(t),e):e},createVoidExpression,updateVoidExpression:function updateVoidExpression(e,t){return e.expression!==t?update(createVoidExpression(t),e):e},createAwaitExpression,updateAwaitExpression:function updateAwaitExpression(e,t){return e.expression!==t?update(createAwaitExpression(t),e):e},createPrefixUnaryExpression,updatePrefixUnaryExpression:function updatePrefixUnaryExpression(e,t){return e.operand!==t?update(createPrefixUnaryExpression(e.operator,t),e):e},createPostfixUnaryExpression,updatePostfixUnaryExpression:function updatePostfixUnaryExpression(e,t){return e.operand!==t?update(createPostfixUnaryExpression(t,e.operator),e):e},createBinaryExpression,updateBinaryExpression:function updateBinaryExpression(e,t,n,r){return e.left!==t||e.operatorToken!==n||e.right!==r?update(createBinaryExpression(t,n,r),e):e},createConditionalExpression,updateConditionalExpression:function updateConditionalExpression(e,t,n,r,i,o){return e.condition!==t||e.questionToken!==n||e.whenTrue!==r||e.colonToken!==i||e.whenFalse!==o?update(createConditionalExpression(t,n,r,i,o),e):e},createTemplateExpression,updateTemplateExpression:function updateTemplateExpression(e,t,n){return e.head!==t||e.templateSpans!==n?update(createTemplateExpression(t,n),e):e},createTemplateHead:function createTemplateHead(e,t,n){return createTemplateLiteralLikeNode(16,e=checkTemplateLiteralLikeNode(16,e,t,n),t,n)},createTemplateMiddle:function createTemplateMiddle(e,t,n){return createTemplateLiteralLikeNode(17,e=checkTemplateLiteralLikeNode(16,e,t,n),t,n)},createTemplateTail:function createTemplateTail(e,t,n){return createTemplateLiteralLikeNode(18,e=checkTemplateLiteralLikeNode(16,e,t,n),t,n)},createNoSubstitutionTemplateLiteral:function createNoSubstitutionTemplateLiteral(e,t,n){return createTemplateLiteralLikeDeclaration(15,e=checkTemplateLiteralLikeNode(16,e,t,n),t,n)},createTemplateLiteralLikeNode,createYieldExpression,updateYieldExpression:function updateYieldExpression(e,t,n){return e.expression!==n||e.asteriskToken!==t?update(createYieldExpression(t,n),e):e},createSpreadElement,updateSpreadElement:function updateSpreadElement(e,t){return e.expression!==t?update(createSpreadElement(t),e):e},createClassExpression,updateClassExpression,createOmittedExpression:function createOmittedExpression(){return createBaseNode(233)},createExpressionWithTypeArguments,updateExpressionWithTypeArguments,createAsExpression,updateAsExpression,createNonNullExpression,updateNonNullExpression,createSatisfiesExpression,updateSatisfiesExpression,createNonNullChain,updateNonNullChain,createMetaProperty,updateMetaProperty:function updateMetaProperty(e,t){return e.name!==t?update(createMetaProperty(e.keywordToken,t),e):e},createTemplateSpan,updateTemplateSpan:function updateTemplateSpan(e,t,n){return e.expression!==t||e.literal!==n?update(createTemplateSpan(t,n),e):e},createSemicolonClassElement:function createSemicolonClassElement(){const e=createBaseNode(241);return e.transformFlags|=1024,e},createBlock,updateBlock:function updateBlock(e,t){return e.statements!==t?update(createBlock(t,e.multiLine),e):e},createVariableStatement,updateVariableStatement,createEmptyStatement,createExpressionStatement,updateExpressionStatement:function updateExpressionStatement(e,t){return e.expression!==t?update(createExpressionStatement(t),e):e},createIfStatement,updateIfStatement:function updateIfStatement(e,t,n,r){return e.expression!==t||e.thenStatement!==n||e.elseStatement!==r?update(createIfStatement(t,n,r),e):e},createDoStatement,updateDoStatement:function updateDoStatement(e,t,n){return e.statement!==t||e.expression!==n?update(createDoStatement(t,n),e):e},createWhileStatement,updateWhileStatement:function updateWhileStatement(e,t,n){return e.expression!==t||e.statement!==n?update(createWhileStatement(t,n),e):e},createForStatement,updateForStatement:function updateForStatement(e,t,n,r,i){return e.initializer!==t||e.condition!==n||e.incrementor!==r||e.statement!==i?update(createForStatement(t,n,r,i),e):e},createForInStatement,updateForInStatement:function updateForInStatement(e,t,n,r){return e.initializer!==t||e.expression!==n||e.statement!==r?update(createForInStatement(t,n,r),e):e},createForOfStatement,updateForOfStatement:function updateForOfStatement(e,t,n,r,i){return e.awaitModifier!==t||e.initializer!==n||e.expression!==r||e.statement!==i?update(createForOfStatement(t,n,r,i),e):e},createContinueStatement,updateContinueStatement:function updateContinueStatement(e,t){return e.label!==t?update(createContinueStatement(t),e):e},createBreakStatement,updateBreakStatement:function updateBreakStatement(e,t){return e.label!==t?update(createBreakStatement(t),e):e},createReturnStatement,updateReturnStatement:function updateReturnStatement(e,t){return e.expression!==t?update(createReturnStatement(t),e):e},createWithStatement,updateWithStatement:function updateWithStatement(e,t,n){return e.expression!==t||e.statement!==n?update(createWithStatement(t,n),e):e},createSwitchStatement,updateSwitchStatement:function updateSwitchStatement(e,t,n){return e.expression!==t||e.caseBlock!==n?update(createSwitchStatement(t,n),e):e},createLabeledStatement,updateLabeledStatement,createThrowStatement,updateThrowStatement:function updateThrowStatement(e,t){return e.expression!==t?update(createThrowStatement(t),e):e},createTryStatement,updateTryStatement:function updateTryStatement(e,t,n,r){return e.tryBlock!==t||e.catchClause!==n||e.finallyBlock!==r?update(createTryStatement(t,n,r),e):e},createDebuggerStatement:function createDebuggerStatement(){const e=createBaseNode(260);return e.jsDoc=void 0,e.flowNode=void 0,e},createVariableDeclaration,updateVariableDeclaration:function updateVariableDeclaration(e,t,n,r,i){return e.name!==t||e.type!==r||e.exclamationToken!==n||e.initializer!==i?update(createVariableDeclaration(t,n,r,i),e):e},createVariableDeclarationList,updateVariableDeclarationList:function updateVariableDeclarationList(e,t){return e.declarations!==t?update(createVariableDeclarationList(t,e.flags),e):e},createFunctionDeclaration,updateFunctionDeclaration,createClassDeclaration,updateClassDeclaration,createInterfaceDeclaration,updateInterfaceDeclaration,createTypeAliasDeclaration,updateTypeAliasDeclaration,createEnumDeclaration,updateEnumDeclaration,createModuleDeclaration,updateModuleDeclaration,createModuleBlock,updateModuleBlock:function updateModuleBlock(e,t){return e.statements!==t?update(createModuleBlock(t),e):e},createCaseBlock,updateCaseBlock:function updateCaseBlock(e,t){return e.clauses!==t?update(createCaseBlock(t),e):e},createNamespaceExportDeclaration,updateNamespaceExportDeclaration:function updateNamespaceExportDeclaration(e,t){return e.name!==t?function finishUpdateNamespaceExportDeclaration(e,t){e!==t&&(e.modifiers=t.modifiers);return update(e,t)}(createNamespaceExportDeclaration(t),e):e},createImportEqualsDeclaration,updateImportEqualsDeclaration,createImportDeclaration,updateImportDeclaration,createImportClause:createImportClause2,updateImportClause:function updateImportClause(e,t,n,r){"boolean"==typeof t&&(t=t?156:void 0);return e.phaseModifier!==t||e.name!==n||e.namedBindings!==r?update(createImportClause2(t,n,r),e):e},createAssertClause,updateAssertClause:function updateAssertClause(e,t,n){return e.elements!==t||e.multiLine!==n?update(createAssertClause(t,n),e):e},createAssertEntry,updateAssertEntry:function updateAssertEntry(e,t,n){return e.name!==t||e.value!==n?update(createAssertEntry(t,n),e):e},createImportTypeAssertionContainer,updateImportTypeAssertionContainer:function updateImportTypeAssertionContainer(e,t,n){return e.assertClause!==t||e.multiLine!==n?update(createImportTypeAssertionContainer(t,n),e):e},createImportAttributes,updateImportAttributes:function updateImportAttributes(e,t,n){return e.elements!==t||e.multiLine!==n?update(createImportAttributes(t,n,e.token),e):e},createImportAttribute,updateImportAttribute:function updateImportAttribute(e,t,n){return e.name!==t||e.value!==n?update(createImportAttribute(t,n),e):e},createNamespaceImport,updateNamespaceImport:function updateNamespaceImport(e,t){return e.name!==t?update(createNamespaceImport(t),e):e},createNamespaceExport,updateNamespaceExport:function updateNamespaceExport(e,t){return e.name!==t?update(createNamespaceExport(t),e):e},createNamedImports,updateNamedImports:function updateNamedImports(e,t){return e.elements!==t?update(createNamedImports(t),e):e},createImportSpecifier,updateImportSpecifier:function updateImportSpecifier(e,t,n,r){return e.isTypeOnly!==t||e.propertyName!==n||e.name!==r?update(createImportSpecifier(t,n,r),e):e},createExportAssignment:createExportAssignment2,updateExportAssignment,createExportDeclaration,updateExportDeclaration,createNamedExports,updateNamedExports:function updateNamedExports(e,t){return e.elements!==t?update(createNamedExports(t),e):e},createExportSpecifier,updateExportSpecifier:function updateExportSpecifier(e,t,n,r){return e.isTypeOnly!==t||e.propertyName!==n||e.name!==r?update(createExportSpecifier(t,n,r),e):e},createMissingDeclaration:function createMissingDeclaration(){const e=createBaseDeclaration(283);return e.jsDoc=void 0,e},createExternalModuleReference,updateExternalModuleReference:function updateExternalModuleReference(e,t){return e.expression!==t?update(createExternalModuleReference(t),e):e},get createJSDocAllType(){return c(313)},get createJSDocUnknownType(){return c(314)},get createJSDocNonNullableType(){return u(316)},get updateJSDocNonNullableType(){return m(316)},get createJSDocNullableType(){return u(315)},get updateJSDocNullableType(){return m(315)},get createJSDocOptionalType(){return d(317)},get updateJSDocOptionalType(){return p(317)},get createJSDocVariadicType(){return d(319)},get updateJSDocVariadicType(){return p(319)},get createJSDocNamepathType(){return d(320)},get updateJSDocNamepathType(){return p(320)},createJSDocFunctionType,updateJSDocFunctionType:function updateJSDocFunctionType(e,t,n){return e.parameters!==t||e.type!==n?update(createJSDocFunctionType(t,n),e):e},createJSDocTypeLiteral,updateJSDocTypeLiteral:function updateJSDocTypeLiteral(e,t,n){return e.jsDocPropertyTags!==t||e.isArrayType!==n?update(createJSDocTypeLiteral(t,n),e):e},createJSDocTypeExpression,updateJSDocTypeExpression:function updateJSDocTypeExpression(e,t){return e.type!==t?update(createJSDocTypeExpression(t),e):e},createJSDocSignature,updateJSDocSignature:function updateJSDocSignature(e,t,n,r){return e.typeParameters!==t||e.parameters!==n||e.type!==r?update(createJSDocSignature(t,n,r),e):e},createJSDocTemplateTag,updateJSDocTemplateTag:function updateJSDocTemplateTag(e,t=getDefaultTagName(e),n,r,i){return e.tagName!==t||e.constraint!==n||e.typeParameters!==r||e.comment!==i?update(createJSDocTemplateTag(t,n,r,i),e):e},createJSDocTypedefTag,updateJSDocTypedefTag:function updateJSDocTypedefTag(e,t=getDefaultTagName(e),n,r,i){return e.tagName!==t||e.typeExpression!==n||e.fullName!==r||e.comment!==i?update(createJSDocTypedefTag(t,n,r,i),e):e},createJSDocParameterTag,updateJSDocParameterTag:function updateJSDocParameterTag(e,t=getDefaultTagName(e),n,r,i,o,a){return e.tagName!==t||e.name!==n||e.isBracketed!==r||e.typeExpression!==i||e.isNameFirst!==o||e.comment!==a?update(createJSDocParameterTag(t,n,r,i,o,a),e):e},createJSDocPropertyTag,updateJSDocPropertyTag:function updateJSDocPropertyTag(e,t=getDefaultTagName(e),n,r,i,o,a){return e.tagName!==t||e.name!==n||e.isBracketed!==r||e.typeExpression!==i||e.isNameFirst!==o||e.comment!==a?update(createJSDocPropertyTag(t,n,r,i,o,a),e):e},createJSDocCallbackTag,updateJSDocCallbackTag:function updateJSDocCallbackTag(e,t=getDefaultTagName(e),n,r,i){return e.tagName!==t||e.typeExpression!==n||e.fullName!==r||e.comment!==i?update(createJSDocCallbackTag(t,n,r,i),e):e},createJSDocOverloadTag,updateJSDocOverloadTag:function updateJSDocOverloadTag(e,t=getDefaultTagName(e),n,r){return e.tagName!==t||e.typeExpression!==n||e.comment!==r?update(createJSDocOverloadTag(t,n,r),e):e},createJSDocAugmentsTag,updateJSDocAugmentsTag:function updateJSDocAugmentsTag(e,t=getDefaultTagName(e),n,r){return e.tagName!==t||e.class!==n||e.comment!==r?update(createJSDocAugmentsTag(t,n,r),e):e},createJSDocImplementsTag,updateJSDocImplementsTag:function updateJSDocImplementsTag(e,t=getDefaultTagName(e),n,r){return e.tagName!==t||e.class!==n||e.comment!==r?update(createJSDocImplementsTag(t,n,r),e):e},createJSDocSeeTag,updateJSDocSeeTag:function updateJSDocSeeTag(e,t,n,r){return e.tagName!==t||e.name!==n||e.comment!==r?update(createJSDocSeeTag(t,n,r),e):e},createJSDocImportTag,updateJSDocImportTag:function updateJSDocImportTag(e,t,n,r,i,o){return e.tagName!==t||e.comment!==o||e.importClause!==n||e.moduleSpecifier!==r||e.attributes!==i?update(createJSDocImportTag(t,n,r,i,o),e):e},createJSDocNameReference,updateJSDocNameReference:function updateJSDocNameReference(e,t){return e.name!==t?update(createJSDocNameReference(t),e):e},createJSDocMemberName,updateJSDocMemberName:function updateJSDocMemberName(e,t,n){return e.left!==t||e.right!==n?update(createJSDocMemberName(t,n),e):e},createJSDocLink,updateJSDocLink:function updateJSDocLink(e,t,n){return e.name!==t?update(createJSDocLink(t,n),e):e},createJSDocLinkCode,updateJSDocLinkCode:function updateJSDocLinkCode(e,t,n){return e.name!==t?update(createJSDocLinkCode(t,n),e):e},createJSDocLinkPlain,updateJSDocLinkPlain:function updateJSDocLinkPlain(e,t,n){return e.name!==t?update(createJSDocLinkPlain(t,n),e):e},get createJSDocTypeTag(){return g(345)},get updateJSDocTypeTag(){return y(345)},get createJSDocReturnTag(){return g(343)},get updateJSDocReturnTag(){return y(343)},get createJSDocThisTag(){return g(344)},get updateJSDocThisTag(){return y(344)},get createJSDocAuthorTag(){return _(331)},get updateJSDocAuthorTag(){return f(331)},get createJSDocClassTag(){return _(333)},get updateJSDocClassTag(){return f(333)},get createJSDocPublicTag(){return _(334)},get updateJSDocPublicTag(){return f(334)},get createJSDocPrivateTag(){return _(335)},get updateJSDocPrivateTag(){return f(335)},get createJSDocProtectedTag(){return _(336)},get updateJSDocProtectedTag(){return f(336)},get createJSDocReadonlyTag(){return _(337)},get updateJSDocReadonlyTag(){return f(337)},get createJSDocOverrideTag(){return _(338)},get updateJSDocOverrideTag(){return f(338)},get createJSDocDeprecatedTag(){return _(332)},get updateJSDocDeprecatedTag(){return f(332)},get createJSDocThrowsTag(){return g(350)},get updateJSDocThrowsTag(){return y(350)},get createJSDocSatisfiesTag(){return g(351)},get updateJSDocSatisfiesTag(){return y(351)},createJSDocEnumTag,updateJSDocEnumTag:function updateJSDocEnumTag(e,t=getDefaultTagName(e),n,r){return e.tagName!==t||e.typeExpression!==n||e.comment!==r?update(createJSDocEnumTag(t,n,r),e):e},createJSDocUnknownTag,updateJSDocUnknownTag:function updateJSDocUnknownTag(e,t,n){return e.tagName!==t||e.comment!==n?update(createJSDocUnknownTag(t,n),e):e},createJSDocText,updateJSDocText:function updateJSDocText(e,t){return e.text!==t?update(createJSDocText(t),e):e},createJSDocComment,updateJSDocComment:function updateJSDocComment(e,t,n){return e.comment!==t||e.tags!==n?update(createJSDocComment(t,n),e):e},createJsxElement,updateJsxElement:function updateJsxElement(e,t,n,r){return e.openingElement!==t||e.children!==n||e.closingElement!==r?update(createJsxElement(t,n,r),e):e},createJsxSelfClosingElement,updateJsxSelfClosingElement:function updateJsxSelfClosingElement(e,t,n,r){return e.tagName!==t||e.typeArguments!==n||e.attributes!==r?update(createJsxSelfClosingElement(t,n,r),e):e},createJsxOpeningElement,updateJsxOpeningElement:function updateJsxOpeningElement(e,t,n,r){return e.tagName!==t||e.typeArguments!==n||e.attributes!==r?update(createJsxOpeningElement(t,n,r),e):e},createJsxClosingElement,updateJsxClosingElement:function updateJsxClosingElement(e,t){return e.tagName!==t?update(createJsxClosingElement(t),e):e},createJsxFragment,createJsxText,updateJsxText:function updateJsxText(e,t,n){return e.text!==t||e.containsOnlyTriviaWhiteSpaces!==n?update(createJsxText(t,n),e):e},createJsxOpeningFragment:function createJsxOpeningFragment(){const e=createBaseNode(290);return e.transformFlags|=2,e},createJsxJsxClosingFragment:function createJsxJsxClosingFragment(){const e=createBaseNode(291);return e.transformFlags|=2,e},updateJsxFragment:function updateJsxFragment(e,t,n,r){return e.openingFragment!==t||e.children!==n||e.closingFragment!==r?update(createJsxFragment(t,n,r),e):e},createJsxAttribute,updateJsxAttribute:function updateJsxAttribute(e,t,n){return e.name!==t||e.initializer!==n?update(createJsxAttribute(t,n),e):e},createJsxAttributes,updateJsxAttributes:function updateJsxAttributes(e,t){return e.properties!==t?update(createJsxAttributes(t),e):e},createJsxSpreadAttribute,updateJsxSpreadAttribute:function updateJsxSpreadAttribute(e,t){return e.expression!==t?update(createJsxSpreadAttribute(t),e):e},createJsxExpression,updateJsxExpression:function updateJsxExpression(e,t){return e.expression!==t?update(createJsxExpression(e.dotDotDotToken,t),e):e},createJsxNamespacedName,updateJsxNamespacedName:function updateJsxNamespacedName(e,t,n){return e.namespace!==t||e.name!==n?update(createJsxNamespacedName(t,n),e):e},createCaseClause,updateCaseClause:function updateCaseClause(e,t,n){return e.expression!==t||e.statements!==n?update(createCaseClause(t,n),e):e},createDefaultClause,updateDefaultClause:function updateDefaultClause(e,t){return e.statements!==t?update(createDefaultClause(t),e):e},createHeritageClause,updateHeritageClause:function updateHeritageClause(e,t){return e.types!==t?update(createHeritageClause(e.token,t),e):e},createCatchClause,updateCatchClause:function updateCatchClause(e,t,n){return e.variableDeclaration!==t||e.block!==n?update(createCatchClause(t,n),e):e},createPropertyAssignment,updatePropertyAssignment,createShorthandPropertyAssignment,updateShorthandPropertyAssignment:function updateShorthandPropertyAssignment(e,t,n){return e.name!==t||e.objectAssignmentInitializer!==n?function finishUpdateShorthandPropertyAssignment(e,t){e!==t&&(e.modifiers=t.modifiers,e.questionToken=t.questionToken,e.exclamationToken=t.exclamationToken,e.equalsToken=t.equalsToken);return update(e,t)}(createShorthandPropertyAssignment(t,n),e):e},createSpreadAssignment,updateSpreadAssignment:function updateSpreadAssignment(e,t){return e.expression!==t?update(createSpreadAssignment(t),e):e},createEnumMember,updateEnumMember:function updateEnumMember(e,t,n){return e.name!==t||e.initializer!==n?update(createEnumMember(t,n),e):e},createSourceFile:function createSourceFile2(e,n,r){const i=t.createBaseSourceFileNode(308);return i.statements=createNodeArray(e),i.endOfFileToken=n,i.flags|=r,i.text="",i.fileName="",i.path="",i.resolvedPath="",i.originalFileName="",i.languageVersion=1,i.languageVariant=0,i.scriptKind=0,i.isDeclarationFile=!1,i.hasNoDefaultLib=!1,i.transformFlags|=propagateChildrenFlags(i.statements)|propagateChildFlags(i.endOfFileToken),i.locals=void 0,i.nextContainer=void 0,i.endFlowNode=void 0,i.nodeCount=0,i.identifierCount=0,i.symbolCount=0,i.parseDiagnostics=void 0,i.bindDiagnostics=void 0,i.bindSuggestionDiagnostics=void 0,i.lineMap=void 0,i.externalModuleIndicator=void 0,i.setExternalModuleIndicator=void 0,i.pragmas=void 0,i.checkJsDirective=void 0,i.referencedFiles=void 0,i.typeReferenceDirectives=void 0,i.libReferenceDirectives=void 0,i.amdDependencies=void 0,i.commentDirectives=void 0,i.identifiers=void 0,i.packageJsonLocations=void 0,i.packageJsonScope=void 0,i.imports=void 0,i.moduleAugmentations=void 0,i.ambientModuleNames=void 0,i.classifiableNames=void 0,i.impliedNodeFormat=void 0,i},updateSourceFile:function updateSourceFile2(e,t,n=e.isDeclarationFile,r=e.referencedFiles,i=e.typeReferenceDirectives,o=e.hasNoDefaultLib,a=e.libReferenceDirectives){return e.statements!==t||e.isDeclarationFile!==n||e.referencedFiles!==r||e.typeReferenceDirectives!==i||e.hasNoDefaultLib!==o||e.libReferenceDirectives!==a?update(function cloneSourceFileWithChanges(e,t,n,r,i,o,a){const s=cloneSourceFile(e);return s.statements=createNodeArray(t),s.isDeclarationFile=n,s.referencedFiles=r,s.typeReferenceDirectives=i,s.hasNoDefaultLib=o,s.libReferenceDirectives=a,s.transformFlags=propagateChildrenFlags(s.statements)|propagateChildFlags(s.endOfFileToken),s}(e,t,n,r,i,o,a),e):e},createRedirectedSourceFile,createBundle,updateBundle:function updateBundle(e,t){return e.sourceFiles!==t?update(createBundle(t),e):e},createSyntheticExpression:function createSyntheticExpression(e,t=!1,n){const r=createBaseNode(238);return r.type=e,r.isSpread=t,r.tupleNameSource=n,r},createSyntaxList:function createSyntaxList3(e){const t=createBaseNode(353);return t._children=e,t},createNotEmittedStatement:function createNotEmittedStatement(e){const t=createBaseNode(354);return t.original=e,setTextRange(t,e),t},createNotEmittedTypeElement:function createNotEmittedTypeElement(){return createBaseNode(355)},createPartiallyEmittedExpression,updatePartiallyEmittedExpression,createCommaListExpression,updateCommaListExpression:function updateCommaListExpression(e,t){return e.elements!==t?update(createCommaListExpression(t),e):e},createSyntheticReferenceExpression,updateSyntheticReferenceExpression:function updateSyntheticReferenceExpression(e,t,n){return e.expression!==t||e.thisArg!==n?update(createSyntheticReferenceExpression(t,n),e):e},cloneNode,get createComma(){return o(28)},get createAssignment(){return o(64)},get createLogicalOr(){return o(57)},get createLogicalAnd(){return o(56)},get createBitwiseOr(){return o(52)},get createBitwiseXor(){return o(53)},get createBitwiseAnd(){return o(51)},get createStrictEquality(){return o(37)},get createStrictInequality(){return o(38)},get createEquality(){return o(35)},get createInequality(){return o(36)},get createLessThan(){return o(30)},get createLessThanEquals(){return o(33)},get createGreaterThan(){return o(32)},get createGreaterThanEquals(){return o(34)},get createLeftShift(){return o(48)},get createRightShift(){return o(49)},get createUnsignedRightShift(){return o(50)},get createAdd(){return o(40)},get createSubtract(){return o(41)},get createMultiply(){return o(42)},get createDivide(){return o(44)},get createModulo(){return o(45)},get createExponent(){return o(43)},get createPrefixPlus(){return a(40)},get createPrefixMinus(){return a(41)},get createPrefixIncrement(){return a(46)},get createPrefixDecrement(){return a(47)},get createBitwiseNot(){return a(55)},get createLogicalNot(){return a(54)},get createPostfixIncrement(){return s(46)},get createPostfixDecrement(){return s(47)},createImmediatelyInvokedFunctionExpression:function createImmediatelyInvokedFunctionExpression(e,t,n){return createCallExpression(createFunctionExpression(void 0,void 0,void 0,void 0,t?[t]:[],void 0,createBlock(e,!0)),void 0,n?[n]:[])},createImmediatelyInvokedArrowFunction:function createImmediatelyInvokedArrowFunction(e,t,n){return createCallExpression(createArrowFunction(void 0,void 0,t?[t]:[],void 0,void 0,createBlock(e,!0)),void 0,n?[n]:[])},createVoidZero,createExportDefault:function createExportDefault(e){return createExportAssignment2(void 0,!1,e)},createExternalModuleExport:function createExternalModuleExport(e){return createExportDeclaration(void 0,!1,createNamedExports([createExportSpecifier(!1,void 0,e)]))},createTypeCheck:function createTypeCheck(e,t){return"null"===t?T.createStrictEquality(e,createNull()):"undefined"===t?T.createStrictEquality(e,createVoidZero()):T.createStrictEquality(createTypeOfExpression(e),createStringLiteral(t))},createIsNotTypeCheck:function createIsNotTypeCheck(e,t){return"null"===t?T.createStrictInequality(e,createNull()):"undefined"===t?T.createStrictInequality(e,createVoidZero()):T.createStrictInequality(createTypeOfExpression(e),createStringLiteral(t))},createMethodCall,createGlobalMethodCall,createFunctionBindCall:function createFunctionBindCall(e,t,n){return createMethodCall(e,"bind",[t,...n])},createFunctionCallCall:function createFunctionCallCall(e,t,n){return createMethodCall(e,"call",[t,...n])},createFunctionApplyCall:function createFunctionApplyCall(e,t,n){return createMethodCall(e,"apply",[t,n])},createArraySliceCall:function createArraySliceCall(e,t){return createMethodCall(e,"slice",void 0===t?[]:[asExpression(t)])},createArrayConcatCall:function createArrayConcatCall(e,t){return createMethodCall(e,"concat",t)},createObjectDefinePropertyCall:function createObjectDefinePropertyCall(e,t,n){return createGlobalMethodCall("Object","defineProperty",[e,asExpression(t),n])},createObjectGetOwnPropertyDescriptorCall:function createObjectGetOwnPropertyDescriptorCall(e,t){return createGlobalMethodCall("Object","getOwnPropertyDescriptor",[e,asExpression(t)])},createReflectGetCall:function createReflectGetCall(e,t,n){return createGlobalMethodCall("Reflect","get",n?[e,t,n]:[e,t])},createReflectSetCall:function createReflectSetCall(e,t,n,r){return createGlobalMethodCall("Reflect","set",r?[e,t,n,r]:[e,t,n])},createPropertyDescriptor:function createPropertyDescriptor(e,t){const n=[];tryAddPropertyAssignment(n,"enumerable",asExpression(e.enumerable)),tryAddPropertyAssignment(n,"configurable",asExpression(e.configurable));let r=tryAddPropertyAssignment(n,"writable",asExpression(e.writable));r=tryAddPropertyAssignment(n,"value",e.value)||r;let i=tryAddPropertyAssignment(n,"get",e.get);return i=tryAddPropertyAssignment(n,"set",e.set)||i,h.assert(!(r&&i),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),createObjectLiteralExpression(n,!t)},createCallBinding:function createCallBinding(e,t,n,i=!1){const o=skipOuterExpressions(e,63);let a,s;isSuperProperty(o)?(a=createThis(),s=o):isSuperKeyword(o)?(a=createThis(),s=void 0!==n&&n<2?setTextRange(createIdentifier("_super"),o):o):8192&getEmitFlags(o)?(a=createVoidZero(),s=r().parenthesizeLeftSideOfAccess(o,!1)):isPropertyAccessExpression(o)?shouldBeCapturedInTempVariable(o.expression,i)?(a=createTempVariable(t),s=createPropertyAccessExpression(setTextRange(T.createAssignment(a,o.expression),o.expression),o.name),setTextRange(s,o)):(a=o.expression,s=o):isElementAccessExpression(o)?shouldBeCapturedInTempVariable(o.expression,i)?(a=createTempVariable(t),s=createElementAccessExpression(setTextRange(T.createAssignment(a,o.expression),o.expression),o.argumentExpression),setTextRange(s,o)):(a=o.expression,s=o):(a=createVoidZero(),s=r().parenthesizeLeftSideOfAccess(e,!1));return{target:s,thisArg:a}},createAssignmentTargetWrapper:function createAssignmentTargetWrapper(e,t){return createPropertyAccessExpression(createParenthesizedExpression(createObjectLiteralExpression([createSetAccessorDeclaration(void 0,"value",[createParameterDeclaration(void 0,void 0,e,void 0,void 0,void 0)],createBlock([createExpressionStatement(t)]))])),"value")},inlineExpressions:function inlineExpressions(e){return e.length>10?createCommaListExpression(e):reduceLeft(e,T.createComma)},getInternalName:function getInternalName(e,t,n){return getName(e,t,n,98304)},getLocalName:function getLocalName(e,t,n,r){return getName(e,t,n,32768,r)},getExportName,getDeclarationName:function getDeclarationName(e,t,n){return getName(e,t,n)},getNamespaceMemberName,getExternalModuleOrNamespaceExportName:function getExternalModuleOrNamespaceExportName(e,t,n,r){if(e&&hasSyntacticModifier(t,32))return getNamespaceMemberName(e,getName(t),n,r);return getExportName(t,n,r)},restoreOuterExpressions:function restoreOuterExpressions(e,t,n=63){if(e&&isOuterExpression(e,n)&&!function isIgnorableParen(e){return isParenthesizedExpression(e)&&nodeIsSynthesized(e)&&nodeIsSynthesized(getSourceMapRange(e))&&nodeIsSynthesized(getCommentRange(e))&&!some(getSyntheticLeadingComments(e))&&!some(getSyntheticTrailingComments(e))}(e))return function updateOuterExpression(e,t){switch(e.kind){case 218:return updateParenthesizedExpression(e,t);case 217:return updateTypeAssertion(e,e.type,t);case 235:return updateAsExpression(e,t,e.type);case 239:return updateSatisfiesExpression(e,t,e.type);case 236:return updateNonNullExpression(e,t);case 234:return updateExpressionWithTypeArguments(e,t,e.typeArguments);case 356:return updatePartiallyEmittedExpression(e,t)}}(e,restoreOuterExpressions(e.expression,t));return t},restoreEnclosingLabel:function restoreEnclosingLabel(e,t,n){if(!t)return e;const r=updateLabeledStatement(t,t.label,isLabeledStatement(t.statement)?restoreEnclosingLabel(e,t.statement):e);n&&n(t);return r},createUseStrictPrologue,copyPrologue:function copyPrologue(e,t,n,r){const i=copyStandardPrologue(e,t,0,n);return copyCustomPrologue(e,t,i,r)},copyStandardPrologue,copyCustomPrologue,ensureUseStrict:function ensureUseStrict(e){if(!findUseStrictPrologue(e))return setTextRange(createNodeArray([createUseStrictPrologue(),...e]),e);return e},liftToBlock:function liftToBlock(e){return h.assert(every(e,isStatementOrBlock),"Cannot lift nodes to a Block."),singleOrUndefined(e)||createBlock(e)},mergeLexicalEnvironment:function mergeLexicalEnvironment(e,t){if(!some(t))return e;const n=findSpanEnd(e,isPrologueDirective,0),r=findSpanEnd(e,isHoistedFunction,n),i=findSpanEnd(e,isHoistedVariableStatement,r),o=findSpanEnd(t,isPrologueDirective,0),a=findSpanEnd(t,isHoistedFunction,o),s=findSpanEnd(t,isHoistedVariableStatement,a),c=findSpanEnd(t,isCustomPrologue,s);h.assert(c===t.length,"Expected declarations to be valid standard or custom prologues");const l=isNodeArray(e)?e.slice():e;c>s&&l.splice(i,0,...t.slice(s,c));s>a&&l.splice(r,0,...t.slice(a,s));a>o&&l.splice(n,0,...t.slice(o,a));if(o>0)if(0===n)l.splice(0,0,...t.slice(0,o));else{const r=new Map;for(let t=0;t<n;t++){const n=e[t];r.set(n.expression.text,!0)}for(let e=o-1;e>=0;e--){const n=t[e];r.has(n.expression.text)||l.unshift(n)}}if(isNodeArray(e))return setTextRange(createNodeArray(l,e.hasTrailingComma),e);return e},replaceModifiers:function replaceModifiers(e,t){let n;n="number"==typeof t?createModifiersFromModifierFlags(t):t;return isTypeParameterDeclaration(e)?updateTypeParameterDeclaration(e,n,e.name,e.constraint,e.default):isParameter(e)?updateParameterDeclaration(e,n,e.dotDotDotToken,e.name,e.questionToken,e.type,e.initializer):isConstructorTypeNode(e)?updateConstructorTypeNode1(e,n,e.typeParameters,e.parameters,e.type):isPropertySignature(e)?updatePropertySignature(e,n,e.name,e.questionToken,e.type):isPropertyDeclaration(e)?updatePropertyDeclaration2(e,n,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer):isMethodSignature(e)?updateMethodSignature(e,n,e.name,e.questionToken,e.typeParameters,e.parameters,e.type):isMethodDeclaration(e)?updateMethodDeclaration(e,n,e.asteriskToken,e.name,e.questionToken,e.typeParameters,e.parameters,e.type,e.body):isConstructorDeclaration(e)?updateConstructorDeclaration(e,n,e.parameters,e.body):isGetAccessorDeclaration(e)?updateGetAccessorDeclaration(e,n,e.name,e.parameters,e.type,e.body):isSetAccessorDeclaration(e)?updateSetAccessorDeclaration(e,n,e.name,e.parameters,e.body):isIndexSignatureDeclaration(e)?updateIndexSignature(e,n,e.parameters,e.type):isFunctionExpression(e)?updateFunctionExpression(e,n,e.asteriskToken,e.name,e.typeParameters,e.parameters,e.type,e.body):isArrowFunction(e)?updateArrowFunction(e,n,e.typeParameters,e.parameters,e.type,e.equalsGreaterThanToken,e.body):isClassExpression(e)?updateClassExpression(e,n,e.name,e.typeParameters,e.heritageClauses,e.members):isVariableStatement(e)?updateVariableStatement(e,n,e.declarationList):isFunctionDeclaration(e)?updateFunctionDeclaration(e,n,e.asteriskToken,e.name,e.typeParameters,e.parameters,e.type,e.body):isClassDeclaration(e)?updateClassDeclaration(e,n,e.name,e.typeParameters,e.heritageClauses,e.members):isInterfaceDeclaration(e)?updateInterfaceDeclaration(e,n,e.name,e.typeParameters,e.heritageClauses,e.members):isTypeAliasDeclaration(e)?updateTypeAliasDeclaration(e,n,e.name,e.typeParameters,e.type):isEnumDeclaration(e)?updateEnumDeclaration(e,n,e.name,e.members):isModuleDeclaration(e)?updateModuleDeclaration(e,n,e.name,e.body):isImportEqualsDeclaration(e)?updateImportEqualsDeclaration(e,n,e.isTypeOnly,e.name,e.moduleReference):isImportDeclaration(e)?updateImportDeclaration(e,n,e.importClause,e.moduleSpecifier,e.attributes):isExportAssignment(e)?updateExportAssignment(e,n,e.expression):isExportDeclaration(e)?updateExportDeclaration(e,n,e.isTypeOnly,e.exportClause,e.moduleSpecifier,e.attributes):h.assertNever(e)},replaceDecoratorsAndModifiers:function replaceDecoratorsAndModifiers(e,t){return isParameter(e)?updateParameterDeclaration(e,t,e.dotDotDotToken,e.name,e.questionToken,e.type,e.initializer):isPropertyDeclaration(e)?updatePropertyDeclaration2(e,t,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer):isMethodDeclaration(e)?updateMethodDeclaration(e,t,e.asteriskToken,e.name,e.questionToken,e.typeParameters,e.parameters,e.type,e.body):isGetAccessorDeclaration(e)?updateGetAccessorDeclaration(e,t,e.name,e.parameters,e.type,e.body):isSetAccessorDeclaration(e)?updateSetAccessorDeclaration(e,t,e.name,e.parameters,e.body):isClassExpression(e)?updateClassExpression(e,t,e.name,e.typeParameters,e.heritageClauses,e.members):isClassDeclaration(e)?updateClassDeclaration(e,t,e.name,e.typeParameters,e.heritageClauses,e.members):h.assertNever(e)},replacePropertyName:function replacePropertyName(e,t){switch(e.kind){case 178:return updateGetAccessorDeclaration(e,e.modifiers,t,e.parameters,e.type,e.body);case 179:return updateSetAccessorDeclaration(e,e.modifiers,t,e.parameters,e.body);case 175:return updateMethodDeclaration(e,e.modifiers,e.asteriskToken,t,e.questionToken,e.typeParameters,e.parameters,e.type,e.body);case 174:return updateMethodSignature(e,e.modifiers,t,e.questionToken,e.typeParameters,e.parameters,e.type);case 173:return updatePropertyDeclaration2(e,e.modifiers,t,e.questionToken??e.exclamationToken,e.type,e.initializer);case 172:return updatePropertySignature(e,e.modifiers,t,e.questionToken,e.type);case 304:return updatePropertyAssignment(e,t,e.initializer)}}};return forEach(Rr,e=>e(T)),T;function createNodeArray(e,t){if(void 0===e||e===l)e=[];else if(isNodeArray(e)){if(void 0===t||e.hasTrailingComma===t)return void 0===e.transformFlags&&aggregateChildrenFlags(e),h.attachNodeArrayDebugInfo(e),e;const n=e.slice();return n.pos=e.pos,n.end=e.end,n.hasTrailingComma=t,n.transformFlags=e.transformFlags,h.attachNodeArrayDebugInfo(n),n}const n=e.length,r=n>=1&&n<=4?e.slice():e;return r.pos=-1,r.end=-1,r.hasTrailingComma=!!t,r.transformFlags=0,aggregateChildrenFlags(r),h.attachNodeArrayDebugInfo(r),r}function createBaseNode(e){return t.createBaseNode(e)}function createBaseDeclaration(e){const t=createBaseNode(e);return t.symbol=void 0,t.localSymbol=void 0,t}function finishUpdateBaseSignatureDeclaration(e,t){return e!==t&&(e.typeArguments=t.typeArguments),update(e,t)}function createNumericLiteral(e,t=0){const n="number"==typeof e?e+"":e;h.assert(45!==n.charCodeAt(0),"Negative numbers should be created in combination with createPrefixUnaryExpression");const r=createBaseDeclaration(9);return r.text=n,r.numericLiteralFlags=t,384&t&&(r.transformFlags|=1024),r}function createBigIntLiteral(e){const t=createBaseToken(10);return t.text="string"==typeof e?e:pseudoBigIntToString(e)+"n",t.transformFlags|=32,t}function createBaseStringLiteral(e,t){const n=createBaseDeclaration(11);return n.text=e,n.singleQuote=t,n}function createStringLiteral(e,t,n){const r=createBaseStringLiteral(e,t);return r.hasExtendedUnicodeEscape=n,n&&(r.transformFlags|=1024),r}function createRegularExpressionLiteral(e){const t=createBaseToken(14);return t.text=e,t}function createBaseIdentifier(e){const n=t.createBaseIdentifierNode(80);return n.escapedText=e,n.jsDoc=void 0,n.flowNode=void 0,n.symbol=void 0,n}function createBaseGeneratedIdentifier(e,t,n,r){const i=createBaseIdentifier(escapeLeadingUnderscores(e));return setIdentifierAutoGenerate(i,{flags:t,id:Lr,prefix:n,suffix:r}),Lr++,i}function createIdentifier(e,t,n){void 0===t&&e&&(t=stringToToken(e)),80===t&&(t=void 0);const r=createBaseIdentifier(escapeLeadingUnderscores(e));return n&&(r.flags|=256),"await"===r.escapedText&&(r.transformFlags|=67108864),256&r.flags&&(r.transformFlags|=1024),r}function createTempVariable(e,t,n,r){let i=1;t&&(i|=8);const o=createBaseGeneratedIdentifier("",i,n,r);return e&&e(o),o}function getGeneratedNameForNode(e,t=0,n,r){h.assert(!(7&t),"Argument out of range: flags");(n||r)&&(t|=16);const i=createBaseGeneratedIdentifier(e?isMemberName(e)?formatGeneratedName(!1,n,e,r,idText):`generated@${getNodeId(e)}`:"",4|t,n,r);return i.original=e,i}function createBasePrivateIdentifier(e){const n=t.createBasePrivateIdentifierNode(81);return n.escapedText=e,n.transformFlags|=16777216,n}function createBaseGeneratedPrivateIdentifier(e,t,n,r){const i=createBasePrivateIdentifier(escapeLeadingUnderscores(e));return setIdentifierAutoGenerate(i,{flags:t,id:Lr,prefix:n,suffix:r}),Lr++,i}function createBaseToken(e){return t.createBaseTokenNode(e)}function createToken(e){h.assert(e>=0&&e<=166,"Invalid token"),h.assert(e<=15||e>=18,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),h.assert(e<=9||e>=15,"Invalid token. Use 'createLiteralLikeNode' to create literals."),h.assert(80!==e,"Invalid token. Use 'createIdentifier' to create identifiers");const t=createBaseToken(e);let n=0;switch(e){case 134:n=384;break;case 160:n=4;break;case 125:case 123:case 124:case 148:case 128:case 138:case 87:case 133:case 150:case 163:case 146:case 151:case 103:case 147:case 164:case 154:case 136:case 155:case 116:case 159:case 157:n=1;break;case 108:n=134218752,t.flowNode=void 0;break;case 126:n=1024;break;case 129:n=16777216;break;case 110:n=16384,t.flowNode=void 0}return n&&(t.transformFlags|=n),t}function createThis(){return createToken(110)}function createNull(){return createToken(106)}function createTrue(){return createToken(112)}function createFalse(){return createToken(97)}function createModifier(e){return createToken(e)}function createModifiersFromModifierFlags(e){const t=[];return 32&e&&t.push(createModifier(95)),128&e&&t.push(createModifier(138)),2048&e&&t.push(createModifier(90)),4096&e&&t.push(createModifier(87)),1&e&&t.push(createModifier(125)),2&e&&t.push(createModifier(123)),4&e&&t.push(createModifier(124)),64&e&&t.push(createModifier(128)),256&e&&t.push(createModifier(126)),16&e&&t.push(createModifier(164)),8&e&&t.push(createModifier(148)),512&e&&t.push(createModifier(129)),1024&e&&t.push(createModifier(134)),8192&e&&t.push(createModifier(103)),16384&e&&t.push(createModifier(147)),t.length?t:void 0}function createQualifiedName(e,t){const n=createBaseNode(167);return n.left=e,n.right=asName(t),n.transformFlags|=propagateChildFlags(n.left)|propagateIdentifierNameFlags(n.right),n.flowNode=void 0,n}function createComputedPropertyName(e){const t=createBaseNode(168);return t.expression=r().parenthesizeExpressionOfComputedPropertyName(e),t.transformFlags|=132096|propagateChildFlags(t.expression),t}function createTypeParameterDeclaration(e,t,n,r){const i=createBaseDeclaration(169);return i.modifiers=asNodeArray(e),i.name=asName(t),i.constraint=n,i.default=r,i.transformFlags=1,i.expression=void 0,i.jsDoc=void 0,i}function updateTypeParameterDeclaration(e,t,n,r,i){return e.modifiers!==t||e.name!==n||e.constraint!==r||e.default!==i?update(createTypeParameterDeclaration(t,n,r,i),e):e}function createParameterDeclaration(e,t,n,r,i,o){const a=createBaseDeclaration(170);return a.modifiers=asNodeArray(e),a.dotDotDotToken=t,a.name=asName(n),a.questionToken=r,a.type=i,a.initializer=asInitializer(o),isThisIdentifier(a.name)?a.transformFlags=1:a.transformFlags=propagateChildrenFlags(a.modifiers)|propagateChildFlags(a.dotDotDotToken)|propagateNameFlags(a.name)|propagateChildFlags(a.questionToken)|propagateChildFlags(a.initializer)|(a.questionToken??a.type?1:0)|(a.dotDotDotToken??a.initializer?1024:0)|(31&modifiersToFlags(a.modifiers)?8192:0),a.jsDoc=void 0,a}function updateParameterDeclaration(e,t,n,r,i,o,a){return e.modifiers!==t||e.dotDotDotToken!==n||e.name!==r||e.questionToken!==i||e.type!==o||e.initializer!==a?update(createParameterDeclaration(t,n,r,i,o,a),e):e}function createDecorator(e){const t=createBaseNode(171);return t.expression=r().parenthesizeLeftSideOfAccess(e,!1),t.transformFlags|=33562625|propagateChildFlags(t.expression),t}function createPropertySignature(e,t,n,r){const i=createBaseDeclaration(172);return i.modifiers=asNodeArray(e),i.name=asName(t),i.type=r,i.questionToken=n,i.transformFlags=1,i.initializer=void 0,i.jsDoc=void 0,i}function updatePropertySignature(e,t,n,r,i){return e.modifiers!==t||e.name!==n||e.questionToken!==r||e.type!==i?function finishUpdatePropertySignature(e,t){e!==t&&(e.initializer=t.initializer);return update(e,t)}(createPropertySignature(t,n,r,i),e):e}function createPropertyDeclaration(e,t,n,r,i){const o=createBaseDeclaration(173);o.modifiers=asNodeArray(e),o.name=asName(t),o.questionToken=n&&isQuestionToken(n)?n:void 0,o.exclamationToken=n&&isExclamationToken(n)?n:void 0,o.type=r,o.initializer=asInitializer(i);const a=33554432&o.flags||128&modifiersToFlags(o.modifiers);return o.transformFlags=propagateChildrenFlags(o.modifiers)|propagateNameFlags(o.name)|propagateChildFlags(o.initializer)|(a||o.questionToken||o.exclamationToken||o.type?1:0)|(isComputedPropertyName(o.name)||256&modifiersToFlags(o.modifiers)&&o.initializer?8192:0)|16777216,o.jsDoc=void 0,o}function updatePropertyDeclaration2(e,t,n,r,i,o){return e.modifiers!==t||e.name!==n||e.questionToken!==(void 0!==r&&isQuestionToken(r)?r:void 0)||e.exclamationToken!==(void 0!==r&&isExclamationToken(r)?r:void 0)||e.type!==i||e.initializer!==o?update(createPropertyDeclaration(t,n,r,i,o),e):e}function createMethodSignature(e,t,n,r,i,o){const a=createBaseDeclaration(174);return a.modifiers=asNodeArray(e),a.name=asName(t),a.questionToken=n,a.typeParameters=asNodeArray(r),a.parameters=asNodeArray(i),a.type=o,a.transformFlags=1,a.jsDoc=void 0,a.locals=void 0,a.nextContainer=void 0,a.typeArguments=void 0,a}function updateMethodSignature(e,t,n,r,i,o,a){return e.modifiers!==t||e.name!==n||e.questionToken!==r||e.typeParameters!==i||e.parameters!==o||e.type!==a?finishUpdateBaseSignatureDeclaration(createMethodSignature(t,n,r,i,o,a),e):e}function createMethodDeclaration(e,t,n,r,i,o,a,s){const c=createBaseDeclaration(175);if(c.modifiers=asNodeArray(e),c.asteriskToken=t,c.name=asName(n),c.questionToken=r,c.exclamationToken=void 0,c.typeParameters=asNodeArray(i),c.parameters=createNodeArray(o),c.type=a,c.body=s,c.body){const e=1024&modifiersToFlags(c.modifiers),t=!!c.asteriskToken,n=e&&t;c.transformFlags=propagateChildrenFlags(c.modifiers)|propagateChildFlags(c.asteriskToken)|propagateNameFlags(c.name)|propagateChildFlags(c.questionToken)|propagateChildrenFlags(c.typeParameters)|propagateChildrenFlags(c.parameters)|propagateChildFlags(c.type)|-67108865&propagateChildFlags(c.body)|(n?128:e?256:t?2048:0)|(c.questionToken||c.typeParameters||c.type?1:0)|1024}else c.transformFlags=1;return c.typeArguments=void 0,c.jsDoc=void 0,c.locals=void 0,c.nextContainer=void 0,c.flowNode=void 0,c.endFlowNode=void 0,c.returnFlowNode=void 0,c}function updateMethodDeclaration(e,t,n,r,i,o,a,s,c){return e.modifiers!==t||e.asteriskToken!==n||e.name!==r||e.questionToken!==i||e.typeParameters!==o||e.parameters!==a||e.type!==s||e.body!==c?function finishUpdateMethodDeclaration(e,t){e!==t&&(e.exclamationToken=t.exclamationToken);return update(e,t)}(createMethodDeclaration(t,n,r,i,o,a,s,c),e):e}function createClassStaticBlockDeclaration(e){const t=createBaseDeclaration(176);return t.body=e,t.transformFlags=16777216|propagateChildFlags(e),t.modifiers=void 0,t.jsDoc=void 0,t.locals=void 0,t.nextContainer=void 0,t.endFlowNode=void 0,t.returnFlowNode=void 0,t}function createConstructorDeclaration(e,t,n){const r=createBaseDeclaration(177);return r.modifiers=asNodeArray(e),r.parameters=createNodeArray(t),r.body=n,r.body?r.transformFlags=propagateChildrenFlags(r.modifiers)|propagateChildrenFlags(r.parameters)|-67108865&propagateChildFlags(r.body)|1024:r.transformFlags=1,r.typeParameters=void 0,r.type=void 0,r.typeArguments=void 0,r.jsDoc=void 0,r.locals=void 0,r.nextContainer=void 0,r.endFlowNode=void 0,r.returnFlowNode=void 0,r}function updateConstructorDeclaration(e,t,n,r){return e.modifiers!==t||e.parameters!==n||e.body!==r?function finishUpdateConstructorDeclaration(e,t){e!==t&&(e.typeParameters=t.typeParameters,e.type=t.type);return finishUpdateBaseSignatureDeclaration(e,t)}(createConstructorDeclaration(t,n,r),e):e}function createGetAccessorDeclaration(e,t,n,r,i){const o=createBaseDeclaration(178);return o.modifiers=asNodeArray(e),o.name=asName(t),o.parameters=createNodeArray(n),o.type=r,o.body=i,o.body?o.transformFlags=propagateChildrenFlags(o.modifiers)|propagateNameFlags(o.name)|propagateChildrenFlags(o.parameters)|propagateChildFlags(o.type)|-67108865&propagateChildFlags(o.body)|(o.type?1:0):o.transformFlags=1,o.typeArguments=void 0,o.typeParameters=void 0,o.jsDoc=void 0,o.locals=void 0,o.nextContainer=void 0,o.flowNode=void 0,o.endFlowNode=void 0,o.returnFlowNode=void 0,o}function updateGetAccessorDeclaration(e,t,n,r,i,o){return e.modifiers!==t||e.name!==n||e.parameters!==r||e.type!==i||e.body!==o?function finishUpdateGetAccessorDeclaration(e,t){e!==t&&(e.typeParameters=t.typeParameters);return finishUpdateBaseSignatureDeclaration(e,t)}(createGetAccessorDeclaration(t,n,r,i,o),e):e}function createSetAccessorDeclaration(e,t,n,r){const i=createBaseDeclaration(179);return i.modifiers=asNodeArray(e),i.name=asName(t),i.parameters=createNodeArray(n),i.body=r,i.body?i.transformFlags=propagateChildrenFlags(i.modifiers)|propagateNameFlags(i.name)|propagateChildrenFlags(i.parameters)|-67108865&propagateChildFlags(i.body)|(i.type?1:0):i.transformFlags=1,i.typeArguments=void 0,i.typeParameters=void 0,i.type=void 0,i.jsDoc=void 0,i.locals=void 0,i.nextContainer=void 0,i.flowNode=void 0,i.endFlowNode=void 0,i.returnFlowNode=void 0,i}function updateSetAccessorDeclaration(e,t,n,r,i){return e.modifiers!==t||e.name!==n||e.parameters!==r||e.body!==i?function finishUpdateSetAccessorDeclaration(e,t){e!==t&&(e.typeParameters=t.typeParameters,e.type=t.type);return finishUpdateBaseSignatureDeclaration(e,t)}(createSetAccessorDeclaration(t,n,r,i),e):e}function createCallSignature(e,t,n){const r=createBaseDeclaration(180);return r.typeParameters=asNodeArray(e),r.parameters=asNodeArray(t),r.type=n,r.transformFlags=1,r.jsDoc=void 0,r.locals=void 0,r.nextContainer=void 0,r.typeArguments=void 0,r}function createConstructSignature(e,t,n){const r=createBaseDeclaration(181);return r.typeParameters=asNodeArray(e),r.parameters=asNodeArray(t),r.type=n,r.transformFlags=1,r.jsDoc=void 0,r.locals=void 0,r.nextContainer=void 0,r.typeArguments=void 0,r}function createIndexSignature(e,t,n){const r=createBaseDeclaration(182);return r.modifiers=asNodeArray(e),r.parameters=asNodeArray(t),r.type=n,r.transformFlags=1,r.jsDoc=void 0,r.locals=void 0,r.nextContainer=void 0,r.typeArguments=void 0,r}function updateIndexSignature(e,t,n,r){return e.parameters!==n||e.type!==r||e.modifiers!==t?finishUpdateBaseSignatureDeclaration(createIndexSignature(t,n,r),e):e}function createTemplateLiteralTypeSpan(e,t){const n=createBaseNode(205);return n.type=e,n.literal=t,n.transformFlags=1,n}function createTypePredicateNode(e,t,n){const r=createBaseNode(183);return r.assertsModifier=e,r.parameterName=asName(t),r.type=n,r.transformFlags=1,r}function createTypeReferenceNode(e,t){const n=createBaseNode(184);return n.typeName=asName(e),n.typeArguments=t&&r().parenthesizeTypeArguments(createNodeArray(t)),n.transformFlags=1,n}function createFunctionTypeNode(e,t,n){const r=createBaseDeclaration(185);return r.typeParameters=asNodeArray(e),r.parameters=asNodeArray(t),r.type=n,r.transformFlags=1,r.modifiers=void 0,r.jsDoc=void 0,r.locals=void 0,r.nextContainer=void 0,r.typeArguments=void 0,r}function createConstructorTypeNode(...e){return 4===e.length?createConstructorTypeNode1(...e):3===e.length?function createConstructorTypeNode2(e,t,n){return createConstructorTypeNode1(void 0,e,t,n)}(...e):h.fail("Incorrect number of arguments specified.")}function createConstructorTypeNode1(e,t,n,r){const i=createBaseDeclaration(186);return i.modifiers=asNodeArray(e),i.typeParameters=asNodeArray(t),i.parameters=asNodeArray(n),i.type=r,i.transformFlags=1,i.jsDoc=void 0,i.locals=void 0,i.nextContainer=void 0,i.typeArguments=void 0,i}function updateConstructorTypeNode1(e,t,n,r,i){return e.modifiers!==t||e.typeParameters!==n||e.parameters!==r||e.type!==i?finishUpdateBaseSignatureDeclaration(createConstructorTypeNode(t,n,r,i),e):e}function createTypeQueryNode(e,t){const n=createBaseNode(187);return n.exprName=e,n.typeArguments=t&&r().parenthesizeTypeArguments(t),n.transformFlags=1,n}function createTypeLiteralNode(e){const t=createBaseDeclaration(188);return t.members=createNodeArray(e),t.transformFlags=1,t}function createArrayTypeNode(e){const t=createBaseNode(189);return t.elementType=r().parenthesizeNonArrayTypeOfPostfixType(e),t.transformFlags=1,t}function createTupleTypeNode(e){const t=createBaseNode(190);return t.elements=createNodeArray(r().parenthesizeElementTypesOfTupleType(e)),t.transformFlags=1,t}function createNamedTupleMember(e,t,n,r){const i=createBaseDeclaration(203);return i.dotDotDotToken=e,i.name=t,i.questionToken=n,i.type=r,i.transformFlags=1,i.jsDoc=void 0,i}function createOptionalTypeNode(e){const t=createBaseNode(191);return t.type=r().parenthesizeTypeOfOptionalType(e),t.transformFlags=1,t}function createRestTypeNode(e){const t=createBaseNode(192);return t.type=e,t.transformFlags=1,t}function createUnionOrIntersectionTypeNode(e,t,n){const r=createBaseNode(e);return r.types=T.createNodeArray(n(t)),r.transformFlags=1,r}function updateUnionOrIntersectionTypeNode(e,t,n){return e.types!==t?update(createUnionOrIntersectionTypeNode(e.kind,t,n),e):e}function createConditionalTypeNode(e,t,n,i){const o=createBaseNode(195);return o.checkType=r().parenthesizeCheckTypeOfConditionalType(e),o.extendsType=r().parenthesizeExtendsTypeOfConditionalType(t),o.trueType=n,o.falseType=i,o.transformFlags=1,o.locals=void 0,o.nextContainer=void 0,o}function createInferTypeNode(e){const t=createBaseNode(196);return t.typeParameter=e,t.transformFlags=1,t}function createTemplateLiteralType(e,t){const n=createBaseNode(204);return n.head=e,n.templateSpans=createNodeArray(t),n.transformFlags=1,n}function createImportTypeNode(e,t,n,i,o=!1){const a=createBaseNode(206);return a.argument=e,a.attributes=t,a.assertions&&a.assertions.assertClause&&a.attributes&&(a.assertions.assertClause=a.attributes),a.qualifier=n,a.typeArguments=i&&r().parenthesizeTypeArguments(i),a.isTypeOf=o,a.transformFlags=1,a}function createParenthesizedType(e){const t=createBaseNode(197);return t.type=e,t.transformFlags=1,t}function createTypeOperatorNode(e,t){const n=createBaseNode(199);return n.operator=e,n.type=148===e?r().parenthesizeOperandOfReadonlyTypeOperator(t):r().parenthesizeOperandOfTypeOperator(t),n.transformFlags=1,n}function createIndexedAccessTypeNode(e,t){const n=createBaseNode(200);return n.objectType=r().parenthesizeNonArrayTypeOfPostfixType(e),n.indexType=t,n.transformFlags=1,n}function createMappedTypeNode(e,t,n,r,i,o){const a=createBaseDeclaration(201);return a.readonlyToken=e,a.typeParameter=t,a.nameType=n,a.questionToken=r,a.type=i,a.members=o&&createNodeArray(o),a.transformFlags=1,a.locals=void 0,a.nextContainer=void 0,a}function createLiteralTypeNode(e){const t=createBaseNode(202);return t.literal=e,t.transformFlags=1,t}function createObjectBindingPattern(e){const t=createBaseNode(207);return t.elements=createNodeArray(e),t.transformFlags|=525312|propagateChildrenFlags(t.elements),32768&t.transformFlags&&(t.transformFlags|=65664),t}function createArrayBindingPattern(e){const t=createBaseNode(208);return t.elements=createNodeArray(e),t.transformFlags|=525312|propagateChildrenFlags(t.elements),t}function createBindingElement(e,t,n,r){const i=createBaseDeclaration(209);return i.dotDotDotToken=e,i.propertyName=asName(t),i.name=asName(n),i.initializer=asInitializer(r),i.transformFlags|=propagateChildFlags(i.dotDotDotToken)|propagateNameFlags(i.propertyName)|propagateNameFlags(i.name)|propagateChildFlags(i.initializer)|(i.dotDotDotToken?32768:0)|1024,i.flowNode=void 0,i}function createArrayLiteralExpression(e,t){const n=createBaseNode(210),i=e&&lastOrUndefined(e),o=createNodeArray(e,!(!i||!isOmittedExpression(i))||void 0);return n.elements=r().parenthesizeExpressionsOfCommaDelimitedList(o),n.multiLine=t,n.transformFlags|=propagateChildrenFlags(n.elements),n}function createObjectLiteralExpression(e,t){const n=createBaseDeclaration(211);return n.properties=createNodeArray(e),n.multiLine=t,n.transformFlags|=propagateChildrenFlags(n.properties),n.jsDoc=void 0,n}function createBasePropertyAccessExpression(e,t,n){const r=createBaseDeclaration(212);return r.expression=e,r.questionDotToken=t,r.name=n,r.transformFlags=propagateChildFlags(r.expression)|propagateChildFlags(r.questionDotToken)|(isIdentifier(r.name)?propagateIdentifierNameFlags(r.name):536870912|propagateChildFlags(r.name)),r.jsDoc=void 0,r.flowNode=void 0,r}function createPropertyAccessExpression(e,t){const n=createBasePropertyAccessExpression(r().parenthesizeLeftSideOfAccess(e,!1),void 0,asName(t));return isSuperKeyword(e)&&(n.transformFlags|=384),n}function createPropertyAccessChain(e,t,n){const i=createBasePropertyAccessExpression(r().parenthesizeLeftSideOfAccess(e,!0),t,asName(n));return i.flags|=64,i.transformFlags|=32,i}function updatePropertyAccessChain(e,t,n,r){return h.assert(!!(64&e.flags),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),e.expression!==t||e.questionDotToken!==n||e.name!==r?update(createPropertyAccessChain(t,n,r),e):e}function createBaseElementAccessExpression(e,t,n){const r=createBaseDeclaration(213);return r.expression=e,r.questionDotToken=t,r.argumentExpression=n,r.transformFlags|=propagateChildFlags(r.expression)|propagateChildFlags(r.questionDotToken)|propagateChildFlags(r.argumentExpression),r.jsDoc=void 0,r.flowNode=void 0,r}function createElementAccessExpression(e,t){const n=createBaseElementAccessExpression(r().parenthesizeLeftSideOfAccess(e,!1),void 0,asExpression(t));return isSuperKeyword(e)&&(n.transformFlags|=384),n}function createElementAccessChain(e,t,n){const i=createBaseElementAccessExpression(r().parenthesizeLeftSideOfAccess(e,!0),t,asExpression(n));return i.flags|=64,i.transformFlags|=32,i}function updateElementAccessChain(e,t,n,r){return h.assert(!!(64&e.flags),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),e.expression!==t||e.questionDotToken!==n||e.argumentExpression!==r?update(createElementAccessChain(t,n,r),e):e}function createBaseCallExpression(e,t,n,r){const i=createBaseDeclaration(214);return i.expression=e,i.questionDotToken=t,i.typeArguments=n,i.arguments=r,i.transformFlags|=propagateChildFlags(i.expression)|propagateChildFlags(i.questionDotToken)|propagateChildrenFlags(i.typeArguments)|propagateChildrenFlags(i.arguments),i.typeArguments&&(i.transformFlags|=1),isSuperProperty(i.expression)&&(i.transformFlags|=16384),i}function createCallExpression(e,t,n){const i=createBaseCallExpression(r().parenthesizeLeftSideOfAccess(e,!1),void 0,asNodeArray(t),r().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(n)));return isImportKeyword(i.expression)&&(i.transformFlags|=8388608),i}function createCallChain(e,t,n,i){const o=createBaseCallExpression(r().parenthesizeLeftSideOfAccess(e,!0),t,asNodeArray(n),r().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(i)));return o.flags|=64,o.transformFlags|=32,o}function updateCallChain(e,t,n,r,i){return h.assert(!!(64&e.flags),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),e.expression!==t||e.questionDotToken!==n||e.typeArguments!==r||e.arguments!==i?update(createCallChain(t,n,r,i),e):e}function createNewExpression(e,t,n){const i=createBaseDeclaration(215);return i.expression=r().parenthesizeExpressionOfNew(e),i.typeArguments=asNodeArray(t),i.arguments=n?r().parenthesizeExpressionsOfCommaDelimitedList(n):void 0,i.transformFlags|=propagateChildFlags(i.expression)|propagateChildrenFlags(i.typeArguments)|propagateChildrenFlags(i.arguments)|32,i.typeArguments&&(i.transformFlags|=1),i}function createTaggedTemplateExpression(e,t,n){const i=createBaseNode(216);return i.tag=r().parenthesizeLeftSideOfAccess(e,!1),i.typeArguments=asNodeArray(t),i.template=n,i.transformFlags|=propagateChildFlags(i.tag)|propagateChildrenFlags(i.typeArguments)|propagateChildFlags(i.template)|1024,i.typeArguments&&(i.transformFlags|=1),hasInvalidEscape(i.template)&&(i.transformFlags|=128),i}function createTypeAssertion(e,t){const n=createBaseNode(217);return n.expression=r().parenthesizeOperandOfPrefixUnary(t),n.type=e,n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.type)|1,n}function updateTypeAssertion(e,t,n){return e.type!==t||e.expression!==n?update(createTypeAssertion(t,n),e):e}function createParenthesizedExpression(e){const t=createBaseNode(218);return t.expression=e,t.transformFlags=propagateChildFlags(t.expression),t.jsDoc=void 0,t}function updateParenthesizedExpression(e,t){return e.expression!==t?update(createParenthesizedExpression(t),e):e}function createFunctionExpression(e,t,n,r,i,o,a){const s=createBaseDeclaration(219);s.modifiers=asNodeArray(e),s.asteriskToken=t,s.name=asName(n),s.typeParameters=asNodeArray(r),s.parameters=createNodeArray(i),s.type=o,s.body=a;const c=1024&modifiersToFlags(s.modifiers),l=!!s.asteriskToken,d=c&&l;return s.transformFlags=propagateChildrenFlags(s.modifiers)|propagateChildFlags(s.asteriskToken)|propagateNameFlags(s.name)|propagateChildrenFlags(s.typeParameters)|propagateChildrenFlags(s.parameters)|propagateChildFlags(s.type)|-67108865&propagateChildFlags(s.body)|(d?128:c?256:l?2048:0)|(s.typeParameters||s.type?1:0)|4194304,s.typeArguments=void 0,s.jsDoc=void 0,s.locals=void 0,s.nextContainer=void 0,s.flowNode=void 0,s.endFlowNode=void 0,s.returnFlowNode=void 0,s}function updateFunctionExpression(e,t,n,r,i,o,a,s){return e.name!==r||e.modifiers!==t||e.asteriskToken!==n||e.typeParameters!==i||e.parameters!==o||e.type!==a||e.body!==s?finishUpdateBaseSignatureDeclaration(createFunctionExpression(t,n,r,i,o,a,s),e):e}function createArrowFunction(e,t,n,i,o,a){const s=createBaseDeclaration(220);s.modifiers=asNodeArray(e),s.typeParameters=asNodeArray(t),s.parameters=createNodeArray(n),s.type=i,s.equalsGreaterThanToken=o??createToken(39),s.body=r().parenthesizeConciseBodyOfArrowFunction(a);const c=1024&modifiersToFlags(s.modifiers);return s.transformFlags=propagateChildrenFlags(s.modifiers)|propagateChildrenFlags(s.typeParameters)|propagateChildrenFlags(s.parameters)|propagateChildFlags(s.type)|propagateChildFlags(s.equalsGreaterThanToken)|-67108865&propagateChildFlags(s.body)|(s.typeParameters||s.type?1:0)|(c?16640:0)|1024,s.typeArguments=void 0,s.jsDoc=void 0,s.locals=void 0,s.nextContainer=void 0,s.flowNode=void 0,s.endFlowNode=void 0,s.returnFlowNode=void 0,s}function updateArrowFunction(e,t,n,r,i,o,a){return e.modifiers!==t||e.typeParameters!==n||e.parameters!==r||e.type!==i||e.equalsGreaterThanToken!==o||e.body!==a?finishUpdateBaseSignatureDeclaration(createArrowFunction(t,n,r,i,o,a),e):e}function createDeleteExpression(e){const t=createBaseNode(221);return t.expression=r().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=propagateChildFlags(t.expression),t}function createTypeOfExpression(e){const t=createBaseNode(222);return t.expression=r().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=propagateChildFlags(t.expression),t}function createVoidExpression(e){const t=createBaseNode(223);return t.expression=r().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=propagateChildFlags(t.expression),t}function createAwaitExpression(e){const t=createBaseNode(224);return t.expression=r().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=2097536|propagateChildFlags(t.expression),t}function createPrefixUnaryExpression(e,t){const n=createBaseNode(225);return n.operator=e,n.operand=r().parenthesizeOperandOfPrefixUnary(t),n.transformFlags|=propagateChildFlags(n.operand),46!==e&&47!==e||!isIdentifier(n.operand)||isGeneratedIdentifier(n.operand)||isLocalName(n.operand)||(n.transformFlags|=268435456),n}function createPostfixUnaryExpression(e,t){const n=createBaseNode(226);return n.operator=t,n.operand=r().parenthesizeOperandOfPostfixUnary(e),n.transformFlags|=propagateChildFlags(n.operand),!isIdentifier(n.operand)||isGeneratedIdentifier(n.operand)||isLocalName(n.operand)||(n.transformFlags|=268435456),n}function createBinaryExpression(e,t,n){const i=createBaseDeclaration(227),o=function asToken(e){return"number"==typeof e?createToken(e):e}(t),a=o.kind;return i.left=r().parenthesizeLeftSideOfBinary(a,e),i.operatorToken=o,i.right=r().parenthesizeRightSideOfBinary(a,i.left,n),i.transformFlags|=propagateChildFlags(i.left)|propagateChildFlags(i.operatorToken)|propagateChildFlags(i.right),61===a?i.transformFlags|=32:64===a?isObjectLiteralExpression(i.left)?i.transformFlags|=5248|propagateAssignmentPatternFlags(i.left):isArrayLiteralExpression(i.left)&&(i.transformFlags|=5120|propagateAssignmentPatternFlags(i.left)):43===a||68===a?i.transformFlags|=512:isLogicalOrCoalescingAssignmentOperator(a)&&(i.transformFlags|=16),103===a&&isPrivateIdentifier(i.left)&&(i.transformFlags|=536870912),i.jsDoc=void 0,i}function propagateAssignmentPatternFlags(e){return containsObjectRestOrSpread(e)?65536:0}function createConditionalExpression(e,t,n,i,o){const a=createBaseNode(228);return a.condition=r().parenthesizeConditionOfConditionalExpression(e),a.questionToken=t??createToken(58),a.whenTrue=r().parenthesizeBranchOfConditionalExpression(n),a.colonToken=i??createToken(59),a.whenFalse=r().parenthesizeBranchOfConditionalExpression(o),a.transformFlags|=propagateChildFlags(a.condition)|propagateChildFlags(a.questionToken)|propagateChildFlags(a.whenTrue)|propagateChildFlags(a.colonToken)|propagateChildFlags(a.whenFalse),a.flowNodeWhenFalse=void 0,a.flowNodeWhenTrue=void 0,a}function createTemplateExpression(e,t){const n=createBaseNode(229);return n.head=e,n.templateSpans=createNodeArray(t),n.transformFlags|=propagateChildFlags(n.head)|propagateChildrenFlags(n.templateSpans)|1024,n}function checkTemplateLiteralLikeNode(e,t,n,r=0){let i;if(h.assert(!(-7177&r),"Unsupported template flags."),void 0!==n&&n!==t&&(i=function getCookedText(e,t){Or||(Or=createScanner(99,!1,0));switch(e){case 15:Or.setText("`"+t+"`");break;case 16:Or.setText("`"+t+"${");break;case 17:Or.setText("}"+t+"${");break;case 18:Or.setText("}"+t+"`")}let n,r=Or.scan();20===r&&(r=Or.reScanTemplateToken(!1));if(Or.isUnterminated())return Or.setText(void 0),Br;switch(r){case 15:case 16:case 17:case 18:n=Or.getTokenValue()}if(void 0===n||1!==Or.scan())return Or.setText(void 0),Br;return Or.setText(void 0),n}(e,n),"object"==typeof i))return h.fail("Invalid raw text");if(void 0===t){if(void 0===i)return h.fail("Arguments 'text' and 'rawText' may not both be undefined.");t=i}else void 0!==i&&h.assert(t===i,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return t}function getTransformFlagsOfTemplateLiteralLike(e){let t=1024;return e&&(t|=128),t}function createTemplateLiteralLikeDeclaration(e,t,n,r){const i=createBaseDeclaration(e);return i.text=t,i.rawText=n,i.templateFlags=7176&r,i.transformFlags=getTransformFlagsOfTemplateLiteralLike(i.templateFlags),i}function createTemplateLiteralLikeNode(e,t,n,r){return 15===e?createTemplateLiteralLikeDeclaration(e,t,n,r):function createTemplateLiteralLikeToken(e,t,n,r){const i=createBaseToken(e);return i.text=t,i.rawText=n,i.templateFlags=7176&r,i.transformFlags=getTransformFlagsOfTemplateLiteralLike(i.templateFlags),i}(e,t,n,r)}function createYieldExpression(e,t){h.assert(!e||!!t,"A `YieldExpression` with an asteriskToken must have an expression.");const n=createBaseNode(230);return n.expression=t&&r().parenthesizeExpressionForDisallowedComma(t),n.asteriskToken=e,n.transformFlags|=1049728|(propagateChildFlags(n.expression)|propagateChildFlags(n.asteriskToken)),n}function createSpreadElement(e){const t=createBaseNode(231);return t.expression=r().parenthesizeExpressionForDisallowedComma(e),t.transformFlags|=33792|propagateChildFlags(t.expression),t}function createClassExpression(e,t,n,r,i){const o=createBaseDeclaration(232);return o.modifiers=asNodeArray(e),o.name=asName(t),o.typeParameters=asNodeArray(n),o.heritageClauses=asNodeArray(r),o.members=createNodeArray(i),o.transformFlags|=propagateChildrenFlags(o.modifiers)|propagateNameFlags(o.name)|propagateChildrenFlags(o.typeParameters)|propagateChildrenFlags(o.heritageClauses)|propagateChildrenFlags(o.members)|(o.typeParameters?1:0)|1024,o.jsDoc=void 0,o}function updateClassExpression(e,t,n,r,i,o){return e.modifiers!==t||e.name!==n||e.typeParameters!==r||e.heritageClauses!==i||e.members!==o?update(createClassExpression(t,n,r,i,o),e):e}function createExpressionWithTypeArguments(e,t){const n=createBaseNode(234);return n.expression=r().parenthesizeLeftSideOfAccess(e,!1),n.typeArguments=t&&r().parenthesizeTypeArguments(t),n.transformFlags|=propagateChildFlags(n.expression)|propagateChildrenFlags(n.typeArguments)|1024,n}function updateExpressionWithTypeArguments(e,t,n){return e.expression!==t||e.typeArguments!==n?update(createExpressionWithTypeArguments(t,n),e):e}function createAsExpression(e,t){const n=createBaseNode(235);return n.expression=e,n.type=t,n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.type)|1,n}function updateAsExpression(e,t,n){return e.expression!==t||e.type!==n?update(createAsExpression(t,n),e):e}function createNonNullExpression(e){const t=createBaseNode(236);return t.expression=r().parenthesizeLeftSideOfAccess(e,!1),t.transformFlags|=1|propagateChildFlags(t.expression),t}function updateNonNullExpression(e,t){return isNonNullChain(e)?updateNonNullChain(e,t):e.expression!==t?update(createNonNullExpression(t),e):e}function createSatisfiesExpression(e,t){const n=createBaseNode(239);return n.expression=e,n.type=t,n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.type)|1,n}function updateSatisfiesExpression(e,t,n){return e.expression!==t||e.type!==n?update(createSatisfiesExpression(t,n),e):e}function createNonNullChain(e){const t=createBaseNode(236);return t.flags|=64,t.expression=r().parenthesizeLeftSideOfAccess(e,!0),t.transformFlags|=1|propagateChildFlags(t.expression),t}function updateNonNullChain(e,t){return h.assert(!!(64&e.flags),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),e.expression!==t?update(createNonNullChain(t),e):e}function createMetaProperty(e,t){const n=createBaseNode(237);switch(n.keywordToken=e,n.name=t,n.transformFlags|=propagateChildFlags(n.name),e){case 105:n.transformFlags|=1024;break;case 102:n.transformFlags|=32;break;default:return h.assertNever(e)}return n.flowNode=void 0,n}function createTemplateSpan(e,t){const n=createBaseNode(240);return n.expression=e,n.literal=t,n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.literal)|1024,n}function createBlock(e,t){const n=createBaseNode(242);return n.statements=createNodeArray(e),n.multiLine=t,n.transformFlags|=propagateChildrenFlags(n.statements),n.jsDoc=void 0,n.locals=void 0,n.nextContainer=void 0,n}function createVariableStatement(e,t){const n=createBaseNode(244);return n.modifiers=asNodeArray(e),n.declarationList=isArray(t)?createVariableDeclarationList(t):t,n.transformFlags|=propagateChildrenFlags(n.modifiers)|propagateChildFlags(n.declarationList),128&modifiersToFlags(n.modifiers)&&(n.transformFlags=1),n.jsDoc=void 0,n.flowNode=void 0,n}function updateVariableStatement(e,t,n){return e.modifiers!==t||e.declarationList!==n?update(createVariableStatement(t,n),e):e}function createEmptyStatement(){const e=createBaseNode(243);return e.jsDoc=void 0,e}function createExpressionStatement(e){const t=createBaseNode(245);return t.expression=r().parenthesizeExpressionOfExpressionStatement(e),t.transformFlags|=propagateChildFlags(t.expression),t.jsDoc=void 0,t.flowNode=void 0,t}function createIfStatement(e,t,n){const r=createBaseNode(246);return r.expression=e,r.thenStatement=asEmbeddedStatement(t),r.elseStatement=asEmbeddedStatement(n),r.transformFlags|=propagateChildFlags(r.expression)|propagateChildFlags(r.thenStatement)|propagateChildFlags(r.elseStatement),r.jsDoc=void 0,r.flowNode=void 0,r}function createDoStatement(e,t){const n=createBaseNode(247);return n.statement=asEmbeddedStatement(e),n.expression=t,n.transformFlags|=propagateChildFlags(n.statement)|propagateChildFlags(n.expression),n.jsDoc=void 0,n.flowNode=void 0,n}function createWhileStatement(e,t){const n=createBaseNode(248);return n.expression=e,n.statement=asEmbeddedStatement(t),n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.statement),n.jsDoc=void 0,n.flowNode=void 0,n}function createForStatement(e,t,n,r){const i=createBaseNode(249);return i.initializer=e,i.condition=t,i.incrementor=n,i.statement=asEmbeddedStatement(r),i.transformFlags|=propagateChildFlags(i.initializer)|propagateChildFlags(i.condition)|propagateChildFlags(i.incrementor)|propagateChildFlags(i.statement),i.jsDoc=void 0,i.locals=void 0,i.nextContainer=void 0,i.flowNode=void 0,i}function createForInStatement(e,t,n){const r=createBaseNode(250);return r.initializer=e,r.expression=t,r.statement=asEmbeddedStatement(n),r.transformFlags|=propagateChildFlags(r.initializer)|propagateChildFlags(r.expression)|propagateChildFlags(r.statement),r.jsDoc=void 0,r.locals=void 0,r.nextContainer=void 0,r.flowNode=void 0,r}function createForOfStatement(e,t,n,i){const o=createBaseNode(251);return o.awaitModifier=e,o.initializer=t,o.expression=r().parenthesizeExpressionForDisallowedComma(n),o.statement=asEmbeddedStatement(i),o.transformFlags|=propagateChildFlags(o.awaitModifier)|propagateChildFlags(o.initializer)|propagateChildFlags(o.expression)|propagateChildFlags(o.statement)|1024,e&&(o.transformFlags|=128),o.jsDoc=void 0,o.locals=void 0,o.nextContainer=void 0,o.flowNode=void 0,o}function createContinueStatement(e){const t=createBaseNode(252);return t.label=asName(e),t.transformFlags|=4194304|propagateChildFlags(t.label),t.jsDoc=void 0,t.flowNode=void 0,t}function createBreakStatement(e){const t=createBaseNode(253);return t.label=asName(e),t.transformFlags|=4194304|propagateChildFlags(t.label),t.jsDoc=void 0,t.flowNode=void 0,t}function createReturnStatement(e){const t=createBaseNode(254);return t.expression=e,t.transformFlags|=4194432|propagateChildFlags(t.expression),t.jsDoc=void 0,t.flowNode=void 0,t}function createWithStatement(e,t){const n=createBaseNode(255);return n.expression=e,n.statement=asEmbeddedStatement(t),n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.statement),n.jsDoc=void 0,n.flowNode=void 0,n}function createSwitchStatement(e,t){const n=createBaseNode(256);return n.expression=r().parenthesizeExpressionForDisallowedComma(e),n.caseBlock=t,n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.caseBlock),n.jsDoc=void 0,n.flowNode=void 0,n.possiblyExhaustive=!1,n}function createLabeledStatement(e,t){const n=createBaseNode(257);return n.label=asName(e),n.statement=asEmbeddedStatement(t),n.transformFlags|=propagateChildFlags(n.label)|propagateChildFlags(n.statement),n.jsDoc=void 0,n.flowNode=void 0,n}function updateLabeledStatement(e,t,n){return e.label!==t||e.statement!==n?update(createLabeledStatement(t,n),e):e}function createThrowStatement(e){const t=createBaseNode(258);return t.expression=e,t.transformFlags|=propagateChildFlags(t.expression),t.jsDoc=void 0,t.flowNode=void 0,t}function createTryStatement(e,t,n){const r=createBaseNode(259);return r.tryBlock=e,r.catchClause=t,r.finallyBlock=n,r.transformFlags|=propagateChildFlags(r.tryBlock)|propagateChildFlags(r.catchClause)|propagateChildFlags(r.finallyBlock),r.jsDoc=void 0,r.flowNode=void 0,r}function createVariableDeclaration(e,t,n,r){const i=createBaseDeclaration(261);return i.name=asName(e),i.exclamationToken=t,i.type=n,i.initializer=asInitializer(r),i.transformFlags|=propagateNameFlags(i.name)|propagateChildFlags(i.initializer)|(i.exclamationToken??i.type?1:0),i.jsDoc=void 0,i}function createVariableDeclarationList(e,t=0){const n=createBaseNode(262);return n.flags|=7&t,n.declarations=createNodeArray(e),n.transformFlags|=4194304|propagateChildrenFlags(n.declarations),7&t&&(n.transformFlags|=263168),4&t&&(n.transformFlags|=4),n}function createFunctionDeclaration(e,t,n,r,i,o,a){const s=createBaseDeclaration(263);if(s.modifiers=asNodeArray(e),s.asteriskToken=t,s.name=asName(n),s.typeParameters=asNodeArray(r),s.parameters=createNodeArray(i),s.type=o,s.body=a,!s.body||128&modifiersToFlags(s.modifiers))s.transformFlags=1;else{const e=1024&modifiersToFlags(s.modifiers),t=!!s.asteriskToken,n=e&&t;s.transformFlags=propagateChildrenFlags(s.modifiers)|propagateChildFlags(s.asteriskToken)|propagateNameFlags(s.name)|propagateChildrenFlags(s.typeParameters)|propagateChildrenFlags(s.parameters)|propagateChildFlags(s.type)|-67108865&propagateChildFlags(s.body)|(n?128:e?256:t?2048:0)|(s.typeParameters||s.type?1:0)|4194304}return s.typeArguments=void 0,s.jsDoc=void 0,s.locals=void 0,s.nextContainer=void 0,s.endFlowNode=void 0,s.returnFlowNode=void 0,s}function updateFunctionDeclaration(e,t,n,r,i,o,a,s){return e.modifiers!==t||e.asteriskToken!==n||e.name!==r||e.typeParameters!==i||e.parameters!==o||e.type!==a||e.body!==s?function finishUpdateFunctionDeclaration(e,t){e!==t&&e.modifiers===t.modifiers&&(e.modifiers=t.modifiers);return finishUpdateBaseSignatureDeclaration(e,t)}(createFunctionDeclaration(t,n,r,i,o,a,s),e):e}function createClassDeclaration(e,t,n,r,i){const o=createBaseDeclaration(264);return o.modifiers=asNodeArray(e),o.name=asName(t),o.typeParameters=asNodeArray(n),o.heritageClauses=asNodeArray(r),o.members=createNodeArray(i),128&modifiersToFlags(o.modifiers)?o.transformFlags=1:(o.transformFlags|=propagateChildrenFlags(o.modifiers)|propagateNameFlags(o.name)|propagateChildrenFlags(o.typeParameters)|propagateChildrenFlags(o.heritageClauses)|propagateChildrenFlags(o.members)|(o.typeParameters?1:0)|1024,8192&o.transformFlags&&(o.transformFlags|=1)),o.jsDoc=void 0,o}function updateClassDeclaration(e,t,n,r,i,o){return e.modifiers!==t||e.name!==n||e.typeParameters!==r||e.heritageClauses!==i||e.members!==o?update(createClassDeclaration(t,n,r,i,o),e):e}function createInterfaceDeclaration(e,t,n,r,i){const o=createBaseDeclaration(265);return o.modifiers=asNodeArray(e),o.name=asName(t),o.typeParameters=asNodeArray(n),o.heritageClauses=asNodeArray(r),o.members=createNodeArray(i),o.transformFlags=1,o.jsDoc=void 0,o}function updateInterfaceDeclaration(e,t,n,r,i,o){return e.modifiers!==t||e.name!==n||e.typeParameters!==r||e.heritageClauses!==i||e.members!==o?update(createInterfaceDeclaration(t,n,r,i,o),e):e}function createTypeAliasDeclaration(e,t,n,r){const i=createBaseDeclaration(266);return i.modifiers=asNodeArray(e),i.name=asName(t),i.typeParameters=asNodeArray(n),i.type=r,i.transformFlags=1,i.jsDoc=void 0,i.locals=void 0,i.nextContainer=void 0,i}function updateTypeAliasDeclaration(e,t,n,r,i){return e.modifiers!==t||e.name!==n||e.typeParameters!==r||e.type!==i?update(createTypeAliasDeclaration(t,n,r,i),e):e}function createEnumDeclaration(e,t,n){const r=createBaseDeclaration(267);return r.modifiers=asNodeArray(e),r.name=asName(t),r.members=createNodeArray(n),r.transformFlags|=propagateChildrenFlags(r.modifiers)|propagateChildFlags(r.name)|propagateChildrenFlags(r.members)|1,r.transformFlags&=-67108865,r.jsDoc=void 0,r}function updateEnumDeclaration(e,t,n,r){return e.modifiers!==t||e.name!==n||e.members!==r?update(createEnumDeclaration(t,n,r),e):e}function createModuleDeclaration(e,t,n,r=0){const i=createBaseDeclaration(268);return i.modifiers=asNodeArray(e),i.flags|=2088&r,i.name=t,i.body=n,128&modifiersToFlags(i.modifiers)?i.transformFlags=1:i.transformFlags|=propagateChildrenFlags(i.modifiers)|propagateChildFlags(i.name)|propagateChildFlags(i.body)|1,i.transformFlags&=-67108865,i.jsDoc=void 0,i.locals=void 0,i.nextContainer=void 0,i}function updateModuleDeclaration(e,t,n,r){return e.modifiers!==t||e.name!==n||e.body!==r?update(createModuleDeclaration(t,n,r,e.flags),e):e}function createModuleBlock(e){const t=createBaseNode(269);return t.statements=createNodeArray(e),t.transformFlags|=propagateChildrenFlags(t.statements),t.jsDoc=void 0,t}function createCaseBlock(e){const t=createBaseNode(270);return t.clauses=createNodeArray(e),t.transformFlags|=propagateChildrenFlags(t.clauses),t.locals=void 0,t.nextContainer=void 0,t}function createNamespaceExportDeclaration(e){const t=createBaseDeclaration(271);return t.name=asName(e),t.transformFlags|=1|propagateIdentifierNameFlags(t.name),t.modifiers=void 0,t.jsDoc=void 0,t}function createImportEqualsDeclaration(e,t,n,r){const i=createBaseDeclaration(272);return i.modifiers=asNodeArray(e),i.name=asName(n),i.isTypeOnly=t,i.moduleReference=r,i.transformFlags|=propagateChildrenFlags(i.modifiers)|propagateIdentifierNameFlags(i.name)|propagateChildFlags(i.moduleReference),isExternalModuleReference(i.moduleReference)||(i.transformFlags|=1),i.transformFlags&=-67108865,i.jsDoc=void 0,i}function updateImportEqualsDeclaration(e,t,n,r,i){return e.modifiers!==t||e.isTypeOnly!==n||e.name!==r||e.moduleReference!==i?update(createImportEqualsDeclaration(t,n,r,i),e):e}function createImportDeclaration(e,t,n,r){const i=createBaseNode(273);return i.modifiers=asNodeArray(e),i.importClause=t,i.moduleSpecifier=n,i.attributes=i.assertClause=r,i.transformFlags|=propagateChildFlags(i.importClause)|propagateChildFlags(i.moduleSpecifier),i.transformFlags&=-67108865,i.jsDoc=void 0,i}function updateImportDeclaration(e,t,n,r,i){return e.modifiers!==t||e.importClause!==n||e.moduleSpecifier!==r||e.attributes!==i?update(createImportDeclaration(t,n,r,i),e):e}function createImportClause2(e,t,n){const r=createBaseDeclaration(274);return"boolean"==typeof e&&(e=e?156:void 0),r.isTypeOnly=156===e,r.phaseModifier=e,r.name=t,r.namedBindings=n,r.transformFlags|=propagateChildFlags(r.name)|propagateChildFlags(r.namedBindings),156===e&&(r.transformFlags|=1),r.transformFlags&=-67108865,r}function createAssertClause(e,t){const n=createBaseNode(301);return n.elements=createNodeArray(e),n.multiLine=t,n.token=132,n.transformFlags|=4,n}function createAssertEntry(e,t){const n=createBaseNode(302);return n.name=e,n.value=t,n.transformFlags|=4,n}function createImportTypeAssertionContainer(e,t){const n=createBaseNode(303);return n.assertClause=e,n.multiLine=t,n}function createImportAttributes(e,t,n){const r=createBaseNode(301);return r.token=n??118,r.elements=createNodeArray(e),r.multiLine=t,r.transformFlags|=4,r}function createImportAttribute(e,t){const n=createBaseNode(302);return n.name=e,n.value=t,n.transformFlags|=4,n}function createNamespaceImport(e){const t=createBaseDeclaration(275);return t.name=e,t.transformFlags|=propagateChildFlags(t.name),t.transformFlags&=-67108865,t}function createNamespaceExport(e){const t=createBaseDeclaration(281);return t.name=e,t.transformFlags|=32|propagateChildFlags(t.name),t.transformFlags&=-67108865,t}function createNamedImports(e){const t=createBaseNode(276);return t.elements=createNodeArray(e),t.transformFlags|=propagateChildrenFlags(t.elements),t.transformFlags&=-67108865,t}function createImportSpecifier(e,t,n){const r=createBaseDeclaration(277);return r.isTypeOnly=e,r.propertyName=t,r.name=n,r.transformFlags|=propagateChildFlags(r.propertyName)|propagateChildFlags(r.name),r.transformFlags&=-67108865,r}function createExportAssignment2(e,t,n){const i=createBaseDeclaration(278);return i.modifiers=asNodeArray(e),i.isExportEquals=t,i.expression=t?r().parenthesizeRightSideOfBinary(64,void 0,n):r().parenthesizeExpressionOfExportDefault(n),i.transformFlags|=propagateChildrenFlags(i.modifiers)|propagateChildFlags(i.expression),i.transformFlags&=-67108865,i.jsDoc=void 0,i}function updateExportAssignment(e,t,n){return e.modifiers!==t||e.expression!==n?update(createExportAssignment2(t,e.isExportEquals,n),e):e}function createExportDeclaration(e,t,n,r,i){const o=createBaseDeclaration(279);return o.modifiers=asNodeArray(e),o.isTypeOnly=t,o.exportClause=n,o.moduleSpecifier=r,o.attributes=o.assertClause=i,o.transformFlags|=propagateChildrenFlags(o.modifiers)|propagateChildFlags(o.exportClause)|propagateChildFlags(o.moduleSpecifier),o.transformFlags&=-67108865,o.jsDoc=void 0,o}function updateExportDeclaration(e,t,n,r,i,o){return e.modifiers!==t||e.isTypeOnly!==n||e.exportClause!==r||e.moduleSpecifier!==i||e.attributes!==o?function finishUpdateExportDeclaration(e,t){e!==t&&e.modifiers===t.modifiers&&(e.modifiers=t.modifiers);return update(e,t)}(createExportDeclaration(t,n,r,i,o),e):e}function createNamedExports(e){const t=createBaseNode(280);return t.elements=createNodeArray(e),t.transformFlags|=propagateChildrenFlags(t.elements),t.transformFlags&=-67108865,t}function createExportSpecifier(e,t,n){const r=createBaseNode(282);return r.isTypeOnly=e,r.propertyName=asName(t),r.name=asName(n),r.transformFlags|=propagateChildFlags(r.propertyName)|propagateChildFlags(r.name),r.transformFlags&=-67108865,r.jsDoc=void 0,r}function createExternalModuleReference(e){const t=createBaseNode(284);return t.expression=e,t.transformFlags|=propagateChildFlags(t.expression),t.transformFlags&=-67108865,t}function createJSDocPrePostfixUnaryTypeWorker(e,t,n=!1){const i=createJSDocUnaryTypeWorker(e,n?t&&r().parenthesizeNonArrayTypeOfPostfixType(t):t);return i.postfix=n,i}function createJSDocUnaryTypeWorker(e,t){const n=createBaseNode(e);return n.type=t,n}function createJSDocFunctionType(e,t){const n=createBaseDeclaration(318);return n.parameters=asNodeArray(e),n.type=t,n.transformFlags=propagateChildrenFlags(n.parameters)|(n.type?1:0),n.jsDoc=void 0,n.locals=void 0,n.nextContainer=void 0,n.typeArguments=void 0,n}function createJSDocTypeLiteral(e,t=!1){const n=createBaseDeclaration(323);return n.jsDocPropertyTags=asNodeArray(e),n.isArrayType=t,n}function createJSDocTypeExpression(e){const t=createBaseNode(310);return t.type=e,t}function createJSDocSignature(e,t,n){const r=createBaseDeclaration(324);return r.typeParameters=asNodeArray(e),r.parameters=createNodeArray(t),r.type=n,r.jsDoc=void 0,r.locals=void 0,r.nextContainer=void 0,r}function getDefaultTagName(e){const t=getDefaultTagNameForKind(e.kind);return e.tagName.escapedText===escapeLeadingUnderscores(t)?e.tagName:createIdentifier(t)}function createBaseJSDocTag(e,t,n){const r=createBaseNode(e);return r.tagName=t,r.comment=n,r}function createBaseJSDocTagDeclaration(e,t,n){const r=createBaseDeclaration(e);return r.tagName=t,r.comment=n,r}function createJSDocTemplateTag(e,t,n,r){const i=createBaseJSDocTag(346,e??createIdentifier("template"),r);return i.constraint=t,i.typeParameters=createNodeArray(n),i}function createJSDocTypedefTag(e,t,n,r){const i=createBaseJSDocTagDeclaration(347,e??createIdentifier("typedef"),r);return i.typeExpression=t,i.fullName=n,i.name=getJSDocTypeAliasName(n),i.locals=void 0,i.nextContainer=void 0,i}function createJSDocParameterTag(e,t,n,r,i,o){const a=createBaseJSDocTagDeclaration(342,e??createIdentifier("param"),o);return a.typeExpression=r,a.name=t,a.isNameFirst=!!i,a.isBracketed=n,a}function createJSDocPropertyTag(e,t,n,r,i,o){const a=createBaseJSDocTagDeclaration(349,e??createIdentifier("prop"),o);return a.typeExpression=r,a.name=t,a.isNameFirst=!!i,a.isBracketed=n,a}function createJSDocCallbackTag(e,t,n,r){const i=createBaseJSDocTagDeclaration(339,e??createIdentifier("callback"),r);return i.typeExpression=t,i.fullName=n,i.name=getJSDocTypeAliasName(n),i.locals=void 0,i.nextContainer=void 0,i}function createJSDocOverloadTag(e,t,n){const r=createBaseJSDocTag(340,e??createIdentifier("overload"),n);return r.typeExpression=t,r}function createJSDocAugmentsTag(e,t,n){const r=createBaseJSDocTag(329,e??createIdentifier("augments"),n);return r.class=t,r}function createJSDocImplementsTag(e,t,n){const r=createBaseJSDocTag(330,e??createIdentifier("implements"),n);return r.class=t,r}function createJSDocSeeTag(e,t,n){const r=createBaseJSDocTag(348,e??createIdentifier("see"),n);return r.name=t,r}function createJSDocNameReference(e){const t=createBaseNode(311);return t.name=e,t}function createJSDocMemberName(e,t){const n=createBaseNode(312);return n.left=e,n.right=t,n.transformFlags|=propagateChildFlags(n.left)|propagateChildFlags(n.right),n}function createJSDocLink(e,t){const n=createBaseNode(325);return n.name=e,n.text=t,n}function createJSDocLinkCode(e,t){const n=createBaseNode(326);return n.name=e,n.text=t,n}function createJSDocLinkPlain(e,t){const n=createBaseNode(327);return n.name=e,n.text=t,n}function createJSDocSimpleTagWorker(e,t,n){return createBaseJSDocTag(e,t??createIdentifier(getDefaultTagNameForKind(e)),n)}function createJSDocTypeLikeTagWorker(e,t,n,r){const i=createBaseJSDocTag(e,t??createIdentifier(getDefaultTagNameForKind(e)),r);return i.typeExpression=n,i}function createJSDocUnknownTag(e,t){return createBaseJSDocTag(328,e,t)}function createJSDocEnumTag(e,t,n){const r=createBaseJSDocTagDeclaration(341,e??createIdentifier(getDefaultTagNameForKind(341)),n);return r.typeExpression=t,r.locals=void 0,r.nextContainer=void 0,r}function createJSDocImportTag(e,t,n,r,i){const o=createBaseJSDocTag(352,e??createIdentifier("import"),i);return o.importClause=t,o.moduleSpecifier=n,o.attributes=r,o.comment=i,o}function createJSDocText(e){const t=createBaseNode(322);return t.text=e,t}function createJSDocComment(e,t){const n=createBaseNode(321);return n.comment=e,n.tags=asNodeArray(t),n}function createJsxElement(e,t,n){const r=createBaseNode(285);return r.openingElement=e,r.children=createNodeArray(t),r.closingElement=n,r.transformFlags|=propagateChildFlags(r.openingElement)|propagateChildrenFlags(r.children)|propagateChildFlags(r.closingElement)|2,r}function createJsxSelfClosingElement(e,t,n){const r=createBaseNode(286);return r.tagName=e,r.typeArguments=asNodeArray(t),r.attributes=n,r.transformFlags|=propagateChildFlags(r.tagName)|propagateChildrenFlags(r.typeArguments)|propagateChildFlags(r.attributes)|2,r.typeArguments&&(r.transformFlags|=1),r}function createJsxOpeningElement(e,t,n){const r=createBaseNode(287);return r.tagName=e,r.typeArguments=asNodeArray(t),r.attributes=n,r.transformFlags|=propagateChildFlags(r.tagName)|propagateChildrenFlags(r.typeArguments)|propagateChildFlags(r.attributes)|2,t&&(r.transformFlags|=1),r}function createJsxClosingElement(e){const t=createBaseNode(288);return t.tagName=e,t.transformFlags|=2|propagateChildFlags(t.tagName),t}function createJsxFragment(e,t,n){const r=createBaseNode(289);return r.openingFragment=e,r.children=createNodeArray(t),r.closingFragment=n,r.transformFlags|=propagateChildFlags(r.openingFragment)|propagateChildrenFlags(r.children)|propagateChildFlags(r.closingFragment)|2,r}function createJsxText(e,t){const n=createBaseNode(12);return n.text=e,n.containsOnlyTriviaWhiteSpaces=!!t,n.transformFlags|=2,n}function createJsxAttribute(e,t){const n=createBaseDeclaration(292);return n.name=e,n.initializer=t,n.transformFlags|=propagateChildFlags(n.name)|propagateChildFlags(n.initializer)|2,n}function createJsxAttributes(e){const t=createBaseDeclaration(293);return t.properties=createNodeArray(e),t.transformFlags|=2|propagateChildrenFlags(t.properties),t}function createJsxSpreadAttribute(e){const t=createBaseNode(294);return t.expression=e,t.transformFlags|=2|propagateChildFlags(t.expression),t}function createJsxExpression(e,t){const n=createBaseNode(295);return n.dotDotDotToken=e,n.expression=t,n.transformFlags|=propagateChildFlags(n.dotDotDotToken)|propagateChildFlags(n.expression)|2,n}function createJsxNamespacedName(e,t){const n=createBaseNode(296);return n.namespace=e,n.name=t,n.transformFlags|=propagateChildFlags(n.namespace)|propagateChildFlags(n.name)|2,n}function createCaseClause(e,t){const n=createBaseNode(297);return n.expression=r().parenthesizeExpressionForDisallowedComma(e),n.statements=createNodeArray(t),n.transformFlags|=propagateChildFlags(n.expression)|propagateChildrenFlags(n.statements),n.jsDoc=void 0,n}function createDefaultClause(e){const t=createBaseNode(298);return t.statements=createNodeArray(e),t.transformFlags=propagateChildrenFlags(t.statements),t}function createHeritageClause(e,t){const n=createBaseNode(299);switch(n.token=e,n.types=createNodeArray(t),n.transformFlags|=propagateChildrenFlags(n.types),e){case 96:n.transformFlags|=1024;break;case 119:n.transformFlags|=1;break;default:return h.assertNever(e)}return n}function createCatchClause(e,t){const n=createBaseNode(300);return n.variableDeclaration=function asVariableDeclaration(e){if("string"==typeof e||e&&!isVariableDeclaration(e))return createVariableDeclaration(e,void 0,void 0,void 0);return e}(e),n.block=t,n.transformFlags|=propagateChildFlags(n.variableDeclaration)|propagateChildFlags(n.block)|(e?0:64),n.locals=void 0,n.nextContainer=void 0,n}function createPropertyAssignment(e,t){const n=createBaseDeclaration(304);return n.name=asName(e),n.initializer=r().parenthesizeExpressionForDisallowedComma(t),n.transformFlags|=propagateNameFlags(n.name)|propagateChildFlags(n.initializer),n.modifiers=void 0,n.questionToken=void 0,n.exclamationToken=void 0,n.jsDoc=void 0,n}function updatePropertyAssignment(e,t,n){return e.name!==t||e.initializer!==n?function finishUpdatePropertyAssignment(e,t){e!==t&&(e.modifiers=t.modifiers,e.questionToken=t.questionToken,e.exclamationToken=t.exclamationToken);return update(e,t)}(createPropertyAssignment(t,n),e):e}function createShorthandPropertyAssignment(e,t){const n=createBaseDeclaration(305);return n.name=asName(e),n.objectAssignmentInitializer=t&&r().parenthesizeExpressionForDisallowedComma(t),n.transformFlags|=propagateIdentifierNameFlags(n.name)|propagateChildFlags(n.objectAssignmentInitializer)|1024,n.equalsToken=void 0,n.modifiers=void 0,n.questionToken=void 0,n.exclamationToken=void 0,n.jsDoc=void 0,n}function createSpreadAssignment(e){const t=createBaseDeclaration(306);return t.expression=r().parenthesizeExpressionForDisallowedComma(e),t.transformFlags|=65664|propagateChildFlags(t.expression),t.jsDoc=void 0,t}function createEnumMember(e,t){const n=createBaseDeclaration(307);return n.name=asName(e),n.initializer=t&&r().parenthesizeExpressionForDisallowedComma(t),n.transformFlags|=propagateChildFlags(n.name)|propagateChildFlags(n.initializer)|1,n.jsDoc=void 0,n}function createRedirectedSourceFile(e){const t=Object.create(e.redirectTarget);return Object.defineProperties(t,{id:{get(){return this.redirectInfo.redirectTarget.id},set(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(e){this.redirectInfo.redirectTarget.symbol=e}}}),t.redirectInfo=e,t}function cloneSourceFile(e){const r=e.redirectInfo?function cloneRedirectedSourceFile(e){const t=createRedirectedSourceFile(e.redirectInfo);return t.flags|=-17&e.flags,t.fileName=e.fileName,t.path=e.path,t.resolvedPath=e.resolvedPath,t.originalFileName=e.originalFileName,t.packageJsonLocations=e.packageJsonLocations,t.packageJsonScope=e.packageJsonScope,t.emitNode=void 0,t}(e):function cloneSourceFileWorker(e){const n=t.createBaseSourceFileNode(308);n.flags|=-17&e.flags;for(const t in e)!hasProperty(n,t)&&hasProperty(e,t)&&("emitNode"!==t?n[t]=e[t]:n.emitNode=void 0);return n}(e);return n(r,e),r}function createBundle(e){const t=createBaseNode(309);return t.sourceFiles=e,t.syntheticFileReferences=void 0,t.syntheticTypeReferences=void 0,t.syntheticLibReferences=void 0,t.hasNoDefaultLib=void 0,t}function createPartiallyEmittedExpression(e,t){const n=createBaseNode(356);return n.expression=e,n.original=t,n.transformFlags|=1|propagateChildFlags(n.expression),setTextRange(n,t),n}function updatePartiallyEmittedExpression(e,t){return e.expression!==t?update(createPartiallyEmittedExpression(t,e.original),e):e}function flattenCommaElements(e){if(nodeIsSynthesized(e)&&!isParseTreeNode(e)&&!e.original&&!e.emitNode&&!e.id){if(isCommaListExpression(e))return e.elements;if(isBinaryExpression(e)&&isCommaToken(e.operatorToken))return[e.left,e.right]}return e}function createCommaListExpression(e){const t=createBaseNode(357);return t.elements=createNodeArray(sameFlatMap(e,flattenCommaElements)),t.transformFlags|=propagateChildrenFlags(t.elements),t}function createSyntheticReferenceExpression(e,t){const n=createBaseNode(358);return n.expression=e,n.thisArg=t,n.transformFlags|=propagateChildFlags(n.expression)|propagateChildFlags(n.thisArg),n}function cloneNode(e){if(void 0===e)return e;if(isSourceFile(e))return cloneSourceFile(e);if(isGeneratedIdentifier(e))return function cloneGeneratedIdentifier(e){const t=createBaseIdentifier(e.escapedText);return t.flags|=-17&e.flags,t.transformFlags=e.transformFlags,n(t,e),setIdentifierAutoGenerate(t,{...e.emitNode.autoGenerate}),t}(e);if(isIdentifier(e))return function cloneIdentifier(e){const t=createBaseIdentifier(e.escapedText);t.flags|=-17&e.flags,t.jsDoc=e.jsDoc,t.flowNode=e.flowNode,t.symbol=e.symbol,t.transformFlags=e.transformFlags,n(t,e);const r=getIdentifierTypeArguments(e);return r&&setIdentifierTypeArguments(t,r),t}(e);if(isGeneratedPrivateIdentifier(e))return function cloneGeneratedPrivateIdentifier(e){const t=createBasePrivateIdentifier(e.escapedText);return t.flags|=-17&e.flags,t.transformFlags=e.transformFlags,n(t,e),setIdentifierAutoGenerate(t,{...e.emitNode.autoGenerate}),t}(e);if(isPrivateIdentifier(e))return function clonePrivateIdentifier(e){const t=createBasePrivateIdentifier(e.escapedText);return t.flags|=-17&e.flags,t.transformFlags=e.transformFlags,n(t,e),t}(e);const r=isNodeKind(e.kind)?t.createBaseNode(e.kind):t.createBaseTokenNode(e.kind);r.flags|=-17&e.flags,r.transformFlags=e.transformFlags,n(r,e);for(const t in e)!hasProperty(r,t)&&hasProperty(e,t)&&(r[t]=e[t]);return r}function createVoidZero(){return createVoidExpression(createNumericLiteral("0"))}function createMethodCall(e,t,n){return isCallChain(e)?createCallChain(createPropertyAccessChain(e,void 0,t),void 0,void 0,n):createCallExpression(createPropertyAccessExpression(e,t),void 0,n)}function createGlobalMethodCall(e,t,n){return createMethodCall(createIdentifier(e),t,n)}function tryAddPropertyAssignment(e,t,n){return!!n&&(e.push(createPropertyAssignment(t,n)),!0)}function shouldBeCapturedInTempVariable(e,t){const n=skipParentheses(e);switch(n.kind){case 80:return t;case 110:case 9:case 10:case 11:return!1;case 210:return 0!==n.elements.length;case 211:return n.properties.length>0;default:return!0}}function getName(e,t,n,r=0,i){const o=i?e&&getNonAssignedNameOfDeclaration(e):getNameOfDeclaration(e);if(o&&isIdentifier(o)&&!isGeneratedIdentifier(o)){const e=setParent(setTextRange(cloneNode(o),o),o.parent);return r|=getEmitFlags(o),n||(r|=96),t||(r|=3072),r&&setEmitFlags(e,r),e}return getGeneratedNameForNode(e)}function getExportName(e,t,n){return getName(e,t,n,16384)}function getNamespaceMemberName(e,t,n,r){const i=createPropertyAccessExpression(e,nodeIsSynthesized(t)?t:cloneNode(t));setTextRange(i,t);let o=0;return r||(o|=96),n||(o|=3072),o&&setEmitFlags(i,o),i}function isUseStrictPrologue2(e){return isStringLiteral(e.expression)&&"use strict"===e.expression.text}function createUseStrictPrologue(){return startOnNewLine(createExpressionStatement(createStringLiteral("use strict")))}function copyStandardPrologue(e,t,n=0,r){h.assert(0===t.length,"Prologue directives should be at the first statement in the target statements array");let i=!1;const o=e.length;for(;n<o;){const r=e[n];if(!isPrologueDirective(r))break;isUseStrictPrologue2(r)&&(i=!0),t.push(r),n++}return r&&!i&&t.push(createUseStrictPrologue()),n}function copyCustomPrologue(e,t,n,r,i=returnTrue){const o=e.length;for(;void 0!==n&&n<o;){const o=e[n];if(!(2097152&getEmitFlags(o)&&i(o)))break;append(t,r?visitNode(o,r,isStatement):o),n++}return n}function findSpanEnd(e,t,n){let r=n;for(;r<e.length&&t(e[r]);)r++;return r}function asNodeArray(e){return e?createNodeArray(e):void 0}function asName(e){return"string"==typeof e?createIdentifier(e):e}function asExpression(e){return"string"==typeof e?createStringLiteral(e):"number"==typeof e?createNumericLiteral(e):"boolean"==typeof e?e?createTrue():createFalse():e}function asInitializer(e){return e&&r().parenthesizeExpressionForDisallowedComma(e)}function asEmbeddedStatement(e){return e&&isNotEmittedStatement(e)?setTextRange(n(createEmptyStatement(),e),e):e}function update(e,t){return e!==t&&(n(e,t),setTextRange(e,t)),e}}function getDefaultTagNameForKind(e){switch(e){case 345:return"type";case 343:return"returns";case 344:return"this";case 341:return"enum";case 331:return"author";case 333:return"class";case 334:return"public";case 335:return"private";case 336:return"protected";case 337:return"readonly";case 338:return"override";case 346:return"template";case 347:return"typedef";case 342:return"param";case 349:return"prop";case 339:return"callback";case 340:return"overload";case 329:return"augments";case 330:return"implements";case 352:return"import";default:return h.fail(`Unsupported kind: ${h.formatSyntaxKind(e)}`)}}var Br={};function propagateNameFlags(e){return e&&isIdentifier(e)?propagateIdentifierNameFlags(e):propagateChildFlags(e)}function propagateIdentifierNameFlags(e){return-67108865&propagateChildFlags(e)}function propagateChildFlags(e){if(!e)return 0;const t=e.transformFlags&~function getTransformFlagsSubtreeExclusions(e){if(e>=183&&e<=206)return-2;switch(e){case 214:case 215:case 210:case 207:case 208:return-2147450880;case 268:return-1941676032;case 170:case 217:case 239:case 235:case 356:case 218:case 108:case 212:case 213:default:return-2147483648;case 220:return-2072174592;case 219:case 263:return-1937940480;case 262:return-2146893824;case 264:case 232:return-2147344384;case 177:return-1937948672;case 173:return-2013249536;case 175:case 178:case 179:return-2005057536;case 133:case 150:case 163:case 146:case 154:case 151:case 136:case 155:case 116:case 169:case 172:case 174:case 180:case 181:case 182:case 265:case 266:return-2;case 211:return-2147278848;case 300:return-2147418112}}(e.kind);return isNamedDeclaration(e)&&isPropertyName(e.name)?function propagatePropertyNameFlagsOfChild(e,t){return t|134234112&e.transformFlags}(e.name,t):t}function propagateChildrenFlags(e){return e?e.transformFlags:0}function aggregateChildrenFlags(e){let t=0;for(const n of e)t|=propagateChildFlags(n);e.transformFlags=t}var jr=createBaseNodeFactory();function makeSynthetic(e){return e.flags|=16,e}var Jr,Wr=createNodeFactory(4,{createBaseSourceFileNode:e=>makeSynthetic(jr.createBaseSourceFileNode(e)),createBaseIdentifierNode:e=>makeSynthetic(jr.createBaseIdentifierNode(e)),createBasePrivateIdentifierNode:e=>makeSynthetic(jr.createBasePrivateIdentifierNode(e)),createBaseTokenNode:e=>makeSynthetic(jr.createBaseTokenNode(e)),createBaseNode:e=>makeSynthetic(jr.createBaseNode(e))});function createSourceMapSource(e,t,n){return new(Jr||(Jr=Bn.getSourceMapSourceConstructor()))(e,t,n)}function setOriginalNode(e,t){if(e.original!==t&&(e.original=t,t)){const n=t.emitNode;n&&(e.emitNode=function mergeEmitNode(e,t){const{flags:n,internalFlags:r,leadingComments:i,trailingComments:o,commentRange:a,sourceMapRange:s,tokenSourceMapRanges:c,constantValue:l,helpers:d,startsOnNewLine:p,snippetElement:u,classThis:m,assignedName:_}=e;t||(t={});n&&(t.flags=n);r&&(t.internalFlags=-9&r);i&&(t.leadingComments=addRange(i.slice(),t.leadingComments));o&&(t.trailingComments=addRange(o.slice(),t.trailingComments));a&&(t.commentRange=a);s&&(t.sourceMapRange=s);c&&(t.tokenSourceMapRanges=function mergeTokenSourceMapRanges(e,t){t||(t=[]);for(const n in e)t[n]=e[n];return t}(c,t.tokenSourceMapRanges));void 0!==l&&(t.constantValue=l);if(d)for(const e of d)t.helpers=appendIfUnique(t.helpers,e);void 0!==p&&(t.startsOnNewLine=p);void 0!==u&&(t.snippetElement=u);m&&(t.classThis=m);_&&(t.assignedName=_);return t}(n,e.emitNode))}return e}function getOrCreateEmitNode(e){if(e.emitNode)h.assert(!(8&e.emitNode.internalFlags),"Invalid attempt to mutate an immutable node.");else{if(isParseTreeNode(e)){if(308===e.kind)return e.emitNode={annotatedNodes:[e]};getOrCreateEmitNode(getSourceFileOfNode(getParseTreeNode(getSourceFileOfNode(e)))??h.fail("Could not determine parsed source file.")).annotatedNodes.push(e)}e.emitNode={}}return e.emitNode}function disposeEmitNodes(e){var t,n;const r=null==(n=null==(t=getSourceFileOfNode(getParseTreeNode(e)))?void 0:t.emitNode)?void 0:n.annotatedNodes;if(r)for(const e of r)e.emitNode=void 0}function removeAllComments(e){const t=getOrCreateEmitNode(e);return t.flags|=3072,t.leadingComments=void 0,t.trailingComments=void 0,e}function setEmitFlags(e,t){return getOrCreateEmitNode(e).flags=t,e}function addEmitFlags(e,t){const n=getOrCreateEmitNode(e);return n.flags=n.flags|t,e}function setInternalEmitFlags(e,t){return getOrCreateEmitNode(e).internalFlags=t,e}function addInternalEmitFlags(e,t){const n=getOrCreateEmitNode(e);return n.internalFlags=n.internalFlags|t,e}function getSourceMapRange(e){var t;return(null==(t=e.emitNode)?void 0:t.sourceMapRange)??e}function setSourceMapRange(e,t){return getOrCreateEmitNode(e).sourceMapRange=t,e}function getTokenSourceMapRange(e,t){var n,r;return null==(r=null==(n=e.emitNode)?void 0:n.tokenSourceMapRanges)?void 0:r[t]}function setTokenSourceMapRange(e,t,n){const r=getOrCreateEmitNode(e);return(r.tokenSourceMapRanges??(r.tokenSourceMapRanges=[]))[t]=n,e}function getStartsOnNewLine(e){var t;return null==(t=e.emitNode)?void 0:t.startsOnNewLine}function setStartsOnNewLine(e,t){return getOrCreateEmitNode(e).startsOnNewLine=t,e}function getCommentRange(e){var t;return(null==(t=e.emitNode)?void 0:t.commentRange)??e}function setCommentRange(e,t){return getOrCreateEmitNode(e).commentRange=t,e}function getSyntheticLeadingComments(e){var t;return null==(t=e.emitNode)?void 0:t.leadingComments}function setSyntheticLeadingComments(e,t){return getOrCreateEmitNode(e).leadingComments=t,e}function addSyntheticLeadingComment(e,t,n,r){return setSyntheticLeadingComments(e,append(getSyntheticLeadingComments(e),{kind:t,pos:-1,end:-1,hasTrailingNewLine:r,text:n}))}function getSyntheticTrailingComments(e){var t;return null==(t=e.emitNode)?void 0:t.trailingComments}function setSyntheticTrailingComments(e,t){return getOrCreateEmitNode(e).trailingComments=t,e}function addSyntheticTrailingComment(e,t,n,r){return setSyntheticTrailingComments(e,append(getSyntheticTrailingComments(e),{kind:t,pos:-1,end:-1,hasTrailingNewLine:r,text:n}))}function moveSyntheticComments(e,t){setSyntheticLeadingComments(e,getSyntheticLeadingComments(t)),setSyntheticTrailingComments(e,getSyntheticTrailingComments(t));const n=getOrCreateEmitNode(t);return n.leadingComments=void 0,n.trailingComments=void 0,e}function getConstantValue(e){var t;return null==(t=e.emitNode)?void 0:t.constantValue}function setConstantValue(e,t){return getOrCreateEmitNode(e).constantValue=t,e}function addEmitHelper(e,t){const n=getOrCreateEmitNode(e);return n.helpers=append(n.helpers,t),e}function addEmitHelpers(e,t){if(some(t)){const n=getOrCreateEmitNode(e);for(const e of t)n.helpers=appendIfUnique(n.helpers,e)}return e}function removeEmitHelper(e,t){var n;const r=null==(n=e.emitNode)?void 0:n.helpers;return!!r&&orderedRemoveItem(r,t)}function getEmitHelpers(e){var t;return null==(t=e.emitNode)?void 0:t.helpers}function moveEmitHelpers(e,t,n){const r=e.emitNode,i=r&&r.helpers;if(!some(i))return;const o=getOrCreateEmitNode(t);let a=0;for(let e=0;e<i.length;e++){const t=i[e];n(t)?(a++,o.helpers=appendIfUnique(o.helpers,t)):a>0&&(i[e-a]=t)}a>0&&(i.length-=a)}function getSnippetElement(e){var t;return null==(t=e.emitNode)?void 0:t.snippetElement}function setSnippetElement(e,t){return getOrCreateEmitNode(e).snippetElement=t,e}function ignoreSourceNewlines(e){return getOrCreateEmitNode(e).internalFlags|=4,e}function setTypeNode(e,t){return getOrCreateEmitNode(e).typeNode=t,e}function getTypeNode(e){var t;return null==(t=e.emitNode)?void 0:t.typeNode}function setIdentifierTypeArguments(e,t){return getOrCreateEmitNode(e).identifierTypeArguments=t,e}function getIdentifierTypeArguments(e){var t;return null==(t=e.emitNode)?void 0:t.identifierTypeArguments}function setIdentifierAutoGenerate(e,t){return getOrCreateEmitNode(e).autoGenerate=t,e}function getIdentifierAutoGenerate(e){var t;return null==(t=e.emitNode)?void 0:t.autoGenerate}function setIdentifierGeneratedImportReference(e,t){return getOrCreateEmitNode(e).generatedImportReference=t,e}function getIdentifierGeneratedImportReference(e){var t;return null==(t=e.emitNode)?void 0:t.generatedImportReference}var Ur=(e=>(e.Field="f",e.Method="m",e.Accessor="a",e))(Ur||{});function createEmitHelperFactory(e){const t=e.factory,n=memoize(()=>setInternalEmitFlags(t.createTrue(),8)),r=memoize(()=>setInternalEmitFlags(t.createFalse(),8));return{getUnscopedHelperName,createDecorateHelper:function createDecorateHelper(n,r,i,o){e.requestEmitHelper(zr);const a=[];a.push(t.createArrayLiteralExpression(n,!0)),a.push(r),i&&(a.push(i),o&&a.push(o));return t.createCallExpression(getUnscopedHelperName("__decorate"),void 0,a)},createMetadataHelper:function createMetadataHelper(n,r){return e.requestEmitHelper(Vr),t.createCallExpression(getUnscopedHelperName("__metadata"),void 0,[t.createStringLiteral(n),r])},createParamHelper:function createParamHelper(n,r,i){return e.requestEmitHelper(qr),setTextRange(t.createCallExpression(getUnscopedHelperName("__param"),void 0,[t.createNumericLiteral(r+""),n]),i)},createESDecorateHelper:function createESDecorateHelper(n,r,i,o,a,s){return e.requestEmitHelper(Hr),t.createCallExpression(getUnscopedHelperName("__esDecorate"),void 0,[n??t.createNull(),r??t.createNull(),i,createESDecorateContextObject(o),a,s])},createRunInitializersHelper:function createRunInitializersHelper(n,r,i){return e.requestEmitHelper(Kr),t.createCallExpression(getUnscopedHelperName("__runInitializers"),void 0,i?[n,r,i]:[n,r])},createAssignHelper:function createAssignHelper(n){if(zn(e.getCompilerOptions())>=2)return t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"assign"),void 0,n);return e.requestEmitHelper(Gr),t.createCallExpression(getUnscopedHelperName("__assign"),void 0,n)},createAwaitHelper:function createAwaitHelper(n){return e.requestEmitHelper($r),t.createCallExpression(getUnscopedHelperName("__await"),void 0,[n])},createAsyncGeneratorHelper:function createAsyncGeneratorHelper(n,r){return e.requestEmitHelper($r),e.requestEmitHelper(Qr),(n.emitNode||(n.emitNode={})).flags|=1572864,t.createCallExpression(getUnscopedHelperName("__asyncGenerator"),void 0,[r?t.createThis():t.createVoidZero(),t.createIdentifier("arguments"),n])},createAsyncDelegatorHelper:function createAsyncDelegatorHelper(n){return e.requestEmitHelper($r),e.requestEmitHelper(Xr),t.createCallExpression(getUnscopedHelperName("__asyncDelegator"),void 0,[n])},createAsyncValuesHelper:function createAsyncValuesHelper(n){return e.requestEmitHelper(Yr),t.createCallExpression(getUnscopedHelperName("__asyncValues"),void 0,[n])},createRestHelper:function createRestHelper(n,r,i,o){e.requestEmitHelper(Zr);const a=[];let s=0;for(let e=0;e<r.length-1;e++){const n=getPropertyNameOfBindingOrAssignmentElement(r[e]);if(n)if(isComputedPropertyName(n)){h.assertIsDefined(i,"Encountered computed property name but 'computedTempVariables' argument was not provided.");const e=i[s];s++,a.push(t.createConditionalExpression(t.createTypeCheck(e,"symbol"),void 0,e,void 0,t.createAdd(e,t.createStringLiteral(""))))}else a.push(t.createStringLiteralFromNode(n))}return t.createCallExpression(getUnscopedHelperName("__rest"),void 0,[n,setTextRange(t.createArrayLiteralExpression(a),o)])},createAwaiterHelper:function createAwaiterHelper(n,r,i,o,a){e.requestEmitHelper(ei);const s=t.createFunctionExpression(void 0,t.createToken(42),void 0,void 0,o??[],void 0,a);return(s.emitNode||(s.emitNode={})).flags|=1572864,t.createCallExpression(getUnscopedHelperName("__awaiter"),void 0,[n?t.createThis():t.createVoidZero(),r??t.createVoidZero(),i?createExpressionFromEntityName(t,i):t.createVoidZero(),s])},createExtendsHelper:function createExtendsHelper(n){return e.requestEmitHelper(ti),t.createCallExpression(getUnscopedHelperName("__extends"),void 0,[n,t.createUniqueName("_super",48)])},createTemplateObjectHelper:function createTemplateObjectHelper(n,r){return e.requestEmitHelper(ni),t.createCallExpression(getUnscopedHelperName("__makeTemplateObject"),void 0,[n,r])},createSpreadArrayHelper:function createSpreadArrayHelper(i,o,a){return e.requestEmitHelper(ii),t.createCallExpression(getUnscopedHelperName("__spreadArray"),void 0,[i,o,a?n():r()])},createPropKeyHelper:function createPropKeyHelper(n){return e.requestEmitHelper(oi),t.createCallExpression(getUnscopedHelperName("__propKey"),void 0,[n])},createSetFunctionNameHelper:function createSetFunctionNameHelper(t,n,r){return e.requestEmitHelper(ai),e.factory.createCallExpression(getUnscopedHelperName("__setFunctionName"),void 0,r?[t,n,e.factory.createStringLiteral(r)]:[t,n])},createValuesHelper:function createValuesHelper(n){return e.requestEmitHelper(si),t.createCallExpression(getUnscopedHelperName("__values"),void 0,[n])},createReadHelper:function createReadHelper(n,r){return e.requestEmitHelper(ri),t.createCallExpression(getUnscopedHelperName("__read"),void 0,void 0!==r?[n,t.createNumericLiteral(r+"")]:[n])},createGeneratorHelper:function createGeneratorHelper(n){return e.requestEmitHelper(ci),t.createCallExpression(getUnscopedHelperName("__generator"),void 0,[t.createThis(),n])},createImportStarHelper:function createImportStarHelper(n){return e.requestEmitHelper(di),t.createCallExpression(getUnscopedHelperName("__importStar"),void 0,[n])},createImportStarCallbackHelper:function createImportStarCallbackHelper(){return e.requestEmitHelper(di),getUnscopedHelperName("__importStar")},createImportDefaultHelper:function createImportDefaultHelper(n){return e.requestEmitHelper(pi),t.createCallExpression(getUnscopedHelperName("__importDefault"),void 0,[n])},createExportStarHelper:function createExportStarHelper(n,r=t.createIdentifier("exports")){return e.requestEmitHelper(ui),e.requestEmitHelper(li),t.createCallExpression(getUnscopedHelperName("__exportStar"),void 0,[n,r])},createClassPrivateFieldGetHelper:function createClassPrivateFieldGetHelper(n,r,i,o){let a;e.requestEmitHelper(mi),a=o?[n,r,t.createStringLiteral(i),o]:[n,r,t.createStringLiteral(i)];return t.createCallExpression(getUnscopedHelperName("__classPrivateFieldGet"),void 0,a)},createClassPrivateFieldSetHelper:function createClassPrivateFieldSetHelper(n,r,i,o,a){let s;e.requestEmitHelper(_i),s=a?[n,r,i,t.createStringLiteral(o),a]:[n,r,i,t.createStringLiteral(o)];return t.createCallExpression(getUnscopedHelperName("__classPrivateFieldSet"),void 0,s)},createClassPrivateFieldInHelper:function createClassPrivateFieldInHelper(n,r){return e.requestEmitHelper(fi),t.createCallExpression(getUnscopedHelperName("__classPrivateFieldIn"),void 0,[n,r])},createAddDisposableResourceHelper:function createAddDisposableResourceHelper(n,r,i){return e.requestEmitHelper(gi),t.createCallExpression(getUnscopedHelperName("__addDisposableResource"),void 0,[n,r,i?t.createTrue():t.createFalse()])},createDisposeResourcesHelper:function createDisposeResourcesHelper(n){return e.requestEmitHelper(yi),t.createCallExpression(getUnscopedHelperName("__disposeResources"),void 0,[n])},createRewriteRelativeImportExtensionsHelper:function createRewriteRelativeImportExtensionsHelper(n){return e.requestEmitHelper(hi),t.createCallExpression(getUnscopedHelperName("__rewriteRelativeImportExtension"),void 0,1===e.getCompilerOptions().jsx?[n,t.createTrue()]:[n])}};function getUnscopedHelperName(e){return setEmitFlags(t.createIdentifier(e),8196)}function createESDecorateClassElementAccessObject(e,n){const r=[];return r.push(function createESDecorateClassElementAccessHasMethod(e){const n=e.computed?e.name:isIdentifier(e.name)?t.createStringLiteralFromNode(e.name):e.name;return t.createPropertyAssignment("has",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier("obj"))],void 0,void 0,t.createBinaryExpression(n,103,t.createIdentifier("obj"))))}(e)),n.get&&r.push(function createESDecorateClassElementAccessGetMethod(e){const n=e.computed?t.createElementAccessExpression(t.createIdentifier("obj"),e.name):t.createPropertyAccessExpression(t.createIdentifier("obj"),e.name);return t.createPropertyAssignment("get",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier("obj"))],void 0,void 0,n))}(e)),n.set&&r.push(function createESDecorateClassElementAccessSetMethod(e){const n=e.computed?t.createElementAccessExpression(t.createIdentifier("obj"),e.name):t.createPropertyAccessExpression(t.createIdentifier("obj"),e.name);return t.createPropertyAssignment("set",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier("obj")),t.createParameterDeclaration(void 0,void 0,t.createIdentifier("value"))],void 0,void 0,t.createBlock([t.createExpressionStatement(t.createAssignment(n,t.createIdentifier("value")))])))}(e)),t.createObjectLiteralExpression(r)}function createESDecorateContextObject(e){return"class"===e.kind?function createESDecorateClassContextObject(e){const n=[t.createPropertyAssignment(t.createIdentifier("kind"),t.createStringLiteral("class")),t.createPropertyAssignment(t.createIdentifier("name"),e.name),t.createPropertyAssignment(t.createIdentifier("metadata"),e.metadata)];return t.createObjectLiteralExpression(n)}(e):function createESDecorateClassElementContextObject(e){const n=[t.createPropertyAssignment(t.createIdentifier("kind"),t.createStringLiteral(e.kind)),t.createPropertyAssignment(t.createIdentifier("name"),e.name.computed?e.name.name:t.createStringLiteralFromNode(e.name.name)),t.createPropertyAssignment(t.createIdentifier("static"),e.static?t.createTrue():t.createFalse()),t.createPropertyAssignment(t.createIdentifier("private"),e.private?t.createTrue():t.createFalse()),t.createPropertyAssignment(t.createIdentifier("access"),createESDecorateClassElementAccessObject(e.name,e.access)),t.createPropertyAssignment(t.createIdentifier("metadata"),e.metadata)];return t.createObjectLiteralExpression(n)}(e)}}function compareEmitHelpers(e,t){return e===t||e.priority===t.priority?0:void 0===e.priority?1:void 0===t.priority?-1:compareValues(e.priority,t.priority)}function helperString(e,...t){return n=>{let r="";for(let i=0;i<t.length;i++)r+=e[i],r+=n(t[i]);return r+=e[e.length-1],r}}var zr={name:"typescript:decorate",importName:"__decorate",scoped:!1,priority:2,text:'\n var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'},Vr={name:"typescript:metadata",importName:"__metadata",scoped:!1,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'},qr={name:"typescript:param",importName:"__param",scoped:!1,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"},Hr={name:"typescript:esDecorate",importName:"__esDecorate",scoped:!1,priority:2,text:'\n var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }\n var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";\n var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === "accessor") {\n if (result === void 0) continue;\n if (result === null || typeof result !== "object") throw new TypeError("Object expected");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === "field") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n };'},Kr={name:"typescript:runInitializers",importName:"__runInitializers",scoped:!1,priority:2,text:"\n var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n };"},Gr={name:"typescript:assign",importName:"__assign",scoped:!1,priority:1,text:"\n var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };"},$r={name:"typescript:await",importName:"__await",scoped:!1,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }"},Qr={name:"typescript:asyncGenerator",importName:"__asyncGenerator",scoped:!1,dependencies:[$r],text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };'},Xr={name:"typescript:asyncDelegator",importName:"__asyncDelegator",scoped:!1,dependencies:[$r],text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n };'},Yr={name:"typescript:asyncValues",importName:"__asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n };'},Zr={name:"typescript:rest",importName:"__rest",scoped:!1,text:'\n var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n };'},ei={name:"typescript:awaiter",importName:"__awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'},ti={name:"typescript:extends",importName:"__extends",scoped:!1,priority:0,text:'\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();'},ni={name:"typescript:makeTemplateObject",importName:"__makeTemplateObject",scoped:!1,priority:0,text:'\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n };'},ri={name:"typescript:read",importName:"__read",scoped:!1,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };'},ii={name:"typescript:spreadArray",importName:"__spreadArray",scoped:!1,text:"\n var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n };"},oi={name:"typescript:propKey",importName:"__propKey",scoped:!1,text:'\n var __propKey = (this && this.__propKey) || function (x) {\n return typeof x === "symbol" ? x : "".concat(x);\n };'},ai={name:"typescript:setFunctionName",importName:"__setFunctionName",scoped:!1,text:'\n var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {\n if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";\n return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });\n };'},si={name:"typescript:values",importName:"__values",scoped:!1,text:'\n var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === "number") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\n };'},ci={name:"typescript:generator",importName:"__generator",scoped:!1,priority:6,text:'\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);\n return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'},li={name:"typescript:commonjscreatebinding",importName:"__createBinding",scoped:!1,priority:1,text:'\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n }) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n }));'},di={name:"typescript:commonjsimportstar",importName:"__importStar",scoped:!1,dependencies:[li,{name:"typescript:commonjscreatevalue",importName:"__setModuleDefault",scoped:!1,priority:1,text:'\n var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, "default", { enumerable: true, value: v });\n }) : function(o, v) {\n o["default"] = v;\n });'}],priority:2,text:'\n var __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n })();'},pi={name:"typescript:commonjsimportdefault",importName:"__importDefault",scoped:!1,text:'\n var __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n };'},ui={name:"typescript:export-star",importName:"__exportStar",scoped:!1,dependencies:[li],priority:2,text:'\n var __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n };'},mi={name:"typescript:classPrivateFieldGet",importName:"__classPrivateFieldGet",scoped:!1,text:'\n var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\n };'},_i={name:"typescript:classPrivateFieldSet",importName:"__classPrivateFieldSet",scoped:!1,text:'\n var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === "m") throw new TypeError("Private method is not writable");\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");\n return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n };'},fi={name:"typescript:classPrivateFieldIn",importName:"__classPrivateFieldIn",scoped:!1,text:'\n var __classPrivateFieldIn = (this && this.__classPrivateFieldIn) || function(state, receiver) {\n if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use \'in\' operator on non-object");\n return typeof state === "function" ? receiver === state : state.has(receiver);\n };'},gi={name:"typescript:addDisposableResource",importName:"__addDisposableResource",scoped:!1,text:'\n var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== "function") throw new TypeError("Object not disposable.");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n };'},yi={name:"typescript:disposeResources",importName:"__disposeResources",scoped:!1,text:'\n var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {\n return function (env) {\n function fail(e) {\n env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n };\n })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;\n });'},hi={name:"typescript:rewriteRelativeImportExtensions",importName:"__rewriteRelativeImportExtension",scoped:!1,text:'\n var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {\n if (typeof path === "string" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");\n });\n }\n return path;\n };'},Ti={name:"typescript:async-super",scoped:!0,text:helperString` + const ${"_superIndex"} = name => super[name];`},Si={name:"typescript:advanced-async-super",scoped:!0,text:helperString` + const ${"_superIndex"} = (function (geti, seti) { + const cache = Object.create(null); + return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } }); + })(name => super[name], (name, value) => super[name] = value);`};function isCallToHelper(e,t){return isCallExpression(e)&&isIdentifier(e.expression)&&!!(8192&getEmitFlags(e.expression))&&e.expression.escapedText===t}function isNumericLiteral(e){return 9===e.kind}function isBigIntLiteral(e){return 10===e.kind}function isStringLiteral(e){return 11===e.kind}function isJsxText(e){return 12===e.kind}function isRegularExpressionLiteral(e){return 14===e.kind}function isNoSubstitutionTemplateLiteral(e){return 15===e.kind}function isTemplateHead(e){return 16===e.kind}function isTemplateMiddle(e){return 17===e.kind}function isTemplateTail(e){return 18===e.kind}function isDotDotDotToken(e){return 26===e.kind}function isCommaToken(e){return 28===e.kind}function isPlusToken(e){return 40===e.kind}function isMinusToken(e){return 41===e.kind}function isAsteriskToken(e){return 42===e.kind}function isExclamationToken(e){return 54===e.kind}function isQuestionToken(e){return 58===e.kind}function isColonToken(e){return 59===e.kind}function isQuestionDotToken(e){return 29===e.kind}function isEqualsGreaterThanToken(e){return 39===e.kind}function isIdentifier(e){return 80===e.kind}function isPrivateIdentifier(e){return 81===e.kind}function isExportModifier(e){return 95===e.kind}function isDefaultModifier(e){return 90===e.kind}function isAsyncModifier(e){return 134===e.kind}function isAssertsKeyword(e){return 131===e.kind}function isAwaitKeyword(e){return 135===e.kind}function isReadonlyKeyword(e){return 148===e.kind}function isStaticModifier(e){return 126===e.kind}function isAbstractModifier(e){return 128===e.kind}function isOverrideModifier(e){return 164===e.kind}function isAccessorModifier(e){return 129===e.kind}function isSuperKeyword(e){return 108===e.kind}function isImportKeyword(e){return 102===e.kind}function isCaseKeyword(e){return 84===e.kind}function isQualifiedName(e){return 167===e.kind}function isComputedPropertyName(e){return 168===e.kind}function isTypeParameterDeclaration(e){return 169===e.kind}function isParameter(e){return 170===e.kind}function isDecorator(e){return 171===e.kind}function isPropertySignature(e){return 172===e.kind}function isPropertyDeclaration(e){return 173===e.kind}function isMethodSignature(e){return 174===e.kind}function isMethodDeclaration(e){return 175===e.kind}function isClassStaticBlockDeclaration(e){return 176===e.kind}function isConstructorDeclaration(e){return 177===e.kind}function isGetAccessorDeclaration(e){return 178===e.kind}function isSetAccessorDeclaration(e){return 179===e.kind}function isCallSignatureDeclaration(e){return 180===e.kind}function isConstructSignatureDeclaration(e){return 181===e.kind}function isIndexSignatureDeclaration(e){return 182===e.kind}function isTypePredicateNode(e){return 183===e.kind}function isTypeReferenceNode(e){return 184===e.kind}function isFunctionTypeNode(e){return 185===e.kind}function isConstructorTypeNode(e){return 186===e.kind}function isTypeQueryNode(e){return 187===e.kind}function isTypeLiteralNode(e){return 188===e.kind}function isArrayTypeNode(e){return 189===e.kind}function isTupleTypeNode(e){return 190===e.kind}function isNamedTupleMember(e){return 203===e.kind}function isOptionalTypeNode(e){return 191===e.kind}function isRestTypeNode(e){return 192===e.kind}function isUnionTypeNode(e){return 193===e.kind}function isIntersectionTypeNode(e){return 194===e.kind}function isConditionalTypeNode(e){return 195===e.kind}function isInferTypeNode(e){return 196===e.kind}function isParenthesizedTypeNode(e){return 197===e.kind}function isThisTypeNode(e){return 198===e.kind}function isTypeOperatorNode(e){return 199===e.kind}function isIndexedAccessTypeNode(e){return 200===e.kind}function isMappedTypeNode(e){return 201===e.kind}function isLiteralTypeNode(e){return 202===e.kind}function isImportTypeNode(e){return 206===e.kind}function isTemplateLiteralTypeSpan(e){return 205===e.kind}function isTemplateLiteralTypeNode(e){return 204===e.kind}function isObjectBindingPattern(e){return 207===e.kind}function isArrayBindingPattern(e){return 208===e.kind}function isBindingElement(e){return 209===e.kind}function isArrayLiteralExpression(e){return 210===e.kind}function isObjectLiteralExpression(e){return 211===e.kind}function isPropertyAccessExpression(e){return 212===e.kind}function isElementAccessExpression(e){return 213===e.kind}function isCallExpression(e){return 214===e.kind}function isNewExpression(e){return 215===e.kind}function isTaggedTemplateExpression(e){return 216===e.kind}function isTypeAssertionExpression(e){return 217===e.kind}function isParenthesizedExpression(e){return 218===e.kind}function isFunctionExpression(e){return 219===e.kind}function isArrowFunction(e){return 220===e.kind}function isDeleteExpression(e){return 221===e.kind}function isTypeOfExpression(e){return 222===e.kind}function isVoidExpression(e){return 223===e.kind}function isAwaitExpression(e){return 224===e.kind}function isPrefixUnaryExpression(e){return 225===e.kind}function isPostfixUnaryExpression(e){return 226===e.kind}function isBinaryExpression(e){return 227===e.kind}function isConditionalExpression(e){return 228===e.kind}function isTemplateExpression(e){return 229===e.kind}function isYieldExpression(e){return 230===e.kind}function isSpreadElement(e){return 231===e.kind}function isClassExpression(e){return 232===e.kind}function isOmittedExpression(e){return 233===e.kind}function isExpressionWithTypeArguments(e){return 234===e.kind}function isAsExpression(e){return 235===e.kind}function isSatisfiesExpression(e){return 239===e.kind}function isNonNullExpression(e){return 236===e.kind}function isMetaProperty(e){return 237===e.kind}function isSyntheticExpression(e){return 238===e.kind}function isPartiallyEmittedExpression(e){return 356===e.kind}function isCommaListExpression(e){return 357===e.kind}function isTemplateSpan(e){return 240===e.kind}function isSemicolonClassElement(e){return 241===e.kind}function isBlock(e){return 242===e.kind}function isVariableStatement(e){return 244===e.kind}function isEmptyStatement(e){return 243===e.kind}function isExpressionStatement(e){return 245===e.kind}function isIfStatement(e){return 246===e.kind}function isDoStatement(e){return 247===e.kind}function isWhileStatement(e){return 248===e.kind}function isForStatement(e){return 249===e.kind}function isForInStatement(e){return 250===e.kind}function isForOfStatement(e){return 251===e.kind}function isContinueStatement(e){return 252===e.kind}function isBreakStatement(e){return 253===e.kind}function isReturnStatement(e){return 254===e.kind}function isWithStatement(e){return 255===e.kind}function isSwitchStatement(e){return 256===e.kind}function isLabeledStatement(e){return 257===e.kind}function isThrowStatement(e){return 258===e.kind}function isTryStatement(e){return 259===e.kind}function isDebuggerStatement(e){return 260===e.kind}function isVariableDeclaration(e){return 261===e.kind}function isVariableDeclarationList(e){return 262===e.kind}function isFunctionDeclaration(e){return 263===e.kind}function isClassDeclaration(e){return 264===e.kind}function isInterfaceDeclaration(e){return 265===e.kind}function isTypeAliasDeclaration(e){return 266===e.kind}function isEnumDeclaration(e){return 267===e.kind}function isModuleDeclaration(e){return 268===e.kind}function isModuleBlock(e){return 269===e.kind}function isCaseBlock(e){return 270===e.kind}function isNamespaceExportDeclaration(e){return 271===e.kind}function isImportEqualsDeclaration(e){return 272===e.kind}function isImportDeclaration(e){return 273===e.kind}function isImportClause(e){return 274===e.kind}function isImportTypeAssertionContainer(e){return 303===e.kind}function isAssertClause(e){return 301===e.kind}function isAssertEntry(e){return 302===e.kind}function isImportAttributes(e){return 301===e.kind}function isImportAttribute(e){return 302===e.kind}function isNamespaceImport(e){return 275===e.kind}function isNamespaceExport(e){return 281===e.kind}function isNamedImports(e){return 276===e.kind}function isImportSpecifier(e){return 277===e.kind}function isExportAssignment(e){return 278===e.kind}function isExportDeclaration(e){return 279===e.kind}function isNamedExports(e){return 280===e.kind}function isExportSpecifier(e){return 282===e.kind}function isModuleExportName(e){return 80===e.kind||11===e.kind}function isMissingDeclaration(e){return 283===e.kind}function isNotEmittedStatement(e){return 354===e.kind}function isSyntheticReference(e){return 358===e.kind}function isExternalModuleReference(e){return 284===e.kind}function isJsxElement(e){return 285===e.kind}function isJsxSelfClosingElement(e){return 286===e.kind}function isJsxOpeningElement(e){return 287===e.kind}function isJsxClosingElement(e){return 288===e.kind}function isJsxFragment(e){return 289===e.kind}function isJsxOpeningFragment(e){return 290===e.kind}function isJsxClosingFragment(e){return 291===e.kind}function isJsxAttribute(e){return 292===e.kind}function isJsxAttributes(e){return 293===e.kind}function isJsxSpreadAttribute(e){return 294===e.kind}function isJsxExpression(e){return 295===e.kind}function isJsxNamespacedName(e){return 296===e.kind}function isCaseClause(e){return 297===e.kind}function isDefaultClause(e){return 298===e.kind}function isHeritageClause(e){return 299===e.kind}function isCatchClause(e){return 300===e.kind}function isPropertyAssignment(e){return 304===e.kind}function isShorthandPropertyAssignment(e){return 305===e.kind}function isSpreadAssignment(e){return 306===e.kind}function isEnumMember(e){return 307===e.kind}function isSourceFile(e){return 308===e.kind}function isBundle(e){return 309===e.kind}function isJSDocTypeExpression(e){return 310===e.kind}function isJSDocNameReference(e){return 311===e.kind}function isJSDocMemberName(e){return 312===e.kind}function isJSDocLink(e){return 325===e.kind}function isJSDocLinkCode(e){return 326===e.kind}function isJSDocLinkPlain(e){return 327===e.kind}function isJSDocAllType(e){return 313===e.kind}function isJSDocUnknownType(e){return 314===e.kind}function isJSDocNullableType(e){return 315===e.kind}function isJSDocNonNullableType(e){return 316===e.kind}function isJSDocOptionalType(e){return 317===e.kind}function isJSDocFunctionType(e){return 318===e.kind}function isJSDocVariadicType(e){return 319===e.kind}function isJSDocNamepathType(e){return 320===e.kind}function isJSDoc(e){return 321===e.kind}function isJSDocTypeLiteral(e){return 323===e.kind}function isJSDocSignature(e){return 324===e.kind}function isJSDocAugmentsTag(e){return 329===e.kind}function isJSDocAuthorTag(e){return 331===e.kind}function isJSDocClassTag(e){return 333===e.kind}function isJSDocCallbackTag(e){return 339===e.kind}function isJSDocPublicTag(e){return 334===e.kind}function isJSDocPrivateTag(e){return 335===e.kind}function isJSDocProtectedTag(e){return 336===e.kind}function isJSDocReadonlyTag(e){return 337===e.kind}function isJSDocOverrideTag(e){return 338===e.kind}function isJSDocOverloadTag(e){return 340===e.kind}function isJSDocDeprecatedTag(e){return 332===e.kind}function isJSDocSeeTag(e){return 348===e.kind}function isJSDocEnumTag(e){return 341===e.kind}function isJSDocParameterTag(e){return 342===e.kind}function isJSDocReturnTag(e){return 343===e.kind}function isJSDocThisTag(e){return 344===e.kind}function isJSDocTypeTag(e){return 345===e.kind}function isJSDocTemplateTag(e){return 346===e.kind}function isJSDocTypedefTag(e){return 347===e.kind}function isJSDocUnknownTag(e){return 328===e.kind}function isJSDocPropertyTag(e){return 349===e.kind}function isJSDocImplementsTag(e){return 330===e.kind}function isJSDocSatisfiesTag(e){return 351===e.kind}function isJSDocThrowsTag(e){return 350===e.kind}function isJSDocImportTag(e){return 352===e.kind}function isSyntaxList(e){return 353===e.kind}var xi,vi=new WeakMap;function getNodeChildren(e,t){var n;const r=e.kind;return isNodeKind(r)?353===r?e._children:null==(n=vi.get(t))?void 0:n.get(e):l}function setNodeChildren(e,t,n){353===e.kind&&h.fail("Should not need to re-set the children of a SyntaxList.");let r=vi.get(t);return void 0===r&&(r=new WeakMap,vi.set(t,r)),r.set(e,n),n}function unsetNodeChildren(e,t){var n;353===e.kind&&h.fail("Did not expect to unset the children of a SyntaxList."),null==(n=vi.get(t))||n.delete(e)}function transferSourceFileChildren(e,t){const n=vi.get(e);void 0!==n&&(vi.delete(e),vi.set(t,n))}function createEmptyExports(e){return e.createExportDeclaration(void 0,!1,e.createNamedExports([]),void 0)}function createMemberAccessForPropertyName(e,t,n,r){if(isComputedPropertyName(n))return setTextRange(e.createElementAccessExpression(t,n.expression),r);{const r=setTextRange(isMemberName(n)?e.createPropertyAccessExpression(t,n):e.createElementAccessExpression(t,n),n);return addEmitFlags(r,128),r}}function createReactNamespace(e,t){const n=Di.createIdentifier(e||"React");return setParent(n,getParseTreeNode(t)),n}function createJsxFactoryExpressionFromEntityName(e,t,n){if(isQualifiedName(t)){const r=createJsxFactoryExpressionFromEntityName(e,t.left,n),i=e.createIdentifier(idText(t.right));return i.escapedText=t.right.escapedText,e.createPropertyAccessExpression(r,i)}return createReactNamespace(idText(t),n)}function createJsxFactoryExpression(e,t,n,r){return t?createJsxFactoryExpressionFromEntityName(e,t,r):e.createPropertyAccessExpression(createReactNamespace(n,r),"createElement")}function createExpressionForJsxElement(e,t,n,r,i,o){const a=[n];if(r&&a.push(r),i&&i.length>0)if(r||a.push(e.createNull()),i.length>1)for(const e of i)startOnNewLine(e),a.push(e);else a.push(i[0]);return setTextRange(e.createCallExpression(t,void 0,a),o)}function createExpressionForJsxFragment(e,t,n,r,i,o,a){const s=function createJsxFragmentFactoryExpression(e,t,n,r){return t?createJsxFactoryExpressionFromEntityName(e,t,r):e.createPropertyAccessExpression(createReactNamespace(n,r),"Fragment")}(e,n,r,o),c=[s,e.createNull()];if(i&&i.length>0)if(i.length>1)for(const e of i)startOnNewLine(e),c.push(e);else c.push(i[0]);return setTextRange(e.createCallExpression(createJsxFactoryExpression(e,t,r,o),void 0,c),a)}function createForOfBindingStatement(e,t,n){if(isVariableDeclarationList(t)){const r=first(t.declarations),i=e.updateVariableDeclaration(r,r.name,void 0,void 0,n);return setTextRange(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[i])),t)}{const r=setTextRange(e.createAssignment(t,n),t);return setTextRange(e.createExpressionStatement(r),t)}}function createExpressionFromEntityName(e,t){if(isQualifiedName(t)){const n=createExpressionFromEntityName(e,t.left),r=setParent(setTextRange(e.cloneNode(t.right),t.right),t.right.parent);return setTextRange(e.createPropertyAccessExpression(n,r),t)}return setParent(setTextRange(e.cloneNode(t),t),t.parent)}function createExpressionForPropertyName(e,t){return isIdentifier(t)?e.createStringLiteralFromNode(t):isComputedPropertyName(t)?setParent(setTextRange(e.cloneNode(t.expression),t.expression),t.expression.parent):setParent(setTextRange(e.cloneNode(t),t),t.parent)}function createExpressionForObjectLiteralElementLike(e,t,n,r){switch(n.name&&isPrivateIdentifier(n.name)&&h.failBadSyntaxKind(n.name,"Private identifiers are not allowed in object literals."),n.kind){case 178:case 179:return function createExpressionForAccessorDeclaration(e,t,n,r,i){const{firstAccessor:o,getAccessor:a,setAccessor:s}=getAllAccessorDeclarations(t,n);if(n===o)return setTextRange(e.createObjectDefinePropertyCall(r,createExpressionForPropertyName(e,n.name),e.createPropertyDescriptor({enumerable:e.createFalse(),configurable:!0,get:a&&setTextRange(setOriginalNode(e.createFunctionExpression(getModifiers(a),void 0,void 0,void 0,a.parameters,void 0,a.body),a),a),set:s&&setTextRange(setOriginalNode(e.createFunctionExpression(getModifiers(s),void 0,void 0,void 0,s.parameters,void 0,s.body),s),s)},!i)),o)}(e,t.properties,n,r,!!t.multiLine);case 304:return function createExpressionForPropertyAssignment(e,t,n){return setOriginalNode(setTextRange(e.createAssignment(createMemberAccessForPropertyName(e,n,t.name,t.name),t.initializer),t),t)}(e,n,r);case 305:return function createExpressionForShorthandPropertyAssignment(e,t,n){return setOriginalNode(setTextRange(e.createAssignment(createMemberAccessForPropertyName(e,n,t.name,t.name),e.cloneNode(t.name)),t),t)}(e,n,r);case 175:return function createExpressionForMethodDeclaration(e,t,n){return setOriginalNode(setTextRange(e.createAssignment(createMemberAccessForPropertyName(e,n,t.name,t.name),setOriginalNode(setTextRange(e.createFunctionExpression(getModifiers(t),t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t)}(e,n,r)}}function expandPreOrPostfixIncrementOrDecrementExpression(e,t,n,r,i){const o=t.operator;h.assert(46===o||47===o,"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");const a=e.createTempVariable(r);setTextRange(n=e.createAssignment(a,n),t.operand);let s=isPrefixUnaryExpression(t)?e.createPrefixUnaryExpression(o,a):e.createPostfixUnaryExpression(a,o);return setTextRange(s,t),i&&(s=e.createAssignment(i,s),setTextRange(s,t)),setTextRange(n=e.createComma(n,s),t),isPostfixUnaryExpression(t)&&setTextRange(n=e.createComma(n,a),t),n}function isInternalName(e){return!!(65536&getEmitFlags(e))}function isLocalName(e){return!!(32768&getEmitFlags(e))}function isExportName(e){return!!(16384&getEmitFlags(e))}function isUseStrictPrologue(e){return isStringLiteral(e.expression)&&"use strict"===e.expression.text}function findUseStrictPrologue(e){for(const t of e){if(!isPrologueDirective(t))break;if(isUseStrictPrologue(t))return t}}function startsWithUseStrict(e){const t=firstOrUndefined(e);return void 0!==t&&isPrologueDirective(t)&&isUseStrictPrologue(t)}function isCommaExpression(e){return 227===e.kind&&28===e.operatorToken.kind}function isCommaSequence(e){return isCommaExpression(e)||isCommaListExpression(e)}function isJSDocTypeAssertion(e){return isParenthesizedExpression(e)&&isInJSFile(e)&&!!getJSDocTypeTag(e)}function getJSDocTypeAssertionType(e){const t=getJSDocType(e);return h.assertIsDefined(t),t}function isOuterExpression(e,t=63){switch(e.kind){case 218:return!(-2147483648&t&&isJSDocTypeAssertion(e))&&!!(1&t);case 217:case 235:return!!(2&t);case 239:return!!(34&t);case 234:return!!(16&t);case 236:return!!(4&t);case 356:return!!(8&t)}return!1}function skipOuterExpressions(e,t=63){for(;isOuterExpression(e,t);)e=e.expression;return e}function walkUpOuterExpressions(e,t=63){let n=e.parent;for(;isOuterExpression(n,t);)n=n.parent,h.assert(n);return n}function startOnNewLine(e){return setStartsOnNewLine(e,!0)}function getExternalHelpersModuleName(e){const t=getOriginalNode(e,isSourceFile),n=t&&t.emitNode;return n&&n.externalHelpersModuleName}function hasRecordedExternalHelpers(e){const t=getOriginalNode(e,isSourceFile),n=t&&t.emitNode;return!(!n||!n.externalHelpersModuleName&&!n.externalHelpers)}function createExternalHelpersImportDeclarationIfNeeded(e,t,n,r,i,o,a){if(r.importHelpers&&isEffectiveExternalModule(n,r)){const s=Vn(r),c=getImpliedNodeFormatForEmitWorker(n,r),l=function getImportedHelpers(e){return filter(getEmitHelpers(e),e=>!e.scoped)}(n);if(1!==c&&(s>=5&&s<=99||99===c||void 0===c&&200===s)){if(l){const r=[];for(const e of l){const t=e.importName;t&&pushIfUnique(r,t)}if(some(r)){r.sort(compareStringsCaseSensitive);const i=e.createNamedImports(map(r,r=>isFileLevelUniqueName(n,r)?e.createImportSpecifier(!1,void 0,e.createIdentifier(r)):e.createImportSpecifier(!1,e.createIdentifier(r),t.getUnscopedHelperName(r))));getOrCreateEmitNode(getOriginalNode(n,isSourceFile)).externalHelpers=!0;const o=e.createImportDeclaration(void 0,e.createImportClause(void 0,void 0,i),e.createStringLiteral(sn),void 0);return addInternalEmitFlags(o,2),o}}}else{const t=function getOrCreateExternalHelpersModuleNameIfNeeded(e,t,n,r,i,o){const a=getExternalHelpersModuleName(t);if(a)return a;const s=some(r)||(i||Gn(n)&&o)&&getEmitModuleFormatOfFileWorker(t,n)<4;if(s){const n=getOrCreateEmitNode(getOriginalNode(t,isSourceFile));return n.externalHelpersModuleName||(n.externalHelpersModuleName=e.createUniqueName(sn))}}(e,n,r,l,i,o||a);if(t){const n=e.createImportEqualsDeclaration(void 0,!1,t,e.createExternalModuleReference(e.createStringLiteral(sn)));return addInternalEmitFlags(n,2),n}}}}function getLocalNameForExternalImport(e,t,n){const r=getNamespaceDeclarationNode(t);if(r&&!isDefaultImport(t)&&!isExportNamespaceAsDefaultDeclaration(t)){const i=r.name;return 11===i.kind?e.getGeneratedNameForNode(t):isGeneratedIdentifier(i)?i:e.createIdentifier(getSourceTextOfNodeFromSourceFile(n,i)||idText(i))}return 273===t.kind&&t.importClause||279===t.kind&&t.moduleSpecifier?e.getGeneratedNameForNode(t):void 0}function getExternalModuleNameLiteral(e,t,n,r,i,o){const a=getExternalModuleName(t);if(a&&isStringLiteral(a))return function tryGetModuleNameFromDeclaration(e,t,n,r,i){return tryGetModuleNameFromFile(n,r.getExternalModuleFileFromDeclaration(e),t,i)}(t,r,e,i,o)||function tryRenameExternalModule(e,t,n){const r=n.renamedDependencies&&n.renamedDependencies.get(t.text);return r?e.createStringLiteral(r):void 0}(e,a,n)||e.cloneNode(a)}function tryGetModuleNameFromFile(e,t,n,r){if(t)return t.moduleName?e.createStringLiteral(t.moduleName):!t.isDeclarationFile&&r.outFile?e.createStringLiteral(getExternalModuleNameFromPath(n,t.fileName)):void 0}function getInitializerOfBindingOrAssignmentElement(e){if(isDeclarationBindingElement(e))return e.initializer;if(isPropertyAssignment(e)){const t=e.initializer;return isAssignmentExpression(t,!0)?t.right:void 0}return isShorthandPropertyAssignment(e)?e.objectAssignmentInitializer:isAssignmentExpression(e,!0)?e.right:isSpreadElement(e)?getInitializerOfBindingOrAssignmentElement(e.expression):void 0}function getTargetOfBindingOrAssignmentElement(e){if(isDeclarationBindingElement(e))return e.name;if(!isObjectLiteralElementLike(e))return isAssignmentExpression(e,!0)?getTargetOfBindingOrAssignmentElement(e.left):isSpreadElement(e)?getTargetOfBindingOrAssignmentElement(e.expression):e;switch(e.kind){case 304:return getTargetOfBindingOrAssignmentElement(e.initializer);case 305:return e.name;case 306:return getTargetOfBindingOrAssignmentElement(e.expression)}}function getRestIndicatorOfBindingOrAssignmentElement(e){switch(e.kind){case 170:case 209:return e.dotDotDotToken;case 231:case 306:return e}}function getPropertyNameOfBindingOrAssignmentElement(e){const t=tryGetPropertyNameOfBindingOrAssignmentElement(e);return h.assert(!!t||isSpreadAssignment(e),"Invalid property name for binding element."),t}function tryGetPropertyNameOfBindingOrAssignmentElement(e){switch(e.kind){case 209:if(e.propertyName){const t=e.propertyName;return isPrivateIdentifier(t)?h.failBadSyntaxKind(t):isComputedPropertyName(t)&&isStringOrNumericLiteral(t.expression)?t.expression:t}break;case 304:if(e.name){const t=e.name;return isPrivateIdentifier(t)?h.failBadSyntaxKind(t):isComputedPropertyName(t)&&isStringOrNumericLiteral(t.expression)?t.expression:t}break;case 306:return e.name&&isPrivateIdentifier(e.name)?h.failBadSyntaxKind(e.name):e.name}const t=getTargetOfBindingOrAssignmentElement(e);if(t&&isPropertyName(t))return t}function isStringOrNumericLiteral(e){const t=e.kind;return 11===t||9===t}function getElementsOfBindingOrAssignmentPattern(e){switch(e.kind){case 207:case 208:case 210:return e.elements;case 211:return e.properties}}function getJSDocTypeAliasName(e){if(e){let t=e;for(;;){if(isIdentifier(t)||!t.body)return isIdentifier(t)?t:t.name;t=t.body}}}function canHaveIllegalType(e){const t=e.kind;return 177===t||179===t}function canHaveIllegalTypeParameters(e){const t=e.kind;return 177===t||178===t||179===t}function canHaveIllegalDecorators(e){const t=e.kind;return 304===t||305===t||263===t||177===t||182===t||176===t||283===t||244===t||265===t||266===t||267===t||268===t||272===t||273===t||271===t||279===t||278===t}function canHaveIllegalModifiers(e){const t=e.kind;return 176===t||304===t||305===t||283===t||271===t}function isQuestionOrExclamationToken(e){return isQuestionToken(e)||isExclamationToken(e)}function isIdentifierOrThisTypeNode(e){return isIdentifier(e)||isThisTypeNode(e)}function isReadonlyKeywordOrPlusOrMinusToken(e){return isReadonlyKeyword(e)||isPlusToken(e)||isMinusToken(e)}function isQuestionOrPlusOrMinusToken(e){return isQuestionToken(e)||isPlusToken(e)||isMinusToken(e)}function isModuleName(e){return isIdentifier(e)||isStringLiteral(e)}function isShiftOperatorOrHigher(e){return function isShiftOperator(e){return 48===e||49===e||50===e}(e)||function isAdditiveOperatorOrHigher(e){return function isAdditiveOperator(e){return 40===e||41===e}(e)||function isMultiplicativeOperatorOrHigher(e){return function isExponentiationOperator(e){return 43===e}(e)||function isMultiplicativeOperator(e){return 42===e||44===e||45===e}(e)}(e)}(e)}function isEqualityOperatorOrHigher(e){return function isEqualityOperator(e){return 35===e||37===e||36===e||38===e}(e)||function isRelationalOperatorOrHigher(e){return function isRelationalOperator(e){return 30===e||33===e||32===e||34===e||104===e||103===e}(e)||isShiftOperatorOrHigher(e)}(e)}function isLogicalOperatorOrHigher(e){return function isLogicalOperator2(e){return 56===e||57===e}(e)||function isBitwiseOperatorOrHigher(e){return function isBitwiseOperator(e){return 51===e||52===e||53===e}(e)||isEqualityOperatorOrHigher(e)}(e)}function isBinaryOperator(e){return function isAssignmentOperatorOrHigher(e){return 61===e||isLogicalOperatorOrHigher(e)||isAssignmentOperator(e)}(e)||28===e}function isBinaryOperatorToken(e){return isBinaryOperator(e.kind)}(e=>{function enter(e,t,n,r,i,o,a){const s=t>0?i[t-1]:void 0;return h.assertEqual(n[t],enter),i[t]=e.onEnter(r[t],s,a),n[t]=nextState(e,enter),t}function left(e,t,n,r,i,o,a){h.assertEqual(n[t],left),h.assertIsDefined(e.onLeft),n[t]=nextState(e,left);const s=e.onLeft(r[t].left,i[t],r[t]);return s?(checkCircularity(t,r,s),pushStack(t,n,r,i,s)):t}function operator(e,t,n,r,i,o,a){return h.assertEqual(n[t],operator),h.assertIsDefined(e.onOperator),n[t]=nextState(e,operator),e.onOperator(r[t].operatorToken,i[t],r[t]),t}function right(e,t,n,r,i,o,a){h.assertEqual(n[t],right),h.assertIsDefined(e.onRight),n[t]=nextState(e,right);const s=e.onRight(r[t].right,i[t],r[t]);return s?(checkCircularity(t,r,s),pushStack(t,n,r,i,s)):t}function exit(e,t,n,r,i,o,a){h.assertEqual(n[t],exit),n[t]=nextState(e,exit);const s=e.onExit(r[t],i[t]);if(t>0){if(t--,e.foldState){const r=n[t]===exit?"right":"left";i[t]=e.foldState(i[t],s,r)}}else o.value=s;return t}function done(e,t,n,r,i,o,a){return h.assertEqual(n[t],done),t}function nextState(e,t){switch(t){case enter:if(e.onLeft)return left;case left:if(e.onOperator)return operator;case operator:if(e.onRight)return right;case right:return exit;case exit:case done:return done;default:h.fail("Invalid state")}}function pushStack(e,t,n,r,i){return t[++e]=enter,n[e]=i,r[e]=void 0,e}function checkCircularity(e,t,n){if(h.shouldAssert(2))for(;e>=0;)h.assert(t[e]!==n,"Circular traversal detected."),e--}e.enter=enter,e.left=left,e.operator=operator,e.right=right,e.exit=exit,e.done=done,e.nextState=nextState})(xi||(xi={}));var bi,Ci,Ei,Ni,ki,Fi=class{constructor(e,t,n,r,i,o){this.onEnter=e,this.onLeft=t,this.onOperator=n,this.onRight=r,this.onExit=i,this.foldState=o}};function createBinaryExpressionTrampoline(e,t,n,r,i,o){const a=new Fi(e,t,n,r,i,o);return function trampoline(e,t){const n={value:void 0},r=[xi.enter],i=[e],o=[void 0];let s=0;for(;r[s]!==xi.done;)s=r[s](a,s,r,i,o,n,t);return h.assertEqual(s,0),n.value}}function isExportOrDefaultModifier(e){return function isExportOrDefaultKeywordKind(e){return 95===e||90===e}(e.kind)}function elideNodes(e,t){if(void 0!==t)return 0===t.length?t:setTextRange(e.createNodeArray([],t.hasTrailingComma),t)}function getNodeForGeneratedName(e){var t;const n=e.emitNode.autoGenerate;if(4&n.flags){const r=n.id;let i=e,o=i.original;for(;o;){i=o;const e=null==(t=i.emitNode)?void 0:t.autoGenerate;if(isMemberName(i)&&(void 0===e||4&e.flags&&e.id!==r))break;o=i.original}return i}return e}function formatGeneratedNamePart(e,t){return"object"==typeof e?formatGeneratedName(!1,e.prefix,e.node,e.suffix,t):"string"==typeof e?e.length>0&&35===e.charCodeAt(0)?e.slice(1):e:""}function formatIdentifier(e,t){return"string"==typeof e?e:function formatIdentifierWorker(e,t){return isGeneratedPrivateIdentifier(e)?t(e).slice(1):isGeneratedIdentifier(e)?t(e):isPrivateIdentifier(e)?e.escapedText.slice(1):idText(e)}(e,h.checkDefined(t))}function formatGeneratedName(e,t,n,r,i){return t=formatGeneratedNamePart(t,i),r=formatGeneratedNamePart(r,i),`${e?"#":""}${t}${n=formatIdentifier(n,i)}${r}`}function createAccessorPropertyBackingField(e,t,n,r){return e.updatePropertyDeclaration(t,n,e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage"),void 0,void 0,r)}function createAccessorPropertyGetRedirector(e,t,n,r,i=e.createThis()){return e.createGetAccessorDeclaration(n,r,[],void 0,e.createBlock([e.createReturnStatement(e.createPropertyAccessExpression(i,e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")))]))}function createAccessorPropertySetRedirector(e,t,n,r,i=e.createThis()){return e.createSetAccessorDeclaration(n,r,[e.createParameterDeclaration(void 0,void 0,"value")],e.createBlock([e.createExpressionStatement(e.createAssignment(e.createPropertyAccessExpression(i,e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")),e.createIdentifier("value")))]))}function findComputedPropertyNameCacheAssignment(e){let t=e.expression;for(;;)if(t=skipOuterExpressions(t),isCommaListExpression(t))t=last(t.elements);else{if(!isCommaExpression(t)){if(isAssignmentExpression(t,!0)&&isGeneratedIdentifier(t.left))return t;break}t=t.right}}function flattenCommaListWorker(e,t){if(function isSyntheticParenthesizedExpression(e){return isParenthesizedExpression(e)&&nodeIsSynthesized(e)&&!e.emitNode}(e))flattenCommaListWorker(e.expression,t);else if(isCommaExpression(e))flattenCommaListWorker(e.left,t),flattenCommaListWorker(e.right,t);else if(isCommaListExpression(e))for(const n of e.elements)flattenCommaListWorker(n,t);else t.push(e)}function flattenCommaList(e){const t=[];return flattenCommaListWorker(e,t),t}function containsObjectRestOrSpread(e){if(65536&e.transformFlags)return!0;if(128&e.transformFlags)for(const t of getElementsOfBindingOrAssignmentPattern(e)){const e=getTargetOfBindingOrAssignmentElement(t);if(e&&isAssignmentPattern(e)){if(65536&e.transformFlags)return!0;if(128&e.transformFlags&&containsObjectRestOrSpread(e))return!0}}return!1}function setTextRange(e,t){return t?setTextRangePosEnd(e,t.pos,t.end):e}function canHaveModifiers(e){const t=e.kind;return 169===t||170===t||172===t||173===t||174===t||175===t||177===t||178===t||179===t||182===t||186===t||219===t||220===t||232===t||244===t||263===t||264===t||265===t||266===t||267===t||268===t||272===t||273===t||278===t||279===t}function canHaveDecorators(e){const t=e.kind;return 170===t||173===t||175===t||178===t||179===t||232===t||264===t}var Pi={createBaseSourceFileNode:e=>new(ki||(ki=Bn.getSourceFileConstructor()))(e,-1,-1),createBaseIdentifierNode:e=>new(Ei||(Ei=Bn.getIdentifierConstructor()))(e,-1,-1),createBasePrivateIdentifierNode:e=>new(Ni||(Ni=Bn.getPrivateIdentifierConstructor()))(e,-1,-1),createBaseTokenNode:e=>new(Ci||(Ci=Bn.getTokenConstructor()))(e,-1,-1),createBaseNode:e=>new(bi||(bi=Bn.getNodeConstructor()))(e,-1,-1)},Di=createNodeFactory(1,Pi);function visitNode2(e,t){return t&&e(t)}function visitNodes(e,t,n){if(n){if(t)return t(n);for(const t of n){const n=e(t);if(n)return n}}}function isJSDocLikeText(e,t){return 42===e.charCodeAt(t+1)&&42===e.charCodeAt(t+2)&&47!==e.charCodeAt(t+3)}function isFileProbablyExternalModule(e){return forEach(e.statements,isAnExternalModuleIndicatorNode)||function getImportMetaIfNecessary(e){return 8388608&e.flags?walkTreeForImportMeta(e):void 0}(e)}function isAnExternalModuleIndicatorNode(e){return canHaveModifiers(e)&&function hasModifierOfKind(e,t){return some(e.modifiers,e=>e.kind===t)}(e,95)||isImportEqualsDeclaration(e)&&isExternalModuleReference(e.moduleReference)||isImportDeclaration(e)||isExportAssignment(e)||isExportDeclaration(e)?e:void 0}function walkTreeForImportMeta(e){return function isImportMeta2(e){return isMetaProperty(e)&&102===e.keywordToken&&"meta"===e.name.escapedText}(e)?e:forEachChild(e,walkTreeForImportMeta)}var Ii,Ai={167:function forEachChildInQualifiedName(e,t,n){return visitNode2(t,e.left)||visitNode2(t,e.right)},169:function forEachChildInTypeParameter(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.constraint)||visitNode2(t,e.default)||visitNode2(t,e.expression)},305:function forEachChildInShorthandPropertyAssignment(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNode2(t,e.exclamationToken)||visitNode2(t,e.equalsToken)||visitNode2(t,e.objectAssignmentInitializer)},306:function forEachChildInSpreadAssignment(e,t,n){return visitNode2(t,e.expression)},170:function forEachChildInParameter(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.dotDotDotToken)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNode2(t,e.type)||visitNode2(t,e.initializer)},173:function forEachChildInPropertyDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNode2(t,e.exclamationToken)||visitNode2(t,e.type)||visitNode2(t,e.initializer)},172:function forEachChildInPropertySignature(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNode2(t,e.type)||visitNode2(t,e.initializer)},304:function forEachChildInPropertyAssignment(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNode2(t,e.exclamationToken)||visitNode2(t,e.initializer)},261:function forEachChildInVariableDeclaration(e,t,n){return visitNode2(t,e.name)||visitNode2(t,e.exclamationToken)||visitNode2(t,e.type)||visitNode2(t,e.initializer)},209:function forEachChildInBindingElement(e,t,n){return visitNode2(t,e.dotDotDotToken)||visitNode2(t,e.propertyName)||visitNode2(t,e.name)||visitNode2(t,e.initializer)},182:function forEachChildInIndexSignature(e,t,n){return visitNodes(t,n,e.modifiers)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)},186:function forEachChildInConstructorType(e,t,n){return visitNodes(t,n,e.modifiers)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)},185:function forEachChildInFunctionType(e,t,n){return visitNodes(t,n,e.modifiers)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)},180:forEachChildInCallOrConstructSignature,181:forEachChildInCallOrConstructSignature,175:function forEachChildInMethodDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.asteriskToken)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNode2(t,e.exclamationToken)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)||visitNode2(t,e.body)},174:function forEachChildInMethodSignature(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)},177:function forEachChildInConstructor(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)||visitNode2(t,e.body)},178:function forEachChildInGetAccessor(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)||visitNode2(t,e.body)},179:function forEachChildInSetAccessor(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)||visitNode2(t,e.body)},263:function forEachChildInFunctionDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.asteriskToken)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)||visitNode2(t,e.body)},219:function forEachChildInFunctionExpression(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.asteriskToken)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)||visitNode2(t,e.body)},220:function forEachChildInArrowFunction(e,t,n){return visitNodes(t,n,e.modifiers)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)||visitNode2(t,e.equalsGreaterThanToken)||visitNode2(t,e.body)},176:function forEachChildInClassStaticBlockDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.body)},184:function forEachChildInTypeReference(e,t,n){return visitNode2(t,e.typeName)||visitNodes(t,n,e.typeArguments)},183:function forEachChildInTypePredicate(e,t,n){return visitNode2(t,e.assertsModifier)||visitNode2(t,e.parameterName)||visitNode2(t,e.type)},187:function forEachChildInTypeQuery(e,t,n){return visitNode2(t,e.exprName)||visitNodes(t,n,e.typeArguments)},188:function forEachChildInTypeLiteral(e,t,n){return visitNodes(t,n,e.members)},189:function forEachChildInArrayType(e,t,n){return visitNode2(t,e.elementType)},190:function forEachChildInTupleType(e,t,n){return visitNodes(t,n,e.elements)},193:forEachChildInUnionOrIntersectionType,194:forEachChildInUnionOrIntersectionType,195:function forEachChildInConditionalType(e,t,n){return visitNode2(t,e.checkType)||visitNode2(t,e.extendsType)||visitNode2(t,e.trueType)||visitNode2(t,e.falseType)},196:function forEachChildInInferType(e,t,n){return visitNode2(t,e.typeParameter)},206:function forEachChildInImportType(e,t,n){return visitNode2(t,e.argument)||visitNode2(t,e.attributes)||visitNode2(t,e.qualifier)||visitNodes(t,n,e.typeArguments)},303:function forEachChildInImportTypeAssertionContainer(e,t,n){return visitNode2(t,e.assertClause)},197:forEachChildInParenthesizedTypeOrTypeOperator,199:forEachChildInParenthesizedTypeOrTypeOperator,200:function forEachChildInIndexedAccessType(e,t,n){return visitNode2(t,e.objectType)||visitNode2(t,e.indexType)},201:function forEachChildInMappedType(e,t,n){return visitNode2(t,e.readonlyToken)||visitNode2(t,e.typeParameter)||visitNode2(t,e.nameType)||visitNode2(t,e.questionToken)||visitNode2(t,e.type)||visitNodes(t,n,e.members)},202:function forEachChildInLiteralType(e,t,n){return visitNode2(t,e.literal)},203:function forEachChildInNamedTupleMember(e,t,n){return visitNode2(t,e.dotDotDotToken)||visitNode2(t,e.name)||visitNode2(t,e.questionToken)||visitNode2(t,e.type)},207:forEachChildInObjectOrArrayBindingPattern,208:forEachChildInObjectOrArrayBindingPattern,210:function forEachChildInArrayLiteralExpression(e,t,n){return visitNodes(t,n,e.elements)},211:function forEachChildInObjectLiteralExpression(e,t,n){return visitNodes(t,n,e.properties)},212:function forEachChildInPropertyAccessExpression(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.questionDotToken)||visitNode2(t,e.name)},213:function forEachChildInElementAccessExpression(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.questionDotToken)||visitNode2(t,e.argumentExpression)},214:forEachChildInCallOrNewExpression,215:forEachChildInCallOrNewExpression,216:function forEachChildInTaggedTemplateExpression(e,t,n){return visitNode2(t,e.tag)||visitNode2(t,e.questionDotToken)||visitNodes(t,n,e.typeArguments)||visitNode2(t,e.template)},217:function forEachChildInTypeAssertionExpression(e,t,n){return visitNode2(t,e.type)||visitNode2(t,e.expression)},218:function forEachChildInParenthesizedExpression(e,t,n){return visitNode2(t,e.expression)},221:function forEachChildInDeleteExpression(e,t,n){return visitNode2(t,e.expression)},222:function forEachChildInTypeOfExpression(e,t,n){return visitNode2(t,e.expression)},223:function forEachChildInVoidExpression(e,t,n){return visitNode2(t,e.expression)},225:function forEachChildInPrefixUnaryExpression(e,t,n){return visitNode2(t,e.operand)},230:function forEachChildInYieldExpression(e,t,n){return visitNode2(t,e.asteriskToken)||visitNode2(t,e.expression)},224:function forEachChildInAwaitExpression(e,t,n){return visitNode2(t,e.expression)},226:function forEachChildInPostfixUnaryExpression(e,t,n){return visitNode2(t,e.operand)},227:function forEachChildInBinaryExpression(e,t,n){return visitNode2(t,e.left)||visitNode2(t,e.operatorToken)||visitNode2(t,e.right)},235:function forEachChildInAsExpression(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.type)},236:function forEachChildInNonNullExpression(e,t,n){return visitNode2(t,e.expression)},239:function forEachChildInSatisfiesExpression(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.type)},237:function forEachChildInMetaProperty(e,t,n){return visitNode2(t,e.name)},228:function forEachChildInConditionalExpression(e,t,n){return visitNode2(t,e.condition)||visitNode2(t,e.questionToken)||visitNode2(t,e.whenTrue)||visitNode2(t,e.colonToken)||visitNode2(t,e.whenFalse)},231:function forEachChildInSpreadElement(e,t,n){return visitNode2(t,e.expression)},242:forEachChildInBlock,269:forEachChildInBlock,308:function forEachChildInSourceFile(e,t,n){return visitNodes(t,n,e.statements)||visitNode2(t,e.endOfFileToken)},244:function forEachChildInVariableStatement(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.declarationList)},262:function forEachChildInVariableDeclarationList(e,t,n){return visitNodes(t,n,e.declarations)},245:function forEachChildInExpressionStatement(e,t,n){return visitNode2(t,e.expression)},246:function forEachChildInIfStatement(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.thenStatement)||visitNode2(t,e.elseStatement)},247:function forEachChildInDoStatement(e,t,n){return visitNode2(t,e.statement)||visitNode2(t,e.expression)},248:function forEachChildInWhileStatement(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.statement)},249:function forEachChildInForStatement(e,t,n){return visitNode2(t,e.initializer)||visitNode2(t,e.condition)||visitNode2(t,e.incrementor)||visitNode2(t,e.statement)},250:function forEachChildInForInStatement(e,t,n){return visitNode2(t,e.initializer)||visitNode2(t,e.expression)||visitNode2(t,e.statement)},251:function forEachChildInForOfStatement(e,t,n){return visitNode2(t,e.awaitModifier)||visitNode2(t,e.initializer)||visitNode2(t,e.expression)||visitNode2(t,e.statement)},252:forEachChildInContinueOrBreakStatement,253:forEachChildInContinueOrBreakStatement,254:function forEachChildInReturnStatement(e,t,n){return visitNode2(t,e.expression)},255:function forEachChildInWithStatement(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.statement)},256:function forEachChildInSwitchStatement(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.caseBlock)},270:function forEachChildInCaseBlock(e,t,n){return visitNodes(t,n,e.clauses)},297:function forEachChildInCaseClause(e,t,n){return visitNode2(t,e.expression)||visitNodes(t,n,e.statements)},298:function forEachChildInDefaultClause(e,t,n){return visitNodes(t,n,e.statements)},257:function forEachChildInLabeledStatement(e,t,n){return visitNode2(t,e.label)||visitNode2(t,e.statement)},258:function forEachChildInThrowStatement(e,t,n){return visitNode2(t,e.expression)},259:function forEachChildInTryStatement(e,t,n){return visitNode2(t,e.tryBlock)||visitNode2(t,e.catchClause)||visitNode2(t,e.finallyBlock)},300:function forEachChildInCatchClause(e,t,n){return visitNode2(t,e.variableDeclaration)||visitNode2(t,e.block)},171:function forEachChildInDecorator(e,t,n){return visitNode2(t,e.expression)},264:forEachChildInClassDeclarationOrExpression,232:forEachChildInClassDeclarationOrExpression,265:function forEachChildInInterfaceDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.heritageClauses)||visitNodes(t,n,e.members)},266:function forEachChildInTypeAliasDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNode2(t,e.type)},267:function forEachChildInEnumDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNodes(t,n,e.members)},307:function forEachChildInEnumMember(e,t,n){return visitNode2(t,e.name)||visitNode2(t,e.initializer)},268:function forEachChildInModuleDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.body)},272:function forEachChildInImportEqualsDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNode2(t,e.moduleReference)},273:function forEachChildInImportDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.importClause)||visitNode2(t,e.moduleSpecifier)||visitNode2(t,e.attributes)},274:function forEachChildInImportClause(e,t,n){return visitNode2(t,e.name)||visitNode2(t,e.namedBindings)},301:function forEachChildInImportAttributes(e,t,n){return visitNodes(t,n,e.elements)},302:function forEachChildInImportAttribute(e,t,n){return visitNode2(t,e.name)||visitNode2(t,e.value)},271:function forEachChildInNamespaceExportDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)},275:function forEachChildInNamespaceImport(e,t,n){return visitNode2(t,e.name)},281:function forEachChildInNamespaceExport(e,t,n){return visitNode2(t,e.name)},276:forEachChildInNamedImportsOrExports,280:forEachChildInNamedImportsOrExports,279:function forEachChildInExportDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.exportClause)||visitNode2(t,e.moduleSpecifier)||visitNode2(t,e.attributes)},277:forEachChildInImportOrExportSpecifier,282:forEachChildInImportOrExportSpecifier,278:function forEachChildInExportAssignment(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.expression)},229:function forEachChildInTemplateExpression(e,t,n){return visitNode2(t,e.head)||visitNodes(t,n,e.templateSpans)},240:function forEachChildInTemplateSpan(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.literal)},204:function forEachChildInTemplateLiteralType(e,t,n){return visitNode2(t,e.head)||visitNodes(t,n,e.templateSpans)},205:function forEachChildInTemplateLiteralTypeSpan(e,t,n){return visitNode2(t,e.type)||visitNode2(t,e.literal)},168:function forEachChildInComputedPropertyName(e,t,n){return visitNode2(t,e.expression)},299:function forEachChildInHeritageClause(e,t,n){return visitNodes(t,n,e.types)},234:function forEachChildInExpressionWithTypeArguments(e,t,n){return visitNode2(t,e.expression)||visitNodes(t,n,e.typeArguments)},284:function forEachChildInExternalModuleReference(e,t,n){return visitNode2(t,e.expression)},283:function forEachChildInMissingDeclaration(e,t,n){return visitNodes(t,n,e.modifiers)},357:function forEachChildInCommaListExpression(e,t,n){return visitNodes(t,n,e.elements)},285:function forEachChildInJsxElement(e,t,n){return visitNode2(t,e.openingElement)||visitNodes(t,n,e.children)||visitNode2(t,e.closingElement)},289:function forEachChildInJsxFragment(e,t,n){return visitNode2(t,e.openingFragment)||visitNodes(t,n,e.children)||visitNode2(t,e.closingFragment)},286:forEachChildInJsxOpeningOrSelfClosingElement,287:forEachChildInJsxOpeningOrSelfClosingElement,293:function forEachChildInJsxAttributes(e,t,n){return visitNodes(t,n,e.properties)},292:function forEachChildInJsxAttribute(e,t,n){return visitNode2(t,e.name)||visitNode2(t,e.initializer)},294:function forEachChildInJsxSpreadAttribute(e,t,n){return visitNode2(t,e.expression)},295:function forEachChildInJsxExpression(e,t,n){return visitNode2(t,e.dotDotDotToken)||visitNode2(t,e.expression)},288:function forEachChildInJsxClosingElement(e,t,n){return visitNode2(t,e.tagName)},296:function forEachChildInJsxNamespacedName(e,t,n){return visitNode2(t,e.namespace)||visitNode2(t,e.name)},191:forEachChildInOptionalRestOrJSDocParameterModifier,192:forEachChildInOptionalRestOrJSDocParameterModifier,310:forEachChildInOptionalRestOrJSDocParameterModifier,316:forEachChildInOptionalRestOrJSDocParameterModifier,315:forEachChildInOptionalRestOrJSDocParameterModifier,317:forEachChildInOptionalRestOrJSDocParameterModifier,319:forEachChildInOptionalRestOrJSDocParameterModifier,318:function forEachChildInJSDocFunctionType(e,t,n){return visitNodes(t,n,e.parameters)||visitNode2(t,e.type)},321:function forEachChildInJSDoc(e,t,n){return("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))||visitNodes(t,n,e.tags)},348:function forEachChildInJSDocSeeTag(e,t,n){return visitNode2(t,e.tagName)||visitNode2(t,e.name)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))},311:function forEachChildInJSDocNameReference(e,t,n){return visitNode2(t,e.name)},312:function forEachChildInJSDocMemberName(e,t,n){return visitNode2(t,e.left)||visitNode2(t,e.right)},342:forEachChildInJSDocParameterOrPropertyTag,349:forEachChildInJSDocParameterOrPropertyTag,331:function forEachChildInJSDocAuthorTag(e,t,n){return visitNode2(t,e.tagName)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))},330:function forEachChildInJSDocImplementsTag(e,t,n){return visitNode2(t,e.tagName)||visitNode2(t,e.class)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))},329:function forEachChildInJSDocAugmentsTag(e,t,n){return visitNode2(t,e.tagName)||visitNode2(t,e.class)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))},346:function forEachChildInJSDocTemplateTag(e,t,n){return visitNode2(t,e.tagName)||visitNode2(t,e.constraint)||visitNodes(t,n,e.typeParameters)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))},347:function forEachChildInJSDocTypedefTag(e,t,n){return visitNode2(t,e.tagName)||(e.typeExpression&&310===e.typeExpression.kind?visitNode2(t,e.typeExpression)||visitNode2(t,e.fullName)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment)):visitNode2(t,e.fullName)||visitNode2(t,e.typeExpression)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment)))},339:function forEachChildInJSDocCallbackTag(e,t,n){return visitNode2(t,e.tagName)||visitNode2(t,e.fullName)||visitNode2(t,e.typeExpression)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))},343:forEachChildInJSDocTypeLikeTag,345:forEachChildInJSDocTypeLikeTag,344:forEachChildInJSDocTypeLikeTag,341:forEachChildInJSDocTypeLikeTag,351:forEachChildInJSDocTypeLikeTag,350:forEachChildInJSDocTypeLikeTag,340:forEachChildInJSDocTypeLikeTag,324:function forEachChildInJSDocSignature(e,t,n){return forEach(e.typeParameters,t)||forEach(e.parameters,t)||visitNode2(t,e.type)},325:forEachChildInJSDocLinkCodeOrPlain,326:forEachChildInJSDocLinkCodeOrPlain,327:forEachChildInJSDocLinkCodeOrPlain,323:function forEachChildInJSDocTypeLiteral(e,t,n){return forEach(e.jsDocPropertyTags,t)},328:forEachChildInJSDocTag,333:forEachChildInJSDocTag,334:forEachChildInJSDocTag,335:forEachChildInJSDocTag,336:forEachChildInJSDocTag,337:forEachChildInJSDocTag,332:forEachChildInJSDocTag,338:forEachChildInJSDocTag,352:function forEachChildInJSDocImportTag(e,t,n){return visitNode2(t,e.tagName)||visitNode2(t,e.importClause)||visitNode2(t,e.moduleSpecifier)||visitNode2(t,e.attributes)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))},356:function forEachChildInPartiallyEmittedExpression(e,t,n){return visitNode2(t,e.expression)}};function forEachChildInCallOrConstructSignature(e,t,n){return visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.parameters)||visitNode2(t,e.type)}function forEachChildInUnionOrIntersectionType(e,t,n){return visitNodes(t,n,e.types)}function forEachChildInParenthesizedTypeOrTypeOperator(e,t,n){return visitNode2(t,e.type)}function forEachChildInObjectOrArrayBindingPattern(e,t,n){return visitNodes(t,n,e.elements)}function forEachChildInCallOrNewExpression(e,t,n){return visitNode2(t,e.expression)||visitNode2(t,e.questionDotToken)||visitNodes(t,n,e.typeArguments)||visitNodes(t,n,e.arguments)}function forEachChildInBlock(e,t,n){return visitNodes(t,n,e.statements)}function forEachChildInContinueOrBreakStatement(e,t,n){return visitNode2(t,e.label)}function forEachChildInClassDeclarationOrExpression(e,t,n){return visitNodes(t,n,e.modifiers)||visitNode2(t,e.name)||visitNodes(t,n,e.typeParameters)||visitNodes(t,n,e.heritageClauses)||visitNodes(t,n,e.members)}function forEachChildInNamedImportsOrExports(e,t,n){return visitNodes(t,n,e.elements)}function forEachChildInImportOrExportSpecifier(e,t,n){return visitNode2(t,e.propertyName)||visitNode2(t,e.name)}function forEachChildInJsxOpeningOrSelfClosingElement(e,t,n){return visitNode2(t,e.tagName)||visitNodes(t,n,e.typeArguments)||visitNode2(t,e.attributes)}function forEachChildInOptionalRestOrJSDocParameterModifier(e,t,n){return visitNode2(t,e.type)}function forEachChildInJSDocParameterOrPropertyTag(e,t,n){return visitNode2(t,e.tagName)||(e.isNameFirst?visitNode2(t,e.name)||visitNode2(t,e.typeExpression):visitNode2(t,e.typeExpression)||visitNode2(t,e.name))||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))}function forEachChildInJSDocTypeLikeTag(e,t,n){return visitNode2(t,e.tagName)||visitNode2(t,e.typeExpression)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))}function forEachChildInJSDocLinkCodeOrPlain(e,t,n){return visitNode2(t,e.name)}function forEachChildInJSDocTag(e,t,n){return visitNode2(t,e.tagName)||("string"==typeof e.comment?void 0:visitNodes(t,n,e.comment))}function forEachChild(e,t,n){if(void 0===e||e.kind<=166)return;const r=Ai[e.kind];return void 0===r?void 0:r(e,t,n)}function forEachChildRecursively(e,t,n){const r=gatherPossibleChildren(e),i=[];for(;i.length<r.length;)i.push(e);for(;0!==r.length;){const e=r.pop(),o=i.pop();if(isArray(e)){if(n){const t=n(e,o);if(t){if("skip"===t)continue;return t}}for(let t=e.length-1;t>=0;--t)r.push(e[t]),i.push(o)}else{const n=t(e,o);if(n){if("skip"===n)continue;return n}if(e.kind>=167)for(const t of gatherPossibleChildren(e))r.push(t),i.push(e)}}}function gatherPossibleChildren(e){const t=[];return forEachChild(e,addWorkItem,addWorkItem),t;function addWorkItem(e){t.unshift(e)}}function setExternalModuleIndicator(e){e.externalModuleIndicator=isFileProbablyExternalModule(e)}function createSourceFile(e,t,n,r=!1,i){var o,a;let s;null==(o=J)||o.push(J.Phase.Parse,"createSourceFile",{path:e},!0),mark("beforeParse");const{languageVersion:c,setExternalModuleIndicator:l,impliedNodeFormat:d,jsDocParsingMode:p}="object"==typeof n?n:{languageVersion:n};if(100===c)s=Ii.parseSourceFile(e,t,c,void 0,r,6,noop,p);else{const n=void 0===d?l:e=>(e.impliedNodeFormat=d,(l||setExternalModuleIndicator)(e));s=Ii.parseSourceFile(e,t,c,void 0,r,i,n,p)}return mark("afterParse"),measure("Parse","beforeParse","afterParse"),null==(a=J)||a.pop(),s}function parseIsolatedEntityName(e,t){return Ii.parseIsolatedEntityName(e,t)}function parseJsonText(e,t){return Ii.parseJsonText(e,t)}function isExternalModule(e){return void 0!==e.externalModuleIndicator}function updateSourceFile(e,t,n,r=!1){const i=wi.updateSourceFile(e,t,n,r);return i.flags|=12582912&e.flags,i}function parseIsolatedJSDocComment(e,t,n){const r=Ii.JSDocParser.parseIsolatedJSDocComment(e,t,n);return r&&r.jsDoc&&Ii.fixupParentReferences(r.jsDoc),r}function parseJSDocTypeExpressionForTests(e,t,n){return Ii.JSDocParser.parseJSDocTypeExpressionForTests(e,t,n)}(e=>{var t,n,r,i,o,a=createScanner(99,!0),s=40960;function countNode(e){return x++,e}var c,p,u,m,_,f,g,y,T,S,x,v,b,C,E,N,k=createNodeFactory(11,{createBaseSourceFileNode:e=>countNode(new o(e,0,0)),createBaseIdentifierNode:e=>countNode(new r(e,0,0)),createBasePrivateIdentifierNode:e=>countNode(new i(e,0,0)),createBaseTokenNode:e=>countNode(new n(e,0,0)),createBaseNode:e=>countNode(new t(e,0,0))}),{createNodeArray:F,createNumericLiteral:P,createStringLiteral:D,createLiteralLikeNode:I,createIdentifier:A,createPrivateIdentifier:O,createToken:w,createArrayLiteralExpression:L,createObjectLiteralExpression:M,createPropertyAccessExpression:R,createPropertyAccessChain:B,createElementAccessExpression:j,createElementAccessChain:J,createCallExpression:W,createCallChain:U,createNewExpression:z,createParenthesizedExpression:V,createBlock:q,createVariableStatement:H,createExpressionStatement:K,createIfStatement:G,createWhileStatement:$,createForStatement:Q,createForOfStatement:X,createVariableDeclaration:Y,createVariableDeclarationList:Z}=k,ee=!0,te=!1;function parseJsonText2(e,t,n=2,r,i=!1){initializeState(e,t,n,r,6,0),p=N,nextToken();const o=getNodePos();let a,s;if(1===token())a=createNodeArray([],o,o),s=parseTokenNode();else{let e;for(;1!==token();){let t;switch(token()){case 23:t=parseArrayLiteralExpression();break;case 112:case 97:case 106:t=parseTokenNode();break;case 41:t=lookAhead(()=>9===nextToken()&&59!==nextToken())?parsePrefixUnaryExpression():parseObjectLiteralExpression();break;case 9:case 11:if(lookAhead(()=>59!==nextToken())){t=parseLiteralNode();break}default:t=parseObjectLiteralExpression()}e&&isArray(e)?e.push(t):e?e=[e,t]:(e=t,1!==token()&&parseErrorAtCurrentToken(Ot.Unexpected_token))}const t=isArray(e)?finishNode(L(e),o):h.checkDefined(e),n=K(t);finishNode(n,o),a=createNodeArray([n],o),s=parseExpectedToken(1,Ot.Unexpected_token)}const c=createSourceFile2(e,2,6,!1,a,s,p,noop);i&&fixupParentReferences(c),c.nodeCount=x,c.identifierCount=b,c.identifiers=v,c.parseDiagnostics=attachFileToDiagnostics(g,c),y&&(c.jsDocDiagnostics=attachFileToDiagnostics(y,c));const l=c;return clearState(),l}function initializeState(e,s,l,d,y,h){switch(t=Bn.getNodeConstructor(),n=Bn.getTokenConstructor(),r=Bn.getIdentifierConstructor(),i=Bn.getPrivateIdentifierConstructor(),o=Bn.getSourceFileConstructor(),c=normalizePath(e),u=s,m=l,T=d,_=y,f=getLanguageVariant(y),g=[],C=0,v=new Map,b=0,x=0,p=0,ee=!0,_){case 1:case 2:N=524288;break;case 6:N=134742016;break;default:N=0}te=!1,a.setText(u),a.setOnError(scanError),a.setScriptTarget(m),a.setLanguageVariant(f),a.setScriptKind(_),a.setJSDocParsingMode(h)}function clearState(){a.clearCommentDirectives(),a.setText(""),a.setOnError(void 0),a.setScriptKind(0),a.setJSDocParsingMode(0),u=void 0,m=void 0,T=void 0,_=void 0,f=void 0,p=0,g=void 0,y=void 0,C=0,v=void 0,E=void 0,ee=!0}e.parseSourceFile=function parseSourceFile(e,t,n,r,i=!1,o,s,m=0){var _;if(6===(o=ensureScriptKind(e,o))){const o=parseJsonText2(e,t,n,r,i);return convertToJson(o,null==(_=o.statements[0])?void 0:_.expression,o.parseDiagnostics,!1,void 0),o.referencedFiles=l,o.typeReferenceDirectives=l,o.libReferenceDirectives=l,o.amdDependencies=l,o.hasNoDefaultLib=!1,o.pragmas=d,o}initializeState(e,t,n,r,o,m);const f=function parseSourceFileWorker(e,t,n,r,i){const o=isDeclarationFileName(c);o&&(N|=33554432);p=N,nextToken();const s=parseList(0,parseStatement);h.assert(1===token());const l=hasPrecedingJSDocComment(),d=withJSDoc(parseTokenNode(),l),m=createSourceFile2(c,e,n,o,s,d,p,r);processCommentPragmas(m,u),processPragmasIntoFields(m,reportPragmaDiagnostic),m.commentDirectives=a.getCommentDirectives(),m.nodeCount=x,m.identifierCount=b,m.identifiers=v,m.parseDiagnostics=attachFileToDiagnostics(g,m),m.jsDocParsingMode=i,y&&(m.jsDocDiagnostics=attachFileToDiagnostics(y,m));t&&fixupParentReferences(m);return m;function reportPragmaDiagnostic(e,t,n){g.push(createDetachedDiagnostic(c,u,e,t,n))}}(n,i,o,s||setExternalModuleIndicator,m);return clearState(),f},e.parseIsolatedEntityName=function parseIsolatedEntityName2(e,t){initializeState("",e,t,void 0,1,0),nextToken();const n=parseEntityName(!0),r=1===token()&&!g.length;return clearState(),r?n:void 0},e.parseJsonText=parseJsonText2;let ne=!1;function withJSDoc(e,t){if(!t)return e;h.assert(!e.jsDoc);const n=mapDefined(getJSDocCommentRanges(e,u),t=>ce.parseJSDocComment(e,t.pos,t.end-t.pos));return n.length&&(e.jsDoc=n),ne&&(ne=!1,e.flags|=536870912),e}function fixupParentReferences(e){setParentRecursive(e,!0)}function createSourceFile2(e,t,n,r,i,o,s,c){let l=k.createSourceFile(i,o,s);if(setTextRangePosWidth(l,0,u.length),setFields(l),!r&&isExternalModule(l)&&67108864&l.transformFlags){const e=l;l=function reparseTopLevelAwait(e){const t=T,n=wi.createSyntaxCursor(e);T={currentNode:function currentNode2(e){const t=n.currentNode(e);return ee&&t&&containsPossibleTopLevelAwait(t)&&markAsIntersectingIncrementalChange(t),t}};const r=[],i=g;g=[];let o=0,s=findNextStatementWithAwait(e.statements,0);for(;-1!==s;){const t=e.statements[o],n=e.statements[s];addRange(r,e.statements,o,s),o=findNextStatementWithoutAwait(e.statements,s);const c=findIndex(i,e=>e.start>=t.pos),l=c>=0?findIndex(i,e=>e.start>=n.pos,c):-1;c>=0&&addRange(g,i,c,l>=0?l:void 0),speculationHelper(()=>{const t=N;for(N|=65536,a.resetTokenState(n.pos),nextToken();1!==token();){const t=a.getTokenFullStart(),n=parseListElement(0,parseStatement);if(r.push(n),t===a.getTokenFullStart()&&nextToken(),o>=0){const t=e.statements[o];if(n.end===t.pos)break;n.end>t.pos&&(o=findNextStatementWithoutAwait(e.statements,o+1))}}N=t},2),s=o>=0?findNextStatementWithAwait(e.statements,o):-1}if(o>=0){const t=e.statements[o];addRange(r,e.statements,o);const n=findIndex(i,e=>e.start>=t.pos);n>=0&&addRange(g,i,n)}return T=t,k.updateSourceFile(e,setTextRange(F(r),e.statements));function containsPossibleTopLevelAwait(e){return!(65536&e.flags||!(67108864&e.transformFlags))}function findNextStatementWithAwait(e,t){for(let n=t;n<e.length;n++)if(containsPossibleTopLevelAwait(e[n]))return n;return-1}function findNextStatementWithoutAwait(e,t){for(let n=t;n<e.length;n++)if(!containsPossibleTopLevelAwait(e[n]))return n;return-1}}(l),e!==l&&setFields(l)}return l;function setFields(i){i.text=u,i.bindDiagnostics=[],i.bindSuggestionDiagnostics=void 0,i.languageVersion=t,i.fileName=e,i.languageVariant=getLanguageVariant(n),i.isDeclarationFile=r,i.scriptKind=n,c(i),i.setExternalModuleIndicator=c}}function setContextFlag(e,t){e?N|=t:N&=~t}function setDisallowInContext(e){setContextFlag(e,8192)}function setYieldContext(e){setContextFlag(e,16384)}function setDecoratorContext(e){setContextFlag(e,32768)}function setAwaitContext(e){setContextFlag(e,65536)}function doOutsideOfContext(e,t){const n=e&N;if(n){setContextFlag(!1,n);const e=t();return setContextFlag(!0,n),e}return t()}function doInsideOfContext(e,t){const n=e&~N;if(n){setContextFlag(!0,n);const e=t();return setContextFlag(!1,n),e}return t()}function allowInAnd(e){return doOutsideOfContext(8192,e)}function allowConditionalTypesAnd(e){return doOutsideOfContext(131072,e)}function disallowConditionalTypesAnd(e){return doInsideOfContext(131072,e)}function doInAwaitContext(e){return doInsideOfContext(65536,e)}function doOutsideOfAwaitContext(e){return doOutsideOfContext(65536,e)}function inContext(e){return 0!==(N&e)}function inYieldContext(){return inContext(16384)}function inDisallowInContext(){return inContext(8192)}function inDisallowConditionalTypesContext(){return inContext(131072)}function inDecoratorContext(){return inContext(32768)}function inAwaitContext(){return inContext(65536)}function parseErrorAtCurrentToken(e,...t){return parseErrorAt(a.getTokenStart(),a.getTokenEnd(),e,...t)}function parseErrorAtPosition(e,t,n,...r){const i=lastOrUndefined(g);let o;return i&&e===i.start||(o=createDetachedDiagnostic(c,u,e,t,n,...r),g.push(o)),te=!0,o}function parseErrorAt(e,t,n,...r){return parseErrorAtPosition(e,t-e,n,...r)}function parseErrorAtRange(e,t,...n){parseErrorAt(e.pos,e.end,t,...n)}function scanError(e,t,n){parseErrorAtPosition(a.getTokenEnd(),t,e,n)}function getNodePos(){return a.getTokenFullStart()}function hasPrecedingJSDocComment(){return a.hasPrecedingJSDocComment()}function token(){return S}function nextTokenWithoutCheck(){return S=a.scan()}function nextTokenAnd(e){return nextToken(),e()}function nextToken(){return isKeyword(S)&&(a.hasUnicodeEscape()||a.hasExtendedUnicodeEscape())&&parseErrorAt(a.getTokenStart(),a.getTokenEnd(),Ot.Keywords_cannot_contain_escape_characters),nextTokenWithoutCheck()}function nextTokenJSDoc(){return S=a.scanJsDocToken()}function nextJSDocCommentTextToken(e){return S=a.scanJSDocCommentTextToken(e)}function reScanGreaterToken(){return S=a.reScanGreaterToken()}function reScanTemplateToken(e){return S=a.reScanTemplateToken(e)}function reScanLessThanToken(){return S=a.reScanLessThanToken()}function reScanHashToken(){return S=a.reScanHashToken()}function scanJsxIdentifier(){return S=a.scanJsxIdentifier()}function scanJsxText(){return S=a.scanJsxToken()}function speculationHelper(e,t){const n=S,r=g.length,i=te,o=N,s=0!==t?a.lookAhead(e):a.tryScan(e);return h.assert(o===N),s&&0===t||(S=n,2!==t&&(g.length=r),te=i),s}function lookAhead(e){return speculationHelper(e,1)}function tryParse(e){return speculationHelper(e,0)}function isBindingIdentifier(){return 80===token()||token()>118}function isIdentifier2(){return 80===token()||(127!==token()||!inYieldContext())&&((135!==token()||!inAwaitContext())&&token()>118)}function parseExpected(e,t,n=!0){return token()===e?(n&&nextToken(),!0):(t?parseErrorAtCurrentToken(t):parseErrorAtCurrentToken(Ot._0_expected,tokenToString(e)),!1)}e.fixupParentReferences=fixupParentReferences;const re=Object.keys(wt).filter(e=>e.length>2);function parseErrorForMissingSemicolonAfter(e){if(isTaggedTemplateExpression(e))return void parseErrorAt(skipTrivia(u,e.template.pos),e.template.end,Ot.Module_declaration_names_may_only_use_or_quoted_strings);const t=isIdentifier(e)?idText(e):void 0;if(!t||!isIdentifierText(t,m))return void parseErrorAtCurrentToken(Ot._0_expected,tokenToString(27));const n=skipTrivia(u,e.pos);switch(t){case"const":case"let":case"var":return void parseErrorAt(n,e.end,Ot.Variable_declaration_not_allowed_at_this_location);case"declare":return;case"interface":return void parseErrorForInvalidName(Ot.Interface_name_cannot_be_0,Ot.Interface_must_be_given_a_name,19);case"is":return void parseErrorAt(n,a.getTokenStart(),Ot.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);case"module":case"namespace":return void parseErrorForInvalidName(Ot.Namespace_name_cannot_be_0,Ot.Namespace_must_be_given_a_name,19);case"type":return void parseErrorForInvalidName(Ot.Type_alias_name_cannot_be_0,Ot.Type_alias_must_be_given_a_name,64)}const r=getSpellingSuggestion(t,re,identity)??function getSpaceSuggestion(e){for(const t of re)if(e.length>t.length+2&&startsWith(e,t))return`${t} ${e.slice(t.length)}`;return}(t);r?parseErrorAt(n,e.end,Ot.Unknown_keyword_or_identifier_Did_you_mean_0,r):0!==token()&&parseErrorAt(n,e.end,Ot.Unexpected_keyword_or_identifier)}function parseErrorForInvalidName(e,t,n){token()===n?parseErrorAtCurrentToken(t):parseErrorAtCurrentToken(e,a.getTokenValue())}function parseExpectedJSDoc(e){return token()===e?(nextTokenJSDoc(),!0):(h.assert(isKeywordOrPunctuation(e)),parseErrorAtCurrentToken(Ot._0_expected,tokenToString(e)),!1)}function parseExpectedMatchingBrackets(e,t,n,r){if(token()===t)return void nextToken();const i=parseErrorAtCurrentToken(Ot._0_expected,tokenToString(t));n&&i&&addRelatedInfo(i,createDetachedDiagnostic(c,u,r,1,Ot.The_parser_expected_to_find_a_1_to_match_the_0_token_here,tokenToString(e),tokenToString(t)))}function parseOptional(e){return token()===e&&(nextToken(),!0)}function parseOptionalToken(e){if(token()===e)return parseTokenNode()}function parseOptionalTokenJSDoc(e){if(token()===e)return function parseTokenNodeJSDoc(){const e=getNodePos(),t=token();return nextTokenJSDoc(),finishNode(w(t),e)}()}function parseExpectedToken(e,t,n){return parseOptionalToken(e)||createMissingNode(e,!1,t||Ot._0_expected,n||tokenToString(e))}function parseTokenNode(){const e=getNodePos(),t=token();return nextToken(),finishNode(w(t),e)}function canParseSemicolon(){return 27===token()||(20===token()||1===token()||a.hasPrecedingLineBreak())}function tryParseSemicolon(){return!!canParseSemicolon()&&(27===token()&&nextToken(),!0)}function parseSemicolon(){return tryParseSemicolon()||parseExpected(27)}function createNodeArray(e,t,n,r){const i=F(e,r);return setTextRangePosEnd(i,t,n??a.getTokenFullStart()),i}function finishNode(e,t,n){return setTextRangePosEnd(e,t,n??a.getTokenFullStart()),N&&(e.flags|=N),te&&(te=!1,e.flags|=262144),e}function createMissingNode(e,t,n,...r){t?parseErrorAtPosition(a.getTokenFullStart(),0,n,...r):n&&parseErrorAtCurrentToken(n,...r);const i=getNodePos();return finishNode(80===e?A("",void 0):isTemplateLiteralKind(e)?k.createTemplateLiteralLikeNode(e,"","",void 0):9===e?P("",void 0):11===e?D("",void 0):283===e?k.createMissingDeclaration():w(e),i)}function internIdentifier(e){let t=v.get(e);return void 0===t&&v.set(e,t=e),t}function createIdentifier(e,t,n){if(e){b++;const e=a.hasPrecedingJSDocLeadingAsterisks()?a.getTokenStart():getNodePos(),t=token(),n=internIdentifier(a.getTokenValue()),r=a.hasExtendedUnicodeEscape();return nextTokenWithoutCheck(),finishNode(A(n,t,r),e)}if(81===token())return parseErrorAtCurrentToken(n||Ot.Private_identifiers_are_not_allowed_outside_class_bodies),createIdentifier(!0);if(0===token()&&a.tryScan(()=>80===a.reScanInvalidIdentifier()))return createIdentifier(!0);b++;const r=1===token(),i=a.isReservedWord(),o=a.getTokenText(),s=i?Ot.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:Ot.Identifier_expected;return createMissingNode(80,r,t||s,o)}function parseBindingIdentifier(e){return createIdentifier(isBindingIdentifier(),void 0,e)}function parseIdentifier(e,t){return createIdentifier(isIdentifier2(),e,t)}function parseIdentifierName(e){return createIdentifier(tokenIsIdentifierOrKeyword(token()),e)}function parseIdentifierNameErrorOnUnicodeEscapeSequence(){return(a.hasUnicodeEscape()||a.hasExtendedUnicodeEscape())&&parseErrorAtCurrentToken(Ot.Unicode_escape_sequence_cannot_appear_here),createIdentifier(tokenIsIdentifierOrKeyword(token()))}function isLiteralPropertyName(){return tokenIsIdentifierOrKeyword(token())||11===token()||9===token()||10===token()}function parsePropertyNameWorker(e){if(11===token()||9===token()||10===token()){const e=parseLiteralNode();return e.text=internIdentifier(e.text),e}return e&&23===token()?function parseComputedPropertyName(){const e=getNodePos();parseExpected(23);const t=allowInAnd(parseExpression);return parseExpected(24),finishNode(k.createComputedPropertyName(t),e)}():81===token()?parsePrivateIdentifier():parseIdentifierName()}function parsePropertyName(){return parsePropertyNameWorker(!0)}function parsePrivateIdentifier(){const e=getNodePos(),t=O(internIdentifier(a.getTokenValue()));return nextToken(),finishNode(t,e)}function parseContextualModifier(e){return token()===e&&tryParse(nextTokenCanFollowModifier)}function nextTokenIsOnSameLineAndCanFollowModifier(){return nextToken(),!a.hasPrecedingLineBreak()&&canFollowModifier()}function nextTokenCanFollowModifier(){switch(token()){case 87:return 94===nextToken();case 95:return nextToken(),90===token()?lookAhead(nextTokenCanFollowDefaultKeyword):156===token()?lookAhead(nextTokenCanFollowExportModifier):canFollowExportModifier();case 90:return nextTokenCanFollowDefaultKeyword();case 126:return nextToken(),canFollowModifier();case 139:case 153:return nextToken(),function canFollowGetOrSetKeyword(){return 23===token()||isLiteralPropertyName()}();default:return nextTokenIsOnSameLineAndCanFollowModifier()}}function canFollowExportModifier(){return 60===token()||42!==token()&&130!==token()&&19!==token()&&canFollowModifier()}function nextTokenCanFollowExportModifier(){return nextToken(),canFollowExportModifier()}function canFollowModifier(){return 23===token()||19===token()||42===token()||26===token()||isLiteralPropertyName()}function nextTokenCanFollowDefaultKeyword(){return nextToken(),86===token()||100===token()||120===token()||60===token()||128===token()&&lookAhead(nextTokenIsClassKeywordOnSameLine)||134===token()&&lookAhead(nextTokenIsFunctionKeywordOnSameLine)}function isListElement2(e,t){if(currentNode(e))return!0;switch(e){case 0:case 1:case 3:return!(27===token()&&t)&&isStartOfStatement();case 2:return 84===token()||90===token();case 4:return lookAhead(isTypeMemberStart);case 5:return lookAhead(isClassMemberStart)||27===token()&&!t;case 6:return 23===token()||isLiteralPropertyName();case 12:switch(token()){case 23:case 42:case 26:case 25:return!0;default:return isLiteralPropertyName()}case 18:return isLiteralPropertyName();case 9:return 23===token()||26===token()||isLiteralPropertyName();case 24:return function isImportAttributeName2(){return tokenIsIdentifierOrKeyword(token())||11===token()}();case 7:return 19===token()?lookAhead(isValidHeritageClauseObjectLiteral):t?isIdentifier2()&&!isHeritageClauseExtendsOrImplementsKeyword():isStartOfLeftHandSideExpression()&&!isHeritageClauseExtendsOrImplementsKeyword();case 8:return isBindingIdentifierOrPrivateIdentifierOrPattern();case 10:return 28===token()||26===token()||isBindingIdentifierOrPrivateIdentifierOrPattern();case 19:return 103===token()||87===token()||isIdentifier2();case 15:switch(token()){case 28:case 25:return!0}case 11:return 26===token()||isStartOfExpression();case 16:return isStartOfParameter(!1);case 17:return isStartOfParameter(!0);case 20:case 21:return 28===token()||isStartOfType();case 22:return isHeritageClause2();case 23:return(161!==token()||!lookAhead(nextTokenIsStringLiteral))&&(11===token()||tokenIsIdentifierOrKeyword(token()));case 13:return tokenIsIdentifierOrKeyword(token())||19===token();case 14:case 25:return!0;case 26:return h.fail("ParsingContext.Count used as a context");default:h.assertNever(e,"Non-exhaustive case in 'isListElement'.")}}function isValidHeritageClauseObjectLiteral(){if(h.assert(19===token()),20===nextToken()){const e=nextToken();return 28===e||19===e||96===e||119===e}return!0}function nextTokenIsIdentifier(){return nextToken(),isIdentifier2()}function nextTokenIsIdentifierOrKeyword(){return nextToken(),tokenIsIdentifierOrKeyword(token())}function nextTokenIsIdentifierOrKeywordOrGreaterThan(){return nextToken(),tokenIsIdentifierOrKeywordOrGreaterThan(token())}function isHeritageClauseExtendsOrImplementsKeyword(){return(119===token()||96===token())&&lookAhead(nextTokenIsStartOfExpression)}function nextTokenIsStartOfExpression(){return nextToken(),isStartOfExpression()}function nextTokenIsStartOfType(){return nextToken(),isStartOfType()}function isListTerminator(e){if(1===token())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return 20===token();case 3:return 20===token()||84===token()||90===token();case 7:return 19===token()||96===token()||119===token();case 8:return function isVariableDeclaratorListTerminator(){if(canParseSemicolon())return!0;if(isInOrOfKeyword(token()))return!0;if(39===token())return!0;return!1}();case 19:return 32===token()||21===token()||19===token()||96===token()||119===token();case 11:return 22===token()||27===token();case 15:case 21:case 10:return 24===token();case 17:case 16:case 18:return 22===token()||24===token();case 20:return 28!==token();case 22:return 19===token()||20===token();case 13:return 32===token()||44===token();case 14:return 30===token()&&lookAhead(nextTokenIsSlash);default:return!1}}function parseList(e,t){const n=C;C|=1<<e;const r=[],i=getNodePos();for(;!isListTerminator(e);)if(isListElement2(e,!1))r.push(parseListElement(e,t));else if(abortParsingListOrMoveToNextToken(e))break;return C=n,createNodeArray(r,i)}function parseListElement(e,t){const n=currentNode(e);return n?consumeNode(n):t()}function currentNode(e,t){var n;if(!T||!function isReusableParsingContext(e){switch(e){case 5:case 2:case 0:case 1:case 3:case 6:case 4:case 8:case 17:case 16:return!0}return!1}(e)||te)return;const r=T.currentNode(t??a.getTokenFullStart());if(nodeIsMissing(r)||function intersectsIncrementalChange(e){return Li.has(e)}(r)||containsParseError(r))return;return(101441536&r.flags)===N&&function canReuseNode(e,t){switch(t){case 5:return function isReusableClassMember(e){if(e)switch(e.kind){case 177:case 182:case 178:case 179:case 173:case 241:return!0;case 175:const t=e;return!(80===t.name.kind&&"constructor"===t.name.escapedText)}return!1}(e);case 2:return function isReusableSwitchClause(e){if(e)switch(e.kind){case 297:case 298:return!0}return!1}(e);case 0:case 1:case 3:return function isReusableStatement(e){if(e)switch(e.kind){case 263:case 244:case 242:case 246:case 245:case 258:case 254:case 256:case 253:case 252:case 250:case 251:case 249:case 248:case 255:case 243:case 259:case 257:case 247:case 260:case 273:case 272:case 279:case 278:case 268:case 264:case 265:case 267:case 266:return!0}return!1}(e);case 6:return function isReusableEnumMember(e){return 307===e.kind}(e);case 4:return function isReusableTypeMember(e){if(e)switch(e.kind){case 181:case 174:case 182:case 172:case 180:return!0}return!1}(e);case 8:return function isReusableVariableDeclaration(e){if(261!==e.kind)return!1;const t=e;return void 0===t.initializer}(e);case 17:case 16:return function isReusableParameter(e){if(170!==e.kind)return!1;const t=e;return void 0===t.initializer}(e)}return!1}(r,e)?(canHaveJSDoc(r)&&(null==(n=r.jsDoc)?void 0:n.jsDocCache)&&(r.jsDoc.jsDocCache=void 0),r):void 0}function consumeNode(e){return a.resetTokenState(e.end),nextToken(),e}function abortParsingListOrMoveToNextToken(e){return function parsingContextErrors(e){switch(e){case 0:return 90===token()?parseErrorAtCurrentToken(Ot._0_expected,tokenToString(95)):parseErrorAtCurrentToken(Ot.Declaration_or_statement_expected);case 1:return parseErrorAtCurrentToken(Ot.Declaration_or_statement_expected);case 2:return parseErrorAtCurrentToken(Ot.case_or_default_expected);case 3:return parseErrorAtCurrentToken(Ot.Statement_expected);case 18:case 4:return parseErrorAtCurrentToken(Ot.Property_or_signature_expected);case 5:return parseErrorAtCurrentToken(Ot.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);case 6:return parseErrorAtCurrentToken(Ot.Enum_member_expected);case 7:return parseErrorAtCurrentToken(Ot.Expression_expected);case 8:return isKeyword(token())?parseErrorAtCurrentToken(Ot._0_is_not_allowed_as_a_variable_declaration_name,tokenToString(token())):parseErrorAtCurrentToken(Ot.Variable_declaration_expected);case 9:return parseErrorAtCurrentToken(Ot.Property_destructuring_pattern_expected);case 10:return parseErrorAtCurrentToken(Ot.Array_element_destructuring_pattern_expected);case 11:return parseErrorAtCurrentToken(Ot.Argument_expression_expected);case 12:return parseErrorAtCurrentToken(Ot.Property_assignment_expected);case 15:return parseErrorAtCurrentToken(Ot.Expression_or_comma_expected);case 17:return parseErrorAtCurrentToken(Ot.Parameter_declaration_expected);case 16:return isKeyword(token())?parseErrorAtCurrentToken(Ot._0_is_not_allowed_as_a_parameter_name,tokenToString(token())):parseErrorAtCurrentToken(Ot.Parameter_declaration_expected);case 19:return parseErrorAtCurrentToken(Ot.Type_parameter_declaration_expected);case 20:return parseErrorAtCurrentToken(Ot.Type_argument_expected);case 21:return parseErrorAtCurrentToken(Ot.Type_expected);case 22:return parseErrorAtCurrentToken(Ot.Unexpected_token_expected);case 23:return 161===token()?parseErrorAtCurrentToken(Ot._0_expected,"}"):parseErrorAtCurrentToken(Ot.Identifier_expected);case 13:case 14:case 25:return parseErrorAtCurrentToken(Ot.Identifier_expected);case 24:return parseErrorAtCurrentToken(Ot.Identifier_or_string_literal_expected);case 26:return h.fail("ParsingContext.Count used as a context");default:h.assertNever(e)}}(e),!!function isInSomeParsingContext(){h.assert(C,"Missing parsing context");for(let e=0;e<26;e++)if(C&1<<e&&(isListElement2(e,!0)||isListTerminator(e)))return!0;return!1}()||(nextToken(),!1)}function parseDelimitedList(e,t,n){const r=C;C|=1<<e;const i=[],o=getNodePos();let s=-1;for(;;){if(isListElement2(e,!1)){const o=a.getTokenFullStart(),c=parseListElement(e,t);if(!c)return void(C=r);if(i.push(c),s=a.getTokenStart(),parseOptional(28))continue;if(s=-1,isListTerminator(e))break;parseExpected(28,getExpectedCommaDiagnostic(e)),n&&27===token()&&!a.hasPrecedingLineBreak()&&nextToken(),o===a.getTokenFullStart()&&nextToken();continue}if(isListTerminator(e))break;if(abortParsingListOrMoveToNextToken(e))break}return C=r,createNodeArray(i,o,void 0,s>=0)}function getExpectedCommaDiagnostic(e){return 6===e?Ot.An_enum_member_name_must_be_followed_by_a_or:void 0}function createMissingList(){const e=createNodeArray([],getNodePos());return e.isMissingList=!0,e}function parseBracketedList(e,t,n,r){if(parseExpected(n)){const n=parseDelimitedList(e,t);return parseExpected(r),n}return createMissingList()}function parseEntityName(e,t){const n=getNodePos();let r=e?parseIdentifierName(t):parseIdentifier(t);for(;parseOptional(25)&&30!==token();)r=finishNode(k.createQualifiedName(r,parseRightSideOfDot(e,!1,!0)),n);return r}function createQualifiedName(e,t){return finishNode(k.createQualifiedName(e,t),e.pos)}function parseRightSideOfDot(e,t,n){if(a.hasPrecedingLineBreak()&&tokenIsIdentifierOrKeyword(token())){if(lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine))return createMissingNode(80,!0,Ot.Identifier_expected)}if(81===token()){const e=parsePrivateIdentifier();return t?e:createMissingNode(80,!0,Ot.Identifier_expected)}return e?n?parseIdentifierName():parseIdentifierNameErrorOnUnicodeEscapeSequence():parseIdentifier()}function parseTemplateExpression(e){const t=getNodePos();return finishNode(k.createTemplateExpression(parseTemplateHead(e),function parseTemplateSpans(e){const t=getNodePos(),n=[];let r;do{r=parseTemplateSpan(e),n.push(r)}while(17===r.literal.kind);return createNodeArray(n,t)}(e)),t)}function parseTemplateType(){const e=getNodePos();return finishNode(k.createTemplateLiteralType(parseTemplateHead(!1),function parseTemplateTypeSpans(){const e=getNodePos(),t=[];let n;do{n=parseTemplateTypeSpan(),t.push(n)}while(17===n.literal.kind);return createNodeArray(t,e)}()),e)}function parseTemplateTypeSpan(){const e=getNodePos();return finishNode(k.createTemplateLiteralTypeSpan(parseType(),parseLiteralOfTemplateSpan(!1)),e)}function parseLiteralOfTemplateSpan(e){return 20===token()?(reScanTemplateToken(e),function parseTemplateMiddleOrTemplateTail(){const e=parseLiteralLikeNode(token());return h.assert(17===e.kind||18===e.kind,"Template fragment has wrong token kind"),e}()):parseExpectedToken(18,Ot._0_expected,tokenToString(20))}function parseTemplateSpan(e){const t=getNodePos();return finishNode(k.createTemplateSpan(allowInAnd(parseExpression),parseLiteralOfTemplateSpan(e)),t)}function parseLiteralNode(){return parseLiteralLikeNode(token())}function parseTemplateHead(e){!e&&26656&a.getTokenFlags()&&reScanTemplateToken(!1);const t=parseLiteralLikeNode(token());return h.assert(16===t.kind,"Template head has wrong token kind"),t}function parseLiteralLikeNode(e){const t=getNodePos(),n=isTemplateLiteralKind(e)?k.createTemplateLiteralLikeNode(e,a.getTokenValue(),function getTemplateLiteralRawText(e){const t=15===e||18===e,n=a.getTokenText();return n.substring(1,n.length-(a.isUnterminated()?0:t?1:2))}(e),7176&a.getTokenFlags()):9===e?P(a.getTokenValue(),a.getNumericLiteralFlags()):11===e?D(a.getTokenValue(),void 0,a.hasExtendedUnicodeEscape()):isLiteralKind(e)?I(e,a.getTokenValue()):h.fail();return a.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),a.isUnterminated()&&(n.isUnterminated=!0),nextToken(),finishNode(n,t)}function parseEntityNameOfTypeReference(){return parseEntityName(!0,Ot.Type_expected)}function parseTypeArgumentsOfTypeReference(){if(!a.hasPrecedingLineBreak()&&30===reScanLessThanToken())return parseBracketedList(20,parseType,30,32)}function parseTypeReference(){const e=getNodePos();return finishNode(k.createTypeReferenceNode(parseEntityNameOfTypeReference(),parseTypeArgumentsOfTypeReference()),e)}function typeHasArrowFunctionBlockingParseError(e){switch(e.kind){case 184:return nodeIsMissing(e.typeName);case 185:case 186:{const{parameters:t,type:n}=e;return function isMissingList(e){return!!e.isMissingList}(t)||typeHasArrowFunctionBlockingParseError(n)}case 197:return typeHasArrowFunctionBlockingParseError(e.type);default:return!1}}function parseThisTypeNode(){const e=getNodePos();return nextToken(),finishNode(k.createThisTypeNode(),e)}function parseJSDocParameter(){const e=getNodePos();let t;return 110!==token()&&105!==token()||(t=parseIdentifierName(),parseExpected(59)),finishNode(k.createParameterDeclaration(void 0,void 0,t,void 0,parseJSDocType(),void 0),e)}function parseJSDocType(){a.setSkipJsDocLeadingAsterisks(!0);const e=getNodePos();if(parseOptional(144)){const t=k.createJSDocNamepathType(void 0);e:for(;;)switch(token()){case 20:case 1:case 28:case 5:break e;default:nextTokenJSDoc()}return a.setSkipJsDocLeadingAsterisks(!1),finishNode(t,e)}const t=parseOptional(26);let n=parseTypeOrTypePredicate();return a.setSkipJsDocLeadingAsterisks(!1),t&&(n=finishNode(k.createJSDocVariadicType(n),e)),64===token()?(nextToken(),finishNode(k.createJSDocOptionalType(n),e)):n}function parseTypeParameter(){const e=getNodePos(),t=parseModifiers(!1,!0),n=parseIdentifier();let r,i;parseOptional(96)&&(isStartOfType()||!isStartOfExpression()?r=parseType():i=parseUnaryExpressionOrHigher());const o=parseOptional(64)?parseType():void 0,a=k.createTypeParameterDeclaration(t,n,r,o);return a.expression=i,finishNode(a,e)}function parseTypeParameters(){if(30===token())return parseBracketedList(19,parseTypeParameter,30,32)}function isStartOfParameter(e){return 26===token()||isBindingIdentifierOrPrivateIdentifierOrPattern()||isModifierKind(token())||60===token()||isStartOfType(!e)}function parseParameter(e){return parseParameterWorker(e)}function parseParameterWorker(e,t=!0){const n=getNodePos(),r=hasPrecedingJSDocComment(),i=e?doInAwaitContext(()=>parseModifiers(!0)):doOutsideOfAwaitContext(()=>parseModifiers(!0));if(110===token()){const e=k.createParameterDeclaration(i,void 0,createIdentifier(!0),void 0,parseTypeAnnotation(),void 0),t=firstOrUndefined(i);return t&&parseErrorAtRange(t,Ot.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),withJSDoc(finishNode(e,n),r)}const o=ee;ee=!1;const a=parseOptionalToken(26);if(!t&&!function isParameterNameStart(){return isBindingIdentifier()||23===token()||19===token()}())return;const s=withJSDoc(finishNode(k.createParameterDeclaration(i,a,function parseNameOfParameter(e){const t=parseIdentifierOrPattern(Ot.Private_identifiers_cannot_be_used_as_parameters);return 0===getFullWidth(t)&&!some(e)&&isModifierKind(token())&&nextToken(),t}(i),parseOptionalToken(58),parseTypeAnnotation(),parseInitializer()),n),r);return ee=o,s}function parseReturnType(e,t){if(function shouldParseReturnType(e,t){if(39===e)return parseExpected(e),!0;if(parseOptional(59))return!0;if(t&&39===token())return parseErrorAtCurrentToken(Ot._0_expected,tokenToString(59)),nextToken(),!0;return!1}(e,t))return allowConditionalTypesAnd(parseTypeOrTypePredicate)}function parseParametersWorker(e,t){const n=inYieldContext(),r=inAwaitContext();setYieldContext(!!(1&e)),setAwaitContext(!!(2&e));const i=32&e?parseDelimitedList(17,parseJSDocParameter):parseDelimitedList(16,()=>t?parseParameter(r):function parseParameterForSpeculation(e){return parseParameterWorker(e,!1)}(r));return setYieldContext(n),setAwaitContext(r),i}function parseParameters(e){if(!parseExpected(21))return createMissingList();const t=parseParametersWorker(e,!0);return parseExpected(22),t}function parseTypeMemberSemicolon(){parseOptional(28)||parseSemicolon()}function parseSignatureMember(e){const t=getNodePos(),n=hasPrecedingJSDocComment();181===e&&parseExpected(105);const r=parseTypeParameters(),i=parseParameters(4),o=parseReturnType(59,!0);parseTypeMemberSemicolon();return withJSDoc(finishNode(180===e?k.createCallSignature(r,i,o):k.createConstructSignature(r,i,o),t),n)}function isIndexSignature(){return 23===token()&&lookAhead(isUnambiguouslyIndexSignature)}function isUnambiguouslyIndexSignature(){if(nextToken(),26===token()||24===token())return!0;if(isModifierKind(token())){if(nextToken(),isIdentifier2())return!0}else{if(!isIdentifier2())return!1;nextToken()}return 59===token()||28===token()||58===token()&&(nextToken(),59===token()||28===token()||24===token())}function parseIndexSignatureDeclaration(e,t,n){const r=parseBracketedList(16,()=>parseParameter(!1),23,24),i=parseTypeAnnotation();parseTypeMemberSemicolon();return withJSDoc(finishNode(k.createIndexSignature(n,r,i),e),t)}function isTypeMemberStart(){if(21===token()||30===token()||139===token()||153===token())return!0;let e=!1;for(;isModifierKind(token());)e=!0,nextToken();return 23===token()||(isLiteralPropertyName()&&(e=!0,nextToken()),!!e&&(21===token()||30===token()||58===token()||59===token()||28===token()||canParseSemicolon()))}function parseTypeMember(){if(21===token()||30===token())return parseSignatureMember(180);if(105===token()&&lookAhead(nextTokenIsOpenParenOrLessThan))return parseSignatureMember(181);const e=getNodePos(),t=hasPrecedingJSDocComment(),n=parseModifiers(!1);return parseContextualModifier(139)?parseAccessorDeclaration(e,t,n,178,4):parseContextualModifier(153)?parseAccessorDeclaration(e,t,n,179,4):isIndexSignature()?parseIndexSignatureDeclaration(e,t,n):function parsePropertyOrMethodSignature(e,t,n){const r=parsePropertyName(),i=parseOptionalToken(58);let o;if(21===token()||30===token()){const e=parseTypeParameters(),t=parseParameters(4),a=parseReturnType(59,!0);o=k.createMethodSignature(n,r,i,e,t,a)}else{const e=parseTypeAnnotation();o=k.createPropertySignature(n,r,i,e),64===token()&&(o.initializer=parseInitializer())}return parseTypeMemberSemicolon(),withJSDoc(finishNode(o,e),t)}(e,t,n)}function nextTokenIsOpenParenOrLessThan(){return nextToken(),21===token()||30===token()}function nextTokenIsDot(){return 25===nextToken()}function nextTokenIsOpenParenOrLessThanOrDot(){switch(nextToken()){case 21:case 30:case 25:return!0}return!1}function parseObjectTypeMembers(){let e;return parseExpected(19)?(e=parseList(4,parseTypeMember),parseExpected(20)):e=createMissingList(),e}function isStartOfMappedType(){return nextToken(),40===token()||41===token()?148===nextToken():(148===token()&&nextToken(),23===token()&&nextTokenIsIdentifier()&&103===nextToken())}function parseMappedType(){const e=getNodePos();let t;parseExpected(19),148!==token()&&40!==token()&&41!==token()||(t=parseTokenNode(),148!==t.kind&&parseExpected(148)),parseExpected(23);const n=function parseMappedTypeParameter(){const e=getNodePos(),t=parseIdentifierName();parseExpected(103);const n=parseType();return finishNode(k.createTypeParameterDeclaration(void 0,t,n,void 0),e)}(),r=parseOptional(130)?parseType():void 0;let i;parseExpected(24),58!==token()&&40!==token()&&41!==token()||(i=parseTokenNode(),58!==i.kind&&parseExpected(58));const o=parseTypeAnnotation();parseSemicolon();const a=parseList(4,parseTypeMember);return parseExpected(20),finishNode(k.createMappedTypeNode(t,n,r,i,o,a),e)}function parseTupleElementType(){const e=getNodePos();if(parseOptional(26))return finishNode(k.createRestTypeNode(parseType()),e);const t=parseType();if(isJSDocNullableType(t)&&t.pos===t.type.pos){const e=k.createOptionalTypeNode(t.type);return setTextRange(e,t),e.flags=t.flags,e}return t}function isNextTokenColonOrQuestionColon(){return 59===nextToken()||58===token()&&59===nextToken()}function isTupleElementName(){return 26===token()?tokenIsIdentifierOrKeyword(nextToken())&&isNextTokenColonOrQuestionColon():tokenIsIdentifierOrKeyword(token())&&isNextTokenColonOrQuestionColon()}function parseTupleElementNameOrTupleElementType(){if(lookAhead(isTupleElementName)){const e=getNodePos(),t=hasPrecedingJSDocComment(),n=parseOptionalToken(26),r=parseIdentifierName(),i=parseOptionalToken(58);parseExpected(59);const o=parseTupleElementType();return withJSDoc(finishNode(k.createNamedTupleMember(n,r,i,o),e),t)}return parseTupleElementType()}function parseFunctionOrConstructorType(){const e=getNodePos(),t=hasPrecedingJSDocComment(),n=function parseModifiersForConstructorType(){let e;if(128===token()){const t=getNodePos();nextToken(),e=createNodeArray([finishNode(w(128),t)],t)}return e}(),r=parseOptional(105);h.assert(!n||r,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");const i=parseTypeParameters(),o=parseParameters(4),a=parseReturnType(39,!1);return withJSDoc(finishNode(r?k.createConstructorTypeNode(n,i,o,a):k.createFunctionTypeNode(i,o,a),e),t)}function parseKeywordAndNoDot(){const e=parseTokenNode();return 25===token()?void 0:e}function parseLiteralTypeNode(e){const t=getNodePos();e&&nextToken();let n=112===token()||97===token()||106===token()?parseTokenNode():parseLiteralLikeNode(token());return e&&(n=finishNode(k.createPrefixUnaryExpression(41,n),t)),finishNode(k.createLiteralTypeNode(n),t)}function isStartOfTypeOfImportType(){return nextToken(),102===token()}function parseImportType(){p|=4194304;const e=getNodePos(),t=parseOptional(114);parseExpected(102),parseExpected(21);const n=parseType();let r;if(parseOptional(28)){const e=a.getTokenStart();parseExpected(19);const t=token();if(118===t||132===t?nextToken():parseErrorAtCurrentToken(Ot._0_expected,tokenToString(118)),parseExpected(59),r=parseImportAttributes(t,!0),parseOptional(28),!parseExpected(20)){const t=lastOrUndefined(g);t&&t.code===Ot._0_expected.code&&addRelatedInfo(t,createDetachedDiagnostic(c,u,e,1,Ot.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}}parseExpected(22);const i=parseOptional(25)?parseEntityNameOfTypeReference():void 0,o=parseTypeArgumentsOfTypeReference();return finishNode(k.createImportTypeNode(n,r,i,o,t),e)}function nextTokenIsNumericOrBigIntLiteral(){return nextToken(),9===token()||10===token()}function parseNonArrayType(){switch(token()){case 133:case 159:case 154:case 150:case 163:case 155:case 136:case 157:case 146:case 151:return tryParse(parseKeywordAndNoDot)||parseTypeReference();case 67:a.reScanAsteriskEqualsToken();case 42:return function parseJSDocAllType(){const e=getNodePos();return nextToken(),finishNode(k.createJSDocAllType(),e)}();case 61:a.reScanQuestionToken();case 58:return function parseJSDocUnknownOrNullableType(){const e=getNodePos();return nextToken(),28===token()||20===token()||22===token()||32===token()||64===token()||52===token()?finishNode(k.createJSDocUnknownType(),e):finishNode(k.createJSDocNullableType(parseType(),!1),e)}();case 100:return function parseJSDocFunctionType(){const e=getNodePos(),t=hasPrecedingJSDocComment();if(tryParse(nextTokenIsOpenParen)){const n=parseParameters(36),r=parseReturnType(59,!1);return withJSDoc(finishNode(k.createJSDocFunctionType(n,r),e),t)}return finishNode(k.createTypeReferenceNode(parseIdentifierName(),void 0),e)}();case 54:return function parseJSDocNonNullableType(){const e=getNodePos();return nextToken(),finishNode(k.createJSDocNonNullableType(parseNonArrayType(),!1),e)}();case 15:case 11:case 9:case 10:case 112:case 97:case 106:return parseLiteralTypeNode();case 41:return lookAhead(nextTokenIsNumericOrBigIntLiteral)?parseLiteralTypeNode(!0):parseTypeReference();case 116:return parseTokenNode();case 110:{const e=parseThisTypeNode();return 142!==token()||a.hasPrecedingLineBreak()?e:function parseThisTypePredicate(e){return nextToken(),finishNode(k.createTypePredicateNode(void 0,e,parseType()),e.pos)}(e)}case 114:return lookAhead(isStartOfTypeOfImportType)?parseImportType():function parseTypeQuery(){const e=getNodePos();parseExpected(114);const t=parseEntityName(!0),n=a.hasPrecedingLineBreak()?void 0:tryParseTypeArguments();return finishNode(k.createTypeQueryNode(t,n),e)}();case 19:return lookAhead(isStartOfMappedType)?parseMappedType():function parseTypeLiteral(){const e=getNodePos();return finishNode(k.createTypeLiteralNode(parseObjectTypeMembers()),e)}();case 23:return function parseTupleType(){const e=getNodePos();return finishNode(k.createTupleTypeNode(parseBracketedList(21,parseTupleElementNameOrTupleElementType,23,24)),e)}();case 21:return function parseParenthesizedType(){const e=getNodePos();parseExpected(21);const t=parseType();return parseExpected(22),finishNode(k.createParenthesizedType(t),e)}();case 102:return parseImportType();case 131:return lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine)?function parseAssertsTypePredicate(){const e=getNodePos(),t=parseExpectedToken(131),n=110===token()?parseThisTypeNode():parseIdentifier(),r=parseOptional(142)?parseType():void 0;return finishNode(k.createTypePredicateNode(t,n,r),e)}():parseTypeReference();case 16:return parseTemplateType();default:return parseTypeReference()}}function isStartOfType(e){switch(token()){case 133:case 159:case 154:case 150:case 163:case 136:case 148:case 155:case 158:case 116:case 157:case 106:case 110:case 114:case 146:case 19:case 23:case 30:case 52:case 51:case 105:case 11:case 9:case 10:case 112:case 97:case 151:case 42:case 58:case 54:case 26:case 140:case 102:case 131:case 15:case 16:return!0;case 100:return!e;case 41:return!e&&lookAhead(nextTokenIsNumericOrBigIntLiteral);case 21:return!e&&lookAhead(isStartOfParenthesizedOrFunctionType);default:return isIdentifier2()}}function isStartOfParenthesizedOrFunctionType(){return nextToken(),22===token()||isStartOfParameter(!1)||isStartOfType()}function parsePostfixTypeOrHigher(){const e=getNodePos();let t=parseNonArrayType();for(;!a.hasPrecedingLineBreak();)switch(token()){case 54:nextToken(),t=finishNode(k.createJSDocNonNullableType(t,!0),e);break;case 58:if(lookAhead(nextTokenIsStartOfType))return t;nextToken(),t=finishNode(k.createJSDocNullableType(t,!0),e);break;case 23:if(parseExpected(23),isStartOfType()){const n=parseType();parseExpected(24),t=finishNode(k.createIndexedAccessTypeNode(t,n),e)}else parseExpected(24),t=finishNode(k.createArrayTypeNode(t),e);break;default:return t}return t}function tryParseConstraintOfInferType(){if(parseOptional(96)){const e=disallowConditionalTypesAnd(parseType);if(inDisallowConditionalTypesContext()||58!==token())return e}}function parseInferType(){const e=getNodePos();return parseExpected(140),finishNode(k.createInferTypeNode(function parseTypeParameterOfInferType(){const e=getNodePos(),t=parseIdentifier(),n=tryParse(tryParseConstraintOfInferType);return finishNode(k.createTypeParameterDeclaration(void 0,t,n),e)}()),e)}function parseTypeOperatorOrHigher(){const e=token();switch(e){case 143:case 158:case 148:return function parseTypeOperator(e){const t=getNodePos();return parseExpected(e),finishNode(k.createTypeOperatorNode(e,parseTypeOperatorOrHigher()),t)}(e);case 140:return parseInferType()}return allowConditionalTypesAnd(parsePostfixTypeOrHigher)}function parseFunctionOrConstructorTypeToError(e){if(isStartOfFunctionTypeOrConstructorType()){const t=parseFunctionOrConstructorType();let n;return n=isFunctionTypeNode(t)?e?Ot.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:Ot.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:e?Ot.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:Ot.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,parseErrorAtRange(t,n),t}}function parseUnionOrIntersectionType(e,t,n){const r=getNodePos(),i=52===e,o=parseOptional(e);let a=o&&parseFunctionOrConstructorTypeToError(i)||t();if(token()===e||o){const o=[a];for(;parseOptional(e);)o.push(parseFunctionOrConstructorTypeToError(i)||t());a=finishNode(n(createNodeArray(o,r)),r)}return a}function parseIntersectionTypeOrHigher(){return parseUnionOrIntersectionType(51,parseTypeOperatorOrHigher,k.createIntersectionTypeNode)}function nextTokenIsNewKeyword(){return nextToken(),105===token()}function isStartOfFunctionTypeOrConstructorType(){return 30===token()||(!(21!==token()||!lookAhead(isUnambiguouslyStartOfFunctionType))||(105===token()||128===token()&&lookAhead(nextTokenIsNewKeyword)))}function isUnambiguouslyStartOfFunctionType(){if(nextToken(),22===token()||26===token())return!0;if(function skipParameterStart(){if(isModifierKind(token())&&parseModifiers(!1),isIdentifier2()||110===token())return nextToken(),!0;if(23===token()||19===token()){const e=g.length;return parseIdentifierOrPattern(),e===g.length}return!1}()){if(59===token()||28===token()||58===token()||64===token())return!0;if(22===token()&&(nextToken(),39===token()))return!0}return!1}function parseTypeOrTypePredicate(){const e=getNodePos(),t=isIdentifier2()&&tryParse(parseTypePredicatePrefix),n=parseType();return t?finishNode(k.createTypePredicateNode(void 0,t,n),e):n}function parseTypePredicatePrefix(){const e=parseIdentifier();if(142===token()&&!a.hasPrecedingLineBreak())return nextToken(),e}function parseType(){if(81920&N)return doOutsideOfContext(81920,parseType);if(isStartOfFunctionTypeOrConstructorType())return parseFunctionOrConstructorType();const e=getNodePos(),t=function parseUnionTypeOrHigher(){return parseUnionOrIntersectionType(52,parseIntersectionTypeOrHigher,k.createUnionTypeNode)}();if(!inDisallowConditionalTypesContext()&&!a.hasPrecedingLineBreak()&&parseOptional(96)){const n=disallowConditionalTypesAnd(parseType);parseExpected(58);const r=allowConditionalTypesAnd(parseType);parseExpected(59);const i=allowConditionalTypesAnd(parseType);return finishNode(k.createConditionalTypeNode(t,n,r,i),e)}return t}function parseTypeAnnotation(){return parseOptional(59)?parseType():void 0}function isStartOfLeftHandSideExpression(){switch(token()){case 110:case 108:case 106:case 112:case 97:case 9:case 10:case 11:case 15:case 16:case 21:case 23:case 19:case 100:case 86:case 105:case 44:case 69:case 80:return!0;case 102:return lookAhead(nextTokenIsOpenParenOrLessThanOrDot);default:return isIdentifier2()}}function isStartOfExpression(){if(isStartOfLeftHandSideExpression())return!0;switch(token()){case 40:case 41:case 55:case 54:case 91:case 114:case 116:case 46:case 47:case 30:case 135:case 127:case 81:case 60:return!0;default:return!!isBinaryOperator2()||isIdentifier2()}}function parseExpression(){const e=inDecoratorContext();e&&setDecoratorContext(!1);const t=getNodePos();let n,r=parseAssignmentExpressionOrHigher(!0);for(;n=parseOptionalToken(28);)r=makeBinaryExpression(r,n,parseAssignmentExpressionOrHigher(!0),t);return e&&setDecoratorContext(!0),r}function parseInitializer(){return parseOptional(64)?parseAssignmentExpressionOrHigher(!0):void 0}function parseAssignmentExpressionOrHigher(e){if(function isYieldExpression2(){if(127===token())return!!inYieldContext()||lookAhead(nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine);return!1}())return function parseYieldExpression(){const e=getNodePos();return nextToken(),a.hasPrecedingLineBreak()||42!==token()&&!isStartOfExpression()?finishNode(k.createYieldExpression(void 0,void 0),e):finishNode(k.createYieldExpression(parseOptionalToken(42),parseAssignmentExpressionOrHigher(!0)),e)}();const t=function tryParseParenthesizedArrowFunctionExpression(e){const t=function isParenthesizedArrowFunctionExpression(){if(21===token()||30===token()||134===token())return lookAhead(isParenthesizedArrowFunctionExpressionWorker);if(39===token())return 1;return 0}();if(0===t)return;return 1===t?parseParenthesizedArrowFunctionExpression(!0,!0):tryParse(()=>function parsePossibleParenthesizedArrowFunctionExpression(e){const t=a.getTokenStart();if(null==E?void 0:E.has(t))return;const n=parseParenthesizedArrowFunctionExpression(!1,e);n||(E||(E=new Set)).add(t);return n}(e))}(e)||function tryParseAsyncSimpleArrowFunctionExpression(e){if(134===token()&&1===lookAhead(isUnParenthesizedAsyncArrowFunctionWorker)){const t=getNodePos(),n=hasPrecedingJSDocComment(),r=parseModifiersForArrowFunction();return parseSimpleArrowFunctionExpression(t,parseBinaryExpressionOrHigher(0),e,n,r)}return}(e);if(t)return t;const n=getNodePos(),r=hasPrecedingJSDocComment(),i=parseBinaryExpressionOrHigher(0);return 80===i.kind&&39===token()?parseSimpleArrowFunctionExpression(n,i,e,r,void 0):isLeftHandSideExpression(i)&&isAssignmentOperator(reScanGreaterToken())?makeBinaryExpression(i,parseTokenNode(),parseAssignmentExpressionOrHigher(e),n):function parseConditionalExpressionRest(e,t,n){const r=parseOptionalToken(58);if(!r)return e;let i;return finishNode(k.createConditionalExpression(e,r,doOutsideOfContext(s,()=>parseAssignmentExpressionOrHigher(!1)),i=parseExpectedToken(59),nodeIsPresent(i)?parseAssignmentExpressionOrHigher(n):createMissingNode(80,!1,Ot._0_expected,tokenToString(59))),t)}(i,n,e)}function nextTokenIsIdentifierOnSameLine(){return nextToken(),!a.hasPrecedingLineBreak()&&isIdentifier2()}function parseSimpleArrowFunctionExpression(e,t,n,r,i){h.assert(39===token(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>");const o=k.createParameterDeclaration(void 0,void 0,t,void 0,void 0,void 0);finishNode(o,t.pos);const a=createNodeArray([o],o.pos,o.end),s=parseExpectedToken(39),c=parseArrowFunctionExpressionBody(!!i,n);return withJSDoc(finishNode(k.createArrowFunction(i,void 0,a,void 0,s,c),e),r)}function isParenthesizedArrowFunctionExpressionWorker(){if(134===token()){if(nextToken(),a.hasPrecedingLineBreak())return 0;if(21!==token()&&30!==token())return 0}const e=token(),t=nextToken();if(21===e){if(22===t){switch(nextToken()){case 39:case 59:case 19:return 1;default:return 0}}if(23===t||19===t)return 2;if(26===t)return 1;if(isModifierKind(t)&&134!==t&&lookAhead(nextTokenIsIdentifier))return 130===nextToken()?0:1;if(!isIdentifier2()&&110!==t)return 0;switch(nextToken()){case 59:return 1;case 58:return nextToken(),59===token()||28===token()||64===token()||22===token()?1:0;case 28:case 64:case 22:return 2}return 0}if(h.assert(30===e),!isIdentifier2()&&87!==token())return 0;if(1===f){return lookAhead(()=>{parseOptional(87);const e=nextToken();if(96===e){switch(nextToken()){case 64:case 32:case 44:return!1;default:return!0}}else if(28===e||64===e)return!0;return!1})?1:0}return 2}function isUnParenthesizedAsyncArrowFunctionWorker(){if(134===token()){if(nextToken(),a.hasPrecedingLineBreak()||39===token())return 0;const e=parseBinaryExpressionOrHigher(0);if(!a.hasPrecedingLineBreak()&&80===e.kind&&39===token())return 1}return 0}function parseParenthesizedArrowFunctionExpression(e,t){const n=getNodePos(),r=hasPrecedingJSDocComment(),i=parseModifiersForArrowFunction(),o=some(i,isAsyncModifier)?2:0,a=parseTypeParameters();let s;if(parseExpected(21)){if(e)s=parseParametersWorker(o,e);else{const t=parseParametersWorker(o,e);if(!t)return;s=t}if(!parseExpected(22)&&!e)return}else{if(!e)return;s=createMissingList()}const c=59===token(),l=parseReturnType(59,!1);if(l&&!e&&typeHasArrowFunctionBlockingParseError(l))return;let d=l;for(;197===(null==d?void 0:d.kind);)d=d.type;const p=d&&isJSDocFunctionType(d);if(!e&&39!==token()&&(p||19!==token()))return;const u=token(),m=parseExpectedToken(39),_=39===u||19===u?parseArrowFunctionExpressionBody(some(i,isAsyncModifier),t):parseIdentifier();if(!t&&c&&59!==token())return;return withJSDoc(finishNode(k.createArrowFunction(i,a,s,l,m,_),n),r)}function parseArrowFunctionExpressionBody(e,t){if(19===token())return parseFunctionBlock(e?2:0);if(27!==token()&&100!==token()&&86!==token()&&isStartOfStatement()&&!function isStartOfExpressionStatement(){return 19!==token()&&100!==token()&&86!==token()&&60!==token()&&isStartOfExpression()}())return parseFunctionBlock(16|(e?2:0));const n=inYieldContext();setYieldContext(!1);const r=ee;ee=!1;const i=e?doInAwaitContext(()=>parseAssignmentExpressionOrHigher(t)):doOutsideOfAwaitContext(()=>parseAssignmentExpressionOrHigher(t));return ee=r,setYieldContext(n),i}function parseBinaryExpressionOrHigher(e){const t=getNodePos();return parseBinaryExpressionRest(e,parseUnaryExpressionOrHigher(),t)}function isInOrOfKeyword(e){return 103===e||165===e}function parseBinaryExpressionRest(e,t,n){for(;;){reScanGreaterToken();const r=getBinaryOperatorPrecedence(token());if(!(43===token()?r>=e:r>e))break;if(103===token()&&inDisallowInContext())break;if(130===token()||152===token()){if(a.hasPrecedingLineBreak())break;{const e=token();nextToken(),t=152===e?makeSatisfiesExpression(t,parseType()):makeAsExpression(t,parseType())}}else t=makeBinaryExpression(t,parseTokenNode(),parseBinaryExpressionOrHigher(r),n)}return t}function isBinaryOperator2(){return(!inDisallowInContext()||103!==token())&&getBinaryOperatorPrecedence(token())>0}function makeSatisfiesExpression(e,t){return finishNode(k.createSatisfiesExpression(e,t),e.pos)}function makeBinaryExpression(e,t,n,r){return finishNode(k.createBinaryExpression(e,t,n),r)}function makeAsExpression(e,t){return finishNode(k.createAsExpression(e,t),e.pos)}function parsePrefixUnaryExpression(){const e=getNodePos();return finishNode(k.createPrefixUnaryExpression(token(),nextTokenAnd(parseSimpleUnaryExpression)),e)}function parseUnaryExpressionOrHigher(){if(function isUpdateExpression(){switch(token()){case 40:case 41:case 55:case 54:case 91:case 114:case 116:case 135:return!1;case 30:if(1!==f)return!1;default:return!0}}()){const e=getNodePos(),t=parseUpdateExpression();return 43===token()?parseBinaryExpressionRest(getBinaryOperatorPrecedence(token()),t,e):t}const e=token(),t=parseSimpleUnaryExpression();if(43===token()){const n=skipTrivia(u,t.pos),{end:r}=t;217===t.kind?parseErrorAt(n,r,Ot.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):(h.assert(isKeywordOrPunctuation(e)),parseErrorAt(n,r,Ot.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,tokenToString(e)))}return t}function parseSimpleUnaryExpression(){switch(token()){case 40:case 41:case 55:case 54:return parsePrefixUnaryExpression();case 91:return function parseDeleteExpression(){const e=getNodePos();return finishNode(k.createDeleteExpression(nextTokenAnd(parseSimpleUnaryExpression)),e)}();case 114:return function parseTypeOfExpression(){const e=getNodePos();return finishNode(k.createTypeOfExpression(nextTokenAnd(parseSimpleUnaryExpression)),e)}();case 116:return function parseVoidExpression(){const e=getNodePos();return finishNode(k.createVoidExpression(nextTokenAnd(parseSimpleUnaryExpression)),e)}();case 30:return 1===f?parseJsxElementOrSelfClosingElementOrFragment(!0,void 0,void 0,!0):function parseTypeAssertion(){h.assert(1!==f,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");const e=getNodePos();parseExpected(30);const t=parseType();parseExpected(32);const n=parseSimpleUnaryExpression();return finishNode(k.createTypeAssertion(t,n),e)}();case 135:if(function isAwaitExpression2(){return 135===token()&&(!!inAwaitContext()||lookAhead(nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine))}())return function parseAwaitExpression(){const e=getNodePos();return finishNode(k.createAwaitExpression(nextTokenAnd(parseSimpleUnaryExpression)),e)}();default:return parseUpdateExpression()}}function parseUpdateExpression(){if(46===token()||47===token()){const e=getNodePos();return finishNode(k.createPrefixUnaryExpression(token(),nextTokenAnd(parseLeftHandSideExpressionOrHigher)),e)}if(1===f&&30===token()&&lookAhead(nextTokenIsIdentifierOrKeywordOrGreaterThan))return parseJsxElementOrSelfClosingElementOrFragment(!0);const e=parseLeftHandSideExpressionOrHigher();if(h.assert(isLeftHandSideExpression(e)),(46===token()||47===token())&&!a.hasPrecedingLineBreak()){const t=token();return nextToken(),finishNode(k.createPostfixUnaryExpression(e,t),e.pos)}return e}function parseLeftHandSideExpressionOrHigher(){const e=getNodePos();let t;return 102===token()?lookAhead(nextTokenIsOpenParenOrLessThan)?(p|=4194304,t=parseTokenNode()):lookAhead(nextTokenIsDot)?(nextToken(),nextToken(),t=finishNode(k.createMetaProperty(102,parseIdentifierName()),e),"defer"===t.name.escapedText?21!==token()&&30!==token()||(p|=4194304):p|=8388608):t=parseMemberExpressionOrHigher():t=108===token()?function parseSuperExpression(){const e=getNodePos();let t=parseTokenNode();if(30===token()){const e=getNodePos(),n=tryParse(parseTypeArgumentsInExpression);void 0!==n&&(parseErrorAt(e,getNodePos(),Ot.super_may_not_use_type_arguments),isTemplateStartOfTaggedTemplate()||(t=k.createExpressionWithTypeArguments(t,n)))}if(21===token()||25===token()||23===token())return t;return parseExpectedToken(25,Ot.super_must_be_followed_by_an_argument_list_or_member_access),finishNode(R(t,parseRightSideOfDot(!0,!0,!0)),e)}():parseMemberExpressionOrHigher(),parseCallExpressionRest(e,t)}function parseMemberExpressionOrHigher(){return parseMemberExpressionRest(getNodePos(),parsePrimaryExpression(),!0)}function parseJsxElementOrSelfClosingElementOrFragment(e,t,n,r=!1){const i=getNodePos(),o=function parseJsxOpeningOrSelfClosingElementOrOpeningFragment(e){const t=getNodePos();if(parseExpected(30),32===token())return scanJsxText(),finishNode(k.createJsxOpeningFragment(),t);const n=parseJsxElementName(),r=524288&N?void 0:tryParseTypeArguments(),i=function parseJsxAttributes(){const e=getNodePos();return finishNode(k.createJsxAttributes(parseList(13,parseJsxAttribute)),e)}();let o;32===token()?(scanJsxText(),o=k.createJsxOpeningElement(n,r,i)):(parseExpected(44),parseExpected(32,void 0,!1)&&(e?nextToken():scanJsxText()),o=k.createJsxSelfClosingElement(n,r,i));return finishNode(o,t)}(e);let a;if(287===o.kind){let t,r=parseJsxChildren(o);const s=r[r.length-1];if(285===(null==s?void 0:s.kind)&&!tagNamesAreEquivalent(s.openingElement.tagName,s.closingElement.tagName)&&tagNamesAreEquivalent(o.tagName,s.closingElement.tagName)){const e=s.children.end,n=finishNode(k.createJsxElement(s.openingElement,s.children,finishNode(k.createJsxClosingElement(finishNode(A(""),e,e)),e,e)),s.openingElement.pos,e);r=createNodeArray([...r.slice(0,r.length-1),n],r.pos,e),t=s.closingElement}else t=function parseJsxClosingElement(e,t){const n=getNodePos();parseExpected(31);const r=parseJsxElementName();parseExpected(32,void 0,!1)&&(t||!tagNamesAreEquivalent(e.tagName,r)?nextToken():scanJsxText());return finishNode(k.createJsxClosingElement(r),n)}(o,e),tagNamesAreEquivalent(o.tagName,t.tagName)||(n&&isJsxOpeningElement(n)&&tagNamesAreEquivalent(t.tagName,n.tagName)?parseErrorAtRange(o.tagName,Ot.JSX_element_0_has_no_corresponding_closing_tag,getTextOfNodeFromSourceText(u,o.tagName)):parseErrorAtRange(t.tagName,Ot.Expected_corresponding_JSX_closing_tag_for_0,getTextOfNodeFromSourceText(u,o.tagName)));a=finishNode(k.createJsxElement(o,r,t),i)}else 290===o.kind?a=finishNode(k.createJsxFragment(o,parseJsxChildren(o),function parseJsxClosingFragment(e){const t=getNodePos();parseExpected(31),parseExpected(32,Ot.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(e?nextToken():scanJsxText());return finishNode(k.createJsxJsxClosingFragment(),t)}(e)),i):(h.assert(286===o.kind),a=o);if(!r&&e&&30===token()){const e=void 0===t?a.pos:t,n=tryParse(()=>parseJsxElementOrSelfClosingElementOrFragment(!0,e));if(n){const t=createMissingNode(28,!1);return setTextRangePosWidth(t,n.pos,0),parseErrorAt(skipTrivia(u,e),n.end,Ot.JSX_expressions_must_have_one_parent_element),finishNode(k.createBinaryExpression(a,t,n),i)}}return a}function parseJsxChild(e,t){switch(t){case 1:if(isJsxOpeningFragment(e))parseErrorAtRange(e,Ot.JSX_fragment_has_no_corresponding_closing_tag);else{const t=e.tagName;parseErrorAt(Math.min(skipTrivia(u,t.pos),t.end),t.end,Ot.JSX_element_0_has_no_corresponding_closing_tag,getTextOfNodeFromSourceText(u,e.tagName))}return;case 31:case 7:return;case 12:case 13:return function parseJsxText(){const e=getNodePos(),t=k.createJsxText(a.getTokenValue(),13===S);return S=a.scanJsxToken(),finishNode(t,e)}();case 19:return parseJsxExpression(!1);case 30:return parseJsxElementOrSelfClosingElementOrFragment(!1,void 0,e);default:return h.assertNever(t)}}function parseJsxChildren(e){const t=[],n=getNodePos(),r=C;for(C|=16384;;){const n=parseJsxChild(e,S=a.reScanJsxToken());if(!n)break;if(t.push(n),isJsxOpeningElement(e)&&285===(null==n?void 0:n.kind)&&!tagNamesAreEquivalent(n.openingElement.tagName,n.closingElement.tagName)&&tagNamesAreEquivalent(e.tagName,n.closingElement.tagName))break}return C=r,createNodeArray(t,n)}function parseJsxElementName(){const e=getNodePos(),t=function parseJsxTagName(){const e=getNodePos();scanJsxIdentifier();const t=110===token(),n=parseIdentifierNameErrorOnUnicodeEscapeSequence();if(parseOptional(59))return scanJsxIdentifier(),finishNode(k.createJsxNamespacedName(n,parseIdentifierNameErrorOnUnicodeEscapeSequence()),e);return t?finishNode(k.createToken(110),e):n}();if(isJsxNamespacedName(t))return t;let n=t;for(;parseOptional(25);)n=finishNode(R(n,parseRightSideOfDot(!0,!1,!1)),e);return n}function parseJsxExpression(e){const t=getNodePos();if(!parseExpected(19))return;let n,r;return 20!==token()&&(e||(n=parseOptionalToken(26)),r=parseExpression()),e?parseExpected(20):parseExpected(20,void 0,!1)&&scanJsxText(),finishNode(k.createJsxExpression(n,r),t)}function parseJsxAttribute(){if(19===token())return function parseJsxSpreadAttribute(){const e=getNodePos();parseExpected(19),parseExpected(26);const t=parseExpression();return parseExpected(20),finishNode(k.createJsxSpreadAttribute(t),e)}();const e=getNodePos();return finishNode(k.createJsxAttribute(function parseJsxAttributeName(){const e=getNodePos();scanJsxIdentifier();const t=parseIdentifierNameErrorOnUnicodeEscapeSequence();if(parseOptional(59))return scanJsxIdentifier(),finishNode(k.createJsxNamespacedName(t,parseIdentifierNameErrorOnUnicodeEscapeSequence()),e);return t}(),function parseJsxAttributeValue(){if(64===token()){if(11===function scanJsxAttributeValue(){return S=a.scanJsxAttributeValue()}())return parseLiteralNode();if(19===token())return parseJsxExpression(!0);if(30===token())return parseJsxElementOrSelfClosingElementOrFragment(!0);parseErrorAtCurrentToken(Ot.or_JSX_element_expected)}return}()),e)}function nextTokenIsIdentifierOrKeywordOrOpenBracketOrTemplate(){return nextToken(),tokenIsIdentifierOrKeyword(token())||23===token()||isTemplateStartOfTaggedTemplate()}function isStartOfOptionalPropertyOrElementAccessChain(){return 29===token()&&lookAhead(nextTokenIsIdentifierOrKeywordOrOpenBracketOrTemplate)}function tryReparseOptionalChain(e){if(64&e.flags)return!0;if(isNonNullExpression(e)){let t=e.expression;for(;isNonNullExpression(t)&&!(64&t.flags);)t=t.expression;if(64&t.flags){for(;isNonNullExpression(e);)e.flags|=64,e=e.expression;return!0}}return!1}function parsePropertyAccessExpressionRest(e,t,n){const r=parseRightSideOfDot(!0,!0,!0),i=n||tryReparseOptionalChain(t),o=i?B(t,n,r):R(t,r);if(i&&isPrivateIdentifier(o.name)&&parseErrorAtRange(o.name,Ot.An_optional_chain_cannot_contain_private_identifiers),isExpressionWithTypeArguments(t)&&t.typeArguments){parseErrorAt(t.typeArguments.pos-1,skipTrivia(u,t.typeArguments.end)+1,Ot.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return finishNode(o,e)}function parseElementAccessExpressionRest(e,t,n){let r;if(24===token())r=createMissingNode(80,!0,Ot.An_element_access_expression_should_take_an_argument);else{const e=allowInAnd(parseExpression);isStringOrNumericLiteralLike(e)&&(e.text=internIdentifier(e.text)),r=e}parseExpected(24);return finishNode(n||tryReparseOptionalChain(t)?J(t,n,r):j(t,r),e)}function parseMemberExpressionRest(e,t,n){for(;;){let r,i=!1;if(n&&isStartOfOptionalPropertyOrElementAccessChain()?(r=parseExpectedToken(29),i=tokenIsIdentifierOrKeyword(token())):i=parseOptional(25),i)t=parsePropertyAccessExpressionRest(e,t,r);else if(!r&&inDecoratorContext()||!parseOptional(23)){if(!isTemplateStartOfTaggedTemplate()){if(!r){if(54===token()&&!a.hasPrecedingLineBreak()){nextToken(),t=finishNode(k.createNonNullExpression(t),e);continue}const n=tryParse(parseTypeArgumentsInExpression);if(n){t=finishNode(k.createExpressionWithTypeArguments(t,n),e);continue}}return t}t=r||234!==t.kind?parseTaggedTemplateRest(e,t,r,void 0):parseTaggedTemplateRest(e,t.expression,r,t.typeArguments)}else t=parseElementAccessExpressionRest(e,t,r)}}function isTemplateStartOfTaggedTemplate(){return 15===token()||16===token()}function parseTaggedTemplateRest(e,t,n,r){const i=k.createTaggedTemplateExpression(t,r,15===token()?(reScanTemplateToken(!0),parseLiteralNode()):parseTemplateExpression(!0));return(n||64&t.flags)&&(i.flags|=64),i.questionDotToken=n,finishNode(i,e)}function parseCallExpressionRest(e,t){for(;;){let n;t=parseMemberExpressionRest(e,t,!0);const r=parseOptionalToken(29);if(!r||(n=tryParse(parseTypeArgumentsInExpression),!isTemplateStartOfTaggedTemplate())){if(n||21===token()){r||234!==t.kind||(n=t.typeArguments,t=t.expression);const i=parseArgumentList();t=finishNode(r||tryReparseOptionalChain(t)?U(t,r,n,i):W(t,n,i),e);continue}if(r){const n=createMissingNode(80,!1,Ot.Identifier_expected);t=finishNode(B(t,r,n),e)}break}t=parseTaggedTemplateRest(e,t,r,n)}return t}function parseArgumentList(){parseExpected(21);const e=parseDelimitedList(11,parseArgumentExpression);return parseExpected(22),e}function parseTypeArgumentsInExpression(){if(524288&N)return;if(30!==reScanLessThanToken())return;nextToken();const e=parseDelimitedList(20,parseType);return 32===reScanGreaterToken()?(nextToken(),e&&function canFollowTypeArgumentsInExpression(){switch(token()){case 21:case 15:case 16:return!0;case 30:case 32:case 40:case 41:return!1}return a.hasPrecedingLineBreak()||isBinaryOperator2()||!isStartOfExpression()}()?e:void 0):void 0}function parsePrimaryExpression(){switch(token()){case 15:26656&a.getTokenFlags()&&reScanTemplateToken(!1);case 9:case 10:case 11:return parseLiteralNode();case 110:case 108:case 106:case 112:case 97:return parseTokenNode();case 21:return function parseParenthesizedExpression(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(21);const n=allowInAnd(parseExpression);return parseExpected(22),withJSDoc(finishNode(V(n),e),t)}();case 23:return parseArrayLiteralExpression();case 19:return parseObjectLiteralExpression();case 134:if(!lookAhead(nextTokenIsFunctionKeywordOnSameLine))break;return parseFunctionExpression();case 60:return function parseDecoratedExpression(){const e=getNodePos(),t=hasPrecedingJSDocComment(),n=parseModifiers(!0);if(86===token())return parseClassDeclarationOrExpression(e,t,n,232);const r=createMissingNode(283,!0,Ot.Expression_expected);return setTextRangePos(r,e),r.modifiers=n,r}();case 86:return function parseClassExpression(){return parseClassDeclarationOrExpression(getNodePos(),hasPrecedingJSDocComment(),void 0,232)}();case 100:return parseFunctionExpression();case 105:return function parseNewExpressionOrNewDotTarget(){const e=getNodePos();if(parseExpected(105),parseOptional(25)){const t=parseIdentifierName();return finishNode(k.createMetaProperty(105,t),e)}let t,n=parseMemberExpressionRest(getNodePos(),parsePrimaryExpression(),!1);234===n.kind&&(t=n.typeArguments,n=n.expression);29===token()&&parseErrorAtCurrentToken(Ot.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,getTextOfNodeFromSourceText(u,n));const r=21===token()?parseArgumentList():void 0;return finishNode(z(n,t,r),e)}();case 44:case 69:if(14===function reScanSlashToken(){return S=a.reScanSlashToken()}())return parseLiteralNode();break;case 16:return parseTemplateExpression(!1);case 81:return parsePrivateIdentifier()}return parseIdentifier(Ot.Expression_expected)}function parseArgumentOrArrayLiteralElement(){return 26===token()?function parseSpreadElement(){const e=getNodePos();parseExpected(26);const t=parseAssignmentExpressionOrHigher(!0);return finishNode(k.createSpreadElement(t),e)}():28===token()?finishNode(k.createOmittedExpression(),getNodePos()):parseAssignmentExpressionOrHigher(!0)}function parseArgumentExpression(){return doOutsideOfContext(s,parseArgumentOrArrayLiteralElement)}function parseArrayLiteralExpression(){const e=getNodePos(),t=a.getTokenStart(),n=parseExpected(23),r=a.hasPrecedingLineBreak(),i=parseDelimitedList(15,parseArgumentOrArrayLiteralElement);return parseExpectedMatchingBrackets(23,24,n,t),finishNode(L(i,r),e)}function parseObjectLiteralElement(){const e=getNodePos(),t=hasPrecedingJSDocComment();if(parseOptionalToken(26)){const n=parseAssignmentExpressionOrHigher(!0);return withJSDoc(finishNode(k.createSpreadAssignment(n),e),t)}const n=parseModifiers(!0);if(parseContextualModifier(139))return parseAccessorDeclaration(e,t,n,178,0);if(parseContextualModifier(153))return parseAccessorDeclaration(e,t,n,179,0);const r=parseOptionalToken(42),i=isIdentifier2(),o=parsePropertyName(),a=parseOptionalToken(58),s=parseOptionalToken(54);if(r||21===token()||30===token())return parseMethodDeclaration(e,t,n,r,o,a,s);let c;if(i&&59!==token()){const e=parseOptionalToken(64),t=e?allowInAnd(()=>parseAssignmentExpressionOrHigher(!0)):void 0;c=k.createShorthandPropertyAssignment(o,t),c.equalsToken=e}else{parseExpected(59);const e=allowInAnd(()=>parseAssignmentExpressionOrHigher(!0));c=k.createPropertyAssignment(o,e)}return c.modifiers=n,c.questionToken=a,c.exclamationToken=s,withJSDoc(finishNode(c,e),t)}function parseObjectLiteralExpression(){const e=getNodePos(),t=a.getTokenStart(),n=parseExpected(19),r=a.hasPrecedingLineBreak(),i=parseDelimitedList(12,parseObjectLiteralElement,!0);return parseExpectedMatchingBrackets(19,20,n,t),finishNode(M(i,r),e)}function parseFunctionExpression(){const e=inDecoratorContext();setDecoratorContext(!1);const t=getNodePos(),n=hasPrecedingJSDocComment(),r=parseModifiers(!1);parseExpected(100);const i=parseOptionalToken(42),o=i?1:0,a=some(r,isAsyncModifier)?2:0,s=o&&a?function doInYieldAndAwaitContext(e){return doInsideOfContext(81920,e)}(parseOptionalBindingIdentifier):o?function doInYieldContext(e){return doInsideOfContext(16384,e)}(parseOptionalBindingIdentifier):a?doInAwaitContext(parseOptionalBindingIdentifier):parseOptionalBindingIdentifier(),c=parseTypeParameters(),l=parseParameters(o|a),d=parseReturnType(59,!1),p=parseFunctionBlock(o|a);setDecoratorContext(e);return withJSDoc(finishNode(k.createFunctionExpression(r,i,s,c,l,d,p),t),n)}function parseOptionalBindingIdentifier(){return isBindingIdentifier()?parseBindingIdentifier():void 0}function parseBlock(e,t){const n=getNodePos(),r=hasPrecedingJSDocComment(),i=a.getTokenStart(),o=parseExpected(19,t);if(o||e){const e=a.hasPrecedingLineBreak(),t=parseList(1,parseStatement);parseExpectedMatchingBrackets(19,20,o,i);const s=withJSDoc(finishNode(q(t,e),n),r);return 64===token()&&(parseErrorAtCurrentToken(Ot.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),nextToken()),s}{const e=createMissingList();return withJSDoc(finishNode(q(e,void 0),n),r)}}function parseFunctionBlock(e,t){const n=inYieldContext();setYieldContext(!!(1&e));const r=inAwaitContext();setAwaitContext(!!(2&e));const i=ee;ee=!1;const o=inDecoratorContext();o&&setDecoratorContext(!1);const a=parseBlock(!!(16&e),t);return o&&setDecoratorContext(!0),ee=i,setYieldContext(n),setAwaitContext(r),a}function parseForOrForInOrForOfStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(99);const n=parseOptionalToken(135);let r,i;if(parseExpected(21),27!==token()&&(r=115===token()||121===token()||87===token()||160===token()&&lookAhead(nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLineDisallowOf)||135===token()&&lookAhead(nextTokenIsUsingKeywordThenBindingIdentifierOrStartOfObjectDestructuringOnSameLine)?parseVariableDeclarationList(!0):function disallowInAnd(e){return doInsideOfContext(8192,e)}(parseExpression)),n?parseExpected(165):parseOptional(165)){const e=allowInAnd(()=>parseAssignmentExpressionOrHigher(!0));parseExpected(22),i=X(n,r,e,parseStatement())}else if(parseOptional(103)){const e=allowInAnd(parseExpression);parseExpected(22),i=k.createForInStatement(r,e,parseStatement())}else{parseExpected(27);const e=27!==token()&&22!==token()?allowInAnd(parseExpression):void 0;parseExpected(27);const t=22!==token()?allowInAnd(parseExpression):void 0;parseExpected(22),i=Q(r,e,t,parseStatement())}return withJSDoc(finishNode(i,e),t)}function parseBreakOrContinueStatement(e){const t=getNodePos(),n=hasPrecedingJSDocComment();parseExpected(253===e?83:88);const r=canParseSemicolon()?void 0:parseIdentifier();parseSemicolon();return withJSDoc(finishNode(253===e?k.createBreakStatement(r):k.createContinueStatement(r),t),n)}function parseCaseOrDefaultClause(){return 84===token()?function parseCaseClause(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(84);const n=allowInAnd(parseExpression);parseExpected(59);const r=parseList(3,parseStatement);return withJSDoc(finishNode(k.createCaseClause(n,r),e),t)}():function parseDefaultClause(){const e=getNodePos();parseExpected(90),parseExpected(59);const t=parseList(3,parseStatement);return finishNode(k.createDefaultClause(t),e)}()}function parseSwitchStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(109),parseExpected(21);const n=allowInAnd(parseExpression);parseExpected(22);const r=function parseCaseBlock(){const e=getNodePos();parseExpected(19);const t=parseList(2,parseCaseOrDefaultClause);return parseExpected(20),finishNode(k.createCaseBlock(t),e)}();return withJSDoc(finishNode(k.createSwitchStatement(n,r),e),t)}function parseTryStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(113);const n=parseBlock(!1),r=85===token()?function parseCatchClause(){const e=getNodePos();let t;parseExpected(85),parseOptional(21)?(t=parseVariableDeclaration(),parseExpected(22)):t=void 0;const n=parseBlock(!1);return finishNode(k.createCatchClause(t,n),e)}():void 0;let i;return r&&98!==token()||(parseExpected(98,Ot.catch_or_finally_expected),i=parseBlock(!1)),withJSDoc(finishNode(k.createTryStatement(n,r,i),e),t)}function nextTokenIsIdentifierOrKeywordOnSameLine(){return nextToken(),tokenIsIdentifierOrKeyword(token())&&!a.hasPrecedingLineBreak()}function nextTokenIsClassKeywordOnSameLine(){return nextToken(),86===token()&&!a.hasPrecedingLineBreak()}function nextTokenIsFunctionKeywordOnSameLine(){return nextToken(),100===token()&&!a.hasPrecedingLineBreak()}function nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine(){return nextToken(),(tokenIsIdentifierOrKeyword(token())||9===token()||10===token()||11===token())&&!a.hasPrecedingLineBreak()}function isDeclaration2(){for(;;)switch(token()){case 115:case 121:case 87:case 100:case 86:case 94:return!0;case 160:return isUsingDeclaration();case 135:return isAwaitUsingDeclaration();case 120:case 156:case 166:return nextTokenIsIdentifierOnSameLine();case 144:case 145:return nextTokenIsIdentifierOrStringLiteralOnSameLine();case 128:case 129:case 134:case 138:case 123:case 124:case 125:case 148:const e=token();if(nextToken(),a.hasPrecedingLineBreak())return!1;if(138===e&&156===token())return!0;continue;case 162:return nextToken(),19===token()||80===token()||95===token();case 102:return nextToken(),166===token()||11===token()||42===token()||19===token()||tokenIsIdentifierOrKeyword(token());case 95:let t=nextToken();if(156===t&&(t=lookAhead(nextToken)),64===t||42===t||19===t||90===t||130===t||60===t)return!0;continue;case 126:nextToken();continue;default:return!1}}function isStartOfDeclaration(){return lookAhead(isDeclaration2)}function isStartOfStatement(){switch(token()){case 60:case 27:case 19:case 115:case 121:case 160:case 100:case 86:case 94:case 101:case 92:case 117:case 99:case 88:case 83:case 107:case 118:case 109:case 111:case 113:case 89:case 85:case 98:case 134:case 138:case 120:case 144:case 145:case 156:case 162:case 166:return!0;case 102:return isStartOfDeclaration()||lookAhead(nextTokenIsOpenParenOrLessThanOrDot);case 87:case 95:return isStartOfDeclaration();case 129:case 125:case 123:case 124:case 126:case 148:return isStartOfDeclaration()||!lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);default:return isStartOfExpression()}}function nextTokenIsBindingIdentifierOrStartOfDestructuring(){return nextToken(),isBindingIdentifier()||19===token()||23===token()}function nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLineDisallowOf(){return nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLine(!0)}function nextTokenIsEqualsOrSemicolonOrColonToken(){return nextToken(),64===token()||27===token()||59===token()}function nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLine(e){return nextToken(),e&&165===token()?lookAhead(nextTokenIsEqualsOrSemicolonOrColonToken):(isBindingIdentifier()||19===token())&&!a.hasPrecedingLineBreak()}function isUsingDeclaration(){return lookAhead(nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLine)}function nextTokenIsUsingKeywordThenBindingIdentifierOrStartOfObjectDestructuringOnSameLine(e){return 160===nextToken()&&nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLine(e)}function isAwaitUsingDeclaration(){return lookAhead(nextTokenIsUsingKeywordThenBindingIdentifierOrStartOfObjectDestructuringOnSameLine)}function parseStatement(){switch(token()){case 27:return function parseEmptyStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();return parseExpected(27),withJSDoc(finishNode(k.createEmptyStatement(),e),t)}();case 19:return parseBlock(!1);case 115:return parseVariableStatement(getNodePos(),hasPrecedingJSDocComment(),void 0);case 121:if(function isLetDeclaration(){return lookAhead(nextTokenIsBindingIdentifierOrStartOfDestructuring)}())return parseVariableStatement(getNodePos(),hasPrecedingJSDocComment(),void 0);break;case 135:if(isAwaitUsingDeclaration())return parseVariableStatement(getNodePos(),hasPrecedingJSDocComment(),void 0);break;case 160:if(isUsingDeclaration())return parseVariableStatement(getNodePos(),hasPrecedingJSDocComment(),void 0);break;case 100:return parseFunctionDeclaration(getNodePos(),hasPrecedingJSDocComment(),void 0);case 86:return parseClassDeclaration(getNodePos(),hasPrecedingJSDocComment(),void 0);case 101:return function parseIfStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(101);const n=a.getTokenStart(),r=parseExpected(21),i=allowInAnd(parseExpression);parseExpectedMatchingBrackets(21,22,r,n);const o=parseStatement(),s=parseOptional(93)?parseStatement():void 0;return withJSDoc(finishNode(G(i,o,s),e),t)}();case 92:return function parseDoStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(92);const n=parseStatement();parseExpected(117);const r=a.getTokenStart(),i=parseExpected(21),o=allowInAnd(parseExpression);return parseExpectedMatchingBrackets(21,22,i,r),parseOptional(27),withJSDoc(finishNode(k.createDoStatement(n,o),e),t)}();case 117:return function parseWhileStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(117);const n=a.getTokenStart(),r=parseExpected(21),i=allowInAnd(parseExpression);parseExpectedMatchingBrackets(21,22,r,n);const o=parseStatement();return withJSDoc(finishNode($(i,o),e),t)}();case 99:return parseForOrForInOrForOfStatement();case 88:return parseBreakOrContinueStatement(252);case 83:return parseBreakOrContinueStatement(253);case 107:return function parseReturnStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(107);const n=canParseSemicolon()?void 0:allowInAnd(parseExpression);return parseSemicolon(),withJSDoc(finishNode(k.createReturnStatement(n),e),t)}();case 118:return function parseWithStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(118);const n=a.getTokenStart(),r=parseExpected(21),i=allowInAnd(parseExpression);parseExpectedMatchingBrackets(21,22,r,n);const o=doInsideOfContext(67108864,parseStatement);return withJSDoc(finishNode(k.createWithStatement(i,o),e),t)}();case 109:return parseSwitchStatement();case 111:return function parseThrowStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();parseExpected(111);let n=a.hasPrecedingLineBreak()?void 0:allowInAnd(parseExpression);return void 0===n&&(b++,n=finishNode(A(""),getNodePos())),tryParseSemicolon()||parseErrorForMissingSemicolonAfter(n),withJSDoc(finishNode(k.createThrowStatement(n),e),t)}();case 113:case 85:case 98:return parseTryStatement();case 89:return function parseDebuggerStatement(){const e=getNodePos(),t=hasPrecedingJSDocComment();return parseExpected(89),parseSemicolon(),withJSDoc(finishNode(k.createDebuggerStatement(),e),t)}();case 60:return parseDeclaration();case 134:case 120:case 156:case 144:case 145:case 138:case 87:case 94:case 95:case 102:case 123:case 124:case 125:case 128:case 129:case 126:case 148:case 162:if(isStartOfDeclaration())return parseDeclaration()}return function parseExpressionOrLabeledStatement(){const e=getNodePos();let t,n=hasPrecedingJSDocComment();const r=21===token(),i=allowInAnd(parseExpression);return isIdentifier(i)&&parseOptional(59)?t=k.createLabeledStatement(i,parseStatement()):(tryParseSemicolon()||parseErrorForMissingSemicolonAfter(i),t=K(i),r&&(n=!1)),withJSDoc(finishNode(t,e),n)}()}function isDeclareModifier(e){return 138===e.kind}function parseDeclaration(){const e=getNodePos(),t=hasPrecedingJSDocComment(),n=parseModifiers(!0);if(some(n,isDeclareModifier)){const r=function tryReuseAmbientDeclaration(e){return doInsideOfContext(33554432,()=>{const t=currentNode(C,e);if(t)return consumeNode(t)})}(e);if(r)return r;for(const e of n)e.flags|=33554432;return doInsideOfContext(33554432,()=>parseDeclarationWorker(e,t,n))}return parseDeclarationWorker(e,t,n)}function parseDeclarationWorker(e,t,n){switch(token()){case 115:case 121:case 87:case 160:case 135:return parseVariableStatement(e,t,n);case 100:return parseFunctionDeclaration(e,t,n);case 86:return parseClassDeclaration(e,t,n);case 120:return function parseInterfaceDeclaration(e,t,n){parseExpected(120);const r=parseIdentifier(),i=parseTypeParameters(),o=parseHeritageClauses(),a=parseObjectTypeMembers();return withJSDoc(finishNode(k.createInterfaceDeclaration(n,r,i,o,a),e),t)}(e,t,n);case 156:return function parseTypeAliasDeclaration(e,t,n){parseExpected(156),a.hasPrecedingLineBreak()&&parseErrorAtCurrentToken(Ot.Line_break_not_permitted_here);const r=parseIdentifier(),i=parseTypeParameters();parseExpected(64);const o=141===token()&&tryParse(parseKeywordAndNoDot)||parseType();parseSemicolon();return withJSDoc(finishNode(k.createTypeAliasDeclaration(n,r,i,o),e),t)}(e,t,n);case 94:return function parseEnumDeclaration(e,t,n){parseExpected(94);const r=parseIdentifier();let i;parseExpected(19)?(i=function doOutsideOfYieldAndAwaitContext(e){return doOutsideOfContext(81920,e)}(()=>parseDelimitedList(6,parseEnumMember)),parseExpected(20)):i=createMissingList();return withJSDoc(finishNode(k.createEnumDeclaration(n,r,i),e),t)}(e,t,n);case 162:case 144:case 145:return function parseModuleDeclaration(e,t,n){let r=0;if(162===token())return parseAmbientExternalModuleDeclaration(e,t,n);if(parseOptional(145))r|=32;else if(parseExpected(144),11===token())return parseAmbientExternalModuleDeclaration(e,t,n);return parseModuleOrNamespaceDeclaration(e,t,n,r)}(e,t,n);case 102:return function parseImportDeclarationOrImportEqualsDeclaration(e,t,n){parseExpected(102);const r=a.getTokenFullStart();let i,o;isIdentifier2()&&(i=parseIdentifier());"type"===(null==i?void 0:i.escapedText)&&(161!==token()||isIdentifier2()&&lookAhead(nextTokenIsFromKeywordOrEqualsToken))&&(isIdentifier2()||function tokenAfterImportDefinitelyProducesImportDeclaration(){return 42===token()||19===token()}())?(o=156,i=isIdentifier2()?parseIdentifier():void 0):"defer"!==(null==i?void 0:i.escapedText)||(161===token()?lookAhead(nextTokenIsStringLiteral):28===token()||64===token())||(o=166,i=isIdentifier2()?parseIdentifier():void 0);if(i&&!function tokenAfterImportedIdentifierDefinitelyProducesImportDeclaration(){return 28===token()||161===token()}()&&166!==o)return function parseImportEqualsDeclaration(e,t,n,r,i){parseExpected(64);const o=function parseModuleReference(){return function isExternalModuleReference2(){return 149===token()&&lookAhead(nextTokenIsOpenParen)}()?function parseExternalModuleReference(){const e=getNodePos();parseExpected(149),parseExpected(21);const t=parseModuleSpecifier();return parseExpected(22),finishNode(k.createExternalModuleReference(t),e)}():parseEntityName(!1)}();parseSemicolon();const a=k.createImportEqualsDeclaration(n,i,r,o),s=withJSDoc(finishNode(a,e),t);return s}(e,t,n,i,156===o);const s=tryParseImportClause(i,r,o,void 0),c=parseModuleSpecifier(),l=tryParseImportAttributes();parseSemicolon();return withJSDoc(finishNode(k.createImportDeclaration(n,s,c,l),e),t)}(e,t,n);case 95:switch(nextToken(),token()){case 90:case 64:return function parseExportAssignment(e,t,n){const r=inAwaitContext();let i;setAwaitContext(!0),parseOptional(64)?i=!0:parseExpected(90);const o=parseAssignmentExpressionOrHigher(!0);parseSemicolon(),setAwaitContext(r);return withJSDoc(finishNode(k.createExportAssignment(n,i,o),e),t)}(e,t,n);case 130:return function parseNamespaceExportDeclaration(e,t,n){parseExpected(130),parseExpected(145);const r=parseIdentifier();parseSemicolon();const i=k.createNamespaceExportDeclaration(r);return i.modifiers=n,withJSDoc(finishNode(i,e),t)}(e,t,n);default:return function parseExportDeclaration(e,t,n){const r=inAwaitContext();let i,o,s;setAwaitContext(!0);const c=parseOptional(156),l=getNodePos();parseOptional(42)?(parseOptional(130)&&(i=function parseNamespaceExport(e){return finishNode(k.createNamespaceExport(parseModuleExportName(parseIdentifierName)),e)}(l)),parseExpected(161),o=parseModuleSpecifier()):(i=parseNamedImportsOrExports(280),(161===token()||11===token()&&!a.hasPrecedingLineBreak())&&(parseExpected(161),o=parseModuleSpecifier()));const d=token();!o||118!==d&&132!==d||a.hasPrecedingLineBreak()||(s=parseImportAttributes(d));parseSemicolon(),setAwaitContext(r);return withJSDoc(finishNode(k.createExportDeclaration(n,c,i,o,s),e),t)}(e,t,n)}default:if(n){const t=createMissingNode(283,!0,Ot.Declaration_expected);return setTextRangePos(t,e),t.modifiers=n,t}return}}function nextTokenIsStringLiteral(){return 11===nextToken()}function nextTokenIsFromKeywordOrEqualsToken(){return nextToken(),161===token()||64===token()}function nextTokenIsIdentifierOrStringLiteralOnSameLine(){return nextToken(),!a.hasPrecedingLineBreak()&&(isIdentifier2()||11===token())}function parseFunctionBlockOrSemicolon(e,t){if(19!==token()){if(4&e)return void parseTypeMemberSemicolon();if(canParseSemicolon())return void parseSemicolon()}return parseFunctionBlock(e,t)}function parseArrayBindingElement(){const e=getNodePos();if(28===token())return finishNode(k.createOmittedExpression(),e);const t=parseOptionalToken(26),n=parseIdentifierOrPattern(),r=parseInitializer();return finishNode(k.createBindingElement(t,void 0,n,r),e)}function parseObjectBindingElement(){const e=getNodePos(),t=parseOptionalToken(26),n=isBindingIdentifier();let r,i=parsePropertyName();n&&59!==token()?(r=i,i=void 0):(parseExpected(59),r=parseIdentifierOrPattern());const o=parseInitializer();return finishNode(k.createBindingElement(t,i,r,o),e)}function isBindingIdentifierOrPrivateIdentifierOrPattern(){return 19===token()||23===token()||81===token()||isBindingIdentifier()}function parseIdentifierOrPattern(e){return 23===token()?function parseArrayBindingPattern(){const e=getNodePos();parseExpected(23);const t=allowInAnd(()=>parseDelimitedList(10,parseArrayBindingElement));return parseExpected(24),finishNode(k.createArrayBindingPattern(t),e)}():19===token()?function parseObjectBindingPattern(){const e=getNodePos();parseExpected(19);const t=allowInAnd(()=>parseDelimitedList(9,parseObjectBindingElement));return parseExpected(20),finishNode(k.createObjectBindingPattern(t),e)}():parseBindingIdentifier(e)}function parseVariableDeclarationAllowExclamation(){return parseVariableDeclaration(!0)}function parseVariableDeclaration(e){const t=getNodePos(),n=hasPrecedingJSDocComment(),r=parseIdentifierOrPattern(Ot.Private_identifiers_are_not_allowed_in_variable_declarations);let i;e&&80===r.kind&&54===token()&&!a.hasPrecedingLineBreak()&&(i=parseTokenNode());const o=parseTypeAnnotation(),s=isInOrOfKeyword(token())?void 0:parseInitializer();return withJSDoc(finishNode(Y(r,i,o,s),t),n)}function parseVariableDeclarationList(e){const t=getNodePos();let n,r=0;switch(token()){case 115:break;case 121:r|=1;break;case 87:r|=2;break;case 160:r|=4;break;case 135:h.assert(isAwaitUsingDeclaration()),r|=6,nextToken();break;default:h.fail()}if(nextToken(),165===token()&&lookAhead(canFollowContextualOfKeyword))n=createMissingList();else{const t=inDisallowInContext();setDisallowInContext(e),n=parseDelimitedList(8,e?parseVariableDeclaration:parseVariableDeclarationAllowExclamation),setDisallowInContext(t)}return finishNode(Z(n,r),t)}function canFollowContextualOfKeyword(){return nextTokenIsIdentifier()&&22===nextToken()}function parseVariableStatement(e,t,n){const r=parseVariableDeclarationList(!1);parseSemicolon();return withJSDoc(finishNode(H(n,r),e),t)}function parseFunctionDeclaration(e,t,n){const r=inAwaitContext(),i=modifiersToFlags(n);parseExpected(100);const o=parseOptionalToken(42),a=2048&i?parseOptionalBindingIdentifier():parseBindingIdentifier(),s=o?1:0,c=1024&i?2:0,l=parseTypeParameters();32&i&&setAwaitContext(!0);const d=parseParameters(s|c),p=parseReturnType(59,!1),u=parseFunctionBlockOrSemicolon(s|c,Ot.or_expected);setAwaitContext(r);return withJSDoc(finishNode(k.createFunctionDeclaration(n,o,a,l,d,p,u),e),t)}function tryParseConstructorDeclaration(e,t,n){return tryParse(()=>{if(function parseConstructorName(){return 137===token()?parseExpected(137):11===token()&&21===lookAhead(nextToken)?tryParse(()=>{const e=parseLiteralNode();return"constructor"===e.text?e:void 0}):void 0}()){const r=parseTypeParameters(),i=parseParameters(0),o=parseReturnType(59,!1),a=parseFunctionBlockOrSemicolon(0,Ot.or_expected),s=k.createConstructorDeclaration(n,i,a);return s.typeParameters=r,s.type=o,withJSDoc(finishNode(s,e),t)}})}function parseMethodDeclaration(e,t,n,r,i,o,a,s){const c=r?1:0,l=some(n,isAsyncModifier)?2:0,d=parseTypeParameters(),p=parseParameters(c|l),u=parseReturnType(59,!1),m=parseFunctionBlockOrSemicolon(c|l,s),_=k.createMethodDeclaration(n,r,i,o,d,p,u,m);return _.exclamationToken=a,withJSDoc(finishNode(_,e),t)}function parsePropertyDeclaration(e,t,n,r,i){const o=i||a.hasPrecedingLineBreak()?void 0:parseOptionalToken(54),s=parseTypeAnnotation(),c=doOutsideOfContext(90112,parseInitializer);!function parseSemicolonAfterPropertyName(e,t,n){if(60!==token()||a.hasPrecedingLineBreak())return 21===token()?(parseErrorAtCurrentToken(Ot.Cannot_start_a_function_call_in_a_type_annotation),void nextToken()):void(!t||canParseSemicolon()?tryParseSemicolon()||(n?parseErrorAtCurrentToken(Ot._0_expected,tokenToString(27)):parseErrorForMissingSemicolonAfter(e)):n?parseErrorAtCurrentToken(Ot._0_expected,tokenToString(27)):parseErrorAtCurrentToken(Ot.Expected_for_property_initializer));parseErrorAtCurrentToken(Ot.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations)}(r,s,c);return withJSDoc(finishNode(k.createPropertyDeclaration(n,r,i||o,s,c),e),t)}function parsePropertyOrMethodDeclaration(e,t,n){const r=parseOptionalToken(42),i=parsePropertyName(),o=parseOptionalToken(58);return r||21===token()||30===token()?parseMethodDeclaration(e,t,n,r,i,o,void 0,Ot.or_expected):parsePropertyDeclaration(e,t,n,i,o)}function parseAccessorDeclaration(e,t,n,r,i){const o=parsePropertyName(),a=parseTypeParameters(),s=parseParameters(0),c=parseReturnType(59,!1),l=parseFunctionBlockOrSemicolon(i),d=178===r?k.createGetAccessorDeclaration(n,o,s,c,l):k.createSetAccessorDeclaration(n,o,s,l);return d.typeParameters=a,isSetAccessorDeclaration(d)&&(d.type=c),withJSDoc(finishNode(d,e),t)}function isClassMemberStart(){let e;if(60===token())return!0;for(;isModifierKind(token());){if(e=token(),isClassMemberModifier(e))return!0;nextToken()}if(42===token())return!0;if(isLiteralPropertyName()&&(e=token(),nextToken()),23===token())return!0;if(void 0!==e){if(!isKeyword(e)||153===e||139===e)return!0;switch(token()){case 21:case 30:case 54:case 59:case 64:case 58:return!0;default:return canParseSemicolon()}}return!1}function parseClassStaticBlockDeclaration(e,t,n){parseExpectedToken(126);const r=function parseClassStaticBlockBody(){const e=inYieldContext(),t=inAwaitContext();setYieldContext(!1),setAwaitContext(!0);const n=parseBlock(!1);return setYieldContext(e),setAwaitContext(t),n}(),i=withJSDoc(finishNode(k.createClassStaticBlockDeclaration(r),e),t);return i.modifiers=n,i}function parseDecoratorExpression(){if(inAwaitContext()&&135===token()){const e=getNodePos(),t=parseIdentifier(Ot.Expression_expected);nextToken();return parseCallExpressionRest(e,parseMemberExpressionRest(e,t,!0))}return parseLeftHandSideExpressionOrHigher()}function tryParseDecorator(){const e=getNodePos();if(!parseOptional(60))return;const t=function doInDecoratorContext(e){return doInsideOfContext(32768,e)}(parseDecoratorExpression);return finishNode(k.createDecorator(t),e)}function tryParseModifier(e,t,n){const r=getNodePos(),i=token();if(87===token()&&t){if(!tryParse(nextTokenIsOnSameLineAndCanFollowModifier))return}else{if(n&&126===token()&&lookAhead(nextTokenIsOpenBrace))return;if(e&&126===token())return;if(!function parseAnyContextualModifier(){return isModifierKind(token())&&tryParse(nextTokenCanFollowModifier)}())return}return finishNode(w(i),r)}function parseModifiers(e,t,n){const r=getNodePos();let i,o,a,s=!1,c=!1,l=!1;if(e&&60===token())for(;o=tryParseDecorator();)i=append(i,o);for(;a=tryParseModifier(s,t,n);)126===a.kind&&(s=!0),i=append(i,a),c=!0;if(c&&e&&60===token())for(;o=tryParseDecorator();)i=append(i,o),l=!0;if(l)for(;a=tryParseModifier(s,t,n);)126===a.kind&&(s=!0),i=append(i,a);return i&&createNodeArray(i,r)}function parseModifiersForArrowFunction(){let e;if(134===token()){const t=getNodePos();nextToken();e=createNodeArray([finishNode(w(134),t)],t)}return e}function parseClassElement(){const e=getNodePos(),t=hasPrecedingJSDocComment();if(27===token())return nextToken(),withJSDoc(finishNode(k.createSemicolonClassElement(),e),t);const n=parseModifiers(!0,!0,!0);if(126===token()&&lookAhead(nextTokenIsOpenBrace))return parseClassStaticBlockDeclaration(e,t,n);if(parseContextualModifier(139))return parseAccessorDeclaration(e,t,n,178,0);if(parseContextualModifier(153))return parseAccessorDeclaration(e,t,n,179,0);if(137===token()||11===token()){const r=tryParseConstructorDeclaration(e,t,n);if(r)return r}if(isIndexSignature())return parseIndexSignatureDeclaration(e,t,n);if(tokenIsIdentifierOrKeyword(token())||11===token()||9===token()||10===token()||42===token()||23===token()){if(some(n,isDeclareModifier)){for(const e of n)e.flags|=33554432;return doInsideOfContext(33554432,()=>parsePropertyOrMethodDeclaration(e,t,n))}return parsePropertyOrMethodDeclaration(e,t,n)}if(n){const r=createMissingNode(80,!0,Ot.Declaration_expected);return parsePropertyDeclaration(e,t,n,r,void 0)}return h.fail("Should not have attempted to parse class member declaration.")}function parseClassDeclaration(e,t,n){return parseClassDeclarationOrExpression(e,t,n,264)}function parseClassDeclarationOrExpression(e,t,n,r){const i=inAwaitContext();parseExpected(86);const o=function parseNameOfClassDeclarationOrExpression(){return isBindingIdentifier()&&!function isImplementsClause(){return 119===token()&&lookAhead(nextTokenIsIdentifierOrKeyword)}()?createIdentifier(isBindingIdentifier()):void 0}(),a=parseTypeParameters();some(n,isExportModifier)&&setAwaitContext(!0);const s=parseHeritageClauses();let c;parseExpected(19)?(c=function parseClassMembers(){return parseList(5,parseClassElement)}(),parseExpected(20)):c=createMissingList(),setAwaitContext(i);return withJSDoc(finishNode(264===r?k.createClassDeclaration(n,o,a,s,c):k.createClassExpression(n,o,a,s,c),e),t)}function parseHeritageClauses(){if(isHeritageClause2())return parseList(22,parseHeritageClause)}function parseHeritageClause(){const e=getNodePos(),t=token();h.assert(96===t||119===t),nextToken();const n=parseDelimitedList(7,parseExpressionWithTypeArguments);return finishNode(k.createHeritageClause(t,n),e)}function parseExpressionWithTypeArguments(){const e=getNodePos(),t=parseLeftHandSideExpressionOrHigher();if(234===t.kind)return t;const n=tryParseTypeArguments();return finishNode(k.createExpressionWithTypeArguments(t,n),e)}function tryParseTypeArguments(){return 30===token()?parseBracketedList(20,parseType,30,32):void 0}function isHeritageClause2(){return 96===token()||119===token()}function parseEnumMember(){const e=getNodePos(),t=hasPrecedingJSDocComment(),n=parsePropertyName(),r=allowInAnd(parseInitializer);return withJSDoc(finishNode(k.createEnumMember(n,r),e),t)}function parseModuleBlock(){const e=getNodePos();let t;return parseExpected(19)?(t=parseList(1,parseStatement),parseExpected(20)):t=createMissingList(),finishNode(k.createModuleBlock(t),e)}function parseModuleOrNamespaceDeclaration(e,t,n,r){const i=32&r,o=8&r?parseIdentifierName():parseIdentifier(),a=parseOptional(25)?parseModuleOrNamespaceDeclaration(getNodePos(),!1,void 0,8|i):parseModuleBlock();return withJSDoc(finishNode(k.createModuleDeclaration(n,o,a,r),e),t)}function parseAmbientExternalModuleDeclaration(e,t,n){let r,i,o=0;162===token()?(r=parseIdentifier(),o|=2048):(r=parseLiteralNode(),r.text=internIdentifier(r.text)),19===token()?i=parseModuleBlock():parseSemicolon();return withJSDoc(finishNode(k.createModuleDeclaration(n,r,i,o),e),t)}function nextTokenIsOpenParen(){return 21===nextToken()}function nextTokenIsOpenBrace(){return 19===nextToken()}function nextTokenIsSlash(){return 44===nextToken()}function tryParseImportClause(e,t,n,r=!1){let i;return(e||42===token()||19===token())&&(i=function parseImportClause(e,t,n,r){let i;e&&!parseOptional(28)||(r&&a.setSkipJsDocLeadingAsterisks(!0),i=42===token()?function parseNamespaceImport(){const e=getNodePos();parseExpected(42),parseExpected(130);const t=parseIdentifier();return finishNode(k.createNamespaceImport(t),e)}():parseNamedImportsOrExports(276),r&&a.setSkipJsDocLeadingAsterisks(!1));return finishNode(k.createImportClause(n,e,i),t)}(e,t,n,r),parseExpected(161)),i}function tryParseImportAttributes(){const e=token();if((118===e||132===e)&&!a.hasPrecedingLineBreak())return parseImportAttributes(e)}function parseImportAttribute(){const e=getNodePos(),t=tokenIsIdentifierOrKeyword(token())?parseIdentifierName():parseLiteralLikeNode(11);parseExpected(59);const n=parseAssignmentExpressionOrHigher(!0);return finishNode(k.createImportAttribute(t,n),e)}function parseImportAttributes(e,t){const n=getNodePos();t||parseExpected(e);const r=a.getTokenStart();if(parseExpected(19)){const t=a.hasPrecedingLineBreak(),i=parseDelimitedList(24,parseImportAttribute,!0);if(!parseExpected(20)){const e=lastOrUndefined(g);e&&e.code===Ot._0_expected.code&&addRelatedInfo(e,createDetachedDiagnostic(c,u,r,1,Ot.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return finishNode(k.createImportAttributes(i,t,e),n)}{const t=createNodeArray([],getNodePos(),void 0,!1);return finishNode(k.createImportAttributes(t,!1,e),n)}}function parseModuleSpecifier(){if(11===token()){const e=parseLiteralNode();return e.text=internIdentifier(e.text),e}return parseExpression()}function canParseModuleExportName(){return tokenIsIdentifierOrKeyword(token())||11===token()}function parseModuleExportName(e){return 11===token()?parseLiteralNode():e()}function parseNamedImportsOrExports(e){const t=getNodePos();return finishNode(276===e?k.createNamedImports(parseBracketedList(23,parseImportSpecifier,19,20)):k.createNamedExports(parseBracketedList(23,parseExportSpecifier,19,20)),t)}function parseExportSpecifier(){const e=hasPrecedingJSDocComment();return withJSDoc(parseImportOrExportSpecifier(282),e)}function parseImportSpecifier(){return parseImportOrExportSpecifier(277)}function parseImportOrExportSpecifier(e){const t=getNodePos();let n,r=isKeyword(token())&&!isIdentifier2(),i=a.getTokenStart(),o=a.getTokenEnd(),s=!1,c=!0,l=parseModuleExportName(parseIdentifierName);if(80===l.kind&&"type"===l.escapedText)if(130===token()){const e=parseIdentifierName();if(130===token()){const t=parseIdentifierName();canParseModuleExportName()?(s=!0,n=e,l=parseModuleExportName(parseNameWithKeywordCheck),c=!1):(n=l,l=t,c=!1)}else canParseModuleExportName()?(n=l,c=!1,l=parseModuleExportName(parseNameWithKeywordCheck)):(s=!0,l=e)}else canParseModuleExportName()&&(s=!0,l=parseModuleExportName(parseNameWithKeywordCheck));c&&130===token()&&(n=l,parseExpected(130),l=parseModuleExportName(parseNameWithKeywordCheck)),277===e&&(80!==l.kind?(parseErrorAt(skipTrivia(u,l.pos),l.end,Ot.Identifier_expected),l=setTextRangePosEnd(createMissingNode(80,!1),l.pos,l.pos)):r&&parseErrorAt(i,o,Ot.Identifier_expected));return finishNode(277===e?k.createImportSpecifier(s,n,l):k.createExportSpecifier(s,n,l),t);function parseNameWithKeywordCheck(){return r=isKeyword(token())&&!isIdentifier2(),i=a.getTokenStart(),o=a.getTokenEnd(),parseIdentifierName()}}let ie;var oe;let ae;var se;let ce;(oe=ie||(ie={}))[oe.SourceElements=0]="SourceElements",oe[oe.BlockStatements=1]="BlockStatements",oe[oe.SwitchClauses=2]="SwitchClauses",oe[oe.SwitchClauseStatements=3]="SwitchClauseStatements",oe[oe.TypeMembers=4]="TypeMembers",oe[oe.ClassMembers=5]="ClassMembers",oe[oe.EnumMembers=6]="EnumMembers",oe[oe.HeritageClauseElement=7]="HeritageClauseElement",oe[oe.VariableDeclarations=8]="VariableDeclarations",oe[oe.ObjectBindingElements=9]="ObjectBindingElements",oe[oe.ArrayBindingElements=10]="ArrayBindingElements",oe[oe.ArgumentExpressions=11]="ArgumentExpressions",oe[oe.ObjectLiteralMembers=12]="ObjectLiteralMembers",oe[oe.JsxAttributes=13]="JsxAttributes",oe[oe.JsxChildren=14]="JsxChildren",oe[oe.ArrayLiteralMembers=15]="ArrayLiteralMembers",oe[oe.Parameters=16]="Parameters",oe[oe.JSDocParameters=17]="JSDocParameters",oe[oe.RestProperties=18]="RestProperties",oe[oe.TypeParameters=19]="TypeParameters",oe[oe.TypeArguments=20]="TypeArguments",oe[oe.TupleElementTypes=21]="TupleElementTypes",oe[oe.HeritageClauses=22]="HeritageClauses",oe[oe.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",oe[oe.ImportAttributes=24]="ImportAttributes",oe[oe.JSDocComment=25]="JSDocComment",oe[oe.Count=26]="Count",(se=ae||(ae={}))[se.False=0]="False",se[se.True=1]="True",se[se.Unknown=2]="Unknown",(e=>{function parseJSDocTypeExpression(e){const t=getNodePos(),n=(e?parseOptional:parseExpected)(19),r=doInsideOfContext(16777216,parseJSDocType);e&&!n||parseExpectedJSDoc(20);const i=k.createJSDocTypeExpression(r);return fixupParentReferences(i),finishNode(i,t)}function parseJSDocNameReference(){const e=getNodePos(),t=parseOptional(19),n=getNodePos();let r=parseEntityName(!1);for(;81===token();)reScanHashToken(),nextTokenJSDoc(),r=finishNode(k.createJSDocMemberName(r,parseIdentifier()),n);t&&parseExpectedJSDoc(20);const i=k.createJSDocNameReference(r);return fixupParentReferences(i),finishNode(i,e)}let t;var n;let r;var i;function parseJSDocCommentWorker(e=0,t){const n=u,r=void 0===t?n.length:e+t;if(t=r-e,h.assert(e>=0),h.assert(e<=r),h.assert(r<=n.length),!isJSDocLikeText(n,e))return;let i,o,s,l,d,p=[];const m=[],_=C;C|=1<<25;const f=a.scanRange(e+3,t-5,function doJSDocScan(){let t,c=1,u=e-(n.lastIndexOf("\n",e)+1)+4;function pushComment(e){t||(t=u),p.push(e),u+=e.length}nextTokenJSDoc();for(;parseOptionalJsdoc(5););parseOptionalJsdoc(4)&&(c=0,u=0);e:for(;;){switch(token()){case 60:removeTrailingWhitespace(p),d||(d=getNodePos()),addTag(parseTag(u)),c=0,t=void 0;break;case 4:p.push(a.getTokenText()),c=0,u=0;break;case 42:const n=a.getTokenText();1===c?(c=2,pushComment(n)):(h.assert(0===c),c=1,u+=n.length);break;case 5:h.assert(2!==c,"whitespace shouldn't come from the scanner while saving top-level comment text");const r=a.getTokenText();void 0!==t&&u+r.length>t&&p.push(r.slice(t-u)),u+=r.length;break;case 1:break e;case 82:c=2,pushComment(a.getTokenValue());break;case 19:c=2;const i=a.getTokenFullStart(),o=parseJSDocLink(a.getTokenEnd()-1);if(o){l||removeLeadingNewlines(p),m.push(finishNode(k.createJSDocText(p.join("")),l??e,i)),m.push(o),p=[],l=a.getTokenEnd();break}default:c=2,pushComment(a.getTokenText())}2===c?nextJSDocCommentTextToken(!1):nextTokenJSDoc()}const _=p.join("").trimEnd();m.length&&_.length&&m.push(finishNode(k.createJSDocText(_),l??e,d));m.length&&i&&h.assertIsDefined(d,"having parsed tags implies that the end of the comment span should be set");const f=i&&createNodeArray(i,o,s);return finishNode(k.createJSDocComment(m.length?createNodeArray(m,e,d):_.length?_:void 0,f),e,r)});return C=_,f;function removeLeadingNewlines(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift()}function removeTrailingWhitespace(e){for(;e.length;){const t=e[e.length-1].trimEnd();if(""!==t){if(t.length<e[e.length-1].length){e[e.length-1]=t;break}break}e.pop()}}function isNextNonwhitespaceTokenEndOfFile(){for(;;){if(nextTokenJSDoc(),1===token())return!0;if(5!==token()&&4!==token())return!1}}function skipWhitespace(){if(5!==token()&&4!==token()||!lookAhead(isNextNonwhitespaceTokenEndOfFile))for(;5===token()||4===token();)nextTokenJSDoc()}function skipWhitespaceOrAsterisk(){if((5===token()||4===token())&&lookAhead(isNextNonwhitespaceTokenEndOfFile))return"";let e=a.hasPrecedingLineBreak(),t=!1,n="";for(;e&&42===token()||5===token()||4===token();)n+=a.getTokenText(),4===token()?(e=!0,t=!0,n=""):42===token()&&(e=!1),nextTokenJSDoc();return t?n:""}function parseTag(e){h.assert(60===token());const t=a.getTokenStart();nextTokenJSDoc();const n=parseJSDocIdentifierName(void 0),r=skipWhitespaceOrAsterisk();let o;switch(n.escapedText){case"author":o=function parseAuthorTag(e,t,n,r){const i=getNodePos(),o=function parseAuthorNameAndEmail(){const e=[];let t=!1,n=a.getToken();for(;1!==n&&4!==n;){if(30===n)t=!0;else{if(60===n&&!t)break;if(32===n&&t){e.push(a.getTokenText()),a.resetTokenState(a.getTokenEnd());break}}e.push(a.getTokenText()),n=nextTokenJSDoc()}return k.createJSDocText(e.join(""))}();let s=a.getTokenFullStart();const c=parseTrailingTagComments(e,s,n,r);c||(s=a.getTokenFullStart());const l="string"!=typeof c?createNodeArray(concatenate([finishNode(o,i,s)],c),i):o.text+c;return finishNode(k.createJSDocAuthorTag(t,l),e)}(t,n,e,r);break;case"implements":o=function parseImplementsTag(e,t,n,r){const i=parseExpressionWithTypeArgumentsForAugments();return finishNode(k.createJSDocImplementsTag(t,i,parseTrailingTagComments(e,getNodePos(),n,r)),e)}(t,n,e,r);break;case"augments":case"extends":o=function parseAugmentsTag(e,t,n,r){const i=parseExpressionWithTypeArgumentsForAugments();return finishNode(k.createJSDocAugmentsTag(t,i,parseTrailingTagComments(e,getNodePos(),n,r)),e)}(t,n,e,r);break;case"class":case"constructor":o=parseSimpleTag(t,k.createJSDocClassTag,n,e,r);break;case"public":o=parseSimpleTag(t,k.createJSDocPublicTag,n,e,r);break;case"private":o=parseSimpleTag(t,k.createJSDocPrivateTag,n,e,r);break;case"protected":o=parseSimpleTag(t,k.createJSDocProtectedTag,n,e,r);break;case"readonly":o=parseSimpleTag(t,k.createJSDocReadonlyTag,n,e,r);break;case"override":o=parseSimpleTag(t,k.createJSDocOverrideTag,n,e,r);break;case"deprecated":ne=!0,o=parseSimpleTag(t,k.createJSDocDeprecatedTag,n,e,r);break;case"this":o=parseThisTag(t,n,e,r);break;case"enum":o=function parseEnumTag(e,t,n,r){const i=parseJSDocTypeExpression(!0);return skipWhitespace(),finishNode(k.createJSDocEnumTag(t,i,parseTrailingTagComments(e,getNodePos(),n,r)),e)}(t,n,e,r);break;case"arg":case"argument":case"param":return parseParameterOrPropertyTag(t,n,2,e);case"return":case"returns":o=function parseReturnTag(e,t,n,r){some(i,isJSDocReturnTag)&&parseErrorAt(t.pos,a.getTokenStart(),Ot._0_tag_already_specified,unescapeLeadingUnderscores(t.escapedText));const o=tryParseTypeExpression();return finishNode(k.createJSDocReturnTag(t,o,parseTrailingTagComments(e,getNodePos(),n,r)),e)}(t,n,e,r);break;case"template":o=parseTemplateTag(t,n,e,r);break;case"type":o=parseTypeTag(t,n,e,r);break;case"typedef":o=function parseTypedefTag(e,t,n,r){let i=tryParseTypeExpression();skipWhitespaceOrAsterisk();const o=parseJSDocTypeNameWithNamespace();skipWhitespace();let a,s=parseTagComments(n);if(!i||isObjectOrObjectArrayTypeReference(i.type)){let t,r,o,s=!1;for(;(t=tryParse(()=>parseChildPropertyTag(n)))&&346!==t.kind;)if(s=!0,345===t.kind){if(r){const e=parseErrorAtCurrentToken(Ot.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);e&&addRelatedInfo(e,createDetachedDiagnostic(c,u,0,0,Ot.The_tag_was_first_specified_here));break}r=t}else o=append(o,t);if(s){const t=i&&189===i.type.kind,n=k.createJSDocTypeLiteral(o,t);i=r&&r.typeExpression&&!isObjectOrObjectArrayTypeReference(r.typeExpression.type)?r.typeExpression:finishNode(n,e),a=i.end}}a=a||void 0!==s?getNodePos():(o??i??t).end,s||(s=parseTrailingTagComments(e,a,n,r));const l=k.createJSDocTypedefTag(t,i,o,s);return finishNode(l,e,a)}(t,n,e,r);break;case"callback":o=function parseCallbackTag(e,t,n,r){const i=parseJSDocTypeNameWithNamespace();skipWhitespace();let o=parseTagComments(n);const a=parseJSDocSignature(e,n);o||(o=parseTrailingTagComments(e,getNodePos(),n,r));const s=void 0!==o?getNodePos():a.end;return finishNode(k.createJSDocCallbackTag(t,a,i,o),e,s)}(t,n,e,r);break;case"overload":o=function parseOverloadTag(e,t,n,r){skipWhitespace();let i=parseTagComments(n);const o=parseJSDocSignature(e,n);i||(i=parseTrailingTagComments(e,getNodePos(),n,r));const a=void 0!==i?getNodePos():o.end;return finishNode(k.createJSDocOverloadTag(t,o,i),e,a)}(t,n,e,r);break;case"satisfies":o=function parseSatisfiesTag(e,t,n,r){const i=parseJSDocTypeExpression(!1),o=void 0!==n&&void 0!==r?parseTrailingTagComments(e,getNodePos(),n,r):void 0;return finishNode(k.createJSDocSatisfiesTag(t,i,o),e)}(t,n,e,r);break;case"see":o=function parseSeeTag(e,t,n,r){const i=23===token()||lookAhead(()=>60===nextTokenJSDoc()&&tokenIsIdentifierOrKeyword(nextTokenJSDoc())&&isJSDocLinkTag(a.getTokenValue()))?void 0:parseJSDocNameReference(),o=void 0!==n&&void 0!==r?parseTrailingTagComments(e,getNodePos(),n,r):void 0;return finishNode(k.createJSDocSeeTag(t,i,o),e)}(t,n,e,r);break;case"exception":case"throws":o=function parseThrowsTag(e,t,n,r){const i=tryParseTypeExpression(),o=parseTrailingTagComments(e,getNodePos(),n,r);return finishNode(k.createJSDocThrowsTag(t,i,o),e)}(t,n,e,r);break;case"import":o=function parseImportTag(e,t,n,r){const i=a.getTokenFullStart();let o;isIdentifier2()&&(o=parseIdentifier());const s=tryParseImportClause(o,i,156,!0),c=parseModuleSpecifier(),l=tryParseImportAttributes(),d=void 0!==n&&void 0!==r?parseTrailingTagComments(e,getNodePos(),n,r):void 0;return finishNode(k.createJSDocImportTag(t,s,c,l,d),e)}(t,n,e,r);break;default:o=function parseUnknownTag(e,t,n,r){return finishNode(k.createJSDocUnknownTag(t,parseTrailingTagComments(e,getNodePos(),n,r)),e)}(t,n,e,r)}return o}function parseTrailingTagComments(e,t,n,r){return r||(n+=t-e),parseTagComments(n,r.slice(n))}function parseTagComments(e,t){const n=getNodePos();let r=[];const i=[];let o,s,c=0;function pushComment(t){s||(s=e),r.push(t),e+=t.length}void 0!==t&&(""!==t&&pushComment(t),c=1);let l=token();e:for(;;){switch(l){case 4:c=0,r.push(a.getTokenText()),e=0;break;case 60:a.resetTokenState(a.getTokenEnd()-1);break e;case 1:break e;case 5:h.assert(2!==c&&3!==c,"whitespace shouldn't come from the scanner while saving comment text");const t=a.getTokenText();void 0!==s&&e+t.length>s&&(r.push(t.slice(s-e)),c=2),e+=t.length;break;case 19:c=2;const l=a.getTokenFullStart(),d=parseJSDocLink(a.getTokenEnd()-1);d?(i.push(finishNode(k.createJSDocText(r.join("")),o??n,l)),i.push(d),r=[],o=a.getTokenEnd()):pushComment(a.getTokenText());break;case 62:c=3===c?2:3,pushComment(a.getTokenText());break;case 82:3!==c&&(c=2),pushComment(a.getTokenValue());break;case 42:if(0===c){c=1,e+=1;break}default:3!==c&&(c=2),pushComment(a.getTokenText())}l=2===c||3===c?nextJSDocCommentTextToken(3===c):nextTokenJSDoc()}removeLeadingNewlines(r);const d=r.join("").trimEnd();return i.length?(d.length&&i.push(finishNode(k.createJSDocText(d),o??n)),createNodeArray(i,n,a.getTokenEnd())):d.length?d:void 0}function parseJSDocLink(e){const t=tryParse(parseJSDocLinkPrefix);if(!t)return;nextTokenJSDoc(),skipWhitespace();const n=function parseJSDocLinkName(){if(tokenIsIdentifierOrKeyword(token())){const e=getNodePos();let t=parseIdentifierName();for(;parseOptional(25);)t=finishNode(k.createQualifiedName(t,81===token()?createMissingNode(80,!1):parseIdentifierName()),e);for(;81===token();)reScanHashToken(),nextTokenJSDoc(),t=finishNode(k.createJSDocMemberName(t,parseIdentifier()),e);return t}return}(),r=[];for(;20!==token()&&4!==token()&&1!==token();)r.push(a.getTokenText()),nextTokenJSDoc();return finishNode(("link"===t?k.createJSDocLink:"linkcode"===t?k.createJSDocLinkCode:k.createJSDocLinkPlain)(n,r.join("")),e,a.getTokenEnd())}function parseJSDocLinkPrefix(){if(skipWhitespaceOrAsterisk(),19===token()&&60===nextTokenJSDoc()&&tokenIsIdentifierOrKeyword(nextTokenJSDoc())){const e=a.getTokenValue();if(isJSDocLinkTag(e))return e}}function isJSDocLinkTag(e){return"link"===e||"linkcode"===e||"linkplain"===e}function addTag(e){e&&(i?i.push(e):(i=[e],o=e.pos),s=e.end)}function tryParseTypeExpression(){return skipWhitespaceOrAsterisk(),19===token()?parseJSDocTypeExpression():void 0}function parseBracketNameInPropertyAndParamTag(){const e=parseOptionalJsdoc(23);e&&skipWhitespace();const t=parseOptionalJsdoc(62),n=function parseJSDocEntityName(){let e=parseJSDocIdentifierName();parseOptional(23)&&parseExpected(24);for(;parseOptional(25);){const t=parseJSDocIdentifierName();parseOptional(23)&&parseExpected(24),e=createQualifiedName(e,t)}return e}();return t&&function parseExpectedTokenJSDoc(e){return parseOptionalTokenJSDoc(e)||(h.assert(isKeywordOrPunctuation(e)),createMissingNode(e,!1,Ot._0_expected,tokenToString(e)))}(62),e&&(skipWhitespace(),parseOptionalToken(64)&&parseExpression(),parseExpected(24)),{name:n,isBracketed:e}}function isObjectOrObjectArrayTypeReference(e){switch(e.kind){case 151:return!0;case 189:return isObjectOrObjectArrayTypeReference(e.elementType);default:return isTypeReferenceNode(e)&&isIdentifier(e.typeName)&&"Object"===e.typeName.escapedText&&!e.typeArguments}}function parseParameterOrPropertyTag(e,t,n,r){let i=tryParseTypeExpression(),o=!i;skipWhitespaceOrAsterisk();const{name:a,isBracketed:s}=parseBracketNameInPropertyAndParamTag(),c=skipWhitespaceOrAsterisk();o&&!lookAhead(parseJSDocLinkPrefix)&&(i=tryParseTypeExpression());const l=parseTrailingTagComments(e,getNodePos(),r,c),d=function parseNestedTypeLiteral(e,t,n,r){if(e&&isObjectOrObjectArrayTypeReference(e.type)){const i=getNodePos();let o,a;for(;o=tryParse(()=>parseChildParameterOrPropertyTag(n,r,t));)342===o.kind||349===o.kind?a=append(a,o):346===o.kind&&parseErrorAtRange(o.tagName,Ot.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);if(a){const t=finishNode(k.createJSDocTypeLiteral(a,189===e.type.kind),i);return finishNode(k.createJSDocTypeExpression(t),i)}}}(i,a,n,r);d&&(i=d,o=!0);return finishNode(1===n?k.createJSDocPropertyTag(t,a,s,i,o,l):k.createJSDocParameterTag(t,a,s,i,o,l),e)}function parseTypeTag(e,t,n,r){some(i,isJSDocTypeTag)&&parseErrorAt(t.pos,a.getTokenStart(),Ot._0_tag_already_specified,unescapeLeadingUnderscores(t.escapedText));const o=parseJSDocTypeExpression(!0),s=void 0!==n&&void 0!==r?parseTrailingTagComments(e,getNodePos(),n,r):void 0;return finishNode(k.createJSDocTypeTag(t,o,s),e)}function parseExpressionWithTypeArgumentsForAugments(){const e=parseOptional(19),t=getNodePos(),n=function parsePropertyAccessEntityNameExpression(){const e=getNodePos();let t=parseJSDocIdentifierName();for(;parseOptional(25);){const n=parseJSDocIdentifierName();t=finishNode(R(t,n),e)}return t}();a.setSkipJsDocLeadingAsterisks(!0);const r=tryParseTypeArguments();a.setSkipJsDocLeadingAsterisks(!1);const i=finishNode(k.createExpressionWithTypeArguments(n,r),t);return e&&(skipWhitespace(),parseExpected(20)),i}function parseSimpleTag(e,t,n,r,i){return finishNode(t(n,parseTrailingTagComments(e,getNodePos(),r,i)),e)}function parseThisTag(e,t,n,r){const i=parseJSDocTypeExpression(!0);return skipWhitespace(),finishNode(k.createJSDocThisTag(t,i,parseTrailingTagComments(e,getNodePos(),n,r)),e)}function parseJSDocTypeNameWithNamespace(e){const t=a.getTokenStart();if(!tokenIsIdentifierOrKeyword(token()))return;const n=parseJSDocIdentifierName();if(parseOptional(25)){const r=parseJSDocTypeNameWithNamespace(!0);return finishNode(k.createModuleDeclaration(void 0,n,r,e?8:void 0),t)}return e&&(n.flags|=4096),n}function parseJSDocSignature(e,t){const n=function parseCallbackTagParameters(e){const t=getNodePos();let n,r;for(;n=tryParse(()=>parseChildParameterOrPropertyTag(4,e));){if(346===n.kind){parseErrorAtRange(n.tagName,Ot.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);break}r=append(r,n)}return createNodeArray(r||[],t)}(t),r=tryParse(()=>{if(parseOptionalJsdoc(60)){const e=parseTag(t);if(e&&343===e.kind)return e}});return finishNode(k.createJSDocSignature(void 0,n,r),e)}function escapedTextsEqual(e,t){for(;!isIdentifier(e)||!isIdentifier(t);){if(isIdentifier(e)||isIdentifier(t)||e.right.escapedText!==t.right.escapedText)return!1;e=e.left,t=t.left}return e.escapedText===t.escapedText}function parseChildPropertyTag(e){return parseChildParameterOrPropertyTag(1,e)}function parseChildParameterOrPropertyTag(e,t,n){let r=!0,i=!1;for(;;)switch(nextTokenJSDoc()){case 60:if(r){const r=tryParseChildTag(e,t);return!(r&&(342===r.kind||349===r.kind)&&n&&(isIdentifier(r.name)||!escapedTextsEqual(n,r.name.left)))&&r}i=!1;break;case 4:r=!0,i=!1;break;case 42:i&&(r=!1),i=!0;break;case 80:r=!1;break;case 1:return!1}}function tryParseChildTag(e,t){h.assert(60===token());const n=a.getTokenFullStart();nextTokenJSDoc();const r=parseJSDocIdentifierName(),i=skipWhitespaceOrAsterisk();let o;switch(r.escapedText){case"type":return 1===e&&parseTypeTag(n,r);case"prop":case"property":o=1;break;case"arg":case"argument":case"param":o=6;break;case"template":return parseTemplateTag(n,r,t,i);case"this":return parseThisTag(n,r,t,i);default:return!1}return!!(e&o)&&parseParameterOrPropertyTag(n,r,e,t)}function parseTemplateTagTypeParameter(){const e=getNodePos(),t=parseOptionalJsdoc(23);t&&skipWhitespace();const n=parseModifiers(!1,!0),r=parseJSDocIdentifierName(Ot.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);let i;if(t&&(skipWhitespace(),parseExpected(64),i=doInsideOfContext(16777216,parseJSDocType),parseExpected(24)),!nodeIsMissing(r))return finishNode(k.createTypeParameterDeclaration(n,r,void 0,i),e)}function parseTemplateTag(e,t,n,r){const i=19===token()?parseJSDocTypeExpression():void 0,o=function parseTemplateTagTypeParameters(){const e=getNodePos(),t=[];do{skipWhitespace();const e=parseTemplateTagTypeParameter();void 0!==e&&t.push(e),skipWhitespaceOrAsterisk()}while(parseOptionalJsdoc(28));return createNodeArray(t,e)}();return finishNode(k.createJSDocTemplateTag(t,i,o,parseTrailingTagComments(e,getNodePos(),n,r)),e)}function parseOptionalJsdoc(e){return token()===e&&(nextTokenJSDoc(),!0)}function parseJSDocIdentifierName(e){if(!tokenIsIdentifierOrKeyword(token()))return createMissingNode(80,!e,e||Ot.Identifier_expected);b++;const t=a.getTokenStart(),n=a.getTokenEnd(),r=token(),i=internIdentifier(a.getTokenValue()),o=finishNode(A(i,r),t,n);return nextTokenJSDoc(),o}}e.parseJSDocTypeExpressionForTests=function parseJSDocTypeExpressionForTests2(e,t,n){initializeState("file.js",e,99,void 0,1,0),a.setText(e,t,n),S=a.scan();const r=parseJSDocTypeExpression(),i=createSourceFile2("file.js",99,1,!1,[],w(1),0,noop),o=attachFileToDiagnostics(g,i);return y&&(i.jsDocDiagnostics=attachFileToDiagnostics(y,i)),clearState(),r?{jsDocTypeExpression:r,diagnostics:o}:void 0},e.parseJSDocTypeExpression=parseJSDocTypeExpression,e.parseJSDocNameReference=parseJSDocNameReference,e.parseIsolatedJSDocComment=function parseIsolatedJSDocComment2(e,t,n){initializeState("",e,99,void 0,1,0);const r=doInsideOfContext(16777216,()=>parseJSDocCommentWorker(t,n)),i=attachFileToDiagnostics(g,{languageVariant:0,text:e});return clearState(),r?{jsDoc:r,diagnostics:i}:void 0},e.parseJSDocComment=function parseJSDocComment(e,t,n){const r=S,i=g.length,o=te,a=doInsideOfContext(16777216,()=>parseJSDocCommentWorker(t,n));return setParent(a,e),524288&N&&(y||(y=[]),addRange(y,g,i)),S=r,g.length=i,te=o,a},(n=t||(t={}))[n.BeginningOfLine=0]="BeginningOfLine",n[n.SawAsterisk=1]="SawAsterisk",n[n.SavingComments=2]="SavingComments",n[n.SavingBackticks=3]="SavingBackticks",(i=r||(r={}))[i.Property=1]="Property",i[i.Parameter=2]="Parameter",i[i.CallbackParameter=4]="CallbackParameter"})(ce=e.JSDocParser||(e.JSDocParser={}))})(Ii||(Ii={}));var Oi=new WeakSet;var wi,Li=new WeakSet;function markAsIntersectingIncrementalChange(e){Li.add(e)}function isDeclarationFileName(e){return void 0!==getDeclarationFileExtension(e)}function getDeclarationFileExtension(e){const t=getAnyExtensionFromPath(e,Sr,!1);if(t)return t;if(fileExtensionIs(e,".ts")){const t=getBaseFileName(e),n=t.lastIndexOf(".d.");if(n>=0)return t.substring(n)}}function processCommentPragmas(e,t){const n=[];for(const e of getLeadingCommentRanges(t,0)||l){extractPragmas(n,e,t.substring(e.pos,e.end))}e.pragmas=new Map;for(const t of n){if(e.pragmas.has(t.name)){const n=e.pragmas.get(t.name);n instanceof Array?n.push(t.args):e.pragmas.set(t.name,[n,t.args]);continue}e.pragmas.set(t.name,t.args)}}function processPragmasIntoFields(e,t){e.checkJsDirective=void 0,e.referencedFiles=[],e.typeReferenceDirectives=[],e.libReferenceDirectives=[],e.amdDependencies=[],e.hasNoDefaultLib=!1,e.pragmas.forEach((n,r)=>{switch(r){case"reference":{const r=e.referencedFiles,i=e.typeReferenceDirectives,o=e.libReferenceDirectives;forEach(toArray(n),n=>{const{types:a,lib:s,path:c,"resolution-mode":l,preserve:d}=n.arguments,p="true"===d||void 0;if("true"===n.arguments["no-default-lib"])e.hasNoDefaultLib=!0;else if(a){const e=function parseResolutionMode(e,t,n,r){if(e)return"import"===e?99:"require"===e?1:void r(t,n-t,Ot.resolution_mode_should_be_either_require_or_import)}(l,a.pos,a.end,t);i.push({pos:a.pos,end:a.end,fileName:a.value,...e?{resolutionMode:e}:{},...p?{preserve:p}:{}})}else s?o.push({pos:s.pos,end:s.end,fileName:s.value,...p?{preserve:p}:{}}):c?r.push({pos:c.pos,end:c.end,fileName:c.value,...p?{preserve:p}:{}}):t(n.range.pos,n.range.end-n.range.pos,Ot.Invalid_reference_directive_syntax)});break}case"amd-dependency":e.amdDependencies=map(toArray(n),e=>({name:e.arguments.name,path:e.arguments.path}));break;case"amd-module":if(n instanceof Array)for(const r of n)e.moduleName&&t(r.range.pos,r.range.end-r.range.pos,Ot.An_AMD_module_cannot_have_multiple_name_assignments),e.moduleName=r.arguments.name;else e.moduleName=n.arguments.name;break;case"ts-nocheck":case"ts-check":forEach(toArray(n),t=>{(!e.checkJsDirective||t.range.pos>e.checkJsDirective.pos)&&(e.checkJsDirective={enabled:"ts-check"===r,end:t.range.end,pos:t.range.pos})});break;case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:h.fail("Unhandled pragma kind")}})}(e=>{function moveElementEntirelyPastChangeRange(e,t,n,r,i,o,a){return void(n?visitArray2(e):visitNode3(e));function visitNode3(e){let n="";if(a&&shouldCheckNode(e)&&(n=i.substring(e.pos,e.end)),unsetNodeChildren(e,t),setTextRangePosEnd(e,e.pos+r,e.end+r),a&&shouldCheckNode(e)&&h.assert(n===o.substring(e.pos,e.end)),forEachChild(e,visitNode3,visitArray2),hasJSDocNodes(e))for(const t of e.jsDoc)visitNode3(t);checkNodePositions(e,a)}function visitArray2(e){setTextRangePosEnd(e,e.pos+r,e.end+r);for(const t of e)visitNode3(t)}}function shouldCheckNode(e){switch(e.kind){case 11:case 9:case 80:return!0}return!1}function adjustIntersectingElement(e,t,n,r,i){h.assert(e.end>=t,"Adjusting an element that was entirely before the change range"),h.assert(e.pos<=n,"Adjusting an element that was entirely after the change range"),h.assert(e.pos<=e.end);const o=Math.min(e.pos,r),a=e.end>=n?e.end+i:Math.min(e.end,r);if(h.assert(o<=a),e.parent){const t=e.parent;h.assertGreaterThanOrEqual(o,t.pos),h.assertLessThanOrEqual(a,t.end)}setTextRangePosEnd(e,o,a)}function checkNodePositions(e,t){if(t){let t=e.pos;const visitNode3=e=>{h.assert(e.pos>=t),t=e.end};if(hasJSDocNodes(e))for(const t of e.jsDoc)visitNode3(t);forEachChild(e,visitNode3),h.assert(t<=e.end)}}function findNearestNodeStartingBeforeOrAtPosition(e,t){let n,r=e;if(forEachChild(e,function visit(e){if(nodeIsMissing(e))return;if(!(e.pos<=t))return h.assert(e.pos>t),!0;if(e.pos>=r.pos&&(r=e),t<e.end)return forEachChild(e,visit),!0;h.assert(e.end<=t),n=e}),n){const e=function getLastDescendant(e){for(;;){const t=getLastChild(e);if(!t)return e;e=t}}(n);e.pos>r.pos&&(r=e)}return r}function checkChangeRange(e,t,n,r){const i=e.text;if(n&&(h.assert(i.length-n.span.length+n.newLength===t.length),r||h.shouldAssert(3))){const e=i.substr(0,n.span.start),r=t.substr(0,n.span.start);h.assert(e===r);const o=i.substring(textSpanEnd(n.span),i.length),a=t.substring(textSpanEnd(textChangeRangeNewSpan(n)),t.length);h.assert(o===a)}}function createSyntaxCursor(e){let t=e.statements,n=0;h.assert(n<t.length);let r=t[n],i=-1;return{currentNode:o=>(o!==i&&(r&&r.end===o&&n<t.length-1&&(n++,r=t[n]),r&&r.pos===o||function findHighestListElementThatStartsAtPosition(i){return t=void 0,n=-1,r=void 0,void forEachChild(e,visitNode3,visitArray2);function visitNode3(e){return i>=e.pos&&i<e.end&&(forEachChild(e,visitNode3,visitArray2),!0)}function visitArray2(e){if(i>=e.pos&&i<e.end)for(let o=0;o<e.length;o++){const a=e[o];if(a){if(a.pos===i)return t=e,n=o,r=a,!0;if(a.pos<i&&i<a.end)return forEachChild(a,visitNode3,visitArray2),!0}}return!1}}(o)),i=o,h.assert(!r||r.pos===o),r)}}let t;var n;e.updateSourceFile=function updateSourceFile2(e,t,n,r){if(checkChangeRange(e,t,n,r=r||h.shouldAssert(2)),textChangeRangeIsUnchanged(n))return e;if(0===e.statements.length)return Ii.parseSourceFile(e.fileName,t,e.languageVersion,void 0,!0,e.scriptKind,e.setExternalModuleIndicator,e.jsDocParsingMode);!function markAsIncrementallyParsed(e){Oi.has(e)&&h.fail("Source file has already been incrementally parsed"),Oi.add(e)}(e),Ii.fixupParentReferences(e);const i=e.text,o=createSyntaxCursor(e),a=function extendToAffectedRange(e,t){const n=1;let r=t.span.start;for(let t=0;r>0&&t<=n;t++){const t=findNearestNodeStartingBeforeOrAtPosition(e,r);h.assert(t.pos<=r);const n=t.pos;r=Math.max(0,n-1)}const i=createTextSpanFromBounds(r,textSpanEnd(t.span)),o=t.newLength+(t.span.start-r);return createTextChangeRange(i,o)}(e,n);checkChangeRange(e,t,a,r),h.assert(a.span.start<=n.span.start),h.assert(textSpanEnd(a.span)===textSpanEnd(n.span)),h.assert(textSpanEnd(textChangeRangeNewSpan(a))===textSpanEnd(textChangeRangeNewSpan(n)));const s=textChangeRangeNewSpan(a).length-a.span.length;!function updateTokenPositionsAndMarkElements(e,t,n,r,i,o,a,s){return void visitNode3(e);function visitNode3(c){if(h.assert(c.pos<=c.end),c.pos>n)return void moveElementEntirelyPastChangeRange(c,e,!1,i,o,a,s);const l=c.end;if(l>=t){if(markAsIntersectingIncrementalChange(c),unsetNodeChildren(c,e),adjustIntersectingElement(c,t,n,r,i),forEachChild(c,visitNode3,visitArray2),hasJSDocNodes(c))for(const e of c.jsDoc)visitNode3(e);checkNodePositions(c,s)}else h.assert(l<t)}function visitArray2(c){if(h.assert(c.pos<=c.end),c.pos>n)return void moveElementEntirelyPastChangeRange(c,e,!0,i,o,a,s);const l=c.end;if(l>=t){markAsIntersectingIncrementalChange(c),adjustIntersectingElement(c,t,n,r,i);for(const e of c)visitNode3(e)}else h.assert(l<t)}}(e,a.span.start,textSpanEnd(a.span),textSpanEnd(textChangeRangeNewSpan(a)),s,i,t,r);const c=Ii.parseSourceFile(e.fileName,t,e.languageVersion,o,!0,e.scriptKind,e.setExternalModuleIndicator,e.jsDocParsingMode);return c.commentDirectives=function getNewCommentDirectives(e,t,n,r,i,o,a,s){if(!e)return t;let c,l=!1;for(const t of e){const{range:e,type:l}=t;if(e.end<n)c=append(c,t);else if(e.pos>r){addNewlyScannedDirectives();const t={range:{pos:e.pos+i,end:e.end+i},type:l};c=append(c,t),s&&h.assert(o.substring(e.pos,e.end)===a.substring(t.range.pos,t.range.end))}}return addNewlyScannedDirectives(),c;function addNewlyScannedDirectives(){l||(l=!0,c?t&&c.push(...t):c=t)}}(e.commentDirectives,c.commentDirectives,a.span.start,textSpanEnd(a.span),s,i,t,r),c.impliedNodeFormat=e.impliedNodeFormat,transferSourceFileChildren(e,c),c},e.createSyntaxCursor=createSyntaxCursor,(n=t||(t={}))[n.Value=-1]="Value"})(wi||(wi={}));var Mi=new Map;function getNamedArgRegEx(e){if(Mi.has(e))return Mi.get(e);const t=new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return Mi.set(e,t),t}var Ri=/^\/\/\/\s*<(\S+)\s.*?\/>/m,Bi=/^\/\/\/?\s*@([^\s:]+)((?:[^\S\r\n]|:).*)?$/m;function extractPragmas(e,t,n){const r=2===t.kind&&Ri.exec(n);if(r){const i=r[1].toLowerCase(),o=gt[i];if(!(o&&1&o.kind))return;if(o.args){const r={};for(const e of o.args){const i=getNamedArgRegEx(e.name).exec(n);if(!i&&!e.optional)return;if(i){const n=i[2]||i[3];if(e.captureSpan){const o=t.pos+i.index+i[1].length+1;r[e.name]={value:n,pos:o,end:o+n.length}}else r[e.name]=n}}e.push({name:i,args:{arguments:r,range:t}})}else e.push({name:i,args:{arguments:{},range:t}});return}const i=2===t.kind&&Bi.exec(n);if(i)return addPragmaForMatch(e,t,2,i);if(3===t.kind){const r=/@(\S+)(\s+(?:\S.*)?)?$/gm;let i;for(;i=r.exec(n);)addPragmaForMatch(e,t,4,i)}}function addPragmaForMatch(e,t,n,r){if(!r)return;const i=r[1].toLowerCase(),o=gt[i];if(!(o&&o.kind&n))return;const a=function getNamedPragmaArguments(e,t){if(!t)return{};if(!e.args)return{};const n=t.trim().split(/\s+/),r={};for(let t=0;t<e.args.length;t++){const i=e.args[t];if(!n[t]&&!i.optional)return"fail";if(i.captureSpan)return h.fail("Capture spans not yet implemented for non-xml pragmas");r[i.name]=n[t]}return r}(o,r[2]);"fail"!==a&&e.push({name:i,args:{arguments:a,range:t}})}function tagNamesAreEquivalent(e,t){return e.kind===t.kind&&(80===e.kind?e.escapedText===t.escapedText:110===e.kind||(296===e.kind?e.namespace.escapedText===t.namespace.escapedText&&e.name.escapedText===t.name.escapedText:e.name.escapedText===t.name.escapedText&&tagNamesAreEquivalent(e.expression,t.expression)))}var ji={name:"compileOnSave",type:"boolean",defaultValueDescription:!1},Ji=new Map(Object.entries({preserve:1,"react-native":3,"react-jsx":4,"react-jsxdev":5,react:2})),Wi=new Map(mapIterator(Ji.entries(),([e,t])=>[""+t,e])),Ui=[["es5","lib.es5.d.ts"],["es6","lib.es2015.d.ts"],["es2015","lib.es2015.d.ts"],["es7","lib.es2016.d.ts"],["es2016","lib.es2016.d.ts"],["es2017","lib.es2017.d.ts"],["es2018","lib.es2018.d.ts"],["es2019","lib.es2019.d.ts"],["es2020","lib.es2020.d.ts"],["es2021","lib.es2021.d.ts"],["es2022","lib.es2022.d.ts"],["es2023","lib.es2023.d.ts"],["es2024","lib.es2024.d.ts"],["esnext","lib.esnext.d.ts"],["dom","lib.dom.d.ts"],["dom.iterable","lib.dom.iterable.d.ts"],["dom.asynciterable","lib.dom.asynciterable.d.ts"],["webworker","lib.webworker.d.ts"],["webworker.importscripts","lib.webworker.importscripts.d.ts"],["webworker.iterable","lib.webworker.iterable.d.ts"],["webworker.asynciterable","lib.webworker.asynciterable.d.ts"],["scripthost","lib.scripthost.d.ts"],["es2015.core","lib.es2015.core.d.ts"],["es2015.collection","lib.es2015.collection.d.ts"],["es2015.generator","lib.es2015.generator.d.ts"],["es2015.iterable","lib.es2015.iterable.d.ts"],["es2015.promise","lib.es2015.promise.d.ts"],["es2015.proxy","lib.es2015.proxy.d.ts"],["es2015.reflect","lib.es2015.reflect.d.ts"],["es2015.symbol","lib.es2015.symbol.d.ts"],["es2015.symbol.wellknown","lib.es2015.symbol.wellknown.d.ts"],["es2016.array.include","lib.es2016.array.include.d.ts"],["es2016.intl","lib.es2016.intl.d.ts"],["es2017.arraybuffer","lib.es2017.arraybuffer.d.ts"],["es2017.date","lib.es2017.date.d.ts"],["es2017.object","lib.es2017.object.d.ts"],["es2017.sharedmemory","lib.es2017.sharedmemory.d.ts"],["es2017.string","lib.es2017.string.d.ts"],["es2017.intl","lib.es2017.intl.d.ts"],["es2017.typedarrays","lib.es2017.typedarrays.d.ts"],["es2018.asyncgenerator","lib.es2018.asyncgenerator.d.ts"],["es2018.asynciterable","lib.es2018.asynciterable.d.ts"],["es2018.intl","lib.es2018.intl.d.ts"],["es2018.promise","lib.es2018.promise.d.ts"],["es2018.regexp","lib.es2018.regexp.d.ts"],["es2019.array","lib.es2019.array.d.ts"],["es2019.object","lib.es2019.object.d.ts"],["es2019.string","lib.es2019.string.d.ts"],["es2019.symbol","lib.es2019.symbol.d.ts"],["es2019.intl","lib.es2019.intl.d.ts"],["es2020.bigint","lib.es2020.bigint.d.ts"],["es2020.date","lib.es2020.date.d.ts"],["es2020.promise","lib.es2020.promise.d.ts"],["es2020.sharedmemory","lib.es2020.sharedmemory.d.ts"],["es2020.string","lib.es2020.string.d.ts"],["es2020.symbol.wellknown","lib.es2020.symbol.wellknown.d.ts"],["es2020.intl","lib.es2020.intl.d.ts"],["es2020.number","lib.es2020.number.d.ts"],["es2021.promise","lib.es2021.promise.d.ts"],["es2021.string","lib.es2021.string.d.ts"],["es2021.weakref","lib.es2021.weakref.d.ts"],["es2021.intl","lib.es2021.intl.d.ts"],["es2022.array","lib.es2022.array.d.ts"],["es2022.error","lib.es2022.error.d.ts"],["es2022.intl","lib.es2022.intl.d.ts"],["es2022.object","lib.es2022.object.d.ts"],["es2022.string","lib.es2022.string.d.ts"],["es2022.regexp","lib.es2022.regexp.d.ts"],["es2023.array","lib.es2023.array.d.ts"],["es2023.collection","lib.es2023.collection.d.ts"],["es2023.intl","lib.es2023.intl.d.ts"],["es2024.arraybuffer","lib.es2024.arraybuffer.d.ts"],["es2024.collection","lib.es2024.collection.d.ts"],["es2024.object","lib.es2024.object.d.ts"],["es2024.promise","lib.es2024.promise.d.ts"],["es2024.regexp","lib.es2024.regexp.d.ts"],["es2024.sharedmemory","lib.es2024.sharedmemory.d.ts"],["es2024.string","lib.es2024.string.d.ts"],["esnext.array","lib.es2023.array.d.ts"],["esnext.collection","lib.esnext.collection.d.ts"],["esnext.symbol","lib.es2019.symbol.d.ts"],["esnext.asynciterable","lib.es2018.asynciterable.d.ts"],["esnext.intl","lib.esnext.intl.d.ts"],["esnext.disposable","lib.esnext.disposable.d.ts"],["esnext.bigint","lib.es2020.bigint.d.ts"],["esnext.string","lib.es2022.string.d.ts"],["esnext.promise","lib.es2024.promise.d.ts"],["esnext.weakref","lib.es2021.weakref.d.ts"],["esnext.decorators","lib.esnext.decorators.d.ts"],["esnext.object","lib.es2024.object.d.ts"],["esnext.array","lib.esnext.array.d.ts"],["esnext.regexp","lib.es2024.regexp.d.ts"],["esnext.string","lib.es2024.string.d.ts"],["esnext.iterator","lib.esnext.iterator.d.ts"],["esnext.promise","lib.esnext.promise.d.ts"],["esnext.float16","lib.esnext.float16.d.ts"],["esnext.error","lib.esnext.error.d.ts"],["esnext.sharedmemory","lib.esnext.sharedmemory.d.ts"],["decorators","lib.decorators.d.ts"],["decorators.legacy","lib.decorators.legacy.d.ts"]],zi=Ui.map(e=>e[0]),Vi=new Map(Ui),qi=[{name:"watchFile",type:new Map(Object.entries({fixedpollinginterval:0,prioritypollinginterval:1,dynamicprioritypolling:2,fixedchunksizepolling:3,usefsevents:4,usefseventsonparentdirectory:5})),category:Ot.Watch_and_Build_Modes,description:Ot.Specify_how_the_TypeScript_watch_mode_works,defaultValueDescription:4},{name:"watchDirectory",type:new Map(Object.entries({usefsevents:0,fixedpollinginterval:1,dynamicprioritypolling:2,fixedchunksizepolling:3})),category:Ot.Watch_and_Build_Modes,description:Ot.Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality,defaultValueDescription:0},{name:"fallbackPolling",type:new Map(Object.entries({fixedinterval:0,priorityinterval:1,dynamicpriority:2,fixedchunksize:3})),category:Ot.Watch_and_Build_Modes,description:Ot.Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers,defaultValueDescription:1},{name:"synchronousWatchDirectory",type:"boolean",category:Ot.Watch_and_Build_Modes,description:Ot.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively,defaultValueDescription:!1},{name:"excludeDirectories",type:"list",element:{name:"excludeDirectory",type:"string",isFilePath:!0,extraValidation:specToDiagnostic},allowConfigDirTemplateSubstitution:!0,category:Ot.Watch_and_Build_Modes,description:Ot.Remove_a_list_of_directories_from_the_watch_process},{name:"excludeFiles",type:"list",element:{name:"excludeFile",type:"string",isFilePath:!0,extraValidation:specToDiagnostic},allowConfigDirTemplateSubstitution:!0,category:Ot.Watch_and_Build_Modes,description:Ot.Remove_a_list_of_files_from_the_watch_mode_s_processing}],Hi=[{name:"help",shortName:"h",type:"boolean",showInSimplifiedHelpView:!0,isCommandLineOnly:!0,category:Ot.Command_line_Options,description:Ot.Print_this_message,defaultValueDescription:!1},{name:"help",shortName:"?",type:"boolean",isCommandLineOnly:!0,category:Ot.Command_line_Options,defaultValueDescription:!1},{name:"watch",shortName:"w",type:"boolean",showInSimplifiedHelpView:!0,isCommandLineOnly:!0,category:Ot.Command_line_Options,description:Ot.Watch_input_files,defaultValueDescription:!1},{name:"preserveWatchOutput",type:"boolean",showInSimplifiedHelpView:!1,category:Ot.Output_Formatting,description:Ot.Disable_wiping_the_console_in_watch_mode,defaultValueDescription:!1},{name:"listFiles",type:"boolean",category:Ot.Compiler_Diagnostics,description:Ot.Print_all_of_the_files_read_during_the_compilation,defaultValueDescription:!1},{name:"explainFiles",type:"boolean",category:Ot.Compiler_Diagnostics,description:Ot.Print_files_read_during_the_compilation_including_why_it_was_included,defaultValueDescription:!1},{name:"listEmittedFiles",type:"boolean",category:Ot.Compiler_Diagnostics,description:Ot.Print_the_names_of_emitted_files_after_a_compilation,defaultValueDescription:!1},{name:"pretty",type:"boolean",showInSimplifiedHelpView:!0,category:Ot.Output_Formatting,description:Ot.Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read,defaultValueDescription:!0},{name:"traceResolution",type:"boolean",category:Ot.Compiler_Diagnostics,description:Ot.Log_paths_used_during_the_moduleResolution_process,defaultValueDescription:!1},{name:"diagnostics",type:"boolean",category:Ot.Compiler_Diagnostics,description:Ot.Output_compiler_performance_information_after_building,defaultValueDescription:!1},{name:"extendedDiagnostics",type:"boolean",category:Ot.Compiler_Diagnostics,description:Ot.Output_more_detailed_compiler_performance_information_after_building,defaultValueDescription:!1},{name:"generateCpuProfile",type:"string",isFilePath:!0,paramType:Ot.FILE_OR_DIRECTORY,category:Ot.Compiler_Diagnostics,description:Ot.Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging,defaultValueDescription:"profile.cpuprofile"},{name:"generateTrace",type:"string",isFilePath:!0,paramType:Ot.DIRECTORY,category:Ot.Compiler_Diagnostics,description:Ot.Generates_an_event_trace_and_a_list_of_types},{name:"incremental",shortName:"i",type:"boolean",category:Ot.Projects,description:Ot.Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects,transpileOptionValue:void 0,defaultValueDescription:Ot.false_unless_composite_is_set},{name:"declaration",shortName:"d",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.Emit,transpileOptionValue:void 0,description:Ot.Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project,defaultValueDescription:Ot.false_unless_composite_is_set},{name:"declarationMap",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.Emit,defaultValueDescription:!1,description:Ot.Create_sourcemaps_for_d_ts_files},{name:"emitDeclarationOnly",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.Emit,description:Ot.Only_output_d_ts_files_and_not_JavaScript_files,transpileOptionValue:void 0,defaultValueDescription:!1},{name:"sourceMap",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.Emit,defaultValueDescription:!1,description:Ot.Create_source_map_files_for_emitted_JavaScript_files},{name:"inlineSourceMap",type:"boolean",affectsBuildInfo:!0,category:Ot.Emit,description:Ot.Include_sourcemap_files_inside_the_emitted_JavaScript,defaultValueDescription:!1},{name:"noCheck",type:"boolean",showInSimplifiedHelpView:!1,category:Ot.Compiler_Diagnostics,description:Ot.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported,transpileOptionValue:!0,defaultValueDescription:!1},{name:"noEmit",type:"boolean",showInSimplifiedHelpView:!0,category:Ot.Emit,description:Ot.Disable_emitting_files_from_a_compilation,transpileOptionValue:void 0,defaultValueDescription:!1},{name:"assumeChangesOnlyAffectDirectDependencies",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Watch_and_Build_Modes,description:Ot.Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it,defaultValueDescription:!1},{name:"locale",type:"string",category:Ot.Command_line_Options,isCommandLineOnly:!0,description:Ot.Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit,defaultValueDescription:Ot.Platform_specific}],Ki={name:"target",shortName:"t",type:new Map(Object.entries({es3:0,es5:1,es6:2,es2015:2,es2016:3,es2017:4,es2018:5,es2019:6,es2020:7,es2021:8,es2022:9,es2023:10,es2024:11,esnext:99})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,affectsBuildInfo:!0,deprecatedKeys:new Set(["es3"]),paramType:Ot.VERSION,showInSimplifiedHelpView:!0,category:Ot.Language_and_Environment,description:Ot.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations,defaultValueDescription:1},Gi={name:"module",shortName:"m",type:new Map(Object.entries({none:0,commonjs:1,amd:2,system:4,umd:3,es6:5,es2015:5,es2020:6,es2022:7,esnext:99,node16:100,node18:101,node20:102,nodenext:199,preserve:200})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,affectsBuildInfo:!0,paramType:Ot.KIND,showInSimplifiedHelpView:!0,category:Ot.Modules,description:Ot.Specify_what_module_code_is_generated,defaultValueDescription:void 0},$i=[{name:"all",type:"boolean",showInSimplifiedHelpView:!0,category:Ot.Command_line_Options,description:Ot.Show_all_compiler_options,defaultValueDescription:!1},{name:"version",shortName:"v",type:"boolean",showInSimplifiedHelpView:!0,category:Ot.Command_line_Options,description:Ot.Print_the_compiler_s_version,defaultValueDescription:!1},{name:"init",type:"boolean",showInSimplifiedHelpView:!0,category:Ot.Command_line_Options,description:Ot.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file,defaultValueDescription:!1},{name:"project",shortName:"p",type:"string",isFilePath:!0,showInSimplifiedHelpView:!0,category:Ot.Command_line_Options,paramType:Ot.FILE_OR_DIRECTORY,description:Ot.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json},{name:"showConfig",type:"boolean",showInSimplifiedHelpView:!0,category:Ot.Command_line_Options,isCommandLineOnly:!0,description:Ot.Print_the_final_configuration_instead_of_building,defaultValueDescription:!1},{name:"listFilesOnly",type:"boolean",category:Ot.Command_line_Options,isCommandLineOnly:!0,description:Ot.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing,defaultValueDescription:!1},Ki,Gi,{name:"lib",type:"list",element:{name:"lib",type:Vi,defaultValueDescription:void 0},affectsProgramStructure:!0,showInSimplifiedHelpView:!0,category:Ot.Language_and_Environment,description:Ot.Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment,transpileOptionValue:void 0},{name:"allowJs",type:"boolean",allowJsFlag:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.JavaScript_Support,description:Ot.Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJs_option_to_get_errors_from_these_files,defaultValueDescription:!1},{name:"checkJs",type:"boolean",affectsModuleResolution:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.JavaScript_Support,description:Ot.Enable_error_reporting_in_type_checked_JavaScript_files,defaultValueDescription:!1},{name:"jsx",type:Ji,affectsSourceFile:!0,affectsEmit:!0,affectsBuildInfo:!0,affectsModuleResolution:!0,affectsSemanticDiagnostics:!0,paramType:Ot.KIND,showInSimplifiedHelpView:!0,category:Ot.Language_and_Environment,description:Ot.Specify_what_JSX_code_is_generated,defaultValueDescription:void 0},{name:"outFile",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:Ot.FILE,showInSimplifiedHelpView:!0,category:Ot.Emit,description:Ot.Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output,transpileOptionValue:void 0},{name:"outDir",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:Ot.DIRECTORY,showInSimplifiedHelpView:!0,category:Ot.Emit,description:Ot.Specify_an_output_folder_for_all_emitted_files},{name:"rootDir",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:Ot.LOCATION,category:Ot.Modules,description:Ot.Specify_the_root_folder_within_your_source_files,defaultValueDescription:Ot.Computed_from_the_list_of_input_files},{name:"composite",type:"boolean",affectsBuildInfo:!0,isTSConfigOnly:!0,category:Ot.Projects,transpileOptionValue:void 0,defaultValueDescription:!1,description:Ot.Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references},{name:"tsBuildInfoFile",type:"string",affectsEmit:!0,affectsBuildInfo:!0,isFilePath:!0,paramType:Ot.FILE,category:Ot.Projects,transpileOptionValue:void 0,defaultValueDescription:".tsbuildinfo",description:Ot.Specify_the_path_to_tsbuildinfo_incremental_compilation_file},{name:"removeComments",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.Emit,defaultValueDescription:!1,description:Ot.Disable_emitting_comments},{name:"importHelpers",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,affectsSourceFile:!0,category:Ot.Emit,description:Ot.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file,defaultValueDescription:!1},{name:"importsNotUsedAsValues",type:new Map(Object.entries({remove:0,preserve:1,error:2})),affectsEmit:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Backwards_Compatibility,description:Ot.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types,defaultValueDescription:0},{name:"downlevelIteration",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Emit,description:Ot.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration,defaultValueDescription:!1},{name:"isolatedModules",type:"boolean",category:Ot.Interop_Constraints,description:Ot.Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports,transpileOptionValue:!0,defaultValueDescription:!1},{name:"verbatimModuleSyntax",type:"boolean",affectsEmit:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Interop_Constraints,description:Ot.Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting,defaultValueDescription:!1},{name:"isolatedDeclarations",type:"boolean",category:Ot.Interop_Constraints,description:Ot.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files,defaultValueDescription:!1,affectsBuildInfo:!0,affectsSemanticDiagnostics:!0},{name:"erasableSyntaxOnly",type:"boolean",category:Ot.Interop_Constraints,description:Ot.Do_not_allow_runtime_constructs_that_are_not_part_of_ECMAScript,defaultValueDescription:!1,affectsBuildInfo:!0,affectsSemanticDiagnostics:!0},{name:"libReplacement",type:"boolean",affectsProgramStructure:!0,category:Ot.Language_and_Environment,description:Ot.Enable_lib_replacement,defaultValueDescription:!0},{name:"strict",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.Type_Checking,description:Ot.Enable_all_strict_type_checking_options,defaultValueDescription:!1},{name:"noImplicitAny",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"strictNullChecks",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.When_type_checking_take_into_account_null_and_undefined,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"strictFunctionTypes",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"strictBindCallApply",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"strictPropertyInitialization",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"strictBuiltinIteratorReturn",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"noImplicitThis",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.Enable_error_reporting_when_this_is_given_the_type_any,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"useUnknownInCatchVariables",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.Default_catch_clause_variables_as_unknown_instead_of_any,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"alwaysStrict",type:"boolean",affectsSourceFile:!0,affectsEmit:!0,affectsBuildInfo:!0,strictFlag:!0,category:Ot.Type_Checking,description:Ot.Ensure_use_strict_is_always_emitted,defaultValueDescription:Ot.false_unless_strict_is_set},{name:"noUnusedLocals",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Enable_error_reporting_when_local_variables_aren_t_read,defaultValueDescription:!1},{name:"noUnusedParameters",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Raise_an_error_when_a_function_parameter_isn_t_read,defaultValueDescription:!1},{name:"exactOptionalPropertyTypes",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Interpret_optional_property_types_as_written_rather_than_adding_undefined,defaultValueDescription:!1},{name:"noImplicitReturns",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function,defaultValueDescription:!1},{name:"noFallthroughCasesInSwitch",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Enable_error_reporting_for_fallthrough_cases_in_switch_statements,defaultValueDescription:!1},{name:"noUncheckedIndexedAccess",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Add_undefined_to_a_type_when_accessed_using_an_index,defaultValueDescription:!1},{name:"noImplicitOverride",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier,defaultValueDescription:!1},{name:"noPropertyAccessFromIndexSignature",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!1,category:Ot.Type_Checking,description:Ot.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type,defaultValueDescription:!1},{name:"moduleResolution",type:new Map(Object.entries({node10:2,node:2,classic:1,node16:3,nodenext:99,bundler:100})),deprecatedKeys:new Set(["node"]),affectsSourceFile:!0,affectsModuleResolution:!0,paramType:Ot.STRATEGY,category:Ot.Modules,description:Ot.Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier,defaultValueDescription:Ot.module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node},{name:"baseUrl",type:"string",affectsModuleResolution:!0,isFilePath:!0,category:Ot.Modules,description:Ot.Specify_the_base_directory_to_resolve_non_relative_module_names},{name:"paths",type:"object",affectsModuleResolution:!0,allowConfigDirTemplateSubstitution:!0,isTSConfigOnly:!0,category:Ot.Modules,description:Ot.Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations,transpileOptionValue:void 0},{name:"rootDirs",type:"list",isTSConfigOnly:!0,element:{name:"rootDirs",type:"string",isFilePath:!0},affectsModuleResolution:!0,allowConfigDirTemplateSubstitution:!0,category:Ot.Modules,description:Ot.Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules,transpileOptionValue:void 0,defaultValueDescription:Ot.Computed_from_the_list_of_input_files},{name:"typeRoots",type:"list",element:{name:"typeRoots",type:"string",isFilePath:!0},affectsModuleResolution:!0,allowConfigDirTemplateSubstitution:!0,category:Ot.Modules,description:Ot.Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types},{name:"types",type:"list",element:{name:"types",type:"string"},affectsProgramStructure:!0,showInSimplifiedHelpView:!0,category:Ot.Modules,description:Ot.Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file,transpileOptionValue:void 0},{name:"allowSyntheticDefaultImports",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Interop_Constraints,description:Ot.Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export,defaultValueDescription:Ot.module_system_or_esModuleInterop},{name:"esModuleInterop",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:Ot.Interop_Constraints,description:Ot.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility,defaultValueDescription:!1},{name:"preserveSymlinks",type:"boolean",category:Ot.Interop_Constraints,description:Ot.Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node,defaultValueDescription:!1},{name:"allowUmdGlobalAccess",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Modules,description:Ot.Allow_accessing_UMD_globals_from_modules,defaultValueDescription:!1},{name:"moduleSuffixes",type:"list",element:{name:"suffix",type:"string"},listPreserveFalsyValues:!0,affectsModuleResolution:!0,category:Ot.Modules,description:Ot.List_of_file_name_suffixes_to_search_when_resolving_a_module},{name:"allowImportingTsExtensions",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Modules,description:Ot.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set,defaultValueDescription:!1,transpileOptionValue:void 0},{name:"rewriteRelativeImportExtensions",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Modules,description:Ot.Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_in_output_files,defaultValueDescription:!1},{name:"resolvePackageJsonExports",type:"boolean",affectsModuleResolution:!0,category:Ot.Modules,description:Ot.Use_the_package_json_exports_field_when_resolving_package_imports,defaultValueDescription:Ot.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false},{name:"resolvePackageJsonImports",type:"boolean",affectsModuleResolution:!0,category:Ot.Modules,description:Ot.Use_the_package_json_imports_field_when_resolving_imports,defaultValueDescription:Ot.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false},{name:"customConditions",type:"list",element:{name:"condition",type:"string"},affectsModuleResolution:!0,category:Ot.Modules,description:Ot.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports},{name:"noUncheckedSideEffectImports",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Modules,description:Ot.Check_side_effect_imports,defaultValueDescription:!1},{name:"sourceRoot",type:"string",affectsEmit:!0,affectsBuildInfo:!0,paramType:Ot.LOCATION,category:Ot.Emit,description:Ot.Specify_the_root_path_for_debuggers_to_find_the_reference_source_code},{name:"mapRoot",type:"string",affectsEmit:!0,affectsBuildInfo:!0,paramType:Ot.LOCATION,category:Ot.Emit,description:Ot.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations},{name:"inlineSources",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Emit,description:Ot.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript,defaultValueDescription:!1},{name:"experimentalDecorators",type:"boolean",affectsEmit:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Language_and_Environment,description:Ot.Enable_experimental_support_for_legacy_experimental_decorators,defaultValueDescription:!1},{name:"emitDecoratorMetadata",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Language_and_Environment,description:Ot.Emit_design_type_metadata_for_decorated_declarations_in_source_files,defaultValueDescription:!1},{name:"jsxFactory",type:"string",category:Ot.Language_and_Environment,description:Ot.Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h,defaultValueDescription:"`React.createElement`"},{name:"jsxFragmentFactory",type:"string",category:Ot.Language_and_Environment,description:Ot.Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment,defaultValueDescription:"React.Fragment"},{name:"jsxImportSource",type:"string",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,affectsModuleResolution:!0,affectsSourceFile:!0,category:Ot.Language_and_Environment,description:Ot.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk,defaultValueDescription:"react"},{name:"resolveJsonModule",type:"boolean",affectsModuleResolution:!0,category:Ot.Modules,description:Ot.Enable_importing_json_files,defaultValueDescription:!1},{name:"allowArbitraryExtensions",type:"boolean",affectsProgramStructure:!0,category:Ot.Modules,description:Ot.Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present,defaultValueDescription:!1},{name:"out",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!1,category:Ot.Backwards_Compatibility,paramType:Ot.FILE,transpileOptionValue:void 0,description:Ot.Deprecated_setting_Use_outFile_instead},{name:"reactNamespace",type:"string",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Language_and_Environment,description:Ot.Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit,defaultValueDescription:"`React`"},{name:"skipDefaultLibCheck",type:"boolean",affectsBuildInfo:!0,category:Ot.Completeness,description:Ot.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript,defaultValueDescription:!1},{name:"charset",type:"string",category:Ot.Backwards_Compatibility,description:Ot.No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files,defaultValueDescription:"utf8"},{name:"emitBOM",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Emit,description:Ot.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files,defaultValueDescription:!1},{name:"newLine",type:new Map(Object.entries({crlf:0,lf:1})),affectsEmit:!0,affectsBuildInfo:!0,paramType:Ot.NEWLINE,category:Ot.Emit,description:Ot.Set_the_newline_character_for_emitting_files,defaultValueDescription:"lf"},{name:"noErrorTruncation",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Output_Formatting,description:Ot.Disable_truncating_types_in_error_messages,defaultValueDescription:!1},{name:"noLib",type:"boolean",category:Ot.Language_and_Environment,affectsProgramStructure:!0,description:Ot.Disable_including_any_library_files_including_the_default_lib_d_ts,transpileOptionValue:!0,defaultValueDescription:!1},{name:"noResolve",type:"boolean",affectsModuleResolution:!0,category:Ot.Modules,description:Ot.Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project,transpileOptionValue:!0,defaultValueDescription:!1},{name:"stripInternal",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Emit,description:Ot.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments,defaultValueDescription:!1},{name:"disableSizeLimit",type:"boolean",affectsProgramStructure:!0,category:Ot.Editor_Support,description:Ot.Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server,defaultValueDescription:!1},{name:"disableSourceOfProjectReferenceRedirect",type:"boolean",isTSConfigOnly:!0,category:Ot.Projects,description:Ot.Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects,defaultValueDescription:!1},{name:"disableSolutionSearching",type:"boolean",isTSConfigOnly:!0,category:Ot.Projects,description:Ot.Opt_a_project_out_of_multi_project_reference_checking_when_editing,defaultValueDescription:!1},{name:"disableReferencedProjectLoad",type:"boolean",isTSConfigOnly:!0,category:Ot.Projects,description:Ot.Reduce_the_number_of_projects_loaded_automatically_by_TypeScript,defaultValueDescription:!1},{name:"noImplicitUseStrict",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Backwards_Compatibility,description:Ot.Disable_adding_use_strict_directives_in_emitted_JavaScript_files,defaultValueDescription:!1},{name:"noEmitHelpers",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Emit,description:Ot.Disable_generating_custom_helper_functions_like_extends_in_compiled_output,defaultValueDescription:!1},{name:"noEmitOnError",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Emit,transpileOptionValue:void 0,description:Ot.Disable_emitting_files_if_any_type_checking_errors_are_reported,defaultValueDescription:!1},{name:"preserveConstEnums",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Emit,description:Ot.Disable_erasing_const_enum_declarations_in_generated_code,defaultValueDescription:!1},{name:"declarationDir",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:Ot.DIRECTORY,category:Ot.Emit,transpileOptionValue:void 0,description:Ot.Specify_the_output_directory_for_generated_declaration_files},{name:"skipLibCheck",type:"boolean",affectsBuildInfo:!0,category:Ot.Completeness,description:Ot.Skip_type_checking_all_d_ts_files,defaultValueDescription:!1},{name:"allowUnusedLabels",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Disable_error_reporting_for_unused_labels,defaultValueDescription:void 0},{name:"allowUnreachableCode",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Type_Checking,description:Ot.Disable_error_reporting_for_unreachable_code,defaultValueDescription:void 0},{name:"suppressExcessPropertyErrors",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Backwards_Compatibility,description:Ot.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals,defaultValueDescription:!1},{name:"suppressImplicitAnyIndexErrors",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Backwards_Compatibility,description:Ot.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures,defaultValueDescription:!1},{name:"forceConsistentCasingInFileNames",type:"boolean",affectsModuleResolution:!0,category:Ot.Interop_Constraints,description:Ot.Ensure_that_casing_is_correct_in_imports,defaultValueDescription:!0},{name:"maxNodeModuleJsDepth",type:"number",affectsModuleResolution:!0,category:Ot.JavaScript_Support,description:Ot.Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs,defaultValueDescription:0},{name:"noStrictGenericChecks",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:Ot.Backwards_Compatibility,description:Ot.Disable_strict_checking_of_generic_signatures_in_function_types,defaultValueDescription:!1},{name:"useDefineForClassFields",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Language_and_Environment,description:Ot.Emit_ECMAScript_standard_compliant_class_fields,defaultValueDescription:Ot.true_for_ES2022_and_above_including_ESNext},{name:"preserveValueImports",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:Ot.Backwards_Compatibility,description:Ot.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed,defaultValueDescription:!1},{name:"keyofStringsOnly",type:"boolean",category:Ot.Backwards_Compatibility,description:Ot.Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option,defaultValueDescription:!1},{name:"plugins",type:"list",isTSConfigOnly:!0,element:{name:"plugin",type:"object"},description:Ot.Specify_a_list_of_language_service_plugins_to_include,category:Ot.Editor_Support},{name:"moduleDetection",type:new Map(Object.entries({auto:2,legacy:1,force:3})),affectsSourceFile:!0,affectsModuleResolution:!0,description:Ot.Control_what_method_is_used_to_detect_module_format_JS_files,category:Ot.Language_and_Environment,defaultValueDescription:Ot.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules},{name:"ignoreDeprecations",type:"string",defaultValueDescription:void 0}],Qi=[...Hi,...$i],Xi=Qi.filter(e=>!!e.affectsSemanticDiagnostics),Yi=Qi.filter(e=>!!e.affectsEmit),Zi=Qi.filter(e=>!!e.affectsDeclarationPath),eo=Qi.filter(e=>!!e.affectsModuleResolution),to=Qi.filter(e=>!!e.affectsSourceFile||!!e.affectsBindDiagnostics),no=Qi.filter(e=>!!e.affectsProgramStructure),ro=Qi.filter(e=>hasProperty(e,"transpileOptionValue")),io=Qi.filter(e=>e.allowConfigDirTemplateSubstitution||!e.isCommandLineOnly&&e.isFilePath),oo=qi.filter(e=>e.allowConfigDirTemplateSubstitution||!e.isCommandLineOnly&&e.isFilePath),ao=Qi.filter(function isCommandLineOptionOfCustomType(e){return!isString(e.type)});var so,co={name:"build",type:"boolean",shortName:"b",showInSimplifiedHelpView:!0,category:Ot.Command_line_Options,description:Ot.Build_one_or_more_projects_and_their_dependencies_if_out_of_date,defaultValueDescription:!1},lo=[co,{name:"verbose",shortName:"v",category:Ot.Command_line_Options,description:Ot.Enable_verbose_logging,type:"boolean",defaultValueDescription:!1},{name:"dry",shortName:"d",category:Ot.Command_line_Options,description:Ot.Show_what_would_be_built_or_deleted_if_specified_with_clean,type:"boolean",defaultValueDescription:!1},{name:"force",shortName:"f",category:Ot.Command_line_Options,description:Ot.Build_all_projects_including_those_that_appear_to_be_up_to_date,type:"boolean",defaultValueDescription:!1},{name:"clean",category:Ot.Command_line_Options,description:Ot.Delete_the_outputs_of_all_projects,type:"boolean",defaultValueDescription:!1},{name:"stopBuildOnErrors",category:Ot.Command_line_Options,description:Ot.Skip_building_downstream_projects_on_error_in_upstream_project,type:"boolean",defaultValueDescription:!1}],po=[...Hi,...lo],uo=[{name:"enable",type:"boolean",defaultValueDescription:!1},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}},{name:"disableFilenameBasedTypeAcquisition",type:"boolean",defaultValueDescription:!1}];function createOptionNameMap(e){const t=new Map,n=new Map;return forEach(e,e=>{t.set(e.name.toLowerCase(),e),e.shortName&&n.set(e.shortName,e.name)}),{optionsNameMap:t,shortOptionNames:n}}function getOptionsNameMap(){return so||(so=createOptionNameMap(Qi))}var mo={diagnostic:Ot.Compiler_option_0_may_only_be_used_with_build,getOptionsNameMap:getBuildOptionsNameMap},_o={module:1,target:3,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0};function createCompilerDiagnosticForInvalidCustomType(e){return createDiagnosticForInvalidCustomType(e,createCompilerDiagnostic)}function createDiagnosticForInvalidCustomType(e,t){const n=arrayFrom(e.type.keys()),r=(e.deprecatedKeys?n.filter(t=>!e.deprecatedKeys.has(t)):n).map(e=>`'${e}'`).join(", ");return t(Ot.Argument_for_0_option_must_be_Colon_1,`--${e.name}`,r)}function parseCustomTypeOption(e,t,n){return convertJsonOptionOfCustomType(e,(t??"").trim(),n)}function parseListTypeOption(e,t="",n){if(startsWith(t=t.trim(),"-"))return;if("listOrElement"===e.type&&!t.includes(","))return validateJsonOptionValue(e,t,n);if(""===t)return[];const r=t.split(",");switch(e.element.type){case"number":return mapDefined(r,t=>validateJsonOptionValue(e.element,parseInt(t),n));case"string":return mapDefined(r,t=>validateJsonOptionValue(e.element,t||"",n));case"boolean":case"object":return h.fail(`List of ${e.element.type} is not yet supported.`);default:return mapDefined(r,t=>parseCustomTypeOption(e.element,t,n))}}function getOptionName(e){return e.name}function createUnknownOptionError(e,t,n,r,i){var o;const a=null==(o=t.alternateMode)?void 0:o.getOptionsNameMap().optionsNameMap.get(e.toLowerCase());if(a)return createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(i,r,a!==co?t.alternateMode.diagnostic:Ot.Option_build_must_be_the_first_command_line_argument,e);const s=getSpellingSuggestion(e,t.optionDeclarations,getOptionName);return s?createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(i,r,t.unknownDidYouMeanDiagnostic,n||e,s.name):createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(i,r,t.unknownOptionDiagnostic,n||e)}function parseCommandLineWorker(e,t,n){const r={};let i;const o=[],a=[];return parseStrings(t),{options:r,watchOptions:i,fileNames:o,errors:a};function parseStrings(t){let n=0;for(;n<t.length;){const s=t[n];if(n++,64===s.charCodeAt(0))parseResponseFile(s.slice(1));else if(45===s.charCodeAt(0)){const o=s.slice(45===s.charCodeAt(1)?2:1),c=getOptionDeclarationFromName(e.getOptionsNameMap,o,!0);if(c)n=parseOptionValue(t,n,e,c,r,a);else{const r=getOptionDeclarationFromName(bo.getOptionsNameMap,o,!0);r?n=parseOptionValue(t,n,bo,r,i||(i={}),a):a.push(createUnknownOptionError(o,e,s))}}else o.push(s)}}function parseResponseFile(e){const t=tryReadFile(e,n||(e=>kt.readFile(e)));if(!isString(t))return void a.push(t);const r=[];let i=0;for(;;){for(;i<t.length&&t.charCodeAt(i)<=32;)i++;if(i>=t.length)break;const n=i;if(34===t.charCodeAt(n)){for(i++;i<t.length&&34!==t.charCodeAt(i);)i++;i<t.length?(r.push(t.substring(n+1,i)),i++):a.push(createCompilerDiagnostic(Ot.Unterminated_quoted_string_in_response_file_0,e))}else{for(;t.charCodeAt(i)>32;)i++;r.push(t.substring(n,i))}}parseStrings(r)}}function parseOptionValue(e,t,n,r,i,o){if(r.isTSConfigOnly){const n=e[t];"null"===n?(i[r.name]=void 0,t++):"boolean"===r.type?"false"===n?(i[r.name]=validateJsonOptionValue(r,!1,o),t++):("true"===n&&t++,o.push(createCompilerDiagnostic(Ot.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,r.name))):(o.push(createCompilerDiagnostic(Ot.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,r.name)),n&&!startsWith(n,"-")&&t++)}else if(e[t]||"boolean"===r.type||o.push(createCompilerDiagnostic(n.optionTypeMismatchDiagnostic,r.name,getCompilerOptionValueTypeString(r))),"null"!==e[t])switch(r.type){case"number":i[r.name]=validateJsonOptionValue(r,parseInt(e[t]),o),t++;break;case"boolean":const n=e[t];i[r.name]=validateJsonOptionValue(r,"false"!==n,o),"false"!==n&&"true"!==n||t++;break;case"string":i[r.name]=validateJsonOptionValue(r,e[t]||"",o),t++;break;case"list":const a=parseListTypeOption(r,e[t],o);i[r.name]=a||[],a&&t++;break;case"listOrElement":h.fail("listOrElement not supported here");break;default:i[r.name]=parseCustomTypeOption(r,e[t],o),t++}else i[r.name]=void 0,t++;return t}var fo,go={alternateMode:mo,getOptionsNameMap,optionDeclarations:Qi,unknownOptionDiagnostic:Ot.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:Ot.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:Ot.Compiler_option_0_expects_an_argument};function parseCommandLine(e,t){return parseCommandLineWorker(go,e,t)}function getOptionFromName(e,t){return getOptionDeclarationFromName(getOptionsNameMap,e,t)}function getOptionDeclarationFromName(e,t,n=!1){t=t.toLowerCase();const{optionsNameMap:r,shortOptionNames:i}=e();if(n){const e=i.get(t);void 0!==e&&(t=e)}return r.get(t)}function getBuildOptionsNameMap(){return fo||(fo=createOptionNameMap(po))}var yo={alternateMode:{diagnostic:Ot.Compiler_option_0_may_not_be_used_with_build,getOptionsNameMap},getOptionsNameMap:getBuildOptionsNameMap,optionDeclarations:po,unknownOptionDiagnostic:Ot.Unknown_build_option_0,unknownDidYouMeanDiagnostic:Ot.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:Ot.Build_option_0_requires_a_value_of_type_1};function parseBuildCommand(e){const{options:t,watchOptions:n,fileNames:r,errors:i}=parseCommandLineWorker(yo,e),o=t;return 0===r.length&&r.push("."),o.clean&&o.force&&i.push(createCompilerDiagnostic(Ot.Options_0_and_1_cannot_be_combined,"clean","force")),o.clean&&o.verbose&&i.push(createCompilerDiagnostic(Ot.Options_0_and_1_cannot_be_combined,"clean","verbose")),o.clean&&o.watch&&i.push(createCompilerDiagnostic(Ot.Options_0_and_1_cannot_be_combined,"clean","watch")),o.watch&&o.dry&&i.push(createCompilerDiagnostic(Ot.Options_0_and_1_cannot_be_combined,"watch","dry")),{buildOptions:o,watchOptions:n,projects:r,errors:i}}function getDiagnosticText(e,...t){return cast(createCompilerDiagnostic(e,...t).messageText,isString)}function getParsedCommandLineOfConfigFile(e,t,n,r,i,o){const a=tryReadFile(e,e=>n.readFile(e));if(!isString(a))return void n.onUnRecoverableConfigFileDiagnostic(a);const s=parseJsonText(e,a),c=n.getCurrentDirectory();return s.path=toPath(e,c,createGetCanonicalFileName(n.useCaseSensitiveFileNames)),s.resolvedPath=s.path,s.originalFileName=s.fileName,parseJsonSourceFileConfigFileContent(s,n,getNormalizedAbsolutePath(getDirectoryPath(e),c),t,getNormalizedAbsolutePath(e,c),void 0,o,r,i)}function readConfigFile(e,t){const n=tryReadFile(e,t);return isString(n)?parseConfigFileTextToJson(e,n):{config:{},error:n}}function parseConfigFileTextToJson(e,t){const n=parseJsonText(e,t);return{config:convertConfigFileToObject(n,n.parseDiagnostics,void 0),error:n.parseDiagnostics.length?n.parseDiagnostics[0]:void 0}}function readJsonConfigFile(e,t){const n=tryReadFile(e,t);return isString(n)?parseJsonText(e,n):{fileName:e,parseDiagnostics:[n]}}function tryReadFile(e,t){let n;try{n=t(e)}catch(t){return createCompilerDiagnostic(Ot.Cannot_read_file_0_Colon_1,e,t.message)}return void 0===n?createCompilerDiagnostic(Ot.Cannot_read_file_0,e):n}function commandLineOptionsToMap(e){return arrayToMap(e,getOptionName)}var ho,To={optionDeclarations:uo,unknownOptionDiagnostic:Ot.Unknown_type_acquisition_option_0,unknownDidYouMeanDiagnostic:Ot.Unknown_type_acquisition_option_0_Did_you_mean_1};function getWatchOptionsNameMap(){return ho||(ho=createOptionNameMap(qi))}var So,xo,vo,bo={getOptionsNameMap:getWatchOptionsNameMap,optionDeclarations:qi,unknownOptionDiagnostic:Ot.Unknown_watch_option_0,unknownDidYouMeanDiagnostic:Ot.Unknown_watch_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:Ot.Watch_option_0_requires_a_value_of_type_1};function getCommandLineCompilerOptionsMap(){return So||(So=commandLineOptionsToMap(Qi))}function getCommandLineWatchOptionsMap(){return xo||(xo=commandLineOptionsToMap(qi))}function getCommandLineTypeAcquisitionMap(){return vo||(vo=commandLineOptionsToMap(uo))}var Co,Eo={name:"extends",type:"listOrElement",element:{name:"extends",type:"string"},category:Ot.File_Management,disallowNullOrUndefined:!0},No={name:"compilerOptions",type:"object",elementOptions:getCommandLineCompilerOptionsMap(),extraKeyDiagnostics:go},ko={name:"watchOptions",type:"object",elementOptions:getCommandLineWatchOptionsMap(),extraKeyDiagnostics:bo},Fo={name:"typeAcquisition",type:"object",elementOptions:getCommandLineTypeAcquisitionMap(),extraKeyDiagnostics:To};function convertConfigFileToObject(e,t,n){var r;const i=null==(r=e.statements[0])?void 0:r.expression;if(i&&211!==i.kind){if(t.push(createDiagnosticForNodeInSourceFile(e,i,Ot.The_root_value_of_a_0_file_must_be_an_object,"jsconfig.json"===getBaseFileName(e.fileName)?"jsconfig.json":"tsconfig.json")),isArrayLiteralExpression(i)){const r=find(i.elements,isObjectLiteralExpression);if(r)return convertToJson(e,r,t,!0,n)}return{}}return convertToJson(e,i,t,!0,n)}function convertToObject(e,t){var n;return convertToJson(e,null==(n=e.statements[0])?void 0:n.expression,t,!0,void 0)}function convertToJson(e,t,n,r,i){return t?convertPropertyValueToJson(t,null==i?void 0:i.rootOptions):r?{}:void 0;function convertPropertyValueToJson(t,o){switch(t.kind){case 112:return!0;case 97:return!1;case 106:return null;case 11:return isDoubleQuotedString(t)||n.push(createDiagnosticForNodeInSourceFile(e,t,Ot.String_literal_with_double_quotes_expected)),t.text;case 9:return Number(t.text);case 225:if(41!==t.operator||9!==t.operand.kind)break;return-Number(t.operand.text);case 211:return function convertObjectLiteralExpressionToJson(t,o){var a;const s=r?{}:void 0;for(const c of t.properties){if(304!==c.kind){n.push(createDiagnosticForNodeInSourceFile(e,c,Ot.Property_assignment_expected));continue}c.questionToken&&n.push(createDiagnosticForNodeInSourceFile(e,c.questionToken,Ot.The_0_modifier_can_only_be_used_in_TypeScript_files,"?")),isDoubleQuotedString(c.name)||n.push(createDiagnosticForNodeInSourceFile(e,c.name,Ot.String_literal_with_double_quotes_expected));const t=isComputedNonLiteralName(c.name)?void 0:getTextOfPropertyName(c.name),l=t&&unescapeLeadingUnderscores(t),d=l?null==(a=null==o?void 0:o.elementOptions)?void 0:a.get(l):void 0,p=convertPropertyValueToJson(c.initializer,d);void 0!==l&&(r&&(s[l]=p),null==i||i.onPropertySet(l,p,c,o,d))}return s}(t,o);case 210:return function convertArrayLiteralExpressionToJson(e,t){if(r)return filter(e.map(e=>convertPropertyValueToJson(e,t)),e=>void 0!==e);e.forEach(e=>convertPropertyValueToJson(e,t))}(t.elements,o&&o.element)}o?n.push(createDiagnosticForNodeInSourceFile(e,t,Ot.Compiler_option_0_requires_a_value_of_type_1,o.name,getCompilerOptionValueTypeString(o))):n.push(createDiagnosticForNodeInSourceFile(e,t,Ot.Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal))}function isDoubleQuotedString(t){return isStringLiteral(t)&&isStringDoubleQuoted(t,e)}}function getCompilerOptionValueTypeString(e){return"listOrElement"===e.type?`${getCompilerOptionValueTypeString(e.element)} or Array`:"list"===e.type?"Array":isString(e.type)?e.type:"string"}function isCompilerOptionsValue(e,t){if(e){if(isNullOrUndefined(t))return!e.disallowNullOrUndefined;if("list"===e.type)return isArray(t);if("listOrElement"===e.type)return isArray(t)||isCompilerOptionsValue(e.element,t);return typeof t===(isString(e.type)?e.type:"string")}return!1}function convertToTSConfig(e,t,n){var r,i,o;const a=createGetCanonicalFileName(n.useCaseSensitiveFileNames),s=map(filter(e.fileNames,(null==(i=null==(r=e.options.configFile)?void 0:r.configFileSpecs)?void 0:i.validatedIncludeSpecs)?function matchesSpecs(e,t,n,r){if(!t)return returnTrue;const i=getFileMatcherPatterns(e,n,t,r.useCaseSensitiveFileNames,r.getCurrentDirectory()),o=i.excludePattern&&getRegexFromPattern(i.excludePattern,r.useCaseSensitiveFileNames),a=i.includeFilePattern&&getRegexFromPattern(i.includeFilePattern,r.useCaseSensitiveFileNames);if(a)return o?e=>!(a.test(e)&&!o.test(e)):e=>!a.test(e);if(o)return e=>o.test(e);return returnTrue}(t,e.options.configFile.configFileSpecs.validatedIncludeSpecs,e.options.configFile.configFileSpecs.validatedExcludeSpecs,n):returnTrue),e=>getRelativePathFromFile(getNormalizedAbsolutePath(t,n.getCurrentDirectory()),getNormalizedAbsolutePath(e,n.getCurrentDirectory()),a)),c={configFilePath:getNormalizedAbsolutePath(t,n.getCurrentDirectory()),useCaseSensitiveFileNames:n.useCaseSensitiveFileNames},l=serializeCompilerOptions(e.options,c),d=e.watchOptions&&function serializeWatchOptions(e){return serializeOptionBaseObject(e,getWatchOptionsNameMap())}(e.watchOptions),p={compilerOptions:{...optionMapToObject(l),showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0},watchOptions:d&&optionMapToObject(d),references:map(e.projectReferences,e=>({...e,path:e.originalPath?e.originalPath:"",originalPath:void 0})),files:length(s)?s:void 0,...(null==(o=e.options.configFile)?void 0:o.configFileSpecs)?{include:filterSameAsDefaultInclude(e.options.configFile.configFileSpecs.validatedIncludeSpecs),exclude:e.options.configFile.configFileSpecs.validatedExcludeSpecs}:{},compileOnSave:!!e.compileOnSave||void 0},u=new Set(l.keys()),m={};for(const t in Wn)if(!u.has(t)&&optionDependsOn(t,u)){Wn[t].computeValue(e.options)!==Wn[t].computeValue({})&&(m[t]=Wn[t].computeValue(e.options))}return assign(p.compilerOptions,optionMapToObject(serializeCompilerOptions(m,c))),p}function optionDependsOn(e,t){const n=new Set;return function optionDependsOnRecursive(e){var r;if(addToSeen(n,e))return some(null==(r=Wn[e])?void 0:r.dependencies,e=>t.has(e)||optionDependsOnRecursive(e));return!1}(e)}function optionMapToObject(e){return Object.fromEntries(e)}function filterSameAsDefaultInclude(e){if(length(e)){if(1!==length(e))return e;if(e[0]!==Po)return e}}function getCustomTypeMapOfCommandLineOption(e){switch(e.type){case"string":case"number":case"boolean":case"object":return;case"list":case"listOrElement":return getCustomTypeMapOfCommandLineOption(e.element);default:return e.type}}function getNameOfCompilerOptionValue(e,t){return forEachEntry(t,(t,n)=>{if(t===e)return n})}function serializeCompilerOptions(e,t){return serializeOptionBaseObject(e,getOptionsNameMap(),t)}function serializeOptionBaseObject(e,{optionsNameMap:t},n){const r=new Map,i=n&&createGetCanonicalFileName(n.useCaseSensitiveFileNames);for(const o in e)if(hasProperty(e,o)){if(t.has(o)&&(t.get(o).category===Ot.Command_line_Options||t.get(o).category===Ot.Output_Formatting))continue;const a=e[o],s=t.get(o.toLowerCase());if(s){h.assert("listOrElement"!==s.type);const e=getCustomTypeMapOfCommandLineOption(s);e?"list"===s.type?r.set(o,a.map(t=>getNameOfCompilerOptionValue(t,e))):r.set(o,getNameOfCompilerOptionValue(a,e)):n&&s.isFilePath?r.set(o,getRelativePathFromFile(n.configFilePath,getNormalizedAbsolutePath(a,getDirectoryPath(n.configFilePath)),i)):n&&"list"===s.type&&s.element.isFilePath?r.set(o,a.map(e=>getRelativePathFromFile(n.configFilePath,getNormalizedAbsolutePath(e,getDirectoryPath(n.configFilePath)),i))):r.set(o,a)}}return r}function generateTSConfig(e,t){const n=" ",r=[],i=Object.keys(e).filter(e=>"init"!==e&&"help"!==e&&"watch"!==e);if(r.push("{"),r.push(`${n}// ${getLocaleSpecificMessage(Ot.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file)}`),r.push(`${n}"compilerOptions": {`),emitHeader(Ot.File_Layout),emitOption("rootDir","./src","optional"),emitOption("outDir","./dist","optional"),newline(),emitHeader(Ot.Environment_Settings),emitHeader(Ot.See_also_https_Colon_Slash_Slashaka_ms_Slashtsconfig_Slashmodule),emitOption("module",199),emitOption("target",99),emitOption("types",[]),e.lib&&emitOption("lib",e.lib),emitHeader(Ot.For_nodejs_Colon),r.push(`${n}${n}// "lib": ["esnext"],`),r.push(`${n}${n}// "types": ["node"],`),emitHeader(Ot.and_npm_install_D_types_Slashnode),newline(),emitHeader(Ot.Other_Outputs),emitOption("sourceMap",!0),emitOption("declaration",!0),emitOption("declarationMap",!0),newline(),emitHeader(Ot.Stricter_Typechecking_Options),emitOption("noUncheckedIndexedAccess",!0),emitOption("exactOptionalPropertyTypes",!0),newline(),emitHeader(Ot.Style_Options),emitOption("noImplicitReturns",!0,"optional"),emitOption("noImplicitOverride",!0,"optional"),emitOption("noUnusedLocals",!0,"optional"),emitOption("noUnusedParameters",!0,"optional"),emitOption("noFallthroughCasesInSwitch",!0,"optional"),emitOption("noPropertyAccessFromIndexSignature",!0,"optional"),newline(),emitHeader(Ot.Recommended_Options),emitOption("strict",!0),emitOption("jsx",4),emitOption("verbatimModuleSyntax",!0),emitOption("isolatedModules",!0),emitOption("noUncheckedSideEffectImports",!0),emitOption("moduleDetection",3),emitOption("skipLibCheck",!0),i.length>0)for(newline();i.length>0;)emitOption(i[0],e[i[0]]);function newline(){r.push("")}function emitHeader(e){r.push(`${n}${n}// ${getLocaleSpecificMessage(e)}`)}function emitOption(t,o,a="never"){const s=i.indexOf(t);let c;s>=0&&i.splice(s,1),c="always"===a||"never"!==a&&!hasProperty(e,t);const l=e[t]??o;c?r.push(`${n}${n}// "${t}": ${formatValueOrArray(t,l)},`):r.push(`${n}${n}"${t}": ${formatValueOrArray(t,l)},`)}function formatValueOrArray(e,t){const n=Qi.filter(t=>t.name===e)[0];n||h.fail(`No option named ${e}?`);const r=n.type instanceof Map?n.type:void 0;if(isArray(t)){const e="element"in n&&n.element.type instanceof Map?n.element.type:void 0;return`[${t.map(t=>formatSingleValue(t,e)).join(", ")}]`}return formatSingleValue(t,r)}function formatSingleValue(e,t){return t&&(e=getNameOfCompilerOptionValue(e,t)??h.fail(`No matching value of ${e}`)),JSON.stringify(e)}return r.push(`${n}}`),r.push("}"),r.push(""),r.join(t)}function convertToOptionsWithAbsolutePaths(e,t){const n={},r=getOptionsNameMap().optionsNameMap;for(const i in e)hasProperty(e,i)&&(n[i]=convertToOptionValueWithAbsolutePaths(r.get(i.toLowerCase()),e[i],t));return n.configFilePath&&(n.configFilePath=t(n.configFilePath)),n}function convertToOptionValueWithAbsolutePaths(e,t,n){if(e&&!isNullOrUndefined(t)){if("list"===e.type){const r=t;if(e.element.isFilePath&&r.length)return r.map(n)}else if(e.isFilePath)return n(t);h.assert("listOrElement"!==e.type)}return t}function parseJsonConfigFileContent(e,t,n,r,i,o,a,s,c){return parseJsonConfigFileContentWorker(e,void 0,t,n,r,c,i,o,a,s)}function parseJsonSourceFileConfigFileContent(e,t,n,r,i,o,a,s,c){var l,d;null==(l=J)||l.push(J.Phase.Parse,"parseJsonSourceFileConfigFileContent",{path:e.fileName});const p=parseJsonConfigFileContentWorker(void 0,e,t,n,r,c,i,o,a,s);return null==(d=J)||d.pop(),p}function setConfigFileInOptions(e,t){t&&Object.defineProperty(e,"configFile",{enumerable:!1,writable:!1,value:t})}function isNullOrUndefined(e){return null==e}function directoryOfCombinedPath(e,t){return getDirectoryPath(getNormalizedAbsolutePath(e,t))}var Po="**/*";function parseJsonConfigFileContentWorker(e,t,n,r,i={},o,a,s=[],c=[],l){h.assert(void 0===e&&void 0!==t||void 0!==e&&void 0===t);const d=[],p=parseConfig(e,t,n,r,a,s,d,l),{raw:u}=p,m=handleOptionConfigDirTemplateSubstitution(extend(i,p.options||{}),io,r),_=handleWatchOptionsConfigDirTemplateSubstitution(o&&p.watchOptions?extend(o,p.watchOptions):p.watchOptions||o,r);m.configFilePath=a&&normalizeSlashes(a);const f=normalizePath(a?directoryOfCombinedPath(a,r):r),g=function getConfigFileSpecs(){const e=getPropFromRaw("references",e=>"object"==typeof e,"object"),n=toPropValue(getSpecsFromRaw("files"));if(n){const r="no-prop"===e||isArray(e)&&0===e.length,i=hasProperty(u,"extends");if(0===n.length&&r&&!i)if(t){const e=a||"tsconfig.json",n=Ot.The_files_list_in_config_file_0_is_empty,r=forEachTsConfigPropArray(t,"files",e=>e.initializer),i=createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(t,r,n,e);d.push(i)}else createCompilerDiagnosticOnlyIfJson(Ot.The_files_list_in_config_file_0_is_empty,a||"tsconfig.json")}let r=toPropValue(getSpecsFromRaw("include"));const i=getSpecsFromRaw("exclude");let o,s,c,l,p=!1,_=toPropValue(i);if("no-prop"===i){const e=m.outDir,t=m.declarationDir;(e||t)&&(_=filter([e,t],e=>!!e))}void 0===n&&void 0===r&&(r=[Po],p=!0);r&&(o=validateSpecs(r,d,!0,t,"include"),c=getSubstitutedStringArrayWithConfigDirTemplate(o,f)||o);_&&(s=validateSpecs(_,d,!1,t,"exclude"),l=getSubstitutedStringArrayWithConfigDirTemplate(s,f)||s);const g=filter(n,isString),y=getSubstitutedStringArrayWithConfigDirTemplate(g,f)||g;return{filesSpecs:n,includeSpecs:r,excludeSpecs:_,validatedFilesSpec:y,validatedIncludeSpecs:c,validatedExcludeSpecs:l,validatedFilesSpecBeforeSubstitution:g,validatedIncludeSpecsBeforeSubstitution:o,validatedExcludeSpecsBeforeSubstitution:s,isDefaultIncludeSpec:p}}();return t&&(t.configFileSpecs=g),setConfigFileInOptions(m,t),{options:m,watchOptions:_,fileNames:function getFileNames(e){const t=getFileNamesFromConfigSpecs(g,e,m,n,c);shouldReportNoInputFiles(t,canJsonReportNoInputFiles(u),s)&&d.push(getErrorForNoInputFiles(g,a));return t}(f),projectReferences:function getProjectReferences(e){let t;const n=getPropFromRaw("references",e=>"object"==typeof e,"object");if(isArray(n))for(const r of n)"string"!=typeof r.path?createCompilerDiagnosticOnlyIfJson(Ot.Compiler_option_0_requires_a_value_of_type_1,"reference.path","string"):(t||(t=[])).push({path:getNormalizedAbsolutePath(r.path,e),originalPath:r.path,prepend:r.prepend,circular:r.circular});return t}(f),typeAcquisition:p.typeAcquisition||getDefaultTypeAcquisition(),raw:u,errors:d,wildcardDirectories:getWildcardDirectories(g,f,n.useCaseSensitiveFileNames),compileOnSave:!!u.compileOnSave};function toPropValue(e){return isArray(e)?e:void 0}function getSpecsFromRaw(e){return getPropFromRaw(e,isString,"string")}function getPropFromRaw(e,n,r){if(hasProperty(u,e)&&!isNullOrUndefined(u[e])){if(isArray(u[e])){const i=u[e];return t||every(i,n)||d.push(createCompilerDiagnostic(Ot.Compiler_option_0_requires_a_value_of_type_1,e,r)),i}return createCompilerDiagnosticOnlyIfJson(Ot.Compiler_option_0_requires_a_value_of_type_1,e,"Array"),"not-array"}return"no-prop"}function createCompilerDiagnosticOnlyIfJson(e,...n){t||d.push(createCompilerDiagnostic(e,...n))}}function handleWatchOptionsConfigDirTemplateSubstitution(e,t){return handleOptionConfigDirTemplateSubstitution(e,oo,t)}function handleOptionConfigDirTemplateSubstitution(e,t,n){if(!e)return e;let r;for(const r of t)if(void 0!==e[r.name]){const t=e[r.name];switch(r.type){case"string":h.assert(r.isFilePath),startsWithConfigDirTemplate(t)&&setOptionValue(r,getSubstitutedPathWithConfigDirTemplate(t,n));break;case"list":h.assert(r.element.isFilePath);const e=getSubstitutedStringArrayWithConfigDirTemplate(t,n);e&&setOptionValue(r,e);break;case"object":h.assert("paths"===r.name);const i=getSubstitutedMapLikeOfStringArrayWithConfigDirTemplate(t,n);i&&setOptionValue(r,i);break;default:h.fail("option type not supported")}}return r||e;function setOptionValue(t,n){(r??(r=assign({},e)))[t.name]=n}}var Do="${configDir}";function startsWithConfigDirTemplate(e){return isString(e)&&startsWith(e,Do,!0)}function getSubstitutedPathWithConfigDirTemplate(e,t){return getNormalizedAbsolutePath(e.replace(Do,"./"),t)}function getSubstitutedStringArrayWithConfigDirTemplate(e,t){if(!e)return e;let n;return e.forEach((r,i)=>{startsWithConfigDirTemplate(r)&&((n??(n=e.slice()))[i]=getSubstitutedPathWithConfigDirTemplate(r,t))}),n}function getSubstitutedMapLikeOfStringArrayWithConfigDirTemplate(e,t){let n;return getOwnKeys(e).forEach(r=>{if(!isArray(e[r]))return;const i=getSubstitutedStringArrayWithConfigDirTemplate(e[r],t);i&&((n??(n=assign({},e)))[r]=i)}),n}function getErrorForNoInputFiles({includeSpecs:e,excludeSpecs:t},n){return createCompilerDiagnostic(Ot.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,n||"tsconfig.json",JSON.stringify(e||[]),JSON.stringify(t||[]))}function shouldReportNoInputFiles(e,t,n){return 0===e.length&&t&&(!n||0===n.length)}function isSolutionConfig(e){return!e.fileNames.length&&hasProperty(e.raw,"references")}function canJsonReportNoInputFiles(e){return!hasProperty(e,"files")&&!hasProperty(e,"references")}function updateErrorForNoInputFiles(e,t,n,r,i){const o=r.length;return shouldReportNoInputFiles(e,i)?r.push(getErrorForNoInputFiles(n,t)):filterMutate(r,e=>!function isErrorNoInputFiles(e){return e.code===Ot.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2.code}(e)),o!==r.length}function parseConfig(e,t,n,r,i,o,a,s){var c;const l=getNormalizedAbsolutePath(i||"",r=normalizeSlashes(r));if(o.includes(l))return a.push(createCompilerDiagnostic(Ot.Circularity_detected_while_resolving_configuration_Colon_0,[...o,l].join(" -> "))),{raw:e||convertToObject(t,a)};const d=e?function parseOwnConfigOfJson(e,t,n,r,i){hasProperty(e,"excludes")&&i.push(createCompilerDiagnostic(Ot.Unknown_option_excludes_Did_you_mean_exclude));const o=convertCompilerOptionsFromJsonWorker(e.compilerOptions,n,i,r),a=convertTypeAcquisitionFromJsonWorker(e.typeAcquisition,n,i,r),s=function convertWatchOptionsFromJsonWorker(e,t,n){return convertOptionsFromJson(getCommandLineWatchOptionsMap(),e,t,void 0,bo,n)}(e.watchOptions,n,i);e.compileOnSave=function convertCompileOnSaveOptionFromJson(e,t,n){if(!hasProperty(e,ji.name))return!1;const r=convertJsonOption(ji,e.compileOnSave,t,n);return"boolean"==typeof r&&r}(e,n,i);const c=e.extends||""===e.extends?getExtendsConfigPathOrArray(e.extends,t,n,r,i):void 0;return{raw:e,options:o,watchOptions:s,typeAcquisition:a,extendedConfigPath:c}}(e,n,r,i,a):function parseOwnConfigOfJsonSourceFile(e,t,n,r,i){const o=getDefaultCompilerOptions(r);let a,s,c,l;const d=function getTsconfigRootOptionsMap(){return void 0===Co&&(Co={name:void 0,type:"object",elementOptions:commandLineOptionsToMap([No,ko,Fo,Eo,{name:"references",type:"list",element:{name:"references",type:"object"},category:Ot.Projects},{name:"files",type:"list",element:{name:"files",type:"string"},category:Ot.File_Management},{name:"include",type:"list",element:{name:"include",type:"string"},category:Ot.File_Management,defaultValueDescription:Ot.if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk},{name:"exclude",type:"list",element:{name:"exclude",type:"string"},category:Ot.File_Management,defaultValueDescription:Ot.node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified},ji])}),Co}(),p=convertConfigFileToObject(e,i,{rootOptions:d,onPropertySet});a||(a=getDefaultTypeAcquisition(r));l&&p&&void 0===p.compilerOptions&&i.push(createDiagnosticForNodeInSourceFile(e,l[0],Ot._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file,getTextOfPropertyName(l[0])));return{raw:p,options:o,watchOptions:s,typeAcquisition:a,extendedConfigPath:c};function onPropertySet(p,u,m,_,f){if(f&&f!==Eo&&(u=convertJsonOption(f,u,n,i,m,m.initializer,e)),null==_?void 0:_.name)if(f){let e;_===No?e=o:_===ko?e=s??(s={}):_===Fo?e=a??(a=getDefaultTypeAcquisition(r)):h.fail("Unknown option"),e[f.name]=u}else p&&(null==_?void 0:_.extraKeyDiagnostics)&&(_.elementOptions?i.push(createUnknownOptionError(p,_.extraKeyDiagnostics,void 0,m.name,e)):i.push(createDiagnosticForNodeInSourceFile(e,m.name,_.extraKeyDiagnostics.unknownOptionDiagnostic,p)));else _===d&&(f===Eo?c=getExtendsConfigPathOrArray(u,t,n,r,i,m,m.initializer,e):f||("excludes"===p&&i.push(createDiagnosticForNodeInSourceFile(e,m.name,Ot.Unknown_option_excludes_Did_you_mean_exclude)),find($i,e=>e.name===p)&&(l=append(l,m.name))))}}(t,n,r,i,a);if((null==(c=d.options)?void 0:c.paths)&&(d.options.pathsBasePath=r),d.extendedConfigPath){o=o.concat([l]);const e={options:{}};isString(d.extendedConfigPath)?applyExtendedConfig(e,d.extendedConfigPath):d.extendedConfigPath.forEach(t=>applyExtendedConfig(e,t)),e.include&&(d.raw.include=e.include),e.exclude&&(d.raw.exclude=e.exclude),e.files&&(d.raw.files=e.files),void 0===d.raw.compileOnSave&&e.compileOnSave&&(d.raw.compileOnSave=e.compileOnSave),t&&e.extendedSourceFiles&&(t.extendedSourceFiles=arrayFrom(e.extendedSourceFiles.keys())),d.options=assign(e.options,d.options),d.watchOptions=d.watchOptions&&e.watchOptions?assignWatchOptions(e,d.watchOptions):d.watchOptions||e.watchOptions}return d;function applyExtendedConfig(e,i){const c=function getExtendedConfig(e,t,n,r,i,o,a){const s=n.useCaseSensitiveFileNames?t:toFileNameLowerCase(t);let c,l,d;o&&(c=o.get(s))?({extendedResult:l,extendedConfig:d}=c):(l=readJsonConfigFile(t,e=>n.readFile(e)),l.parseDiagnostics.length||(d=parseConfig(void 0,l,n,getDirectoryPath(t),getBaseFileName(t),r,i,o)),o&&o.set(s,{extendedResult:l,extendedConfig:d}));if(e&&((a.extendedSourceFiles??(a.extendedSourceFiles=new Set)).add(l.fileName),l.extendedSourceFiles))for(const e of l.extendedSourceFiles)a.extendedSourceFiles.add(e);if(l.parseDiagnostics.length)return void i.push(...l.parseDiagnostics);return d}(t,i,n,o,a,s,e);if(c&&function isSuccessfulParsedTsconfig(e){return!!e.options}(c)){const t=c.raw;let o;const setPropertyInResultIfNotUndefined=a=>{d.raw[a]||t[a]&&(e[a]=map(t[a],e=>startsWithConfigDirTemplate(e)||isRootedDiskPath(e)?e:combinePaths(o||(o=convertToRelativePath(getDirectoryPath(i),r,createGetCanonicalFileName(n.useCaseSensitiveFileNames))),e)))};setPropertyInResultIfNotUndefined("include"),setPropertyInResultIfNotUndefined("exclude"),setPropertyInResultIfNotUndefined("files"),void 0!==t.compileOnSave&&(e.compileOnSave=t.compileOnSave),assign(e.options,c.options),e.watchOptions=e.watchOptions&&c.watchOptions?assignWatchOptions(e,c.watchOptions):e.watchOptions||c.watchOptions}}function assignWatchOptions(e,t){return e.watchOptionsCopied?assign(e.watchOptions,t):(e.watchOptionsCopied=!0,assign({},e.watchOptions,t))}}function getExtendsConfigPathOrArray(e,t,n,r,i,o,a,s){let c;const l=r?directoryOfCombinedPath(r,n):n;if(isString(e))c=getExtendsConfigPath(e,t,l,i,a,s);else if(isArray(e)){c=[];for(let r=0;r<e.length;r++){const d=e[r];isString(d)?c=append(c,getExtendsConfigPath(d,t,l,i,null==a?void 0:a.elements[r],s)):convertJsonOption(Eo.element,e,n,i,o,null==a?void 0:a.elements[r],s)}}else convertJsonOption(Eo,e,n,i,o,a,s);return c}function getExtendsConfigPath(e,t,n,r,i,o){if(isRootedDiskPath(e=normalizeSlashes(e))||startsWith(e,"./")||startsWith(e,"../")){let a=getNormalizedAbsolutePath(e,n);return t.fileExists(a)||endsWith(a,".json")||(a=`${a}.json`,t.fileExists(a))?a:void r.push(createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(o,i,Ot.File_0_not_found,e))}const a=nodeNextJsonConfigResolver(e,combinePaths(n,"tsconfig.json"),t);if(a.resolvedModule)return a.resolvedModule.resolvedFileName;""===e?r.push(createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(o,i,Ot.Compiler_option_0_cannot_be_given_an_empty_string,"extends")):r.push(createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(o,i,Ot.File_0_not_found,e))}function convertCompilerOptionsFromJson(e,t,n){const r=[];return{options:convertCompilerOptionsFromJsonWorker(e,t,r,n),errors:r}}function convertTypeAcquisitionFromJson(e,t,n){const r=[];return{options:convertTypeAcquisitionFromJsonWorker(e,t,r,n),errors:r}}function getDefaultCompilerOptions(e){return e&&"jsconfig.json"===getBaseFileName(e)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function convertCompilerOptionsFromJsonWorker(e,t,n,r){const i=getDefaultCompilerOptions(r);return convertOptionsFromJson(getCommandLineCompilerOptionsMap(),e,t,i,go,n),r&&(i.configFilePath=normalizeSlashes(r)),i}function getDefaultTypeAcquisition(e){return{enable:!!e&&"jsconfig.json"===getBaseFileName(e),include:[],exclude:[]}}function convertTypeAcquisitionFromJsonWorker(e,t,n,r){const i=getDefaultTypeAcquisition(r);return convertOptionsFromJson(getCommandLineTypeAcquisitionMap(),e,t,i,To,n),i}function convertOptionsFromJson(e,t,n,r,i,o){if(t){for(const a in t){const s=e.get(a);s?(r||(r={}))[s.name]=convertJsonOption(s,t[a],n,o):o.push(createUnknownOptionError(a,i))}return r}}function createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(e,t,n,...r){return e&&t?createDiagnosticForNodeInSourceFile(e,t,n,...r):createCompilerDiagnostic(n,...r)}function convertJsonOption(e,t,n,r,i,o,a){if(e.isCommandLineOnly)r.push(createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(a,null==i?void 0:i.name,Ot.Option_0_can_only_be_specified_on_command_line,e.name));else{if(isCompilerOptionsValue(e,t)){const s=e.type;if("list"===s&&isArray(t))return convertJsonOptionOfListType(e,t,n,r,i,o,a);if("listOrElement"===s)return isArray(t)?convertJsonOptionOfListType(e,t,n,r,i,o,a):convertJsonOption(e.element,t,n,r,i,o,a);if(!isString(e.type))return convertJsonOptionOfCustomType(e,t,r,o,a);const c=validateJsonOptionValue(e,t,r,o,a);return isNullOrUndefined(c)?c:function normalizeNonListOptionValue(e,t,n){e.isFilePath&&""===(n=startsWithConfigDirTemplate(n=normalizeSlashes(n))?n:getNormalizedAbsolutePath(n,t))&&(n=".");return n}(e,n,c)}r.push(createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(a,o,Ot.Compiler_option_0_requires_a_value_of_type_1,e.name,getCompilerOptionValueTypeString(e)))}}function validateJsonOptionValue(e,t,n,r,i){var o;if(isNullOrUndefined(t))return;const a=null==(o=e.extraValidation)?void 0:o.call(e,t);if(!a)return t;n.push(createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(i,r,...a))}function convertJsonOptionOfCustomType(e,t,n,r,i){if(isNullOrUndefined(t))return;const o=t.toLowerCase(),a=e.type.get(o);if(void 0!==a)return validateJsonOptionValue(e,a,n,r,i);n.push(createDiagnosticForInvalidCustomType(e,(e,...t)=>createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(i,r,e,...t)))}function convertJsonOptionOfListType(e,t,n,r,i,o,a){return filter(map(t,(t,s)=>convertJsonOption(e.element,t,n,r,i,null==o?void 0:o.elements[s],a)),t=>!!e.listPreserveFalsyValues||!!t)}var Io,Ao=/(?:^|\/)\*\*\/?$/,Oo=/^[^*?]*(?=\/[^/]*[*?])/;function getFileNamesFromConfigSpecs(e,t,n,r,i=l){t=normalizePath(t);const o=createGetCanonicalFileName(r.useCaseSensitiveFileNames),a=new Map,s=new Map,c=new Map,{validatedFilesSpec:d,validatedIncludeSpecs:p,validatedExcludeSpecs:u}=e,m=getSupportedExtensions(n,i),_=getSupportedExtensionsWithJsonIfResolveJsonModule(n,m);if(d)for(const e of d){const n=getNormalizedAbsolutePath(e,t);a.set(o(n),n)}let f;if(p&&p.length>0)for(const e of r.readDirectory(t,flatten(_),u,p,void 0)){if(fileExtensionIs(e,".json")){if(!f){const e=map(getRegularExpressionsForWildcards(p.filter(e=>endsWith(e,".json")),t,"files"),e=>`^${e}$`);f=e?e.map(e=>getRegexFromPattern(e,r.useCaseSensitiveFileNames)):l}if(-1!==findIndex(f,t=>t.test(e))){const t=o(e);a.has(t)||c.has(t)||c.set(t,e)}continue}if(hasFileWithHigherPriorityExtension(e,a,s,m,o))continue;removeWildcardFilesWithLowerPriorityExtension(e,s,m,o);const n=o(e);a.has(n)||s.has(n)||s.set(n,e)}const g=arrayFrom(a.values()),y=arrayFrom(s.values());return g.concat(y,arrayFrom(c.values()))}function isExcludedFile(e,t,n,r,i){const{validatedFilesSpec:o,validatedIncludeSpecs:a,validatedExcludeSpecs:s}=t;if(!length(a)||!length(s))return!1;n=normalizePath(n);const c=createGetCanonicalFileName(r);if(o)for(const t of o)if(c(getNormalizedAbsolutePath(t,n))===e)return!1;return matchesExcludeWorker(e,s,r,i,n)}function invalidDotDotAfterRecursiveWildcard(e){const t=startsWith(e,"**/")?0:e.indexOf("/**/");if(-1===t)return!1;return(endsWith(e,"/..")?e.length:e.lastIndexOf("/../"))>t}function matchesExclude(e,t,n,r){return matchesExcludeWorker(e,filter(t,e=>!invalidDotDotAfterRecursiveWildcard(e)),n,r)}function matchesExcludeWorker(e,t,n,r,i){const o=getRegularExpressionForWildcard(t,combinePaths(normalizePath(r),i),"exclude"),a=o&&getRegexFromPattern(o,n);return!!a&&(!!a.test(e)||!hasExtension(e)&&a.test(ensureTrailingDirectorySeparator(e)))}function validateSpecs(e,t,n,r,i){return e.filter(e=>{if(!isString(e))return!1;const o=specToDiagnostic(e,n);return void 0!==o&&t.push(function createDiagnostic(e,t){const n=getTsConfigPropArrayElementValue(r,i,t);return createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(r,n,e,t)}(...o)),void 0===o})}function specToDiagnostic(e,t){return h.assert("string"==typeof e),t&&Ao.test(e)?[Ot.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,e]:invalidDotDotAfterRecursiveWildcard(e)?[Ot.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,e]:void 0}function getWildcardDirectories({validatedIncludeSpecs:e,validatedExcludeSpecs:t},n,r){const i=getRegularExpressionForWildcard(t,n,"exclude"),o=i&&new RegExp(i,r?"":"i"),a={},s=new Map;if(void 0!==e){const t=[];for(const i of e){const e=normalizePath(combinePaths(n,i));if(o&&o.test(e))continue;const c=getWildcardDirectoryFromSpec(e,r);if(c){const{key:e,path:n,flags:r}=c,i=s.get(e),o=void 0!==i?a[i]:void 0;(void 0===o||o<r)&&(a[void 0!==i?i:n]=r,void 0===i&&s.set(e,n),1===r&&t.push(e))}}for(const e in a)if(hasProperty(a,e))for(const i of t){const t=toCanonicalKey(e,r);t!==i&&containsPath(i,t,n,!r)&&delete a[e]}}return a}function toCanonicalKey(e,t){return t?e:toFileNameLowerCase(e)}function getWildcardDirectoryFromSpec(e,t){const n=Oo.exec(e);if(n){const r=e.indexOf("?"),i=e.indexOf("*"),o=e.lastIndexOf(Ft);return{key:toCanonicalKey(n[0],t),path:n[0],flags:-1!==r&&r<o||-1!==i&&i<o?1:0}}if(isImplicitGlob(e.substring(e.lastIndexOf(Ft)+1))){const n=removeTrailingDirectorySeparator(e);return{key:toCanonicalKey(n,t),path:n,flags:1}}}function hasFileWithHigherPriorityExtension(e,t,n,r,i){const o=forEach(r,t=>fileExtensionIsOneOf(e,t)?t:void 0);if(!o)return!1;for(const r of o){if(fileExtensionIs(e,r)&&(".ts"!==r||!fileExtensionIs(e,".d.ts")))return!1;const o=i(changeExtension(e,r));if(t.has(o)||n.has(o)){if(".d.ts"===r&&(fileExtensionIs(e,".js")||fileExtensionIs(e,".jsx")))continue;return!0}}return!1}function removeWildcardFilesWithLowerPriorityExtension(e,t,n,r){const i=forEach(n,t=>fileExtensionIsOneOf(e,t)?t:void 0);if(i)for(let n=i.length-1;n>=0;n--){const o=i[n];if(fileExtensionIs(e,o))return;const a=r(changeExtension(e,o));t.delete(a)}}function convertCompilerOptionsForTelemetry(e){const t={};for(const n in e)if(hasProperty(e,n)){const r=getOptionFromName(n);void 0!==r&&(t[n]=getOptionValueWithEmptyStrings(e[n],r))}return t}function getOptionValueWithEmptyStrings(e,t){if(void 0===e)return e;switch(t.type){case"object":case"string":return"";case"number":return"number"==typeof e?e:"";case"boolean":return"boolean"==typeof e?e:"";case"listOrElement":if(!isArray(e))return getOptionValueWithEmptyStrings(e,t.element);case"list":const n=t.element;return isArray(e)?mapDefined(e,e=>getOptionValueWithEmptyStrings(e,n)):"";default:return forEachEntry(t.type,(t,n)=>{if(t===e)return n})}}function trace(e,t,...n){e.trace(formatMessage(t,...n))}function isTraceEnabled(e,t){return!!e.traceResolution&&void 0!==t.trace}function withPackageId(e,t,n){let r;if(t&&e){const i=e.contents.packageJsonContent;"string"==typeof i.name&&"string"==typeof i.version&&(r={name:i.name,subModuleName:t.path.slice(e.packageDirectory.length+Ft.length),version:i.version,peerDependencies:getPeerDependenciesOfPackageJsonInfo(e,n)})}return t&&{path:t.path,extension:t.ext,packageId:r,resolvedUsingTsExtension:t.resolvedUsingTsExtension}}function noPackageId(e){return withPackageId(void 0,e,void 0)}function removeIgnoredPackageId(e){if(e)return h.assert(void 0===e.packageId),{path:e.path,ext:e.extension,resolvedUsingTsExtension:e.resolvedUsingTsExtension}}function formatExtensions(e){const t=[];return 1&e&&t.push("TypeScript"),2&e&&t.push("JavaScript"),4&e&&t.push("Declaration"),8&e&&t.push("JSON"),t.join(", ")}function resolvedTypeScriptOnly(e){if(e)return h.assert(extensionIsTS(e.extension)),{fileName:e.path,packageId:e.packageId}}function createResolvedModuleWithFailedLookupLocationsHandlingSymlink(e,t,n,r,i,o,a,s,c){if(!a.resultFromCache&&!a.compilerOptions.preserveSymlinks&&t&&n&&!t.originalPath&&!isExternalModuleNameRelative(e)){const{resolvedFileName:e,originalPath:n}=getOriginalAndResolvedFileName(t.path,a.host,a.traceEnabled);n&&(t={...t,path:e,originalPath:n})}return createResolvedModuleWithFailedLookupLocations(t,n,r,i,o,a.resultFromCache,s,c)}function createResolvedModuleWithFailedLookupLocations(e,t,n,r,i,o,a,s){return o?(null==a?void 0:a.isReadonly)?{...o,failedLookupLocations:initializeResolutionFieldForReadonlyCache(o.failedLookupLocations,n),affectingLocations:initializeResolutionFieldForReadonlyCache(o.affectingLocations,r),resolutionDiagnostics:initializeResolutionFieldForReadonlyCache(o.resolutionDiagnostics,i)}:(o.failedLookupLocations=updateResolutionField(o.failedLookupLocations,n),o.affectingLocations=updateResolutionField(o.affectingLocations,r),o.resolutionDiagnostics=updateResolutionField(o.resolutionDiagnostics,i),o):{resolvedModule:e&&{resolvedFileName:e.path,originalPath:!0===e.originalPath?void 0:e.originalPath,extension:e.extension,isExternalLibraryImport:t,packageId:e.packageId,resolvedUsingTsExtension:!!e.resolvedUsingTsExtension},failedLookupLocations:initializeResolutionField(n),affectingLocations:initializeResolutionField(r),resolutionDiagnostics:initializeResolutionField(i),alternateResult:s}}function initializeResolutionField(e){return e.length?e:void 0}function updateResolutionField(e,t){return(null==t?void 0:t.length)?(null==e?void 0:e.length)?(e.push(...t),e):t:e}function initializeResolutionFieldForReadonlyCache(e,t){return(null==e?void 0:e.length)?t.length?[...e,...t]:e.slice():initializeResolutionField(t)}function readPackageJsonField(e,t,n,r){if(!hasProperty(e,t))return void(r.traceEnabled&&trace(r.host,Ot.package_json_does_not_have_a_0_field,t));const i=e[t];if(typeof i===n&&null!==i)return i;r.traceEnabled&&trace(r.host,Ot.Expected_type_of_0_field_in_package_json_to_be_1_got_2,t,n,null===i?"null":typeof i)}function readPackageJsonPathField(e,t,n,r){const i=readPackageJsonField(e,t,"string",r);if(void 0===i)return;if(!i)return void(r.traceEnabled&&trace(r.host,Ot.package_json_had_a_falsy_0_field,t));const o=normalizePath(combinePaths(n,i));return r.traceEnabled&&trace(r.host,Ot.package_json_has_0_field_1_that_references_2,t,i,o),o}function readPackageJsonTypesVersionPaths(e,t){const n=function readPackageJsonTypesVersionsField(e,t){const n=readPackageJsonField(e,"typesVersions","object",t);if(void 0!==n)return t.traceEnabled&&trace(t.host,Ot.package_json_has_a_typesVersions_field_with_version_specific_path_mappings),n}(e,t);if(void 0===n)return;if(t.traceEnabled)for(const e in n)hasProperty(n,e)&&!F.tryParse(e)&&trace(t.host,Ot.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range,e);const r=getPackageJsonTypesVersionsPaths(n);if(!r)return void(t.traceEnabled&&trace(t.host,Ot.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0,a));const{version:i,paths:o}=r;if("object"==typeof o)return r;t.traceEnabled&&trace(t.host,Ot.Expected_type_of_0_field_in_package_json_to_be_1_got_2,`typesVersions['${i}']`,"object",typeof o)}function getPackageJsonTypesVersionsPaths(e){Io||(Io=new k(s));for(const t in e){if(!hasProperty(e,t))continue;const n=F.tryParse(t);if(void 0!==n&&n.test(Io))return{version:t,paths:e[t]}}}function getEffectiveTypeRoots(e,t){if(e.typeRoots)return e.typeRoots;let n;return e.configFilePath?n=getDirectoryPath(e.configFilePath):t.getCurrentDirectory&&(n=t.getCurrentDirectory()),void 0!==n?function getDefaultTypeRoots(e){let t;return forEachAncestorDirectory(normalizePath(e),e=>{const n=combinePaths(e,wo);(t??(t=[])).push(n)}),t}(n):void 0}var wo=combinePaths("node_modules","@types");function arePathsEqual(e,t,n){return 0===comparePaths(e,t,!("function"==typeof n.useCaseSensitiveFileNames?n.useCaseSensitiveFileNames():n.useCaseSensitiveFileNames))}function getOriginalAndResolvedFileName(e,t,n){const r=realPath(e,t,n),i=arePathsEqual(e,r,t);return{resolvedFileName:i?e:r,originalPath:i?void 0:e}}function getCandidateFromTypeRoot(e,t,n){return combinePaths(e,endsWith(e,"/node_modules/@types")||endsWith(e,"/node_modules/@types/")?mangleScopedPackageNameWithTrace(t,n):t)}function resolveTypeReferenceDirective(e,t,n,r,i,o,a){h.assert("string"==typeof e,"Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself.");const s=isTraceEnabled(n,r);i&&(n=i.commandLine.options);const c=t?getDirectoryPath(t):void 0;let l=c?null==o?void 0:o.getFromDirectoryCache(e,a,c,i):void 0;if(l||!c||isExternalModuleNameRelative(e)||(l=null==o?void 0:o.getFromNonRelativeNameCache(e,a,c,i)),l)return s&&(trace(r,Ot.Resolving_type_reference_directive_0_containing_file_1,e,t),i&&trace(r,Ot.Using_compiler_options_of_project_reference_redirect_0,i.sourceFile.fileName),trace(r,Ot.Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1,e,c),traceResult(l)),l;const d=getEffectiveTypeRoots(n,r);s&&(void 0===t?void 0===d?trace(r,Ot.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set,e):trace(r,Ot.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1,e,d):void 0===d?trace(r,Ot.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set,e,t):trace(r,Ot.Resolving_type_reference_directive_0_containing_file_1_root_directory_2,e,t,d),i&&trace(r,Ot.Using_compiler_options_of_project_reference_redirect_0,i.sourceFile.fileName));const p=[],u=[];let m=getNodeResolutionFeatures(n);void 0!==a&&(m|=30);const _=qn(n);99===a&&3<=_&&_<=99&&(m|=32);const f=8&m?getConditions(n,a):[],g=[],y={compilerOptions:n,host:r,traceEnabled:s,failedLookupLocations:p,affectingLocations:u,packageJsonInfoCache:o,features:m,conditions:f,requestContainingDirectory:c,reportDiagnostic:e=>{g.push(e)},isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1};let T,S=function primaryLookup(){if(d&&d.length)return s&&trace(r,Ot.Resolving_with_primary_search_path_0,d.join(", ")),firstDefined(d,t=>{const i=getCandidateFromTypeRoot(t,e,y),o=directoryProbablyExists(t,r);if(!o&&s&&trace(r,Ot.Directory_0_does_not_exist_skipping_all_lookups_in_it,t),n.typeRoots){const e=loadModuleFromFile(4,i,!o,y);if(e){const t=parseNodeModuleFromPath(e.path);return resolvedTypeScriptOnly(withPackageId(t?getPackageJsonInfo(t,!1,y):void 0,e,y))}}return resolvedTypeScriptOnly(loadNodeModuleFromDirectory(4,i,!o,y))});s&&trace(r,Ot.Root_directory_cannot_be_determined_skipping_primary_search_paths)}(),x=!0;if(S||(S=function secondaryLookup(){const i=t&&getDirectoryPath(t);if(void 0!==i){let o;if(n.typeRoots&&endsWith(t,Ua))s&&trace(r,Ot.Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder);else if(s&&trace(r,Ot.Looking_up_in_node_modules_folder_initial_location_0,i),isExternalModuleNameRelative(e)){const{path:t}=normalizePathForCJSResolution(i,e);o=nodeLoadModuleByRelativeName(4,t,!1,y,!0)}else{const t=loadModuleFromNearestNodeModulesDirectory(4,e,i,y,void 0,void 0);o=t&&t.value}return resolvedTypeScriptOnly(o)}s&&trace(r,Ot.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder)}(),x=!1),S){const{fileName:e,packageId:t}=S;let i,o=e;n.preserveSymlinks||({resolvedFileName:o,originalPath:i}=getOriginalAndResolvedFileName(e,r,s)),T={primary:x,resolvedFileName:o,originalPath:i,packageId:t,isExternalLibraryImport:pathContainsNodeModules(e)}}return l={resolvedTypeReferenceDirective:T,failedLookupLocations:initializeResolutionField(p),affectingLocations:initializeResolutionField(u),resolutionDiagnostics:initializeResolutionField(g)},c&&o&&!o.isReadonly&&(o.getOrCreateCacheForDirectory(c,i).set(e,a,l),isExternalModuleNameRelative(e)||o.getOrCreateCacheForNonRelativeName(e,a,i).set(c,l)),s&&traceResult(l),l;function traceResult(t){var n;(null==(n=t.resolvedTypeReferenceDirective)?void 0:n.resolvedFileName)?t.resolvedTypeReferenceDirective.packageId?trace(r,Ot.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3,e,t.resolvedTypeReferenceDirective.resolvedFileName,packageIdToString(t.resolvedTypeReferenceDirective.packageId),t.resolvedTypeReferenceDirective.primary):trace(r,Ot.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2,e,t.resolvedTypeReferenceDirective.resolvedFileName,t.resolvedTypeReferenceDirective.primary):trace(r,Ot.Type_reference_directive_0_was_not_resolved,e)}}function getNodeResolutionFeatures(e){let t=0;switch(qn(e)){case 3:case 99:case 100:t=30}return e.resolvePackageJsonExports?t|=8:!1===e.resolvePackageJsonExports&&(t&=-9),e.resolvePackageJsonImports?t|=2:!1===e.resolvePackageJsonImports&&(t&=-3),t}function getConditions(e,t){const n=qn(e);if(void 0===t)if(100===n)t=99;else if(2===n)return[];const r=99===t?["import"]:["require"];return e.noDtsResolution||r.push("types"),100!==n&&r.push("node"),concatenate(r,e.customConditions)}function resolvePackageNameToPackageJson(e,t,n,r,i){const o=getTemporaryModuleResolutionState(null==i?void 0:i.getPackageJsonInfoCache(),r,n);return forEachAncestorDirectoryStoppingAtGlobalCache(r,t,t=>{if("node_modules"!==getBaseFileName(t)){const n=combinePaths(t,"node_modules");return getPackageJsonInfo(combinePaths(n,e),!1,o)}})}function getAutomaticTypeDirectiveNames(e,t){if(e.types)return e.types;const n=[];if(t.directoryExists&&t.getDirectories){const r=getEffectiveTypeRoots(e,t);if(r)for(const e of r)if(t.directoryExists(e))for(const r of t.getDirectories(e)){const i=normalizePath(r),o=combinePaths(e,i,"package.json");if(!(t.fileExists(o)&&null===readJson(o,t).typings)){const e=getBaseFileName(i);46!==e.charCodeAt(0)&&n.push(e)}}}return n}function isPackageJsonInfo(e){return!!(null==e?void 0:e.contents)}function isMissingPackageJsonInfo(e){return!!e&&!e.contents}function compilerOptionValueToString(e){var t;if(null===e||"object"!=typeof e)return""+e;if(isArray(e))return`[${null==(t=e.map(e=>compilerOptionValueToString(e)))?void 0:t.join(",")}]`;let n="{";for(const t in e)hasProperty(e,t)&&(n+=`${t}: ${compilerOptionValueToString(e[t])}`);return n+"}"}function getKeyForCompilerOptions(e,t){return t.map(t=>compilerOptionValueToString(getCompilerOptionValue(e,t))).join("|")+`|${e.pathsBasePath}`}function createCacheWithRedirects(e,t){const n=new Map,r=new Map;let i=new Map;return e&&n.set(e,i),{getMapOfCacheRedirects:function getMapOfCacheRedirects(e){return e?getOrCreateMap(e.commandLine.options,!1):i},getOrCreateMapOfCacheRedirects:function getOrCreateMapOfCacheRedirects(e){return e?getOrCreateMap(e.commandLine.options,!0):i},update:function update(t){e!==t&&(e?i=getOrCreateMap(t,!0):n.set(t,i),e=t)},clear:function clear2(){const o=e&&t.get(e);i.clear(),n.clear(),t.clear(),r.clear(),e&&(o&&t.set(e,o),n.set(e,i))},getOwnMap:()=>i};function getOrCreateMap(t,o){let a=n.get(t);if(a)return a;const s=getRedirectsCacheKey(t);if(a=r.get(s),!a){if(e){const t=getRedirectsCacheKey(e);t===s?a=i:r.has(t)||r.set(t,i)}o&&(a??(a=new Map)),a&&r.set(s,a)}return a&&n.set(t,a),a}function getRedirectsCacheKey(e){let n=t.get(e);return n||t.set(e,n=getKeyForCompilerOptions(e,eo)),n}}function getOrCreateCache(e,t,n,r){const i=e.getOrCreateMapOfCacheRedirects(t);let o=i.get(n);return o||(o=r(),i.set(n,o)),o}function createModeAwareCacheKey(e,t){return void 0===t?e:`${t}|${e}`}function createModeAwareCache(){const e=new Map,t=new Map,n={get:(t,n)=>e.get(getUnderlyingCacheKey(t,n)),set:(t,r,i)=>(e.set(getUnderlyingCacheKey(t,r),i),n),delete:(t,r)=>(e.delete(getUnderlyingCacheKey(t,r)),n),has:(t,n)=>e.has(getUnderlyingCacheKey(t,n)),forEach:n=>e.forEach((e,r)=>{const[i,o]=t.get(r);return n(e,i,o)}),size:()=>e.size};return n;function getUnderlyingCacheKey(e,n){const r=createModeAwareCacheKey(e,n);return t.set(r,[e,n]),r}}function getOriginalOrResolvedModuleFileName(e){return e.resolvedModule&&(e.resolvedModule.originalPath||e.resolvedModule.resolvedFileName)}function getOriginalOrResolvedTypeReferenceFileName(e){return e.resolvedTypeReferenceDirective&&(e.resolvedTypeReferenceDirective.originalPath||e.resolvedTypeReferenceDirective.resolvedFileName)}function createNonRelativeNameResolutionCache(e,t,n,r,i){const o=createCacheWithRedirects(n,i);return{getFromNonRelativeNameCache:function getFromNonRelativeNameCache(e,t,n,r){var i,a;return h.assert(!isExternalModuleNameRelative(e)),null==(a=null==(i=o.getMapOfCacheRedirects(r))?void 0:i.get(createModeAwareCacheKey(e,t)))?void 0:a.get(n)},getOrCreateCacheForNonRelativeName:function getOrCreateCacheForNonRelativeName(e,t,n){return h.assert(!isExternalModuleNameRelative(e)),getOrCreateCache(o,n,createModeAwareCacheKey(e,t),createPerModuleNameCache)},clear:function clear2(){o.clear()},update:function update(e){o.update(e)}};function createPerModuleNameCache(){const n=new Map;return{get:function get(r){return n.get(toPath(r,e,t))},set:function set(i,o){const a=toPath(i,e,t);if(n.has(a))return;n.set(a,o);const s=r(o),c=s&&function getCommonPrefix(n,r){const i=toPath(getDirectoryPath(r),e,t);let o=0;const a=Math.min(n.length,i.length);for(;o<a&&n.charCodeAt(o)===i.charCodeAt(o);)o++;if(o===n.length&&(i.length===o||i[o]===Ft))return n;const s=getRootLength(n);if(o<s)return;const c=n.lastIndexOf(Ft,o-1);if(-1===c)return;return n.substr(0,Math.max(c,s))}(a,s);let l=a;for(;l!==c;){const e=getDirectoryPath(l);if(e===l||n.has(e))break;n.set(e,o),l=e}}}}}function createModuleOrTypeReferenceResolutionCache(e,t,n,r,i,o){o??(o=new Map);const a=function createPerDirectoryResolutionCache(e,t,n,r){const i=createCacheWithRedirects(n,r);return{getFromDirectoryCache:function getFromDirectoryCache(n,r,o,a){var s,c;const l=toPath(o,e,t);return null==(c=null==(s=i.getMapOfCacheRedirects(a))?void 0:s.get(l))?void 0:c.get(n,r)},getOrCreateCacheForDirectory:function getOrCreateCacheForDirectory(n,r){const o=toPath(n,e,t);return getOrCreateCache(i,r,o,()=>createModeAwareCache())},clear:function clear2(){i.clear()},update:function update(e){i.update(e)},directoryToModuleNameMap:i}}(e,t,n,o),s=createNonRelativeNameResolutionCache(e,t,n,i,o);return r??(r=function createPackageJsonInfoCache(e,t){let n;return{getPackageJsonInfo:function getPackageJsonInfo2(r){return null==n?void 0:n.get(toPath(r,e,t))},setPackageJsonInfo:function setPackageJsonInfo(r,i){(n||(n=new Map)).set(toPath(r,e,t),i)},clear:function clear2(){n=void 0},getInternalMap:function getInternalMap(){return n}}}(e,t)),{...r,...a,...s,clear:function clear2(){clearAllExceptPackageJsonInfoCache(),r.clear()},update:function update(e){a.update(e),s.update(e)},getPackageJsonInfoCache:()=>r,clearAllExceptPackageJsonInfoCache,optionsToRedirectsKey:o};function clearAllExceptPackageJsonInfoCache(){a.clear(),s.clear()}}function createModuleResolutionCache(e,t,n,r,i){const o=createModuleOrTypeReferenceResolutionCache(e,t,n,r,getOriginalOrResolvedModuleFileName,i);return o.getOrCreateCacheForModuleName=(e,t,n)=>o.getOrCreateCacheForNonRelativeName(e,t,n),o}function createTypeReferenceDirectiveResolutionCache(e,t,n,r,i){return createModuleOrTypeReferenceResolutionCache(e,t,n,r,getOriginalOrResolvedTypeReferenceFileName,i)}function getOptionsForLibraryResolution(e){return{moduleResolution:2,traceResolution:e.traceResolution}}function resolveLibrary(e,t,n,r,i){return resolveModuleName(e,t,getOptionsForLibraryResolution(n),r,i)}function resolveModuleNameFromCache(e,t,n,r){const i=getDirectoryPath(t);return n.getFromDirectoryCache(e,r,i,void 0)}function resolveModuleName(e,t,n,r,i,o,a){const s=isTraceEnabled(n,r);o&&(n=o.commandLine.options),s&&(trace(r,Ot.Resolving_module_0_from_1,e,t),o&&trace(r,Ot.Using_compiler_options_of_project_reference_redirect_0,o.sourceFile.fileName));const c=getDirectoryPath(t);let l=null==i?void 0:i.getFromDirectoryCache(e,a,c,o);if(l)s&&trace(r,Ot.Resolution_for_module_0_was_found_in_cache_from_location_1,e,c);else{let d=n.moduleResolution;switch(void 0===d?(d=qn(n),s&&trace(r,Ot.Module_resolution_kind_is_not_specified_using_0,Ve[d])):s&&trace(r,Ot.Explicitly_specified_module_resolution_kind_Colon_0,Ve[d]),d){case 3:l=function node16ModuleNameResolver(e,t,n,r,i,o,a){return nodeNextModuleNameResolverWorker(30,e,t,n,r,i,o,a)}(e,t,n,r,i,o,a);break;case 99:l=function nodeNextModuleNameResolver(e,t,n,r,i,o,a){return nodeNextModuleNameResolverWorker(30,e,t,n,r,i,o,a)}(e,t,n,r,i,o,a);break;case 2:l=nodeModuleNameResolver(e,t,n,r,i,o,a?getConditions(n,a):void 0);break;case 1:l=classicNameResolver(e,t,n,r,i,o);break;case 100:l=bundlerModuleNameResolver(e,t,n,r,i,o,a?getConditions(n,a):void 0);break;default:return h.fail(`Unexpected moduleResolution: ${d}`)}i&&!i.isReadonly&&(i.getOrCreateCacheForDirectory(c,o).set(e,a,l),isExternalModuleNameRelative(e)||i.getOrCreateCacheForNonRelativeName(e,a,o).set(c,l))}return s&&(l.resolvedModule?l.resolvedModule.packageId?trace(r,Ot.Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2,e,l.resolvedModule.resolvedFileName,packageIdToString(l.resolvedModule.packageId)):trace(r,Ot.Module_name_0_was_successfully_resolved_to_1,e,l.resolvedModule.resolvedFileName):trace(r,Ot.Module_name_0_was_not_resolved,e)),l}function tryLoadModuleUsingOptionalResolutionSettings(e,t,n,r,i){const o=function tryLoadModuleUsingPathsIfEligible(e,t,n,r){const{baseUrl:i,paths:o}=r.compilerOptions;if(o&&!pathIsRelative(t)){r.traceEnabled&&(i&&trace(r.host,Ot.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,i,t),trace(r.host,Ot.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0,t));return tryLoadModuleUsingPaths(e,t,getPathsBasePath(r.compilerOptions,r.host),o,tryParsePatterns(o),n,!1,r)}}(e,t,r,i);return o?o.value:isExternalModuleNameRelative(t)?function tryLoadModuleUsingRootDirs(e,t,n,r,i){if(!i.compilerOptions.rootDirs)return;i.traceEnabled&&trace(i.host,Ot.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0,t);const o=normalizePath(combinePaths(n,t));let a,s;for(const e of i.compilerOptions.rootDirs){let t=normalizePath(e);endsWith(t,Ft)||(t+=Ft);const n=startsWith(o,t)&&(void 0===s||s.length<t.length);i.traceEnabled&&trace(i.host,Ot.Checking_if_0_is_the_longest_matching_prefix_for_1_2,t,o,n),n&&(s=t,a=e)}if(s){i.traceEnabled&&trace(i.host,Ot.Longest_matching_prefix_for_0_is_1,o,s);const t=o.substr(s.length);i.traceEnabled&&trace(i.host,Ot.Loading_0_from_the_root_dir_1_candidate_location_2,t,s,o);const c=r(e,o,!directoryProbablyExists(n,i.host),i);if(c)return c;i.traceEnabled&&trace(i.host,Ot.Trying_other_entries_in_rootDirs);for(const n of i.compilerOptions.rootDirs){if(n===a)continue;const o=combinePaths(normalizePath(n),t);i.traceEnabled&&trace(i.host,Ot.Loading_0_from_the_root_dir_1_candidate_location_2,t,n,o);const s=r(e,o,!directoryProbablyExists(getDirectoryPath(o),i.host),i);if(s)return s}i.traceEnabled&&trace(i.host,Ot.Module_resolution_using_rootDirs_has_failed)}return}(e,t,n,r,i):function tryLoadModuleUsingBaseUrl(e,t,n,r){const{baseUrl:i}=r.compilerOptions;if(!i)return;r.traceEnabled&&trace(r.host,Ot.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,i,t);const o=normalizePath(combinePaths(i,t));r.traceEnabled&&trace(r.host,Ot.Resolving_module_name_0_relative_to_base_url_1_2,t,i,o);return n(e,o,!directoryProbablyExists(getDirectoryPath(o),r.host),r)}(e,t,r,i)}function resolveJSModule(e,t,n){const{resolvedModule:r,failedLookupLocations:i}=function tryResolveJSModuleWorker(e,t,n){return nodeModuleNameResolverWorker(0,e,t,{moduleResolution:2,allowJs:!0},n,void 0,2,!1,void 0,void 0)}(e,t,n);if(!r)throw new Error(`Could not resolve JS module '${e}' starting at '${t}'. Looked in: ${null==i?void 0:i.join(", ")}`);return r.resolvedFileName}var Lo=(e=>(e[e.None=0]="None",e[e.Imports=2]="Imports",e[e.SelfName=4]="SelfName",e[e.Exports=8]="Exports",e[e.ExportsPatternTrailers=16]="ExportsPatternTrailers",e[e.AllFeatures=30]="AllFeatures",e[e.Node16Default=30]="Node16Default",e[e.NodeNextDefault=30]="NodeNextDefault",e[e.BundlerDefault=30]="BundlerDefault",e[e.EsmMode=32]="EsmMode",e))(Lo||{});function nodeNextModuleNameResolverWorker(e,t,n,r,i,o,a,s,c){const l=getDirectoryPath(n),d=99===s?32:0;let p=r.noDtsResolution?3:7;return Yn(r)&&(p|=8),nodeModuleNameResolverWorker(e|d,t,l,r,i,o,p,!1,a,c)}function bundlerModuleNameResolver(e,t,n,r,i,o,a){const s=getDirectoryPath(t);let c=n.noDtsResolution?3:7;return Yn(n)&&(c|=8),nodeModuleNameResolverWorker(getNodeResolutionFeatures(n),e,s,n,r,i,c,!1,o,a)}function nodeModuleNameResolver(e,t,n,r,i,o,a,s){let c;return s?c=8:n.noDtsResolution?(c=3,Yn(n)&&(c|=8)):c=Yn(n)?15:7,nodeModuleNameResolverWorker(a?30:0,e,getDirectoryPath(t),n,r,i,c,!!s,o,a)}function nodeNextJsonConfigResolver(e,t,n){return nodeModuleNameResolverWorker(30,e,getDirectoryPath(t),{moduleResolution:99},n,void 0,8,!0,void 0,void 0)}function nodeModuleNameResolverWorker(e,t,n,r,i,o,a,s,c,d){var p,u,m,_,f;const g=isTraceEnabled(r,i),y=[],h=[],T=qn(r);d??(d=getConditions(r,100===T||2===T?void 0:32&e?99:1));const S=[],x={compilerOptions:r,host:i,traceEnabled:g,failedLookupLocations:y,affectingLocations:h,packageJsonInfoCache:o,features:e,conditions:d??l,requestContainingDirectory:n,reportDiagnostic:e=>{S.push(e)},isConfigLookup:s,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1};let v,b;if(g&&moduleResolutionSupportsPackageJsonExportsAndImports(T)&&trace(i,Ot.Resolving_in_0_mode_with_conditions_1,32&e?"ESM":"CJS",x.conditions.map(e=>`'${e}'`).join(", ")),2===T){const e=5&a,t=-6&a;v=e&&tryResolve(e,x)||t&&tryResolve(t,x)||void 0}else v=tryResolve(a,x);if(x.resolvedPackageDirectory&&!s&&!isExternalModuleNameRelative(t)){const t=(null==v?void 0:v.value)&&5&a&&!extensionIsOk(5,v.value.resolved.extension);if((null==(p=null==v?void 0:v.value)?void 0:p.isExternalLibraryImport)&&t&&8&e&&(null==d?void 0:d.includes("import"))){traceIfEnabled(x,Ot.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);const e=tryResolve(5&a,{...x,features:-9&x.features,reportDiagnostic:noop});(null==(u=null==e?void 0:e.value)?void 0:u.isExternalLibraryImport)&&(b=e.value.resolved.path)}else if((!(null==v?void 0:v.value)||t)&&2===T){traceIfEnabled(x,Ot.Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update);const e={...x.compilerOptions,moduleResolution:100},t=tryResolve(5&a,{...x,compilerOptions:e,features:30,conditions:getConditions(e),reportDiagnostic:noop});(null==(m=null==t?void 0:t.value)?void 0:m.isExternalLibraryImport)&&(b=t.value.resolved.path)}}return createResolvedModuleWithFailedLookupLocationsHandlingSymlink(t,null==(_=null==v?void 0:v.value)?void 0:_.resolved,null==(f=null==v?void 0:v.value)?void 0:f.isExternalLibraryImport,y,h,S,x,o,b);function tryResolve(r,a){const s=tryLoadModuleUsingOptionalResolutionSettings(r,t,n,(e,t,n,r)=>nodeLoadModuleByRelativeName(e,t,n,r,!0),a);if(s)return toSearchResult({resolved:s,isExternalLibraryImport:pathContainsNodeModules(s.path)});if(isExternalModuleNameRelative(t)){const{path:e,parts:i}=normalizePathForCJSResolution(n,t),o=nodeLoadModuleByRelativeName(r,e,!1,a,!0);return o&&toSearchResult({resolved:o,isExternalLibraryImport:contains(i,"node_modules")})}{if(2&e&&startsWith(t,"#")){const e=function loadModuleFromImports(e,t,n,r,i,o){var a,s;if("#"===t||startsWith(t,"#/"))return r.traceEnabled&&trace(r.host,Ot.Invalid_import_specifier_0_has_no_possible_resolutions,t),toSearchResult(void 0);const c=getNormalizedAbsolutePath(n,null==(s=(a=r.host).getCurrentDirectory)?void 0:s.call(a)),l=getPackageScopeForPath(c,r);if(!l)return r.traceEnabled&&trace(r.host,Ot.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve,c),toSearchResult(void 0);if(!l.contents.packageJsonContent.imports)return r.traceEnabled&&trace(r.host,Ot.package_json_scope_0_has_no_imports_defined,l.packageDirectory),toSearchResult(void 0);const d=loadModuleFromExportsOrImports(e,r,i,o,t,l.contents.packageJsonContent.imports,l,!0);if(d)return d;r.traceEnabled&&trace(r.host,Ot.Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1,t,l.packageDirectory);return toSearchResult(void 0)}(r,t,n,a,o,c);if(e)return e.value&&{value:{resolved:e.value,isExternalLibraryImport:!1}}}if(4&e){const e=function loadModuleFromSelfNameReference(e,t,n,r,i,o){var a,s;const c=getNormalizedAbsolutePath(n,null==(s=(a=r.host).getCurrentDirectory)?void 0:s.call(a)),l=getPackageScopeForPath(c,r);if(!l||!l.contents.packageJsonContent.exports)return;if("string"!=typeof l.contents.packageJsonContent.name)return;const d=getPathComponents(t),p=getPathComponents(l.contents.packageJsonContent.name);if(!every(p,(e,t)=>d[t]===e))return;const u=d.slice(p.length),m=length(u)?`.${Ft}${u.join(Ft)}`:".";if(rr(r.compilerOptions)&&!pathContainsNodeModules(n))return loadModuleFromExports(l,e,m,r,i,o);const _=5&e,f=-6&e;return loadModuleFromExports(l,_,m,r,i,o)||loadModuleFromExports(l,f,m,r,i,o)}(r,t,n,a,o,c);if(e)return e.value&&{value:{resolved:e.value,isExternalLibraryImport:!1}}}if(t.includes(":"))return void(g&&trace(i,Ot.Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1,t,formatExtensions(r)));g&&trace(i,Ot.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1,t,formatExtensions(r));let s=loadModuleFromNearestNodeModulesDirectory(r,t,n,a,o,c);return 4&r&&(s??(s=resolveFromTypeRoot(t,a))),s&&{value:s.value&&{resolved:s.value,isExternalLibraryImport:!0}}}}}function normalizePathForCJSResolution(e,t){const n=combinePaths(e,t),r=getPathComponents(n),i=lastOrUndefined(r);return{path:"."===i||".."===i?ensureTrailingDirectorySeparator(normalizePath(n)):normalizePath(n),parts:r}}function realPath(e,t,n){if(!t.realpath)return e;const r=normalizePath(t.realpath(e));return n&&trace(t,Ot.Resolving_real_path_for_0_result_1,e,r),r}function nodeLoadModuleByRelativeName(e,t,n,r,i){if(r.traceEnabled&&trace(r.host,Ot.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1,t,formatExtensions(e)),!hasTrailingDirectorySeparator(t)){if(!n){const e=getDirectoryPath(t);directoryProbablyExists(e,r.host)||(r.traceEnabled&&trace(r.host,Ot.Directory_0_does_not_exist_skipping_all_lookups_in_it,e),n=!0)}const o=loadModuleFromFile(e,t,n,r);if(o){const e=i?parseNodeModuleFromPath(o.path):void 0;return withPackageId(e?getPackageJsonInfo(e,!1,r):void 0,o,r)}}if(!n){directoryProbablyExists(t,r.host)||(r.traceEnabled&&trace(r.host,Ot.Directory_0_does_not_exist_skipping_all_lookups_in_it,t),n=!0)}if(!(32&r.features))return loadNodeModuleFromDirectory(e,t,n,r,i)}var Mo="/node_modules/";function pathContainsNodeModules(e){return e.includes(Mo)}function parseNodeModuleFromPath(e,t){const n=normalizePath(e),r=n.lastIndexOf(Mo);if(-1===r)return;const i=r+Mo.length;let o=moveToNextDirectorySeparatorIfAvailable(n,i,t);return 64===n.charCodeAt(i)&&(o=moveToNextDirectorySeparatorIfAvailable(n,o,t)),n.slice(0,o)}function moveToNextDirectorySeparatorIfAvailable(e,t,n){const r=e.indexOf(Ft,t+1);return-1===r?n?e.length:t:r}function loadModuleFromFileNoPackageId(e,t,n,r){return noPackageId(loadModuleFromFile(e,t,n,r))}function loadModuleFromFile(e,t,n,r){const i=loadModuleFromFileNoImplicitExtensions(e,t,n,r);if(i)return i;if(!(32&r.features)){const i=tryAddingExtensions(t,e,"",n,r);if(i)return i}}function loadModuleFromFileNoImplicitExtensions(e,t,n,r){if(!getBaseFileName(t).includes("."))return;let i=removeFileExtension(t);i===t&&(i=t.substring(0,t.lastIndexOf(".")));const o=t.substring(i.length);return r.traceEnabled&&trace(r.host,Ot.File_name_0_has_a_1_extension_stripping_it,t,o),tryAddingExtensions(i,e,o,n,r)}function loadFileNameFromPackageJsonField(e,t,n,r,i){if(1&e&&fileExtensionIsOneOf(t,xr)||4&e&&fileExtensionIsOneOf(t,Sr)){const e=tryFile(t,r,i),o=tryExtractTSExtension(t);return void 0!==e?{path:t,ext:o,resolvedUsingTsExtension:n?!endsWith(n,o):void 0}:void 0}if(i.isConfigLookup&&8===e&&fileExtensionIs(t,".json")){return void 0!==tryFile(t,r,i)?{path:t,ext:".json",resolvedUsingTsExtension:void 0}:void 0}return loadModuleFromFileNoImplicitExtensions(e,t,r,i)}function tryAddingExtensions(e,t,n,r,i){if(!r){const t=getDirectoryPath(e);t&&(r=!directoryProbablyExists(t,i.host))}switch(n){case".mjs":case".mts":case".d.mts":return 1&t&&tryExtension(".mts",".mts"===n||".d.mts"===n)||4&t&&tryExtension(".d.mts",".mts"===n||".d.mts"===n)||2&t&&tryExtension(".mjs")||void 0;case".cjs":case".cts":case".d.cts":return 1&t&&tryExtension(".cts",".cts"===n||".d.cts"===n)||4&t&&tryExtension(".d.cts",".cts"===n||".d.cts"===n)||2&t&&tryExtension(".cjs")||void 0;case".json":return 4&t&&tryExtension(".d.json.ts")||8&t&&tryExtension(".json")||void 0;case".tsx":case".jsx":return 1&t&&(tryExtension(".tsx",".tsx"===n)||tryExtension(".ts",".tsx"===n))||4&t&&tryExtension(".d.ts",".tsx"===n)||2&t&&(tryExtension(".jsx")||tryExtension(".js"))||void 0;case".ts":case".d.ts":case".js":case"":return 1&t&&(tryExtension(".ts",".ts"===n||".d.ts"===n)||tryExtension(".tsx",".ts"===n||".d.ts"===n))||4&t&&tryExtension(".d.ts",".ts"===n||".d.ts"===n)||2&t&&(tryExtension(".js")||tryExtension(".jsx"))||i.isConfigLookup&&tryExtension(".json")||void 0;default:return 4&t&&!isDeclarationFileName(e+n)&&tryExtension(`.d${n}.ts`)||void 0}function tryExtension(t,n){const o=tryFile(e+t,r,i);return void 0===o?void 0:{path:o,ext:t,resolvedUsingTsExtension:!i.candidateIsFromPackageJsonField&&n}}}function tryFile(e,t,n){var r;if(!(null==(r=n.compilerOptions.moduleSuffixes)?void 0:r.length))return tryFileLookup(e,t,n);const i=tryGetExtensionFromPath2(e)??"",o=i?removeExtension(e,i):e;return forEach(n.compilerOptions.moduleSuffixes,e=>tryFileLookup(o+e+i,t,n))}function tryFileLookup(e,t,n){var r;if(!t){if(n.host.fileExists(e))return n.traceEnabled&&trace(n.host,Ot.File_0_exists_use_it_as_a_name_resolution_result,e),e;n.traceEnabled&&trace(n.host,Ot.File_0_does_not_exist,e)}null==(r=n.failedLookupLocations)||r.push(e)}function loadNodeModuleFromDirectory(e,t,n,r,i=!0){const o=i?getPackageJsonInfo(t,n,r):void 0;return withPackageId(o,loadNodeModuleFromDirectoryWorker(e,t,n,r,o),r)}function getEntrypointsFromPackageJsonInfo(e,t,n,r,i){if(!i&&void 0!==e.contents.resolvedEntrypoints)return e.contents.resolvedEntrypoints;let o;const a=5|(i?2:0),s=getNodeResolutionFeatures(t),c=getTemporaryModuleResolutionState(null==r?void 0:r.getPackageJsonInfoCache(),n,t);c.conditions=getConditions(t),c.requestContainingDirectory=e.packageDirectory;const l=loadNodeModuleFromDirectoryWorker(a,e.packageDirectory,!1,c,e);if(o=append(o,null==l?void 0:l.path),8&s&&e.contents.packageJsonContent.exports){const r=deduplicate([getConditions(t,99),getConditions(t,1)],arrayIsEqualTo);for(const t of r){const r={...c,failedLookupLocations:[],conditions:t,host:n},i=loadEntrypointsFromExportMap(e,e.contents.packageJsonContent.exports,r,a);if(i)for(const e of i)o=appendIfUnique(o,e.path)}}return e.contents.resolvedEntrypoints=o||!1}function loadEntrypointsFromExportMap(e,t,n,r){let i;if(isArray(t))for(const e of t)loadEntrypointsFromTargetExports(e);else if("object"==typeof t&&null!==t&&allKeysStartWithDot(t))for(const e in t)loadEntrypointsFromTargetExports(t[e]);else loadEntrypointsFromTargetExports(t);return i;function loadEntrypointsFromTargetExports(t){var o,a;if("string"==typeof t&&startsWith(t,"./"))if(t.includes("*")&&n.host.readDirectory){if(t.indexOf("*")!==t.lastIndexOf("*"))return!1;n.host.readDirectory(e.packageDirectory,function extensionsToExtensionsArray(e){const t=[];return 1&e&&t.push(...xr),2&e&&t.push(...yr),4&e&&t.push(...Sr),8&e&&t.push(".json"),t}(r),void 0,[changeFullExtension(replaceFirstStar(t,"**/*"),".*")]).forEach(e=>{i=appendIfUnique(i,{path:e,ext:getAnyExtensionFromPath(e),resolvedUsingTsExtension:void 0})})}else{const s=getPathComponents(t).slice(2);if(s.includes("..")||s.includes(".")||s.includes("node_modules"))return!1;const c=getNormalizedAbsolutePath(combinePaths(e.packageDirectory,t),null==(a=(o=n.host).getCurrentDirectory)?void 0:a.call(o)),l=loadFileNameFromPackageJsonField(r,c,t,!1,n);if(l)return i=appendIfUnique(i,l,(e,t)=>e.path===t.path),!0}else if(Array.isArray(t))for(const e of t){if(loadEntrypointsFromTargetExports(e))return!0}else if("object"==typeof t&&null!==t)return forEach(getOwnKeys(t),e=>{if("default"===e||contains(n.conditions,e)||isApplicableVersionedTypesKey(n.conditions,e))return loadEntrypointsFromTargetExports(t[e]),!0})}}function getTemporaryModuleResolutionState(e,t,n){return{host:t,compilerOptions:n,traceEnabled:isTraceEnabled(n,t),failedLookupLocations:void 0,affectingLocations:void 0,packageJsonInfoCache:e,features:0,conditions:l,requestContainingDirectory:void 0,reportDiagnostic:noop,isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1}}function getPackageScopeForPath(e,t){return forEachAncestorDirectoryStoppingAtGlobalCache(t.host,e,e=>getPackageJsonInfo(e,!1,t))}function getVersionPathsOfPackageJsonInfo(e,t){return void 0===e.contents.versionPaths&&(e.contents.versionPaths=readPackageJsonTypesVersionPaths(e.contents.packageJsonContent,t)||!1),e.contents.versionPaths||void 0}function getPeerDependenciesOfPackageJsonInfo(e,t){return void 0===e.contents.peerDependencies&&(e.contents.peerDependencies=function readPackageJsonPeerDependencies(e,t){const n=readPackageJsonField(e.contents.packageJsonContent,"peerDependencies","object",t);if(void 0===n)return;t.traceEnabled&&trace(t.host,Ot.package_json_has_a_peerDependencies_field);const r=realPath(e.packageDirectory,t.host,t.traceEnabled),i=r.substring(0,r.lastIndexOf("node_modules")+12)+Ft;let o="";for(const e in n)if(hasProperty(n,e)){const n=getPackageJsonInfo(i+e,!1,t);if(n){const r=n.contents.packageJsonContent.version;o+=`+${e}@${r}`,t.traceEnabled&&trace(t.host,Ot.Found_peerDependency_0_with_1_version,e,r)}else t.traceEnabled&&trace(t.host,Ot.Failed_to_find_peerDependency_0,e)}return o}(e,t)||!1),e.contents.peerDependencies||void 0}function getPackageJsonInfo(e,t,n){var r,i,o,a,s,c;const{host:l,traceEnabled:d}=n,p=combinePaths(e,"package.json");if(t)return void(null==(r=n.failedLookupLocations)||r.push(p));const u=null==(i=n.packageJsonInfoCache)?void 0:i.getPackageJsonInfo(p);if(void 0!==u)return isPackageJsonInfo(u)?(d&&trace(l,Ot.File_0_exists_according_to_earlier_cached_lookups,p),null==(o=n.affectingLocations)||o.push(p),u.packageDirectory===e?u:{packageDirectory:e,contents:u.contents}):(u.directoryExists&&d&&trace(l,Ot.File_0_does_not_exist_according_to_earlier_cached_lookups,p),void(null==(a=n.failedLookupLocations)||a.push(p)));const m=directoryProbablyExists(e,l);if(m&&l.fileExists(p)){const t=readJson(p,l);d&&trace(l,Ot.Found_package_json_at_0,p);const r={packageDirectory:e,contents:{packageJsonContent:t,versionPaths:void 0,resolvedEntrypoints:void 0,peerDependencies:void 0}};return n.packageJsonInfoCache&&!n.packageJsonInfoCache.isReadonly&&n.packageJsonInfoCache.setPackageJsonInfo(p,r),null==(s=n.affectingLocations)||s.push(p),r}m&&d&&trace(l,Ot.File_0_does_not_exist,p),n.packageJsonInfoCache&&!n.packageJsonInfoCache.isReadonly&&n.packageJsonInfoCache.setPackageJsonInfo(p,{packageDirectory:e,directoryExists:m}),null==(c=n.failedLookupLocations)||c.push(p)}function loadNodeModuleFromDirectoryWorker(e,t,n,r,i){const o=i&&getVersionPathsOfPackageJsonInfo(i,r);let a;i&&arePathsEqual(null==i?void 0:i.packageDirectory,t,r.host)&&(a=r.isConfigLookup?function readPackageJsonTSConfigField(e,t,n){return readPackageJsonPathField(e,"tsconfig",t,n)}(i.contents.packageJsonContent,i.packageDirectory,r):4&e&&function readPackageJsonTypesFields(e,t,n){return readPackageJsonPathField(e,"typings",t,n)||readPackageJsonPathField(e,"types",t,n)}(i.contents.packageJsonContent,i.packageDirectory,r)||7&e&&function readPackageJsonMainField(e,t,n){return readPackageJsonPathField(e,"main",t,n)}(i.contents.packageJsonContent,i.packageDirectory,r)||void 0);const loader=(e,t,n,r)=>{const o=loadFileNameFromPackageJsonField(e,t,void 0,n,r);if(o)return noPackageId(o);const a=4===e?5:e,s=r.features,c=r.candidateIsFromPackageJsonField;r.candidateIsFromPackageJsonField=!0,"module"!==(null==i?void 0:i.contents.packageJsonContent.type)&&(r.features&=-33);const l=nodeLoadModuleByRelativeName(a,t,n,r,!1);return r.features=s,r.candidateIsFromPackageJsonField=c,l},c=a?!directoryProbablyExists(getDirectoryPath(a),r.host):void 0,l=n||!directoryProbablyExists(t,r.host),d=combinePaths(t,r.isConfigLookup?"tsconfig":"index");if(o&&(!a||containsPath(t,a))){const n=getRelativePathFromDirectory(t,a||d,!1);r.traceEnabled&&trace(r.host,Ot.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,o.version,s,n);const i=tryParsePatterns(o.paths),p=tryLoadModuleUsingPaths(e,n,t,o.paths,i,loader,c||l,r);if(p)return removeIgnoredPackageId(p.value)}const p=a&&removeIgnoredPackageId(loader(e,a,c,r));return p||(32&r.features?void 0:loadModuleFromFile(e,d,l,r))}function extensionIsOk(e,t){return 2&e&&(".js"===t||".jsx"===t||".mjs"===t||".cjs"===t)||1&e&&(".ts"===t||".tsx"===t||".mts"===t||".cts"===t)||4&e&&(".d.ts"===t||".d.mts"===t||".d.cts"===t)||8&e&&".json"===t||!1}function parsePackageName(e){let t=e.indexOf(Ft);return"@"===e[0]&&(t=e.indexOf(Ft,t+1)),-1===t?{packageName:e,rest:""}:{packageName:e.slice(0,t),rest:e.slice(t+1)}}function allKeysStartWithDot(e){return every(getOwnKeys(e),e=>startsWith(e,"."))}function loadModuleFromExports(e,t,n,r,i,o){if(e.contents.packageJsonContent.exports){if("."===n){let a;if("string"==typeof e.contents.packageJsonContent.exports||Array.isArray(e.contents.packageJsonContent.exports)||"object"==typeof e.contents.packageJsonContent.exports&&function noKeyStartsWithDot(e){return!some(getOwnKeys(e),e=>startsWith(e,"."))}(e.contents.packageJsonContent.exports)?a=e.contents.packageJsonContent.exports:hasProperty(e.contents.packageJsonContent.exports,".")&&(a=e.contents.packageJsonContent.exports["."]),a){return getLoadModuleFromTargetExportOrImport(t,r,i,o,n,e,!1)(a,"",!1,".")}}else if(allKeysStartWithDot(e.contents.packageJsonContent.exports)){if("object"!=typeof e.contents.packageJsonContent.exports)return r.traceEnabled&&trace(r.host,Ot.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,n,e.packageDirectory),toSearchResult(void 0);const a=loadModuleFromExportsOrImports(t,r,i,o,n,e.contents.packageJsonContent.exports,e,!1);if(a)return a}return r.traceEnabled&&trace(r.host,Ot.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,n,e.packageDirectory),toSearchResult(void 0)}}function comparePatternKeys(e,t){const n=e.indexOf("*"),r=t.indexOf("*"),i=-1===n?e.length:n+1,o=-1===r?t.length:r+1;return i>o?-1:o>i||-1===n?1:-1===r||e.length>t.length?-1:t.length>e.length?1:0}function loadModuleFromExportsOrImports(e,t,n,r,i,o,a,s){const c=getLoadModuleFromTargetExportOrImport(e,t,n,r,i,a,s);if(!endsWith(i,Ft)&&!i.includes("*")&&hasProperty(o,i)){return c(o[i],"",!1,i)}const l=toSorted(filter(getOwnKeys(o),e=>function hasOneAsterisk(e){const t=e.indexOf("*");return-1!==t&&t===e.lastIndexOf("*")}(e)||endsWith(e,"/")),comparePatternKeys);for(const e of l){if(16&t.features&&matchesPatternWithTrailer(e,i)){const t=o[e],n=e.indexOf("*");return c(t,i.substring(e.substring(0,n).length,i.length-(e.length-1-n)),!0,e)}if(endsWith(e,"*")&&startsWith(i,e.substring(0,e.length-1))){return c(o[e],i.substring(e.length-1),!0,e)}if(startsWith(i,e)){return c(o[e],i.substring(e.length),!1,e)}}function matchesPatternWithTrailer(e,t){if(endsWith(e,"*"))return!1;const n=e.indexOf("*");return-1!==n&&(startsWith(t,e.substring(0,n))&&endsWith(t,e.substring(n+1)))}}function getLoadModuleFromTargetExportOrImport(e,t,n,r,i,o,a){return function loadModuleFromTargetExportOrImport(s,c,d,p){var u,m;if("string"==typeof s){if(!d&&c.length>0&&!endsWith(s,"/"))return t.traceEnabled&&trace(t.host,Ot.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,o.packageDirectory,i),toSearchResult(void 0);if(!startsWith(s,"./")){if(a&&!startsWith(s,"../")&&!startsWith(s,"/")&&!isRootedDiskPath(s)){const i=d?s.replace(/\*/g,c):s+c;traceIfEnabled(t,Ot.Using_0_subpath_1_with_target_2,"imports",p,i),traceIfEnabled(t,Ot.Resolving_module_0_from_1,i,o.packageDirectory+"/");const a=nodeModuleNameResolverWorker(t.features,i,o.packageDirectory+"/",t.compilerOptions,t.host,n,e,!1,r,t.conditions);return null==(u=t.failedLookupLocations)||u.push(...a.failedLookupLocations??l),null==(m=t.affectingLocations)||m.push(...a.affectingLocations??l),toSearchResult(a.resolvedModule?{path:a.resolvedModule.resolvedFileName,extension:a.resolvedModule.extension,packageId:a.resolvedModule.packageId,originalPath:a.resolvedModule.originalPath,resolvedUsingTsExtension:a.resolvedModule.resolvedUsingTsExtension}:void 0)}return t.traceEnabled&&trace(t.host,Ot.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,o.packageDirectory,i),toSearchResult(void 0)}const _=(pathIsRelative(s)?getPathComponents(s).slice(1):getPathComponents(s)).slice(1);if(_.includes("..")||_.includes(".")||_.includes("node_modules"))return t.traceEnabled&&trace(t.host,Ot.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,o.packageDirectory,i),toSearchResult(void 0);const f=combinePaths(o.packageDirectory,s),g=getPathComponents(c);if(g.includes("..")||g.includes(".")||g.includes("node_modules"))return t.traceEnabled&&trace(t.host,Ot.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,o.packageDirectory,i),toSearchResult(void 0);t.traceEnabled&&trace(t.host,Ot.Using_0_subpath_1_with_target_2,a?"imports":"exports",p,d?s.replace(/\*/g,c):s+c);const y=toAbsolutePath(d?f.replace(/\*/g,c):f+c),h=function tryLoadInputFileForPath(n,r,i,a){var s,c,l,d;if(!t.isConfigLookup&&(t.compilerOptions.declarationDir||t.compilerOptions.outDir)&&!n.includes("/node_modules/")&&(!t.compilerOptions.configFile||containsPath(o.packageDirectory,toAbsolutePath(t.compilerOptions.configFile.fileName),!useCaseSensitiveFileNames(t)))){const p=hostGetCanonicalFileName({useCaseSensitiveFileNames:()=>useCaseSensitiveFileNames(t)}),u=[];if(t.compilerOptions.rootDir||t.compilerOptions.composite&&t.compilerOptions.configFilePath){const e=toAbsolutePath(getCommonSourceDirectory(t.compilerOptions,()=>[],(null==(c=(s=t.host).getCurrentDirectory)?void 0:c.call(s))||"",p));u.push(e)}else if(t.requestContainingDirectory){const e=toAbsolutePath(combinePaths(t.requestContainingDirectory,"index.ts")),n=toAbsolutePath(getCommonSourceDirectory(t.compilerOptions,()=>[e,toAbsolutePath(i)],(null==(d=(l=t.host).getCurrentDirectory)?void 0:d.call(l))||"",p));u.push(n);let r=ensureTrailingDirectorySeparator(n);for(;r&&r.length>1;){const e=getPathComponents(r);e.pop();const t=getPathFromPathComponents(e);u.unshift(t),r=ensureTrailingDirectorySeparator(t)}}u.length>1&&t.reportDiagnostic(createCompilerDiagnostic(a?Ot.The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:Ot.The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate,""===r?".":r,i));for(const r of u){const i=getOutputDirectoriesForBaseDirectory(r);for(const a of i)if(containsPath(a,n,!useCaseSensitiveFileNames(t))){const i=combinePaths(r,n.slice(a.length+1)),s=[".mjs",".cjs",".js",".json",".d.mts",".d.cts",".d.ts"];for(const n of s)if(fileExtensionIs(i,n)){const r=getPossibleOriginalInputExtensionForExtension(i);for(const a of r){if(!extensionIsOk(e,a))continue;const r=changeAnyExtension(i,a,n,!useCaseSensitiveFileNames(t));if(t.host.fileExists(r))return toSearchResult(withPackageId(o,loadFileNameFromPackageJsonField(e,r,void 0,!1,t),t))}}}}}return;function getOutputDirectoriesForBaseDirectory(e){var n,r;const i=t.compilerOptions.configFile?(null==(r=(n=t.host).getCurrentDirectory)?void 0:r.call(n))||"":e,o=[];return t.compilerOptions.declarationDir&&o.push(toAbsolutePath(combineDirectoryPath(i,t.compilerOptions.declarationDir))),t.compilerOptions.outDir&&t.compilerOptions.outDir!==t.compilerOptions.declarationDir&&o.push(toAbsolutePath(combineDirectoryPath(i,t.compilerOptions.outDir))),o}}(y,c,combinePaths(o.packageDirectory,"package.json"),a);return h||toSearchResult(withPackageId(o,loadFileNameFromPackageJsonField(e,y,s,!1,t),t))}if("object"==typeof s&&null!==s){if(!Array.isArray(s)){traceIfEnabled(t,Ot.Entering_conditional_exports);for(const e of getOwnKeys(s))if("default"===e||t.conditions.includes(e)||isApplicableVersionedTypesKey(t.conditions,e)){traceIfEnabled(t,Ot.Matched_0_condition_1,a?"imports":"exports",e);const n=s[e],r=loadModuleFromTargetExportOrImport(n,c,d,p);if(r)return traceIfEnabled(t,Ot.Resolved_under_condition_0,e),traceIfEnabled(t,Ot.Exiting_conditional_exports),r;traceIfEnabled(t,Ot.Failed_to_resolve_under_condition_0,e)}else traceIfEnabled(t,Ot.Saw_non_matching_condition_0,e);return void traceIfEnabled(t,Ot.Exiting_conditional_exports)}if(!length(s))return t.traceEnabled&&trace(t.host,Ot.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,o.packageDirectory,i),toSearchResult(void 0);for(const e of s){const t=loadModuleFromTargetExportOrImport(e,c,d,p);if(t)return t}}else if(null===s)return t.traceEnabled&&trace(t.host,Ot.package_json_scope_0_explicitly_maps_specifier_1_to_null,o.packageDirectory,i),toSearchResult(void 0);t.traceEnabled&&trace(t.host,Ot.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,o.packageDirectory,i);return toSearchResult(void 0);function toAbsolutePath(e){var n,r;return void 0===e?e:getNormalizedAbsolutePath(e,null==(r=(n=t.host).getCurrentDirectory)?void 0:r.call(n))}function combineDirectoryPath(e,t){return ensureTrailingDirectorySeparator(combinePaths(e,t))}}}function isApplicableVersionedTypesKey(e,t){if(!e.includes("types"))return!1;if(!startsWith(t,"types@"))return!1;const n=F.tryParse(t.substring(6));return!!n&&n.test(s)}function loadModuleFromNearestNodeModulesDirectory(e,t,n,r,i,o){return loadModuleFromNearestNodeModulesDirectoryWorker(e,t,n,r,!1,i,o)}function loadModuleFromNearestNodeModulesDirectoryWorker(e,t,n,r,i,o,a){const s=0===r.features?void 0:32&r.features||r.conditions.includes("import")?99:1,c=5&e,l=-6&e;if(c){traceIfEnabled(r,Ot.Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0,formatExtensions(c));const e=lookup(c);if(e)return e}if(l&&!i)return traceIfEnabled(r,Ot.Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0,formatExtensions(l)),lookup(l);function lookup(e){return forEachAncestorDirectoryStoppingAtGlobalCache(r.host,normalizeSlashes(n),n=>{if("node_modules"!==getBaseFileName(n)){const c=tryFindNonRelativeModuleNameInCache(o,t,s,n,a,r);return c||toSearchResult(loadModuleFromImmediateNodeModulesDirectory(e,t,n,r,i,o,a))}})}}function forEachAncestorDirectoryStoppingAtGlobalCache(e,t,n){var r;const i=null==(r=null==e?void 0:e.getGlobalTypingsCacheLocation)?void 0:r.call(e);return forEachAncestorDirectory(t,e=>{const t=n(e);return void 0!==t?t:e!==i&&void 0})||void 0}function loadModuleFromImmediateNodeModulesDirectory(e,t,n,r,i,o,a){const s=combinePaths(n,"node_modules"),c=directoryProbablyExists(s,r.host);if(!c&&r.traceEnabled&&trace(r.host,Ot.Directory_0_does_not_exist_skipping_all_lookups_in_it,s),!i){const n=loadModuleFromSpecificNodeModulesDirectory(e,t,s,c,r,o,a);if(n)return n}if(4&e){const e=combinePaths(s,"@types");let n=c;return c&&!directoryProbablyExists(e,r.host)&&(r.traceEnabled&&trace(r.host,Ot.Directory_0_does_not_exist_skipping_all_lookups_in_it,e),n=!1),loadModuleFromSpecificNodeModulesDirectory(4,mangleScopedPackageNameWithTrace(t,r),e,n,r,o,a)}}function loadModuleFromSpecificNodeModulesDirectory(e,t,n,r,i,o,a){var c,d;const p=normalizePath(combinePaths(n,t)),{packageName:u,rest:m}=parsePackageName(t),_=combinePaths(n,u);let f,g=getPackageJsonInfo(p,!r,i);if(""!==m&&g&&(!(8&i.features)||!hasProperty((null==(c=f=getPackageJsonInfo(_,!r,i))?void 0:c.contents.packageJsonContent)??l,"exports"))){const t=loadModuleFromFile(e,p,!r,i);if(t)return noPackageId(t);const n=loadNodeModuleFromDirectoryWorker(e,p,!r,i,g);return withPackageId(g,n,i)}const loader=(e,t,n,r)=>{let i=(m||!(32&r.features))&&loadModuleFromFile(e,t,n,r)||loadNodeModuleFromDirectoryWorker(e,t,n,r,g);return!i&&!m&&g&&(void 0===g.contents.packageJsonContent.exports||null===g.contents.packageJsonContent.exports)&&32&r.features&&(i=loadModuleFromFile(e,combinePaths(t,"index.js"),n,r)),withPackageId(g,i,r)};if(""!==m&&(g=f??getPackageJsonInfo(_,!r,i)),g&&(i.resolvedPackageDirectory=!0),g&&g.contents.packageJsonContent.exports&&8&i.features)return null==(d=loadModuleFromExports(g,e,combinePaths(".",m),i,o,a))?void 0:d.value;const y=""!==m&&g?getVersionPathsOfPackageJsonInfo(g,i):void 0;if(y){i.traceEnabled&&trace(i.host,Ot.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,y.version,s,m);const t=r&&directoryProbablyExists(_,i.host),n=tryParsePatterns(y.paths),o=tryLoadModuleUsingPaths(e,m,_,y.paths,n,loader,!t,i);if(o)return o.value}return loader(e,p,!r,i)}function tryLoadModuleUsingPaths(e,t,n,r,i,o,a,s){const c=matchPatternOrExact(i,t);if(c){const i=isString(c)?void 0:matchedText(c,t),l=isString(c)?c:patternText(c);s.traceEnabled&&trace(s.host,Ot.Module_name_0_matched_pattern_1,t,l);return{value:forEach(r[l],t=>{const r=i?replaceFirstStar(t,i):t,c=normalizePath(combinePaths(n,r));s.traceEnabled&&trace(s.host,Ot.Trying_substitution_0_candidate_module_location_Colon_1,t,r);const l=tryGetExtensionFromPath2(t);if(void 0!==l){const e=tryFile(c,a,s);if(void 0!==e)return noPackageId({path:e,ext:l,resolvedUsingTsExtension:void 0})}return o(e,c,a||!directoryProbablyExists(getDirectoryPath(c),s.host),s)})}}}var Ro="__";function mangleScopedPackageNameWithTrace(e,t){const n=mangleScopedPackageName(e);return t.traceEnabled&&n!==e&&trace(t.host,Ot.Scoped_package_detected_looking_in_0,n),n}function getTypesPackageName(e){return`@types/${mangleScopedPackageName(e)}`}function mangleScopedPackageName(e){if(startsWith(e,"@")){const t=e.replace(Ft,Ro);if(t!==e)return t.slice(1)}return e}function getPackageNameFromTypesPackageName(e){const t=removePrefix(e,"@types/");return t!==e?unmangleScopedPackageName(t):e}function unmangleScopedPackageName(e){return e.includes(Ro)?"@"+e.replace(Ro,Ft):e}function tryFindNonRelativeModuleNameInCache(e,t,n,r,i,o){const a=e&&e.getFromNonRelativeNameCache(t,n,r,i);if(a)return o.traceEnabled&&trace(o.host,Ot.Resolution_for_module_0_was_found_in_cache_from_location_1,t,r),o.resultFromCache=a,{value:a.resolvedModule&&{path:a.resolvedModule.resolvedFileName,originalPath:a.resolvedModule.originalPath||!0,extension:a.resolvedModule.extension,packageId:a.resolvedModule.packageId,resolvedUsingTsExtension:a.resolvedModule.resolvedUsingTsExtension}}}function classicNameResolver(e,t,n,r,i,o){const a=isTraceEnabled(n,r),s=[],c=[],l=getDirectoryPath(t),d=[],p={compilerOptions:n,host:r,traceEnabled:a,failedLookupLocations:s,affectingLocations:c,packageJsonInfoCache:i,features:0,conditions:[],requestContainingDirectory:l,reportDiagnostic:e=>{d.push(e)},isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1},u=tryResolve(5)||tryResolve(2|(n.resolveJsonModule?8:0));return createResolvedModuleWithFailedLookupLocationsHandlingSymlink(e,u&&u.value,(null==u?void 0:u.value)&&pathContainsNodeModules(u.value.path),s,c,d,p,i);function tryResolve(t){const n=tryLoadModuleUsingOptionalResolutionSettings(t,e,l,loadModuleFromFileNoPackageId,p);if(n)return{value:n};if(isExternalModuleNameRelative(e)){const n=normalizePath(combinePaths(l,e));return toSearchResult(loadModuleFromFileNoPackageId(t,n,!1,p))}{const n=forEachAncestorDirectoryStoppingAtGlobalCache(p.host,l,n=>{const r=tryFindNonRelativeModuleNameInCache(i,e,void 0,n,o,p);if(r)return r;const a=normalizePath(combinePaths(n,e));return toSearchResult(loadModuleFromFileNoPackageId(t,a,!1,p))});if(n)return n;if(5&t){let n=function loadModuleFromNearestNodeModulesDirectoryTypesScope(e,t,n){return loadModuleFromNearestNodeModulesDirectoryWorker(4,e,t,n,!0,void 0,void 0)}(e,l,p);return 4&t&&(n??(n=resolveFromTypeRoot(e,p))),n}}}}function resolveFromTypeRoot(e,t){if(t.compilerOptions.typeRoots)for(const n of t.compilerOptions.typeRoots){const r=getCandidateFromTypeRoot(n,e,t),i=directoryProbablyExists(n,t.host);!i&&t.traceEnabled&&trace(t.host,Ot.Directory_0_does_not_exist_skipping_all_lookups_in_it,n);const o=loadModuleFromFile(4,r,!i,t);if(o){const e=parseNodeModuleFromPath(o.path);return toSearchResult(withPackageId(e?getPackageJsonInfo(e,!1,t):void 0,o,t))}const a=loadNodeModuleFromDirectory(4,r,!i,t);if(a)return toSearchResult(a)}}function shouldAllowImportingTsExtension(e,t){return Un(e)||!!t&&isDeclarationFileName(t)}function loadModuleFromGlobalCache(e,t,n,r,i,o){const a=isTraceEnabled(n,r);a&&trace(r,Ot.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2,t,e,i);const s=[],c=[],l=[],d={compilerOptions:n,host:r,traceEnabled:a,failedLookupLocations:s,affectingLocations:c,packageJsonInfoCache:o,features:0,conditions:[],requestContainingDirectory:void 0,reportDiagnostic:e=>{l.push(e)},isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1};return createResolvedModuleWithFailedLookupLocations(loadModuleFromImmediateNodeModulesDirectory(4,e,i,d,!1,void 0,void 0),!0,s,c,l,d.resultFromCache,void 0)}function toSearchResult(e){return void 0!==e?{value:e}:void 0}function traceIfEnabled(e,t,...n){e.traceEnabled&&trace(e.host,t,...n)}function useCaseSensitiveFileNames(e){return!e.host.useCaseSensitiveFileNames||("boolean"==typeof e.host.useCaseSensitiveFileNames?e.host.useCaseSensitiveFileNames:e.host.useCaseSensitiveFileNames())}var Bo=(e=>(e[e.NonInstantiated=0]="NonInstantiated",e[e.Instantiated=1]="Instantiated",e[e.ConstEnumOnly=2]="ConstEnumOnly",e))(Bo||{});function getModuleInstanceState(e,t){return e.body&&!e.body.parent&&(setParent(e.body,e),setParentRecursive(e.body,!1)),e.body?getModuleInstanceStateCached(e.body,t):1}function getModuleInstanceStateCached(e,t=new Map){const n=getNodeId(e);if(t.has(n))return t.get(n)||0;t.set(n,void 0);const r=function getModuleInstanceStateWorker(e,t){switch(e.kind){case 265:case 266:return 0;case 267:if(isEnumConst(e))return 2;break;case 273:case 272:if(!hasSyntacticModifier(e,32))return 0;break;case 279:const n=e;if(!n.moduleSpecifier&&n.exportClause&&280===n.exportClause.kind){let e=0;for(const r of n.exportClause.elements){const n=getModuleInstanceStateForAliasTarget(r,t);if(n>e&&(e=n),1===e)return e}return e}break;case 269:{let n=0;return forEachChild(e,e=>{const r=getModuleInstanceStateCached(e,t);switch(r){case 0:return;case 2:return void(n=2);case 1:return n=1,!0;default:h.assertNever(r)}}),n}case 268:return getModuleInstanceState(e,t);case 80:if(4096&e.flags)return 0}return 1}(e,t);return t.set(n,r),r}function getModuleInstanceStateForAliasTarget(e,t){const n=e.propertyName||e.name;if(80!==n.kind)return 1;let r=e.parent;for(;r;){if(isBlock(r)||isModuleBlock(r)||isSourceFile(r)){const e=r.statements;let i;for(const o of e)if(nodeHasName(o,n)){o.parent||(setParent(o,r),setParentRecursive(o,!1));const e=getModuleInstanceStateCached(o,t);if((void 0===i||e>i)&&(i=e),1===i)return i;272===o.kind&&(i=1)}if(void 0!==i)return i}r=r.parent}return 1}var jo=(e=>(e[e.None=0]="None",e[e.IsContainer=1]="IsContainer",e[e.IsBlockScopedContainer=2]="IsBlockScopedContainer",e[e.IsControlFlowContainer=4]="IsControlFlowContainer",e[e.IsFunctionLike=8]="IsFunctionLike",e[e.IsFunctionExpression=16]="IsFunctionExpression",e[e.HasLocals=32]="HasLocals",e[e.IsInterface=64]="IsInterface",e[e.IsObjectLiteralOrClassExpressionMethodOrAccessor=128]="IsObjectLiteralOrClassExpressionMethodOrAccessor",e))(jo||{});function createFlowNode(e,t,n){return h.attachFlowNodeDebugInfo({flags:e,id:0,node:t,antecedent:n})}var Jo=createBinder();function bindSourceFile(e,t){mark("beforeBind"),Jo(e,t),mark("afterBind"),measure("Bind","beforeBind","afterBind")}function createBinder(){var e,t,n,r,i,o,a,s,c,l,d,p,u,m,_,f,g,y,T,S,x,v,b,C,E,N,k,F=!1,P=0,D=createFlowNode(1,void 0,void 0),I=createFlowNode(1,void 0,void 0),A=function createBindBinaryExpressionFlow(){return createBinaryExpressionTrampoline(function onEnter(e,t){if(t){t.stackIndex++,setParent(e,r);const n=E;bindWorker(e);const i=r;r=e,t.skip=!1,t.inStrictModeStack[t.stackIndex]=n,t.parentStack[t.stackIndex]=i}else t={stackIndex:0,skip:!1,inStrictModeStack:[void 0],parentStack:[void 0]};const n=e.operatorToken.kind;if(isLogicalOrCoalescingBinaryOperator(n)||isLogicalOrCoalescingAssignmentOperator(n)){if(isTopLevelLogicalExpression(e)){const t=createBranchLabel(),n=p,r=b;b=!1,bindLogicalLikeExpression(e,t,t),p=b?finishFlowLabel(t):n,b||(b=r)}else bindLogicalLikeExpression(e,f,g);t.skip=!0}return t},function onLeft(e,t,n){if(!t.skip){const t=maybeBind2(e);return 28===n.operatorToken.kind&&maybeBindExpressionFlowIfCall(e),t}},function onOperator(e,t,n){t.skip||bind(e)},function onRight(e,t,n){if(!t.skip){const t=maybeBind2(e);return 28===n.operatorToken.kind&&maybeBindExpressionFlowIfCall(e),t}},function onExit(e,t){if(!t.skip){const t=e.operatorToken.kind;if(isAssignmentOperator(t)&&!isAssignmentTarget(e)&&(bindAssignmentTargetFlow(e.left),64===t&&213===e.left.kind)){isNarrowableOperand(e.left.expression)&&(p=createFlowMutation(256,p,e))}}const n=t.inStrictModeStack[t.stackIndex],i=t.parentStack[t.stackIndex];void 0!==n&&(E=n);void 0!==i&&(r=i);t.skip=!1,t.stackIndex--},void 0);function maybeBind2(e){if(e&&isBinaryExpression(e)&&!isDestructuringAssignment(e))return e;bind(e)}}();return function bindSourceFile2(T,A){var O,w;e=T,n=zn(t=A),E=function bindInStrictMode(e,t){return!(!getStrictOptionValue(t,"alwaysStrict")||e.isDeclarationFile)||!!e.externalModuleIndicator}(e,A),k=new Set,P=0,N=Bn.getSymbolConstructor(),h.attachFlowNodeDebugInfo(D),h.attachFlowNodeDebugInfo(I),e.locals||(null==(O=J)||O.push(J.Phase.Bind,"bindSourceFile",{path:e.path},!0),bind(e),null==(w=J)||w.pop(),e.symbolCount=P,e.classifiableNames=k,function delayedBindJSDocTypedefTag(){if(!c)return;const t=i,n=s,o=a,l=r,d=p;for(const t of c){const n=t.parent.parent;i=getEnclosingContainer(n)||e,a=getEnclosingBlockScopeContainer(n)||e,p=createFlowNode(2,void 0,void 0),r=t,bind(t.typeExpression);const o=getNameOfDeclaration(t);if((isJSDocEnumTag(t)||!t.fullName)&&o&&isPropertyAccessEntityNameExpression(o.parent)){const n=isTopLevelNamespaceAssignment(o.parent);if(n){bindPotentiallyMissingNamespaces(e.symbol,o.parent,n,!!findAncestor(o,e=>isPropertyAccessExpression(e)&&"prototype"===e.name.escapedText),!1);const r=i;switch(getAssignmentDeclarationPropertyAccessKind(o.parent)){case 1:case 2:i=isExternalOrCommonJsModule(e)?e:void 0;break;case 4:i=o.parent.expression;break;case 3:i=o.parent.expression.name;break;case 5:i=isExportsOrModuleExportsOrAlias(e,o.parent.expression)?e:isPropertyAccessExpression(o.parent.expression)?o.parent.expression.name:o.parent.expression;break;case 0:return h.fail("Shouldn't have detected typedef or enum on non-assignment declaration")}i&&declareModuleMember(t,524288,788968),i=r}}else isJSDocEnumTag(t)||!t.fullName||80===t.fullName.kind?(r=t.parent,bindBlockScopedDeclaration(t,524288,788968)):bind(t.fullName)}i=t,s=n,a=o,r=l,p=d}(),function bindJSDocImports(){if(void 0===d)return;const t=i,n=s,o=a,c=r,l=p;for(const t of d){const n=getJSDocHost(t),o=n?getEnclosingContainer(n):void 0,s=n?getEnclosingBlockScopeContainer(n):void 0;i=o||e,a=s||e,p=createFlowNode(2,void 0,void 0),r=t,bind(t.importClause)}i=t,s=n,a=o,r=c,p=l}());e=void 0,t=void 0,n=void 0,r=void 0,i=void 0,o=void 0,a=void 0,s=void 0,c=void 0,d=void 0,l=!1,p=void 0,u=void 0,m=void 0,_=void 0,f=void 0,g=void 0,y=void 0,S=void 0,x=!1,v=!1,b=!1,F=!1,C=0};function createDiagnosticForNode2(t,n,...r){return createDiagnosticForNodeInSourceFile(getSourceFileOfNode(t)||e,t,n,...r)}function createSymbol(e,t){return P++,new N(e,t)}function addDeclarationToSymbol(e,t,n){e.flags|=n,t.symbol=e,e.declarations=appendIfUnique(e.declarations,t),1955&n&&!e.exports&&(e.exports=createSymbolTable()),6240&n&&!e.members&&(e.members=createSymbolTable()),e.constEnumOnlyModule&&304&e.flags&&(e.constEnumOnlyModule=!1),111551&n&&setValueDeclaration(e,t)}function getDeclarationName(e){if(278===e.kind)return e.isExportEquals?"export=":"default";const t=getNameOfDeclaration(e);if(t){if(isAmbientModule(e)){const n=getTextOfIdentifierOrLiteral(t);return isGlobalScopeAugmentation(e)?"__global":`"${n}"`}if(168===t.kind){const e=t.expression;if(isStringOrNumericLiteralLike(e))return escapeLeadingUnderscores(e.text);if(isSignedNumericLiteral(e))return tokenToString(e.operator)+e.operand.text;h.fail("Only computed properties with literal names have declaration names")}if(isPrivateIdentifier(t)){const n=getContainingClass(e);if(!n)return;return getSymbolNameForPrivateIdentifier(n.symbol,t.escapedText)}return isJsxNamespacedName(t)?getEscapedTextOfJsxNamespacedName(t):isPropertyNameLiteral(t)?getEscapedTextOfIdentifierOrLiteral(t):void 0}switch(e.kind){case 177:return"__constructor";case 185:case 180:case 324:return"__call";case 186:case 181:return"__new";case 182:return"__index";case 279:return"__export";case 308:return"export=";case 227:if(2===getAssignmentDeclarationKind(e))return"export=";h.fail("Unknown binary declaration kind");break;case 318:return isJSDocConstructSignature(e)?"__new":"__call";case 170:h.assert(318===e.parent.kind,"Impossible parameter parent kind",()=>`parent is: ${h.formatSyntaxKind(e.parent.kind)}, expected JSDocFunctionType`);return"arg"+e.parent.parameters.indexOf(e)}}function getDisplayName(e){return isNamedDeclaration(e)?declarationNameToString(e.name):unescapeLeadingUnderscores(h.checkDefined(getDeclarationName(e)))}function declareSymbol(t,n,r,i,o,a,s){h.assert(s||!hasDynamicName(r));const c=hasSyntacticModifier(r,2048)||isExportSpecifier(r)&&moduleExportNameIsDefault(r.name),l=s?"__computed":c&&n?"default":getDeclarationName(r);let d;if(void 0===l)d=createSymbol(0,"__missing");else if(d=t.get(l),2885600&i&&k.add(l),d){if(a&&!d.isReplaceableByMethod)return d;if(d.flags&o)if(d.isReplaceableByMethod)t.set(l,d=createSymbol(0,l));else if(!(3&i&&67108864&d.flags)){isNamedDeclaration(r)&&setParent(r.name,r);let t=2&d.flags?Ot.Cannot_redeclare_block_scoped_variable_0:Ot.Duplicate_identifier_0,n=!0;(384&d.flags||384&i)&&(t=Ot.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations,n=!1);let o=!1;length(d.declarations)&&(c||d.declarations&&d.declarations.length&&278===r.kind&&!r.isExportEquals)&&(t=Ot.A_module_cannot_have_multiple_default_exports,n=!1,o=!0);const a=[];isTypeAliasDeclaration(r)&&nodeIsMissing(r.type)&&hasSyntacticModifier(r,32)&&2887656&d.flags&&a.push(createDiagnosticForNode2(r,Ot.Did_you_mean_0,`export type { ${unescapeLeadingUnderscores(r.name.escapedText)} }`));const s=getNameOfDeclaration(r)||r;forEach(d.declarations,(r,i)=>{const c=getNameOfDeclaration(r)||r,l=n?createDiagnosticForNode2(c,t,getDisplayName(r)):createDiagnosticForNode2(c,t);e.bindDiagnostics.push(o?addRelatedInfo(l,createDiagnosticForNode2(s,0===i?Ot.Another_export_default_is_here:Ot.and_here)):l),o&&a.push(createDiagnosticForNode2(c,Ot.The_first_export_default_is_here))});const p=n?createDiagnosticForNode2(s,t,getDisplayName(r)):createDiagnosticForNode2(s,t);e.bindDiagnostics.push(addRelatedInfo(p,...a)),d=createSymbol(0,l)}}else t.set(l,d=createSymbol(0,l)),a&&(d.isReplaceableByMethod=!0);return addDeclarationToSymbol(d,r,i),d.parent?h.assert(d.parent===n,"Existing symbol parent should match new one"):d.parent=n,d}function declareModuleMember(e,t,n){const r=!!(32&getCombinedModifierFlags(e))||function jsdocTreatAsExported(e){e.parent&&isModuleDeclaration(e)&&(e=e.parent);if(!isJSDocTypeAlias(e))return!1;if(!isJSDocEnumTag(e)&&e.fullName)return!0;const t=getNameOfDeclaration(e);return!!t&&(!(!isPropertyAccessEntityNameExpression(t.parent)||!isTopLevelNamespaceAssignment(t.parent))||!!(isDeclaration(t.parent)&&32&getCombinedModifierFlags(t.parent)))}(e);if(2097152&t)return 282===e.kind||272===e.kind&&r?declareSymbol(i.symbol.exports,i.symbol,e,t,n):(h.assertNode(i,canHaveLocals),declareSymbol(i.locals,void 0,e,t,n));if(isJSDocTypeAlias(e)&&h.assert(isInJSFile(e)),!isAmbientModule(e)&&(r||128&i.flags)){if(!canHaveLocals(i)||!i.locals||hasSyntacticModifier(e,2048)&&!getDeclarationName(e))return declareSymbol(i.symbol.exports,i.symbol,e,t,n);const r=111551&t?1048576:0,o=declareSymbol(i.locals,void 0,e,r,n);return o.exportSymbol=declareSymbol(i.symbol.exports,i.symbol,e,t,n),e.localSymbol=o,o}return h.assertNode(i,canHaveLocals),declareSymbol(i.locals,void 0,e,t,n)}function bindEachFunctionsFirst(e){bindEach(e,e=>263===e.kind?bind(e):void 0),bindEach(e,e=>263!==e.kind?bind(e):void 0)}function bindEach(e,t=bind){void 0!==e&&forEach(e,t)}function bindEachChild(e){forEachChild(e,bind,bindEach)}function bindChildren(e){const n=F;if(F=!1,function checkUnreachable(e){if(!(1&p.flags))return!1;if(p===D){const n=isStatementButNotDeclaration(e)&&243!==e.kind||264===e.kind||isEnumDeclarationWithPreservedEmit(e,t)||268===e.kind&&function shouldReportErrorOnModuleDeclaration(e){const n=getModuleInstanceState(e);return 1===n||2===n&&er(t)}(e);if(n&&(p=I,!t.allowUnreachableCode)){const n=unreachableCodeIsError(t)&&!(33554432&e.flags)&&(!isVariableStatement(e)||!!(7&getCombinedNodeFlags(e.declarationList))||e.declarationList.declarations.some(e=>!!e.initializer));!function eachUnreachableRange(e,t,n){if(isStatement(e)&&isExecutableStatement(e)&&isBlock(e.parent)){const{statements:t}=e.parent,r=sliceAfter(t,e);getRangesWhere(r,isExecutableStatement,(e,t)=>n(r[e],r[t-1]))}else n(e,e);function isExecutableStatement(e){return!(isFunctionDeclaration(e)||isPurelyTypeDeclaration(e)||isVariableStatement(e)&&!(7&getCombinedNodeFlags(e))&&e.declarationList.declarations.some(e=>!e.initializer))}function isPurelyTypeDeclaration(e){switch(e.kind){case 265:case 266:return!0;case 268:return 1!==getModuleInstanceState(e);case 267:return!isEnumDeclarationWithPreservedEmit(e,t);default:return!1}}}(e,t,(e,t)=>errorOrSuggestionOnRange(n,e,t,Ot.Unreachable_code_detected))}}return!0}(e))return canHaveFlowNode(e)&&e.flowNode&&(e.flowNode=void 0),bindEachChild(e),bindJSDoc(e),void(F=n);switch(e.kind>=244&&e.kind<=260&&(!t.allowUnreachableCode||254===e.kind)&&(e.flowNode=p),e.kind){case 248:!function bindWhileStatement(e){const t=setContinueTarget(e,createLoopLabel()),n=createBranchLabel(),r=createBranchLabel();addAntecedent(t,p),p=t,bindCondition(e.expression,n,r),p=finishFlowLabel(n),bindIterativeStatement(e.statement,r,t),addAntecedent(t,p),p=finishFlowLabel(r)}(e);break;case 247:!function bindDoStatement(e){const t=createLoopLabel(),n=setContinueTarget(e,createBranchLabel()),r=createBranchLabel();addAntecedent(t,p),p=t,bindIterativeStatement(e.statement,r,n),addAntecedent(n,p),p=finishFlowLabel(n),bindCondition(e.expression,t,r),p=finishFlowLabel(r)}(e);break;case 249:!function bindForStatement(e){const t=setContinueTarget(e,createLoopLabel()),n=createBranchLabel(),r=createBranchLabel(),i=createBranchLabel();bind(e.initializer),addAntecedent(t,p),p=t,bindCondition(e.condition,n,i),p=finishFlowLabel(n),bindIterativeStatement(e.statement,i,r),addAntecedent(r,p),p=finishFlowLabel(r),bind(e.incrementor),addAntecedent(t,p),p=finishFlowLabel(i)}(e);break;case 250:case 251:!function bindForInOrForOfStatement(e){const t=setContinueTarget(e,createLoopLabel()),n=createBranchLabel();bind(e.expression),addAntecedent(t,p),p=t,251===e.kind&&bind(e.awaitModifier);addAntecedent(n,p),bind(e.initializer),262!==e.initializer.kind&&bindAssignmentTargetFlow(e.initializer);bindIterativeStatement(e.statement,n,t),addAntecedent(t,p),p=finishFlowLabel(n)}(e);break;case 246:!function bindIfStatement(e){const t=createBranchLabel(),n=createBranchLabel(),r=createBranchLabel();bindCondition(e.expression,t,n),p=finishFlowLabel(t),bind(e.thenStatement),addAntecedent(r,p),p=finishFlowLabel(n),bind(e.elseStatement),addAntecedent(r,p),p=finishFlowLabel(r)}(e);break;case 254:case 258:!function bindReturnOrThrow(e){const t=v;v=!0,bind(e.expression),v=t,254===e.kind&&(x=!0,_&&addAntecedent(_,p));p=D,b=!0}(e);break;case 253:case 252:!function bindBreakOrContinueStatement(e){if(bind(e.label),e.label){const t=function findActiveLabel(e){for(let t=S;t;t=t.next)if(t.name===e)return t;return}(e.label.escapedText);t&&(t.referenced=!0,bindBreakOrContinueFlow(e,t.breakTarget,t.continueTarget))}else bindBreakOrContinueFlow(e,u,m)}(e);break;case 259:!function bindTryStatement(e){const t=_,n=y,r=createBranchLabel(),i=createBranchLabel();let o=createBranchLabel();e.finallyBlock&&(_=i);addAntecedent(o,p),y=o,bind(e.tryBlock),addAntecedent(r,p),e.catchClause&&(p=finishFlowLabel(o),o=createBranchLabel(),addAntecedent(o,p),y=o,bind(e.catchClause),addAntecedent(r,p));if(_=t,y=n,e.finallyBlock){const t=createBranchLabel();t.antecedent=concatenate(concatenate(r.antecedent,o.antecedent),i.antecedent),p=t,bind(e.finallyBlock),1&p.flags?p=D:(_&&i.antecedent&&addAntecedent(_,createReduceLabel(t,i.antecedent,p)),y&&o.antecedent&&addAntecedent(y,createReduceLabel(t,o.antecedent,p)),p=r.antecedent?createReduceLabel(t,r.antecedent,p):D)}else p=finishFlowLabel(r)}(e);break;case 256:!function bindSwitchStatement(e){const t=createBranchLabel();bind(e.expression);const n=u,r=T;u=t,T=p,bind(e.caseBlock),addAntecedent(t,p);const i=forEach(e.caseBlock.clauses,e=>298===e.kind);e.possiblyExhaustive=!i&&!t.antecedent,i||addAntecedent(t,createFlowSwitchClause(T,e,0,0));u=n,T=r,p=finishFlowLabel(t)}(e);break;case 270:!function bindCaseBlock(e){const n=e.clauses,r=112===e.parent.expression.kind||isNarrowingExpression(e.parent.expression);let i=D;for(let o=0;o<n.length;o++){const a=o;for(;!n[o].statements.length&&o+1<n.length;)i===D&&(p=T),bind(n[o]),o++;const s=createBranchLabel();addAntecedent(s,r?createFlowSwitchClause(T,e.parent,a,o+1):T),addAntecedent(s,i),p=finishFlowLabel(s);const c=n[o];bind(c),i=p,1&p.flags||o===n.length-1||!t.noFallthroughCasesInSwitch||(c.fallthroughFlowNode=p)}}(e);break;case 297:!function bindCaseClause(e){const t=p;p=T,bind(e.expression),p=t,bindEach(e.statements)}(e);break;case 245:!function bindExpressionStatement(e){bind(e.expression),maybeBindExpressionFlowIfCall(e.expression)}(e);break;case 257:!function bindLabeledStatement(e){const n=createBranchLabel();S={next:S,name:e.label.escapedText,breakTarget:n,continueTarget:void 0,referenced:!1},bind(e.label),bind(e.statement),S.referenced||t.allowUnusedLabels||function errorOrSuggestionOnNode(e,t,n){errorOrSuggestionOnRange(e,t,t,n)}(unusedLabelIsError(t),e.label,Ot.Unused_label);S=S.next,addAntecedent(n,p),p=finishFlowLabel(n)}(e);break;case 225:!function bindPrefixUnaryExpressionFlow(e){if(54===e.operator){const t=f;f=g,g=t,bindEachChild(e),g=f,f=t}else bindEachChild(e),46!==e.operator&&47!==e.operator||bindAssignmentTargetFlow(e.operand)}(e);break;case 226:!function bindPostfixUnaryExpressionFlow(e){bindEachChild(e),(46===e.operator||47===e.operator)&&bindAssignmentTargetFlow(e.operand)}(e);break;case 227:if(isDestructuringAssignment(e))return F=n,void function bindDestructuringAssignmentFlow(e){F?(F=!1,bind(e.operatorToken),bind(e.right),F=!0,bind(e.left)):(F=!0,bind(e.left),F=!1,bind(e.operatorToken),bind(e.right));bindAssignmentTargetFlow(e.left)}(e);A(e);break;case 221:!function bindDeleteExpressionFlow(e){bindEachChild(e),212===e.expression.kind&&bindAssignmentTargetFlow(e.expression)}(e);break;case 228:!function bindConditionalExpressionFlow(e){const t=createBranchLabel(),n=createBranchLabel(),r=createBranchLabel(),i=p,o=b;b=!1,bindCondition(e.condition,t,n),p=finishFlowLabel(t),v&&(e.flowNodeWhenTrue=p);bind(e.questionToken),bind(e.whenTrue),addAntecedent(r,p),p=finishFlowLabel(n),v&&(e.flowNodeWhenFalse=p);bind(e.colonToken),bind(e.whenFalse),addAntecedent(r,p),p=b?finishFlowLabel(r):i,b||(b=o)}(e);break;case 261:!function bindVariableDeclarationFlow(e){bindEachChild(e),(e.initializer||isForInOrOfStatement(e.parent.parent))&&bindInitializedVariableFlow(e)}(e);break;case 212:case 213:!function bindAccessExpressionFlow(e){isOptionalChain(e)?bindOptionalChainFlow(e):bindEachChild(e)}(e);break;case 214:!function bindCallExpressionFlow(e){if(isOptionalChain(e))bindOptionalChainFlow(e);else{const t=skipParentheses(e.expression);219===t.kind||220===t.kind?(bindEach(e.typeArguments),bindEach(e.arguments),bind(e.expression)):(bindEachChild(e),108===e.expression.kind&&(p=createFlowCall(p,e)))}if(212===e.expression.kind){const t=e.expression;isIdentifier(t.name)&&isNarrowableOperand(t.expression)&&isPushOrUnshiftIdentifier(t.name)&&(p=createFlowMutation(256,p,e))}}(e);break;case 236:!function bindNonNullExpressionFlow(e){isOptionalChain(e)?bindOptionalChainFlow(e):bindEachChild(e)}(e);break;case 347:case 339:case 341:!function bindJSDocTypeAlias(e){bind(e.tagName),341!==e.kind&&e.fullName&&(setParent(e.fullName,e),setParentRecursive(e.fullName,!1));"string"!=typeof e.comment&&bindEach(e.comment)}(e);break;case 352:!function bindJSDocImportTag(e){bind(e.tagName),bind(e.moduleSpecifier),bind(e.attributes),"string"!=typeof e.comment&&bindEach(e.comment)}(e);break;case 308:bindEachFunctionsFirst(e.statements),bind(e.endOfFileToken);break;case 242:case 269:bindEachFunctionsFirst(e.statements);break;case 209:!function bindBindingElementFlow(e){bind(e.dotDotDotToken),bind(e.propertyName),bindInitializer(e.initializer),bind(e.name)}(e);break;case 170:!function bindParameterFlow(e){bindEach(e.modifiers),bind(e.dotDotDotToken),bind(e.questionToken),bind(e.type),bindInitializer(e.initializer),bind(e.name)}(e);break;case 211:case 210:case 304:case 231:F=n;default:bindEachChild(e)}bindJSDoc(e),F=n}function isNarrowingExpression(e){switch(e.kind){case 80:case 110:return!0;case 212:case 213:return containsNarrowableReference(e);case 214:return function hasNarrowableArgument(e){if(e.arguments)for(const t of e.arguments)if(containsNarrowableReference(t))return!0;if(212===e.expression.kind&&containsNarrowableReference(e.expression.expression))return!0;return!1}(e);case 218:if(isJSDocTypeAssertion(e))return!1;case 236:return isNarrowingExpression(e.expression);case 227:return function isNarrowingBinaryExpression(e){switch(e.operatorToken.kind){case 64:case 76:case 77:case 78:return containsNarrowableReference(e.left);case 35:case 36:case 37:case 38:const t=skipParentheses(e.left),n=skipParentheses(e.right);return isNarrowableOperand(t)||isNarrowableOperand(n)||isNarrowingTypeofOperands(n,t)||isNarrowingTypeofOperands(t,n)||isBooleanLiteral(n)&&isNarrowingExpression(t)||isBooleanLiteral(t)&&isNarrowingExpression(n);case 104:return isNarrowableOperand(e.left);case 103:case 28:return isNarrowingExpression(e.right)}return!1}(e);case 225:return 54===e.operator&&isNarrowingExpression(e.operand);case 222:return isNarrowingExpression(e.expression)}return!1}function isNarrowableReference(e){switch(e.kind){case 80:case 110:case 108:case 237:return!0;case 212:case 218:case 236:return isNarrowableReference(e.expression);case 213:return(isStringOrNumericLiteralLike(e.argumentExpression)||isEntityNameExpression(e.argumentExpression))&&isNarrowableReference(e.expression);case 227:return 28===e.operatorToken.kind&&isNarrowableReference(e.right)||isAssignmentOperator(e.operatorToken.kind)&&isLeftHandSideExpression(e.left)}return!1}function containsNarrowableReference(e){return isNarrowableReference(e)||isOptionalChain(e)&&containsNarrowableReference(e.expression)}function isNarrowingTypeofOperands(e,t){return isTypeOfExpression(e)&&isNarrowableOperand(e.expression)&&isStringLiteralLike(t)}function isNarrowableOperand(e){switch(e.kind){case 218:return isNarrowableOperand(e.expression);case 227:switch(e.operatorToken.kind){case 64:return isNarrowableOperand(e.left);case 28:return isNarrowableOperand(e.right)}}return containsNarrowableReference(e)}function createBranchLabel(){return createFlowNode(4,void 0,void 0)}function createLoopLabel(){return createFlowNode(8,void 0,void 0)}function createReduceLabel(e,t,n){return createFlowNode(1024,{target:e,antecedents:t},n)}function setFlowNodeReferenced(e){e.flags|=2048&e.flags?4096:2048}function addAntecedent(e,t){1&t.flags||contains(e.antecedent,t)||((e.antecedent||(e.antecedent=[])).push(t),setFlowNodeReferenced(t))}function createFlowCondition(e,t,n){return 1&t.flags?t:n?!(112===n.kind&&64&e||97===n.kind&&32&e)||isExpressionOfOptionalChainRoot(n)||isNullishCoalesce(n.parent)?isNarrowingExpression(n)?(setFlowNodeReferenced(t),createFlowNode(e,n,t)):t:D:32&e?t:D}function createFlowSwitchClause(e,t,n,r){return setFlowNodeReferenced(e),createFlowNode(128,{switchStatement:t,clauseStart:n,clauseEnd:r},e)}function createFlowMutation(e,t,n){setFlowNodeReferenced(t),b=!0;const r=createFlowNode(e,n,t);return y&&addAntecedent(y,r),r}function createFlowCall(e,t){return setFlowNodeReferenced(e),b=!0,createFlowNode(512,t,e)}function finishFlowLabel(e){const t=e.antecedent;return t?1===t.length?t[0]:e:D}function isLogicalExpression(e){for(;;)if(218===e.kind)e=e.expression;else{if(225!==e.kind||54!==e.operator)return isLogicalOrCoalescingBinaryExpression(e);e=e.operand}}function isTopLevelLogicalExpression(e){for(;isParenthesizedExpression(e.parent)||isPrefixUnaryExpression(e.parent)&&54===e.parent.operator;)e=e.parent;return!(function isStatementCondition(e){const t=e.parent;switch(t.kind){case 246:case 248:case 247:return t.expression===e;case 249:case 228:return t.condition===e}return!1}(e)||isLogicalExpression(e.parent)||isOptionalChain(e.parent)&&e.parent.expression===e)}function doWithConditionalBranches(e,t,n,r){const i=f,o=g;f=n,g=r,e(t),f=i,g=o}function bindCondition(e,t,n){doWithConditionalBranches(bind,e,t,n),e&&(function isLogicalAssignmentExpression(e){return isLogicalOrCoalescingAssignmentExpression(skipParentheses(e))}(e)||isLogicalExpression(e)||isOptionalChain(e)&&isOutermostOptionalChain(e))||(addAntecedent(t,createFlowCondition(32,p,e)),addAntecedent(n,createFlowCondition(64,p,e)))}function bindIterativeStatement(e,t,n){const r=u,i=m;u=t,m=n,bind(e),u=r,m=i}function setContinueTarget(e,t){let n=S;for(;n&&257===e.parent.kind;)n.continueTarget=t,n=n.next,e=e.parent;return t}function bindBreakOrContinueFlow(e,t,n){const r=253===e.kind?t:n;r&&(addAntecedent(r,p),p=D,b=!0)}function maybeBindExpressionFlowIfCall(e){if(214===e.kind){const t=e;108!==t.expression.kind&&isDottedName(t.expression)&&(p=createFlowCall(p,t))}}function bindDestructuringTargetFlow(e){227===e.kind&&64===e.operatorToken.kind?bindAssignmentTargetFlow(e.left):bindAssignmentTargetFlow(e)}function bindAssignmentTargetFlow(e){if(isNarrowableReference(e))p=createFlowMutation(16,p,e);else if(210===e.kind)for(const t of e.elements)231===t.kind?bindAssignmentTargetFlow(t.expression):bindDestructuringTargetFlow(t);else if(211===e.kind)for(const t of e.properties)304===t.kind?bindDestructuringTargetFlow(t.initializer):305===t.kind?bindAssignmentTargetFlow(t.name):306===t.kind&&bindAssignmentTargetFlow(t.expression)}function bindLogicalLikeExpression(e,t,n){const r=createBranchLabel();56===e.operatorToken.kind||77===e.operatorToken.kind?bindCondition(e.left,r,n):bindCondition(e.left,t,r),p=finishFlowLabel(r),bind(e.operatorToken),isLogicalOrCoalescingAssignmentOperator(e.operatorToken.kind)?(doWithConditionalBranches(bind,e.right,t,n),bindAssignmentTargetFlow(e.left),addAntecedent(t,createFlowCondition(32,p,e)),addAntecedent(n,createFlowCondition(64,p,e))):bindCondition(e.right,t,n)}function bindInitializedVariableFlow(e){const t=isOmittedExpression(e)?void 0:e.name;if(isBindingPattern(t))for(const e of t.elements)bindInitializedVariableFlow(e);else p=createFlowMutation(16,p,e)}function bindInitializer(e){if(!e)return;const t=p;if(bind(e),t===D||t===p)return;const n=createBranchLabel();addAntecedent(n,t),addAntecedent(n,p),p=finishFlowLabel(n)}function bindOptionalChainRest(e){switch(e.kind){case 212:bind(e.questionDotToken),bind(e.name);break;case 213:bind(e.questionDotToken),bind(e.argumentExpression);break;case 214:bind(e.questionDotToken),bindEach(e.typeArguments),bindEach(e.arguments)}}function bindOptionalChain(e,t,n){const r=isOptionalChainRoot(e)?createBranchLabel():void 0;!function bindOptionalExpression(e,t,n){doWithConditionalBranches(bind,e,t,n),isOptionalChain(e)&&!isOutermostOptionalChain(e)||(addAntecedent(t,createFlowCondition(32,p,e)),addAntecedent(n,createFlowCondition(64,p,e)))}(e.expression,r||t,n),r&&(p=finishFlowLabel(r)),doWithConditionalBranches(bindOptionalChainRest,e,t,n),isOutermostOptionalChain(e)&&(addAntecedent(t,createFlowCondition(32,p,e)),addAntecedent(n,createFlowCondition(64,p,e)))}function bindOptionalChainFlow(e){if(isTopLevelLogicalExpression(e)){const t=createBranchLabel(),n=p,r=b;bindOptionalChain(e,t,t),p=b?finishFlowLabel(t):n,b||(b=r)}else bindOptionalChain(e,f,g)}function addToContainerChain(e){s&&(s.nextContainer=e),s=e}function declareSymbolAndAddToSymbolTable(t,n,r){switch(i.kind){case 268:return declareModuleMember(t,n,r);case 308:return function declareSourceFileMember(t,n,r){return isExternalModule(e)?declareModuleMember(t,n,r):declareSymbol(e.locals,void 0,t,n,r)}(t,n,r);case 232:case 264:return function declareClassMember(e,t,n){return isStatic(e)?declareSymbol(i.symbol.exports,i.symbol,e,t,n):declareSymbol(i.symbol.members,i.symbol,e,t,n)}(t,n,r);case 267:return declareSymbol(i.symbol.exports,i.symbol,t,n,r);case 188:case 323:case 211:case 265:case 293:return declareSymbol(i.symbol.members,i.symbol,t,n,r);case 185:case 186:case 180:case 181:case 324:case 182:case 175:case 174:case 177:case 178:case 179:case 263:case 219:case 220:case 318:case 176:case 266:case 201:return i.locals&&h.assertNode(i,canHaveLocals),declareSymbol(i.locals,void 0,t,n,r)}}function setExportContextFlag(e){33554432&e.flags&&!function hasExportDeclarations(e){const t=isSourceFile(e)?e:tryCast(e.body,isModuleBlock);return!!t&&t.statements.some(e=>isExportDeclaration(e)||isExportAssignment(e))}(e)?e.flags|=128:e.flags&=-129}function declareModuleSymbol(e){const t=getModuleInstanceState(e),n=0!==t;return declareSymbolAndAddToSymbolTable(e,n?512:1024,n?110735:0),t}function bindAnonymousDeclaration(e,t,n){const r=createSymbol(t,n);return 106508&t&&(r.parent=i.symbol),addDeclarationToSymbol(r,e,t),r}function bindBlockScopedDeclaration(e,t,n){switch(a.kind){case 268:declareModuleMember(e,t,n);break;case 308:if(isExternalOrCommonJsModule(i)){declareModuleMember(e,t,n);break}default:h.assertNode(a,canHaveLocals),a.locals||(a.locals=createSymbolTable(),addToContainerChain(a)),declareSymbol(a.locals,void 0,e,t,n)}}function checkContextualIdentifier(t){if(!(e.parseDiagnostics.length||33554432&t.flags||16777216&t.flags||isIdentifierName(t))){const n=identifierToKeywordKind(t);if(void 0===n)return;E&&n>=119&&n<=127?e.bindDiagnostics.push(createDiagnosticForNode2(t,function getStrictModeIdentifierMessage(t){if(getContainingClass(t))return Ot.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode;if(e.externalModuleIndicator)return Ot.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode;return Ot.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(t),declarationNameToString(t))):135===n?isExternalModule(e)&&isInTopLevelContext(t)?e.bindDiagnostics.push(createDiagnosticForNode2(t,Ot.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,declarationNameToString(t))):65536&t.flags&&e.bindDiagnostics.push(createDiagnosticForNode2(t,Ot.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,declarationNameToString(t))):127===n&&16384&t.flags&&e.bindDiagnostics.push(createDiagnosticForNode2(t,Ot.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,declarationNameToString(t)))}}function checkStrictModeEvalOrArguments(t,n){if(n&&80===n.kind){const r=n;if(function isEvalOrArgumentsIdentifier(e){return isIdentifier(e)&&("eval"===e.escapedText||"arguments"===e.escapedText)}(r)){const i=getErrorSpanForNode(e,n);e.bindDiagnostics.push(createFileDiagnostic(e,i.start,i.length,function getStrictModeEvalOrArgumentsMessage(t){if(getContainingClass(t))return Ot.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode;if(e.externalModuleIndicator)return Ot.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;return Ot.Invalid_use_of_0_in_strict_mode}(t),idText(r)))}}}function checkStrictModeFunctionName(e){!E||33554432&e.flags||checkStrictModeEvalOrArguments(e,e.name)}function checkStrictModeFunctionDeclaration(t){if(n<2&&308!==a.kind&&268!==a.kind&&!isFunctionLikeOrClassStaticBlockDeclaration(a)){const n=getErrorSpanForNode(e,t);e.bindDiagnostics.push(createFileDiagnostic(e,n.start,n.length,function getStrictModeBlockScopeFunctionDeclarationMessage(t){return getContainingClass(t)?Ot.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definitions_are_automatically_in_strict_mode:e.externalModuleIndicator?Ot.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_automatically_in_strict_mode:Ot.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5}(t)))}}function errorOnFirstToken(t,n,...r){const i=getSpanOfTokenAtPosition(e,t.pos);e.bindDiagnostics.push(createFileDiagnostic(e,i.start,i.length,n,...r))}function errorOrSuggestionOnRange(t,n,r,i){!function addErrorOrSuggestionDiagnostic(t,n,r){const i=createFileDiagnostic(e,n.pos,n.end-n.pos,r);t?e.bindDiagnostics.push(i):e.bindSuggestionDiagnostics=append(e.bindSuggestionDiagnostics,{...i,category:2})}(t,{pos:getTokenPosOfNode(n,e),end:r.end},i)}function bind(t){if(!t)return;setParent(t,r),J&&(t.tracingPath=e.path);const n=E;if(bindWorker(t),t.kind>166){const e=r;r=t;const n=getContainerFlags(t);0===n?bindChildren(t):function bindContainer(e,t){const n=i,r=o,s=a,c=v;if(220===e.kind&&242!==e.body.kind&&(v=!0),1&t?(220!==e.kind&&(o=i),i=a=e,32&t&&(i.locals=createSymbolTable(),addToContainerChain(i))):2&t&&(a=e,32&t&&(a.locals=void 0)),4&t){const n=p,r=u,i=m,o=_,a=y,s=S,c=x,l=16&t&&!hasSyntacticModifier(e,1024)&&!e.asteriskToken&&!!getImmediatelyInvokedFunctionExpression(e)||176===e.kind;l||(p=createFlowNode(2,void 0,void 0),144&t&&(p.node=e)),_=l||177===e.kind||isInJSFile(e)&&(263===e.kind||219===e.kind)?createBranchLabel():void 0,y=void 0,u=void 0,m=void 0,S=void 0,x=!1,bindChildren(e),e.flags&=-5633,!(1&p.flags)&&8&t&&nodeIsPresent(e.body)&&(e.flags|=512,x&&(e.flags|=1024),e.endFlowNode=p),308===e.kind&&(e.flags|=C,e.endFlowNode=p),_&&(addAntecedent(_,p),p=finishFlowLabel(_),(177===e.kind||176===e.kind||isInJSFile(e)&&(263===e.kind||219===e.kind))&&(e.returnFlowNode=p)),l||(p=n),u=r,m=i,_=o,y=a,S=s,x=c}else 64&t?(l=!1,bindChildren(e),h.assertNotNode(e,isIdentifier),e.flags=l?256|e.flags:-257&e.flags):bindChildren(e);v=c,i=n,o=r,a=s}(t,n),r=e}else{const e=r;1===t.kind&&(r=t),bindJSDoc(t),r=e}E=n}function bindJSDoc(e){if(hasJSDocNodes(e))if(isInJSFile(e))for(const t of e.jsDoc)bind(t);else for(const t of e.jsDoc)setParent(t,e),setParentRecursive(t,!1)}function updateStrictModeStatementList(e){if(!E)for(const t of e){if(!isPrologueDirective(t))return;if(isUseStrictPrologueDirective(t))return void(E=!0)}}function isUseStrictPrologueDirective(t){const n=getSourceTextOfNodeFromSourceFile(e,t.expression);return'"use strict"'===n||"'use strict'"===n}function bindWorker(n){switch(n.kind){case 80:if(4096&n.flags){let e=n.parent;for(;e&&!isJSDocTypeAlias(e);)e=e.parent;bindBlockScopedDeclaration(e,524288,788968);break}case 110:return p&&(isExpression(n)||305===r.kind)&&(n.flowNode=p),checkContextualIdentifier(n);case 167:p&&isPartOfTypeQuery(n)&&(n.flowNode=p);break;case 237:case 108:n.flowNode=p;break;case 81:return function checkPrivateIdentifier(t){"#constructor"===t.escapedText&&(e.parseDiagnostics.length||e.bindDiagnostics.push(createDiagnosticForNode2(t,Ot.constructor_is_a_reserved_word,declarationNameToString(t))))}(n);case 212:case 213:const o=n;p&&isNarrowableReference(o)&&(o.flowNode=p),isSpecialPropertyDeclaration(o)&&function bindSpecialPropertyDeclaration(e){110===e.expression.kind?bindThisPropertyAssignment(e):isBindableStaticAccessExpression(e)&&308===e.parent.parent.kind&&(isPrototypeAccess(e.expression)?bindPrototypePropertyAssignment(e,e.parent):bindStaticPropertyAssignment(e))}(o),isInJSFile(o)&&e.commonJsModuleIndicator&&isModuleExportsAccessExpression(o)&&!lookupSymbolForName(a,"module")&&declareSymbol(e.locals,void 0,o.expression,134217729,111550);break;case 227:switch(getAssignmentDeclarationKind(n)){case 1:bindExportsPropertyAssignment(n);break;case 2:!function bindModuleExportsAssignment(t){if(!setCommonJsModuleIndicator(t))return;const n=getRightMostAssignedExpression(t.right);if(isEmptyObjectLiteral(n)||i===e&&isExportsOrModuleExportsOrAlias(e,n))return;if(isObjectLiteralExpression(n)&&every(n.properties,isShorthandPropertyAssignment))return void forEach(n.properties,bindExportAssignedObjectMemberAlias);const r=exportAssignmentIsAlias(t)?2097152:1049092,o=declareSymbol(e.symbol.exports,e.symbol,t,67108864|r,0);setValueDeclaration(o,t)}(n);break;case 3:bindPrototypePropertyAssignment(n.left,n);break;case 6:!function bindPrototypeAssignment(e){setParent(e.left,e),setParent(e.right,e),bindPropertyAssignment(e.left.expression,e.left,!1,!0)}(n);break;case 4:bindThisPropertyAssignment(n);break;case 5:const t=n.left.expression;if(isInJSFile(n)&&isIdentifier(t)){const e=lookupSymbolForName(a,t.escapedText);if(isThisInitializedDeclaration(null==e?void 0:e.valueDeclaration)){bindThisPropertyAssignment(n);break}}!function bindSpecialPropertyAssignment(t){var n;const r=lookupSymbolForPropertyAccess(t.left.expression,a)||lookupSymbolForPropertyAccess(t.left.expression,i);if(!isInJSFile(t)&&!isFunctionSymbol(r))return;const o=getLeftmostAccessExpression(t.left);if(isIdentifier(o)&&2097152&(null==(n=lookupSymbolForName(i,o.escapedText))?void 0:n.flags))return;if(setParent(t.left,t),setParent(t.right,t),isIdentifier(t.left.expression)&&i===e&&isExportsOrModuleExportsOrAlias(e,t.left.expression))bindExportsPropertyAssignment(t);else if(hasDynamicName(t)){bindAnonymousDeclaration(t,67108868,"__computed");addLateBoundAssignmentDeclarationToSymbol(t,bindPotentiallyMissingNamespaces(r,t.left.expression,isTopLevelNamespaceAssignment(t.left),!1,!1))}else bindStaticPropertyAssignment(cast(t.left,isBindableStaticNameExpression))}(n);break;case 0:break;default:h.fail("Unknown binary expression special property assignment kind")}return function checkStrictModeBinaryExpression(e){E&&isLeftHandSideExpression(e.left)&&isAssignmentOperator(e.operatorToken.kind)&&checkStrictModeEvalOrArguments(e,e.left)}(n);case 300:return function checkStrictModeCatchClause(e){E&&e.variableDeclaration&&checkStrictModeEvalOrArguments(e,e.variableDeclaration.name)}(n);case 221:return function checkStrictModeDeleteExpression(t){if(E&&80===t.expression.kind){const n=getErrorSpanForNode(e,t.expression);e.bindDiagnostics.push(createFileDiagnostic(e,n.start,n.length,Ot.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}(n);case 226:return function checkStrictModePostfixUnaryExpression(e){E&&checkStrictModeEvalOrArguments(e,e.operand)}(n);case 225:return function checkStrictModePrefixUnaryExpression(e){E&&(46!==e.operator&&47!==e.operator||checkStrictModeEvalOrArguments(e,e.operand))}(n);case 255:return function checkStrictModeWithStatement(e){E&&errorOnFirstToken(e,Ot.with_statements_are_not_allowed_in_strict_mode)}(n);case 257:return function checkStrictModeLabeledStatement(e){E&&zn(t)>=2&&(isDeclarationStatement(e.statement)||isVariableStatement(e.statement))&&errorOnFirstToken(e.label,Ot.A_label_is_not_allowed_here)}(n);case 198:return void(l=!0);case 183:break;case 169:return function bindTypeParameter(e){if(isJSDocTemplateTag(e.parent)){const t=getEffectiveContainerForJSDocTemplateTag(e.parent);t?(h.assertNode(t,canHaveLocals),t.locals??(t.locals=createSymbolTable()),declareSymbol(t.locals,void 0,e,262144,526824)):declareSymbolAndAddToSymbolTable(e,262144,526824)}else if(196===e.parent.kind){const t=function getInferTypeContainer(e){const t=findAncestor(e,e=>e.parent&&isConditionalTypeNode(e.parent)&&e.parent.extendsType===e);return t&&t.parent}(e.parent);t?(h.assertNode(t,canHaveLocals),t.locals??(t.locals=createSymbolTable()),declareSymbol(t.locals,void 0,e,262144,526824)):bindAnonymousDeclaration(e,262144,getDeclarationName(e))}else declareSymbolAndAddToSymbolTable(e,262144,526824)}(n);case 170:return bindParameter(n);case 261:return bindVariableDeclarationOrBindingElement(n);case 209:return n.flowNode=p,bindVariableDeclarationOrBindingElement(n);case 173:case 172:return function bindPropertyWorker(e){const t=isAutoAccessorPropertyDeclaration(e),n=t?13247:0;return bindPropertyOrMethodOrAccessor(e,(t?98304:4)|(e.questionToken?16777216:0),n)}(n);case 304:case 305:return bindPropertyOrMethodOrAccessor(n,4,0);case 307:return bindPropertyOrMethodOrAccessor(n,8,900095);case 180:case 181:case 182:return declareSymbolAndAddToSymbolTable(n,131072,0);case 175:case 174:return bindPropertyOrMethodOrAccessor(n,8192|(n.questionToken?16777216:0),isObjectLiteralMethod(n)?0:103359);case 263:return function bindFunctionDeclaration(t){e.isDeclarationFile||33554432&t.flags||isAsyncFunction(t)&&(C|=4096);checkStrictModeFunctionName(t),E?(checkStrictModeFunctionDeclaration(t),bindBlockScopedDeclaration(t,16,110991)):declareSymbolAndAddToSymbolTable(t,16,110991)}(n);case 177:return declareSymbolAndAddToSymbolTable(n,16384,0);case 178:return bindPropertyOrMethodOrAccessor(n,32768,46015);case 179:return bindPropertyOrMethodOrAccessor(n,65536,78783);case 185:case 318:case 324:case 186:return function bindFunctionOrConstructorType(e){const t=createSymbol(131072,getDeclarationName(e));addDeclarationToSymbol(t,e,131072);const n=createSymbol(2048,"__type");addDeclarationToSymbol(n,e,2048),n.members=createSymbolTable(),n.members.set(t.escapedName,t)}(n);case 188:case 323:case 201:return function bindAnonymousTypeWorker(e){return bindAnonymousDeclaration(e,2048,"__type")}(n);case 333:return function bindJSDocClassTag(e){bindEachChild(e);const t=getHostSignatureFromJSDoc(e);t&&175!==t.kind&&addDeclarationToSymbol(t.symbol,t,32)}(n);case 211:return function bindObjectLiteralExpression(e){return bindAnonymousDeclaration(e,4096,"__object")}(n);case 219:case 220:return function bindFunctionExpression(t){e.isDeclarationFile||33554432&t.flags||isAsyncFunction(t)&&(C|=4096);p&&(t.flowNode=p);checkStrictModeFunctionName(t);const n=t.name?t.name.escapedText:"__function";return bindAnonymousDeclaration(t,16,n)}(n);case 214:switch(getAssignmentDeclarationKind(n)){case 7:return function bindObjectDefinePropertyAssignment(e){let t=lookupSymbolForPropertyAccess(e.arguments[0]);const n=308===e.parent.parent.kind;t=bindPotentiallyMissingNamespaces(t,e.arguments[0],n,!1,!1),bindPotentiallyNewExpandoMemberToNamespace(e,t,!1)}(n);case 8:return function bindObjectDefinePropertyExport(e){if(!setCommonJsModuleIndicator(e))return;const t=forEachIdentifierInEntityName(e.arguments[0],void 0,(e,t)=>(t&&addDeclarationToSymbol(t,e,67110400),t));if(t){const n=1048580;declareSymbol(t.exports,t,e,n,0)}}(n);case 9:return function bindObjectDefinePrototypeProperty(e){const t=lookupSymbolForPropertyAccess(e.arguments[0].expression);t&&t.valueDeclaration&&addDeclarationToSymbol(t,t.valueDeclaration,32);bindPotentiallyNewExpandoMemberToNamespace(e,t,!0)}(n);case 0:break;default:return h.fail("Unknown call expression assignment declaration kind")}isInJSFile(n)&&function bindCallExpression(t){!e.commonJsModuleIndicator&&isRequireCall(t,!1)&&setCommonJsModuleIndicator(t)}(n);break;case 232:case 264:return E=!0,function bindClassLikeDeclaration(t){if(264===t.kind)bindBlockScopedDeclaration(t,32,899503);else{bindAnonymousDeclaration(t,32,t.name?t.name.escapedText:"__class"),t.name&&k.add(t.name.escapedText)}const{symbol:n}=t,r=createSymbol(4194308,"prototype"),i=n.exports.get(r.escapedName);i&&(t.name&&setParent(t.name,t),e.bindDiagnostics.push(createDiagnosticForNode2(i.declarations[0],Ot.Duplicate_identifier_0,symbolName(r))));n.exports.set(r.escapedName,r),r.parent=n}(n);case 265:return bindBlockScopedDeclaration(n,64,788872);case 266:return bindBlockScopedDeclaration(n,524288,788968);case 267:return function bindEnumDeclaration(e){return isEnumConst(e)?bindBlockScopedDeclaration(e,128,899967):bindBlockScopedDeclaration(e,256,899327)}(n);case 268:return function bindModuleDeclaration(t){if(setExportContextFlag(t),isAmbientModule(t))if(hasSyntacticModifier(t,32)&&errorOnFirstToken(t,Ot.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible),isModuleAugmentationExternal(t))declareModuleSymbol(t);else{let n;if(11===t.name.kind){const{text:e}=t.name;n=tryParsePattern(e),void 0===n&&errorOnFirstToken(t.name,Ot.Pattern_0_can_have_at_most_one_Asterisk_character,e)}const r=declareSymbolAndAddToSymbolTable(t,512,110735);e.patternAmbientModules=append(e.patternAmbientModules,n&&!isString(n)?{pattern:n,symbol:r}:void 0)}else{const e=declareModuleSymbol(t);if(0!==e){const{symbol:n}=t;n.constEnumOnlyModule=!(304&n.flags)&&2===e&&!1!==n.constEnumOnlyModule}}}(n);case 293:return function bindJsxAttributes(e){return bindAnonymousDeclaration(e,4096,"__jsxAttributes")}(n);case 292:return function bindJsxAttribute(e,t,n){return declareSymbolAndAddToSymbolTable(e,t,n)}(n,4,0);case 272:case 275:case 277:case 282:return declareSymbolAndAddToSymbolTable(n,2097152,2097152);case 271:return function bindNamespaceExportDeclaration(t){some(t.modifiers)&&e.bindDiagnostics.push(createDiagnosticForNode2(t,Ot.Modifiers_cannot_appear_here));const n=isSourceFile(t.parent)?isExternalModule(t.parent)?t.parent.isDeclarationFile?void 0:Ot.Global_module_exports_may_only_appear_in_declaration_files:Ot.Global_module_exports_may_only_appear_in_module_files:Ot.Global_module_exports_may_only_appear_at_top_level;n?e.bindDiagnostics.push(createDiagnosticForNode2(t,n)):(e.symbol.globalExports=e.symbol.globalExports||createSymbolTable(),declareSymbol(e.symbol.globalExports,e.symbol,t,2097152,2097152))}(n);case 274:return function bindImportClause(e){e.name&&declareSymbolAndAddToSymbolTable(e,2097152,2097152)}(n);case 279:return function bindExportDeclaration(e){i.symbol&&i.symbol.exports?e.exportClause?isNamespaceExport(e.exportClause)&&(setParent(e.exportClause,e),declareSymbol(i.symbol.exports,i.symbol,e.exportClause,2097152,2097152)):declareSymbol(i.symbol.exports,i.symbol,e,8388608,0):bindAnonymousDeclaration(e,8388608,getDeclarationName(e))}(n);case 278:return function bindExportAssignment(e){if(i.symbol&&i.symbol.exports){const t=exportAssignmentIsAlias(e)?2097152:4,n=declareSymbol(i.symbol.exports,i.symbol,e,t,-1);e.isExportEquals&&setValueDeclaration(n,e)}else bindAnonymousDeclaration(e,111551,getDeclarationName(e))}(n);case 308:return updateStrictModeStatementList(n.statements),function bindSourceFileIfExternalModule(){if(setExportContextFlag(e),isExternalModule(e))bindSourceFileAsExternalModule();else if(isJsonSourceFile(e)){bindSourceFileAsExternalModule();const t=e.symbol;declareSymbol(e.symbol.exports,e.symbol,e,4,-1),e.symbol=t}}();case 242:if(!isFunctionLikeOrClassStaticBlockDeclaration(n.parent))return;case 269:return updateStrictModeStatementList(n.statements);case 342:if(324===n.parent.kind)return bindParameter(n);if(323!==n.parent.kind)break;case 349:const s=n;return declareSymbolAndAddToSymbolTable(s,s.isBracketed||s.typeExpression&&317===s.typeExpression.type.kind?16777220:4,0);case 347:case 339:case 341:return(c||(c=[])).push(n);case 340:return bind(n.typeExpression);case 352:return(d||(d=[])).push(n)}}function bindSourceFileAsExternalModule(){bindAnonymousDeclaration(e,512,`"${removeFileExtension(e.fileName)}"`)}function setCommonJsModuleIndicator(t){return(!e.externalModuleIndicator||!0===e.externalModuleIndicator)&&(e.commonJsModuleIndicator||(e.commonJsModuleIndicator=t,e.externalModuleIndicator||bindSourceFileAsExternalModule()),!0)}function bindExportsPropertyAssignment(e){if(!setCommonJsModuleIndicator(e))return;const t=forEachIdentifierInEntityName(e.left.expression,void 0,(e,t)=>(t&&addDeclarationToSymbol(t,e,67110400),t));if(t){const n=isAliasableExpression(e.right)&&(isExportsIdentifier(e.left.expression)||isModuleExportsAccessExpression(e.left.expression))?2097152:1048580;setParent(e.left,e),declareSymbol(t.exports,t,e.left,n,0)}}function bindExportAssignedObjectMemberAlias(t){declareSymbol(e.symbol.exports,e.symbol,t,69206016,0)}function bindThisPropertyAssignment(e){h.assert(isInJSFile(e));if(isBinaryExpression(e)&&isPropertyAccessExpression(e.left)&&isPrivateIdentifier(e.left.name)||isPropertyAccessExpression(e)&&isPrivateIdentifier(e.name))return;const t=getThisContainer(e,!1,!1);switch(t.kind){case 263:case 219:let n=t.symbol;if(isBinaryExpression(t.parent)&&64===t.parent.operatorToken.kind){const e=t.parent.left;isBindableStaticAccessExpression(e)&&isPrototypeAccess(e.expression)&&(n=lookupSymbolForPropertyAccess(e.expression.expression,o))}n&&n.valueDeclaration&&(n.members=n.members||createSymbolTable(),hasDynamicName(e)?bindDynamicallyNamedThisPropertyAssignment(e,n,n.members):declareSymbol(n.members,n,e,67108868,0),addDeclarationToSymbol(n,n.valueDeclaration,32));break;case 177:case 173:case 175:case 178:case 179:case 176:const r=t.parent,i=isStatic(t)?r.symbol.exports:r.symbol.members;hasDynamicName(e)?bindDynamicallyNamedThisPropertyAssignment(e,r.symbol,i):declareSymbol(i,r.symbol,e,67108868,0,!0);break;case 308:if(hasDynamicName(e))break;t.commonJsModuleIndicator?declareSymbol(t.symbol.exports,t.symbol,e,1048580,0):declareSymbolAndAddToSymbolTable(e,1,111550);break;case 268:break;default:h.failBadSyntaxKind(t)}}function bindDynamicallyNamedThisPropertyAssignment(e,t,n){declareSymbol(n,t,e,4,0,!0,!0),addLateBoundAssignmentDeclarationToSymbol(e,t)}function addLateBoundAssignmentDeclarationToSymbol(e,t){t&&(t.assignmentDeclarationMembers||(t.assignmentDeclarationMembers=new Map)).set(getNodeId(e),e)}function bindPrototypePropertyAssignment(e,t){const n=e.expression,r=n.expression;setParent(r,n),setParent(n,e),setParent(e,t),bindPropertyAssignment(r,e,!0,!0)}function bindStaticPropertyAssignment(e){h.assert(!isIdentifier(e)),setParent(e.expression,e),bindPropertyAssignment(e.expression,e,!1,!1)}function bindPotentiallyMissingNamespaces(t,n,r,i,o){if(2097152&(null==t?void 0:t.flags))return t;if(r&&!i){const r=67110400,i=110735;t=forEachIdentifierInEntityName(n,t,(t,n,o)=>{if(n)return addDeclarationToSymbol(n,t,r),n;return declareSymbol(o?o.exports:e.jsGlobalAugmentations||(e.jsGlobalAugmentations=createSymbolTable()),o,t,r,i)})}return o&&t&&t.valueDeclaration&&addDeclarationToSymbol(t,t.valueDeclaration,32),t}function bindPotentiallyNewExpandoMemberToNamespace(e,t,n){if(!t||!function isExpandoSymbol(e){if(1072&e.flags)return!0;const t=e.valueDeclaration;if(t&&isCallExpression(t))return!!getAssignedExpandoInitializer(t);let n=t?isVariableDeclaration(t)?t.initializer:isBinaryExpression(t)?t.right:isPropertyAccessExpression(t)&&isBinaryExpression(t.parent)?t.parent.right:void 0:void 0;if(n=n&&getRightMostAssignedExpression(n),n){const e=isPrototypeAccess(isVariableDeclaration(t)?t.name:isBinaryExpression(t)?t.left:t);return!!getExpandoInitializer(!isBinaryExpression(n)||57!==n.operatorToken.kind&&61!==n.operatorToken.kind?n:n.right,e)}return!1}(t))return;const r=n?t.members||(t.members=createSymbolTable()):t.exports||(t.exports=createSymbolTable());let i=0,o=0;isFunctionLikeDeclaration(getAssignedExpandoInitializer(e))?(i=8192,o=103359):isCallExpression(e)&&isBindableObjectDefinePropertyCall(e)&&(some(e.arguments[2].properties,e=>{const t=getNameOfDeclaration(e);return!!t&&isIdentifier(t)&&"set"===idText(t)})&&(i|=65540,o|=78783),some(e.arguments[2].properties,e=>{const t=getNameOfDeclaration(e);return!!t&&isIdentifier(t)&&"get"===idText(t)})&&(i|=32772,o|=46015)),0===i&&(i=4,o=0),declareSymbol(r,t,e,67108864|i,-67108865&o)}function isTopLevelNamespaceAssignment(e){return isBinaryExpression(e.parent)?308===function getParentOfBinaryExpression(e){for(;isBinaryExpression(e.parent);)e=e.parent;return e.parent}(e.parent).parent.kind:308===e.parent.parent.kind}function bindPropertyAssignment(e,t,n,r){let o=lookupSymbolForPropertyAccess(e,a)||lookupSymbolForPropertyAccess(e,i);const s=isTopLevelNamespaceAssignment(t);o=bindPotentiallyMissingNamespaces(o,t.expression,s,n,r),bindPotentiallyNewExpandoMemberToNamespace(t,o,n)}function lookupSymbolForPropertyAccess(e,t=i){if(isIdentifier(e))return lookupSymbolForName(t,e.escapedText);{const t=lookupSymbolForPropertyAccess(e.expression);return t&&t.exports&&t.exports.get(getElementOrPropertyAccessName(e))}}function forEachIdentifierInEntityName(t,n,r){if(isExportsOrModuleExportsOrAlias(e,t))return e.symbol;if(isIdentifier(t))return r(t,lookupSymbolForPropertyAccess(t),n);{const e=forEachIdentifierInEntityName(t.expression,n,r),i=getNameOrArgument(t);return isPrivateIdentifier(i)&&h.fail("unexpected PrivateIdentifier"),r(i,e&&e.exports&&e.exports.get(getElementOrPropertyAccessName(t)),e)}}function bindVariableDeclarationOrBindingElement(e){if(E&&checkStrictModeEvalOrArguments(e,e.name),!isBindingPattern(e.name)){const t=261===e.kind?e:e.parent.parent;!isInJSFile(e)||!isVariableDeclarationInitializedToBareOrAccessedRequire(t)||getJSDocTypeTag(e)||32&getCombinedModifierFlags(e)?isBlockOrCatchScoped(e)?bindBlockScopedDeclaration(e,2,111551):isPartOfParameterDeclaration(e)?declareSymbolAndAddToSymbolTable(e,1,111551):declareSymbolAndAddToSymbolTable(e,1,111550):declareSymbolAndAddToSymbolTable(e,2097152,2097152)}}function bindParameter(e){if((342!==e.kind||324===i.kind)&&(!E||33554432&e.flags||checkStrictModeEvalOrArguments(e,e.name),isBindingPattern(e.name)?bindAnonymousDeclaration(e,1,"__"+e.parent.parameters.indexOf(e)):declareSymbolAndAddToSymbolTable(e,1,111551),isParameterPropertyDeclaration(e,e.parent))){const t=e.parent.parent;declareSymbol(t.symbol.members,t.symbol,e,4|(e.questionToken?16777216:0),0)}}function bindPropertyOrMethodOrAccessor(t,n,r){return e.isDeclarationFile||33554432&t.flags||!isAsyncFunction(t)||(C|=4096),p&&isObjectLiteralOrClassExpressionMethodOrAccessor(t)&&(t.flowNode=p),hasDynamicName(t)?bindAnonymousDeclaration(t,n,"__computed"):declareSymbolAndAddToSymbolTable(t,n,r)}}function isEnumDeclarationWithPreservedEmit(e,t){return 267===e.kind&&(!isEnumConst(e)||er(t))}function isExportsOrModuleExportsOrAlias(e,t){let n=0;const r=createQueue();for(r.enqueue(t);!r.isEmpty()&&n<100;){if(n++,isExportsIdentifier(t=r.dequeue())||isModuleExportsAccessExpression(t))return!0;if(isIdentifier(t)){const n=lookupSymbolForName(e,t.escapedText);if(n&&n.valueDeclaration&&isVariableDeclaration(n.valueDeclaration)&&n.valueDeclaration.initializer){const e=n.valueDeclaration.initializer;r.enqueue(e),isAssignmentExpression(e,!0)&&(r.enqueue(e.left),r.enqueue(e.right))}}}return!1}function getContainerFlags(e){switch(e.kind){case 232:case 264:case 267:case 211:case 188:case 323:case 293:return 1;case 265:return 65;case 268:case 266:case 201:case 182:return 33;case 308:return 37;case 178:case 179:case 175:if(isObjectLiteralOrClassExpressionMethodOrAccessor(e))return 173;case 177:case 263:case 174:case 180:case 324:case 318:case 185:case 181:case 186:case 176:return 45;case 352:return 37;case 219:case 220:return 61;case 269:return 4;case 173:return e.initializer?4:0;case 300:case 249:case 250:case 251:case 270:return 34;case 242:return isFunctionLike(e.parent)||isClassStaticBlockDeclaration(e.parent)?0:34}return 0}function lookupSymbolForName(e,t){var n,r,i,o;const a=null==(r=null==(n=tryCast(e,canHaveLocals))?void 0:n.locals)?void 0:r.get(t);return a?a.exportSymbol??a:isSourceFile(e)&&e.jsGlobalAugmentations&&e.jsGlobalAugmentations.has(t)?e.jsGlobalAugmentations.get(t):canHaveSymbol(e)?null==(o=null==(i=e.symbol)?void 0:i.exports)?void 0:o.get(t):void 0}function createGetSymbolWalker(e,t,n,r,i,o,a,s,c,l){return function getSymbolWalker(d=()=>!0){const p=[],u=[];return{walkType:e=>{try{return visitType(e),{visitedTypes:getOwnValues(p),visitedSymbols:getOwnValues(u)}}finally{clear(p),clear(u)}},walkSymbol:e=>{try{return visitSymbol(e),{visitedTypes:getOwnValues(p),visitedSymbols:getOwnValues(u)}}finally{clear(p),clear(u)}}};function visitType(e){if(!e)return;if(p[e.id])return;p[e.id]=e;if(!visitSymbol(e.symbol)){if(524288&e.flags){const t=e,n=t.objectFlags;4&n&&function visitTypeReference(e){visitType(e.target),forEach(l(e),visitType)}(e),32&n&&function visitMappedType(e){visitType(e.typeParameter),visitType(e.constraintType),visitType(e.templateType),visitType(e.modifiersType)}(e),3&n&&function visitInterfaceType(e){visitObjectType(e),forEach(e.typeParameters,visitType),forEach(r(e),visitType),visitType(e.thisType)}(e),24&n&&visitObjectType(t)}262144&e.flags&&function visitTypeParameter(e){visitType(s(e))}(e),3145728&e.flags&&function visitUnionOrIntersectionType(e){forEach(e.types,visitType)}(e),4194304&e.flags&&function visitIndexType(e){visitType(e.type)}(e),8388608&e.flags&&function visitIndexedAccessType(e){visitType(e.objectType),visitType(e.indexType),visitType(e.constraint)}(e)}}function visitSignature(r){const i=t(r);i&&visitType(i.type),forEach(r.typeParameters,visitType);for(const e of r.parameters)visitSymbol(e);visitType(e(r)),visitType(n(r))}function visitObjectType(e){const t=i(e);for(const e of t.indexInfos)visitType(e.keyType),visitType(e.type);for(const e of t.callSignatures)visitSignature(e);for(const e of t.constructSignatures)visitSignature(e);for(const e of t.properties)visitSymbol(e)}function visitSymbol(e){if(!e)return!1;const t=getSymbolId(e);if(u[t])return!1;if(u[t]=e,!d(e))return!0;return visitType(o(e)),e.exports&&e.exports.forEach(visitSymbol),forEach(e.declarations,e=>{if(e.type&&187===e.type.kind){const t=e.type;visitSymbol(a(c(t.exprName)))}}),!1}}}var Wo={};i(Wo,{RelativePreference:()=>zo,countPathComponents:()=>countPathComponents,forEachFileNameOfModule:()=>forEachFileNameOfModule,getLocalModuleSpecifierBetweenFileNames:()=>getLocalModuleSpecifierBetweenFileNames,getModuleSpecifier:()=>getModuleSpecifier,getModuleSpecifierPreferences:()=>getModuleSpecifierPreferences,getModuleSpecifiers:()=>getModuleSpecifiers,getModuleSpecifiersWithCacheInfo:()=>getModuleSpecifiersWithCacheInfo,getNodeModulesPackageName:()=>getNodeModulesPackageName,tryGetJSExtensionForFile:()=>tryGetJSExtensionForFile,tryGetModuleSpecifiersFromCache:()=>tryGetModuleSpecifiersFromCache,tryGetRealFileNameForNonJsDeclarationFileName:()=>tryGetRealFileNameForNonJsDeclarationFileName,updateModuleSpecifier:()=>updateModuleSpecifier});var Uo=memoizeOne(e=>{try{let t=e.indexOf("/");if(0!==t)return new RegExp(e);const n=e.lastIndexOf("/");if(t===n)return new RegExp(e);for(;(t=e.indexOf("/",t+1))!==n;)if("\\"!==e[t-1])return new RegExp(e);const r=e.substring(n+1).replace(/[^iu]/g,"");return e=e.substring(1,n),new RegExp(e,r)}catch{return}}),zo=(e=>(e[e.Relative=0]="Relative",e[e.NonRelative=1]="NonRelative",e[e.Shortest=2]="Shortest",e[e.ExternalNonRelative=3]="ExternalNonRelative",e))(zo||{});function getModuleSpecifierPreferences({importModuleSpecifierPreference:e,importModuleSpecifierEnding:t,autoImportSpecifierExcludeRegexes:n},r,i,o,a){const s=getPreferredEnding();return{excludeRegexes:n,relativePreference:void 0!==a?isExternalModuleNameRelative(a)?0:1:"relative"===e?0:"non-relative"===e?1:"project-relative"===e?3:2,getAllowedEndingsInPreferredOrder:e=>{const t=getDefaultResolutionModeForFile(o,r,i),n=e!==t?getPreferredEnding(e):s,a=qn(i);if(99===(e??t)&&3<=a&&a<=99)return shouldAllowImportingTsExtension(i,o.fileName)?[3,2]:[2];if(1===qn(i))return 2===n?[2,1]:[1,2];const c=shouldAllowImportingTsExtension(i,o.fileName);switch(n){case 2:return c?[2,3,0,1]:[2,0,1];case 3:return[3,0,2,1];case 1:return c?[1,0,3,2]:[1,0,2];case 0:return c?[0,1,3,2]:[0,1,2];default:h.assertNever(n)}}};function getPreferredEnding(e){if(void 0!==a){if(hasJSFileExtension(a))return 2;if(endsWith(a,"/index"))return 1}return getModuleSpecifierEndingPreference(t,e??getDefaultResolutionModeForFile(o,r,i),i,isFullSourceFile(o)?o:void 0)}}function updateModuleSpecifier(e,t,n,r,i,o,a={}){const s=getModuleSpecifierWorker(e,t,n,r,i,getModuleSpecifierPreferences({},i,e,t,o),{},a);if(s!==o)return s}function getModuleSpecifier(e,t,n,r,i,o={}){return getModuleSpecifierWorker(e,t,n,r,i,getModuleSpecifierPreferences({},i,e,t),{},o)}function getNodeModulesPackageName(e,t,n,r,i,o={}){const a=getInfo(t.fileName,r);return firstDefined(getAllModulePaths(a,n,r,i,e,o),n=>tryGetModuleNameAsNodeModule(n,a,t,r,e,i,!0,o.overrideImportMode))}function getModuleSpecifierWorker(e,t,n,r,i,o,a,s={}){const c=getInfo(n,i);return firstDefined(getAllModulePaths(c,r,i,a,e,s),n=>tryGetModuleNameAsNodeModule(n,c,t,i,e,a,void 0,s.overrideImportMode))||getLocalModuleSpecifier(r,c,e,i,s.overrideImportMode||getDefaultResolutionModeForFile(t,i,e),o)}function tryGetModuleSpecifiersFromCache(e,t,n,r,i={}){const o=tryGetModuleSpecifiersFromCacheWorker(e,t,n,r,i);return o[1]&&{kind:o[0],moduleSpecifiers:o[1],computedWithoutCache:!1}}function tryGetModuleSpecifiersFromCacheWorker(e,t,n,r,i={}){var o;const a=getSourceFileOfModule(e);if(!a)return l;const s=null==(o=n.getModuleSpecifierCache)?void 0:o.call(n),c=null==s?void 0:s.get(t.path,a.path,r,i);return[null==c?void 0:c.kind,null==c?void 0:c.moduleSpecifiers,a,null==c?void 0:c.modulePaths,s]}function getModuleSpecifiers(e,t,n,r,i,o,a={}){return getModuleSpecifiersWithCacheInfo(e,t,n,r,i,o,a,!1).moduleSpecifiers}function getModuleSpecifiersWithCacheInfo(e,t,n,r,i,o,a={},s){let c=!1;const d=function tryGetModuleNameFromAmbientModule(e,t){var n;const r=null==(n=e.declarations)?void 0:n.find(e=>isNonGlobalAmbientModule(e)&&(!isExternalModuleAugmentation(e)||!isExternalModuleNameRelative(getTextOfIdentifierOrLiteral(e.name))));if(r)return r.name.text;const i=mapDefined(e.declarations,e=>{var n,r,i,o;if(!isModuleDeclaration(e))return;const a=getTopNamespace(e);if(!((null==(n=null==a?void 0:a.parent)?void 0:n.parent)&&isModuleBlock(a.parent)&&isAmbientModule(a.parent.parent)&&isSourceFile(a.parent.parent.parent)))return;const s=null==(o=null==(i=null==(r=a.parent.parent.symbol.exports)?void 0:r.get("export="))?void 0:i.valueDeclaration)?void 0:o.expression;if(!s)return;const c=t.getSymbolAtLocation(s);if(!c)return;if((2097152&(null==c?void 0:c.flags)?t.getAliasedSymbol(c):c)===e.symbol)return a.parent.parent;function getTopNamespace(e){for(;8&e.flags;)e=e.parent;return e}}),o=i[0];if(o)return o.name.text}(e,t);if(d)return{kind:"ambient",moduleSpecifiers:s&&isExcludedByRegex(d,o.autoImportSpecifierExcludeRegexes)?l:[d],computedWithoutCache:c};let[p,u,m,_,f]=tryGetModuleSpecifiersFromCacheWorker(e,r,i,o,a);if(u)return{kind:p,moduleSpecifiers:u,computedWithoutCache:c};if(!m)return{kind:void 0,moduleSpecifiers:l,computedWithoutCache:c};c=!0,_||(_=getAllModulePathsWorker(getInfo(r.fileName,i),m.originalFileName,i,n,a));const g=function computeModuleSpecifiers(e,t,n,r,i,o={},a){const s=getInfo(n.fileName,r),c=getModuleSpecifierPreferences(i,r,t,n),d=isFullSourceFile(n)&&forEach(e,e=>forEach(r.getFileIncludeReasons().get(toPath(e.path,r.getCurrentDirectory(),s.getCanonicalFileName)),e=>{if(3!==e.kind||e.file!==n.path)return;const t=r.getModeForResolutionAtIndex(n,e.index),i=o.overrideImportMode??r.getDefaultResolutionModeForFile(n);if(t!==i&&void 0!==t&&void 0!==i)return;const a=getModuleNameStringLiteralAt(n,e.index).text;return 1===c.relativePreference&&pathIsRelative(a)?void 0:a}));if(d)return{kind:void 0,moduleSpecifiers:[d],computedWithoutCache:!0};const p=some(e,e=>e.isInNodeModules);let u,m,_,f;for(const l of e){const e=l.isInNodeModules?tryGetModuleNameAsNodeModule(l,s,n,r,t,i,void 0,o.overrideImportMode):void 0;if(e&&(!a||!isExcludedByRegex(e,c.excludeRegexes))&&(u=append(u,e),l.isRedirect))return{kind:"node_modules",moduleSpecifiers:u,computedWithoutCache:!0};const d=getLocalModuleSpecifier(l.path,s,t,r,o.overrideImportMode||n.impliedNodeFormat,c,l.isRedirect||!!e);!d||a&&isExcludedByRegex(d,c.excludeRegexes)||(l.isRedirect?_=append(_,d):pathIsBareSpecifier(d)?pathContainsNodeModules(d)?f=append(f,d):m=append(m,d):(a||!p||l.isInNodeModules)&&(f=append(f,d)))}return(null==m?void 0:m.length)?{kind:"paths",moduleSpecifiers:m,computedWithoutCache:!0}:(null==_?void 0:_.length)?{kind:"redirect",moduleSpecifiers:_,computedWithoutCache:!0}:(null==u?void 0:u.length)?{kind:"node_modules",moduleSpecifiers:u,computedWithoutCache:!0}:{kind:"relative",moduleSpecifiers:f??l,computedWithoutCache:!0}}(_,n,r,i,o,a,s);return null==f||f.set(r.path,m.path,o,a,g.kind,_,g.moduleSpecifiers),g}function getLocalModuleSpecifierBetweenFileNames(e,t,n,r,i,o={}){return getLocalModuleSpecifier(t,getInfo(e.fileName,r),n,r,o.overrideImportMode??e.impliedNodeFormat,getModuleSpecifierPreferences(i,r,n,e))}function isExcludedByRegex(e,t){return some(t,t=>{var n;return!!(null==(n=Uo(t))?void 0:n.test(e))})}function getInfo(e,t){e=getNormalizedAbsolutePath(e,t.getCurrentDirectory());const n=createGetCanonicalFileName(!t.useCaseSensitiveFileNames||t.useCaseSensitiveFileNames()),r=getDirectoryPath(e);return{getCanonicalFileName:n,importingSourceFileName:e,sourceDirectory:r,canonicalSourceDirectory:n(r)}}function getLocalModuleSpecifier(e,t,n,r,i,{getAllowedEndingsInPreferredOrder:o,relativePreference:a,excludeRegexes:s},c){const{baseUrl:l,paths:d,rootDirs:p}=n;if(c&&!d)return;const{sourceDirectory:u,canonicalSourceDirectory:m,getCanonicalFileName:_}=t,f=o(i),g=p&&function tryGetModuleNameFromRootDirs(e,t,n,r,i,o){const a=getPathsRelativeToRootDirs(t,e,r);if(void 0===a)return;const s=getPathsRelativeToRootDirs(n,e,r),c=flatMap(s,e=>map(a,t=>ensurePathIsNonModuleName(getRelativePathFromDirectory(e,t,r)))),l=min(c,compareNumberOfDirectorySeparators);if(!l)return;return processEnding(l,i,o)}(p,e,u,_,f,n)||processEnding(ensurePathIsNonModuleName(getRelativePathFromDirectory(u,e,_)),f,n);if(!l&&!d&&!Xn(n)||0===a)return c?void 0:g;const y=getNormalizedAbsolutePath(getPathsBasePath(n,r)||l,r.getCurrentDirectory()),h=getRelativePathIfInSameVolume(e,y,_);if(!h)return c?void 0:g;const T=c?void 0:function tryGetModuleNameFromPackageJsonImports(e,t,n,r,i,o){var a,s,c;if(!r.readFile||!Xn(n))return;const l=getNearestAncestorDirectoryWithPackageJson(r,t);if(!l)return;const d=combinePaths(l,"package.json"),p=null==(s=null==(a=r.getPackageJsonInfoCache)?void 0:a.call(r))?void 0:s.getPackageJsonInfo(d);if(isMissingPackageJsonInfo(p)||!r.fileExists(d))return;const u=(null==p?void 0:p.contents.packageJsonContent)||tryParseJson(r.readFile(d)),m=null==u?void 0:u.imports;if(!m)return;const _=getConditions(n,i);return null==(c=forEach(getOwnKeys(m),t=>{if(!startsWith(t,"#")||"#"===t||startsWith(t,"#/"))return;const i=endsWith(t,"/")?1:t.includes("*")?2:0;return tryGetModuleNameFromExportsOrImports(n,r,e,l,t,m[t],_,i,!0,o)}))?void 0:c.moduleFileToTry}(e,u,n,r,i,function prefersTsExtension(e){const t=e.indexOf(3);return t>-1&&t<e.indexOf(2)}(f)),S=c||void 0===T?d&&tryGetModuleNameFromPaths(h,d,f,y,_,r,n):void 0;if(c)return S;const x=T??(void 0===S&&void 0!==l?processEnding(h,f,n):S);if(!x)return g;const v=isExcludedByRegex(g,s),b=isExcludedByRegex(x,s);if(!v&&b)return g;if(v&&!b)return x;if(1===a&&!pathIsRelative(x))return x;if(3===a&&!pathIsRelative(x)){const i=n.configFilePath?toPath(getDirectoryPath(n.configFilePath),r.getCurrentDirectory(),t.getCanonicalFileName):t.getCanonicalFileName(r.getCurrentDirectory()),o=toPath(e,i,_),a=startsWith(m,i),s=startsWith(o,i);if(a&&!s||!a&&s)return x;return function packageJsonPathsAreEqual(e,t,n){return e===t||void 0!==e&&void 0!==t&&0===comparePaths(e,t,n)}(getNearestAncestorDirectoryWithPackageJson(r,getDirectoryPath(o)),getNearestAncestorDirectoryWithPackageJson(r,u),!hostUsesCaseSensitiveFileNames(r))?g:x}return isPathRelativeToParent(x)||countPathComponents(g)<countPathComponents(x)?g:x}function countPathComponents(e){let t=0;for(let n=startsWith(e,"./")?2:0;n<e.length;n++)47===e.charCodeAt(n)&&t++;return t}function comparePathsByRedirectAndNumberOfDirectorySeparators(e,t){return compareBooleans(t.isRedirect,e.isRedirect)||compareNumberOfDirectorySeparators(e.path,t.path)}function getNearestAncestorDirectoryWithPackageJson(e,t){return e.getNearestAncestorDirectoryWithPackageJson?e.getNearestAncestorDirectoryWithPackageJson(t):forEachAncestorDirectoryStoppingAtGlobalCache(e,t,t=>e.fileExists(combinePaths(t,"package.json"))?t:void 0)}function forEachFileNameOfModule(e,t,n,r,i){var o,a;const s=hostGetCanonicalFileName(n),c=n.getCurrentDirectory(),d=n.isSourceOfProjectReferenceRedirect(t)?null==(o=n.getRedirectFromSourceFile(t))?void 0:o.outputDts:void 0,p=toPath(t,c,s),u=n.redirectTargetsMap.get(p)||l,m=[...d?[d]:l,t,...u].map(e=>getNormalizedAbsolutePath(e,c));let _=!every(m,containsIgnoredPath);if(!r){const e=forEach(m,e=>!(_&&containsIgnoredPath(e))&&i(e,d===e));if(e)return e}const f=null==(a=n.getSymlinkCache)?void 0:a.call(n).getSymlinkedDirectoriesByRealpath(),g=getNormalizedAbsolutePath(t,c);return f&&forEachAncestorDirectoryStoppingAtGlobalCache(n,getDirectoryPath(g),t=>{const n=f.get(ensureTrailingDirectorySeparator(toPath(t,c,s)));if(n)return!startsWithDirectory(e,t,s)&&forEach(m,e=>{if(!startsWithDirectory(e,t,s))return;const r=getRelativePathFromDirectory(t,e,s);for(const t of n){const n=resolvePath(t,r),o=i(n,e===d);if(_=!0,o)return o}})})||(r?forEach(m,e=>_&&containsIgnoredPath(e)?void 0:i(e,e===d)):void 0)}function getAllModulePaths(e,t,n,r,i,o={}){var a;const s=toPath(e.importingSourceFileName,n.getCurrentDirectory(),hostGetCanonicalFileName(n)),c=toPath(t,n.getCurrentDirectory(),hostGetCanonicalFileName(n)),l=null==(a=n.getModuleSpecifierCache)?void 0:a.call(n);if(l){const e=l.get(s,c,r,o);if(null==e?void 0:e.modulePaths)return e.modulePaths}const d=getAllModulePathsWorker(e,t,n,i,o);return l&&l.setModulePaths(s,c,r,o,d),d}var Vo=["dependencies","peerDependencies","optionalDependencies"];function getAllModulePathsWorker(e,t,n,r,i){var o,a;const s=null==(o=n.getModuleResolutionCache)?void 0:o.call(n),c=null==(a=n.getSymlinkCache)?void 0:a.call(n);if(s&&c&&n.readFile&&!pathContainsNodeModules(e.importingSourceFileName)){h.type(n);const t=getTemporaryModuleResolutionState(s.getPackageJsonInfoCache(),n,{}),o=getPackageScopeForPath(getDirectoryPath(e.importingSourceFileName),t);if(o){const e=function getAllRuntimeDependencies(e){let t;for(const n of Vo){const r=e[n];r&&"object"==typeof r&&(t=concatenate(t,getOwnKeys(r)))}return t}(o.contents.packageJsonContent);for(const t of e||l){const e=resolveModuleName(t,combinePaths(o.packageDirectory,"package.json"),r,n,s,void 0,i.overrideImportMode);c.setSymlinksFromResolution(e.resolvedModule)}}}const d=new Map;let p=!1;forEachFileNameOfModule(e.importingSourceFileName,t,n,!0,(t,n)=>{const r=pathContainsNodeModules(t);d.set(t,{path:e.getCanonicalFileName(t),isRedirect:n,isInNodeModules:r}),p=p||r});const u=[];for(let t=e.canonicalSourceDirectory;0!==d.size;){const e=ensureTrailingDirectorySeparator(t);let n;d.forEach(({path:t,isRedirect:r,isInNodeModules:i},o)=>{startsWith(t,e)&&((n||(n=[])).push({path:o,isRedirect:r,isInNodeModules:i}),d.delete(o))}),n&&(n.length>1&&n.sort(comparePathsByRedirectAndNumberOfDirectorySeparators),u.push(...n));const r=getDirectoryPath(t);if(r===t)break;t=r}if(d.size){const e=arrayFrom(d.entries(),([e,{isRedirect:t,isInNodeModules:n}])=>({path:e,isRedirect:t,isInNodeModules:n}));e.length>1&&e.sort(comparePathsByRedirectAndNumberOfDirectorySeparators),u.push(...e)}return u}function tryGetModuleNameFromPaths(e,t,n,r,i,o,a){for(const o in t)for(const s of t[o]){const t=normalizePath(s),c=getRelativePathIfInSameVolume(t,r,i)??t,l=c.indexOf("*"),d=n.map(t=>({ending:t,value:processEnding(e,[t],a)}));if(tryGetExtensionFromPath2(c)&&d.push({ending:void 0,value:e}),-1!==l){const e=c.substring(0,l),t=c.substring(l+1);for(const{ending:n,value:r}of d)if(r.length>=e.length+t.length&&startsWith(r,e)&&endsWith(r,t)&&validateEnding({ending:n,value:r})){const n=r.substring(e.length,r.length-t.length);if(!pathIsRelative(n))return replaceFirstStar(o,n)}}else if(some(d,e=>0!==e.ending&&c===e.value)||some(d,e=>0===e.ending&&c===e.value&&validateEnding(e)))return o}function validateEnding({ending:t,value:n}){return 0!==t||n===processEnding(e,[t],a,o)}}function tryGetModuleNameFromExportsOrImports(e,t,n,r,i,o,a,s,c,l){if("string"==typeof o){const a=!hostUsesCaseSensitiveFileNames(t),getCommonSourceDirectory2=()=>t.getCommonSourceDirectory(),d=c&&getOutputJSFileNameWorker(n,e,a,getCommonSourceDirectory2),p=c&&getOutputDeclarationFileNameWorker(n,e,a,getCommonSourceDirectory2),u=getNormalizedAbsolutePath(combinePaths(r,o),void 0),m=hasTSFileExtension(n)?removeFileExtension(n)+tryGetJSExtensionForFile(n,e):void 0,_=l&&hasImplementationTSFileExtension(n);switch(s){case 0:if(m&&0===comparePaths(m,u,a)||0===comparePaths(n,u,a)||d&&0===comparePaths(d,u,a)||p&&0===comparePaths(p,u,a))return{moduleFileToTry:i};break;case 1:if(_&&containsPath(n,u,a)){const e=getRelativePathFromDirectory(u,n,!1);return{moduleFileToTry:getNormalizedAbsolutePath(combinePaths(combinePaths(i,o),e),void 0)}}if(m&&containsPath(u,m,a)){const e=getRelativePathFromDirectory(u,m,!1);return{moduleFileToTry:getNormalizedAbsolutePath(combinePaths(combinePaths(i,o),e),void 0)}}if(!_&&containsPath(u,n,a)){const e=getRelativePathFromDirectory(u,n,!1);return{moduleFileToTry:getNormalizedAbsolutePath(combinePaths(combinePaths(i,o),e),void 0)}}if(d&&containsPath(u,d,a)){const e=getRelativePathFromDirectory(u,d,!1);return{moduleFileToTry:combinePaths(i,e)}}if(p&&containsPath(u,p,a)){const t=changeFullExtension(getRelativePathFromDirectory(u,p,!1),getJSExtensionForFile(p,e));return{moduleFileToTry:combinePaths(i,t)}}break;case 2:const t=u.indexOf("*"),r=u.slice(0,t),s=u.slice(t+1);if(_&&startsWith(n,r,a)&&endsWith(n,s,a)){const e=n.slice(r.length,n.length-s.length);return{moduleFileToTry:replaceFirstStar(i,e)}}if(m&&startsWith(m,r,a)&&endsWith(m,s,a)){const e=m.slice(r.length,m.length-s.length);return{moduleFileToTry:replaceFirstStar(i,e)}}if(!_&&startsWith(n,r,a)&&endsWith(n,s,a)){const e=n.slice(r.length,n.length-s.length);return{moduleFileToTry:replaceFirstStar(i,e)}}if(d&&startsWith(d,r,a)&&endsWith(d,s,a)){const e=d.slice(r.length,d.length-s.length);return{moduleFileToTry:replaceFirstStar(i,e)}}if(p&&startsWith(p,r,a)&&endsWith(p,s,a)){const t=p.slice(r.length,p.length-s.length),n=replaceFirstStar(i,t),o=tryGetJSExtensionForFile(p,e);return o?{moduleFileToTry:changeFullExtension(n,o)}:void 0}}}else{if(Array.isArray(o))return forEach(o,o=>tryGetModuleNameFromExportsOrImports(e,t,n,r,i,o,a,s,c,l));if("object"==typeof o&&null!==o)for(const d of getOwnKeys(o))if("default"===d||a.indexOf(d)>=0||isApplicableVersionedTypesKey(a,d)){const p=o[d],u=tryGetModuleNameFromExportsOrImports(e,t,n,r,i,p,a,s,c,l);if(u)return u}}}function tryGetModuleNameAsNodeModule({path:e,isRedirect:t},{getCanonicalFileName:n,canonicalSourceDirectory:r},i,o,a,s,c,l){if(!o.fileExists||!o.readFile)return;const d=getNodeModulePathParts(e);if(!d)return;const p=getModuleSpecifierPreferences(s,o,a,i).getAllowedEndingsInPreferredOrder();let u=e,m=!1;if(!c){let t,n=d.packageRootIndex;for(;;){const{moduleFileToTry:r,packageRootPath:i,blockedByExports:s,verbatimFromExports:c}=tryDirectoryWithPackageJson(n);if(1!==qn(a)){if(s)return;if(c)return r}if(i){u=i,m=!0;break}if(t||(t=r),n=e.indexOf(Ft,n+1),-1===n){u=processEnding(t,p,a,o);break}}}if(t&&!m)return;const _=o.getGlobalTypingsCacheLocation&&o.getGlobalTypingsCacheLocation(),f=n(u.substring(0,d.topLevelNodeModulesIndex));if(!(startsWith(r,f)||_&&startsWith(n(_),f)))return;const g=u.substring(d.topLevelPackageNameIndex+1),y=getPackageNameFromTypesPackageName(g);return 1===qn(a)&&y===g?void 0:y;function tryDirectoryWithPackageJson(t){var r,s;const c=e.substring(0,t),u=combinePaths(c,"package.json");let m=e,_=!1;const f=null==(s=null==(r=o.getPackageJsonInfoCache)?void 0:r.call(o))?void 0:s.getPackageJsonInfo(u);if(isPackageJsonInfo(f)||void 0===f&&o.fileExists(u)){const t=(null==f?void 0:f.contents.packageJsonContent)||tryParseJson(o.readFile(u)),r=l||getDefaultResolutionModeForFile(i,o,a);if(Qn(a)){const n=getPackageNameFromTypesPackageName(c.substring(d.topLevelPackageNameIndex+1)),i=getConditions(a,r),s=(null==t?void 0:t.exports)?function tryGetModuleNameFromExports(e,t,n,r,i,o,a){return"object"==typeof o&&null!==o&&!Array.isArray(o)&&allKeysStartWithDot(o)?forEach(getOwnKeys(o),s=>{const c=getNormalizedAbsolutePath(combinePaths(i,s),void 0),l=endsWith(s,"/")?1:s.includes("*")?2:0;return tryGetModuleNameFromExportsOrImports(e,t,n,r,c,o[s],a,l,!1,!1)}):tryGetModuleNameFromExportsOrImports(e,t,n,r,i,o,a,0,!1,!1)}(a,o,e,c,n,t.exports,i):void 0;if(s)return{...s,verbatimFromExports:!0};if(null==t?void 0:t.exports)return{moduleFileToTry:e,blockedByExports:!0}}const s=(null==t?void 0:t.typesVersions)?getPackageJsonTypesVersionsPaths(t.typesVersions):void 0;if(s){const t=tryGetModuleNameFromPaths(e.slice(c.length+1),s.paths,p,c,n,o,a);void 0===t?_=!0:m=combinePaths(c,t)}const g=(null==t?void 0:t.typings)||(null==t?void 0:t.types)||(null==t?void 0:t.main)||"index.js";if(isString(g)&&(!_||!matchPatternOrExact(tryParsePatterns(s.paths),g))){const e=toPath(g,c,n),r=n(m);if(removeFileExtension(e)===removeFileExtension(r))return{packageRootPath:c,moduleFileToTry:m};if("module"!==(null==t?void 0:t.type)&&!fileExtensionIsOneOf(r,vr)&&startsWith(r,e)&&getDirectoryPath(r)===removeTrailingDirectorySeparator(e)&&"index"===removeFileExtension(getBaseFileName(r)))return{packageRootPath:c,moduleFileToTry:m}}}else{const e=n(m.substring(d.packageRootIndex+1));if("index.d.ts"===e||"index.js"===e||"index.ts"===e||"index.tsx"===e)return{moduleFileToTry:m,packageRootPath:c}}return{moduleFileToTry:m}}}function getPathsRelativeToRootDirs(e,t,n){return mapDefined(t,t=>{const r=getRelativePathIfInSameVolume(e,t,n);return void 0!==r&&isPathRelativeToParent(r)?void 0:r})}function processEnding(e,t,n,r){if(fileExtensionIsOneOf(e,[".json",".mjs",".cjs"]))return e;const i=removeFileExtension(e);if(e===i)return e;const o=t.indexOf(2),a=t.indexOf(3);if(fileExtensionIsOneOf(e,[".mts",".cts"])&&-1!==a&&a<o)return e;if(fileExtensionIsOneOf(e,[".d.mts",".mts",".d.cts",".cts"]))return i+getJSExtensionForFile(e,n);if(!fileExtensionIsOneOf(e,[".d.ts"])&&fileExtensionIsOneOf(e,[".ts"])&&e.includes(".d."))return tryGetRealFileNameForNonJsDeclarationFileName(e);switch(t[0]){case 0:const a=removeSuffix(i,"/index");return r&&a!==i&&function tryGetAnyFileFromPath(e,t){if(!e.fileExists)return;const n=flatten(getSupportedExtensions({allowJs:!0},[{extension:"node",isMixedContent:!1},{extension:"json",isMixedContent:!1,scriptKind:6}]));for(const r of n){const n=t+r;if(e.fileExists(n))return n}}(r,a)?i:a;case 1:return i;case 2:return i+getJSExtensionForFile(e,n);case 3:if(isDeclarationFileName(e)){const r=t.findIndex(e=>0===e||1===e);return-1!==r&&r<o?i:i+getJSExtensionForFile(e,n)}return e;default:return h.assertNever(t[0])}}function tryGetRealFileNameForNonJsDeclarationFileName(e){const t=getBaseFileName(e);if(!endsWith(e,".ts")||!t.includes(".d.")||fileExtensionIsOneOf(t,[".d.ts"]))return;const n=removeExtension(e,".ts"),r=n.substring(n.lastIndexOf("."));return n.substring(0,n.indexOf(".d."))+r}function getJSExtensionForFile(e,t){return tryGetJSExtensionForFile(e,t)??h.fail(`Extension ${extensionFromPath(e)} is unsupported:: FileName:: ${e}`)}function tryGetJSExtensionForFile(e,t){const n=tryGetExtensionFromPath2(e);switch(n){case".ts":case".d.ts":return".js";case".tsx":return 1===t.jsx?".jsx":".js";case".js":case".jsx":case".json":return n;case".d.mts":case".mts":case".mjs":return".mjs";case".d.cts":case".cts":case".cjs":return".cjs";default:return}}function getRelativePathIfInSameVolume(e,t,n){const r=getRelativePathToDirectoryOrUrl(t,e,t,n,!1);return isRootedDiskPath(r)?void 0:r}function isPathRelativeToParent(e){return startsWith(e,"..")}function getDefaultResolutionModeForFile(e,t,n){return isFullSourceFile(e)?t.getDefaultResolutionModeForFile(e):getDefaultResolutionModeForFileWorker(e,n)}var qo,Ho,Ko,Go=/^".+"$/,$o="(anonymous)",Qo=1,Xo=1,Yo=1,Zo=1,ea=(e=>(e[e.None=0]="None",e[e.TypeofEQString=1]="TypeofEQString",e[e.TypeofEQNumber=2]="TypeofEQNumber",e[e.TypeofEQBigInt=4]="TypeofEQBigInt",e[e.TypeofEQBoolean=8]="TypeofEQBoolean",e[e.TypeofEQSymbol=16]="TypeofEQSymbol",e[e.TypeofEQObject=32]="TypeofEQObject",e[e.TypeofEQFunction=64]="TypeofEQFunction",e[e.TypeofEQHostObject=128]="TypeofEQHostObject",e[e.TypeofNEString=256]="TypeofNEString",e[e.TypeofNENumber=512]="TypeofNENumber",e[e.TypeofNEBigInt=1024]="TypeofNEBigInt",e[e.TypeofNEBoolean=2048]="TypeofNEBoolean",e[e.TypeofNESymbol=4096]="TypeofNESymbol",e[e.TypeofNEObject=8192]="TypeofNEObject",e[e.TypeofNEFunction=16384]="TypeofNEFunction",e[e.TypeofNEHostObject=32768]="TypeofNEHostObject",e[e.EQUndefined=65536]="EQUndefined",e[e.EQNull=131072]="EQNull",e[e.EQUndefinedOrNull=262144]="EQUndefinedOrNull",e[e.NEUndefined=524288]="NEUndefined",e[e.NENull=1048576]="NENull",e[e.NEUndefinedOrNull=2097152]="NEUndefinedOrNull",e[e.Truthy=4194304]="Truthy",e[e.Falsy=8388608]="Falsy",e[e.IsUndefined=16777216]="IsUndefined",e[e.IsNull=33554432]="IsNull",e[e.IsUndefinedOrNull=50331648]="IsUndefinedOrNull",e[e.All=134217727]="All",e[e.BaseStringStrictFacts=3735041]="BaseStringStrictFacts",e[e.BaseStringFacts=12582401]="BaseStringFacts",e[e.StringStrictFacts=16317953]="StringStrictFacts",e[e.StringFacts=16776705]="StringFacts",e[e.EmptyStringStrictFacts=12123649]="EmptyStringStrictFacts",e[e.EmptyStringFacts=12582401]="EmptyStringFacts",e[e.NonEmptyStringStrictFacts=7929345]="NonEmptyStringStrictFacts",e[e.NonEmptyStringFacts=16776705]="NonEmptyStringFacts",e[e.BaseNumberStrictFacts=3734786]="BaseNumberStrictFacts",e[e.BaseNumberFacts=12582146]="BaseNumberFacts",e[e.NumberStrictFacts=16317698]="NumberStrictFacts",e[e.NumberFacts=16776450]="NumberFacts",e[e.ZeroNumberStrictFacts=12123394]="ZeroNumberStrictFacts",e[e.ZeroNumberFacts=12582146]="ZeroNumberFacts",e[e.NonZeroNumberStrictFacts=7929090]="NonZeroNumberStrictFacts",e[e.NonZeroNumberFacts=16776450]="NonZeroNumberFacts",e[e.BaseBigIntStrictFacts=3734276]="BaseBigIntStrictFacts",e[e.BaseBigIntFacts=12581636]="BaseBigIntFacts",e[e.BigIntStrictFacts=16317188]="BigIntStrictFacts",e[e.BigIntFacts=16775940]="BigIntFacts",e[e.ZeroBigIntStrictFacts=12122884]="ZeroBigIntStrictFacts",e[e.ZeroBigIntFacts=12581636]="ZeroBigIntFacts",e[e.NonZeroBigIntStrictFacts=7928580]="NonZeroBigIntStrictFacts",e[e.NonZeroBigIntFacts=16775940]="NonZeroBigIntFacts",e[e.BaseBooleanStrictFacts=3733256]="BaseBooleanStrictFacts",e[e.BaseBooleanFacts=12580616]="BaseBooleanFacts",e[e.BooleanStrictFacts=16316168]="BooleanStrictFacts",e[e.BooleanFacts=16774920]="BooleanFacts",e[e.FalseStrictFacts=12121864]="FalseStrictFacts",e[e.FalseFacts=12580616]="FalseFacts",e[e.TrueStrictFacts=7927560]="TrueStrictFacts",e[e.TrueFacts=16774920]="TrueFacts",e[e.SymbolStrictFacts=7925520]="SymbolStrictFacts",e[e.SymbolFacts=16772880]="SymbolFacts",e[e.ObjectStrictFacts=7888800]="ObjectStrictFacts",e[e.ObjectFacts=16736160]="ObjectFacts",e[e.FunctionStrictFacts=7880640]="FunctionStrictFacts",e[e.FunctionFacts=16728e3]="FunctionFacts",e[e.VoidFacts=9830144]="VoidFacts",e[e.UndefinedFacts=26607360]="UndefinedFacts",e[e.NullFacts=42917664]="NullFacts",e[e.EmptyObjectStrictFacts=83427327]="EmptyObjectStrictFacts",e[e.EmptyObjectFacts=83886079]="EmptyObjectFacts",e[e.UnknownFacts=83886079]="UnknownFacts",e[e.AllTypeofNE=556800]="AllTypeofNE",e[e.OrFactsMask=8256]="OrFactsMask",e[e.AndFactsMask=134209471]="AndFactsMask",e))(ea||{}),ta=new Map(Object.entries({string:256,number:512,bigint:1024,boolean:2048,symbol:4096,undefined:524288,object:8192,function:16384})),na=(e=>(e[e.Normal=0]="Normal",e[e.Contextual=1]="Contextual",e[e.Inferential=2]="Inferential",e[e.SkipContextSensitive=4]="SkipContextSensitive",e[e.SkipGenericFunctions=8]="SkipGenericFunctions",e[e.IsForSignatureHelp=16]="IsForSignatureHelp",e[e.RestBindingElement=32]="RestBindingElement",e[e.TypeOnly=64]="TypeOnly",e))(na||{}),ra=(e=>(e[e.None=0]="None",e[e.BivariantCallback=1]="BivariantCallback",e[e.StrictCallback=2]="StrictCallback",e[e.IgnoreReturnTypes=4]="IgnoreReturnTypes",e[e.StrictArity=8]="StrictArity",e[e.StrictTopSignature=16]="StrictTopSignature",e[e.Callback=3]="Callback",e))(ra||{}),ia=and(isNotOverload,function isNotAccessor(e){return!isAccessor(e)}),oa=new Map(Object.entries({Uppercase:0,Lowercase:1,Capitalize:2,Uncapitalize:3,NoInfer:4})),aa=class{};function NodeLinks(){this.flags=0}function getNodeId(e){return e.id||(e.id=Xo,Xo++),e.id}function getSymbolId(e){return e.id||(e.id=Qo,Qo++),e.id}function isInstantiatedModule(e,t){const n=getModuleInstanceState(e);return 1===n||t&&2===n}function createTypeChecker(e){var t,n,r,i,o=[],addLazyDiagnostic=e=>{o.push(e)},a=Bn.getSymbolConstructor(),s=Bn.getTypeConstructor(),c=Bn.getSignatureConstructor(),d=0,p=0,u=0,m=0,_=0,f=0,g=!1,y=createSymbolTable(),T=[1],S=e.getCompilerOptions(),x=zn(S),v=Vn(S),b=!!S.experimentalDecorators,C=ir(S),E=getEmitStandardClassFields(S),N=$n(S),k=getStrictOptionValue(S,"strictNullChecks"),F=getStrictOptionValue(S,"strictFunctionTypes"),P=getStrictOptionValue(S,"strictBindCallApply"),D=getStrictOptionValue(S,"strictPropertyInitialization"),I=getStrictOptionValue(S,"strictBuiltinIteratorReturn"),A=getStrictOptionValue(S,"noImplicitAny"),O=getStrictOptionValue(S,"noImplicitThis"),w=getStrictOptionValue(S,"useUnknownInCatchVariables"),L=S.exactOptionalPropertyTypes,M=!!S.noUncheckedSideEffectImports,R=function createCheckBinaryExpression(){const e=createBinaryExpressionTrampoline(function onEnter(e,t,n){t?(t.stackIndex++,t.skip=!1,setLeftType(t,void 0),setLastResult(t,void 0)):t={checkMode:n,skip:!1,stackIndex:0,typeStack:[void 0,void 0]};if(isInJSFile(e)&&getAssignedExpandoInitializer(e))return t.skip=!0,setLastResult(t,checkExpression(e.right,n)),t;!function checkNullishCoalesceOperands(e){if(61!==e.operatorToken.kind)return;if(isBinaryExpression(e.parent)){const{left:t,operatorToken:n}=e.parent;isBinaryExpression(t)&&57===n.kind&&grammarErrorOnNode(t,Ot._0_and_1_operations_cannot_be_mixed_without_parentheses,tokenToString(61),tokenToString(n.kind))}else if(isBinaryExpression(e.left)){const{operatorToken:t}=e.left;57!==t.kind&&56!==t.kind||grammarErrorOnNode(e.left,Ot._0_and_1_operations_cannot_be_mixed_without_parentheses,tokenToString(t.kind),tokenToString(61))}else if(isBinaryExpression(e.right)){const{operatorToken:t}=e.right;56===t.kind&&grammarErrorOnNode(e.right,Ot._0_and_1_operations_cannot_be_mixed_without_parentheses,tokenToString(61),tokenToString(t.kind))}(function checkNullishCoalesceOperandLeft(e){const t=skipOuterExpressions(e.left,63),n=getSyntacticNullishnessSemantics(t);3!==n&&error2(t,1===n?Ot.This_expression_is_always_nullish:Ot.Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish)})(e),function checkNullishCoalesceOperandRight(e){const t=skipOuterExpressions(e.right,63),n=getSyntacticNullishnessSemantics(t);if(function isNotWithinNullishCoalesceExpression(e){return!isBinaryExpression(e.parent)||61!==e.parent.operatorToken.kind}(e))return;1===n?error2(t,Ot.This_expression_is_always_nullish):2===n&&error2(t,Ot.This_expression_is_never_nullish)}(e)}(e);if(64===e.operatorToken.kind&&(211===e.left.kind||210===e.left.kind))return t.skip=!0,setLastResult(t,checkDestructuringAssignment(e.left,checkExpression(e.right,n),n,110===e.right.kind)),t;return t},function onLeft(e,t,n){if(!t.skip)return maybeCheckExpression(t,e)},function onOperator(e,t,n){if(!t.skip){const r=getLastResult(t);h.assertIsDefined(r),setLeftType(t,r),setLastResult(t,void 0);const i=e.kind;if(isLogicalOrCoalescingBinaryOperator(i)){let e=n.parent;for(;218===e.kind||isLogicalOrCoalescingBinaryExpression(e);)e=e.parent;(56===i||isIfStatement(e))&&checkTestingKnownTruthyCallableOrAwaitableOrEnumMemberType(n.left,r,isIfStatement(e)?e.thenStatement:void 0),isBinaryLogicalOperator(i)&&checkTruthinessOfType(r,n.left)}}},function onRight(e,t,n){if(!t.skip)return maybeCheckExpression(t,e)},function onExit(e,t){let n;if(t.skip)n=getLastResult(t);else{const r=function getLeftType(e){return e.typeStack[e.stackIndex]}(t);h.assertIsDefined(r);const i=getLastResult(t);h.assertIsDefined(i),n=checkBinaryLikeExpressionWorker(e.left,e.operatorToken,e.right,r,i,t.checkMode,e)}return t.skip=!1,setLeftType(t,void 0),setLastResult(t,void 0),t.stackIndex--,n},function foldState(e,t,n){return setLastResult(e,t),e});return(t,n)=>{const r=e(t,n);return h.assertIsDefined(r),r};function maybeCheckExpression(e,t){if(isBinaryExpression(t))return t;setLastResult(e,checkExpression(t,e.checkMode))}function setLeftType(e,t){e.typeStack[e.stackIndex]=t}function getLastResult(e){return e.typeStack[e.stackIndex+1]}function setLastResult(e,t){e.typeStack[e.stackIndex+1]=t}}(),B=function createResolver(){return{getReferencedExportContainer,getReferencedImportDeclaration,getReferencedDeclarationWithCollidingName,isDeclarationWithCollidingName,isValueAliasDeclaration:e=>{const t=getParseTreeNode(e);return!t||!Y||isValueAliasDeclaration(t)},hasGlobalName,isReferencedAliasDeclaration:(e,t)=>{const n=getParseTreeNode(e);return!n||!Y||isReferencedAliasDeclaration(n,t)},hasNodeCheckFlag:(e,t)=>{const n=getParseTreeNode(e);return!!n&&hasNodeCheckFlag(n,t)},isTopLevelValueImportEqualsWithEntityName,isDeclarationVisible,isImplementationOfOverload,requiresAddingImplicitUndefined,isExpandoFunctionDeclaration,getPropertiesOfContainerFunction,createTypeOfDeclaration,createReturnTypeOfSignatureDeclaration,createTypeOfExpression,createLiteralConstValue,isSymbolAccessible,isEntityNameVisible,getConstantValue:e=>{const t=getParseTreeNode(e,canHaveConstantValue);return t?getConstantValue2(t):void 0},getEnumMemberValue:e=>{const t=getParseTreeNode(e,isEnumMember);return t?getEnumMemberValue(t):void 0},collectLinkedAliases,markLinkedReferences:e=>{const t=getParseTreeNode(e);return t&&markLinkedReferences(t,0)},getReferencedValueDeclaration,getReferencedValueDeclarations,getTypeReferenceSerializationKind,isOptionalParameter,isArgumentsLocalBinding,getExternalModuleFileFromDeclaration:e=>{const t=getParseTreeNode(e,hasPossibleExternalModuleReference);return t&&getExternalModuleFileFromDeclaration(t)},isLiteralConstDeclaration,isLateBound:e=>{const t=getParseTreeNode(e,isDeclaration),n=t&&getSymbolOfDeclaration(t);return!!(n&&4096&getCheckFlags(n))},getJsxFactoryEntity,getJsxFragmentFactoryEntity,isBindingCapturedByNode:(e,t)=>{const n=getParseTreeNode(e),r=getParseTreeNode(t);return!!n&&!!r&&(isVariableDeclaration(r)||isBindingElement(r))&&function isBindingCapturedByNode(e,t){const n=getNodeLinks(e);return!!n&&contains(n.capturedBlockScopeBindings,getSymbolOfDeclaration(t))}(n,r)},getDeclarationStatementsForSourceFile:(e,t,n,r)=>{const i=getParseTreeNode(e);h.assert(i&&308===i.kind,"Non-sourcefile node passed into getDeclarationsForSourceFile");const o=getSymbolOfDeclaration(e);return o?(resolveExternalModuleSymbol(o),o.exports?j.symbolTableToDeclarationStatements(o.exports,e,t,n,r):[]):e.locals?j.symbolTableToDeclarationStatements(e.locals,e,t,n,r):[]},isImportRequiredByAugmentation:function isImportRequiredByAugmentation(e){const t=getSourceFileOfNode(e);if(!t.symbol)return!1;const n=getExternalModuleFileFromDeclaration(e);if(!n)return!1;if(n===t)return!1;const r=getExportsOfModule(t.symbol);for(const e of arrayFrom(r.values()))if(e.mergeId){const t=getMergedSymbol(e);if(t.declarations)for(const e of t.declarations){if(getSourceFileOfNode(e)===n)return!0}}return!1},isDefinitelyReferenceToGlobalSymbolObject,createLateBoundIndexSignatures:(e,t,n,r,i)=>{const o=e.symbol,a=getIndexInfosOfType(getTypeOfSymbol(o)),s=getIndexSymbol(o),c=s&&getIndexInfosOfIndexSymbol(s,arrayFrom(getMembersOfSymbol(o).values()));let l;for(const e of[a,c])if(length(e)){l||(l=[]);for(const o of e){if(o.declaration)continue;if(o===Tr)continue;if(o.components){if(every(o.components,e=>{var n;return!!(e.name&&isComputedPropertyName(e.name)&&isEntityNameExpression(e.name.expression)&&t&&0===(null==(n=isEntityNameVisible(e.name.expression,t,!1))?void 0:n.accessibility))})){const s=filter(o.components,e=>!hasLateBindableName(e));l.push(...map(s,s=>{trackComputedName(s.name.expression);const c=e===a?[Wr.createModifier(126)]:void 0;return Wr.createPropertyDeclaration(append(c,o.isReadonly?Wr.createModifier(148):void 0),s.name,(isPropertySignature(s)||isPropertyDeclaration(s)||isMethodSignature(s)||isMethodDeclaration(s)||isGetAccessor(s)||isSetAccessor(s))&&s.questionToken?Wr.createToken(58):void 0,j.typeToTypeNode(getTypeOfSymbol(s.symbol),t,n,r,i),void 0)}));continue}}const s=j.indexInfoToIndexSignatureDeclaration(o,t,n,r,i);s&&e===a&&(s.modifiers||(s.modifiers=Wr.createNodeArray())).unshift(Wr.createModifier(126)),s&&l.push(s)}}return l;function trackComputedName(e){if(!i.trackSymbol)return;const n=getFirstIdentifier(e),r=te(n,n.escapedText,1160127,void 0,!0);r&&i.trackSymbol(r,t,111551)}},symbolToDeclarations:(e,t,n,r,i,o)=>j.symbolToDeclarations(e,t,n,r,i,o)}}(),j=function createNodeBuilder(){return{syntacticBuilderResolver:{evaluateEntityNameExpression,isExpandoFunctionDeclaration,hasLateBindableName,shouldRemoveDeclaration:(e,t)=>!(8&e.internalFlags&&isEntityNameExpression(t.name.expression)&&1&checkComputedPropertyName(t.name).flags),createRecoveryBoundary:e=>function createRecoveryBoundary(e){t&&t.throwIfCancellationRequested&&t.throwIfCancellationRequested();let n,r,i=!1;const o=e.tracker,a=e.trackedSymbols;e.trackedSymbols=void 0;const s=e.encounteredError;return e.tracker=new sa(e,{...o.inner,reportCyclicStructureError(){markError(()=>o.reportCyclicStructureError())},reportInaccessibleThisError(){markError(()=>o.reportInaccessibleThisError())},reportInaccessibleUniqueSymbolError(){markError(()=>o.reportInaccessibleUniqueSymbolError())},reportLikelyUnsafeImportRequiredError(e){markError(()=>o.reportLikelyUnsafeImportRequiredError(e))},reportNonSerializableProperty(e){markError(()=>o.reportNonSerializableProperty(e))},reportPrivateInBaseOfClassExpression(e){markError(()=>o.reportPrivateInBaseOfClassExpression(e))},trackSymbol:(e,t,r)=>((n??(n=[])).push([e,t,r]),!1),moduleResolverHost:e.tracker.moduleResolverHost},e.tracker.moduleResolverHost),{startRecoveryScope,finalizeBoundary,markError,hadError:()=>i};function markError(e){i=!0,e&&(r??(r=[])).push(e)}function startRecoveryScope(){const e=(null==n?void 0:n.length)??0,t=(null==r?void 0:r.length)??0;return()=>{i=!1,n&&(n.length=e),r&&(r.length=t)}}function finalizeBoundary(){return e.tracker=o,e.trackedSymbols=a,e.encounteredError=s,null==r||r.forEach(e=>e()),!i&&(null==n||n.forEach(([t,n,r])=>e.tracker.trackSymbol(t,n,r)),!0)}}(e),isDefinitelyReferenceToGlobalSymbolObject,getAllAccessorDeclarations:getAllAccessorDeclarationsForDeclaration,requiresAddingImplicitUndefined(e,t,n){var r;switch(e.kind){case 173:case 172:case 349:t??(t=getSymbolOfDeclaration(e));const i=getTypeOfSymbol(t);return!!(4&t.flags&&16777216&t.flags&&isOptionalDeclaration(e)&&(null==(r=t.links)?void 0:r.mappedType)&&function containsNonMissingUndefinedType(e){const t=1048576&e.flags?e.types[0]:e;return!!(32768&t.flags)&&t!==Be}(i));case 170:case 342:return requiresAddingImplicitUndefined(e,n);default:h.assertNever(e)}},isOptionalParameter,isUndefinedIdentifierExpression:e=>getSymbolAtLocation(e)===V,isEntityNameVisible:(e,t,n)=>isEntityNameVisible(t,e.enclosingDeclaration,n),serializeExistingTypeNode:(e,t,n)=>function serializeExistingTypeNode(e,t,n){const r=getTypeFromTypeNode2(e,t);if(n&&!someType(r,e=>!!(32768&e.flags))&&canReuseTypeNode(e,t)){const n=W.tryReuseExistingTypeNode(e,t);if(n)return Wr.createUnionTypeNode([n,Wr.createKeywordTypeNode(157)])}return typeToTypeNodeHelper(r,e)}(e,t,!!n),serializeReturnTypeForSignature(e,t,n){const r=e,i=getSignatureFromDeclaration(t);n??(n=getSymbolOfDeclaration(t));const o=r.enclosingSymbolTypes.get(getSymbolId(n))??instantiateType(getReturnTypeOfSignature(i),r.mapper);return serializeInferredReturnTypeForSignature(r,i,o)},serializeTypeOfExpression(e,t){const n=e;return typeToTypeNodeHelper(instantiateType(getWidenedType(getRegularTypeOfExpression(t)),n.mapper),n)},serializeTypeOfDeclaration(e,t,n){var r;const i=e;n??(n=getSymbolOfDeclaration(t));let o=null==(r=i.enclosingSymbolTypes)?void 0:r.get(getSymbolId(n));void 0===o&&(o=98304&n.flags&&179===t.kind?instantiateType(getWriteTypeOfSymbol(n),i.mapper):!n||133120&n.flags?Ie:instantiateType(getWidenedLiteralType(getTypeOfSymbol(n)),i.mapper));return t&&(isParameter(t)||isJSDocParameterTag(t))&&requiresAddingImplicitUndefined(t,i.enclosingDeclaration)&&(o=getOptionalType(o)),serializeInferredTypeForDeclaration(n,i,o)},serializeNameOfParameter:(e,t)=>parameterToParameterDeclarationName(getSymbolOfDeclaration(t),t,e),serializeEntityName(e,t){const n=e,r=getSymbolAtLocation(t,!0);if(r&&isValueSymbolAccessible(r,n.enclosingDeclaration))return symbolToExpression(r,n,1160127)},serializeTypeName:(e,t,n,r)=>function serializeTypeName(e,t,n,r){const i=n?111551:788968,o=resolveEntityName(t,i,!0);if(!o)return;const a=2097152&o.flags?resolveAlias(o):o;return 0!==isSymbolAccessible(o,e.enclosingDeclaration,i,!1).accessibility?void 0:symbolToTypeNode(a,e,i,r)}(e,t,n,r),getJsDocPropertyOverride(e,t,n){const r=e,i=isIdentifier(n.name)?n.name:n.name.right,o=getTypeOfPropertyOfType(getTypeFromTypeNode2(r,t),i.escapedText);return o&&n.typeExpression&&getTypeFromTypeNode2(r,n.typeExpression.type)!==o?typeToTypeNodeHelper(o,r):void 0},enterNewScope(e,t){if(isFunctionLike(t)||isJSDocSignature(t)){const n=getSignatureFromDeclaration(t);return enterNewScope(e,t,n.parameters,n.typeParameters)}return enterNewScope(e,t,void 0,isConditionalTypeNode(t)?getInferTypeParameters(t):[getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(t.typeParameter))])},markNodeReuse:(e,t,n)=>setTextRange2(e,t,n),trackExistingEntityName:(e,t)=>trackExistingEntityName(t,e),trackComputedName(e,t){trackComputedName(t,e.enclosingDeclaration,e)},getModuleSpecifierOverride(e,t,n){const r=e;if(r.bundled||r.enclosingFile!==getSourceFileOfNode(n)){let e=n.text;const i=e,o=getNodeLinks(t).resolvedSymbol,a=t.isTypeOf?111551:788968,s=o&&0===isSymbolAccessible(o,r.enclosingDeclaration,a,!1).accessibility&&lookupSymbolChain(o,r,a,!0)[0];if(s&&isExternalModuleSymbol(s))e=getSpecifierForModuleSymbol(s,r);else{const n=getExternalModuleFileFromDeclaration(t);n&&(e=getSpecifierForModuleSymbol(n.symbol,r))}if(e.includes("/node_modules/")&&(r.encounteredError=!0,r.tracker.reportLikelyUnsafeImportRequiredError&&r.tracker.reportLikelyUnsafeImportRequiredError(e)),e!==i)return e}},canReuseTypeNode:(e,t)=>canReuseTypeNode(e,t),canReuseTypeNodeAnnotation(e,t,n,r,i){var o;const a=e;if(void 0===a.enclosingDeclaration)return!1;r??(r=getSymbolOfDeclaration(t));let s=null==(o=a.enclosingSymbolTypes)?void 0:o.get(getSymbolId(r));void 0===s&&(s=98304&r.flags?179===t.kind?getWriteTypeOfSymbol(r):getTypeOfAccessors(r):isValueSignatureDeclaration(t)?getReturnTypeOfSignature(getSignatureFromDeclaration(t)):getTypeOfSymbol(r));let c=getTypeFromTypeNodeWithoutContext(n);return!!isErrorType(c)||(i&&c&&(c=addOptionality(c,!isParameter(t))),!!c&&function typeNodeIsEquivalentToType(e,t,n){if(n===t)return!0;if(!e)return!1;if((isPropertySignature(e)||isPropertyDeclaration(e))&&e.questionToken)return getTypeWithFacts(t,524288)===n;if(isParameter(e)&&hasEffectiveQuestionToken(e))return getTypeWithFacts(t,524288)===n;return!1}(t,s,c)&&existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(n,s))}},typeToTypeNode:(e,t,n,r,i,o,a,s)=>withContext2(t,n,r,i,o,a,t=>typeToTypeNodeHelper(e,t),s),typePredicateToTypePredicateNode:(e,t,n,r,i)=>withContext2(t,n,r,i,void 0,void 0,t=>typePredicateToTypePredicateNodeHelper(e,t)),serializeTypeForDeclaration:(e,t,n,r,i,o)=>withContext2(n,r,i,o,void 0,void 0,n=>W.serializeTypeOfDeclaration(e,t,n)),serializeReturnTypeForSignature:(e,t,n,r,i)=>withContext2(t,n,r,i,void 0,void 0,t=>W.serializeReturnTypeForSignature(e,getSymbolOfDeclaration(e),t)),serializeTypeForExpression:(e,t,n,r,i)=>withContext2(t,n,r,i,void 0,void 0,t=>W.serializeTypeOfExpression(e,t)),indexInfoToIndexSignatureDeclaration:(e,t,n,r,i)=>withContext2(t,n,r,i,void 0,void 0,t=>indexInfoToIndexSignatureDeclarationHelper(e,t,void 0)),signatureToSignatureDeclaration:(e,t,n,r,i,o,a,s,c)=>withContext2(n,r,i,o,a,s,n=>signatureToSignatureDeclarationHelper(e,t,n),c),symbolToEntityName:(e,t,n,r,i,o)=>withContext2(n,r,i,o,void 0,void 0,n=>symbolToName(e,n,t,!1)),symbolToExpression:(e,t,n,r,i,o)=>withContext2(n,r,i,o,void 0,void 0,n=>symbolToExpression(e,n,t)),symbolToTypeParameterDeclarations:(e,t,n,r,i)=>withContext2(t,n,r,i,void 0,void 0,t=>typeParametersToTypeParameterDeclarations(e,t)),symbolToParameterDeclaration:(e,t,n,r,i)=>withContext2(t,n,r,i,void 0,void 0,t=>symbolToParameterDeclaration(e,t)),typeParameterToDeclaration:(e,t,n,r,i,o,a,s)=>withContext2(t,n,r,i,o,a,t=>typeParameterToDeclaration(e,t),s),symbolTableToDeclarationStatements:(e,t,n,r,i)=>withContext2(t,n,r,i,void 0,void 0,t=>symbolTableToDeclarationStatements(e,t)),symbolToNode:(e,t,n,r,i,o)=>withContext2(n,r,i,o,void 0,void 0,n=>symbolToNode(e,n,t)),symbolToDeclarations:function symbolToDeclarations(e,t,n,r,i,o){return mapDefined(withContext2(void 0,n,void 0,void 0,r,i,t=>function symbolToDeclarationsWorker(e,t){const n=getDeclaredTypeOfSymbol(e);t.typeStack.push(n.id),t.typeStack.push(-1);const r=createSymbolTable([e]),i=symbolTableToDeclarationStatements(r,t);return t.typeStack.pop(),t.typeStack.pop(),i}(e,t),o),n=>{switch(n.kind){case 264:return function simplifyClassDeclaration(e,t){const n=filter(t.declarations,isClassLike),r=n&&n.length>0?n[0]:e,i=-161&getEffectiveModifierFlags(r);isClassExpression(r)&&(e=Wr.updateClassDeclaration(e,e.modifiers,void 0,e.typeParameters,e.heritageClauses,e.members));return Wr.replaceModifiers(e,i)}(n,e);case 267:return simplifyModifiers(n,isEnumDeclaration,e);case 265:return function simplifyInterfaceDeclaration(e,t,n){if(!(64&n))return;return simplifyModifiers(e,isInterfaceDeclaration,t)}(n,e,t);case 268:return simplifyModifiers(n,isModuleDeclaration,e);default:return}})}};function getTypeFromTypeNode2(e,t,n){const r=getTypeFromTypeNodeWithoutContext(t);if(!e.mapper)return r;const i=instantiateType(r,e.mapper);return n&&i!==r?void 0:i}function setTextRange2(e,t,n){if(nodeIsSynthesized(t)&&16&t.flags&&e.enclosingFile&&e.enclosingFile===getSourceFileOfNode(getOriginalNode(t))||(t=Wr.cloneNode(t)),t===n)return t;if(!n)return t;let r=t.original;for(;r&&r!==n;)r=r.original;return r||setOriginalNode(t,n),e.enclosingFile&&e.enclosingFile===getSourceFileOfNode(getOriginalNode(n))?setTextRange(t,n):t}function symbolToNode(e,t,n){if(1&t.internalFlags){if(e.valueDeclaration){const t=getNameOfDeclaration(e.valueDeclaration);if(t&&isComputedPropertyName(t))return t}const r=getSymbolLinks(e).nameType;if(r&&9216&r.flags)return t.enclosingDeclaration=r.symbol.valueDeclaration,Wr.createComputedPropertyName(symbolToExpression(r.symbol,t,n))}return symbolToExpression(e,t,n)}function simplifyModifiers(e,t,n){const r=filter(n.declarations,t),i=-161&getEffectiveModifierFlags(r&&r.length>0?r[0]:e);return Wr.replaceModifiers(e,i)}function withContext2(t,n,r,i,o,a,s,c){const l=(null==i?void 0:i.trackSymbol)?i.moduleResolverHost:4&(r||0)?function createBasicNodeBuilderModuleSpecifierResolutionHost(e){return{getCommonSourceDirectory:e.getCommonSourceDirectory?()=>e.getCommonSourceDirectory():()=>"",getCurrentDirectory:()=>e.getCurrentDirectory(),getSymlinkCache:maybeBind(e,e.getSymlinkCache),getPackageJsonInfoCache:()=>{var t;return null==(t=e.getPackageJsonInfoCache)?void 0:t.call(e)},useCaseSensitiveFileNames:()=>e.useCaseSensitiveFileNames(),redirectTargetsMap:e.redirectTargetsMap,getRedirectFromSourceFile:t=>e.getRedirectFromSourceFile(t),isSourceOfProjectReferenceRedirect:t=>e.isSourceOfProjectReferenceRedirect(t),fileExists:t=>e.fileExists(t),getFileIncludeReasons:()=>e.getFileIncludeReasons(),readFile:e.readFile?t=>e.readFile(t):void 0,getDefaultResolutionModeForFile:t=>e.getDefaultResolutionModeForFile(t),getModeForResolutionAtIndex:(t,n)=>e.getModeForResolutionAtIndex(t,n),getGlobalTypingsCacheLocation:maybeBind(e,e.getGlobalTypingsCacheLocation)}}(e):void 0;n=n||0;const d=o||(1&n?ln:cn),p={enclosingDeclaration:t,enclosingFile:t&&getSourceFileOfNode(t),flags:n,internalFlags:r||0,tracker:void 0,maxTruncationLength:d,maxExpansionDepth:a??-1,encounteredError:!1,suppressReportInferenceFallback:!1,reportedDiagnostic:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0,trackedSymbols:void 0,bundled:!!S.outFile&&!!t&&isExternalOrCommonJsModule(getSourceFileOfNode(t)),truncating:!1,usedSymbolNames:void 0,remappedSymbolNames:void 0,remappedSymbolReferences:void 0,reverseMappedStack:void 0,mustCreateTypeParameterSymbolList:!0,typeParameterSymbolList:void 0,mustCreateTypeParametersNamesLookups:!0,typeParameterNames:void 0,typeParameterNamesByText:void 0,typeParameterNamesByTextNextNameCount:void 0,enclosingSymbolTypes:new Map,mapper:void 0,depth:0,typeStack:[],out:{canIncreaseExpansionDepth:!1,truncated:!1}};p.tracker=new sa(p,i,l);const u=s(p);return p.truncating&&1&p.flags&&p.tracker.reportTruncationError(),c&&(c.canIncreaseExpansionDepth=p.out.canIncreaseExpansionDepth,c.truncated=p.out.truncated),p.encounteredError?void 0:u}function addSymbolTypeToContext(e,t,n){const r=getSymbolId(t),i=e.enclosingSymbolTypes.get(r);return e.enclosingSymbolTypes.set(r,n),function restore(){i?e.enclosingSymbolTypes.set(r,i):e.enclosingSymbolTypes.delete(r)}}function saveRestoreFlags(e){const t=e.flags,n=e.internalFlags,r=e.depth;return function restore(){e.flags=t,e.internalFlags=n,e.depth=r}}function checkTruncationLengthIfExpanding(e){return e.maxExpansionDepth>=0&&checkTruncationLength(e)}function checkTruncationLength(e){return e.truncating?e.truncating:e.truncating=e.approximateLength>e.maxTruncationLength}function canPossiblyExpandType(e,t){for(let n=0;n<t.typeStack.length-1;n++)if(t.typeStack[n]===e.id)return!1;return t.depth<t.maxExpansionDepth||t.depth===t.maxExpansionDepth&&!t.out.canIncreaseExpansionDepth}function shouldExpandType(e,t,n=!1){if(!n&&isLibType(e))return!1;for(let n=0;n<t.typeStack.length-1;n++)if(t.typeStack[n]===e.id)return!1;const r=t.depth<t.maxExpansionDepth;return r||(t.out.canIncreaseExpansionDepth=!0),r}function typeToTypeNodeHelper(e,n){const r=saveRestoreFlags(n);e&&n.typeStack.push(e.id);const o=function typeToTypeNodeWorker(e,n){var r,o;t&&t.throwIfCancellationRequested&&t.throwIfCancellationRequested();const a=8388608&n.flags;n.flags&=-8388609;let s=!1;if(!e)return 262144&n.flags?(n.approximateLength+=3,Wr.createKeywordTypeNode(133)):void(n.encounteredError=!0);536870912&n.flags||(e=getReducedType(e));if(1&e.flags)return e.aliasSymbol?Wr.createTypeReferenceNode(symbolToEntityNameNode(e.aliasSymbol),mapToTypeNodes(e.aliasTypeArguments,n)):e===Ae?addSyntheticLeadingComment(Wr.createKeywordTypeNode(133),3,"unresolved"):(n.approximateLength+=3,Wr.createKeywordTypeNode(e===we?141:133));if(2&e.flags)return Wr.createKeywordTypeNode(159);if(4&e.flags)return n.approximateLength+=6,Wr.createKeywordTypeNode(154);if(8&e.flags)return n.approximateLength+=6,Wr.createKeywordTypeNode(150);if(64&e.flags)return n.approximateLength+=6,Wr.createKeywordTypeNode(163);if(16&e.flags&&!e.aliasSymbol)return n.approximateLength+=7,Wr.createKeywordTypeNode(136);if(1056&e.flags){if(8&e.symbol.flags){const t=getParentOfSymbol(e.symbol),r=symbolToTypeNode(t,n,788968);if(getDeclaredTypeOfSymbol(t)===e)return r;const i=symbolName(e.symbol);return isIdentifierText(i,1)?appendReferenceToType(r,Wr.createTypeReferenceNode(i,void 0)):isImportTypeNode(r)?(r.isTypeOf=!0,Wr.createIndexedAccessTypeNode(r,Wr.createLiteralTypeNode(Wr.createStringLiteral(i)))):isTypeReferenceNode(r)?Wr.createIndexedAccessTypeNode(Wr.createTypeQueryNode(r.typeName),Wr.createLiteralTypeNode(Wr.createStringLiteral(i))):h.fail("Unhandled type node kind returned from `symbolToTypeNode`.")}if(!shouldExpandType(e,n))return symbolToTypeNode(e.symbol,n,788968);s=!0}if(128&e.flags)return n.approximateLength+=e.value.length+2,Wr.createLiteralTypeNode(setEmitFlags(Wr.createStringLiteral(e.value,!!(268435456&n.flags)),16777216));if(256&e.flags){const t=e.value;return n.approximateLength+=(""+t).length,Wr.createLiteralTypeNode(t<0?Wr.createPrefixUnaryExpression(41,Wr.createNumericLiteral(-t)):Wr.createNumericLiteral(t))}if(2048&e.flags)return n.approximateLength+=pseudoBigIntToString(e.value).length+1,Wr.createLiteralTypeNode(Wr.createBigIntLiteral(e.value));if(512&e.flags)return n.approximateLength+=e.intrinsicName.length,Wr.createLiteralTypeNode("true"===e.intrinsicName?Wr.createTrue():Wr.createFalse());if(8192&e.flags){if(!(1048576&n.flags)){if(isValueSymbolAccessible(e.symbol,n.enclosingDeclaration))return n.approximateLength+=6,symbolToTypeNode(e.symbol,n,111551);n.tracker.reportInaccessibleUniqueSymbolError&&n.tracker.reportInaccessibleUniqueSymbolError()}return n.approximateLength+=13,Wr.createTypeOperatorNode(158,Wr.createKeywordTypeNode(155))}if(16384&e.flags)return n.approximateLength+=4,Wr.createKeywordTypeNode(116);if(32768&e.flags)return n.approximateLength+=9,Wr.createKeywordTypeNode(157);if(65536&e.flags)return n.approximateLength+=4,Wr.createLiteralTypeNode(Wr.createNull());if(131072&e.flags)return n.approximateLength+=5,Wr.createKeywordTypeNode(146);if(4096&e.flags)return n.approximateLength+=6,Wr.createKeywordTypeNode(155);if(67108864&e.flags)return n.approximateLength+=6,Wr.createKeywordTypeNode(151);if(isThisTypeParameter(e))return 4194304&n.flags&&(n.encounteredError||32768&n.flags||(n.encounteredError=!0),null==(o=(r=n.tracker).reportInaccessibleThisError)||o.call(r)),n.approximateLength+=4,Wr.createThisTypeNode();if(!a&&e.aliasSymbol&&(16384&n.flags||function isTypeSymbolAccessible(e,t){return 0===isSymbolAccessibleWorker(e,t,788968,!1,!0).accessibility}(e.aliasSymbol,n.enclosingDeclaration))){if(!shouldExpandType(e,n,!0)){const t=mapToTypeNodes(e.aliasTypeArguments,n);return!isReservedMemberName(e.aliasSymbol.escapedName)||32&e.aliasSymbol.flags?1===length(t)&&e.aliasSymbol===Vt.symbol?Wr.createArrayTypeNode(t[0]):symbolToTypeNode(e.aliasSymbol,n,788968,t):Wr.createTypeReferenceNode(Wr.createIdentifier(""),t)}n.depth+=1}const c=getObjectFlags(e);if(4&c)return h.assert(!!(524288&e.flags)),shouldExpandType(e,n)?(n.depth+=1,createAnonymousTypeNode(e,!0,!0)):e.node?visitAndTransformType(e,typeReferenceToTypeNode):typeReferenceToTypeNode(e);if(262144&e.flags||3&c){if(262144&e.flags&&contains(n.inferTypeParameters,e)){let t;n.approximateLength+=symbolName(e.symbol).length+6;const r=getConstraintOfTypeParameter(e);if(r){const i=getInferredTypeParameterConstraint(e,!0);i&&isTypeIdenticalTo(r,i)||(n.approximateLength+=9,t=r&&typeToTypeNodeHelper(r,n))}return Wr.createInferTypeNode(typeParameterToDeclarationWithConstraint(e,n,t))}if(4&n.flags&&262144&e.flags){const t=typeParameterToName(e,n);return n.approximateLength+=idText(t).length,Wr.createTypeReferenceNode(Wr.createIdentifier(idText(t)),void 0)}if(3&c&&shouldExpandType(e,n))return n.depth+=1,createAnonymousTypeNode(e,!0,!0);if(e.symbol)return symbolToTypeNode(e.symbol,n,788968);const t=(e===wt||e===Lt)&&i&&i.symbol?(e===Lt?"sub-":"super-")+symbolName(i.symbol):"?";return Wr.createTypeReferenceNode(Wr.createIdentifier(t),void 0)}1048576&e.flags&&e.origin&&(e=e.origin);if(3145728&e.flags){const t=1048576&e.flags?function formatUnionTypes(e,t){const n=[];let r=0;for(let i=0;i<e.length;i++){const o=e[i];if(r|=o.flags,!(98304&o.flags)){if(512&o.flags||!t&&1056|o.flags){const t=512&o.flags?Ye:getBaseTypeOfEnumLikeType(o);if(1048576&t.flags){const r=t.types.length;if(i+r<=e.length&&getRegularTypeOfLiteralType(e[i+r-1])===getRegularTypeOfLiteralType(t.types[r-1])){n.push(t),i+=r-1;continue}}}n.push(o)}}65536&r&&n.push(We);32768&r&&n.push(Me);return n||e}(e.types,s):e.types;if(1===length(t))return typeToTypeNodeHelper(t[0],n);const r=mapToTypeNodes(t,n,!0);return r&&r.length>0?1048576&e.flags?Wr.createUnionTypeNode(r):Wr.createIntersectionTypeNode(r):void(n.encounteredError||262144&n.flags||(n.encounteredError=!0))}if(48&c)return h.assert(!!(524288&e.flags)),createAnonymousTypeNode(e);if(4194304&e.flags){const t=e.type;n.approximateLength+=6;const r=typeToTypeNodeHelper(t,n);return Wr.createTypeOperatorNode(143,r)}if(134217728&e.flags){const t=e.texts,r=e.types,i=Wr.createTemplateHead(t[0]),o=Wr.createNodeArray(map(r,(e,i)=>Wr.createTemplateLiteralTypeSpan(typeToTypeNodeHelper(e,n),(i<r.length-1?Wr.createTemplateMiddle:Wr.createTemplateTail)(t[i+1]))));return n.approximateLength+=2,Wr.createTemplateLiteralType(i,o)}if(268435456&e.flags){const t=typeToTypeNodeHelper(e.type,n);return symbolToTypeNode(e.symbol,n,788968,[t])}if(8388608&e.flags){const t=typeToTypeNodeHelper(e.objectType,n),r=typeToTypeNodeHelper(e.indexType,n);return n.approximateLength+=2,Wr.createIndexedAccessTypeNode(t,r)}if(16777216&e.flags)return visitAndTransformType(e,e=>conditionalTypeToTypeNode(e));if(33554432&e.flags){const t=typeToTypeNodeHelper(e.baseType,n),r=isNoInferType(e)&&getGlobalTypeSymbol("NoInfer",!1);return r?symbolToTypeNode(r,n,788968,[t]):t}return h.fail("Should be unreachable.");function conditionalTypeToTypeNode(e){const t=typeToTypeNodeHelper(e.checkType,n);if(n.approximateLength+=15,4&n.flags&&e.root.isDistributive&&!(262144&e.checkType.flags)){const r=createTypeParameter(createSymbol(262144,"T")),i=typeParameterToName(r,n),o=Wr.createTypeReferenceNode(i);n.approximateLength+=37;const a=prependTypeMapping(e.root.checkType,r,e.mapper),s=n.inferTypeParameters;n.inferTypeParameters=e.root.inferTypeParameters;const c=typeToTypeNodeHelper(instantiateType(e.root.extendsType,a),n);n.inferTypeParameters=s;const l=typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode2(n,e.root.node.trueType),a)),d=typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode2(n,e.root.node.falseType),a));return Wr.createConditionalTypeNode(t,Wr.createInferTypeNode(Wr.createTypeParameterDeclaration(void 0,Wr.cloneNode(o.typeName))),Wr.createConditionalTypeNode(Wr.createTypeReferenceNode(Wr.cloneNode(i)),typeToTypeNodeHelper(e.checkType,n),Wr.createConditionalTypeNode(o,c,l,d),Wr.createKeywordTypeNode(146)),Wr.createKeywordTypeNode(146))}const r=n.inferTypeParameters;n.inferTypeParameters=e.root.inferTypeParameters;const i=typeToTypeNodeHelper(e.extendsType,n);n.inferTypeParameters=r;const o=typeToTypeNodeOrCircularityElision(getTrueTypeFromConditionalType(e)),a=typeToTypeNodeOrCircularityElision(getFalseTypeFromConditionalType(e));return Wr.createConditionalTypeNode(t,i,o,a)}function typeToTypeNodeOrCircularityElision(e){var t,r,i;return 1048576&e.flags?(null==(t=n.visitedTypes)?void 0:t.has(getTypeId(e)))?(131072&n.flags||(n.encounteredError=!0,null==(i=null==(r=n.tracker)?void 0:r.reportCyclicStructureError)||i.call(r)),createElidedInformationPlaceholder(n)):visitAndTransformType(e,e=>typeToTypeNodeHelper(e,n)):typeToTypeNodeHelper(e,n)}function isMappedTypeHomomorphic(e){return!!getHomomorphicTypeVariable(e)}function isHomomorphicMappedTypeWithNonHomomorphicInstantiation(e){return!!e.target&&isMappedTypeHomomorphic(e.target)&&!isMappedTypeHomomorphic(e)}function createMappedTypeNodeFromType(e){var t;h.assert(!!(524288&e.flags));const r=e.declaration.readonlyToken?Wr.createToken(e.declaration.readonlyToken.kind):void 0,i=e.declaration.questionToken?Wr.createToken(e.declaration.questionToken.kind):void 0;let o,a,s=getTemplateTypeFromMappedType(e);const c=getTypeParameterFromMappedType(e),l=!isMappedTypeWithKeyofConstraintDeclaration(e)&&!(2&getModifiersTypeFromMappedType(e).flags)&&4&n.flags&&!(262144&getConstraintTypeFromMappedType(e).flags&&4194304&(null==(t=getConstraintOfTypeParameter(getConstraintTypeFromMappedType(e)))?void 0:t.flags));if(isMappedTypeWithKeyofConstraintDeclaration(e)){if(isHomomorphicMappedTypeWithNonHomomorphicInstantiation(e)&&4&n.flags){const t=createTypeParameter(createSymbol(262144,"T")),r=typeParameterToName(t,n),i=e.target;a=Wr.createTypeReferenceNode(r),s=instantiateType(getTemplateTypeFromMappedType(i),makeArrayTypeMapper([getTypeParameterFromMappedType(i),getModifiersTypeFromMappedType(i)],[c,t]))}o=Wr.createTypeOperatorNode(143,a||typeToTypeNodeHelper(getModifiersTypeFromMappedType(e),n))}else if(l){const e=typeParameterToName(createTypeParameter(createSymbol(262144,"T")),n);a=Wr.createTypeReferenceNode(e),o=a}else o=typeToTypeNodeHelper(getConstraintTypeFromMappedType(e),n);const d=typeParameterToDeclarationWithConstraint(c,n,o),p=enterNewScope(n,e.declaration,void 0,[getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(e.declaration.typeParameter))]),u=e.declaration.nameType?typeToTypeNodeHelper(getNameTypeFromMappedType(e),n):void 0,m=typeToTypeNodeHelper(removeMissingType(s,!!(4&getMappedTypeModifiers(e))),n);p();const _=Wr.createMappedTypeNode(r,d,u,i,m,void 0);n.approximateLength+=10;const f=setEmitFlags(_,1);if(isHomomorphicMappedTypeWithNonHomomorphicInstantiation(e)&&4&n.flags){const t=instantiateType(getConstraintOfTypeParameter(getTypeFromTypeNode2(n,e.declaration.typeParameter.constraint.type))||Le,e.mapper);return Wr.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(e),n),Wr.createInferTypeNode(Wr.createTypeParameterDeclaration(void 0,Wr.cloneNode(a.typeName),2&t.flags?void 0:typeToTypeNodeHelper(t,n))),f,Wr.createKeywordTypeNode(146))}return l?Wr.createConditionalTypeNode(typeToTypeNodeHelper(getConstraintTypeFromMappedType(e),n),Wr.createInferTypeNode(Wr.createTypeParameterDeclaration(void 0,Wr.cloneNode(a.typeName),Wr.createTypeOperatorNode(143,typeToTypeNodeHelper(getModifiersTypeFromMappedType(e),n)))),f,Wr.createKeywordTypeNode(146)):f}function createAnonymousTypeNode(e,t=!1,r=!1){var i,o;const a=e.id,s=e.symbol;if(s){if(!!(8388608&getObjectFlags(e))){const t=e.node;if(isTypeQueryNode(t)&&getTypeFromTypeNode2(n,t)===e){const e=W.tryReuseExistingTypeNode(n,t);if(e)return e}return(null==(i=n.visitedTypes)?void 0:i.has(a))?createElidedInformationPlaceholder(n):visitAndTransformType(e,createTypeNodeFromObjectType)}const c=isClassInstanceSide(e)?788968:111551;if(isJSConstructor(s.valueDeclaration))return symbolToTypeNode(s,n,c);if(!r&&(32&s.flags&&!t&&!getBaseTypeVariableOfClass(s)&&(!(s.valueDeclaration&&isClassLike(s.valueDeclaration)&&2048&n.flags)||isClassDeclaration(s.valueDeclaration)&&0===isSymbolAccessible(s,n.enclosingDeclaration,c,!1).accessibility)||896&s.flags||shouldWriteTypeOfFunctionSymbol())){if(!shouldExpandType(e,n))return symbolToTypeNode(s,n,c);n.depth+=1}if(null==(o=n.visitedTypes)?void 0:o.has(a)){const t=function getTypeAliasForTypeLiteral(e){if(e.symbol&&2048&e.symbol.flags&&e.symbol.declarations){const t=walkUpParenthesizedTypes(e.symbol.declarations[0].parent);if(isTypeAliasDeclaration(t))return getSymbolOfDeclaration(t)}return}(e);return t?symbolToTypeNode(t,n,788968):createElidedInformationPlaceholder(n)}return visitAndTransformType(e,createTypeNodeFromObjectType)}return createTypeNodeFromObjectType(e);function shouldWriteTypeOfFunctionSymbol(){var e;const t=!!(8192&s.flags)&&some(s.declarations,e=>isStatic(e)&&!isLateBindableIndexSignature(getNameOfDeclaration(e))),r=!!(16&s.flags)&&(s.parent||forEach(s.declarations,e=>308===e.parent.kind||269===e.parent.kind));if(t||r)return(!!(4096&n.flags)||(null==(e=n.visitedTypes)?void 0:e.has(a)))&&(!(8&n.flags)||isValueSymbolAccessible(s,n.enclosingDeclaration))}}function visitAndTransformType(e,t){var r,i,o;const a=e.id,s=16&getObjectFlags(e)&&e.symbol&&32&e.symbol.flags,c=4&getObjectFlags(e)&&e.node?"N"+getNodeId(e.node):16777216&e.flags?"N"+getNodeId(e.root.node):e.symbol?(s?"+":"")+getSymbolId(e.symbol):void 0;n.visitedTypes||(n.visitedTypes=new Set),c&&!n.symbolDepth&&(n.symbolDepth=new Map);const l=n.maxExpansionDepth>=0?void 0:n.enclosingDeclaration&&getNodeLinks(n.enclosingDeclaration),d=`${getTypeId(e)}|${n.flags}|${n.internalFlags}`;l&&(l.serializedTypes||(l.serializedTypes=new Map));const p=null==(r=null==l?void 0:l.serializedTypes)?void 0:r.get(d);if(p)return null==(i=p.trackedSymbols)||i.forEach(([e,t,r])=>n.tracker.trackSymbol(e,t,r)),p.truncating&&(n.truncating=!0),n.approximateLength+=p.addedLength,deepCloneOrReuseNode(p.node);let u;if(c){if(u=n.symbolDepth.get(c)||0,u>10)return createElidedInformationPlaceholder(n);n.symbolDepth.set(c,u+1)}n.visitedTypes.add(a);const m=n.trackedSymbols;n.trackedSymbols=void 0;const _=n.approximateLength,f=t(e),g=n.approximateLength-_;return n.reportedDiagnostic||n.encounteredError||null==(o=null==l?void 0:l.serializedTypes)||o.set(d,{node:f,truncating:n.truncating,addedLength:g,trackedSymbols:n.trackedSymbols}),n.visitedTypes.delete(a),c&&n.symbolDepth.set(c,u),n.trackedSymbols=m,f;function deepCloneOrReuseNode(e){return nodeIsSynthesized(e)||getParseTreeNode(e)!==e?setTextRange2(n,Wr.cloneNode(visitEachChild(e,deepCloneOrReuseNode,void 0,deepCloneOrReuseNodes,deepCloneOrReuseNode)),e):e}function deepCloneOrReuseNodes(e,t,n,r,i){return e&&0===e.length?setTextRange(Wr.createNodeArray(void 0,e.hasTrailingComma),e):visitNodes2(e,t,n,r,i)}}function createTypeNodeFromObjectType(e){if(isGenericMappedType(e)||e.containsError)return createMappedTypeNodeFromType(e);const t=resolveStructuredTypeMembers(e);if(!t.properties.length&&!t.indexInfos.length){if(!t.callSignatures.length&&!t.constructSignatures.length)return n.approximateLength+=2,setEmitFlags(Wr.createTypeLiteralNode(void 0),1);if(1===t.callSignatures.length&&!t.constructSignatures.length){return signatureToSignatureDeclarationHelper(t.callSignatures[0],185,n)}if(1===t.constructSignatures.length&&!t.callSignatures.length){return signatureToSignatureDeclarationHelper(t.constructSignatures[0],186,n)}}const r=filter(t.constructSignatures,e=>!!(4&e.flags));if(some(r)){const e=map(r,getOrCreateTypeFromSignature);return t.callSignatures.length+(t.constructSignatures.length-r.length)+t.indexInfos.length+(2048&n.flags?countWhere(t.properties,e=>!(4194304&e.flags)):length(t.properties))&&e.push(function getResolvedTypeWithoutAbstractConstructSignatures(e){if(0===e.constructSignatures.length)return e;if(e.objectTypeWithoutAbstractConstructSignatures)return e.objectTypeWithoutAbstractConstructSignatures;const t=filter(e.constructSignatures,e=>!(4&e.flags));if(e.constructSignatures===t)return e;const n=createAnonymousType(e.symbol,e.members,e.callSignatures,some(t)?t:l,e.indexInfos);return e.objectTypeWithoutAbstractConstructSignatures=n,n.objectTypeWithoutAbstractConstructSignatures=n,n}(t)),typeToTypeNodeHelper(getIntersectionType(e),n)}const i=saveRestoreFlags(n);n.flags|=4194304;const o=createTypeNodesFromResolvedType(t);i();const a=Wr.createTypeLiteralNode(o);return n.approximateLength+=2,setEmitFlags(a,1024&n.flags?0:1),a}function typeReferenceToTypeNode(e){let t=getTypeArguments(e);if(e.target===Vt||e.target===qt){if(2&n.flags){const r=typeToTypeNodeHelper(t[0],n);return Wr.createTypeReferenceNode(e.target===Vt?"Array":"ReadonlyArray",[r])}const r=typeToTypeNodeHelper(t[0],n),i=Wr.createArrayTypeNode(r);return e.target===Vt?i:Wr.createTypeOperatorNode(148,i)}if(!(8&e.target.objectFlags)){if(2048&n.flags&&e.symbol.valueDeclaration&&isClassLike(e.symbol.valueDeclaration)&&!isValueSymbolAccessible(e.symbol,n.enclosingDeclaration))return createAnonymousTypeNode(e);{const r=e.target.outerTypeParameters;let i,o,a=0;if(r){const e=r.length;for(;a<e;){const o=a,s=getParentSymbolOfTypeParameter(r[a]);do{a++}while(a<e&&getParentSymbolOfTypeParameter(r[a])===s);if(!rangeEquals(r,t,o,a)){const e=mapToTypeNodes(t.slice(o,a),n),r=saveRestoreFlags(n);n.flags|=16;const c=symbolToTypeNode(s,n,788968,e);r(),i=i?appendReferenceToType(i,c):c}}}if(t.length>0){let r=0;if(e.target.typeParameters&&(r=Math.min(e.target.typeParameters.length,t.length),(isReferenceToType2(e,getGlobalIterableType(!1))||isReferenceToType2(e,getGlobalIterableIteratorType(!1))||isReferenceToType2(e,getGlobalAsyncIterableType(!1))||isReferenceToType2(e,getGlobalAsyncIterableIteratorType(!1)))&&(!e.node||!isTypeReferenceNode(e.node)||!e.node.typeArguments||e.node.typeArguments.length<r)))for(;r>0;){const n=t[r-1],i=getDefaultFromTypeParameter(e.target.typeParameters[r-1]);if(!i||!isTypeIdenticalTo(n,i))break;r--}o=mapToTypeNodes(t.slice(a,r),n)}const s=saveRestoreFlags(n);n.flags|=16;const c=symbolToTypeNode(e.symbol,n,788968,o);return s(),i?appendReferenceToType(i,c):c}}if(t=sameMap(t,(t,n)=>removeMissingType(t,!!(2&e.target.elementFlags[n]))),t.length>0){const r=getTypeReferenceArity(e),i=mapToTypeNodes(t.slice(0,r),n);if(i){const{labeledElementDeclarations:t}=e.target;for(let n=0;n<i.length;n++){const r=e.target.elementFlags[n],o=null==t?void 0:t[n];i[n]=o?Wr.createNamedTupleMember(12&r?Wr.createToken(26):void 0,Wr.createIdentifier(unescapeLeadingUnderscores(getTupleElementLabel(o))),2&r?Wr.createToken(58):void 0,4&r?Wr.createArrayTypeNode(i[n]):i[n]):12&r?Wr.createRestTypeNode(4&r?Wr.createArrayTypeNode(i[n]):i[n]):2&r?Wr.createOptionalTypeNode(i[n]):i[n]}const n=setEmitFlags(Wr.createTupleTypeNode(i),1);return e.target.readonly?Wr.createTypeOperatorNode(148,n):n}}if(n.encounteredError||524288&n.flags){const t=setEmitFlags(Wr.createTupleTypeNode([]),1);return e.target.readonly?Wr.createTypeOperatorNode(148,t):t}n.encounteredError=!0}function appendReferenceToType(e,t){if(isImportTypeNode(e)){let n=e.typeArguments,r=e.qualifier;r&&(isIdentifier(r)?n!==getIdentifierTypeArguments(r)&&(r=setIdentifierTypeArguments(Wr.cloneNode(r),n)):n!==getIdentifierTypeArguments(r.right)&&(r=Wr.updateQualifiedName(r,r.left,setIdentifierTypeArguments(Wr.cloneNode(r.right),n)))),n=t.typeArguments;const i=getAccessStack(t);for(const e of i)r=r?Wr.createQualifiedName(r,e):e;return Wr.updateImportTypeNode(e,e.argument,e.attributes,r,n,e.isTypeOf)}{let n=e.typeArguments,r=e.typeName;isIdentifier(r)?n!==getIdentifierTypeArguments(r)&&(r=setIdentifierTypeArguments(Wr.cloneNode(r),n)):n!==getIdentifierTypeArguments(r.right)&&(r=Wr.updateQualifiedName(r,r.left,setIdentifierTypeArguments(Wr.cloneNode(r.right),n))),n=t.typeArguments;const i=getAccessStack(t);for(const e of i)r=Wr.createQualifiedName(r,e);return Wr.updateTypeReferenceNode(e,r,n)}}function getAccessStack(e){let t=e.typeName;const n=[];for(;!isIdentifier(t);)n.unshift(t.right),t=t.left;return n.unshift(t),n}function indexInfoToObjectComputedNamesOrSignatureDeclaration(e,t,n){if(e.components){if(every(e.components,e=>{var n;return!!(e.name&&isComputedPropertyName(e.name)&&isEntityNameExpression(e.name.expression)&&t.enclosingDeclaration&&0===(null==(n=isEntityNameVisible(e.name.expression,t.enclosingDeclaration,!1))?void 0:n.accessibility))})){return map(filter(e.components,e=>!hasLateBindableName(e)),r=>(trackComputedName(r.name.expression,t.enclosingDeclaration,t),setTextRange2(t,Wr.createPropertySignature(e.isReadonly?[Wr.createModifier(148)]:void 0,r.name,(isPropertySignature(r)||isPropertyDeclaration(r)||isMethodSignature(r)||isMethodDeclaration(r)||isGetAccessor(r)||isSetAccessor(r))&&r.questionToken?Wr.createToken(58):void 0,n||typeToTypeNodeHelper(getTypeOfSymbol(r.symbol),t)),r)))}}return[indexInfoToIndexSignatureDeclarationHelper(e,t,n)]}function createTypeNodesFromResolvedType(e){if(checkTruncationLength(n))return n.out.truncated=!0,1&n.flags?[addSyntheticTrailingComment(Wr.createNotEmittedTypeElement(),3,"elided")]:[Wr.createPropertySignature(void 0,"...",void 0,void 0)];n.typeStack.push(-1);const t=[];for(const r of e.callSignatures)t.push(signatureToSignatureDeclarationHelper(r,180,n));for(const r of e.constructSignatures)4&r.flags||t.push(signatureToSignatureDeclarationHelper(r,181,n));for(const r of e.indexInfos)t.push(...indexInfoToObjectComputedNamesOrSignatureDeclaration(r,n,1024&e.objectFlags?createElidedInformationPlaceholder(n):void 0));const r=e.properties;if(!r)return n.typeStack.pop(),t;let i=0;for(const e of r)if(!(isExpanding(n)&&4194304&e.flags)){if(i++,2048&n.flags){if(4194304&e.flags)continue;6&getDeclarationModifierFlagsFromSymbol(e)&&n.tracker.reportPrivateInBaseOfClassExpression&&n.tracker.reportPrivateInBaseOfClassExpression(unescapeLeadingUnderscores(e.escapedName))}if(checkTruncationLength(n)&&i+2<r.length-1){if(n.out.truncated=!0,1&n.flags){const e=t.pop();t.push(addSyntheticTrailingComment(e,3,`... ${r.length-i} more elided ...`))}else t.push(Wr.createPropertySignature(void 0,`... ${r.length-i} more ...`,void 0,void 0));addPropertyToElementList(r[r.length-1],n,t);break}addPropertyToElementList(e,n,t)}return n.typeStack.pop(),t.length?t:void 0}}(e,n);return e&&n.typeStack.pop(),r(),o}function createElidedInformationPlaceholder(e){return e.approximateLength+=3,1&e.flags?addSyntheticLeadingComment(Wr.createKeywordTypeNode(133),3,"elided"):Wr.createTypeReferenceNode(Wr.createIdentifier("..."),void 0)}function shouldUsePlaceholderForProperty(e,t){var n;return!!(8192&getCheckFlags(e))&&(contains(t.reverseMappedStack,e)||(null==(n=t.reverseMappedStack)?void 0:n[0])&&!(16&getObjectFlags(last(t.reverseMappedStack).links.propertyType))||function isDeeplyNestedReverseMappedTypeProperty(){var n;if(((null==(n=t.reverseMappedStack)?void 0:n.length)??0)<3)return!1;for(let n=0;n<3;n++){if(t.reverseMappedStack[t.reverseMappedStack.length-1-n].links.mappedType.symbol!==e.links.mappedType.symbol)return!1}return!0}())}function addPropertyToElementList(e,t,n){var r;const i=!!(8192&getCheckFlags(e)),o=shouldUsePlaceholderForProperty(e,t)?ke:getNonMissingTypeOfSymbol(e),a=t.enclosingDeclaration;if(t.enclosingDeclaration=void 0,t.tracker.canTrackSymbol&&isLateBoundName(e.escapedName))if(e.declarations){const n=first(e.declarations);if(hasLateBindableName(n))if(isBinaryExpression(n)){const e=getNameOfDeclaration(n);e&&isElementAccessExpression(e)&&isPropertyAccessEntityNameExpression(e.argumentExpression)&&trackComputedName(e.argumentExpression,a,t)}else trackComputedName(n.name.expression,a,t)}else t.tracker.reportNonSerializableProperty(symbolToString(e));t.enclosingDeclaration=e.valueDeclaration||(null==(r=e.declarations)?void 0:r[0])||a;const s=getPropertyNameNodeForSymbol(e,t);if(t.enclosingDeclaration=a,t.approximateLength+=symbolName(e).length+1,98304&e.flags){const r=getWriteTypeOfSymbol(e);if(!isErrorType(o)&&!isErrorType(r)){const i=getSymbolLinks(e).mapper,a=getDeclarationOfKind(e,173);if(o!==r||32&e.parent.flags&&!a){const r=getDeclarationOfKind(e,178);if(r){const e=getSignatureFromDeclaration(r);n.push(setCommentRange2(t,signatureToSignatureDeclarationHelper(i?instantiateSignature(e,i):e,178,t,{name:s}),r))}const o=getDeclarationOfKind(e,179);if(o){const e=getSignatureFromDeclaration(o);n.push(setCommentRange2(t,signatureToSignatureDeclarationHelper(i?instantiateSignature(e,i):e,179,t,{name:s}),o))}return}if(32&e.parent.flags&&a&&find(a.modifiers,isAccessorModifier)){const e=createSignature(void 0,void 0,void 0,l,o,void 0,0,0);n.push(setCommentRange2(t,signatureToSignatureDeclarationHelper(e,178,t,{name:s}),a));const i=createSymbol(1,"arg");i.links.type=r;const c=createSignature(void 0,void 0,void 0,[i],et,void 0,0,0);return void n.push(signatureToSignatureDeclarationHelper(c,179,t,{name:s}))}}}const c=16777216&e.flags?Wr.createToken(58):void 0;if(8208&e.flags&&!getPropertiesOfObjectType(o).length&&!isReadonlySymbol(e)){const r=getSignaturesOfType(filterType(o,e=>!(32768&e.flags)),0);for(const i of r){const r=signatureToSignatureDeclarationHelper(i,174,t,{name:s,questionToken:c});n.push(preserveCommentsOn(r,i.declaration||e.valueDeclaration))}if(r.length||!c)return}let d;shouldUsePlaceholderForProperty(e,t)?d=createElidedInformationPlaceholder(t):(i&&(t.reverseMappedStack||(t.reverseMappedStack=[]),t.reverseMappedStack.push(e)),d=o?serializeTypeForDeclaration(t,void 0,o,e):Wr.createKeywordTypeNode(133),i&&t.reverseMappedStack.pop());const p=isReadonlySymbol(e)?[Wr.createToken(148)]:void 0;p&&(t.approximateLength+=9);const u=Wr.createPropertySignature(p,s,c,d);function preserveCommentsOn(n,r){var i;const o=null==(i=e.declarations)?void 0:i.find(e=>349===e.kind);if(o){const e=getTextOfJSDocComment(o.comment);e&&setSyntheticLeadingComments(n,[{kind:3,text:"*\n * "+e.replace(/\n/g,"\n * ")+"\n ",pos:-1,end:-1,hasTrailingNewLine:!0}])}else r&&setCommentRange2(t,n,r);return n}n.push(preserveCommentsOn(u,e.valueDeclaration))}function setCommentRange2(e,t,n){return e.enclosingFile&&e.enclosingFile===getSourceFileOfNode(n)?setCommentRange(t,n):t}function mapToTypeNodes(e,t,n){if(some(e)){if(checkTruncationLength(t)){if(t.out.truncated=!0,!n)return[1&t.flags?addSyntheticLeadingComment(Wr.createKeywordTypeNode(133),3,"elided"):Wr.createTypeReferenceNode("...",void 0)];if(e.length>2)return[typeToTypeNodeHelper(e[0],t),1&t.flags?addSyntheticLeadingComment(Wr.createKeywordTypeNode(133),3,`... ${e.length-2} more elided ...`):Wr.createTypeReferenceNode(`... ${e.length-2} more ...`,void 0),typeToTypeNodeHelper(e[e.length-1],t)]}const r=!(64&t.flags)?createMultiMap():void 0,i=[];let o=0;for(const n of e){if(o++,checkTruncationLength(t)&&o+2<e.length-1){t.out.truncated=!0,i.push(1&t.flags?addSyntheticLeadingComment(Wr.createKeywordTypeNode(133),3,`... ${e.length-o} more elided ...`):Wr.createTypeReferenceNode(`... ${e.length-o} more ...`,void 0));const n=typeToTypeNodeHelper(e[e.length-1],t);n&&i.push(n);break}t.approximateLength+=2;const a=typeToTypeNodeHelper(n,t);a&&(i.push(a),r&&isIdentifierTypeReference(a)&&r.add(a.typeName.escapedText,[n,i.length-1]))}if(r){const e=saveRestoreFlags(t);t.flags|=64,r.forEach(e=>{if(!arrayIsHomogeneous(e,([e],[t])=>function typesAreSameReference(e,t){return e===t||!!e.symbol&&e.symbol===t.symbol||!!e.aliasSymbol&&e.aliasSymbol===t.aliasSymbol}(e,t)))for(const[n,r]of e)i[r]=typeToTypeNodeHelper(n,t)}),e()}return i}}function indexInfoToIndexSignatureDeclarationHelper(e,t,n){const r=getNameFromIndexInfo(e)||"x",i=typeToTypeNodeHelper(e.keyType,t),o=Wr.createParameterDeclaration(void 0,void 0,r,void 0,i,void 0);return n||(n=typeToTypeNodeHelper(e.type||ke,t)),e.type||2097152&t.flags||(t.encounteredError=!0),t.approximateLength+=r.length+4,Wr.createIndexSignature(e.isReadonly?[Wr.createToken(148)]:void 0,[o],n)}function signatureToSignatureDeclarationHelper(e,t,n,r){var i;let o,a;const s=getExpandedParameters(e,!0)[0],c=enterNewScope(n,e.declaration,s,e.typeParameters,e.parameters,e.mapper);n.approximateLength+=3,32&n.flags&&e.target&&e.mapper&&e.target.typeParameters?a=e.target.typeParameters.map(t=>typeToTypeNodeHelper(instantiateType(t,e.mapper),n)):o=e.typeParameters&&e.typeParameters.map(e=>typeParameterToDeclaration(e,n));const l=saveRestoreFlags(n);n.flags&=-257;const d=(some(s,e=>e!==s[s.length-1]&&!!(32768&getCheckFlags(e)))?e.parameters:s).map(e=>symbolToParameterDeclaration(e,n,177===t)),p=33554432&n.flags?void 0:function tryGetThisParameterDeclaration(e,t){if(e.thisParameter)return symbolToParameterDeclaration(e.thisParameter,t);if(e.declaration&&isInJSFile(e.declaration)){const n=getJSDocThisTag(e.declaration);if(n&&n.typeExpression)return Wr.createParameterDeclaration(void 0,void 0,"this",void 0,typeToTypeNodeHelper(getTypeFromTypeNode2(t,n.typeExpression),t))}}(e,n);p&&d.unshift(p),l();const u=function serializeReturnTypeForSignature(e,t){const n=256&e.flags,r=saveRestoreFlags(e);n&&(e.flags&=-257);let i;const o=getReturnTypeOfSignature(t);if(!n||!isTypeAny(o)){if(t.declaration&&!nodeIsSynthesized(t.declaration)&&!canPossiblyExpandType(o,e)){const n=getSymbolOfDeclaration(t.declaration),r=addSymbolTypeToContext(e,n,o);i=W.serializeReturnTypeForSignature(t.declaration,n,e),r()}i||(i=serializeInferredReturnTypeForSignature(e,t,o))}i||n||(i=Wr.createKeywordTypeNode(133));return r(),i}(n,e);let m=null==r?void 0:r.modifiers;if(186===t&&4&e.flags){const e=modifiersToFlags(m);m=Wr.createModifiersFromModifierFlags(64|e)}const _=180===t?Wr.createCallSignature(o,d,u):181===t?Wr.createConstructSignature(o,d,u):174===t?Wr.createMethodSignature(m,(null==r?void 0:r.name)??Wr.createIdentifier(""),null==r?void 0:r.questionToken,o,d,u):175===t?Wr.createMethodDeclaration(m,void 0,(null==r?void 0:r.name)??Wr.createIdentifier(""),void 0,o,d,u,void 0):177===t?Wr.createConstructorDeclaration(m,d,void 0):178===t?Wr.createGetAccessorDeclaration(m,(null==r?void 0:r.name)??Wr.createIdentifier(""),d,u,void 0):179===t?Wr.createSetAccessorDeclaration(m,(null==r?void 0:r.name)??Wr.createIdentifier(""),d,void 0):182===t?Wr.createIndexSignature(m,d,u):318===t?Wr.createJSDocFunctionType(d,u):185===t?Wr.createFunctionTypeNode(o,d,u??Wr.createTypeReferenceNode(Wr.createIdentifier(""))):186===t?Wr.createConstructorTypeNode(m,o,d,u??Wr.createTypeReferenceNode(Wr.createIdentifier(""))):263===t?Wr.createFunctionDeclaration(m,void 0,(null==r?void 0:r.name)?cast(r.name,isIdentifier):Wr.createIdentifier(""),o,d,u,void 0):219===t?Wr.createFunctionExpression(m,void 0,(null==r?void 0:r.name)?cast(r.name,isIdentifier):Wr.createIdentifier(""),o,d,u,Wr.createBlock([])):220===t?Wr.createArrowFunction(m,o,d,u,void 0,Wr.createBlock([])):h.assertNever(t);if(a&&(_.typeArguments=Wr.createNodeArray(a)),324===(null==(i=e.declaration)?void 0:i.kind)&&340===e.declaration.parent.kind){addSyntheticLeadingComment(_,3,getTextOfNode(e.declaration.parent.parent,!0).slice(2,-2).split(/\r\n|\n|\r/).map(e=>e.replace(/^\s+/," ")).join("\n"),!0)}return null==c||c(),_}function enterNewScope(e,t,n,r,i,o){const a=cloneNodeBuilderContext(e);let s,c;const d=e.enclosingDeclaration,p=e.mapper;if(o&&(e.mapper=o),e.enclosingDeclaration&&t){let pushFakeScope2=function(t,n){let r;h.assert(e.enclosingDeclaration),getNodeLinks(e.enclosingDeclaration).fakeScopeForSignatureDeclaration===t?r=e.enclosingDeclaration:e.enclosingDeclaration.parent&&getNodeLinks(e.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration===t&&(r=e.enclosingDeclaration.parent),h.assertOptionalNode(r,isBlock);const i=(null==r?void 0:r.locals)??createSymbolTable();let o,a;if(n((e,t)=>{if(r){const t=i.get(e);t?a=append(a,{name:e,oldSymbol:t}):o=append(o,e)}i.set(e,t)}),r)return function undo(){forEach(o,e=>i.delete(e)),forEach(a,e=>i.set(e.name,e.oldSymbol))};{const n=Wr.createBlock(l);getNodeLinks(n).fakeScopeForSignatureDeclaration=t,n.locals=i,setParent(n,e.enclosingDeclaration),e.enclosingDeclaration=n}};s=some(n)?pushFakeScope2("params",e=>{if(n)for(let t=0;t<n.length;t++){const r=n[t],o=null==i?void 0:i[t];i&&o!==r?(e(r.escapedName,ve),o&&e(o.escapedName,ve)):forEach(r.declarations,t=>{return isParameter(t)&&isBindingPattern(t.name)?(bindPattern(t.name),!0):void 0;function bindPattern(t){forEach(t.elements,t=>{switch(t.kind){case 233:return;case 209:return function bindElement(t){if(isBindingPattern(t.name))return bindPattern(t.name);const n=getSymbolOfDeclaration(t);e(n.escapedName,n)}(t);default:return h.assertNever(t)}})}})||e(r.escapedName,r)}}):void 0,4&e.flags&&some(r)&&(c=pushFakeScope2("typeParams",t=>{for(const n of r??l){t(typeParameterToName(n,e).escapedText,n.symbol)}}))}return()=>{null==s||s(),null==c||c(),a(),e.enclosingDeclaration=d,e.mapper=p}}function typeParameterToDeclarationWithConstraint(e,t,n){const r=saveRestoreFlags(t);t.flags&=-513;const i=Wr.createModifiersFromModifierFlags(getTypeParameterModifiers(e)),o=typeParameterToName(e,t),a=getDefaultFromTypeParameter(e),s=a&&typeToTypeNodeHelper(a,t);return r(),Wr.createTypeParameterDeclaration(i,o,n,s)}function typeParameterToDeclaration(e,t,n=getConstraintOfTypeParameter(e)){const r=n&&function typeToTypeNodeHelperWithPossibleReusableTypeNode(e,t,n){return!canPossiblyExpandType(e,n)&&t&&getTypeFromTypeNode2(n,t)===e&&W.tryReuseExistingTypeNode(n,t)||typeToTypeNodeHelper(e,n)}(n,getConstraintDeclaration(e),t);return typeParameterToDeclarationWithConstraint(e,t,r)}function typePredicateToTypePredicateNodeHelper(e,t){const n=2===e.kind||3===e.kind?Wr.createToken(131):void 0,r=1===e.kind||3===e.kind?setEmitFlags(Wr.createIdentifier(e.parameterName),16777216):Wr.createThisTypeNode(),i=e.type&&typeToTypeNodeHelper(e.type,t);return Wr.createTypePredicateNode(n,r,i)}function getEffectiveParameterDeclaration(e){const t=getDeclarationOfKind(e,170);return t||(isTransientSymbol(e)?void 0:getDeclarationOfKind(e,342))}function symbolToParameterDeclaration(e,t,n){const r=getEffectiveParameterDeclaration(e),i=serializeTypeForDeclaration(t,r,getTypeOfSymbol(e),e),o=!(8192&t.flags)&&n&&r&&canHaveModifiers(r)?map(getModifiers(r),Wr.cloneNode):void 0,a=r&&isRestParameter(r)||32768&getCheckFlags(e)?Wr.createToken(26):void 0,s=parameterToParameterDeclarationName(e,r,t),c=r&&isOptionalParameter(r)||16384&getCheckFlags(e)?Wr.createToken(58):void 0,l=Wr.createParameterDeclaration(o,a,s,c,i,void 0);return t.approximateLength+=symbolName(e).length+3,l}function parameterToParameterDeclarationName(e,t,n){return t&&t.name?80===t.name.kind?setEmitFlags(Wr.cloneNode(t.name),16777216):167===t.name.kind?setEmitFlags(Wr.cloneNode(t.name.right),16777216):function cloneBindingName(e){return function elideInitializerAndSetEmitFlags(e){n.tracker.canTrackSymbol&&isComputedPropertyName(e)&&isLateBindableName(e)&&trackComputedName(e.expression,n.enclosingDeclaration,n);let t=visitEachChild(e,elideInitializerAndSetEmitFlags,void 0,void 0,elideInitializerAndSetEmitFlags);isBindingElement(t)&&(t=Wr.updateBindingElement(t,t.dotDotDotToken,t.propertyName,t.name,void 0));nodeIsSynthesized(t)||(t=Wr.cloneNode(t));return setEmitFlags(t,16777217)}(e)}(t.name):symbolName(e)}function trackComputedName(e,t,n){if(!n.tracker.canTrackSymbol)return;const r=getFirstIdentifier(e),i=te(t,r.escapedText,1160127,void 0,!0);if(i)n.tracker.trackSymbol(i,t,111551);else{const e=te(r,r.escapedText,1160127,void 0,!0);e&&n.tracker.trackSymbol(e,t,111551)}}function lookupSymbolChain(e,t,n,r){return t.tracker.trackSymbol(e,t.enclosingDeclaration,n),lookupSymbolChainWorker(e,t,n,r)}function lookupSymbolChainWorker(e,t,n,r){let i;return 262144&e.flags||!(t.enclosingDeclaration||64&t.flags)||4&t.internalFlags?i=[e]:(i=h.checkDefined(function getSymbolChain(e,n,i){let o,a=getAccessibleSymbolChain(e,t.enclosingDeclaration,n,!!(128&t.flags));if(!a||needsQualification(a[0],t.enclosingDeclaration,1===a.length?n:getQualifiedLeftMeaning(n))){const r=getContainersOfSymbol(a?a[0]:e,t.enclosingDeclaration,n);if(length(r)){o=r.map(e=>some(e.declarations,hasNonGlobalAugmentationExternalModuleSymbol)?getSpecifierForModuleSymbol(e,t):void 0);const i=r.map((e,t)=>t);i.sort(sortByBestName);const s=i.map(e=>r[e]);for(const t of s){const r=getSymbolChain(t,getQualifiedLeftMeaning(n),!1);if(r){if(t.exports&&t.exports.get("export=")&&getSymbolIfSameReference(t.exports.get("export="),e)){a=r;break}a=r.concat(a||[getAliasForSymbolInContainer(t,e)||e]);break}}}}if(a)return a;if(i||!(6144&e.flags)){if(!i&&!r&&forEach(e.declarations,hasNonGlobalAugmentationExternalModuleSymbol))return;return[e]}function sortByBestName(e,t){const n=o[e],r=o[t];if(n&&r){const e=pathIsRelative(r);return pathIsRelative(n)===e?countPathComponents(n)-countPathComponents(r):e?-1:1}return 0}}(e,n,!0)),h.assert(i&&i.length>0)),i}function typeParametersToTypeParameterDeclarations(e,t){let n;return 524384&getTargetSymbol(e).flags&&(n=Wr.createNodeArray(map(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e),e=>typeParameterToDeclaration(e,t)))),n}function lookupTypeParameterNodes(e,t,n){var r;h.assert(e&&0<=t&&t<e.length);const i=e[t],o=getSymbolId(i);if(null==(r=n.typeParameterSymbolList)?void 0:r.has(o))return;let a;if(n.mustCreateTypeParameterSymbolList&&(n.mustCreateTypeParameterSymbolList=!1,n.typeParameterSymbolList=new Set(n.typeParameterSymbolList)),n.typeParameterSymbolList.add(o),512&n.flags&&t<e.length-1){const r=i,o=e[t+1];if(1&getCheckFlags(o)){const e=function getTypeParametersOfClassOrInterface(e){return concatenate(getOuterTypeParametersOfClassOrInterface(e),getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e))}(2097152&r.flags?resolveAlias(r):r);a=mapToTypeNodes(map(e,e=>getMappedType(e,o.links.mapper)),n)}else a=typeParametersToTypeParameterDeclarations(i,n)}return a}function getTopmostIndexedAccessType(e){return isIndexedAccessTypeNode(e.objectType)?getTopmostIndexedAccessType(e.objectType):e}function getSpecifierForModuleSymbol(t,n,r){let i=getDeclarationOfKind(t,308);if(!i){const e=firstDefined(t.declarations,e=>getFileSymbolIfFileSymbolExportEqualsContainer(e,t));e&&(i=getDeclarationOfKind(e,308))}if(i&&void 0!==i.moduleName)return i.moduleName;if(!i&&Go.test(t.escapedName))return t.escapedName.substring(1,t.escapedName.length-1);if(!n.enclosingFile||!n.tracker.moduleResolverHost)return Go.test(t.escapedName)?t.escapedName.substring(1,t.escapedName.length-1):getSourceFileOfNode(getNonAugmentationDeclaration(t)).fileName;const o=getOriginalNode(n.enclosingDeclaration),a=canHaveModuleSpecifier(o)?tryGetModuleSpecifierFromDeclaration(o):void 0,s=n.enclosingFile,c=r||a&&e.getModeForUsageLocation(s,a)||s&&e.getDefaultResolutionModeForFile(s),l=createModeAwareCacheKey(s.path,c),d=getSymbolLinks(t);let p=d.specifierCache&&d.specifierCache.get(l);if(!p){const e=!!S.outFile,{moduleResolverHost:i}=n.tracker,o=e?{...S,baseUrl:i.getCommonSourceDirectory()}:S;p=first(getModuleSpecifiers(t,re,o,s,i,{importModuleSpecifierPreference:e?"non-relative":"project-relative",importModuleSpecifierEnding:e?"minimal":99===c?"js":void 0},{overrideImportMode:r})),d.specifierCache??(d.specifierCache=new Map),d.specifierCache.set(l,p)}return p}function symbolToEntityNameNode(e){const t=Wr.createIdentifier(unescapeLeadingUnderscores(e.escapedName));return e.parent?Wr.createQualifiedName(symbolToEntityNameNode(e.parent),t):t}function symbolToTypeNode(e,t,n,r){const i=lookupSymbolChain(e,t,n,!(16384&t.flags)),o=111551===n;if(some(i[0].declarations,hasNonGlobalAugmentationExternalModuleSymbol)){const e=i.length>1?createAccessFromSymbolChain(i,i.length-1,1):void 0,n=r||lookupTypeParameterNodes(i,0,t),a=getSourceFileOfNode(getOriginalNode(t.enclosingDeclaration)),s=getSourceFileOfModule(i[0]);let c,l;if(3!==qn(S)&&99!==qn(S)||99===(null==s?void 0:s.impliedNodeFormat)&&s.impliedNodeFormat!==(null==a?void 0:a.impliedNodeFormat)&&(c=getSpecifierForModuleSymbol(i[0],t,99),l=Wr.createImportAttributes(Wr.createNodeArray([Wr.createImportAttribute(Wr.createStringLiteral("resolution-mode"),Wr.createStringLiteral("import"))]))),c||(c=getSpecifierForModuleSymbol(i[0],t)),!(67108864&t.flags)&&1!==qn(S)&&c.includes("/node_modules/")){const e=c;if(3===qn(S)||99===qn(S)){const n=99===(null==a?void 0:a.impliedNodeFormat)?1:99;c=getSpecifierForModuleSymbol(i[0],t,n),c.includes("/node_modules/")?c=e:l=Wr.createImportAttributes(Wr.createNodeArray([Wr.createImportAttribute(Wr.createStringLiteral("resolution-mode"),Wr.createStringLiteral(99===n?"import":"require"))]))}l||(t.encounteredError=!0,t.tracker.reportLikelyUnsafeImportRequiredError&&t.tracker.reportLikelyUnsafeImportRequiredError(e))}const d=Wr.createLiteralTypeNode(Wr.createStringLiteral(c));if(t.approximateLength+=c.length+10,!e||isEntityName(e)){if(e){setIdentifierTypeArguments(isIdentifier(e)?e:e.right,void 0)}return Wr.createImportTypeNode(d,l,e,n,o)}{const t=getTopmostIndexedAccessType(e),r=t.objectType.typeName;return Wr.createIndexedAccessTypeNode(Wr.createImportTypeNode(d,l,r,n,o),t.indexType)}}const a=createAccessFromSymbolChain(i,i.length-1,0);if(isIndexedAccessTypeNode(a))return a;if(o)return Wr.createTypeQueryNode(a);{const e=isIdentifier(a)?a:a.right,t=getIdentifierTypeArguments(e);return setIdentifierTypeArguments(e,void 0),Wr.createTypeReferenceNode(a,t)}function createAccessFromSymbolChain(e,n,i){const o=n===e.length-1?r:lookupTypeParameterNodes(e,n,t),a=e[n],s=e[n-1];let c;if(0===n)t.flags|=16777216,c=getNameOfSymbolAsWritten(a,t),t.approximateLength+=(c?c.length:0)+1,t.flags^=16777216;else if(s&&getExportsOfSymbol(s)){forEachEntry(getExportsOfSymbol(s),(e,t)=>{if(getSymbolIfSameReference(e,a)&&!isLateBoundName(t)&&"export="!==t)return c=unescapeLeadingUnderscores(t),!0})}if(void 0===c){const r=firstDefined(a.declarations,getNameOfDeclaration);if(r&&isComputedPropertyName(r)&&isEntityName(r.expression)){const t=createAccessFromSymbolChain(e,n-1,i);return isEntityName(t)?Wr.createIndexedAccessTypeNode(Wr.createParenthesizedType(Wr.createTypeQueryNode(t)),Wr.createTypeQueryNode(r.expression)):t}c=getNameOfSymbolAsWritten(a,t)}if(t.approximateLength+=c.length+1,!(16&t.flags)&&s&&getMembersOfSymbol(s)&&getMembersOfSymbol(s).get(a.escapedName)&&getSymbolIfSameReference(getMembersOfSymbol(s).get(a.escapedName),a)){const t=createAccessFromSymbolChain(e,n-1,i);return isIndexedAccessTypeNode(t)?Wr.createIndexedAccessTypeNode(t,Wr.createLiteralTypeNode(Wr.createStringLiteral(c))):Wr.createIndexedAccessTypeNode(Wr.createTypeReferenceNode(t,o),Wr.createLiteralTypeNode(Wr.createStringLiteral(c)))}const l=setEmitFlags(Wr.createIdentifier(c),16777216);if(o&&setIdentifierTypeArguments(l,Wr.createNodeArray(o)),l.symbol=a,n>i){const t=createAccessFromSymbolChain(e,n-1,i);return isEntityName(t)?Wr.createQualifiedName(t,l):h.fail("Impossible construct - an export of an indexed access cannot be reachable")}return l}}function typeParameterShadowsOtherTypeParameterInScope(e,t,n){const r=te(t.enclosingDeclaration,e,788968,void 0,!1);return!!(r&&262144&r.flags)&&r!==n.symbol}function typeParameterToName(e,t){var n,r,i,o;if(4&t.flags&&t.typeParameterNames){const n=t.typeParameterNames.get(getTypeId(e));if(n)return n}let a=symbolToName(e.symbol,t,788968,!0);if(!(80&a.kind))return Wr.createIdentifier("(Missing type parameter)");const s=null==(r=null==(n=e.symbol)?void 0:n.declarations)?void 0:r[0];if(s&&isTypeParameterDeclaration(s)&&(a=setTextRange2(t,a,s.name)),4&t.flags){const n=a.escapedText;let r=(null==(i=t.typeParameterNamesByTextNextNameCount)?void 0:i.get(n))||0,s=n;for(;(null==(o=t.typeParameterNamesByText)?void 0:o.has(s))||typeParameterShadowsOtherTypeParameterInScope(s,t,e);)r++,s=`${n}_${r}`;if(s!==n){const e=getIdentifierTypeArguments(a);a=Wr.createIdentifier(s),setIdentifierTypeArguments(a,e)}t.mustCreateTypeParametersNamesLookups&&(t.mustCreateTypeParametersNamesLookups=!1,t.typeParameterNames=new Map(t.typeParameterNames),t.typeParameterNamesByTextNextNameCount=new Map(t.typeParameterNamesByTextNextNameCount),t.typeParameterNamesByText=new Set(t.typeParameterNamesByText)),t.typeParameterNamesByTextNextNameCount.set(n,r),t.typeParameterNames.set(getTypeId(e),a),t.typeParameterNamesByText.add(s)}return a}function symbolToName(e,t,n,r){const i=lookupSymbolChain(e,t,n);return!r||1===i.length||t.encounteredError||65536&t.flags||(t.encounteredError=!0),function createEntityNameFromSymbolChain(e,n){const r=lookupTypeParameterNodes(e,n,t),i=e[n];0===n&&(t.flags|=16777216);const o=getNameOfSymbolAsWritten(i,t);0===n&&(t.flags^=16777216);const a=setEmitFlags(Wr.createIdentifier(o),16777216);r&&setIdentifierTypeArguments(a,Wr.createNodeArray(r));return a.symbol=i,n>0?Wr.createQualifiedName(createEntityNameFromSymbolChain(e,n-1),a):a}(i,i.length-1)}function symbolToExpression(e,t,n){const r=lookupSymbolChain(e,t,n);return function createExpressionFromSymbolChain(e,n){const r=lookupTypeParameterNodes(e,n,t),i=e[n];0===n&&(t.flags|=16777216);let o=getNameOfSymbolAsWritten(i,t);0===n&&(t.flags^=16777216);let a=o.charCodeAt(0);if(isSingleOrDoubleQuote(a)&&some(i.declarations,hasNonGlobalAugmentationExternalModuleSymbol)){const e=getSpecifierForModuleSymbol(i,t);return t.approximateLength+=2+e.length,Wr.createStringLiteral(e)}if(0===n||canUsePropertyAccess(o,x)){const a=setEmitFlags(Wr.createIdentifier(o),16777216);return r&&setIdentifierTypeArguments(a,Wr.createNodeArray(r)),a.symbol=i,t.approximateLength+=1+o.length,n>0?Wr.createPropertyAccessExpression(createExpressionFromSymbolChain(e,n-1),a):a}{let s;if(91===a&&(o=o.substring(1,o.length-1),a=o.charCodeAt(0)),!isSingleOrDoubleQuote(a)||8&i.flags)""+ +o===o&&(t.approximateLength+=o.length,s=Wr.createNumericLiteral(+o));else{const e=stripQuotes(o).replace(/\\./g,e=>e.substring(1));t.approximateLength+=e.length+2,s=Wr.createStringLiteral(e,39===a)}if(!s){const e=setEmitFlags(Wr.createIdentifier(o),16777216);r&&setIdentifierTypeArguments(e,Wr.createNodeArray(r)),e.symbol=i,t.approximateLength+=o.length,s=e}return t.approximateLength+=2,Wr.createElementAccessExpression(createExpressionFromSymbolChain(e,n-1),s)}}(r,r.length-1)}function isStringNamed(e){const t=getNameOfDeclaration(e);if(!t)return!1;if(isComputedPropertyName(t)){return!!(402653316&checkExpression(t.expression).flags)}if(isElementAccessExpression(t)){return!!(402653316&checkExpression(t.argumentExpression).flags)}return isStringLiteral(t)}function isSingleQuotedStringNamed(e){const t=getNameOfDeclaration(e);return!!(t&&isStringLiteral(t)&&(t.singleQuote||!nodeIsSynthesized(t)&&startsWith(getTextOfNode(t,!1),"'")))}function getPropertyNameNodeForSymbol(e,t){const n=function getClonedHashPrivateName(e){if(e.valueDeclaration&&isNamedDeclaration(e.valueDeclaration)&&isPrivateIdentifier(e.valueDeclaration.name))return Wr.cloneNode(e.valueDeclaration.name);return}(e);if(n)return n;const r=!!length(e.declarations)&&every(e.declarations,isStringNamed),i=!!length(e.declarations)&&every(e.declarations,isSingleQuotedStringNamed),o=!!(8192&e.flags),a=function getPropertyNameNodeForSymbolFromNameType(e,t,n,r,i){const o=getSymbolLinks(e).nameType;if(o){if(384&o.flags){const e=""+o.value;return isIdentifierText(e,zn(S))||!r&&isNumericLiteralName(e)?isNumericLiteralName(e)&&startsWith(e,"-")?Wr.createComputedPropertyName(Wr.createPrefixUnaryExpression(41,Wr.createNumericLiteral(-e))):createPropertyNameNodeForIdentifierOrLiteral(e,zn(S),n,r,i):Wr.createStringLiteral(e,!!n)}if(8192&o.flags)return Wr.createComputedPropertyName(symbolToExpression(o.symbol,t,111551))}}(e,t,i,r,o);if(a)return a;return createPropertyNameNodeForIdentifierOrLiteral(unescapeLeadingUnderscores(e.escapedName),zn(S),i,r,o)}function cloneNodeBuilderContext(e){const t=e.mustCreateTypeParameterSymbolList,n=e.mustCreateTypeParametersNamesLookups;e.mustCreateTypeParameterSymbolList=!0,e.mustCreateTypeParametersNamesLookups=!0;const r=e.typeParameterNames,i=e.typeParameterNamesByText,o=e.typeParameterNamesByTextNextNameCount,a=e.typeParameterSymbolList;return()=>{e.typeParameterNames=r,e.typeParameterNamesByText=i,e.typeParameterNamesByTextNextNameCount=o,e.typeParameterSymbolList=a,e.mustCreateTypeParameterSymbolList=t,e.mustCreateTypeParametersNamesLookups=n}}function getDeclarationWithTypeAnnotation(e,t){return e.declarations&&find(e.declarations,e=>!(!getNonlocalEffectiveTypeAnnotationNode(e)||t&&!findAncestor(e,e=>e===t)))}function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(e,t){if(!(4&getObjectFlags(t)))return!0;if(!isTypeReferenceNode(e))return!0;getTypeFromTypeReference(e);const n=getNodeLinks(e).resolvedSymbol,r=n&&getDeclaredTypeOfSymbol(n);return!r||r!==t.target||length(e.typeArguments)>=getMinTypeArgumentCount(t.target.typeParameters)}function serializeInferredTypeForDeclaration(e,t,n){8192&n.flags&&n.symbol===e&&(!t.enclosingDeclaration||some(e.declarations,e=>getSourceFileOfNode(e)===t.enclosingFile))&&(t.flags|=1048576);return typeToTypeNodeHelper(n,t)}function serializeTypeForDeclaration(e,t,n,r){var i;let o;const a=t&&(isParameter(t)||isJSDocParameterTag(t))&&requiresAddingImplicitUndefined(t,e.enclosingDeclaration),s=t??r.valueDeclaration??getDeclarationWithTypeAnnotation(r)??(null==(i=r.declarations)?void 0:i[0]);if(!canPossiblyExpandType(n,e)&&s){const t=addSymbolTypeToContext(e,r,n);isAccessor(s)?o=W.serializeTypeOfAccessor(s,r,e):!hasInferredType(s)||nodeIsSynthesized(s)||196608&getObjectFlags(n)||(o=W.serializeTypeOfDeclaration(s,r,e)),t()}return o||(a&&(n=getOptionalType(n)),o=serializeInferredTypeForDeclaration(r,e,n)),o??Wr.createKeywordTypeNode(133)}function serializeInferredReturnTypeForSignature(e,t,n){const r=e.suppressReportInferenceFallback;e.suppressReportInferenceFallback=!0;const i=getTypePredicateOfSignature(t),o=i?typePredicateToTypePredicateNodeHelper(e.mapper?instantiateTypePredicate(i,e.mapper):i,e):typeToTypeNodeHelper(n,e);return e.suppressReportInferenceFallback=r,o}function trackExistingEntityName(e,t,n=t.enclosingDeclaration){let r=!1;const i=getFirstIdentifier(e);if(isInJSFile(e)&&(isExportsIdentifier(i)||isModuleExportsAccessExpression(i.parent)||isQualifiedName(i.parent)&&isModuleIdentifier(i.parent.left)&&isExportsIdentifier(i.parent.right)))return r=!0,{introducesError:r,node:e};const o=getMeaningOfEntityNameReference(e);let a;if(isThisIdentifier(i))return a=getSymbolOfDeclaration(getThisContainer(i,!1,!1)),0!==isSymbolAccessible(a,i,o,!1).accessibility&&(r=!0,t.tracker.reportInaccessibleThisError()),{introducesError:r,node:attachSymbolToLeftmostIdentifier(e)};if(a=resolveEntityName(i,o,!0,!0),t.enclosingDeclaration&&!(a&&262144&a.flags)){a=getExportSymbolOfValueSymbolIfExported(a);const n=resolveEntityName(i,o,!0,!0,t.enclosingDeclaration);if(n===ve||void 0===n&&void 0!==a||n&&a&&!getSymbolIfSameReference(getExportSymbolOfValueSymbolIfExported(n),a))return n!==ve&&t.tracker.reportInferenceFallback(e),r=!0,{introducesError:r,node:e,sym:a};a=n}return a?(1&a.flags&&a.valueDeclaration&&(isPartOfParameterDeclaration(a.valueDeclaration)||isJSDocParameterTag(a.valueDeclaration))||(262144&a.flags||isDeclarationName(e)||0===isSymbolAccessible(a,n,o,!1).accessibility?t.tracker.trackSymbol(a,n,o):(t.tracker.reportInferenceFallback(e),r=!0)),{introducesError:r,node:attachSymbolToLeftmostIdentifier(e)}):{introducesError:r,node:e};function attachSymbolToLeftmostIdentifier(e){if(e===i){const n=getDeclaredTypeOfSymbol(a),r=262144&a.flags?typeParameterToName(n,t):Wr.cloneNode(e);return r.symbol=a,setTextRange2(t,setEmitFlags(r,16777216),e)}const n=visitEachChild(e,e=>attachSymbolToLeftmostIdentifier(e),void 0);return setTextRange2(t,n,e)}}function canReuseTypeNode(e,t){const n=getTypeFromTypeNode2(e,t,!0);if(!n)return!1;if(isInJSFile(t)&&isLiteralImportTypeNode(t)){getTypeFromImportTypeNode(t);const e=getNodeLinks(t).resolvedSymbol;return!e||!!((t.isTypeOf||788968&e.flags)&&length(t.typeArguments)>=getMinTypeArgumentCount(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e)))}if(isTypeReferenceNode(t)){if(isConstTypeReference(t))return!1;const r=getNodeLinks(t).resolvedSymbol;if(!r)return!1;if(262144&r.flags){const t=getDeclaredTypeOfSymbol(r);return!(e.mapper&&getMappedType(t,e.mapper)!==t)}if(isInJSDoc(t))return existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(t,n)&&!getIntendedTypeFromJSDocTypeReference(t)&&!!(788968&r.flags)}if(isTypeOperatorNode(t)&&158===t.operator&&155===t.type.kind){const n=e.enclosingDeclaration&&function getEnclosingDeclarationIgnoringFakeScope(e){for(;getNodeLinks(e).fakeScopeForSignatureDeclaration;)e=e.parent;return e}(e.enclosingDeclaration);return!!findAncestor(t,e=>e===n)}return!0}function symbolTableToDeclarationStatements(e,t){var n;const r=makeSerializePropertySymbol(Wr.createPropertyDeclaration,175,!0),i=makeSerializePropertySymbol((e,t,n,r)=>Wr.createPropertySignature(e,t,n,r),174,!1),o=t.enclosingDeclaration;let a=[];const s=new Set,c=[],d=t;t={...d,usedSymbolNames:new Set(d.usedSymbolNames),remappedSymbolNames:new Map,remappedSymbolReferences:new Map(null==(n=d.remappedSymbolReferences)?void 0:n.entries()),tracker:void 0};const p={...d.tracker.inner,trackSymbol:(e,n,r)=>{var i,o;if(null==(i=t.remappedSymbolNames)?void 0:i.has(getSymbolId(e)))return!1;if(0===isSymbolAccessible(e,n,r,!1).accessibility){const n=lookupSymbolChainWorker(e,t,r);if(!(4&e.flags)){const e=n[0],t=getSourceFileOfNode(d.enclosingDeclaration);some(e.declarations,e=>getSourceFileOfNode(e)===t)&&includePrivateSymbol(e)}}else if(null==(o=d.tracker.inner)?void 0:o.trackSymbol)return d.tracker.inner.trackSymbol(e,n,r);return!1}};t.tracker=new sa(t,p,d.tracker.moduleResolverHost),forEachEntry(e,(e,t)=>{getInternalSymbolName(e,unescapeLeadingUnderscores(t))});let u=!t.bundled;const m=e.get("export=");return m&&e.size>1&&2098688&m.flags&&(e=createSymbolTable()).set("export=",m),visitSymbolTable(e),function mergeRedundantStatements(e){e=function inlineExportModifiers(e){const t=findIndex(e,e=>isExportDeclaration(e)&&!e.moduleSpecifier&&!e.attributes&&!!e.exportClause&&isNamedExports(e.exportClause));if(t>=0){const n=e[t],r=mapDefined(n.exportClause.elements,t=>{if(!t.propertyName&&11!==t.name.kind){const n=t.name,r=filter(indicesOf(e),t=>nodeHasName(e[t],n));if(length(r)&&every(r,t=>canHaveExportModifier(e[t]))){for(const t of r)e[t]=addExportModifier(e[t]);return}}return t});length(r)?e[t]=Wr.updateExportDeclaration(n,n.modifiers,n.isTypeOnly,Wr.updateNamedExports(n.exportClause,r),n.moduleSpecifier,n.attributes):orderedRemoveItemAt(e,t)}return e}(e=function mergeExportDeclarations(e){const t=filter(e,e=>isExportDeclaration(e)&&!e.moduleSpecifier&&!!e.exportClause&&isNamedExports(e.exportClause));if(length(t)>1){e=[...filter(e,e=>!isExportDeclaration(e)||!!e.moduleSpecifier||!e.exportClause),Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports(flatMap(t,e=>cast(e.exportClause,isNamedExports).elements)),void 0)]}const n=filter(e,e=>isExportDeclaration(e)&&!!e.moduleSpecifier&&!!e.exportClause&&isNamedExports(e.exportClause));if(length(n)>1){const t=group(n,e=>isStringLiteral(e.moduleSpecifier)?">"+e.moduleSpecifier.text:">");if(t.length!==n.length)for(const n of t)n.length>1&&(e=[...filter(e,e=>!n.includes(e)),Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports(flatMap(n,e=>cast(e.exportClause,isNamedExports).elements)),n[0].moduleSpecifier)])}return e}(e=function flattenExportAssignedNamespace(e){const t=find(e,isExportAssignment),n=findIndex(e,isModuleDeclaration);let r=-1!==n?e[n]:void 0;if(r&&t&&t.isExportEquals&&isIdentifier(t.expression)&&isIdentifier(r.name)&&idText(r.name)===idText(t.expression)&&r.body&&isModuleBlock(r.body)){const i=filter(e,e=>!!(32&getEffectiveModifierFlags(e))),o=r.name;let s=r.body;if(length(i)&&(r=Wr.updateModuleDeclaration(r,r.modifiers,r.name,s=Wr.updateModuleBlock(s,Wr.createNodeArray([...r.body.statements,Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports(map(flatMap(i,e=>function getNamesOfDeclaration(e){if(isVariableStatement(e))return filter(map(e.declarationList.declarations,getNameOfDeclaration),isIdentifierAndNotUndefined);return filter([getNameOfDeclaration(e)],isIdentifierAndNotUndefined)}(e)),e=>Wr.createExportSpecifier(!1,void 0,e))),void 0)]))),e=[...e.slice(0,n),r,...e.slice(n+1)]),!find(e,e=>e!==r&&nodeHasName(e,o))){a=[];const n=!some(s.statements,e=>hasSyntacticModifier(e,32)||isExportAssignment(e)||isExportDeclaration(e));forEach(s.statements,e=>{addResult(e,n?32:0)}),e=[...filter(e,e=>e!==r&&e!==t),...a]}}return e}(e))),o&&(isSourceFile(o)&&isExternalOrCommonJsModule(o)||isModuleDeclaration(o))&&(!some(e,isExternalModuleIndicator)||!hasScopeMarker(e)&&some(e,needsScopeMarker))&&e.push(createEmptyExports(Wr));return e}(a);function isIdentifierAndNotUndefined(e){return!!e&&80===e.kind}function addExportModifier(e){const t=-129&getEffectiveModifierFlags(e)|32;return Wr.replaceModifiers(e,t)}function removeExportModifier(e){const t=-33&getEffectiveModifierFlags(e);return Wr.replaceModifiers(e,t)}function visitSymbolTable(e,n,r){n||c.push(new Map);let i=0;const o=Array.from(e.values());for(const n of o){if(i++,checkTruncationLengthIfExpanding(t)&&i+2<e.size-1){t.out.truncated=!0,a.push(createTruncationStatement(`... (${e.size-i} more ...)`)),serializeSymbol(o[o.length-1],!1,!!r);break}serializeSymbol(n,!1,!!r)}n||(c[c.length-1].forEach(e=>{serializeSymbol(e,!0,!!r)}),c.pop())}function serializeSymbol(e,n,r){getPropertiesOfType(getTypeOfSymbol(e));const i=getMergedSymbol(e);if(s.has(getSymbolId(i)))return;s.add(getSymbolId(i));if(!n||length(e.declarations)&&some(e.declarations,e=>!!findAncestor(e,e=>e===o))){const i=cloneNodeBuilderContext(t);t.tracker.pushErrorFallbackNode(find(e.declarations,e=>getSourceFileOfNode(e)===t.enclosingFile)),serializeSymbolWorker(e,n,r),t.tracker.popErrorFallbackNode(),i()}}function serializeSymbolWorker(e,n,r,i=e.escapedName){var o,a,s,c,d,p,u;const m=unescapeLeadingUnderscores(i),_="default"===i;if(n&&!(131072&t.flags)&&isStringANonContextualKeyword(m)&&!_)return void(t.encounteredError=!0);let f=_&&!!(-113&e.flags||16&e.flags&&length(getPropertiesOfType(getTypeOfSymbol(e))))&&!(2097152&e.flags),g=!f&&!n&&isStringANonContextualKeyword(m)&&!_;(f||g)&&(n=!0);const y=(n?0:32)|(_&&!f?2048:0),h=1536&e.flags&&7&e.flags&&"export="!==i,T=h&&isTypeRepresentableAsFunctionNamespaceMerge(getTypeOfSymbol(e),e);if((8208&e.flags||T)&&serializeAsFunctionNamespaceMerge(getTypeOfSymbol(e),e,getInternalSymbolName(e,m),y),524288&e.flags&&function serializeTypeAlias(e,n,r){var i;const o=getDeclaredTypeOfTypeAlias(e),a=getSymbolLinks(e).typeParameters,s=map(a,e=>typeParameterToDeclaration(e,t)),c=null==(i=e.declarations)?void 0:i.find(isJSDocTypeAlias),l=getTextOfJSDocComment(c?c.comment||c.parent.comment:void 0),d=saveRestoreFlags(t);t.flags|=8388608;const p=t.enclosingDeclaration;t.enclosingDeclaration=c;const u=c&&c.typeExpression&&isJSDocTypeExpression(c.typeExpression)&&W.tryReuseExistingTypeNode(t,c.typeExpression.type)||typeToTypeNodeHelper(o,t),m=getInternalSymbolName(e,n);t.approximateLength+=8+((null==l?void 0:l.length)??0)+m.length,addResult(setSyntheticLeadingComments(Wr.createTypeAliasDeclaration(void 0,m,s,u),l?[{kind:3,text:"*\n * "+l.replace(/\n/g,"\n * ")+"\n ",pos:-1,end:-1,hasTrailingNewLine:!0}]:[]),r),d(),t.enclosingDeclaration=p}(e,m,y),98311&e.flags&&"export="!==i&&!(4194304&e.flags)&&!(32&e.flags)&&!(8192&e.flags)&&!T)if(r){serializeMaybeAliasAssignment(e)&&(g=!1,f=!1)}else{const l=getTypeOfSymbol(e),_=getInternalSymbolName(e,m);if(l.symbol&&l.symbol!==e&&16&l.symbol.flags&&some(l.symbol.declarations,isFunctionExpressionOrArrowFunction)&&((null==(o=l.symbol.members)?void 0:o.size)||(null==(a=l.symbol.exports)?void 0:a.size)))t.remappedSymbolReferences||(t.remappedSymbolReferences=new Map),t.remappedSymbolReferences.set(getSymbolId(l.symbol),e),serializeSymbolWorker(l.symbol,n,r,i),t.remappedSymbolReferences.delete(getSymbolId(l.symbol));else if(16&e.flags||!isTypeRepresentableAsFunctionNamespaceMerge(l,e)){const r=2&e.flags?isConstantVariable(e)?2:1:(null==(s=e.parent)?void 0:s.valueDeclaration)&&isSourceFile(null==(c=e.parent)?void 0:c.valueDeclaration)?2:void 0,i=!f&&4&e.flags?getUnusedName(_,e):_;let o=e.declarations&&find(e.declarations,e=>isVariableDeclaration(e));o&&isVariableDeclarationList(o.parent)&&1===o.parent.declarations.length&&(o=o.parent.parent);const a=null==(d=e.declarations)?void 0:d.find(isPropertyAccessExpression);if(a&&isBinaryExpression(a.parent)&&isIdentifier(a.parent.right)&&(null==(p=l.symbol)?void 0:p.valueDeclaration)&&isSourceFile(l.symbol.valueDeclaration)){const e=_===a.parent.right.escapedText?void 0:a.parent.right;t.approximateLength+=12+((null==(u=null==e?void 0:e.escapedText)?void 0:u.length)??0),addResult(Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports([Wr.createExportSpecifier(!1,e,_)])),0),t.tracker.trackSymbol(l.symbol,t.enclosingDeclaration,111551)}else{const a=setTextRange2(t,Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(i,void 0,serializeTypeForDeclaration(t,void 0,l,e))],r)),o);t.approximateLength+=7+i.length,addResult(a,i!==_?-33&y:y),i===_||n||(t.approximateLength+=16+i.length+_.length,addResult(Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports([Wr.createExportSpecifier(!1,i,_)])),0),g=!1,f=!1)}}else serializeAsFunctionNamespaceMerge(l,e,_,y)}if(384&e.flags&&function serializeEnum(e,n,r){const i=getInternalSymbolName(e,n);t.approximateLength+=9+i.length;const o=[],a=filter(getPropertiesOfType(getTypeOfSymbol(e)),e=>!!(8&e.flags));let s=0;for(const e of a){if(s++,checkTruncationLengthIfExpanding(t)&&s+2<a.length-1){t.out.truncated=!0,o.push(Wr.createEnumMember(` ... ${a.length-s} more ... `));const e=a[a.length-1],n=e.declarations&&e.declarations[0]&&isEnumMember(e.declarations[0])?getConstantValue2(e.declarations[0]):void 0,r=void 0===n?void 0:"string"==typeof n?Wr.createStringLiteral(n):Wr.createNumericLiteral(n),i=unescapeLeadingUnderscores(e.escapedName),c=Wr.createEnumMember(i,r);o.push(c);break}const n=e.declarations&&e.declarations[0]&&isEnumMember(e.declarations[0])?e.declarations[0]:void 0;let r,i;if(isExpanding(t)&&n&&n.initializer)r=getSynthesizedDeepClone(n.initializer),i=n.initializer.end-n.initializer.pos;else{const e=n&&getConstantValue2(n);r=void 0===e?void 0:"string"==typeof e?Wr.createStringLiteral(e):Wr.createNumericLiteral(e),i=(null==r?void 0:r.text.length)??0}const c=unescapeLeadingUnderscores(e.escapedName);t.approximateLength+=4+c.length+i;const l=Wr.createEnumMember(c,r);o.push(l)}addResult(Wr.createEnumDeclaration(Wr.createModifiersFromModifierFlags(isConstEnumSymbol(e)?4096:0),i,o),r)}(e,m,y),32&e.flags&&(4&e.flags&&e.valueDeclaration&&isBinaryExpression(e.valueDeclaration.parent)&&isClassExpression(e.valueDeclaration.parent.right)?serializeAsAlias(e,getInternalSymbolName(e,m),y):function serializeAsClass(e,n,r){var i,o;t.approximateLength+=9+n.length;const a=null==(i=e.declarations)?void 0:i.find(isClassLike),s=t.enclosingDeclaration;t.enclosingDeclaration=a||s;const c=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e),d=map(c,e=>typeParameterToDeclaration(e,t));forEach(c,e=>t.approximateLength+=symbolName(e.symbol).length);const p=getTypeWithThisArgument(getDeclaredTypeOfClassOrInterface(e)),u=getBaseTypes(p),m=a&&getEffectiveImplementsTypeNodes(a),_=m&&function sanitizeJSDocImplements(e){const n=mapDefined(e,e=>{const n=t.enclosingDeclaration;t.enclosingDeclaration=e;let r=e.expression;if(isEntityNameExpression(r)){if(isIdentifier(r)&&""===idText(r))return cleanup(void 0);let e;if(({introducesError:e,node:r}=trackExistingEntityName(r,t)),e)return cleanup(void 0)}return cleanup(Wr.createExpressionWithTypeArguments(r,map(e.typeArguments,e=>W.tryReuseExistingTypeNode(t,e)||typeToTypeNodeHelper(getTypeFromTypeNode2(t,e),t))));function cleanup(e){return t.enclosingDeclaration=n,e}});if(n.length===e.length)return n;return}(m)||mapDefined(function getImplementsTypes(e){let t=l;if(e.symbol.declarations)for(const n of e.symbol.declarations){const e=getEffectiveImplementsTypeNodes(n);if(e)for(const n of e){const e=getTypeFromTypeNode(n);isErrorType(e)||(t===l?t=[e]:t.push(e))}}return t}(p),serializeImplementedType),f=getTypeOfSymbol(e),g=!!(null==(o=f.symbol)?void 0:o.valueDeclaration)&&isClassLike(f.symbol.valueDeclaration),y=g?getBaseConstructorTypeOfClass(f):ke;t.approximateLength+=(length(u)?8:0)+(length(_)?11:0);const h=[...length(u)?[Wr.createHeritageClause(96,map(u,e=>function serializeBaseType(e,n,r){const i=trySerializeAsTypeReference(e,111551);if(i)return i;const o=getUnusedName(`${r}_base`),a=Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(o,void 0,typeToTypeNodeHelper(n,t))],2));return addResult(a,0),Wr.createExpressionWithTypeArguments(Wr.createIdentifier(o),void 0)}(e,y,n)))]:[],...length(_)?[Wr.createHeritageClause(119,_)]:[]],T=function getNonInheritedProperties(e,t,n){if(!length(t))return n;const r=new Map;forEach(n,e=>{r.set(e.escapedName,e)});for(const n of t){const t=getPropertiesOfType(getTypeWithThisArgument(n,e.thisType));for(const e of t){const t=r.get(e.escapedName);t&&e.parent===t.parent&&r.delete(e.escapedName)}}return arrayFrom(r.values())}(p,u,getPropertiesOfType(p)),S=filter(T,e=>!isHashPrivate(e)),x=some(T,isHashPrivate),v=x?isExpanding(t)?serializePropertySymbolsForClassOrInterface(filter(T,isHashPrivate),!0,u[0],!1):[Wr.createPropertyDeclaration(void 0,Wr.createPrivateIdentifier("#private"),void 0,void 0,void 0)]:l;x&&!isExpanding(t)&&(t.approximateLength+=9);const b=serializePropertySymbolsForClassOrInterface(S,!0,u[0],!1),C=serializePropertySymbolsForClassOrInterface(filter(getPropertiesOfType(f),e=>!(4194304&e.flags||"prototype"===e.escapedName||isNamespaceMember(e))),!0,y,!0),E=!g&&!!e.valueDeclaration&&isInJSFile(e.valueDeclaration)&&!some(getSignaturesOfType(f,1));E&&(t.approximateLength+=21);const N=E?[Wr.createConstructorDeclaration(Wr.createModifiersFromModifierFlags(2),[],void 0)]:serializeSignatures(1,f,y,177),k=serializeIndexSignatures(p,u[0]);t.enclosingDeclaration=s,addResult(setTextRange2(t,Wr.createClassDeclaration(void 0,n,d,h,[...k,...C,...N,...b,...v]),e.declarations&&filter(e.declarations,e=>isClassDeclaration(e)||isClassExpression(e))[0]),r)}(e,getInternalSymbolName(e,m),y)),(1536&e.flags&&(!h||function isTypeOnlyNamespace(e){return every(getNamespaceMembersForSerialization(e),e=>!(111551&getSymbolFlags(resolveSymbol(e))))}(e))||T)&&function serializeModule(e,n,r){const i=getNamespaceMembersForSerialization(e),o=isExpanding(t),a=arrayToMultiMap(i,t=>t.parent&&t.parent===e||o?"real":"merged"),s=a.get("real")||l,c=a.get("merged")||l;if(length(s)||o){let i;if(o){const n=t.flags;t.flags|=514,i=symbolToNode(e,t,-1),t.flags=n}else{const r=getInternalSymbolName(e,n);i=Wr.createIdentifier(r),t.approximateLength+=r.length}serializeAsNamespaceDeclaration(s,i,r,!!(67108880&e.flags))}if(length(c)){const r=getSourceFileOfNode(t.enclosingDeclaration),i=getInternalSymbolName(e,n),o=Wr.createModuleBlock([Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports(mapDefined(filter(c,e=>"export="!==e.escapedName),n=>{var i,o;const a=unescapeLeadingUnderscores(n.escapedName),s=getInternalSymbolName(n,a),c=n.declarations&&getDeclarationOfAliasSymbol(n);if(r&&(c?r!==getSourceFileOfNode(c):!some(n.declarations,e=>getSourceFileOfNode(e)===r)))return void(null==(o=null==(i=t.tracker)?void 0:i.reportNonlocalAugmentation)||o.call(i,r,e,n));const l=c&&getTargetOfAliasDeclaration(c,!0);includePrivateSymbol(l||n);const d=l?getInternalSymbolName(l,unescapeLeadingUnderscores(l.escapedName)):s;return Wr.createExportSpecifier(!1,a===d?void 0:d,a)})))]);addResult(Wr.createModuleDeclaration(void 0,Wr.createIdentifier(i),o,32),0)}}(e,m,y),64&e.flags&&!(32&e.flags)&&function serializeInterface(e,n,r){const i=getInternalSymbolName(e,n);t.approximateLength+=14+i.length;const o=getDeclaredTypeOfClassOrInterface(e),a=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e),s=map(a,e=>typeParameterToDeclaration(e,t)),c=getBaseTypes(o),l=length(c)?getIntersectionType(c):void 0,d=serializePropertySymbolsForClassOrInterface(getPropertiesOfType(o),!1,l),p=serializeSignatures(0,o,l,180),u=serializeSignatures(1,o,l,181),m=serializeIndexSignatures(o,l),_=length(c)?[Wr.createHeritageClause(96,mapDefined(c,e=>trySerializeAsTypeReference(e,111551)))]:void 0;addResult(Wr.createInterfaceDeclaration(void 0,i,s,_,[...m,...u,...p,...d]),r)}(e,m,y),2097152&e.flags&&serializeAsAlias(e,getInternalSymbolName(e,m),y),4&e.flags&&"export="===e.escapedName&&serializeMaybeAliasAssignment(e),8388608&e.flags&&e.declarations)for(const n of e.declarations){const e=resolveExternalModuleName(n,n.moduleSpecifier);if(!e)continue;const r=n.isTypeOnly,i=getSpecifierForModuleSymbol(e,t);t.approximateLength+=17+i.length,addResult(Wr.createExportDeclaration(void 0,r,void 0,Wr.createStringLiteral(i)),0)}if(f){const n=getInternalSymbolName(e,m);t.approximateLength+=16+n.length,addResult(Wr.createExportAssignment(void 0,!1,Wr.createIdentifier(n)),0)}else if(g){const n=getInternalSymbolName(e,m);t.approximateLength+=22+m.length+n.length,addResult(Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports([Wr.createExportSpecifier(!1,n,m)])),0)}}function includePrivateSymbol(e){if(some(e.declarations,isPartOfParameterDeclaration))return;h.assertIsDefined(c[c.length-1]),getUnusedName(unescapeLeadingUnderscores(e.escapedName),e);const t=!!(2097152&e.flags)&&!some(e.declarations,e=>!!findAncestor(e,isExportDeclaration)||isNamespaceExport(e)||isImportEqualsDeclaration(e)&&!isExternalModuleReference(e.moduleReference));c[t?0:c.length-1].set(getSymbolId(e),e)}function addResult(e,n){if(canHaveModifiers(e)){const r=getEffectiveModifierFlags(e);let i=0;const o=t.enclosingDeclaration&&(isJSDocTypeAlias(t.enclosingDeclaration)?getSourceFileOfNode(t.enclosingDeclaration):t.enclosingDeclaration);32&n&&o&&(function isExportingScope(e){return isSourceFile(e)&&(isExternalOrCommonJsModule(e)||isJsonSourceFile(e))||isAmbientModule(e)&&!isGlobalScopeAugmentation(e)}(o)||isModuleDeclaration(o))&&canHaveExportModifier(e)&&(i|=32),!u||32&i||o&&33554432&o.flags||!(isEnumDeclaration(e)||isVariableStatement(e)||isFunctionDeclaration(e)||isClassDeclaration(e)||isModuleDeclaration(e))||(i|=128),2048&n&&(isClassDeclaration(e)||isInterfaceDeclaration(e)||isFunctionDeclaration(e))&&(i|=2048),i&&(e=Wr.replaceModifiers(e,i|r)),t.approximateLength+=modifiersLength(i|r)}a.push(e)}function serializePropertySymbolsForClassOrInterface(e,n,i,o){const a=[];let s=0;for(const c of e){if(s++,checkTruncationLengthIfExpanding(t)&&s+2<e.length-1){t.out.truncated=!0;const c=createTruncationProperty(`... ${e.length-s} more ... `,n);a.push(c);const l=n?r(e[e.length-1],o,i):serializePropertySymbolForInterface(e[e.length-1],i);isArray(l)?a.push(...l):a.push(l);break}t.approximateLength+=1;const l=n?r(c,o,i):serializePropertySymbolForInterface(c,i);isArray(l)?a.push(...l):a.push(l)}return a}function createTruncationProperty(e,n){return 1&t.flags?addSyntheticLeadingComment(Wr.createNotEmittedTypeElement(),3,e):n?Wr.createPropertyDeclaration(void 0,e,void 0,void 0,void 0):Wr.createPropertySignature(void 0,e,void 0,void 0)}function getNamespaceMembersForSerialization(e){let t=arrayFrom(getExportsOfSymbol(e).values());const n=getMergedSymbol(e);if(n!==e){const e=new Set(t);for(const t of getExportsOfSymbol(n).values())111551&getSymbolFlags(resolveSymbol(t))||e.add(t);t=arrayFrom(e)}return filter(t,e=>isNamespaceMember(e)&&isIdentifierText(e.escapedName,99))}function serializeAsFunctionNamespaceMerge(e,n,r,i){const o=getSignaturesOfType(e,0);for(const e of o){t.approximateLength+=1;const n=signatureToSignatureDeclarationHelper(e,263,t,{name:Wr.createIdentifier(r)});addResult(setTextRange2(t,n,getSignatureTextRangeLocation(e)),i)}if(!(1536&n.flags&&n.exports&&n.exports.size)){const n=filter(getPropertiesOfType(e),isNamespaceMember);t.approximateLength+=r.length,serializeAsNamespaceDeclaration(n,Wr.createIdentifier(r),i,!0)}}function createTruncationStatement(e){return 1&t.flags?addSyntheticLeadingComment(Wr.createEmptyStatement(),3,e):Wr.createExpressionStatement(Wr.createIdentifier(e))}function getSignatureTextRangeLocation(e){if(e.declaration&&e.declaration.parent){if(isBinaryExpression(e.declaration.parent)&&5===getAssignmentDeclarationKind(e.declaration.parent))return e.declaration.parent;if(isVariableDeclaration(e.declaration.parent)&&e.declaration.parent.parent)return e.declaration.parent.parent}return e.declaration}function serializeAsNamespaceDeclaration(e,n,r,i){const s=isIdentifier(n)?32:0,c=isExpanding(t);if(length(e)){t.approximateLength+=14;const d=arrayToMultiMap(e,e=>!length(e.declarations)||some(e.declarations,e=>getSourceFileOfNode(e)===getSourceFileOfNode(t.enclosingDeclaration))||c?"local":"remote").get("local")||l;let p=Di.createModuleDeclaration(void 0,n,Wr.createModuleBlock([]),s);setParent(p,o),p.locals=createSymbolTable(e),p.symbol=e[0].parent;const m=a;a=[];const _=u;u=!1;const f={...t,enclosingDeclaration:p},g=t;t=f,visitSymbolTable(createSymbolTable(d),i,!0),t=g,u=_;const y=a;a=m;const h=map(y,e=>isExportAssignment(e)&&!e.isExportEquals&&isIdentifier(e.expression)?Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports([Wr.createExportSpecifier(!1,e.expression,Wr.createIdentifier("default"))])):e),T=every(h,e=>hasSyntacticModifier(e,32))?map(h,removeExportModifier):h;p=Wr.updateModuleDeclaration(p,p.modifiers,p.name,Wr.createModuleBlock(T)),addResult(p,r)}else c&&(t.approximateLength+=14,addResult(Wr.createModuleDeclaration(void 0,n,Wr.createModuleBlock([]),s),r))}function isNamespaceMember(e){return!!(2887656&e.flags)||!(4194304&e.flags||"prototype"===e.escapedName||e.valueDeclaration&&isStatic(e.valueDeclaration)&&isClassLike(e.valueDeclaration.parent))}function serializeAsAlias(e,n,r){var i,o,a,s,c;const l=getDeclarationOfAliasSymbol(e);if(!l)return h.fail();const d=getMergedSymbol(getTargetOfAliasDeclaration(l,!0));if(!d)return;let p=isShorthandAmbientModuleSymbol(d)&&function getSomeTargetNameFromDeclarations(e){return firstDefined(e,e=>{if(isImportSpecifier(e)||isExportSpecifier(e))return moduleExportNameTextUnescaped(e.propertyName||e.name);if(isBinaryExpression(e)||isExportAssignment(e)){const t=isExportAssignment(e)?e.expression:e.right;if(isPropertyAccessExpression(t))return idText(t.name)}if(isAliasSymbolDeclaration(e)){const t=getNameOfDeclaration(e);if(t&&isIdentifier(t))return idText(t)}})}(e.declarations)||unescapeLeadingUnderscores(d.escapedName);"export="===p&&N&&(p="default");const u=getInternalSymbolName(d,p);switch(includePrivateSymbol(d),l.kind){case 209:if(261===(null==(o=null==(i=l.parent)?void 0:i.parent)?void 0:o.kind)){const e=getSpecifierForModuleSymbol(d.parent||d,t),{propertyName:r}=l,i=r&&isIdentifier(r)?idText(r):void 0;t.approximateLength+=24+n.length+e.length+((null==i?void 0:i.length)??0),addResult(Wr.createImportDeclaration(void 0,Wr.createImportClause(void 0,void 0,Wr.createNamedImports([Wr.createImportSpecifier(!1,i?Wr.createIdentifier(i):void 0,Wr.createIdentifier(n))])),Wr.createStringLiteral(e),void 0),0);break}h.failBadSyntaxKind((null==(a=l.parent)?void 0:a.parent)||l,"Unhandled binding element grandparent kind in declaration serialization");break;case 305:227===(null==(c=null==(s=l.parent)?void 0:s.parent)?void 0:c.kind)&&serializeExportSpecifier(unescapeLeadingUnderscores(e.escapedName),u);break;case 261:if(isPropertyAccessExpression(l.initializer)){const e=l.initializer,i=Wr.createUniqueName(n),o=getSpecifierForModuleSymbol(d.parent||d,t);t.approximateLength+=22+o.length+idText(i).length,addResult(Wr.createImportEqualsDeclaration(void 0,!1,i,Wr.createExternalModuleReference(Wr.createStringLiteral(o))),0),t.approximateLength+=12+n.length+idText(i).length+idText(e.name).length,addResult(Wr.createImportEqualsDeclaration(void 0,!1,Wr.createIdentifier(n),Wr.createQualifiedName(i,e.name)),r);break}case 272:if("export="===d.escapedName&&some(d.declarations,e=>isSourceFile(e)&&isJsonSourceFile(e))){serializeMaybeAliasAssignment(e);break}const m=!(512&d.flags||isVariableDeclaration(l));t.approximateLength+=11+n.length+unescapeLeadingUnderscores(d.escapedName).length,addResult(Wr.createImportEqualsDeclaration(void 0,!1,Wr.createIdentifier(n),m?symbolToName(d,t,-1,!1):Wr.createExternalModuleReference(Wr.createStringLiteral(getSpecifierForModuleSymbol(d,t)))),m?r:0);break;case 271:addResult(Wr.createNamespaceExportDeclaration(idText(l.name)),0);break;case 274:{const e=getSpecifierForModuleSymbol(d.parent||d,t),r=t.bundled?Wr.createStringLiteral(e):l.parent.moduleSpecifier,i=isImportDeclaration(l.parent)?l.parent.attributes:void 0,o=isJSDocImportTag(l.parent);t.approximateLength+=14+n.length+3+(o?4:0),addResult(Wr.createImportDeclaration(void 0,Wr.createImportClause(o?156:void 0,Wr.createIdentifier(n),void 0),r,i),0);break}case 275:{const e=getSpecifierForModuleSymbol(d.parent||d,t),r=t.bundled?Wr.createStringLiteral(e):l.parent.parent.moduleSpecifier,i=isJSDocImportTag(l.parent.parent);t.approximateLength+=19+n.length+3+(i?4:0),addResult(Wr.createImportDeclaration(void 0,Wr.createImportClause(i?156:void 0,void 0,Wr.createNamespaceImport(Wr.createIdentifier(n))),r,l.parent.attributes),0);break}case 281:t.approximateLength+=19+n.length+3,addResult(Wr.createExportDeclaration(void 0,!1,Wr.createNamespaceExport(Wr.createIdentifier(n)),Wr.createStringLiteral(getSpecifierForModuleSymbol(d,t))),0);break;case 277:{const e=getSpecifierForModuleSymbol(d.parent||d,t),r=t.bundled?Wr.createStringLiteral(e):l.parent.parent.parent.moduleSpecifier,i=isJSDocImportTag(l.parent.parent.parent);t.approximateLength+=19+n.length+3+(i?4:0),addResult(Wr.createImportDeclaration(void 0,Wr.createImportClause(i?156:void 0,void 0,Wr.createNamedImports([Wr.createImportSpecifier(!1,n!==p?Wr.createIdentifier(p):void 0,Wr.createIdentifier(n))])),r,l.parent.parent.parent.attributes),0);break}case 282:const _=l.parent.parent.moduleSpecifier;if(_){const e=l.propertyName;e&&moduleExportNameIsDefault(e)&&(p="default")}serializeExportSpecifier(unescapeLeadingUnderscores(e.escapedName),_?p:u,_&&isStringLiteralLike(_)?Wr.createStringLiteral(_.text):void 0);break;case 278:serializeMaybeAliasAssignment(e);break;case 227:case 212:case 213:"default"===e.escapedName||"export="===e.escapedName?serializeMaybeAliasAssignment(e):serializeExportSpecifier(n,u);break;default:return h.failBadSyntaxKind(l,"Unhandled alias declaration kind in symbol serializer!")}}function serializeExportSpecifier(e,n,r){t.approximateLength+=16+e.length+(e!==n?n.length:0),addResult(Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports([Wr.createExportSpecifier(!1,e!==n?n:void 0,e)]),r),0)}function serializeMaybeAliasAssignment(e){var n;if(4194304&e.flags)return!1;const r=unescapeLeadingUnderscores(e.escapedName),i="export="===r,s=i||"default"===r,c=e.declarations&&getDeclarationOfAliasSymbol(e),l=c&&getTargetOfAliasDeclaration(c,!0);if(l&&length(l.declarations)&&some(l.declarations,e=>getSourceFileOfNode(e)===getSourceFileOfNode(o))){const n=c&&(isExportAssignment(c)||isBinaryExpression(c)?getExportAssignmentExpression(c):getPropertyAssignmentAliasLikeExpression(c)),d=n&&isEntityNameExpression(n)?function getFirstNonModuleExportsIdentifier(e){switch(e.kind){case 80:return e;case 167:do{e=e.left}while(80!==e.kind);return e;case 212:do{if(isModuleExportsAccessExpression(e.expression)&&!isPrivateIdentifier(e.name))return e.name;e=e.expression}while(80!==e.kind);return e}}(n):void 0,p=d&&resolveEntityName(d,-1,!0,!0,o);(p||l)&&includePrivateSymbol(p||l);const u=t.tracker.disableTrackSymbol;if(t.tracker.disableTrackSymbol=!0,s)t.approximateLength+=10,a.push(Wr.createExportAssignment(void 0,i,symbolToExpression(l,t,-1)));else if(d===n&&d)serializeExportSpecifier(r,idText(d));else if(n&&isClassExpression(n))serializeExportSpecifier(r,getInternalSymbolName(l,symbolName(l)));else{const n=getUnusedName(r,e);t.approximateLength+=n.length+10,addResult(Wr.createImportEqualsDeclaration(void 0,!1,Wr.createIdentifier(n),symbolToName(l,t,-1,!1)),0),serializeExportSpecifier(r,n)}return t.tracker.disableTrackSymbol=u,!0}{const o=getUnusedName(r,e),c=getWidenedType(getTypeOfSymbol(getMergedSymbol(e)));if(isTypeRepresentableAsFunctionNamespaceMerge(c,e))serializeAsFunctionNamespaceMerge(c,e,o,s?0:32);else{const i=268!==(null==(n=t.enclosingDeclaration)?void 0:n.kind)||98304&e.flags&&!(65536&e.flags)?2:1;t.approximateLength+=o.length+5;addResult(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(o,void 0,serializeTypeForDeclaration(t,void 0,c,e))],i)),l&&4&l.flags&&"export="===l.escapedName?128:r===o?32:0)}return s?(t.approximateLength+=o.length+10,a.push(Wr.createExportAssignment(void 0,i,Wr.createIdentifier(o))),!0):r!==o&&(serializeExportSpecifier(r,o),!0)}}function isTypeRepresentableAsFunctionNamespaceMerge(e,n){var r;const i=getSourceFileOfNode(t.enclosingDeclaration);return 48&getObjectFlags(e)&&!some(null==(r=e.symbol)?void 0:r.declarations,isTypeNode)&&!length(getIndexInfosOfType(e))&&!isClassInstanceSide(e)&&!(!length(filter(getPropertiesOfType(e),isNamespaceMember))&&!length(getSignaturesOfType(e,0)))&&!length(getSignaturesOfType(e,1))&&!getDeclarationWithTypeAnnotation(n,o)&&!(e.symbol&&some(e.symbol.declarations,e=>getSourceFileOfNode(e)!==i))&&!some(getPropertiesOfType(e),e=>isLateBoundName(e.escapedName))&&!some(getPropertiesOfType(e),e=>some(e.declarations,e=>getSourceFileOfNode(e)!==i))&&every(getPropertiesOfType(e),e=>!!isIdentifierText(symbolName(e),x)&&(!(98304&e.flags)||getNonMissingTypeOfSymbol(e)===getWriteTypeOfSymbol(e)))}function makeSerializePropertySymbol(e,n,r){return function serializePropertySymbol(i,o,a){var s,c,l,d,p,u;const m=getDeclarationModifierFlagsFromSymbol(i),_=!!(2&m)&&!isExpanding(t);if(o&&2887656&i.flags)return[];if(4194304&i.flags||"constructor"===i.escapedName||a&&getPropertyOfType(a,i.escapedName)&&isReadonlySymbol(getPropertyOfType(a,i.escapedName))===isReadonlySymbol(i)&&(16777216&i.flags)==(16777216&getPropertyOfType(a,i.escapedName).flags)&&isTypeIdenticalTo(getTypeOfSymbol(i),getTypeOfPropertyOfType(a,i.escapedName)))return[];const f=-1025&m|(o?256:0),g=getPropertyNameNodeForSymbol(i,t),y=null==(s=i.declarations)?void 0:s.find(or(isPropertyDeclaration,isAccessor,isVariableDeclaration,isPropertySignature,isBinaryExpression,isPropertyAccessExpression));if(98304&i.flags&&r){const e=[];if(65536&i.flags){const n=i.declarations&&forEach(i.declarations,e=>179===e.kind?e:isCallExpression(e)&&isBindableObjectDefinePropertyCall(e)?forEach(e.arguments[2].properties,e=>{const t=getNameOfDeclaration(e);if(t&&isIdentifier(t)&&"set"===idText(t))return e}):void 0);h.assert(!!n);const r=isFunctionLikeDeclaration(n)?getSignatureFromDeclaration(n).parameters[0]:void 0,o=null==(c=i.declarations)?void 0:c.find(isSetAccessor);t.approximateLength+=modifiersLength(f)+7+(r?symbolName(r).length:5)+(_?0:2),e.push(setTextRange2(t,Wr.createSetAccessorDeclaration(Wr.createModifiersFromModifierFlags(f),g,[Wr.createParameterDeclaration(void 0,void 0,r?parameterToParameterDeclarationName(r,getEffectiveParameterDeclaration(r),t):"value",void 0,_?void 0:serializeTypeForDeclaration(t,o,getWriteTypeOfSymbol(i),i))],void 0),o??y))}if(32768&i.flags){const n=null==(l=i.declarations)?void 0:l.find(isGetAccessor);t.approximateLength+=modifiersLength(f)+8+(_?0:2),e.push(setTextRange2(t,Wr.createGetAccessorDeclaration(Wr.createModifiersFromModifierFlags(f),g,[],_?void 0:serializeTypeForDeclaration(t,n,getTypeOfSymbol(i),i),void 0),n??y))}return e}if(98311&i.flags){const n=(isReadonlySymbol(i)?8:0)|f;return t.approximateLength+=2+(_?0:2)+modifiersLength(n),setTextRange2(t,e(Wr.createModifiersFromModifierFlags(n),g,16777216&i.flags?Wr.createToken(58):void 0,_?void 0:serializeTypeForDeclaration(t,null==(d=i.declarations)?void 0:d.find(isSetAccessorDeclaration),getWriteTypeOfSymbol(i),i),void 0),(null==(p=i.declarations)?void 0:p.find(or(isPropertyDeclaration,isVariableDeclaration)))||y)}if(8208&i.flags){const r=getSignaturesOfType(getTypeOfSymbol(i),0);if(_){const n=(isReadonlySymbol(i)?8:0)|f;return t.approximateLength+=1+modifiersLength(n),setTextRange2(t,e(Wr.createModifiersFromModifierFlags(n),g,16777216&i.flags?Wr.createToken(58):void 0,void 0,void 0),(null==(u=i.declarations)?void 0:u.find(isFunctionLikeDeclaration))||r[0]&&r[0].declaration||i.declarations&&i.declarations[0])}const o=[];for(const e of r){t.approximateLength+=1;const r=signatureToSignatureDeclarationHelper(e,n,t,{name:g,questionToken:16777216&i.flags?Wr.createToken(58):void 0,modifiers:f?Wr.createModifiersFromModifierFlags(f):void 0}),a=e.declaration&&isPrototypePropertyAssignment(e.declaration.parent)?e.declaration.parent:e.declaration;o.push(setTextRange2(t,r,a))}return o}return h.fail(`Unhandled class member kind! ${i.__debugFlags||i.flags}`)}}function modifiersLength(e){let t=0;return 32&e&&(t+=7),128&e&&(t+=8),2048&e&&(t+=8),4096&e&&(t+=6),1&e&&(t+=7),2&e&&(t+=8),4&e&&(t+=10),64&e&&(t+=9),256&e&&(t+=7),16&e&&(t+=9),8&e&&(t+=9),512&e&&(t+=9),1024&e&&(t+=6),8192&e&&(t+=3),16384&e&&(t+=4),t}function serializePropertySymbolForInterface(e,t){return i(e,!1,t)}function serializeSignatures(e,n,r,i){const o=getSignaturesOfType(n,e);if(1===e){if(!r&&every(o,e=>0===length(e.parameters)))return[];if(r){const e=getSignaturesOfType(r,1);if(!length(e)&&every(o,e=>0===length(e.parameters)))return[];if(e.length===o.length){let t=!1;for(let n=0;n<e.length;n++)if(!compareSignaturesIdentical(o[n],e[n],!1,!1,!0,compareTypesIdentical)){t=!0;break}if(!t)return[]}}let e=0;for(const t of o)t.declaration&&(e|=getSelectedEffectiveModifierFlags(t.declaration,6));if(e)return[setTextRange2(t,Wr.createConstructorDeclaration(Wr.createModifiersFromModifierFlags(e),[],void 0),o[0].declaration)]}const a=[];for(const e of o){t.approximateLength+=1;const n=signatureToSignatureDeclarationHelper(e,i,t);a.push(setTextRange2(t,n,e.declaration))}return a}function serializeIndexSignatures(e,n){const r=[];for(const i of getIndexInfosOfType(e)){if(n){const e=getIndexInfoOfType(n,i.keyType);if(e&&isTypeIdenticalTo(i.type,e.type))continue}r.push(indexInfoToIndexSignatureDeclarationHelper(i,t,void 0))}return r}function trySerializeAsTypeReference(e,n){let r,i;if(e.target&&isSymbolAccessibleByFlags(e.target.symbol,o,n)?(r=map(getTypeArguments(e),e=>typeToTypeNodeHelper(e,t)),i=symbolToExpression(e.target.symbol,t,788968)):e.symbol&&isSymbolAccessibleByFlags(e.symbol,o,n)&&(i=symbolToExpression(e.symbol,t,788968)),i)return Wr.createExpressionWithTypeArguments(i,r)}function serializeImplementedType(e){const n=trySerializeAsTypeReference(e,788968);return n||(e.symbol?Wr.createExpressionWithTypeArguments(symbolToExpression(e.symbol,t,788968),void 0):void 0)}function getUnusedName(e,n){var r,i;const o=n?getSymbolId(n):void 0;if(o&&t.remappedSymbolNames.has(o))return t.remappedSymbolNames.get(o);n&&(e=getNameCandidateWorker(n,e));let a=0;const s=e;for(;null==(r=t.usedSymbolNames)?void 0:r.has(e);)a++,e=`${s}_${a}`;return null==(i=t.usedSymbolNames)||i.add(e),o&&t.remappedSymbolNames.set(o,e),e}function getNameCandidateWorker(e,n){if("default"===n||"__class"===n||"__function"===n){const r=saveRestoreFlags(t);t.flags|=16777216;const i=getNameOfSymbolAsWritten(e,t);r(),n=i.length>0&&isSingleOrDoubleQuote(i.charCodeAt(0))?stripQuotes(i):i}return"default"===n?n="_default":"export="===n&&(n="_exports"),n=isIdentifierText(n,x)&&!isStringANonContextualKeyword(n)?n:"_"+n.replace(/[^a-z0-9]/gi,"_")}function getInternalSymbolName(e,n){const r=getSymbolId(e);return t.remappedSymbolNames.has(r)?t.remappedSymbolNames.get(r):(n=getNameCandidateWorker(e,n),t.remappedSymbolNames.set(r,n),n)}}function isExpanding(e){return-1!==e.maxExpansionDepth}function isHashPrivate(e){return!!e.valueDeclaration&&isNamedDeclaration(e.valueDeclaration)&&isPrivateIdentifier(e.valueDeclaration.name)}}(),W=createSyntacticTypeNodeBuilder(S,j.syntacticBuilderResolver),U=createEvaluator({evaluateElementAccessExpression:function evaluateElementAccessExpression(e,t){const n=e.expression;if(isEntityNameExpression(n)&&isStringLiteralLike(e.argumentExpression)){const r=resolveEntityName(n,111551,!0);if(r&&384&r.flags){const n=escapeLeadingUnderscores(e.argumentExpression.text),i=r.exports.get(n);if(i)return h.assert(getSourceFileOfNode(i.valueDeclaration)===getSourceFileOfNode(r.valueDeclaration)),t?evaluateEnumMember(e,i,t):getEnumMemberValue(i.valueDeclaration)}}return evaluatorResult(void 0)},evaluateEntityNameExpression}),z=createSymbolTable(),V=createSymbol(4,"undefined");V.declarations=[];var q=createSymbol(1536,"globalThis",8);q.exports=z,q.declarations=[],z.set(q.escapedName,q);var H,K,G,$=createSymbol(4,"arguments"),Q=createSymbol(4,"require"),X=S.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules",Y=!S.verbatimModuleSyntax,Z=0,ee=0,te=createNameResolver({compilerOptions:S,requireSymbol:Q,argumentsSymbol:$,globals:z,getSymbolOfDeclaration,error:error2,getRequiresScopeChangeCache,setRequiresScopeChangeCache,lookup:getSymbol2,onPropertyWithInvalidInitializer:function checkAndReportErrorForInvalidInitializer(e,t,n,r){if(!E)return e&&!r&&checkAndReportErrorForMissingPrefix(e,t,t)||error2(e,e&&n.type&&textRangeContainsPositionInclusive(n.type,e.pos)?Ot.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:Ot.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,declarationNameToString(n.name),diagnosticName(t)),!0;return!1},onFailedToResolveSymbol:function onFailedToResolveSymbol(e,t,n,r){const i=isString(t)?t:t.escapedText;addLazyDiagnostic(()=>{if(!(e&&(325===e.parent.kind||checkAndReportErrorForMissingPrefix(e,i,t)||checkAndReportErrorForExtendingInterface(e)||function checkAndReportErrorForUsingTypeAsNamespace(e,t,n){const r=1920|(isInJSFile(e)?111551:0);if(n===r){const n=resolveSymbol(te(e,t,788968&~r,void 0,!1)),i=e.parent;if(n){if(isQualifiedName(i)){h.assert(i.left===e,"Should only be resolving left side of qualified name as a namespace");const r=i.right.escapedText;if(getPropertyOfType(getDeclaredTypeOfSymbol(n),r))return error2(i,Ot.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,unescapeLeadingUnderscores(t),unescapeLeadingUnderscores(r)),!0}return error2(e,Ot._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,unescapeLeadingUnderscores(t)),!0}}return!1}(e,i,n)||function checkAndReportErrorForExportingPrimitiveType(e,t){if(isPrimitiveTypeName(t)&&282===e.parent.kind)return error2(e,Ot.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,t),!0;return!1}(e,i)||function checkAndReportErrorForUsingNamespaceAsTypeOrValue(e,t,n){if(111127&n){if(resolveSymbol(te(e,t,1024,void 0,!1)))return error2(e,Ot.Cannot_use_namespace_0_as_a_value,unescapeLeadingUnderscores(t)),!0}else if(788544&n){if(resolveSymbol(te(e,t,1536,void 0,!1)))return error2(e,Ot.Cannot_use_namespace_0_as_a_type,unescapeLeadingUnderscores(t)),!0}return!1}(e,i,n)||function checkAndReportErrorForUsingTypeAsValue(e,t,n){if(111551&n){if(isPrimitiveTypeName(t)){const n=e.parent.parent;if(n&&n.parent&&isHeritageClause(n)){const r=n.token;265===n.parent.kind&&96===r?error2(e,Ot.An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types,unescapeLeadingUnderscores(t)):isClassLike(n.parent)&&96===r?error2(e,Ot.A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values,unescapeLeadingUnderscores(t)):isClassLike(n.parent)&&119===r&&error2(e,Ot.A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types,unescapeLeadingUnderscores(t))}else error2(e,Ot._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,unescapeLeadingUnderscores(t));return!0}const n=resolveSymbol(te(e,t,788544,void 0,!1)),r=n&&getSymbolFlags(n);if(n&&void 0!==r&&!(111551&r)){const r=unescapeLeadingUnderscores(t);return!function isES2015OrLaterConstructorName(e){switch(e){case"Promise":case"Symbol":case"Map":case"WeakMap":case"Set":case"WeakSet":return!0}return!1}(t)?!function maybeMappedType(e,t){const n=findAncestor(e.parent,e=>!isComputedPropertyName(e)&&!isPropertySignature(e)&&(isTypeLiteralNode(e)||"quit"));if(n&&1===n.members.length){const e=getDeclaredTypeOfSymbol(t);return!!(1048576&e.flags)&&allTypesAssignableToKind(e,384,!0)}return!1}(e,n)?error2(e,Ot._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,r):error2(e,Ot._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,r,"K"===r?"P":"K"):error2(e,Ot._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,r),!0}}return!1}(e,i,n)||function checkAndReportErrorForUsingValueAsType(e,t,n){if(788584&n){const n=resolveSymbol(te(e,t,111127,void 0,!1));if(n&&!(1920&n.flags))return error2(e,Ot._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,unescapeLeadingUnderscores(t)),!0}return!1}(e,i,n)))){let o,a;if(t&&(a=function getSuggestedLibForNonExistentName(e){const t=diagnosticName(e),n=un().get(t);return n&&firstIterator(n.keys())}(t),a&&error2(e,r,diagnosticName(t),a)),!a&&ei<ti){o=getSuggestedSymbolForNonexistentSymbol(e,i,n);if((null==o?void 0:o.valueDeclaration)&&isAmbientModule(o.valueDeclaration)&&isGlobalScopeAugmentation(o.valueDeclaration)&&(o=void 0),o){const i=symbolToString(o),a=isUncheckedJSSuggestion(e,o,!1),s=1920===n||t&&"string"!=typeof t&&nodeIsSynthesized(t)?Ot.Cannot_find_namespace_0_Did_you_mean_1:a?Ot.Could_not_find_name_0_Did_you_mean_1:Ot.Cannot_find_name_0_Did_you_mean_1,c=createError(e,s,diagnosticName(t),i);c.canonicalHead=getCanonicalDiagnostic(r,diagnosticName(t)),addErrorOrSuggestion(!a,c),o.valueDeclaration&&addRelatedInfo(c,createDiagnosticForNode(o.valueDeclaration,Ot._0_is_declared_here,i))}}o||a||!t||error2(e,r,diagnosticName(t)),ei++}})},onSuccessfullyResolvedSymbol:function onSuccessfullyResolvedSymbol(e,t,n,r,i,o){addLazyDiagnostic(()=>{var a;const s=t.escapedName,c=r&&isSourceFile(r)&&isExternalOrCommonJsModule(r);if(e&&(2&n||(32&n||384&n)&&!(111551&~n))){const n=getExportSymbolOfValueSymbolIfExported(t);(2&n.flags||32&n.flags||384&n.flags)&&function checkResolvedBlockScopedVariable(e,t){var n;if(h.assert(!!(2&e.flags||32&e.flags||384&e.flags)),67108881&e.flags&&32&e.flags)return;const r=null==(n=e.declarations)?void 0:n.find(e=>isBlockOrCatchScoped(e)||isClassLike(e)||267===e.kind);if(void 0===r)return h.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");if(!(33554432&r.flags||isBlockScopedNameDeclaredBeforeUse(r,t))){let n;const i=declarationNameToString(getNameOfDeclaration(r));2&e.flags?n=error2(t,Ot.Block_scoped_variable_0_used_before_its_declaration,i):32&e.flags?n=error2(t,Ot.Class_0_used_before_its_declaration,i):256&e.flags?n=error2(t,Ot.Enum_0_used_before_its_declaration,i):(h.assert(!!(128&e.flags)),Kn(S)&&(n=error2(t,Ot.Enum_0_used_before_its_declaration,i))),n&&addRelatedInfo(n,createDiagnosticForNode(r,Ot._0_is_declared_here,i))}}(n,e)}if(c&&!(111551&~n)&&!(16777216&e.flags)){const n=getMergedSymbol(t);length(n.declarations)&&every(n.declarations,e=>isNamespaceExportDeclaration(e)||isSourceFile(e)&&!!e.symbol.globalExports)&&errorOrSuggestion(!S.allowUmdGlobalAccess,e,Ot._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,unescapeLeadingUnderscores(s))}if(i&&!o&&!(111551&~n)){const r=getMergedSymbol(getLateBoundSymbol(t)),o=getRootDeclaration(i);r===getSymbolOfDeclaration(i)?error2(e,Ot.Parameter_0_cannot_reference_itself,declarationNameToString(i.name)):r.valueDeclaration&&r.valueDeclaration.pos>i.pos&&o.parent.locals&&getSymbol2(o.parent.locals,r.escapedName,n)===r&&error2(e,Ot.Parameter_0_cannot_reference_identifier_1_declared_after_it,declarationNameToString(i.name),declarationNameToString(e))}if(e&&111551&n&&2097152&t.flags&&!(111551&t.flags)&&!isValidTypeOnlyAliasUseSite(e)){const n=getTypeOnlyAliasDeclaration(t,111551);if(n){const t=282===n.kind||279===n.kind||281===n.kind?Ot._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:Ot._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,r=unescapeLeadingUnderscores(s);addTypeOnlyDeclarationRelatedInfo(error2(e,t,r),n,r)}}if(S.isolatedModules&&t&&c&&!(111551&~n)){const e=getSymbol2(z,s,n)===t&&isSourceFile(r)&&r.locals&&getSymbol2(r.locals,s,-111552);if(e){const t=null==(a=e.declarations)?void 0:a.find(e=>277===e.kind||274===e.kind||275===e.kind||272===e.kind);t&&!isTypeOnlyImportDeclaration(t)&&error2(t,Ot.Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled,unescapeLeadingUnderscores(s))}}})}}),ne=createNameResolver({compilerOptions:S,requireSymbol:Q,argumentsSymbol:$,globals:z,getSymbolOfDeclaration,error:error2,getRequiresScopeChangeCache,setRequiresScopeChangeCache,lookup:function getSuggestionForSymbolNameLookup(e,t,n){const r=getSymbol2(e,t,n);if(r)return r;let i;if(e===z){i=mapDefined(["string","number","boolean","object","bigint","symbol"],t=>e.has(t.charAt(0).toUpperCase()+t.slice(1))?createSymbol(524288,t):void 0).concat(arrayFrom(e.values()))}else i=arrayFrom(e.values());return getSpellingSuggestionForName(unescapeLeadingUnderscores(t),i,n)}});const re={getNodeCount:()=>reduceLeft(e.getSourceFiles(),(e,t)=>e+t.nodeCount,0),getIdentifierCount:()=>reduceLeft(e.getSourceFiles(),(e,t)=>e+t.identifierCount,0),getSymbolCount:()=>reduceLeft(e.getSourceFiles(),(e,t)=>e+t.symbolCount,p),getTypeCount:()=>d,getInstantiationCount:()=>u,getRelationCacheSizes:()=>({assignable:ki.size,identity:Pi.size,subtype:Ei.size,strictSubtype:Ni.size}),isUndefinedSymbol:e=>e===V,isArgumentsSymbol:e=>e===$,isUnknownSymbol:e=>e===ve,getMergedSymbol,symbolIsValue,getDiagnostics:getDiagnostics2,getGlobalDiagnostics:function getGlobalDiagnostics(){return ensurePendingDiagnosticWorkComplete(),vi.getGlobalDiagnostics()},getRecursionIdentity,getUnmatchedProperties,getTypeOfSymbolAtLocation:(e,t)=>{const n=getParseTreeNode(t);return n?function getTypeOfSymbolAtLocation(e,t){if(e=getExportSymbolOfValueSymbolIfExported(e),(80===t.kind||81===t.kind)&&(isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),isExpressionNode(t)&&(!isAssignmentTarget(t)||isWriteAccess(t)))){const n=removeOptionalTypeMarker(isWriteAccess(t)&&212===t.kind?checkPropertyAccessExpression(t,void 0,!0):getTypeOfExpression(t));if(getExportSymbolOfValueSymbolIfExported(getNodeLinks(t).resolvedSymbol)===e)return n}if(isDeclarationName(t)&&isSetAccessor(t.parent)&&getAnnotatedAccessorTypeNode(t.parent))return getWriteTypeOfAccessors(t.parent.symbol);return isRightSideOfAccessExpression(t)&&isWriteAccess(t.parent)?getWriteTypeOfSymbol(e):getNonMissingTypeOfSymbol(e)}(e,n):Ie},getTypeOfSymbol,getSymbolsOfParameterPropertyDeclaration:(e,t)=>{const n=getParseTreeNode(e,isParameter);return void 0===n?h.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."):(h.assert(isParameterPropertyDeclaration(n,n.parent)),function getSymbolsOfParameterPropertyDeclaration(e,t){const n=e.parent,r=e.parent.parent,i=getSymbol2(n.locals,t,111551),o=getSymbol2(getMembersOfSymbol(r.symbol),t,111551);if(i&&o)return[i,o];return h.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}(n,escapeLeadingUnderscores(t)))},getDeclaredTypeOfSymbol,getPropertiesOfType,getPropertyOfType:(e,t)=>getPropertyOfType(e,escapeLeadingUnderscores(t)),getPrivateIdentifierPropertyOfType:(e,t,n)=>{const r=getParseTreeNode(n);if(!r)return;const i=lookupSymbolForPrivateIdentifierDeclaration(escapeLeadingUnderscores(t),r);return i?getPrivateIdentifierPropertyOfType(e,i):void 0},getTypeOfPropertyOfType:(e,t)=>getTypeOfPropertyOfType(e,escapeLeadingUnderscores(t)),getIndexInfoOfType:(e,t)=>getIndexInfoOfType(e,0===t?ze:Ve),getIndexInfosOfType,getIndexInfosOfIndexSymbol,getSignaturesOfType,getIndexTypeOfType:(e,t)=>getIndexTypeOfType(e,0===t?ze:Ve),getIndexType:e=>getIndexType(e),getBaseTypes,getBaseTypeOfLiteralType,getWidenedType,getWidenedLiteralType,fillMissingTypeArguments,getTypeFromTypeNode:e=>{const t=getParseTreeNode(e,isTypeNode);return t?getTypeFromTypeNode(t):Ie},getParameterType:getTypeAtPosition,getParameterIdentifierInfoAtPosition:function getParameterIdentifierInfoAtPosition(e,t){var n;if(318===(null==(n=e.declaration)?void 0:n.kind))return;const r=e.parameters.length-(signatureHasRestParameter(e)?1:0);if(t<r){const n=e.parameters[t],r=getParameterDeclarationIdentifier(n);return r?{parameter:r,parameterName:n.escapedName,isRestParameter:!1}:void 0}const i=e.parameters[r]||ve,o=getParameterDeclarationIdentifier(i);if(!o)return;const a=getTypeOfSymbol(i);if(isTupleType(a)){const e=a.target.labeledElementDeclarations,n=null==e?void 0:e[t-r],i=!!(null==n?void 0:n.dotDotDotToken);return n?(h.assert(isIdentifier(n.name)),{parameter:n.name,parameterName:n.name.escapedText,isRestParameter:i}):void 0}if(t===r)return{parameter:o,parameterName:i.escapedName,isRestParameter:!0};return},getPromisedTypeOfPromise,getAwaitedType:e=>getAwaitedType(e),getReturnTypeOfSignature,isNullableType,getNullableType,getNonNullableType,getNonOptionalType:removeOptionalTypeMarker,getTypeArguments,typeToTypeNode:j.typeToTypeNode,typePredicateToTypePredicateNode:j.typePredicateToTypePredicateNode,indexInfoToIndexSignatureDeclaration:j.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:j.signatureToSignatureDeclaration,symbolToEntityName:j.symbolToEntityName,symbolToExpression:j.symbolToExpression,symbolToNode:j.symbolToNode,symbolToTypeParameterDeclarations:j.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:j.symbolToParameterDeclaration,typeParameterToDeclaration:j.typeParameterToDeclaration,getSymbolsInScope:(e,t)=>{const n=getParseTreeNode(e);return n?function getSymbolsInScope(e,t){if(67108864&e.flags)return[];const n=createSymbolTable();let r=!1;return populateSymbols(),n.delete("this"),symbolsToArray(n);function populateSymbols(){for(;e;){switch(canHaveLocals(e)&&e.locals&&!isGlobalSourceFile(e)&©Symbols(e.locals,t),e.kind){case 308:if(!isExternalModule(e))break;case 268:copyLocallyVisibleExportSymbols(getSymbolOfDeclaration(e).exports,2623475&t);break;case 267:copySymbols(getSymbolOfDeclaration(e).exports,8&t);break;case 232:e.name&©Symbol(e.symbol,t);case 264:case 265:r||copySymbols(getMembersOfSymbol(getSymbolOfDeclaration(e)),788968&t);break;case 219:e.name&©Symbol(e.symbol,t)}introducesArgumentsExoticObject(e)&©Symbol($,t),r=isStatic(e),e=e.parent}copySymbols(z,t)}function copySymbol(e,t){if(getCombinedLocalAndExportSymbolFlags(e)&t){const t=e.escapedName;n.has(t)||n.set(t,e)}}function copySymbols(e,t){t&&e.forEach(e=>{copySymbol(e,t)})}function copyLocallyVisibleExportSymbols(e,t){t&&e.forEach(e=>{getDeclarationOfKind(e,282)||getDeclarationOfKind(e,281)||"default"===e.escapedName||copySymbol(e,t)})}}(n,t):[]},getSymbolAtLocation:e=>{const t=getParseTreeNode(e);return t?getSymbolAtLocation(t,!0):void 0},getIndexInfosAtLocation:e=>{const t=getParseTreeNode(e);return t?function getIndexInfosAtLocation(e){if(isIdentifier(e)&&isPropertyAccessExpression(e.parent)&&e.parent.name===e){const t=getLiteralTypeFromPropertyName(e),n=getTypeOfExpression(e.parent.expression);return flatMap(1048576&n.flags?n.types:[n],e=>filter(getIndexInfosOfType(e),e=>isApplicableIndexType(t,e.keyType)))}return}(t):void 0},getShorthandAssignmentValueSymbol:e=>{const t=getParseTreeNode(e);return t?function getShorthandAssignmentValueSymbol(e){if(e&&305===e.kind)return resolveEntityName(e.name,2208703,!0);return}(t):void 0},getExportSpecifierLocalTargetSymbol:e=>{const t=getParseTreeNode(e,isExportSpecifier);return t?function getExportSpecifierLocalTargetSymbol(e){if(isExportSpecifier(e)){const t=e.propertyName||e.name;return e.parent.parent.moduleSpecifier?getExternalModuleMember(e.parent.parent,e):11===t.kind?void 0:resolveEntityName(t,2998271,!0)}return resolveEntityName(e,2998271,!0)}(t):void 0},getExportSymbolOfSymbol:e=>getMergedSymbol(e.exportSymbol||e),getTypeAtLocation:e=>{const t=getParseTreeNode(e);return t?getTypeOfNode(t):Ie},getTypeOfAssignmentPattern:e=>{const t=getParseTreeNode(e,isAssignmentPattern);return t&&getTypeOfAssignmentPattern(t)||Ie},getPropertySymbolOfDestructuringAssignment:e=>{const t=getParseTreeNode(e,isIdentifier);return t?function getPropertySymbolOfDestructuringAssignment(e){const t=getTypeOfAssignmentPattern(cast(e.parent.parent,isAssignmentPattern));return t&&getPropertyOfType(t,e.escapedText)}(t):void 0},signatureToString:(e,t,n,r)=>signatureToString(e,getParseTreeNode(t),n,r),typeToString:(e,t,n)=>typeToString(e,getParseTreeNode(t),n),symbolToString:(e,t,n,r)=>symbolToString(e,getParseTreeNode(t),n,r),typePredicateToString:(e,t,n)=>typePredicateToString(e,getParseTreeNode(t),n),writeSignature:(e,t,n,r,i,o,a,s)=>signatureToString(e,getParseTreeNode(t),n,r,i,o,a,s),writeType:(e,t,n,r,i,o,a)=>typeToString(e,getParseTreeNode(t),n,r,i,o,a),writeSymbol:(e,t,n,r,i)=>symbolToString(e,getParseTreeNode(t),n,r,i),writeTypePredicate:(e,t,n,r)=>typePredicateToString(e,getParseTreeNode(t),n,r),getAugmentedPropertiesOfType,getRootSymbols:function getRootSymbols(e){const t=function getImmediateRootSymbols(e){if(6&getCheckFlags(e))return mapDefined(getSymbolLinks(e).containingType.types,t=>getPropertyOfType(t,e.escapedName));if(33554432&e.flags){const{links:{leftSpread:t,rightSpread:n,syntheticOrigin:r}}=e;return t?[t,n]:r?[r]:singleElementArray(function tryGetTarget(e){let t,n=e;for(;n=getSymbolLinks(n).target;)t=n;return t}(e))}return}(e);return t?flatMap(t,getRootSymbols):[e]},getSymbolOfExpando,getContextualType:(e,t)=>{const n=getParseTreeNode(e,isExpression);if(n)return 4&t?runWithInferenceBlockedFromSourceNode(n,()=>getContextualType2(n,t)):getContextualType2(n,t)},getContextualTypeForObjectLiteralElement:e=>{const t=getParseTreeNode(e,isObjectLiteralElementLike);return t?getContextualTypeForObjectLiteralElement(t,void 0):void 0},getContextualTypeForArgumentAtIndex:(e,t)=>{const n=getParseTreeNode(e,isCallLikeExpression);return n&&getContextualTypeForArgumentAtIndex(n,t)},getContextualTypeForJsxAttribute:e=>{const t=getParseTreeNode(e,isJsxAttributeLike);return t&&getContextualTypeForJsxAttribute(t,void 0)},isContextSensitive,getTypeOfPropertyOfContextualType,getFullyQualifiedName,getResolvedSignature:(e,t,n)=>getResolvedSignatureWorker(e,t,n,0),getCandidateSignaturesForStringLiteralCompletions:function getCandidateSignaturesForStringLiteralCompletions(e,t){const n=new Set,r=[];runWithInferenceBlockedFromSourceNode(t,()=>getResolvedSignatureWorker(e,r,void 0,0));for(const e of r)n.add(e);r.length=0,runWithoutResolvedSignatureCaching(t,()=>getResolvedSignatureWorker(e,r,void 0,0));for(const e of r)n.add(e);return arrayFrom(n)},getResolvedSignatureForSignatureHelp:(e,t,n)=>runWithoutResolvedSignatureCaching(e,()=>getResolvedSignatureWorker(e,t,n,16)),getExpandedParameters,hasEffectiveRestParameter,containsArgumentsReference,getConstantValue:e=>{const t=getParseTreeNode(e,canHaveConstantValue);return t?getConstantValue2(t):void 0},isValidPropertyAccess:(e,t)=>{const n=getParseTreeNode(e,isPropertyAccessOrQualifiedNameOrImportTypeNode);return!!n&&function isValidPropertyAccess(e,t){switch(e.kind){case 212:return isValidPropertyAccessWithType(e,108===e.expression.kind,t,getWidenedType(checkExpression(e.expression)));case 167:return isValidPropertyAccessWithType(e,!1,t,getWidenedType(checkExpression(e.left)));case 206:return isValidPropertyAccessWithType(e,!1,t,getTypeFromTypeNode(e))}}(n,escapeLeadingUnderscores(t))},isValidPropertyAccessForCompletions:(e,t,n)=>{const r=getParseTreeNode(e,isPropertyAccessExpression);return!!r&&isValidPropertyAccessForCompletions(r,t,n)},getSignatureFromDeclaration:e=>{const t=getParseTreeNode(e,isFunctionLike);return t?getSignatureFromDeclaration(t):void 0},isImplementationOfOverload:e=>{const t=getParseTreeNode(e,isFunctionLike);return t?isImplementationOfOverload(t):void 0},getImmediateAliasedSymbol,getAliasedSymbol:resolveAlias,getEmitResolver:function getEmitResolver(e,t,n){n||getDiagnostics2(e,t);return B},requiresAddingImplicitUndefined,getExportsOfModule:getExportsOfModuleAsArray,getExportsAndPropertiesOfModule:function getExportsAndPropertiesOfModule(e){const t=getExportsOfModuleAsArray(e),n=resolveExternalModuleSymbol(e);if(n!==e){const e=getTypeOfSymbol(n);shouldTreatPropertiesOfExternalModuleAsExports(e)&&addRange(t,getPropertiesOfType(e))}return t},forEachExportAndPropertyOfModule:function forEachExportAndPropertyOfModule(e,t){getExportsOfModule(e).forEach((e,n)=>{isReservedMemberName(n)||t(e,n)});const n=resolveExternalModuleSymbol(e);if(n!==e){const e=getTypeOfSymbol(n);shouldTreatPropertiesOfExternalModuleAsExports(e)&&function forEachPropertyOfType(e,t){e=getReducedApparentType(e),3670016&e.flags&&resolveStructuredTypeMembers(e).members.forEach((e,n)=>{isNamedMember(e,n)&&t(e,n)})}(e,(e,n)=>{t(e,n)})}},getSymbolWalker:createGetSymbolWalker(function getRestTypeOfSignature(e){return tryGetRestTypeOfSignature(e)||ke},getTypePredicateOfSignature,getReturnTypeOfSignature,getBaseTypes,resolveStructuredTypeMembers,getTypeOfSymbol,getResolvedSymbol,getConstraintOfTypeParameter,getFirstIdentifier,getTypeArguments),getAmbientModules:function getAmbientModules(){Rt||(Rt=[],z.forEach((e,t)=>{Go.test(t)&&Rt.push(e)}));return Rt},getJsxIntrinsicTagNamesAt:function getJsxIntrinsicTagNamesAt(e){const t=getJsxType(qo.IntrinsicElements,e);return t?getPropertiesOfType(t):l},isOptionalParameter:e=>{const t=getParseTreeNode(e,isParameter);return!!t&&isOptionalParameter(t)},tryGetMemberInModuleExports:(e,t)=>tryGetMemberInModuleExports(escapeLeadingUnderscores(e),t),tryGetMemberInModuleExportsAndProperties:(e,t)=>function tryGetMemberInModuleExportsAndProperties(e,t){const n=tryGetMemberInModuleExports(e,t);if(n)return n;const r=resolveExternalModuleSymbol(t);if(r===t)return;const i=getTypeOfSymbol(r);return shouldTreatPropertiesOfExternalModuleAsExports(i)?getPropertyOfType(i,e):void 0}(escapeLeadingUnderscores(e),t),tryFindAmbientModule:e=>tryFindAmbientModule(e,!0),getApparentType,getUnionType,isTypeAssignableTo,createAnonymousType,createSignature,createSymbol,createIndexInfo,getAnyType:()=>ke,getStringType:()=>ze,getStringLiteralType,getNumberType:()=>Ve,getNumberLiteralType,getBigIntType:()=>qe,getBigIntLiteralType,getUnknownType:()=>Le,createPromiseType,createArrayType,getElementTypeOfArrayType,getBooleanType:()=>Ye,getFalseType:e=>e?He:Ke,getTrueType:e=>e?Ge:Qe,getVoidType:()=>et,getUndefinedType:()=>Me,getNullType:()=>We,getESSymbolType:()=>Ze,getNeverType:()=>tt,getNonPrimitiveType:()=>ot,getOptionalType:()=>Je,getPromiseType:()=>getGlobalPromiseType(!1),getPromiseLikeType:()=>getGlobalPromiseLikeType(!1),getAnyAsyncIterableType:()=>{const e=getGlobalAsyncIterableType(!1);if(e!==Et)return createTypeReference(e,[ke,ke,ke])},isSymbolAccessible,isArrayType,isTupleType,isArrayLikeType,isEmptyAnonymousObjectType,isTypeInvalidDueToUnionDiscriminant:function isTypeInvalidDueToUnionDiscriminant(e,t){return t.properties.some(t=>{const n=t.name&&(isJsxNamespacedName(t.name)?getStringLiteralType(getTextOfJsxAttributeName(t.name)):getLiteralTypeFromPropertyName(t.name)),r=n&&isTypeUsableAsPropertyName(n)?getPropertyNameFromType(n):void 0,i=void 0===r?void 0:getTypeOfPropertyOfType(e,r);return!!i&&isLiteralType(i)&&!isTypeAssignableTo(getTypeOfNode(t),i)})},getExactOptionalProperties:function getExactOptionalProperties(e){return getPropertiesOfType(e).filter(e=>containsMissingType(getTypeOfSymbol(e)))},getAllPossiblePropertiesOfTypes:function getAllPossiblePropertiesOfTypes(e){const t=getUnionType(e);if(!(1048576&t.flags))return getAugmentedPropertiesOfType(t);const n=createSymbolTable();for(const r of e)for(const{escapedName:e}of getAugmentedPropertiesOfType(r))if(!n.has(e)){const r=createUnionOrIntersectionProperty(t,e);r&&n.set(e,r)}return arrayFrom(n.values())},getSuggestedSymbolForNonexistentProperty,getSuggestedSymbolForNonexistentJSXAttribute,getSuggestedSymbolForNonexistentSymbol:(e,t,n)=>getSuggestedSymbolForNonexistentSymbol(e,escapeLeadingUnderscores(t),n),getSuggestedSymbolForNonexistentModule,getSuggestedSymbolForNonexistentClassMember,getBaseConstraintOfType,getDefaultFromTypeParameter:e=>e&&262144&e.flags?getDefaultFromTypeParameter(e):void 0,resolveName:(e,t,n,r)=>te(t,escapeLeadingUnderscores(e),n,void 0,!1,r),getJsxNamespace:e=>unescapeLeadingUnderscores(getJsxNamespace(e)),getJsxFragmentFactory:e=>{const t=getJsxFragmentFactoryEntity(e);return t&&unescapeLeadingUnderscores(getFirstIdentifier(t).escapedText)},getAccessibleSymbolChain,getTypePredicateOfSignature,resolveExternalModuleName:e=>{const t=getParseTreeNode(e,isExpression);return t&&resolveExternalModuleName(t,t,!0)},resolveExternalModuleSymbol,tryGetThisTypeAt:(e,t,n)=>{const r=getParseTreeNode(e);return r&&tryGetThisTypeAt(r,t,n)},getTypeArgumentConstraint:e=>{const t=getParseTreeNode(e,isTypeNode);return t&&function getTypeArgumentConstraint(e){const t=tryCast(e.parent,isTypeReferenceType);if(!t)return;const n=getTypeParametersForTypeReferenceOrImport(t);if(!n)return;const r=getConstraintOfTypeParameter(n[t.typeArguments.indexOf(e)]);return r&&instantiateType(r,createTypeMapper(n,getEffectiveTypeArguments2(t,n)))}(t)},getSuggestionDiagnostics:(n,r)=>{const i=getParseTreeNode(n,isSourceFile)||h.fail("Could not determine parsed source file.");if(skipTypeChecking(i,S,e))return l;let o;try{return t=r,checkSourceFileWithEagerDiagnostics(i),h.assert(!!(1&getNodeLinks(i).flags)),o=addRange(o,bi.getDiagnostics(i.fileName)),checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(i),(e,t,n)=>{containsParseError(e)||unusedIsError(t,!!(33554432&e.flags))||(o||(o=[])).push({...n,category:2})}),o||l}finally{t=void 0}},runWithCancellationToken:(e,n)=>{try{return t=e,n(re)}finally{t=void 0}},getLocalTypeParametersOfClassOrInterfaceOrTypeAlias,isDeclarationVisible,isPropertyAccessible,getTypeOnlyAliasDeclaration,getMemberOverrideModifierStatus:function getMemberOverrideModifierStatus(e,t,n){if(!t.name)return 0;const r=getSymbolOfDeclaration(e),i=getDeclaredTypeOfSymbol(r),o=getTypeWithThisArgument(i),a=getTypeOfSymbol(r),s=getEffectiveBaseTypeNode(e)&&getBaseTypes(i),c=(null==s?void 0:s.length)?getTypeWithThisArgument(first(s),i.thisType):void 0,l=getBaseConstructorTypeOfClass(i),d=t.parent?hasOverrideModifier(t):hasSyntacticModifier(t,16);return checkMemberForOverrideModifier(e,a,l,c,i,o,d,hasAbstractModifier(t),isStatic(t),!1,n)},isTypeParameterPossiblyReferenced,typeHasCallOrConstructSignatures,getSymbolFlags,getTypeArgumentsForResolvedSignature:function getTypeArgumentsForResolvedSignature(e){return void 0===e.mapper?void 0:instantiateTypes((e.target||e).typeParameters,e.mapper)},isLibType};function runWithoutResolvedSignatureCaching(e,t){if(e=findAncestor(e,isCallLikeOrFunctionLikeExpression)){const n=[],r=[];for(;e;){const t=getNodeLinks(e);if(n.push([t,t.resolvedSignature]),t.resolvedSignature=void 0,isFunctionExpressionOrArrowFunction(e)){const t=getSymbolLinks(getSymbolOfDeclaration(e)),n=t.type;r.push([t,n]),t.type=void 0}e=findAncestor(e.parent,isCallLikeOrFunctionLikeExpression)}const i=t();for(const[e,t]of n)e.resolvedSignature=t;for(const[e,t]of r)e.type=t;return i}return t()}function runWithInferenceBlockedFromSourceNode(e,t){const n=findAncestor(e,isCallLikeExpression);if(n){let t=e;do{getNodeLinks(t).skipDirectInference=!0,t=t.parent}while(t&&t!==n)}g=!0;const r=runWithoutResolvedSignatureCaching(e,t);if(g=!1,n){let t=e;do{getNodeLinks(t).skipDirectInference=void 0,t=t.parent}while(t&&t!==n)}return r}function getResolvedSignatureWorker(e,t,n,r){const i=getParseTreeNode(e,isCallLikeExpression);H=n;const o=i?getResolvedSignature(i,t,r):void 0;return H=void 0,o}var ie=new Map,oe=new Map,ae=new Map,se=new Map,ce=new Map,le=new Map,de=new Map,pe=new Map,ue=new Map,me=new Map,_e=new Map,fe=new Map,ge=new Map,ye=new Map,he=new Map,Te=[],Se=new Map,xe=new Set,ve=createSymbol(4,"unknown"),be=createSymbol(0,"__resolving__"),Ce=new Map,Ee=new Map,Ne=new Set,ke=createIntrinsicType(1,"any"),Fe=createIntrinsicType(1,"any",262144,"auto"),Pe=createIntrinsicType(1,"any",void 0,"wildcard"),De=createIntrinsicType(1,"any",void 0,"blocked string"),Ie=createIntrinsicType(1,"error"),Ae=createIntrinsicType(1,"unresolved"),Oe=createIntrinsicType(1,"any",65536,"non-inferrable"),we=createIntrinsicType(1,"intrinsic"),Le=createIntrinsicType(2,"unknown"),Me=createIntrinsicType(32768,"undefined"),Re=k?Me:createIntrinsicType(32768,"undefined",65536,"widening"),Be=createIntrinsicType(32768,"undefined",void 0,"missing"),je=L?Be:Me,Je=createIntrinsicType(32768,"undefined",void 0,"optional"),We=createIntrinsicType(65536,"null"),Ue=k?We:createIntrinsicType(65536,"null",65536,"widening"),ze=createIntrinsicType(4,"string"),Ve=createIntrinsicType(8,"number"),qe=createIntrinsicType(64,"bigint"),He=createIntrinsicType(512,"false",void 0,"fresh"),Ke=createIntrinsicType(512,"false"),Ge=createIntrinsicType(512,"true",void 0,"fresh"),Qe=createIntrinsicType(512,"true");Ge.regularType=Qe,Ge.freshType=Ge,Qe.regularType=Qe,Qe.freshType=Ge,He.regularType=Ke,He.freshType=He,Ke.regularType=Ke,Ke.freshType=He;var Xe,Ye=getUnionType([Ke,Qe]),Ze=createIntrinsicType(4096,"symbol"),et=createIntrinsicType(16384,"void"),tt=createIntrinsicType(131072,"never"),nt=createIntrinsicType(131072,"never",262144,"silent"),rt=createIntrinsicType(131072,"never",void 0,"implicit"),it=createIntrinsicType(131072,"never",void 0,"unreachable"),ot=createIntrinsicType(67108864,"object"),at=getUnionType([ze,Ve]),st=getUnionType([ze,Ve,Ze]),ct=getUnionType([Ve,qe]),dt=getUnionType([ze,Ve,Ye,qe,We,Me]),pt=getTemplateLiteralType(["",""],[Ve]),ut=makeFunctionTypeMapper(e=>262144&e.flags?function getRestrictiveTypeParameter(e){return!e.constraint&&!getConstraintDeclaration(e)||e.constraint===kt?e:e.restrictiveInstantiation||(e.restrictiveInstantiation=createTypeParameter(e.symbol),e.restrictiveInstantiation.constraint=kt,e.restrictiveInstantiation)}(e):e,()=>"(restrictive mapper)"),mt=makeFunctionTypeMapper(e=>262144&e.flags?Pe:e,()=>"(permissive mapper)"),_t=createIntrinsicType(131072,"never",void 0,"unique literal"),ft=makeFunctionTypeMapper(e=>262144&e.flags?_t:e,()=>"(unique literal mapper)"),gt=makeFunctionTypeMapper(e=>(!Xe||e!==Dt&&e!==It&&e!==At||Xe(!0),e),()=>"(unmeasurable reporter)"),yt=makeFunctionTypeMapper(e=>(!Xe||e!==Dt&&e!==It&&e!==At||Xe(!1),e),()=>"(unreliable reporter)"),ht=createAnonymousType(void 0,y,l,l,l),Tt=createAnonymousType(void 0,y,l,l,l);Tt.objectFlags|=2048;var St=createAnonymousType(void 0,y,l,l,l);St.objectFlags|=141440;var xt=createSymbol(2048,"__type");xt.members=createSymbolTable();var vt=createAnonymousType(xt,y,l,l,l),bt=createAnonymousType(void 0,y,l,l,l),Ct=k?getUnionType([Me,We,bt]):Le,Et=createAnonymousType(void 0,y,l,l,l);Et.instantiations=new Map;var Nt=createAnonymousType(void 0,y,l,l,l);Nt.objectFlags|=262144;var kt=createAnonymousType(void 0,y,l,l,l),Ft=createAnonymousType(void 0,y,l,l,l),Pt=createAnonymousType(void 0,y,l,l,l),Dt=createTypeParameter(),It=createTypeParameter();It.constraint=Dt;var At=createTypeParameter(),wt=createTypeParameter(),Lt=createTypeParameter();Lt.constraint=wt;var Mt,Rt,Bt,jt,Jt,Wt,Ut,zt,Vt,qt,Ht,Kt,Gt,$t,Qt,Xt,Yt,Zt,en,tn,nn,rn,on,dn,pn,mn,_n,fn,gn,yn,hn,Tn,Sn,xn,vn,bn,Cn,En,Nn,kn,Fn,Pn,Dn,In,An,On,wn,Ln,Mn,Rn,jn,Jn,Wn,Un,Hn,Qn,Xn,tr,nr,rr,ar,sr,cr,lr,dr,pr,ur,mr=createTypePredicate(1,"<<unresolved>>",0,ke),_r=createSignature(void 0,void 0,void 0,l,ke,void 0,0,0),fr=createSignature(void 0,void 0,void 0,l,Ie,void 0,0,0),gr=createSignature(void 0,void 0,void 0,l,ke,void 0,0,0),yr=createSignature(void 0,void 0,void 0,l,nt,void 0,0,0),hr=createIndexInfo(Ve,ze,!0),Tr=createIndexInfo(ze,ke,!1),Sr=new Map,xr={get yieldType(){return h.fail("Not supported")},get returnType(){return h.fail("Not supported")},get nextType(){return h.fail("Not supported")}},vr=createIterationTypes(ke,ke,ke),br=createIterationTypes(nt,nt,nt),Cr={iterableCacheKey:"iterationTypesOfAsyncIterable",iteratorCacheKey:"iterationTypesOfAsyncIterator",iteratorSymbolName:"asyncIterator",getGlobalIteratorType:function getGlobalAsyncIteratorType(e){return bn||(bn=getGlobalType("AsyncIterator",3,e))||Et},getGlobalIterableType:getGlobalAsyncIterableType,getGlobalIterableIteratorType:getGlobalAsyncIterableIteratorType,getGlobalIteratorObjectType:function getGlobalAsyncIteratorObjectType(e){return kn||(kn=getGlobalType("AsyncIteratorObject",3,e))||Et},getGlobalGeneratorType:function getGlobalAsyncGeneratorType(e){return Fn||(Fn=getGlobalType("AsyncGenerator",3,e))||Et},getGlobalBuiltinIteratorTypes:function getGlobalBuiltinAsyncIteratorTypes(){return Nn??(Nn=getGlobalBuiltinTypes(["ReadableStreamAsyncIterator"],1))},resolveIterationType:(e,t)=>getAwaitedType(e,t,Ot.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member),mustHaveANextMethodDiagnostic:Ot.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:Ot.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:Ot.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},Er={iterableCacheKey:"iterationTypesOfIterable",iteratorCacheKey:"iterationTypesOfIterator",iteratorSymbolName:"iterator",getGlobalIteratorType:function getGlobalIteratorType(e){return gn||(gn=getGlobalType("Iterator",3,e))||Et},getGlobalIterableType,getGlobalIterableIteratorType,getGlobalIteratorObjectType:function getGlobalIteratorObjectType(e){return hn||(hn=getGlobalType("IteratorObject",3,e))||Et},getGlobalGeneratorType:function getGlobalGeneratorType(e){return Tn||(Tn=getGlobalType("Generator",3,e))||Et},getGlobalBuiltinIteratorTypes:function getGlobalBuiltinIteratorTypes(){return En??(En=getGlobalBuiltinTypes(["ArrayIterator","MapIterator","SetIterator","StringIterator"],1))},resolveIterationType:(e,t)=>e,mustHaveANextMethodDiagnostic:Ot.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:Ot.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:Ot.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},Nr=new Map,kr=new Map,Fr=new Map,Pr=0,Dr=0,Ir=0,Ar=!1,Or=0,wr=[],Lr=[],Mr=[],Rr=0,Br=[],jr=[],Jr=[],Ur=0,zr=[],Vr=[],qr=0,Hr=getStringLiteralType(""),Kr=getNumberLiteralType(0),Gr=getBigIntLiteralType({negative:!1,base10Value:"0"}),$r=[],Qr=[],Xr=[],Yr=0,Zr=!1,ei=0,ti=10,ni=[],ri=[],ii=[],oi=[],ai=[],si=[],ci=[],li=[],di=[],pi=[],ui=[],mi=[],_i=[],fi=[],gi=[],yi=[],hi=[],Ti=[],Si=[],xi=0,vi=createDiagnosticCollection(),bi=createDiagnosticCollection(),Ci=function createTypeofType(){return getUnionType(arrayFrom(ta.keys(),getStringLiteralType))}(),Ei=new Map,Ni=new Map,ki=new Map,Fi=new Map,Pi=new Map,Ii=new Map,Ai=[[".mts",".mjs"],[".ts",".js"],[".cts",".cjs"],[".mjs",".mjs"],[".js",".js"],[".cjs",".cjs"],[".tsx",1===S.jsx?".jsx":".js"],[".jsx",".jsx"],[".json",".json"]];return function initializeTypeChecker(){for(const t of e.getSourceFiles())bindSourceFile(t,S);let t;Mt=new Map;for(const n of e.getSourceFiles())if(!n.redirectInfo){if(!isExternalOrCommonJsModule(n)){const e=n.locals.get("globalThis");if(null==e?void 0:e.declarations)for(const t of e.declarations)vi.add(createDiagnosticForNode(t,Ot.Declaration_name_conflicts_with_built_in_global_identifier_0,"globalThis"));mergeSymbolTable(z,n.locals)}if(n.jsGlobalAugmentations&&mergeSymbolTable(z,n.jsGlobalAugmentations),n.patternAmbientModules&&n.patternAmbientModules.length&&(Bt=concatenate(Bt,n.patternAmbientModules)),n.moduleAugmentations.length&&(t||(t=[])).push(n.moduleAugmentations),n.symbol&&n.symbol.globalExports){n.symbol.globalExports.forEach((e,t)=>{z.has(t)||z.set(t,e)})}}if(t)for(const e of t)for(const t of e)isGlobalScopeAugmentation(t.parent)&&mergeModuleAugmentation(t);(function addUndefinedToGlobalsOrErrorOnRedeclaration(){const e=V.escapedName,t=z.get(e);t?forEach(t.declarations,t=>{isTypeDeclaration(t)||vi.add(createDiagnosticForNode(t,Ot.Declaration_name_conflicts_with_built_in_global_identifier_0,unescapeLeadingUnderscores(e)))}):z.set(e,V)})(),getSymbolLinks(V).type=Re,getSymbolLinks($).type=getGlobalType("IArguments",0,!0),getSymbolLinks(ve).type=Ie,getSymbolLinks(q).type=createObjectType(16,q),Vt=getGlobalType("Array",1,!0),Jt=getGlobalType("Object",0,!0),Wt=getGlobalType("Function",0,!0),Ut=P&&getGlobalType("CallableFunction",0,!0)||Wt,zt=P&&getGlobalType("NewableFunction",0,!0)||Wt,Ht=getGlobalType("String",0,!0),Kt=getGlobalType("Number",0,!0),Gt=getGlobalType("Boolean",0,!0),$t=getGlobalType("RegExp",0,!0),Xt=createArrayType(ke),(Yt=createArrayType(Fe))===ht&&(Yt=createAnonymousType(void 0,y,l,l,l));if(qt=getGlobalTypeOrUndefined("ReadonlyArray",1)||Vt,Zt=qt?createTypeFromGenericGlobalType(qt,[ke]):Xt,Qt=getGlobalTypeOrUndefined("ThisType",1),t)for(const e of t)for(const t of e)isGlobalScopeAugmentation(t.parent)||mergeModuleAugmentation(t);Mt.forEach(({firstFile:e,secondFile:t,conflictingSymbols:n})=>{if(n.size<8)n.forEach(({isBlockScoped:e,firstFileLocations:t,secondFileLocations:n},r)=>{const i=e?Ot.Cannot_redeclare_block_scoped_variable_0:Ot.Duplicate_identifier_0;for(const e of t)addDuplicateDeclarationError(e,i,r,n);for(const e of n)addDuplicateDeclarationError(e,i,r,t)});else{const r=arrayFrom(n.keys()).join(", ");vi.add(addRelatedInfo(createDiagnosticForNode(e,Ot.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,r),createDiagnosticForNode(t,Ot.Conflicts_are_in_this_file))),vi.add(addRelatedInfo(createDiagnosticForNode(t,Ot.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,r),createDiagnosticForNode(e,Ot.Conflicts_are_in_this_file)))}}),Mt=void 0}(),re;function isDefinitelyReferenceToGlobalSymbolObject(e){return!!isPropertyAccessExpression(e)&&(!!isIdentifier(e.name)&&(!(!isPropertyAccessExpression(e.expression)&&!isIdentifier(e.expression))&&(isIdentifier(e.expression)?"Symbol"===idText(e.expression)&&getResolvedSymbol(e.expression)===(getGlobalSymbol("Symbol",1160127,void 0)||ve):!!isIdentifier(e.expression.expression)&&("Symbol"===idText(e.expression.name)&&"globalThis"===idText(e.expression.expression)&&getResolvedSymbol(e.expression.expression)===q))))}function getCachedType(e){return e?he.get(e):void 0}function setCachedType(e,t){return e&&he.set(e,t),t}function getJsxNamespace(e){if(e){const t=getSourceFileOfNode(e);if(t)if(isJsxOpeningFragment(e)){if(t.localJsxFragmentNamespace)return t.localJsxFragmentNamespace;const n=t.pragmas.get("jsxfrag");if(n){const e=isArray(n)?n[0]:n;if(t.localJsxFragmentFactory=parseIsolatedEntityName(e.arguments.factory,x),visitNode(t.localJsxFragmentFactory,markAsSynthetic,isEntityName),t.localJsxFragmentFactory)return t.localJsxFragmentNamespace=getFirstIdentifier(t.localJsxFragmentFactory).escapedText}const r=getJsxFragmentFactoryEntity(e);if(r)return t.localJsxFragmentFactory=r,t.localJsxFragmentNamespace=getFirstIdentifier(r).escapedText}else{const e=function getLocalJsxNamespace(e){if(e.localJsxNamespace)return e.localJsxNamespace;const t=e.pragmas.get("jsx");if(t){const n=isArray(t)?t[0]:t;if(e.localJsxFactory=parseIsolatedEntityName(n.arguments.factory,x),visitNode(e.localJsxFactory,markAsSynthetic,isEntityName),e.localJsxFactory)return e.localJsxNamespace=getFirstIdentifier(e.localJsxFactory).escapedText}}(t);if(e)return t.localJsxNamespace=e}}return pr||(pr="React",S.jsxFactory?(visitNode(ur=parseIsolatedEntityName(S.jsxFactory,x),markAsSynthetic),ur&&(pr=getFirstIdentifier(ur).escapedText)):S.reactNamespace&&(pr=escapeLeadingUnderscores(S.reactNamespace))),ur||(ur=Wr.createQualifiedName(Wr.createIdentifier(unescapeLeadingUnderscores(pr)),"createElement")),pr}function markAsSynthetic(e){return setTextRangePosEnd(e,-1,-1),visitEachChild(e,markAsSynthetic,void 0)}function errorSkippedOn(e,t,n,...r){const i=error2(t,n,...r);return i.skippedOn=e,i}function createError(e,t,...n){return e?createDiagnosticForNode(e,t,...n):createCompilerDiagnostic(t,...n)}function error2(e,t,...n){const r=createError(e,t,...n);return vi.add(r),r}function getVerbatimModuleSyntaxErrorMessage(e){return fileExtensionIsOneOf(getSourceFileOfNode(e).fileName,[".cts",".cjs"])?Ot.ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax:Ot.ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_Adjust_the_type_field_in_the_nearest_package_json_to_make_this_file_an_ECMAScript_module_or_adjust_your_verbatimModuleSyntax_module_and_moduleResolution_settings_in_TypeScript}function addErrorOrSuggestion(e,t){e?vi.add(t):bi.add({...t,category:2})}function errorOrSuggestion(e,t,n,...r){if(t.pos<0||t.end<0){if(!e)return;const i=getSourceFileOfNode(t);return void addErrorOrSuggestion(e,"message"in n?createFileDiagnostic(i,0,0,n,...r):createDiagnosticForFileFromMessageChain(i,n))}addErrorOrSuggestion(e,"message"in n?createDiagnosticForNode(t,n,...r):createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(t),t,n))}function errorAndMaybeSuggestAwait(e,t,n,...r){const i=error2(e,n,...r);if(t){addRelatedInfo(i,createDiagnosticForNode(e,Ot.Did_you_forget_to_use_await))}return i}function addDeprecatedSuggestionWorker(e,t){const n=Array.isArray(e)?forEach(e,getJSDocDeprecatedTag):getJSDocDeprecatedTag(e);return n&&addRelatedInfo(t,createDiagnosticForNode(n,Ot.The_declaration_was_marked_as_deprecated_here)),bi.add(t),t}function isDeprecatedSymbol(e){const t=getParentOfSymbol(e);return t&&length(e.declarations)>1?64&t.flags?some(e.declarations,isDeprecatedDeclaration2):every(e.declarations,isDeprecatedDeclaration2):!!e.valueDeclaration&&isDeprecatedDeclaration2(e.valueDeclaration)||length(e.declarations)&&every(e.declarations,isDeprecatedDeclaration2)}function isDeprecatedDeclaration2(e){return!!(536870912&getCombinedNodeFlagsCached(e))}function addDeprecatedSuggestion(e,t,n){return addDeprecatedSuggestionWorker(t,createDiagnosticForNode(e,Ot._0_is_deprecated,n))}function createSymbol(e,t,n){p++;const r=new a(33554432|e,t);return r.links=new aa,r.links.checkFlags=n||0,r}function createParameter2(e,t){const n=createSymbol(1,e);return n.links.type=t,n}function createProperty(e,t){const n=createSymbol(4,e);return n.links.type=t,n}function getExcludedSymbolFlags(e){let t=0;return 2&e&&(t|=111551),1&e&&(t|=111550),4&e&&(t|=0),8&e&&(t|=900095),16&e&&(t|=110991),32&e&&(t|=899503),64&e&&(t|=788872),256&e&&(t|=899327),128&e&&(t|=899967),512&e&&(t|=110735),8192&e&&(t|=103359),32768&e&&(t|=46015),65536&e&&(t|=78783),262144&e&&(t|=526824),524288&e&&(t|=788968),2097152&e&&(t|=2097152),t}function recordMergedSymbol(e,t){t.mergeId||(t.mergeId=Yo,Yo++),ni[t.mergeId]=e}function cloneSymbol(e){const t=createSymbol(e.flags,e.escapedName);return t.declarations=e.declarations?e.declarations.slice():[],t.parent=e.parent,e.valueDeclaration&&(t.valueDeclaration=e.valueDeclaration),e.constEnumOnlyModule&&(t.constEnumOnlyModule=!0),e.members&&(t.members=new Map(e.members)),e.exports&&(t.exports=new Map(e.exports)),recordMergedSymbol(t,e),t}function mergeSymbol(e,t,n=!1){if(!(e.flags&getExcludedSymbolFlags(t.flags))||67108864&(t.flags|e.flags)){if(t===e)return e;if(!(33554432&e.flags)){const n=resolveSymbol(e);if(n===ve)return t;if(n.flags&getExcludedSymbolFlags(t.flags)&&!(67108864&(t.flags|n.flags)))return reportMergeSymbolError(e,t),t;e=cloneSymbol(n)}512&t.flags&&512&e.flags&&e.constEnumOnlyModule&&!t.constEnumOnlyModule&&(e.constEnumOnlyModule=!1),e.flags|=t.flags,t.valueDeclaration&&setValueDeclaration(e,t.valueDeclaration),addRange(e.declarations,t.declarations),t.members&&(e.members||(e.members=createSymbolTable()),mergeSymbolTable(e.members,t.members,n)),t.exports&&(e.exports||(e.exports=createSymbolTable()),mergeSymbolTable(e.exports,t.exports,n,e)),n||recordMergedSymbol(e,t)}else 1024&e.flags?e!==q&&error2(t.declarations&&getNameOfDeclaration(t.declarations[0]),Ot.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,symbolToString(e)):reportMergeSymbolError(e,t);return e;function reportMergeSymbolError(e,t){const n=!!(384&e.flags||384&t.flags),r=!!(2&e.flags||2&t.flags),i=n?Ot.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:r?Ot.Cannot_redeclare_block_scoped_variable_0:Ot.Duplicate_identifier_0,o=t.declarations&&getSourceFileOfNode(t.declarations[0]),a=e.declarations&&getSourceFileOfNode(e.declarations[0]),s=isPlainJsFile(o,S.checkJs),c=isPlainJsFile(a,S.checkJs),l=symbolToString(t);if(o&&a&&Mt&&!n&&o!==a){const n=-1===comparePaths(o.path,a.path)?o:a,i=n===o?a:o,d=getOrUpdate(Mt,`${n.path}|${i.path}`,()=>({firstFile:n,secondFile:i,conflictingSymbols:new Map})),p=getOrUpdate(d.conflictingSymbols,l,()=>({isBlockScoped:r,firstFileLocations:[],secondFileLocations:[]}));s||addDuplicateLocations(p.firstFileLocations,t),c||addDuplicateLocations(p.secondFileLocations,e)}else s||addDuplicateDeclarationErrorsForSymbols(t,i,l,e),c||addDuplicateDeclarationErrorsForSymbols(e,i,l,t)}function addDuplicateLocations(e,t){if(t.declarations)for(const n of t.declarations)pushIfUnique(e,n)}}function addDuplicateDeclarationErrorsForSymbols(e,t,n,r){forEach(e.declarations,e=>{addDuplicateDeclarationError(e,t,n,r.declarations)})}function addDuplicateDeclarationError(e,t,n,r){const i=(getExpandoInitializer(e,!1)?getNameOfExpando(e):getNameOfDeclaration(e))||e,o=function lookupOrIssueError(e,t,...n){const r=e?createDiagnosticForNode(e,t,...n):createCompilerDiagnostic(t,...n);return vi.lookup(r)||(vi.add(r),r)}(i,t,n);for(const e of r||l){const t=(getExpandoInitializer(e,!1)?getNameOfExpando(e):getNameOfDeclaration(e))||e;if(t===i)continue;o.relatedInformation=o.relatedInformation||[];const r=createDiagnosticForNode(t,Ot._0_was_also_declared_here,n),a=createDiagnosticForNode(t,Ot.and_here);length(o.relatedInformation)>=5||some(o.relatedInformation,e=>0===compareDiagnostics(e,a)||0===compareDiagnostics(e,r))||addRelatedInfo(o,length(o.relatedInformation)?a:r)}}function mergeSymbolTable(e,t,n=!1,r){t.forEach((t,i)=>{const o=e.get(i),a=o?mergeSymbol(o,t,n):getMergedSymbol(t);r&&o&&(a.parent=r),e.set(i,a)})}function mergeModuleAugmentation(e){var t,n,r;const i=e.parent;if((null==(t=i.symbol.declarations)?void 0:t[0])===i)if(isGlobalScopeAugmentation(i))mergeSymbolTable(z,i.symbol.exports);else{let t=resolveExternalModuleNameWorker(e,e,33554432&e.parent.parent.flags?void 0:Ot.Invalid_module_name_in_augmentation_module_0_cannot_be_found,!1,!0);if(!t)return;if(t=resolveExternalModuleSymbol(t),1920&t.flags)if(some(Bt,e=>t===e.symbol)){const n=mergeSymbol(i.symbol,t,!0);jt||(jt=new Map),jt.set(e.text,n)}else{if((null==(n=t.exports)?void 0:n.get("__export"))&&(null==(r=i.symbol.exports)?void 0:r.size)){const e=getResolvedMembersOrExportsOfSymbol(t,"resolvedExports");for(const[n,r]of arrayFrom(i.symbol.exports.entries()))e.has(n)&&!t.exports.has(n)&&mergeSymbol(e.get(n),r)}mergeSymbol(t,i.symbol)}else error2(e,Ot.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,e.text)}else h.assert(i.symbol.declarations.length>1)}function getSymbolLinks(e){if(33554432&e.flags)return e.links;const t=getSymbolId(e);return ri[t]??(ri[t]=new aa)}function getNodeLinks(e){const t=getNodeId(e);return ii[t]||(ii[t]=new NodeLinks)}function getSymbol2(e,t,n){if(n){const r=getMergedSymbol(e.get(t));if(r){if(r.flags&n)return r;if(2097152&r.flags){if(getSymbolFlags(r)&n)return r}}}}function isBlockScopedNameDeclaredBeforeUse(t,n){const r=getSourceFileOfNode(t),i=getSourceFileOfNode(n),o=getEnclosingBlockScopeContainer(t);if(r!==i){if(v&&(r.externalModuleIndicator||i.externalModuleIndicator)||!S.outFile||isInTypeQuery(n)||33554432&t.flags)return!0;if(isUsedInFunctionOrInstanceProperty(n,t))return!0;const o=e.getSourceFiles();return o.indexOf(r)<=o.indexOf(i)}if(16777216&n.flags||isInTypeQuery(n)||isInAmbientOrTypeNode(n))return!0;if(t.pos<=n.pos&&(!isPropertyDeclaration(t)||!isThisProperty(n.parent)||t.initializer||t.exclamationToken)){if(209===t.kind){const e=getAncestor(n,209);return e?findAncestor(e,isBindingElement)!==findAncestor(t,isBindingElement)||t.pos<e.pos:isBlockScopedNameDeclaredBeforeUse(getAncestor(t,261),n)}if(261===t.kind)return!function isImmediatelyUsedInInitializerOfBlockScopedVariable(e,t){switch(e.parent.parent.kind){case 244:case 249:case 251:if(isSameScopeDescendentOf(t,e,o))return!0}const n=e.parent.parent;return isForInOrOfStatement(n)&&isSameScopeDescendentOf(t,n.expression,o)}(t,n);if(isClassLike(t)){const e=findAncestor(n,e=>e===t?"quit":isComputedPropertyName(e)?e.parent.parent===t:!b&&isDecorator(e)&&(e.parent===t||isMethodDeclaration(e.parent)&&e.parent.parent===t||isGetOrSetAccessorDeclaration(e.parent)&&e.parent.parent===t||isPropertyDeclaration(e.parent)&&e.parent.parent===t||isParameter(e.parent)&&e.parent.parent.parent===t));return!e||!(b||!isDecorator(e))&&!!findAncestor(n,t=>t===e?"quit":isFunctionLike(t)&&!getImmediatelyInvokedFunctionExpression(t))}return isPropertyDeclaration(t)?!isPropertyImmediatelyReferencedWithinDeclaration(t,n,!1):!isParameterPropertyDeclaration(t,t.parent)||!(E&&getContainingClass(t)===getContainingClass(n)&&isUsedInFunctionOrInstanceProperty(n,t))}return!!(282===n.parent.kind||278===n.parent.kind&&n.parent.isExportEquals)||(!(278!==n.kind||!n.isExportEquals)||!!isUsedInFunctionOrInstanceProperty(n,t)&&(!E||!getContainingClass(t)||!isPropertyDeclaration(t)&&!isParameterPropertyDeclaration(t,t.parent)||!isPropertyImmediatelyReferencedWithinDeclaration(t,n,!0)));function isUsedInFunctionOrInstanceProperty(e,t){return isUsedInFunctionOrInstancePropertyWorker(e,t)}function isUsedInFunctionOrInstancePropertyWorker(e,t){return!!findAncestor(e,n=>{if(n===o)return"quit";if(isFunctionLike(n))return!getImmediatelyInvokedFunctionExpression(n);if(isClassStaticBlockDeclaration(n))return t.pos<e.pos;const r=tryCast(n.parent,isPropertyDeclaration);if(r){if(r.initializer===n)if(isStatic(n.parent)){if(175===t.kind)return!0;if(isPropertyDeclaration(t)&&getContainingClass(e)===getContainingClass(t)){const e=t.name;if(isIdentifier(e)||isPrivateIdentifier(e)){if(function isPropertyInitializedInStaticBlocks(e,t,n,r,i){for(const o of n)if(o.pos>=r&&o.pos<=i){const n=Wr.createPropertyAccessExpression(Wr.createThis(),e);setParent(n.expression,n),setParent(n,o),n.flowNode=o.returnFlowNode;if(!containsUndefinedType(getFlowTypeOfReference(n,t,getOptionalType(t))))return!0}return!1}(e,getTypeOfSymbol(getSymbolOfDeclaration(t)),filter(t.parent.members,isClassStaticBlockDeclaration),t.parent.pos,n.pos))return!0}}}else{if(!(173===t.kind&&!isStatic(t))||getContainingClass(e)!==getContainingClass(t))return!0}}const i=tryCast(n.parent,isDecorator);if(i&&i.expression===n){if(isParameter(i.parent))return!!isUsedInFunctionOrInstancePropertyWorker(i.parent.parent.parent,t)||"quit";if(isMethodDeclaration(i.parent))return!!isUsedInFunctionOrInstancePropertyWorker(i.parent.parent,t)||"quit"}return!1})}function isPropertyImmediatelyReferencedWithinDeclaration(e,t,n){if(t.end>e.end)return!1;return void 0===findAncestor(t,t=>{if(t===e)return"quit";switch(t.kind){case 220:return!0;case 173:return!n||!(isPropertyDeclaration(e)&&t.parent===e.parent||isParameterPropertyDeclaration(e,e.parent)&&t.parent===e.parent.parent)||"quit";case 242:switch(t.parent.kind){case 178:case 175:case 179:return!0;default:return!1}default:return!1}})}}function getRequiresScopeChangeCache(e){return getNodeLinks(e).declarationRequiresScopeChange}function setRequiresScopeChangeCache(e,t){getNodeLinks(e).declarationRequiresScopeChange=t}function addTypeOnlyDeclarationRelatedInfo(e,t,n){return t?addRelatedInfo(e,createDiagnosticForNode(t,282===t.kind||279===t.kind||281===t.kind?Ot._0_was_exported_here:Ot._0_was_imported_here,n)):e}function diagnosticName(e){return isString(e)?unescapeLeadingUnderscores(e):declarationNameToString(e)}function checkAndReportErrorForMissingPrefix(e,t,n){if(!isIdentifier(e)||e.escapedText!==t||isTypeReferenceIdentifier(e)||isInTypeQuery(e))return!1;const r=getThisContainer(e,!1,!1);let i=r;for(;i;){if(isClassLike(i.parent)){const o=getSymbolOfDeclaration(i.parent);if(!o)break;if(getPropertyOfType(getTypeOfSymbol(o),t))return error2(e,Ot.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,diagnosticName(n),symbolToString(o)),!0;if(i===r&&!isStatic(i)){if(getPropertyOfType(getDeclaredTypeOfSymbol(o).thisType,t))return error2(e,Ot.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,diagnosticName(n)),!0}}i=i.parent}return!1}function checkAndReportErrorForExtendingInterface(e){const t=getEntityNameForExtendingInterface(e);return!(!t||!resolveEntityName(t,64,!0))&&(error2(e,Ot.Cannot_extend_an_interface_0_Did_you_mean_implements,getTextOfNode(t)),!0)}function getEntityNameForExtendingInterface(e){switch(e.kind){case 80:case 212:return e.parent?getEntityNameForExtendingInterface(e.parent):void 0;case 234:if(isEntityNameExpression(e.expression))return e.expression;default:return}}function isPrimitiveTypeName(e){return"any"===e||"string"===e||"number"===e||"boolean"===e||"never"===e||"unknown"===e}function isSameScopeDescendentOf(e,t,n){return!!t&&!!findAncestor(e,e=>e===t||!!(e===n||isFunctionLike(e)&&(!getImmediatelyInvokedFunctionExpression(e)||3&getFunctionFlags(e)))&&"quit")}function getAnyImportSyntax(e){switch(e.kind){case 272:return e;case 274:return e.parent;case 275:return e.parent.parent;case 277:return e.parent.parent.parent;default:return}}function getDeclarationOfAliasSymbol(e){return e.declarations&&findLast(e.declarations,isAliasSymbolDeclaration)}function isAliasSymbolDeclaration(e){return 272===e.kind||271===e.kind||274===e.kind&&!!e.name||275===e.kind||281===e.kind||277===e.kind||282===e.kind||278===e.kind&&exportAssignmentIsAlias(e)||isBinaryExpression(e)&&2===getAssignmentDeclarationKind(e)&&exportAssignmentIsAlias(e)||isAccessExpression(e)&&isBinaryExpression(e.parent)&&e.parent.left===e&&64===e.parent.operatorToken.kind&&isAliasableOrJsExpression(e.parent.right)||305===e.kind||304===e.kind&&isAliasableOrJsExpression(e.initializer)||261===e.kind&&isVariableDeclarationInitializedToBareOrAccessedRequire(e)||209===e.kind&&isVariableDeclarationInitializedToBareOrAccessedRequire(e.parent.parent)}function isAliasableOrJsExpression(e){return isAliasableExpression(e)||isFunctionExpression(e)&&isJSConstructor(e)}function getTargetOfImportEqualsDeclaration(e,t){const n=getCommonJSPropertyAccess(e);if(n){const e=getLeftmostAccessExpression(n.expression).arguments[0];return isIdentifier(n.name)?resolveSymbol(getPropertyOfType(resolveExternalModuleTypeByLiteral(e),n.name.escapedText)):void 0}if(isVariableDeclaration(e)||284===e.moduleReference.kind){const n=resolveExternalModuleName(e,getExternalModuleRequireArgument(e)||getExternalModuleImportEqualsDeclarationExpression(e)),r=resolveExternalModuleSymbol(n);if(r&&102<=v&&v<=199){const n=getExportOfModule(r,"module.exports",e,t);if(n)return n}return markSymbolOfAliasDeclarationIfTypeOnly(e,n,r,!1),r}const r=getSymbolOfPartOfRightHandSideOfImportEquals(e.moduleReference,t);return function checkAndReportErrorForResolvingImportAliasToTypeOnlySymbol(e,t){if(markSymbolOfAliasDeclarationIfTypeOnly(e,void 0,t,!1)&&!e.isTypeOnly){const t=getTypeOnlyAliasDeclaration(getSymbolOfDeclaration(e)),n=282===t.kind||279===t.kind,r=n?Ot.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:Ot.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type,i=n?Ot._0_was_exported_here:Ot._0_was_imported_here,o=279===t.kind?"*":moduleExportNameTextUnescaped(t.name);addRelatedInfo(error2(e.moduleReference,r),createDiagnosticForNode(t,i,o))}}(e,r),r}function resolveExportByName(e,t,n,r){const i=e.exports.get("export="),o=i?getPropertyOfType(getTypeOfSymbol(i),t,!0):e.exports.get(t),a=resolveSymbol(o,r);return markSymbolOfAliasDeclarationIfTypeOnly(n,o,a,!1),a}function isSyntacticDefault(e){return isExportAssignment(e)&&!e.isExportEquals||hasSyntacticModifier(e,2048)||isExportSpecifier(e)||isNamespaceExport(e)}function getEmitSyntaxForModuleSpecifierExpression(t){return isStringLiteralLike(t)?e.getEmitSyntaxForUsageLocation(getSourceFileOfNode(t),t):void 0}function isOnlyImportableAsDefault(e,t){if(100<=v&&v<=199){if(99===getEmitSyntaxForModuleSpecifierExpression(e)){t??(t=resolveExternalModuleName(e,e,!0));const n=t&&getSourceFileOfModule(t);return n&&(isJsonSourceFile(n)||".d.json.ts"===getDeclarationFileExtension(n.fileName))}}return!1}function canHaveSyntheticDefault(t,n,r,i){const o=t&&getEmitSyntaxForModuleSpecifierExpression(i);if(t&&void 0!==o){const n=e.getImpliedNodeFormatForEmit(t);if(99===o&&1===n&&100<=v&&v<=199)return!0;if(99===o&&99===n)return!1}if(!N)return!1;if(!t||t.isDeclarationFile){const e=resolveExportByName(n,"default",void 0,!0);return(!e||!some(e.declarations,isSyntacticDefault))&&!resolveExportByName(n,escapeLeadingUnderscores("__esModule"),void 0,r)}return isSourceFileJS(t)?"object"!=typeof t.externalModuleIndicator&&!resolveExportByName(n,escapeLeadingUnderscores("__esModule"),void 0,r):hasExportAssignmentSymbol(n)}function getTargetofModuleDefault(t,n,r){var i;const o=null==(i=t.declarations)?void 0:i.find(isSourceFile),a=getModuleSpecifierForImportOrExport(n);let s,c;if(isShorthandAmbientModuleSymbol(t))s=t;else{if(o&&a&&102<=v&&v<=199&&1===getEmitSyntaxForModuleSpecifierExpression(a)&&99===e.getImpliedNodeFormatForEmit(o)&&(c=resolveExportByName(t,"module.exports",n,r)))return Gn(S)?(markSymbolOfAliasDeclarationIfTypeOnly(n,c,void 0,!1),c):void error2(n.name,Ot.Module_0_can_only_be_default_imported_using_the_1_flag,symbolToString(t),"esModuleInterop");s=resolveExportByName(t,"default",n,r)}if(!a)return s;const l=isOnlyImportableAsDefault(a,t),d=canHaveSyntheticDefault(o,t,r,a);if(s||d||l){if(d||l){const e=resolveExternalModuleSymbol(t,r)||resolveSymbol(t,r);return markSymbolOfAliasDeclarationIfTypeOnly(n,t,e,!1),e}}else if(hasExportAssignmentSymbol(t)&&!N){const e=v>=5?"allowSyntheticDefaultImports":"esModuleInterop",r=t.exports.get("export=").valueDeclaration,i=error2(n.name,Ot.Module_0_can_only_be_default_imported_using_the_1_flag,symbolToString(t),e);r&&addRelatedInfo(i,createDiagnosticForNode(r,Ot.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,e))}else isImportClause(n)?function reportNonDefaultExport(e,t){var n,r,i;if(null==(n=e.exports)?void 0:n.has(t.symbol.escapedName))error2(t.name,Ot.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,symbolToString(e),symbolToString(t.symbol));else{const n=error2(t.name,Ot.Module_0_has_no_default_export,symbolToString(e)),o=null==(r=e.exports)?void 0:r.get("__export");if(o){const e=null==(i=o.declarations)?void 0:i.find(e=>{var t,n;return!!(isExportDeclaration(e)&&e.moduleSpecifier&&(null==(n=null==(t=resolveExternalModuleName(e,e.moduleSpecifier))?void 0:t.exports)?void 0:n.has("default")))});e&&addRelatedInfo(n,createDiagnosticForNode(e,Ot.export_Asterisk_does_not_re_export_a_default))}}}(t,n):errorNoModuleMemberSymbol(t,t,n,isImportOrExportSpecifier(n)&&n.propertyName||n.name);return markSymbolOfAliasDeclarationIfTypeOnly(n,s,void 0,!1),s}function getModuleSpecifierForImportOrExport(e){switch(e.kind){case 274:return e.parent.moduleSpecifier;case 272:return isExternalModuleReference(e.moduleReference)?e.moduleReference.expression:void 0;case 275:case 282:return e.parent.parent.moduleSpecifier;case 277:return e.parent.parent.parent.moduleSpecifier;default:return h.assertNever(e)}}function getExportOfModule(e,t,n,r){var i;if(1536&e.flags){const o=getExportsOfSymbol(e).get(t),a=resolveSymbol(o,r);return markSymbolOfAliasDeclarationIfTypeOnly(n,o,a,!1,null==(i=getSymbolLinks(e).typeOnlyExportStarMap)?void 0:i.get(t),t),a}}function getExternalModuleMember(e,t,n=!1){var r;const i=getExternalModuleRequireArgument(e)||e.moduleSpecifier,o=resolveExternalModuleName(e,i),a=!isPropertyAccessExpression(t)&&t.propertyName||t.name;if(!isIdentifier(a)&&11!==a.kind)return;const s=moduleExportNameTextEscaped(a),c=resolveESModuleSymbol(o,i,!1,"default"===s&&N);if(c&&(s||11===a.kind)){if(isShorthandAmbientModuleSymbol(o))return o;let l;l=o&&o.exports&&o.exports.get("export=")?getPropertyOfType(getTypeOfSymbol(c),s,!0):function getPropertyOfVariable(e,t){if(3&e.flags){const n=e.valueDeclaration.type;if(n)return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(n),t))}}(c,s),l=resolveSymbol(l,n);let d=getExportOfModule(c,s,t,n);if(void 0===d&&"default"===s){const e=null==(r=o.declarations)?void 0:r.find(isSourceFile);(isOnlyImportableAsDefault(i,o)||canHaveSyntheticDefault(e,o,n,i))&&(d=resolveExternalModuleSymbol(o,n)||resolveSymbol(o,n))}const p=d&&l&&d!==l?function combineValueAndTypeSymbols(e,t){if(e===ve&&t===ve)return ve;if(790504&e.flags)return e;const n=createSymbol(e.flags|t.flags,e.escapedName);return h.assert(e.declarations||t.declarations),n.declarations=deduplicate(concatenate(e.declarations,t.declarations),equateValues),n.parent=e.parent||t.parent,e.valueDeclaration&&(n.valueDeclaration=e.valueDeclaration),t.members&&(n.members=new Map(t.members)),e.exports&&(n.exports=new Map(e.exports)),n}(l,d):d||l;return isImportOrExportSpecifier(t)&&isOnlyImportableAsDefault(i,o)&&"default"!==s?error2(a,Ot.Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0,$e[v]):p||errorNoModuleMemberSymbol(o,c,e,a),p}}function errorNoModuleMemberSymbol(e,t,n,r){var i;const o=getFullyQualifiedName(e,n),a=declarationNameToString(r),s=isIdentifier(r)?getSuggestedSymbolForNonexistentModule(r,t):void 0;if(void 0!==s){const e=symbolToString(s),t=error2(r,Ot._0_has_no_exported_member_named_1_Did_you_mean_2,o,a,e);s.valueDeclaration&&addRelatedInfo(t,createDiagnosticForNode(s.valueDeclaration,Ot._0_is_declared_here,e))}else(null==(i=e.exports)?void 0:i.has("default"))?error2(r,Ot.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,o,a):function reportNonExportedMember(e,t,n,r,i){var o,a;const s=null==(a=null==(o=tryCast(r.valueDeclaration,canHaveLocals))?void 0:o.locals)?void 0:a.get(moduleExportNameTextEscaped(t)),c=r.exports;if(s){const r=null==c?void 0:c.get("export=");if(r)getSymbolIfSameReference(r,s)?function reportInvalidImportEqualsExportMember(e,t,n,r){if(v>=5){error2(t,Gn(S)?Ot._0_can_only_be_imported_by_using_a_default_import:Ot._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n)}else if(isInJSFile(e)){error2(t,Gn(S)?Ot._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:Ot._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n)}else{error2(t,Gn(S)?Ot._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:Ot._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n,n,r)}}(e,t,n,i):error2(t,Ot.Module_0_has_no_exported_member_1,i,n);else{const e=c?find(symbolsToArray(c),e=>!!getSymbolIfSameReference(e,s)):void 0,r=e?error2(t,Ot.Module_0_declares_1_locally_but_it_is_exported_as_2,i,n,symbolToString(e)):error2(t,Ot.Module_0_declares_1_locally_but_it_is_not_exported,i,n);s.declarations&&addRelatedInfo(r,...map(s.declarations,(e,t)=>createDiagnosticForNode(e,0===t?Ot._0_is_declared_here:Ot.and_here,n)))}}else error2(t,Ot.Module_0_has_no_exported_member_1,i,n)}(n,r,a,e,o)}function getCommonJSPropertyAccess(e){if(isVariableDeclaration(e)&&e.initializer&&isPropertyAccessExpression(e.initializer))return e.initializer}function getTargetOfExportSpecifier(e,t,n){const r=e.propertyName||e.name;if(moduleExportNameIsDefault(r)){const t=getModuleSpecifierForImportOrExport(e),r=t&&resolveExternalModuleName(e,t);if(r)return getTargetofModuleDefault(r,e,!!n)}const i=e.parent.parent.moduleSpecifier?getExternalModuleMember(e.parent.parent,e,n):11===r.kind?void 0:resolveEntityName(r,t,!1,n);return markSymbolOfAliasDeclarationIfTypeOnly(e,void 0,i,!1),i}function getTargetOfAliasLikeExpression(e,t){if(isClassExpression(e))return checkExpressionCached(e).symbol;if(!isEntityName(e)&&!isEntityNameExpression(e))return;const n=resolveEntityName(e,901119,!0,t);return n||(checkExpressionCached(e),getNodeLinks(e).resolvedSymbol)}function getTargetOfAliasDeclaration(e,t=!1){switch(e.kind){case 272:case 261:return getTargetOfImportEqualsDeclaration(e,t);case 274:return function getTargetOfImportClause(e,t){const n=resolveExternalModuleName(e,e.parent.moduleSpecifier);if(n)return getTargetofModuleDefault(n,e,t)}(e,t);case 275:return function getTargetOfNamespaceImport(e,t){const n=e.parent.parent.moduleSpecifier,r=resolveExternalModuleName(e,n),i=resolveESModuleSymbol(r,n,t,!1);return markSymbolOfAliasDeclarationIfTypeOnly(e,r,i,!1),i}(e,t);case 281:return function getTargetOfNamespaceExport(e,t){const n=e.parent.moduleSpecifier,r=n&&resolveExternalModuleName(e,n),i=n&&resolveESModuleSymbol(r,n,t,!1);return markSymbolOfAliasDeclarationIfTypeOnly(e,r,i,!1),i}(e,t);case 277:case 209:return function getTargetOfImportSpecifier(e,t){if(isImportSpecifier(e)&&moduleExportNameIsDefault(e.propertyName||e.name)){const n=getModuleSpecifierForImportOrExport(e),r=n&&resolveExternalModuleName(e,n);if(r)return getTargetofModuleDefault(r,e,t)}const n=isBindingElement(e)?getRootDeclaration(e):e.parent.parent.parent,r=getCommonJSPropertyAccess(n),i=getExternalModuleMember(n,r||e,t),o=e.propertyName||e.name;return r&&i&&isIdentifier(o)?resolveSymbol(getPropertyOfType(getTypeOfSymbol(i),o.escapedText),t):(markSymbolOfAliasDeclarationIfTypeOnly(e,void 0,i,!1),i)}(e,t);case 282:return getTargetOfExportSpecifier(e,901119,t);case 278:case 227:return function getTargetOfExportAssignment(e,t){const n=getTargetOfAliasLikeExpression(isExportAssignment(e)?e.expression:e.right,t);return markSymbolOfAliasDeclarationIfTypeOnly(e,void 0,n,!1),n}(e,t);case 271:return function getTargetOfNamespaceExportDeclaration(e,t){if(canHaveSymbol(e.parent)){const n=resolveExternalModuleSymbol(e.parent.symbol,t);return markSymbolOfAliasDeclarationIfTypeOnly(e,void 0,n,!1),n}}(e,t);case 305:return resolveEntityName(e.name,901119,!0,t);case 304:return getTargetOfAliasLikeExpression(e.initializer,t);case 213:case 212:return function getTargetOfAccessExpression(e,t){if(isBinaryExpression(e.parent)&&e.parent.left===e&&64===e.parent.operatorToken.kind)return getTargetOfAliasLikeExpression(e.parent.right,t)}(e,t);default:return h.fail()}}function isNonLocalAlias(e,t=901119){return!!e&&(2097152==(e.flags&(2097152|t))||!!(2097152&e.flags&&67108864&e.flags))}function resolveSymbol(e,t){return!t&&isNonLocalAlias(e)?resolveAlias(e):e}function resolveAlias(e){h.assert(!!(2097152&e.flags),"Should only get Alias here.");const t=getSymbolLinks(e);if(t.aliasTarget)t.aliasTarget===be&&(t.aliasTarget=ve);else{t.aliasTarget=be;const n=getDeclarationOfAliasSymbol(e);if(!n)return h.fail();const r=getTargetOfAliasDeclaration(n);t.aliasTarget===be?t.aliasTarget=r||ve:error2(n,Ot.Circular_definition_of_import_alias_0,symbolToString(e))}return t.aliasTarget}function getSymbolFlags(e,t,n){const r=t&&getTypeOnlyAliasDeclaration(e),i=r&&isExportDeclaration(r),o=r&&(i?resolveExternalModuleName(r.moduleSpecifier,r.moduleSpecifier,!0):resolveAlias(r.symbol)),a=i&&o?getExportsOfModule(o):void 0;let s,c=n?0:e.flags;for(;2097152&e.flags;){const t=getExportSymbolOfValueSymbolIfExported(resolveAlias(e));if(!i&&t===o||(null==a?void 0:a.get(t.escapedName))===t)break;if(t===ve)return-1;if(t===e||(null==s?void 0:s.has(t)))break;2097152&t.flags&&(s?s.add(t):s=new Set([e,t])),c|=t.flags,e=t}return c}function markSymbolOfAliasDeclarationIfTypeOnly(e,t,n,r,i,o){if(!e||isPropertyAccessExpression(e))return!1;const a=getSymbolOfDeclaration(e);if(isTypeOnlyImportOrExportDeclaration(e)){return getSymbolLinks(a).typeOnlyDeclaration=e,!0}if(i){const e=getSymbolLinks(a);return e.typeOnlyDeclaration=i,a.escapedName!==o&&(e.typeOnlyExportStarName=o),!0}const s=getSymbolLinks(a);return markSymbolOfAliasDeclarationIfTypeOnlyWorker(s,t,r)||markSymbolOfAliasDeclarationIfTypeOnlyWorker(s,n,r)}function markSymbolOfAliasDeclarationIfTypeOnlyWorker(e,t,n){var r;if(t&&(void 0===e.typeOnlyDeclaration||n&&!1===e.typeOnlyDeclaration)){const n=(null==(r=t.exports)?void 0:r.get("export="))??t,i=n.declarations&&find(n.declarations,isTypeOnlyImportOrExportDeclaration);e.typeOnlyDeclaration=i??getSymbolLinks(n).typeOnlyDeclaration??!1}return!!e.typeOnlyDeclaration}function getTypeOnlyAliasDeclaration(e,t){var n;if(!(2097152&e.flags))return;const r=getSymbolLinks(e);if(void 0===r.typeOnlyDeclaration){r.typeOnlyDeclaration=!1;const t=resolveSymbol(e);markSymbolOfAliasDeclarationIfTypeOnly(null==(n=e.declarations)?void 0:n[0],getDeclarationOfAliasSymbol(e)&&getImmediateAliasedSymbol(e),t,!0)}if(void 0===t)return r.typeOnlyDeclaration||void 0;if(r.typeOnlyDeclaration){return getSymbolFlags(279===r.typeOnlyDeclaration.kind?resolveSymbol(getExportsOfModule(r.typeOnlyDeclaration.symbol.parent).get(r.typeOnlyExportStarName||e.escapedName)):resolveAlias(r.typeOnlyDeclaration.symbol))&t?r.typeOnlyDeclaration:void 0}}function getSymbolOfPartOfRightHandSideOfImportEquals(e,t){return 80===e.kind&&isRightSideOfQualifiedNameOrPropertyAccess(e)&&(e=e.parent),80===e.kind||167===e.parent.kind?resolveEntityName(e,1920,!1,t):(h.assert(272===e.parent.kind),resolveEntityName(e,901119,!1,t))}function getFullyQualifiedName(e,t){return e.parent?getFullyQualifiedName(e.parent,t)+"."+symbolToString(e):symbolToString(e,t,void 0,36)}function resolveEntityName(e,t,n,r,i){if(nodeIsMissing(e))return;const o=1920|(isInJSFile(e)?111551&t:0);let a;if(80===e.kind){const r=t===o||nodeIsSynthesized(e)?Ot.Cannot_find_namespace_0:getCannotFindNameDiagnosticForName(getFirstIdentifier(e)),s=isInJSFile(e)&&!nodeIsSynthesized(e)?function resolveEntityNameFromAssignmentDeclaration(e,t){if(isJSDocTypeReference(e.parent)){const n=function getAssignmentDeclarationLocation(e){if(findAncestor(e,e=>isJSDocNode(e)||16777216&e.flags?isJSDocTypeAlias(e):"quit"))return;const t=getJSDocHost(e);if(t&&isExpressionStatement(t)&&isPrototypePropertyAssignment(t.expression)){const e=getSymbolOfDeclaration(t.expression.left);if(e)return getDeclarationOfJSPrototypeContainer(e)}if(t&&isFunctionExpression(t)&&isPrototypePropertyAssignment(t.parent)&&isExpressionStatement(t.parent.parent)){const e=getSymbolOfDeclaration(t.parent.left);if(e)return getDeclarationOfJSPrototypeContainer(e)}if(t&&(isObjectLiteralMethod(t)||isPropertyAssignment(t))&&isBinaryExpression(t.parent.parent)&&6===getAssignmentDeclarationKind(t.parent.parent)){const e=getSymbolOfDeclaration(t.parent.parent.left);if(e)return getDeclarationOfJSPrototypeContainer(e)}const n=getEffectiveJSDocHost(e);if(n&&isFunctionLike(n)){const e=getSymbolOfDeclaration(n);return e&&e.valueDeclaration}}(e.parent);if(n)return te(n,e,t,void 0,!0)}}(e,t):void 0;if(a=getMergedSymbol(te(i||e,e,t,n||s?void 0:r,!0,!1)),!a)return getMergedSymbol(s)}else if(167===e.kind||212===e.kind){const r=167===e.kind?e.left:e.expression,s=167===e.kind?e.right:e.name;let c=resolveEntityName(r,o,n,!1,i);if(!c||nodeIsMissing(s))return;if(c===ve)return c;if(c.valueDeclaration&&isInJSFile(c.valueDeclaration)&&100!==qn(S)&&isVariableDeclaration(c.valueDeclaration)&&c.valueDeclaration.initializer&&isCommonJsRequire(c.valueDeclaration.initializer)){const e=c.valueDeclaration.initializer.arguments[0],t=resolveExternalModuleName(e,e);if(t){const e=resolveExternalModuleSymbol(t);e&&(c=e)}}if(a=getMergedSymbol(getSymbol2(getExportsOfSymbol(c),s.escapedText,t)),!a&&2097152&c.flags&&(a=getMergedSymbol(getSymbol2(getExportsOfSymbol(resolveAlias(c)),s.escapedText,t))),!a){if(!n){const n=getFullyQualifiedName(c),r=declarationNameToString(s),i=getSuggestedSymbolForNonexistentModule(s,c);if(i)return void error2(s,Ot._0_has_no_exported_member_named_1_Did_you_mean_2,n,r,symbolToString(i));const o=isQualifiedName(e)&&function getContainingQualifiedNameNode(e){for(;isQualifiedName(e.parent);)e=e.parent;return e}(e),a=Jt&&788968&t&&o&&!isTypeOfExpression(o.parent)&&function tryGetQualifiedNameAsValue(e){let t=getFirstIdentifier(e),n=te(t,t,111551,void 0,!0);if(n){for(;isQualifiedName(t.parent);){if(n=getPropertyOfType(getTypeOfSymbol(n),t.parent.right.escapedText),!n)return;t=t.parent}return n}}(o);if(a)return void error2(o,Ot._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,entityNameToString(o));if(1920&t&&isQualifiedName(e.parent)){const t=getMergedSymbol(getSymbol2(getExportsOfSymbol(c),s.escapedText,788968));if(t)return void error2(e.parent.right,Ot.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,symbolToString(t),unescapeLeadingUnderscores(e.parent.right.escapedText))}error2(s,Ot.Namespace_0_has_no_exported_member_1,n,r)}return}}else h.assertNever(e,"Unknown entity name kind.");return!nodeIsSynthesized(e)&&isEntityName(e)&&(2097152&a.flags||278===e.parent.kind)&&markSymbolOfAliasDeclarationIfTypeOnly(getAliasDeclarationFromName(e),a,void 0,!0),a.flags&t||r?a:resolveAlias(a)}function getDeclarationOfJSPrototypeContainer(e){const t=e.parent.valueDeclaration;if(!t)return;return(isAssignmentDeclaration(t)?getAssignedExpandoInitializer(t):hasOnlyExpressionInitializer(t)?getDeclaredExpandoInitializer(t):void 0)||t}function resolveExternalModuleName(e,t,n){const r=1===qn(S)?Ot.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:Ot.Cannot_find_module_0_or_its_corresponding_type_declarations;return resolveExternalModuleNameWorker(e,t,n?void 0:r,n)}function resolveExternalModuleNameWorker(e,t,n,r=!1,i=!1){return isStringLiteralLike(t)?resolveExternalModule(e,t.text,n,r?void 0:t,i):void 0}function resolveExternalModule(t,n,r,i,o=!1){var a,s,c,l,d,p,u,m,_,f,g,y;if(i&&startsWith(n,"@types/")){error2(i,Ot.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,removePrefix(n,"@types/"),n)}const T=tryFindAmbientModule(n,!0);if(T)return T;const x=getSourceFileOfNode(t),b=isStringLiteralLike(t)?t:(null==(a=isModuleDeclaration(t)?t:t.parent&&isModuleDeclaration(t.parent)&&t.parent.name===t?t.parent:void 0)?void 0:a.name)||(null==(s=isLiteralImportTypeNode(t)?t:void 0)?void 0:s.argument.literal)||(isVariableDeclaration(t)&&t.initializer&&isRequireCall(t.initializer,!0)?t.initializer.arguments[0]:void 0)||(null==(c=findAncestor(t,isImportCall))?void 0:c.arguments[0])||(null==(l=findAncestor(t,or(isImportDeclaration,isJSDocImportTag,isExportDeclaration)))?void 0:l.moduleSpecifier)||(null==(d=findAncestor(t,isExternalModuleImportEqualsDeclaration))?void 0:d.moduleReference.expression),C=b&&isStringLiteralLike(b)?e.getModeForUsageLocation(x,b):e.getDefaultResolutionModeForFile(x),E=qn(S),N=null==(p=e.getResolvedModule(x,n,C))?void 0:p.resolvedModule,k=i&&N&&getResolutionDiagnostic(S,N,x),F=N&&(!k||k===Ot.Module_0_was_resolved_to_1_but_jsx_is_not_set)&&e.getSourceFile(N.resolvedFileName);if(F){if(k&&error2(i,k,n,N.resolvedFileName),N.resolvedUsingTsExtension&&isDeclarationFileName(n)){const e=(null==(u=findAncestor(t,isImportDeclaration))?void 0:u.importClause)||findAncestor(t,or(isImportEqualsDeclaration,isExportDeclaration));(i&&e&&!e.isTypeOnly||findAncestor(t,isImportCall))&&error2(i,Ot.A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead,function getSuggestedImportSource(e){const t=removeExtension(n,e);if(emitModuleKindIsNonNodeESM(v)||99===C){const r=isDeclarationFileName(n)&&shouldAllowImportingTsExtension(S);return t+(".mts"===e||".d.mts"===e?r?".mts":".mjs":".cts"===e||".d.mts"===e?r?".cts":".cjs":r?".ts":".js")}return t}(h.checkDefined(tryExtractTSExtension(n))))}else if(N.resolvedUsingTsExtension&&!shouldAllowImportingTsExtension(S,x.fileName)){const e=(null==(m=findAncestor(t,isImportDeclaration))?void 0:m.importClause)||findAncestor(t,or(isImportEqualsDeclaration,isExportDeclaration));if(i&&!(null==e?void 0:e.isTypeOnly)&&!findAncestor(t,isImportTypeNode)){const e=h.checkDefined(tryExtractTSExtension(n));error2(i,Ot.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled,e)}}else if(S.rewriteRelativeImportExtensions&&!(33554432&t.flags)&&!isDeclarationFileName(n)&&!isLiteralImportTypeNode(t)&&!isPartOfTypeOnlyImportOrExportDeclaration(t)){const t=shouldRewriteModuleSpecifier(n,S);if(!N.resolvedUsingTsExtension&&t)error2(i,Ot.This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolves_to_0,getRelativePathFromFile(getNormalizedAbsolutePath(x.fileName,e.getCurrentDirectory()),N.resolvedFileName,hostGetCanonicalFileName(e)));else if(N.resolvedUsingTsExtension&&!t&&sourceFileMayBeEmitted(F,e))error2(i,Ot.This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_during_emit_because_it_is_not_a_relative_path,getAnyExtensionFromPath(n));else if(N.resolvedUsingTsExtension&&t){const t=null==(_=e.getRedirectFromSourceFile(F.path))?void 0:_.resolvedRef;if(t){const n=!e.useCaseSensitiveFileNames(),r=e.getCommonSourceDirectory(),o=getCommonSourceDirectoryOfConfig(t.commandLine,n);getRelativePathFromDirectory(r,o,n)!==getRelativePathFromDirectory(S.outDir||r,t.commandLine.options.outDir||o,n)&&error2(i,Ot.This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_between_the_projects_output_files_is_not_the_same_as_the_relative_path_between_its_input_files)}}}if(F.symbol){if(i&&N.isExternalLibraryImport&&!resolutionExtensionIsTSOrJson(N.extension)&&errorOnImplicitAnyModule(!1,i,x,C,N,n),i&&(100===v||101===v)){const e=1===x.impliedNodeFormat&&!findAncestor(t,isImportCall)||!!findAncestor(t,isImportEqualsDeclaration),r=findAncestor(t,e=>isImportTypeNode(e)||isExportDeclaration(e)||isImportDeclaration(e)||isJSDocImportTag(e));if(e&&99===F.impliedNodeFormat&&!hasResolutionModeOverride(r))if(findAncestor(t,isImportEqualsDeclaration))error2(i,Ot.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead,n);else{let e;const t=tryGetExtensionFromPath2(x.fileName);".ts"!==t&&".js"!==t&&".tsx"!==t&&".jsx"!==t||(e=createModeMismatchDetails(x));const o=273===(null==r?void 0:r.kind)&&(null==(f=r.importClause)?void 0:f.isTypeOnly)?Ot.Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute:206===(null==r?void 0:r.kind)?Ot.Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute:Ot.The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead;vi.add(createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(i),i,chainDiagnosticMessages(e,o,n)))}}return getMergedSymbol(F.symbol)}i&&r&&!isSideEffectImport(i)&&error2(i,Ot.File_0_is_not_a_module,F.fileName)}else{if(Bt){const e=findBestPatternMatch(Bt,e=>e.pattern,n);if(e){const t=jt&&jt.get(n);return getMergedSymbol(t?t:e.symbol)}}if(i){if((!N||resolutionExtensionIsTSOrJson(N.extension)||void 0!==k)&&k!==Ot.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type){if(r){if(N){const t=e.getRedirectFromSourceFile(N.resolvedFileName);if(null==t?void 0:t.outputDts)return void error2(i,Ot.Output_file_0_has_not_been_built_from_source_file_1,t.outputDts,N.resolvedFileName)}if(k)error2(i,k,n,N.resolvedFileName);else{const t=pathIsRelative(n)&&!hasExtension(n),o=3===E||99===E;if(!Yn(S)&&fileExtensionIs(n,".json")&&1!==E&&hasJsonModuleEmitEnabled(S))error2(i,Ot.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n);else if(99===C&&o&&t){const t=getNormalizedAbsolutePath(n,getDirectoryPath(x.path)),r=null==(g=Ai.find(([n,r])=>e.fileExists(t+n)))?void 0:g[1];r?error2(i,Ot.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0,n+r):error2(i,Ot.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path)}else if(null==(y=e.getResolvedModule(x,n,C))?void 0:y.alternateResult){errorOrSuggestion(!0,i,chainDiagnosticMessages(createModuleNotFoundChain(x,e,n,C,n),r,n))}else error2(i,r,n)}}return}if(o){error2(i,Ot.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,n,N.resolvedFileName)}else errorOnImplicitAnyModule(A&&!!r,i,x,C,N,n)}}}function errorOnImplicitAnyModule(t,n,r,i,{packageId:o,resolvedFileName:a},s){if(isSideEffectImport(n))return;let c;!isExternalModuleNameRelative(s)&&o&&(c=createModuleNotFoundChain(r,e,s,i,o.name)),errorOrSuggestion(t,n,chainDiagnosticMessages(c,Ot.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,s,a))}function resolveExternalModuleSymbol(e,t){if(null==e?void 0:e.exports){const n=function getCommonJsExportEquals(e,t){if(!e||e===ve||e===t||1===t.exports.size||2097152&e.flags)return e;const n=getSymbolLinks(e);if(n.cjsExportMerged)return n.cjsExportMerged;const r=33554432&e.flags?e:cloneSymbol(e);r.flags=512|r.flags,void 0===r.exports&&(r.exports=createSymbolTable());t.exports.forEach((e,t)=>{"export="!==t&&r.exports.set(t,r.exports.has(t)?mergeSymbol(r.exports.get(t),e):e)}),r===e&&(getSymbolLinks(r).resolvedExports=void 0,getSymbolLinks(r).resolvedMembers=void 0);return getSymbolLinks(r).cjsExportMerged=r,n.cjsExportMerged=r}(getMergedSymbol(resolveSymbol(e.exports.get("export="),t)),getMergedSymbol(e));return getMergedSymbol(n)||e}}function resolveESModuleSymbol(t,n,r,i){var o;const a=resolveExternalModuleSymbol(t,r);if(!r&&a){if(!(i||1539&a.flags||getDeclarationOfKind(a,308))){const e=v>=5?"allowSyntheticDefaultImports":"esModuleInterop";return error2(n,Ot.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,e),a}const s=n.parent,c=isImportDeclaration(s)&&getNamespaceDeclarationNode(s);if(c||isImportCall(s)){const l=isImportCall(s)?s.arguments[0]:s.moduleSpecifier,d=getTypeOfSymbol(a),p=getTypeWithSyntheticDefaultOnly(d,a,t,l);if(p)return cloneTypeAsModuleType(a,p,s);const u=null==(o=null==t?void 0:t.declarations)?void 0:o.find(isSourceFile),m=getEmitSyntaxForModuleSpecifierExpression(l);let _;if(c&&u&&102<=v&&v<=199&&1===m&&99===e.getImpliedNodeFormatForEmit(u)&&(_=resolveExportByName(a,"module.exports",c,r)))return i||1539&a.flags||error2(n,Ot.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,"esModuleInterop"),Gn(S)&&hasSignatures(d)?cloneTypeAsModuleType(_,d,s):_;const f=u&&function isESMFormatImportImportingCommonjsFormatFile(e,t){return 99===e&&1===t}(m,e.getImpliedNodeFormatForEmit(u));if((Gn(S)||f)&&(hasSignatures(d)||getPropertyOfType(d,"default",!0)||f)){return cloneTypeAsModuleType(a,3670016&d.flags?getTypeWithSyntheticDefaultImportType(d,a,t,l):createDefaultPropertyWrapperForModule(a,a.parent),s)}}}return a}function hasSignatures(e){return some(getSignaturesOfStructuredType(e,0))||some(getSignaturesOfStructuredType(e,1))}function cloneTypeAsModuleType(e,t,n){const r=createSymbol(e.flags,e.escapedName);r.declarations=e.declarations?e.declarations.slice():[],r.parent=e.parent,r.links.target=e,r.links.originatingImport=n,e.valueDeclaration&&(r.valueDeclaration=e.valueDeclaration),e.constEnumOnlyModule&&(r.constEnumOnlyModule=!0),e.members&&(r.members=new Map(e.members)),e.exports&&(r.exports=new Map(e.exports));const i=resolveStructuredTypeMembers(t);return r.links.type=createAnonymousType(r,i.members,l,l,i.indexInfos),r}function hasExportAssignmentSymbol(e){return void 0!==e.exports.get("export=")}function getExportsOfModuleAsArray(e){return symbolsToArray(getExportsOfModule(e))}function tryGetMemberInModuleExports(e,t){const n=getExportsOfModule(t);if(n)return n.get(e)}function shouldTreatPropertiesOfExternalModuleAsExports(e){return!(402784252&e.flags||1&getObjectFlags(e)||isArrayType(e)||isTupleType(e))}function getExportsOfSymbol(e){return 6256&e.flags?getResolvedMembersOrExportsOfSymbol(e,"resolvedExports"):1536&e.flags?getExportsOfModule(e):e.exports||y}function getExportsOfModule(e){const t=getSymbolLinks(e);if(!t.resolvedExports){const{exports:n,typeOnlyExportStarMap:r}=getExportsOfModuleWorker(e);t.resolvedExports=n,t.typeOnlyExportStarMap=r}return t.resolvedExports}function extendExportSymbols(e,t,n,r){t&&t.forEach((t,i)=>{if("default"===i)return;const o=e.get(i);if(o){if(n&&r&&o&&resolveSymbol(o)!==resolveSymbol(t)){const e=n.get(i);e.exportsWithDuplicate?e.exportsWithDuplicate.push(r):e.exportsWithDuplicate=[r]}}else e.set(i,t),n&&r&&n.set(i,{specifierText:getTextOfNode(r.moduleSpecifier)})})}function getExportsOfModuleWorker(e){const t=[];let n;const r=new Set,i=function visit(e,i,o){!o&&(null==e?void 0:e.exports)&&e.exports.forEach((e,t)=>r.add(t));if(!(e&&e.exports&&pushIfUnique(t,e)))return;const a=new Map(e.exports),s=e.exports.get("__export");if(s){const e=createSymbolTable(),t=new Map;if(s.declarations)for(const n of s.declarations){const r=resolveExternalModuleName(n,n.moduleSpecifier);extendExportSymbols(e,visit(r,n,o||n.isTypeOnly),t,n)}t.forEach(({exportsWithDuplicate:e},n)=>{if("export="!==n&&e&&e.length&&!a.has(n))for(const r of e)vi.add(createDiagnosticForNode(r,Ot.Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity,t.get(n).specifierText,unescapeLeadingUnderscores(n)))}),extendExportSymbols(a,e)}(null==i?void 0:i.isTypeOnly)&&(n??(n=new Map),a.forEach((e,t)=>n.set(t,i)));return a}(e=resolveExternalModuleSymbol(e))||y;return n&&r.forEach(e=>n.delete(e)),{exports:i,typeOnlyExportStarMap:n}}function getMergedSymbol(e){let t;return e&&e.mergeId&&(t=ni[e.mergeId])?t:e}function getSymbolOfDeclaration(e){return getMergedSymbol(e.symbol&&getLateBoundSymbol(e.symbol))}function getSymbolOfNode(e){return canHaveSymbol(e)?getSymbolOfDeclaration(e):void 0}function getParentOfSymbol(e){return getMergedSymbol(e.parent&&getLateBoundSymbol(e.parent))}function getFunctionExpressionParentSymbolOrSymbol(e){var t,n;return(220===(null==(t=e.valueDeclaration)?void 0:t.kind)||219===(null==(n=e.valueDeclaration)?void 0:n.kind))&&getSymbolOfNode(e.valueDeclaration.parent)||e}function getContainersOfSymbol(t,n,r){const i=getParentOfSymbol(t);if(i&&!(262144&t.flags))return getWithAlternativeContainers(i);const o=mapDefined(t.declarations,e=>{if(!isAmbientModule(e)&&e.parent){if(hasNonGlobalAugmentationExternalModuleSymbol(e.parent))return getSymbolOfDeclaration(e.parent);if(isModuleBlock(e.parent)&&e.parent.parent&&resolveExternalModuleSymbol(getSymbolOfDeclaration(e.parent.parent))===t)return getSymbolOfDeclaration(e.parent.parent)}if(isClassExpression(e)&&isBinaryExpression(e.parent)&&64===e.parent.operatorToken.kind&&isAccessExpression(e.parent.left)&&isEntityNameExpression(e.parent.left.expression))return isModuleExportsAccessExpression(e.parent.left)||isExportsIdentifier(e.parent.left.expression)?getSymbolOfDeclaration(getSourceFileOfNode(e)):(checkExpressionCached(e.parent.left.expression),getNodeLinks(e.parent.left.expression).resolvedSymbol)});if(!length(o))return;const a=mapDefined(o,e=>getAliasForSymbolInContainer(e,t)?e:void 0);let s=[],c=[];for(const e of a){const[t,...n]=getWithAlternativeContainers(e);s=append(s,t),c=addRange(c,n)}return concatenate(s,c);function getWithAlternativeContainers(i){const o=mapDefined(i.declarations,fileSymbolIfFileSymbolExportEqualsContainer),a=n&&function getAlternativeContainingModules(t,n){const r=getSourceFileOfNode(n),i=getNodeId(r),o=getSymbolLinks(t);let a;if(o.extendedContainersByFile&&(a=o.extendedContainersByFile.get(i)))return a;if(r&&r.imports){for(const e of r.imports){if(nodeIsSynthesized(e))continue;const r=resolveExternalModuleName(n,e,!0);r&&(getAliasForSymbolInContainer(r,t)&&(a=append(a,r)))}if(length(a))return(o.extendedContainersByFile||(o.extendedContainersByFile=new Map)).set(i,a),a}if(o.extendedContainers)return o.extendedContainers;const s=e.getSourceFiles();for(const e of s){if(!isExternalModule(e))continue;const n=getSymbolOfDeclaration(e);getAliasForSymbolInContainer(n,t)&&(a=append(a,n))}return o.extendedContainers=a||l}(t,n),s=function getVariableDeclarationOfObjectLiteral(e,t){const n=!!length(e.declarations)&&first(e.declarations);if(111551&t&&n&&n.parent&&isVariableDeclaration(n.parent)&&(isObjectLiteralExpression(n)&&n===n.parent.initializer||isTypeLiteralNode(n)&&n===n.parent.type))return getSymbolOfDeclaration(n.parent)}(i,r);if(n&&i.flags&getQualifiedLeftMeaning(r)&&getAccessibleSymbolChain(i,n,1920,!1))return append(concatenate(concatenate([i],o),a),s);const c=!(i.flags&getQualifiedLeftMeaning(r))&&788968&i.flags&&524288&getDeclaredTypeOfSymbol(i).flags&&111551===r?forEachSymbolTableInScope(n,e=>forEachEntry(e,e=>{if(e.flags&getQualifiedLeftMeaning(r)&&getTypeOfSymbol(e)===getDeclaredTypeOfSymbol(i))return e})):void 0;let d=c?[c,...o,i]:[...o,i];return d=append(d,s),d=addRange(d,a),d}function fileSymbolIfFileSymbolExportEqualsContainer(e){return i&&getFileSymbolIfFileSymbolExportEqualsContainer(e,i)}}function getFileSymbolIfFileSymbolExportEqualsContainer(e,t){const n=getExternalModuleContainer(e),r=n&&n.exports&&n.exports.get("export=");return r&&getSymbolIfSameReference(r,t)?n:void 0}function getAliasForSymbolInContainer(e,t){if(e===getParentOfSymbol(t))return t;const n=e.exports&&e.exports.get("export=");if(n&&getSymbolIfSameReference(n,t))return e;const r=getExportsOfSymbol(e),i=r.get(t.escapedName);return i&&getSymbolIfSameReference(i,t)?i:forEachEntry(r,e=>{if(getSymbolIfSameReference(e,t))return e})}function getSymbolIfSameReference(e,t){if(getMergedSymbol(resolveSymbol(getMergedSymbol(e)))===getMergedSymbol(resolveSymbol(getMergedSymbol(t))))return e}function getExportSymbolOfValueSymbolIfExported(e){return getMergedSymbol(e&&!!(1048576&e.flags)&&e.exportSymbol||e)}function symbolIsValue(e,t){return!!(111551&e.flags||2097152&e.flags&&111551&getSymbolFlags(e,!t))}function createType(e){var t;const n=new s(re,e);return d++,n.id=d,null==(t=J)||t.recordType(n),n}function createTypeWithSymbol(e,t){const n=createType(e);return n.symbol=t,n}function createOriginType(e){return new s(re,e)}function createIntrinsicType(e,t,n=0,r){!function checkIntrinsicName(e,t){const n=`${e},${t??""}`;Ne.has(n)&&h.fail(`Duplicate intrinsic type name ${e}${t?` (${t})`:""}; you may need to pass a name to createIntrinsicType.`);Ne.add(n)}(t,r);const i=createType(e);return i.intrinsicName=t,i.debugIntrinsicName=r,i.objectFlags=52953088|n,i}function createObjectType(e,t){const n=createTypeWithSymbol(524288,t);return n.objectFlags=e,n.members=void 0,n.properties=void 0,n.callSignatures=void 0,n.constructSignatures=void 0,n.indexInfos=void 0,n}function createTypeParameter(e){return createTypeWithSymbol(262144,e)}function isReservedMemberName(e){return 95===e.charCodeAt(0)&&95===e.charCodeAt(1)&&95!==e.charCodeAt(2)&&64!==e.charCodeAt(2)&&35!==e.charCodeAt(2)}function getNamedMembers(e){let t;return e.forEach((e,n)=>{isNamedMember(e,n)&&(t||(t=[])).push(e)}),t||l}function isNamedMember(e,t){return!isReservedMemberName(t)&&symbolIsValue(e)}function setStructuredTypeMembers(e,t,n,r,i){const o=e;return o.members=t,o.properties=l,o.callSignatures=n,o.constructSignatures=r,o.indexInfos=i,t!==y&&(o.properties=getNamedMembers(t)),o}function createAnonymousType(e,t,n,r,i){return setStructuredTypeMembers(createObjectType(16,e),t,n,r,i)}function forEachSymbolTableInScope(e,t){let n;for(let r=e;r;r=r.parent){if(canHaveLocals(r)&&r.locals&&!isGlobalSourceFile(r)&&(n=t(r.locals,void 0,!0,r)))return n;switch(r.kind){case 308:if(!isExternalOrCommonJsModule(r))break;case 268:const e=getSymbolOfDeclaration(r);if(n=t((null==e?void 0:e.exports)||y,void 0,!0,r))return n;break;case 264:case 232:case 265:let i;if((getSymbolOfDeclaration(r).members||y).forEach((e,t)=>{788968&e.flags&&(i||(i=createSymbolTable())).set(t,e)}),i&&(n=t(i,void 0,!1,r)))return n}}return t(z,void 0,!0)}function getQualifiedLeftMeaning(e){return 111551===e?111551:1920}function getAccessibleSymbolChain(e,t,n,r,i=new Map){if(!e||function isPropertyOrMethodDeclarationSymbol(e){if(e.declarations&&e.declarations.length){for(const t of e.declarations)switch(t.kind){case 173:case 175:case 178:case 179:continue;default:return!1}return!0}return!1}(e))return;const o=getSymbolLinks(e),a=o.accessibleChainCache||(o.accessibleChainCache=new Map),s=forEachSymbolTableInScope(t,(e,t,n,r)=>r),c=`${r?0:1}|${s?getNodeId(s):0}|${n}`;if(a.has(c))return a.get(c);const l=getSymbolId(e);let d=i.get(l);d||i.set(l,d=[]);const p=forEachSymbolTableInScope(t,getAccessibleSymbolChainFromSymbolTable);return a.set(c,p),p;function getAccessibleSymbolChainFromSymbolTable(n,i,o){if(!pushIfUnique(d,n))return;const a=function trySymbolTable(n,i,o){if(isAccessible(n.get(e.escapedName),void 0,i))return[e];const a=forEachEntry(n,n=>{if(2097152&n.flags&&"export="!==n.escapedName&&"default"!==n.escapedName&&!(isUMDExportSymbol(n)&&t&&isExternalModule(getSourceFileOfNode(t)))&&(!r||some(n.declarations,isExternalModuleImportEqualsDeclaration))&&(!o||!some(n.declarations,isNamespaceReexportDeclaration))&&(i||!getDeclarationOfKind(n,282))){const e=getCandidateListForSymbol(n,resolveAlias(n),i);if(e)return e}if(n.escapedName===e.escapedName&&n.exportSymbol&&isAccessible(getMergedSymbol(n.exportSymbol),void 0,i))return[e]});return a||(n===z?getCandidateListForSymbol(q,q,i):void 0)}(n,i,o);return d.pop(),a}function canQualifySymbol(e,n){return!needsQualification(e,t,n)||!!getAccessibleSymbolChain(e.parent,t,getQualifiedLeftMeaning(n),r,i)}function isAccessible(t,r,i){return(e===(r||t)||getMergedSymbol(e)===getMergedSymbol(r||t))&&!some(t.declarations,hasNonGlobalAugmentationExternalModuleSymbol)&&(i||canQualifySymbol(getMergedSymbol(t),n))}function getCandidateListForSymbol(e,t,r){if(isAccessible(e,t,r))return[e];const i=getExportsOfSymbol(t),o=i&&getAccessibleSymbolChainFromSymbolTable(i,!0);return o&&canQualifySymbol(e,getQualifiedLeftMeaning(n))?[e].concat(o):void 0}}function needsQualification(e,t,n){let r=!1;return forEachSymbolTableInScope(t,t=>{let i=getMergedSymbol(t.get(e.escapedName));if(!i)return!1;if(i===e)return!0;const o=2097152&i.flags&&!getDeclarationOfKind(i,282);i=o?resolveAlias(i):i;return!!((o?getSymbolFlags(i):i.flags)&n)&&(r=!0,!0)}),r}function isValueSymbolAccessible(e,t){return 0===isSymbolAccessibleWorker(e,t,111551,!1,!0).accessibility}function isSymbolAccessibleByFlags(e,t,n){return 0===isSymbolAccessibleWorker(e,t,n,!1,!1).accessibility}function isAnySymbolAccessible(e,t,n,r,i,o){if(!length(e))return;let a,s=!1;for(const c of e){const e=getAccessibleSymbolChain(c,t,r,!1);if(e){a=c;const t=hasVisibleDeclarations(e[0],i);if(t)return t}if(o&&some(c.declarations,hasNonGlobalAugmentationExternalModuleSymbol)){if(i){s=!0;continue}return{accessibility:0}}const l=isAnySymbolAccessible(getContainersOfSymbol(c,t,r),t,n,n===c?getQualifiedLeftMeaning(r):r,i,o);if(l)return l}return s?{accessibility:0}:a?{accessibility:1,errorSymbolName:symbolToString(n,t,r),errorModuleName:a!==n?symbolToString(a,t,1920):void 0}:void 0}function isSymbolAccessible(e,t,n,r){return isSymbolAccessibleWorker(e,t,n,r,!0)}function isSymbolAccessibleWorker(e,t,n,r,i){if(e&&t){const o=isAnySymbolAccessible([e],t,e,n,r,i);if(o)return o;const a=forEach(e.declarations,getExternalModuleContainer);if(a){if(a!==getExternalModuleContainer(t))return{accessibility:2,errorSymbolName:symbolToString(e,t,n),errorModuleName:symbolToString(a),errorNode:isInJSFile(t)?t:void 0}}return{accessibility:1,errorSymbolName:symbolToString(e,t,n)}}return{accessibility:0}}function getExternalModuleContainer(e){const t=findAncestor(e,hasExternalModuleSymbol);return t&&getSymbolOfDeclaration(t)}function hasExternalModuleSymbol(e){return isAmbientModule(e)||308===e.kind&&isExternalOrCommonJsModule(e)}function hasNonGlobalAugmentationExternalModuleSymbol(e){return isModuleWithStringLiteralName(e)||308===e.kind&&isExternalOrCommonJsModule(e)}function hasVisibleDeclarations(e,t){let n;if(every(filter(e.declarations,e=>80!==e.kind),function getIsDeclarationVisible(t){var n,r;if(!isDeclarationVisible(t)){const i=getAnyImportSyntax(t);if(i&&!hasSyntacticModifier(i,32)&&isDeclarationVisible(i.parent))return addVisibleAlias(t,i);if(isVariableDeclaration(t)&&isVariableStatement(t.parent.parent)&&!hasSyntacticModifier(t.parent.parent,32)&&isDeclarationVisible(t.parent.parent.parent))return addVisibleAlias(t,t.parent.parent);if(isLateVisibilityPaintedStatement(t)&&!hasSyntacticModifier(t,32)&&isDeclarationVisible(t.parent))return addVisibleAlias(t,t);if(isBindingElement(t)){if(2097152&e.flags&&isInJSFile(t)&&(null==(n=t.parent)?void 0:n.parent)&&isVariableDeclaration(t.parent.parent)&&(null==(r=t.parent.parent.parent)?void 0:r.parent)&&isVariableStatement(t.parent.parent.parent.parent)&&!hasSyntacticModifier(t.parent.parent.parent.parent,32)&&t.parent.parent.parent.parent.parent&&isDeclarationVisible(t.parent.parent.parent.parent.parent))return addVisibleAlias(t,t.parent.parent.parent.parent);if(2&e.flags){const e=walkUpBindingElementsAndPatterns(t);if(170===e.kind)return!1;const n=e.parent.parent;return 244===n.kind&&(!!hasSyntacticModifier(n,32)||!!isDeclarationVisible(n.parent)&&addVisibleAlias(t,n))}}return!1}return!0}))return{accessibility:0,aliasesToMakeVisible:n};function addVisibleAlias(e,r){return t&&(getNodeLinks(e).isVisible=!0,n=appendIfUnique(n,r)),!0}}function getMeaningOfEntityNameReference(e){let t;return t=187===e.parent.kind||234===e.parent.kind&&!isPartOfTypeNode(e.parent)||168===e.parent.kind||183===e.parent.kind&&e.parent.parameterName===e?1160127:167===e.kind||212===e.kind||272===e.parent.kind||167===e.parent.kind&&e.parent.left===e||212===e.parent.kind&&e.parent.expression===e||213===e.parent.kind&&e.parent.expression===e?1920:788968,t}function isEntityNameVisible(e,t,n=!0){const r=getMeaningOfEntityNameReference(e),i=getFirstIdentifier(e),o=te(t,i.escapedText,r,void 0,!1);return o&&262144&o.flags&&788968&r||!o&&isThisIdentifier(i)&&0===isSymbolAccessible(getSymbolOfDeclaration(getThisContainer(i,!1,!1)),i,r,!1).accessibility?{accessibility:0}:o?hasVisibleDeclarations(o,n)||{accessibility:1,errorSymbolName:getTextOfNode(i),errorNode:i}:{accessibility:3,errorSymbolName:getTextOfNode(i),errorNode:i}}function symbolToString(e,t,n,r=4,i){let o=70221824,a=0;2&r&&(o|=128),1&r&&(o|=512),8&r&&(o|=16384),32&r&&(a|=4),16&r&&(a|=1);const s=4&r?j.symbolToNode:j.symbolToEntityName;return i?symbolToStringWorker(i).getText():usingSingleLineStringWriter(symbolToStringWorker);function symbolToStringWorker(r){const i=s(e,n,t,o,a),c=308===(null==t?void 0:t.kind)?Fa():ka(),l=t&&getSourceFileOfNode(t);return c.writeNode(4,i,l,r),r}}function signatureToString(e,t,n=0,r,i,o,a,s){return i?signatureToStringWorker(i).getText():usingSingleLineStringWriter(signatureToStringWorker);function signatureToStringWorker(i){let c;c=262144&n?1===r?186:185:1===r?181:180;const l=j.signatureToSignatureDeclaration(e,c,t,70222336|toNodeBuilderFlags(n),void 0,void 0,o,a,s),d=Pa(),p=t&&getSourceFileOfNode(t);return d.writeNode(4,l,p,getTrailingSemicolonDeferringWriter(i)),i}}function typeToString(e,t,n=1064960,r=createTextWriter(""),i,o,a){const s=!i&&S.noErrorTruncation||1&n,c=j.typeToTypeNode(e,t,70221824|toNodeBuilderFlags(n)|(s?1:0),void 0,void 0,i,o,a);if(void 0===c)return h.fail("should always get typenode");const l=e!==Ae?ka():Na(),d=t&&getSourceFileOfNode(t);l.writeNode(4,c,d,r);const p=r.getText(),u=i||(s?2*ln:2*cn);return u&&p&&p.length>=u?p.substr(0,u-3)+"...":p}function getTypeNamesForErrorDisplay(e,t){let n=symbolValueDeclarationIsContextSensitive(e.symbol)?typeToString(e,e.symbol.valueDeclaration):typeToString(e),r=symbolValueDeclarationIsContextSensitive(t.symbol)?typeToString(t,t.symbol.valueDeclaration):typeToString(t);return n===r&&(n=getTypeNameForErrorDisplay(e),r=getTypeNameForErrorDisplay(t)),[n,r]}function getTypeNameForErrorDisplay(e){return typeToString(e,void 0,64)}function symbolValueDeclarationIsContextSensitive(e){return e&&!!e.valueDeclaration&&isExpression(e.valueDeclaration)&&!isContextSensitive(e.valueDeclaration)}function toNodeBuilderFlags(e=0){return 848330095&e}function isClassInstanceSide(e){return!!(e.symbol&&32&e.symbol.flags&&(e===getDeclaredTypeOfClassOrInterface(e.symbol)||524288&e.flags&&16777216&getObjectFlags(e)))}function getTypeFromTypeNodeWithoutContext(e){return getTypeFromTypeNode(e)}function isLibType(t){var n;const r=4&getObjectFlags(t)?t.target.symbol:t.symbol;return isTupleType(t)||!!(null==(n=null==r?void 0:r.declarations)?void 0:n.some(t=>e.isSourceFileDefaultLibrary(getSourceFileOfNode(t))))}function typePredicateToString(e,t,n=16384,r){return r?typePredicateToStringWorker(r).getText():usingSingleLineStringWriter(typePredicateToStringWorker);function typePredicateToStringWorker(r){const i=70222336|toNodeBuilderFlags(n),o=j.typePredicateToTypePredicateNode(e,t,i),a=ka(),s=t&&getSourceFileOfNode(t);return a.writeNode(4,o,s,r),r}}function visibilityToString(e){return 2===e?"private":4===e?"protected":"public"}function isTopLevelInExternalModuleAugmentation(e){return e&&e.parent&&269===e.parent.kind&&isExternalModuleAugmentation(e.parent.parent)}function isDefaultBindingContext(e){return 308===e.kind||isAmbientModule(e)}function getNameOfSymbolFromNameType(e,t){const n=getSymbolLinks(e).nameType;if(n){if(384&n.flags){const e=""+n.value;return isIdentifierText(e,zn(S))||isNumericLiteralName(e)?isNumericLiteralName(e)&&startsWith(e,"-")?`[${e}]`:e:`"${escapeString(e,34)}"`}if(8192&n.flags)return`[${getNameOfSymbolAsWritten(n.symbol,t)}]`}}function getNameOfSymbolAsWritten(e,t){var n;if((null==(n=null==t?void 0:t.remappedSymbolReferences)?void 0:n.has(getSymbolId(e)))&&(e=t.remappedSymbolReferences.get(getSymbolId(e))),t&&"default"===e.escapedName&&!(16384&t.flags)&&(!(16777216&t.flags)||!e.declarations||t.enclosingDeclaration&&findAncestor(e.declarations[0],isDefaultBindingContext)!==findAncestor(t.enclosingDeclaration,isDefaultBindingContext)))return"default";if(e.declarations&&e.declarations.length){let n=firstDefined(e.declarations,e=>getNameOfDeclaration(e)?e:void 0);const r=n&&getNameOfDeclaration(n);if(n&&r){if(isCallExpression(n)&&isBindableObjectDefinePropertyCall(n))return symbolName(e);if(isComputedPropertyName(r)&&!(4096&getCheckFlags(e))){const n=getSymbolLinks(e).nameType;if(n&&384&n.flags){const n=getNameOfSymbolFromNameType(e,t);if(void 0!==n)return n}}return declarationNameToString(r)}if(n||(n=e.declarations[0]),n.parent&&261===n.parent.kind)return declarationNameToString(n.parent.name);switch(n.kind){case 232:case 219:case 220:return!t||t.encounteredError||131072&t.flags||(t.encounteredError=!0),232===n.kind?"(Anonymous class)":"(Anonymous function)"}}const r=getNameOfSymbolFromNameType(e,t);return void 0!==r?r:symbolName(e)}function isDeclarationVisible(e){if(e){const t=getNodeLinks(e);return void 0===t.isVisible&&(t.isVisible=!!function determineIfDeclarationIsVisible(){switch(e.kind){case 339:case 347:case 341:return!!(e.parent&&e.parent.parent&&e.parent.parent.parent&&isSourceFile(e.parent.parent.parent));case 209:return isDeclarationVisible(e.parent.parent);case 261:if(isBindingPattern(e.name)&&!e.name.elements.length)return!1;case 268:case 264:case 265:case 266:case 263:case 267:case 272:if(isExternalModuleAugmentation(e))return!0;const t=getDeclarationContainer(e);return 32&getCombinedModifierFlagsCached(e)||272!==e.kind&&308!==t.kind&&33554432&t.flags?isDeclarationVisible(t):isGlobalSourceFile(t);case 173:case 172:case 178:case 179:case 175:case 174:if(hasEffectiveModifier(e,6))return!1;case 177:case 181:case 180:case 182:case 170:case 269:case 185:case 186:case 188:case 184:case 189:case 190:case 193:case 194:case 197:case 203:return isDeclarationVisible(e.parent);case 274:case 275:case 277:return!1;case 169:case 308:case 271:return!0;default:return!1}}()),t.isVisible}return!1}function collectLinkedAliases(e,t){let n,r,i;return 11!==e.kind&&e.parent&&278===e.parent.kind?n=te(e,e,2998271,void 0,!1):282===e.parent.kind&&(n=getTargetOfExportSpecifier(e.parent,2998271)),n&&(i=new Set,i.add(getSymbolId(n)),function buildVisibleNodeList(e){forEach(e,e=>{const n=getAnyImportSyntax(e)||e;if(t?getNodeLinks(e).isVisible=!0:(r=r||[],pushIfUnique(r,n)),isInternalModuleImportEqualsDeclaration(e)){const t=getFirstIdentifier(e.moduleReference),n=te(e,t.escapedText,901119,void 0,!1);n&&i&&tryAddToSet(i,getSymbolId(n))&&buildVisibleNodeList(n.declarations)}})}(n.declarations)),r}function pushTypeResolution(e,t){const n=findResolutionCycleStartIndex(e,t);if(n>=0){const{length:e}=$r;for(let t=n;t<e;t++)Qr[t]=!1;return!1}return $r.push(e),Qr.push(!0),Xr.push(t),!0}function findResolutionCycleStartIndex(e,t){for(let n=$r.length-1;n>=Yr;n--){if(resolutionTargetHasProperty($r[n],Xr[n]))return-1;if($r[n]===e&&Xr[n]===t)return n}return-1}function resolutionTargetHasProperty(e,t){switch(t){case 0:return!!getSymbolLinks(e).type;case 2:return!!getSymbolLinks(e).declaredType;case 1:return!!e.resolvedBaseConstructorType;case 3:return!!e.resolvedReturnType;case 4:return!!e.immediateBaseConstraint;case 5:return!!e.resolvedTypeArguments;case 6:return!!e.baseTypesResolved;case 7:return!!getSymbolLinks(e).writeType;case 8:return void 0!==getNodeLinks(e).parameterInitializerContainsUndefined}return h.assertNever(t)}function popTypeResolution(){return $r.pop(),Xr.pop(),Qr.pop()}function getDeclarationContainer(e){return findAncestor(getRootDeclaration(e),e=>{switch(e.kind){case 261:case 262:case 277:case 276:case 275:case 274:return!1;default:return!0}}).parent}function getTypeOfPropertyOfType(e,t){const n=getPropertyOfType(e,t);return n?getTypeOfSymbol(n):void 0}function getTypeOfPropertyOrIndexSignatureOfType(e,t){var n;let r;return getTypeOfPropertyOfType(e,t)||(r=null==(n=getApplicableIndexInfoForName(e,t))?void 0:n.type)&&addOptionality(r,!0,!0)}function isTypeAny(e){return e&&!!(1&e.flags)}function isErrorType(e){return e===Ie||!!(1&e.flags&&e.aliasSymbol)}function getTypeForBindingElementParent(e,t){if(0!==t)return getTypeForVariableLikeDeclaration(e,!1,t);const n=getSymbolOfDeclaration(e);return n&&getSymbolLinks(n).type||getTypeForVariableLikeDeclaration(e,!1,t)}function getRestType(e,t,n){if(131072&(e=filterType(e,e=>!(98304&e.flags))).flags)return ht;if(1048576&e.flags)return mapType(e,e=>getRestType(e,t,n));let r=getUnionType(map(t,getLiteralTypeFromPropertyName));const i=[],o=[];for(const t of getPropertiesOfType(e)){const e=getLiteralTypeFromProperty(t,8576);isTypeAssignableTo(e,r)||6&getDeclarationModifierFlagsFromSymbol(t)||!isSpreadableProperty(t)?o.push(e):i.push(t)}if(isGenericObjectType(e)||isGenericIndexType(r)){if(o.length&&(r=getUnionType([r,...o])),131072&r.flags)return e;const t=function getGlobalOmitSymbol(){return Rn||(Rn=getGlobalTypeAliasSymbol("Omit",2,!0)||ve),Rn===ve?void 0:Rn}();return t?getTypeAliasInstantiation(t,[e,r]):Ie}const a=createSymbolTable();for(const e of i)a.set(e.escapedName,getSpreadSymbol(e,!1));const s=createAnonymousType(n,a,l,l,getIndexInfosOfType(e));return s.objectFlags|=4194304,s}function isGenericTypeWithUndefinedConstraint(e){return!!(465829888&e.flags)&&maybeTypeOfKind(getBaseConstraintOfType(e)||Le,32768)}function getNonUndefinedType(e){return getTypeWithFacts(someType(e,isGenericTypeWithUndefinedConstraint)?mapType(e,e=>465829888&e.flags?getBaseConstraintOrType(e):e):e,524288)}function getFlowTypeOfDestructuring(e,t){const n=getSyntheticElementAccess(e);return n?getFlowTypeOfReference(n,t):t}function getSyntheticElementAccess(e){const t=function getParentElementAccess(e){const t=e.parent.parent;switch(t.kind){case 209:case 304:return getSyntheticElementAccess(t);case 210:return getSyntheticElementAccess(e.parent);case 261:return t.initializer;case 227:return t.right}}(e);if(t&&canHaveFlowNode(t)&&t.flowNode){const n=getDestructuringPropertyName(e);if(n){const r=setTextRange(Di.createStringLiteral(n),e),i=isLeftHandSideExpression(t)?t:Di.createParenthesizedExpression(t),o=setTextRange(Di.createElementAccessExpression(i,r),e);return setParent(r,o),setParent(o,e),i!==t&&setParent(i,o),o.flowNode=t.flowNode,o}}}function getDestructuringPropertyName(e){const t=e.parent;return 209===e.kind&&207===t.kind?getLiteralPropertyNameText(e.propertyName||e.name):304===e.kind||305===e.kind?getLiteralPropertyNameText(e.name):""+t.elements.indexOf(e)}function getLiteralPropertyNameText(e){const t=getLiteralTypeFromPropertyName(e);return 384&t.flags?""+t.value:void 0}function getTypeForBindingElement(e){const t=e.dotDotDotToken?32:0,n=getTypeForBindingElementParent(e.parent.parent,t);return n&&getBindingElementTypeFromParentType(e,n,!1)}function getBindingElementTypeFromParentType(e,t,n){if(isTypeAny(t))return t;const r=e.parent;k&&33554432&e.flags&&isPartOfParameterDeclaration(e)?t=getNonNullableType(t):k&&r.parent.initializer&&!hasTypeFacts(getTypeOfInitializer(r.parent.initializer),65536)&&(t=getTypeWithFacts(t,524288));const i=32|(n||hasDefaultValue(e)?16:0);let o;if(207===r.kind)if(e.dotDotDotToken){if(2&(t=getReducedType(t)).flags||!isValidSpreadType(t))return error2(e,Ot.Rest_types_may_only_be_created_from_object_types),Ie;const n=[];for(const e of r.elements)e.dotDotDotToken||n.push(e.propertyName||e.name);o=getRestType(t,n,e.symbol)}else{const n=e.propertyName||e.name;o=getFlowTypeOfDestructuring(e,getIndexedAccessType(t,getLiteralTypeFromPropertyName(n),i,n))}else{const n=checkIteratedTypeOrElementType(65|(e.dotDotDotToken?0:128),t,Me,r),a=r.elements.indexOf(e);if(e.dotDotDotToken){const e=mapType(t,e=>58982400&e.flags?getBaseConstraintOrType(e):e);o=everyType(e,isTupleType)?mapType(e,e=>sliceTupleType(e,a)):createArrayType(n)}else if(isArrayLikeType(t)){o=getFlowTypeOfDestructuring(e,getIndexedAccessTypeOrUndefined(t,getNumberLiteralType(a),i,e.name)||Ie)}else o=n}return e.initializer?getEffectiveTypeAnnotationNode(walkUpBindingElementsAndPatterns(e))?k&&!hasTypeFacts(checkDeclarationInitializer(e,0),16777216)?getNonUndefinedType(o):o:widenTypeInferredFromInitializer(e,getUnionType([getNonUndefinedType(o),checkDeclarationInitializer(e,0)],2)):o}function getTypeForDeclarationFromJSDocComment(e){const t=getJSDocType(e);if(t)return getTypeFromTypeNode(t)}function isEmptyArrayLiteral2(e){const t=skipParentheses(e,!0);return 210===t.kind&&0===t.elements.length}function addOptionality(e,t=!1,n=!0){return k&&n?getOptionalType(e,t):e}function getTypeForVariableLikeDeclaration(e,t,n){if(isVariableDeclaration(e)&&250===e.parent.parent.kind){const t=getIndexType(getNonNullableTypeIfNeeded(checkExpression(e.parent.parent.expression,n)));return 4456448&t.flags?getExtractStringType(t):ze}if(isVariableDeclaration(e)&&251===e.parent.parent.kind){return checkRightHandSideOfForOf(e.parent.parent)||ke}if(isBindingPattern(e.parent))return getTypeForBindingElement(e);const r=isPropertyDeclaration(e)&&!hasAccessorModifier(e)||isPropertySignature(e)||isJSDocPropertyTag(e),i=t&&isOptionalDeclaration(e),o=tryGetTypeFromEffectiveTypeNode(e);if(isCatchClauseVariableDeclarationOrBindingElement(e))return o?isTypeAny(o)||o===Le?o:Ie:w?Le:ke;if(o)return addOptionality(o,r,i);if((A||isInJSFile(e))&&isVariableDeclaration(e)&&!isBindingPattern(e.name)&&!(32&getCombinedModifierFlagsCached(e))&&!(33554432&e.flags)){if(!(6&getCombinedNodeFlagsCached(e))&&(!e.initializer||function isNullOrUndefined3(e){const t=skipParentheses(e,!0);return 106===t.kind||80===t.kind&&getResolvedSymbol(t)===V}(e.initializer)))return Fe;if(e.initializer&&isEmptyArrayLiteral2(e.initializer))return Yt}if(isParameter(e)){if(!e.symbol)return;const t=e.parent;if(179===t.kind&&hasBindableName(t)){const n=getDeclarationOfKind(getSymbolOfDeclaration(e.parent),178);if(n){const r=getSignatureFromDeclaration(n),i=getAccessorThisParameter(t);return i&&e===i?(h.assert(!i.type),getTypeOfSymbol(r.thisParameter)):getReturnTypeOfSignature(r)}}const n=function getParameterTypeOfTypeTag(e,t){const n=getSignatureOfTypeTag(e);if(!n)return;const r=e.parameters.indexOf(t);return t.dotDotDotToken?getRestTypeAtPosition(n,r):getTypeAtPosition(n,r)}(t,e);if(n)return n;const r="this"===e.symbol.escapedName?getContextualThisParameterType(t):getContextuallyTypedParameterType(e);if(r)return addOptionality(r,!1,i)}if(hasOnlyExpressionInitializer(e)&&e.initializer){if(isInJSFile(e)&&!isParameter(e)){const t=getJSContainerObjectType(e,getSymbolOfDeclaration(e),getDeclaredExpandoInitializer(e));if(t)return t}return addOptionality(widenTypeInferredFromInitializer(e,checkDeclarationInitializer(e,n)),r,i)}if(isPropertyDeclaration(e)&&(A||isInJSFile(e))){if(hasStaticModifier(e)){const t=filter(e.parent.members,isClassStaticBlockDeclaration),n=t.length?function getFlowTypeInStaticBlocks(e,t){const n=startsWith(e.escapedName,"__#")?Wr.createPrivateIdentifier(e.escapedName.split("@")[1]):unescapeLeadingUnderscores(e.escapedName);for(const r of t){const t=Wr.createPropertyAccessExpression(Wr.createThis(),n);setParent(t.expression,t),setParent(t,r),t.flowNode=r.returnFlowNode;const i=getFlowTypeOfProperty(t,e);if(!A||i!==Fe&&i!==Yt||error2(e.valueDeclaration,Ot.Member_0_implicitly_has_an_1_type,symbolToString(e),typeToString(i)),!everyType(i,isNullableType))return convertAutoToAny(i)}}(e.symbol,t):128&getEffectiveModifierFlags(e)?getTypeOfPropertyInBaseClass(e.symbol):void 0;return n&&addOptionality(n,!0,i)}{const t=findConstructorDeclaration(e.parent),n=t?getFlowTypeInConstructor(e.symbol,t):128&getEffectiveModifierFlags(e)?getTypeOfPropertyInBaseClass(e.symbol):void 0;return n&&addOptionality(n,!0,i)}}return isJsxAttribute(e)?Ge:isBindingPattern(e.name)?getTypeFromBindingPattern(e.name,!1,!0):void 0}function isConstructorDeclaredProperty(e){if(e.valueDeclaration&&isBinaryExpression(e.valueDeclaration)){const t=getSymbolLinks(e);return void 0===t.isConstructorDeclaredProperty&&(t.isConstructorDeclaredProperty=!1,t.isConstructorDeclaredProperty=!!getDeclaringConstructor(e)&&every(e.declarations,t=>isBinaryExpression(t)&&isPossiblyAliasedThisProperty(t)&&(213!==t.left.kind||isStringOrNumericLiteralLike(t.left.argumentExpression))&&!getAnnotatedTypeForAssignmentDeclaration(void 0,t,e,t))),t.isConstructorDeclaredProperty}return!1}function isAutoTypedProperty(e){const t=e.valueDeclaration;return t&&isPropertyDeclaration(t)&&!getEffectiveTypeAnnotationNode(t)&&!t.initializer&&(A||isInJSFile(t))}function getDeclaringConstructor(e){if(e.declarations)for(const t of e.declarations){const e=getThisContainer(t,!1,!1);if(e&&(177===e.kind||isJSConstructor(e)))return e}}function getFlowTypeInConstructor(e,t){const n=startsWith(e.escapedName,"__#")?Wr.createPrivateIdentifier(e.escapedName.split("@")[1]):unescapeLeadingUnderscores(e.escapedName),r=Wr.createPropertyAccessExpression(Wr.createThis(),n);setParent(r.expression,r),setParent(r,t),r.flowNode=t.returnFlowNode;const i=getFlowTypeOfProperty(r,e);return!A||i!==Fe&&i!==Yt||error2(e.valueDeclaration,Ot.Member_0_implicitly_has_an_1_type,symbolToString(e),typeToString(i)),everyType(i,isNullableType)?void 0:convertAutoToAny(i)}function getFlowTypeOfProperty(e,t){const n=(null==t?void 0:t.valueDeclaration)&&(!isAutoTypedProperty(t)||128&getEffectiveModifierFlags(t.valueDeclaration))&&getTypeOfPropertyInBaseClass(t)||Me;return getFlowTypeOfReference(e,Fe,n)}function getWidenedTypeForAssignmentDeclaration(e,t){const n=getAssignedExpandoInitializer(e.valueDeclaration);if(n){const t=isInJSFile(n)?getJSDocTypeTag(n):void 0;if(t&&t.typeExpression)return getTypeFromTypeNode(t.typeExpression);return e.valueDeclaration&&getJSContainerObjectType(e.valueDeclaration,e,n)||getWidenedLiteralType(checkExpressionCached(n))}let r,i=!1,o=!1;if(isConstructorDeclaredProperty(e)&&(r=getFlowTypeInConstructor(e,getDeclaringConstructor(e))),!r){let n;if(e.declarations){let a;for(const r of e.declarations){const s=isBinaryExpression(r)||isCallExpression(r)?r:isAccessExpression(r)?isBinaryExpression(r.parent)?r.parent:r:void 0;if(!s)continue;const c=isAccessExpression(s)?getAssignmentDeclarationPropertyAccessKind(s):getAssignmentDeclarationKind(s);(4===c||isBinaryExpression(s)&&isPossiblyAliasedThisProperty(s,c))&&(isDeclarationInConstructor(s)?i=!0:o=!0),isCallExpression(s)||(a=getAnnotatedTypeForAssignmentDeclaration(a,s,e,r)),a||(n||(n=[])).push(isBinaryExpression(s)||isCallExpression(s)?getInitializerTypeFromAssignmentDeclaration(e,t,s,c):tt)}r=a}if(!r){if(!length(n))return Ie;let t=i&&e.declarations?function getConstructorDefinedThisAssignmentTypes(e,t){return h.assert(e.length===t.length),e.filter((e,n)=>{const r=t[n],i=isBinaryExpression(r)?r:isBinaryExpression(r.parent)?r.parent:void 0;return i&&isDeclarationInConstructor(i)})}(n,e.declarations):void 0;if(o){const n=getTypeOfPropertyInBaseClass(e);n&&((t||(t=[])).push(n),i=!0)}r=getUnionType(some(t,e=>!!(-98305&e.flags))?t:n)}}const a=getWidenedType(addOptionality(r,!1,o&&!i));return e.valueDeclaration&&isInJSFile(e.valueDeclaration)&&filterType(a,e=>!!(-98305&e.flags))===tt?(reportImplicitAny(e.valueDeclaration,ke),ke):a}function getJSContainerObjectType(e,t,n){var r,i;if(!isInJSFile(e)||!n||!isObjectLiteralExpression(n)||n.properties.length)return;const o=createSymbolTable();for(;isBinaryExpression(e)||isPropertyAccessExpression(e);){const t=getSymbolOfNode(e);(null==(r=null==t?void 0:t.exports)?void 0:r.size)&&mergeSymbolTable(o,t.exports),e=isBinaryExpression(e)?e.parent:e.parent.parent}const a=getSymbolOfNode(e);(null==(i=null==a?void 0:a.exports)?void 0:i.size)&&mergeSymbolTable(o,a.exports);const s=createAnonymousType(t,o,l,l,l);return s.objectFlags|=4096,s}function getAnnotatedTypeForAssignmentDeclaration(e,t,n,r){var i;const o=getEffectiveTypeAnnotationNode(t.parent);if(o){const t=getWidenedType(getTypeFromTypeNode(o));if(!e)return t;isErrorType(e)||isErrorType(t)||isTypeIdenticalTo(e,t)||errorNextVariableOrPropertyDeclarationMustHaveSameType(void 0,e,r,t)}if(null==(i=n.parent)?void 0:i.valueDeclaration){const e=getFunctionExpressionParentSymbolOrSymbol(n.parent);if(e.valueDeclaration){const t=getEffectiveTypeAnnotationNode(e.valueDeclaration);if(t){const e=getPropertyOfType(getTypeFromTypeNode(t),n.escapedName);if(e)return getNonMissingTypeOfSymbol(e)}}}return e}function getInitializerTypeFromAssignmentDeclaration(e,t,n,r){if(isCallExpression(n)){if(t)return getTypeOfSymbol(t);const e=checkExpressionCached(n.arguments[2]),r=getTypeOfPropertyOfType(e,"value");if(r)return r;const i=getTypeOfPropertyOfType(e,"get");if(i){const e=getSingleCallSignature(i);if(e)return getReturnTypeOfSignature(e)}const o=getTypeOfPropertyOfType(e,"set");if(o){const e=getSingleCallSignature(o);if(e)return getTypeOfFirstParameterOfSignature(e)}return ke}if(function containsSameNamedThisProperty(e,t){return isPropertyAccessExpression(e)&&110===e.expression.kind&&forEachChildRecursively(t,t=>isMatchingReference(e,t))}(n.left,n.right))return ke;const i=1===r&&(isPropertyAccessExpression(n.left)||isElementAccessExpression(n.left))&&(isModuleExportsAccessExpression(n.left.expression)||isIdentifier(n.left.expression)&&isExportsIdentifier(n.left.expression)),o=t?getTypeOfSymbol(t):i?getRegularTypeOfLiteralType(checkExpressionCached(n.right)):getWidenedLiteralType(checkExpressionCached(n.right));if(524288&o.flags&&2===r&&"export="===e.escapedName){const n=resolveStructuredTypeMembers(o),r=createSymbolTable();copyEntries(n.members,r);const i=r.size;t&&!t.exports&&(t.exports=createSymbolTable()),(t||e).exports.forEach((e,t)=>{var n;const i=r.get(t);if(!i||i===e||2097152&e.flags)r.set(t,e);else if(111551&e.flags&&111551&i.flags){if(e.valueDeclaration&&i.valueDeclaration&&getSourceFileOfNode(e.valueDeclaration)!==getSourceFileOfNode(i.valueDeclaration)){const t=unescapeLeadingUnderscores(e.escapedName),r=(null==(n=tryCast(i.valueDeclaration,isNamedDeclaration))?void 0:n.name)||i.valueDeclaration;addRelatedInfo(error2(e.valueDeclaration,Ot.Duplicate_identifier_0,t),createDiagnosticForNode(r,Ot._0_was_also_declared_here,t)),addRelatedInfo(error2(r,Ot.Duplicate_identifier_0,t),createDiagnosticForNode(e.valueDeclaration,Ot._0_was_also_declared_here,t))}const o=createSymbol(e.flags|i.flags,t);o.links.type=getUnionType([getTypeOfSymbol(e),getTypeOfSymbol(i)]),o.valueDeclaration=i.valueDeclaration,o.declarations=concatenate(i.declarations,e.declarations),r.set(t,o)}else r.set(t,mergeSymbol(e,i))});const a=createAnonymousType(i!==r.size?void 0:n.symbol,r,n.callSignatures,n.constructSignatures,n.indexInfos);if(i===r.size&&(o.aliasSymbol&&(a.aliasSymbol=o.aliasSymbol,a.aliasTypeArguments=o.aliasTypeArguments),4&getObjectFlags(o))){a.aliasSymbol=o.symbol;const e=getTypeArguments(o);a.aliasTypeArguments=length(e)?e:void 0}return a.objectFlags|=getPropagatingFlagsOfTypes([o])|20608&getObjectFlags(o),a.symbol&&32&a.symbol.flags&&o===getDeclaredTypeOfClassOrInterface(a.symbol)&&(a.objectFlags|=16777216),a}return isEmptyArrayLiteralType(o)?(reportImplicitAny(n,Xt),Xt):o}function isDeclarationInConstructor(e){const t=getThisContainer(e,!1,!1);return 177===t.kind||263===t.kind||219===t.kind&&!isPrototypePropertyAssignment(t.parent)}function getTypeFromBindingElement(e,t,n){if(e.initializer){return addOptionality(getWidenedLiteralTypeForInitializer(e,checkDeclarationInitializer(e,0,isBindingPattern(e.name)?getTypeFromBindingPattern(e.name,!0,!1):Le)))}return isBindingPattern(e.name)?getTypeFromBindingPattern(e.name,t,n):(n&&!declarationBelongsToPrivateAmbientMember(e)&&reportImplicitAny(e,ke),t?Oe:ke)}function getTypeFromBindingPattern(e,t=!1,n=!1){t&&Br.push(e);const r=207===e.kind?function getTypeFromObjectBindingPattern(e,t,n){const r=createSymbolTable();let i,o=131200;forEach(e.elements,e=>{const a=e.propertyName||e.name;if(e.dotDotDotToken)return void(i=createIndexInfo(ze,ke,!1));const s=getLiteralTypeFromPropertyName(a);if(!isTypeUsableAsPropertyName(s))return void(o|=512);const c=getPropertyNameFromType(s),l=createSymbol(4|(e.initializer?16777216:0),c);l.links.type=getTypeFromBindingElement(e,t,n),r.set(l.escapedName,l)});const a=createAnonymousType(void 0,r,l,l,i?[i]:l);return a.objectFlags|=o,t&&(a.pattern=e,a.objectFlags|=131072),a}(e,t,n):function getTypeFromArrayBindingPattern(e,t,n){const r=e.elements,i=lastOrUndefined(r),o=i&&209===i.kind&&i.dotDotDotToken?i:void 0;if(0===r.length||1===r.length&&o)return x>=2?createIterableType(ke):Xt;const a=map(r,e=>isOmittedExpression(e)?ke:getTypeFromBindingElement(e,t,n)),s=findLastIndex(r,e=>!(e===o||isOmittedExpression(e)||hasDefaultValue(e)),r.length-1)+1;let c=createTupleType(a,map(r,(e,t)=>e===o?4:t>=s?2:1));return t&&(c=cloneTypeReference(c),c.pattern=e,c.objectFlags|=131072),c}(e,t,n);return t&&Br.pop(),r}function getWidenedTypeForVariableLikeDeclaration(e,t){return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(e,!0,0),e,t)}function getTypeFromImportAttributes(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=createSymbol(4096,"__importAttributes"),r=createSymbolTable();forEach(e.elements,e=>{const t=createSymbol(4,getNameFromImportAttribute(e));t.parent=n,t.links.type=function checkImportAttribute(e){return getRegularTypeOfLiteralType(checkExpressionCached(e.value))}(e),t.links.target=t,r.set(t.escapedName,t)});const i=createAnonymousType(n,r,l,l,l);i.objectFlags|=262272,t.resolvedType=i}return t.resolvedType}function isGlobalSymbolConstructor(e){const t=getSymbolOfNode(e),n=function getGlobalESSymbolConstructorTypeSymbol(e){return nn||(nn=getGlobalTypeSymbol("SymbolConstructor",e))}(!1);return n&&t&&t===n}function widenTypeForVariableLikeDeclaration(e,t,n){return e?(4096&e.flags&&isGlobalSymbolConstructor(t.parent)&&(e=getESSymbolLikeTypeForNode(t)),n&&reportErrorsFromWidening(t,e),8192&e.flags&&(isBindingElement(t)||!tryGetTypeFromEffectiveTypeNode(t))&&e.symbol!==getSymbolOfDeclaration(t)&&(e=Ze),getWidenedType(e)):(e=isParameter(t)&&t.dotDotDotToken?Xt:ke,n&&(declarationBelongsToPrivateAmbientMember(t)||reportImplicitAny(t,e)),e)}function declarationBelongsToPrivateAmbientMember(e){const t=getRootDeclaration(e);return isPrivateWithinAmbient(170===t.kind?t.parent:t)}function tryGetTypeFromEffectiveTypeNode(e){const t=getEffectiveTypeAnnotationNode(e);if(t)return getTypeFromTypeNode(t)}function getTypeOfVariableOrParameterOrProperty(e){const t=getSymbolLinks(e);if(!t.type){const n=function getTypeOfVariableOrParameterOrPropertyWorker(e){if(4194304&e.flags)return function getTypeOfPrototypeProperty(e){const t=getDeclaredTypeOfSymbol(getParentOfSymbol(e));return t.typeParameters?createTypeReference(t,map(t.typeParameters,e=>ke)):t}(e);if(e===Q)return ke;if(134217728&e.flags&&e.valueDeclaration){const t=getSymbolOfDeclaration(getSourceFileOfNode(e.valueDeclaration)),n=createSymbol(t.flags,"exports");n.declarations=t.declarations?t.declarations.slice():[],n.parent=e,n.links.target=t,t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration),t.members&&(n.members=new Map(t.members)),t.exports&&(n.exports=new Map(t.exports));const r=createSymbolTable();return r.set("exports",n),createAnonymousType(e,r,l,l,l)}h.assertIsDefined(e.valueDeclaration);const t=e.valueDeclaration;if(isSourceFile(t)&&isJsonSourceFile(t))return t.statements.length?getWidenedType(getWidenedLiteralType(checkExpression(t.statements[0].expression))):ht;if(isAccessor(t))return getTypeOfAccessors(e);if(!pushTypeResolution(e,0))return 512&e.flags&&!(67108864&e.flags)?getTypeOfFuncClassEnumModule(e):reportCircularityError(e);let n;if(278===t.kind)n=widenTypeForVariableLikeDeclaration(tryGetTypeFromEffectiveTypeNode(t)||checkExpressionCached(t.expression),t);else if(isBinaryExpression(t)||isInJSFile(t)&&(isCallExpression(t)||(isPropertyAccessExpression(t)||isBindableStaticElementAccessExpression(t))&&isBinaryExpression(t.parent)))n=getWidenedTypeForAssignmentDeclaration(e);else if(isPropertyAccessExpression(t)||isElementAccessExpression(t)||isIdentifier(t)||isStringLiteralLike(t)||isNumericLiteral(t)||isClassDeclaration(t)||isFunctionDeclaration(t)||isMethodDeclaration(t)&&!isObjectLiteralMethod(t)||isMethodSignature(t)||isSourceFile(t)){if(9136&e.flags)return getTypeOfFuncClassEnumModule(e);n=isBinaryExpression(t.parent)?getWidenedTypeForAssignmentDeclaration(e):tryGetTypeFromEffectiveTypeNode(t)||ke}else if(isPropertyAssignment(t))n=tryGetTypeFromEffectiveTypeNode(t)||checkPropertyAssignment(t);else if(isJsxAttribute(t))n=tryGetTypeFromEffectiveTypeNode(t)||checkJsxAttribute(t);else if(isShorthandPropertyAssignment(t))n=tryGetTypeFromEffectiveTypeNode(t)||checkExpressionForMutableLocation(t.name,0);else if(isObjectLiteralMethod(t))n=tryGetTypeFromEffectiveTypeNode(t)||checkObjectLiteralMethod(t,0);else if(isParameter(t)||isPropertyDeclaration(t)||isPropertySignature(t)||isVariableDeclaration(t)||isBindingElement(t)||isJSDocPropertyLikeTag(t))n=getWidenedTypeForVariableLikeDeclaration(t,!0);else if(isEnumDeclaration(t))n=getTypeOfFuncClassEnumModule(e);else{if(!isEnumMember(t))return h.fail("Unhandled declaration kind! "+h.formatSyntaxKind(t.kind)+" for "+h.formatSymbol(e));n=getTypeOfEnumMember(e)}if(!popTypeResolution())return 512&e.flags&&!(67108864&e.flags)?getTypeOfFuncClassEnumModule(e):reportCircularityError(e);return n}(e);return t.type||function isParameterOfContextSensitiveSignature(e){let t=e.valueDeclaration;return!!t&&(isBindingElement(t)&&(t=walkUpBindingElementsAndPatterns(t)),!!isParameter(t)&&isContextSensitiveFunctionOrObjectLiteralMethod(t.parent))}(e)||(t.type=n),n}return t.type}function getAnnotatedAccessorTypeNode(e){if(e)switch(e.kind){case 178:return getEffectiveReturnTypeNode(e);case 179:return getEffectiveSetAccessorTypeAnnotationNode(e);case 173:h.assert(hasAccessorModifier(e));return getEffectiveTypeAnnotationNode(e)}}function getAnnotatedAccessorType(e){const t=getAnnotatedAccessorTypeNode(e);return t&&getTypeFromTypeNode(t)}function getTypeOfAccessors(e){const t=getSymbolLinks(e);if(!t.type){if(!pushTypeResolution(e,0))return Ie;const n=getDeclarationOfKind(e,178),r=getDeclarationOfKind(e,179),i=tryCast(getDeclarationOfKind(e,173),isAutoAccessorPropertyDeclaration);let o=n&&isInJSFile(n)&&getTypeForDeclarationFromJSDocComment(n)||getAnnotatedAccessorType(n)||getAnnotatedAccessorType(r)||getAnnotatedAccessorType(i)||n&&n.body&&getReturnTypeFromBody(n)||i&&getWidenedTypeForVariableLikeDeclaration(i,!0);o||(r&&!isPrivateWithinAmbient(r)?errorOrSuggestion(A,r,Ot.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,symbolToString(e)):n&&!isPrivateWithinAmbient(n)?errorOrSuggestion(A,n,Ot.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,symbolToString(e)):i&&!isPrivateWithinAmbient(i)&&errorOrSuggestion(A,i,Ot.Member_0_implicitly_has_an_1_type,symbolToString(e),"any"),o=ke),popTypeResolution()||(getAnnotatedAccessorTypeNode(n)?error2(n,Ot._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(e)):getAnnotatedAccessorTypeNode(r)||getAnnotatedAccessorTypeNode(i)?error2(r,Ot._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(e)):n&&A&&error2(n,Ot._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,symbolToString(e)),o=ke),t.type??(t.type=o)}return t.type}function getWriteTypeOfAccessors(e){const t=getSymbolLinks(e);if(!t.writeType){if(!pushTypeResolution(e,7))return Ie;const n=getDeclarationOfKind(e,179)??tryCast(getDeclarationOfKind(e,173),isAutoAccessorPropertyDeclaration);let r=getAnnotatedAccessorType(n);popTypeResolution()||(getAnnotatedAccessorTypeNode(n)&&error2(n,Ot._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(e)),r=ke),t.writeType??(t.writeType=r||getTypeOfAccessors(e))}return t.writeType}function getBaseTypeVariableOfClass(e){const t=getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(e));return 8650752&t.flags?t:2097152&t.flags?find(t.types,e=>!!(8650752&e.flags)):void 0}function getTypeOfFuncClassEnumModule(e){let t=getSymbolLinks(e);const n=t;if(!t.type){const r=e.valueDeclaration&&getSymbolOfExpando(e.valueDeclaration,!1);if(r){const n=mergeJSSymbols(e,r);n&&(e=n,t=n.links)}n.type=t.type=function getTypeOfFuncClassEnumModuleWorker(e){const t=e.valueDeclaration;if(1536&e.flags&&isShorthandAmbientModuleSymbol(e))return ke;if(t&&(227===t.kind||isAccessExpression(t)&&227===t.parent.kind))return getWidenedTypeForAssignmentDeclaration(e);if(512&e.flags&&t&&isSourceFile(t)&&t.commonJsModuleIndicator){const t=resolveExternalModuleSymbol(e);if(t!==e){if(!pushTypeResolution(e,0))return Ie;const n=getMergedSymbol(e.exports.get("export=")),r=getWidenedTypeForAssignmentDeclaration(n,n===t?void 0:t);return popTypeResolution()?r:reportCircularityError(e)}}const n=createObjectType(16,e);if(32&e.flags){const t=getBaseTypeVariableOfClass(e);return t?getIntersectionType([n,t]):n}return k&&16777216&e.flags?getOptionalType(n,!0):n}(e)}return t.type}function getTypeOfEnumMember(e){const t=getSymbolLinks(e);return t.type||(t.type=getDeclaredTypeOfEnumMember(e))}function getTypeOfAlias(e){const t=getSymbolLinks(e);if(!t.type){if(!pushTypeResolution(e,0))return Ie;const n=resolveAlias(e),r=e.declarations&&getTargetOfAliasDeclaration(getDeclarationOfAliasSymbol(e),!0),i=firstDefined(null==r?void 0:r.declarations,e=>isExportAssignment(e)?tryGetTypeFromEffectiveTypeNode(e):void 0);if(t.type??(t.type=(null==r?void 0:r.declarations)&&isDuplicatedCommonJSExport(r.declarations)&&e.declarations.length?function getFlowTypeFromCommonJSExport(e){const t=getSourceFileOfNode(e.declarations[0]),n=unescapeLeadingUnderscores(e.escapedName),r=e.declarations.every(e=>isInJSFile(e)&&isAccessExpression(e)&&isModuleExportsAccessExpression(e.expression)),i=r?Wr.createPropertyAccessExpression(Wr.createPropertyAccessExpression(Wr.createIdentifier("module"),Wr.createIdentifier("exports")),n):Wr.createPropertyAccessExpression(Wr.createIdentifier("exports"),n);return r&&setParent(i.expression.expression,i.expression),setParent(i.expression,i),setParent(i,t),i.flowNode=t.endFlowNode,getFlowTypeOfReference(i,Fe,Me)}(r):isDuplicatedCommonJSExport(e.declarations)?Fe:i||(111551&getSymbolFlags(n)?getTypeOfSymbol(n):Ie)),!popTypeResolution())return reportCircularityError(r??e),t.type??(t.type=Ie)}return t.type}function reportCircularityError(e){const t=e.valueDeclaration;if(t){if(getEffectiveTypeAnnotationNode(t))return error2(e.valueDeclaration,Ot._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(e)),Ie;A&&(170!==t.kind||t.initializer)&&error2(e.valueDeclaration,Ot._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,symbolToString(e))}else if(2097152&e.flags){const t=getDeclarationOfAliasSymbol(e);t&&error2(t,Ot.Circular_definition_of_import_alias_0,symbolToString(e))}return ke}function getTypeOfSymbolWithDeferredType(e){const t=getSymbolLinks(e);return t.type||(h.assertIsDefined(t.deferralParent),h.assertIsDefined(t.deferralConstituents),t.type=1048576&t.deferralParent.flags?getUnionType(t.deferralConstituents):getIntersectionType(t.deferralConstituents)),t.type}function getWriteTypeOfSymbol(e){const t=getCheckFlags(e);return 2&t?65536&t?function getWriteTypeOfSymbolWithDeferredType(e){const t=getSymbolLinks(e);return!t.writeType&&t.deferralWriteConstituents&&(h.assertIsDefined(t.deferralParent),h.assertIsDefined(t.deferralConstituents),t.writeType=1048576&t.deferralParent.flags?getUnionType(t.deferralWriteConstituents):getIntersectionType(t.deferralWriteConstituents)),t.writeType}(e)||getTypeOfSymbolWithDeferredType(e):e.links.writeType||e.links.type:4&e.flags?removeMissingType(getTypeOfSymbol(e),!!(16777216&e.flags)):98304&e.flags?1&t?function getWriteTypeOfInstantiatedSymbol(e){const t=getSymbolLinks(e);return t.writeType||(t.writeType=instantiateType(getWriteTypeOfSymbol(t.target),t.mapper))}(e):getWriteTypeOfAccessors(e):getTypeOfSymbol(e)}function getTypeOfSymbol(e){const t=getCheckFlags(e);return 65536&t?getTypeOfSymbolWithDeferredType(e):1&t?function getTypeOfInstantiatedSymbol(e){const t=getSymbolLinks(e);return t.type||(t.type=instantiateType(getTypeOfSymbol(t.target),t.mapper))}(e):262144&t?function getTypeOfMappedSymbol(e){var t;if(!e.links.type){const n=e.links.mappedType;if(!pushTypeResolution(e,0))return n.containsError=!0,Ie;const i=instantiateType(getTemplateTypeFromMappedType(n.target||n),appendTypeMapping(n.mapper,getTypeParameterFromMappedType(n),e.links.keyType));let o=k&&16777216&e.flags&&!maybeTypeOfKind(i,49152)?getOptionalType(i,!0):524288&e.links.checkFlags?removeMissingOrUndefinedType(i):i;popTypeResolution()||(error2(r,Ot.Type_of_property_0_circularly_references_itself_in_mapped_type_1,symbolToString(e),typeToString(n)),o=Ie),(t=e.links).type??(t.type=o)}return e.links.type}(e):8192&t?function getTypeOfReverseMappedSymbol(e){const t=getSymbolLinks(e);t.type||(t.type=inferReverseMappedType(e.links.propertyType,e.links.mappedType,e.links.constraintType)||Le);return t.type}(e):7&e.flags?getTypeOfVariableOrParameterOrProperty(e):9136&e.flags?getTypeOfFuncClassEnumModule(e):8&e.flags?getTypeOfEnumMember(e):98304&e.flags?getTypeOfAccessors(e):2097152&e.flags?getTypeOfAlias(e):Ie}function getNonMissingTypeOfSymbol(e){return removeMissingType(getTypeOfSymbol(e),!!(16777216&e.flags))}function isReferenceToSomeType(e,t){if(void 0===e||!(4&getObjectFlags(e)))return!1;for(const n of t)if(e.target===n)return!0;return!1}function isReferenceToType2(e,t){return void 0!==e&&void 0!==t&&!!(4&getObjectFlags(e))&&e.target===t}function getTargetType(e){return 4&getObjectFlags(e)?e.target:e}function hasBaseType(e,t){return function check(e){if(7&getObjectFlags(e)){const n=getTargetType(e);return n===t||some(getBaseTypes(n),check)}if(2097152&e.flags)return some(e.types,check);return!1}(e)}function appendTypeParameters(e,t){for(const n of t)e=appendIfUnique(e,getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(n)));return e}function getOuterTypeParameters(e,t){for(;;){if((e=e.parent)&&isBinaryExpression(e)){const t=getAssignmentDeclarationKind(e);if(6===t||3===t){const t=getSymbolOfDeclaration(e.left);t&&t.parent&&!findAncestor(t.parent.valueDeclaration,t=>e===t)&&(e=t.parent.valueDeclaration)}}if(!e)return;const n=e.kind;switch(n){case 264:case 232:case 265:case 180:case 181:case 174:case 185:case 186:case 318:case 263:case 175:case 219:case 220:case 266:case 346:case 347:case 341:case 339:case 201:case 195:{const r=getOuterTypeParameters(e,t);if((219===n||220===n||isObjectLiteralMethod(e))&&isContextSensitive(e)){const t=firstOrUndefined(getSignaturesOfType(getTypeOfSymbol(getSymbolOfDeclaration(e)),0));if(t&&t.typeParameters)return[...r||l,...t.typeParameters]}if(201===n)return append(r,getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(e.typeParameter)));if(195===n)return concatenate(r,getInferTypeParameters(e));const i=appendTypeParameters(r,getEffectiveTypeParameterDeclarations(e)),o=t&&(264===n||232===n||265===n||isJSConstructor(e))&&getDeclaredTypeOfClassOrInterface(getSymbolOfDeclaration(e)).thisType;return o?append(i,o):i}case 342:const r=getParameterSymbolFromJSDoc(e);r&&(e=r.valueDeclaration);break;case 321:{const n=getOuterTypeParameters(e,t);return e.tags?appendTypeParameters(n,flatMap(e.tags,e=>isJSDocTemplateTag(e)?e.typeParameters:void 0)):n}}}}function getOuterTypeParametersOfClassOrInterface(e){var t;const n=32&e.flags||16&e.flags?e.valueDeclaration:null==(t=e.declarations)?void 0:t.find(e=>{if(265===e.kind)return!0;if(261!==e.kind)return!1;const t=e.initializer;return!!t&&(219===t.kind||220===t.kind)});return h.assert(!!n,"Class was missing valueDeclaration -OR- non-class had no interface declarations"),getOuterTypeParameters(n)}function getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e){if(!e.declarations)return;let t;for(const n of e.declarations)if(265===n.kind||264===n.kind||232===n.kind||isJSConstructor(n)||isTypeAlias(n)){t=appendTypeParameters(t,getEffectiveTypeParameterDeclarations(n))}return t}function isMixinConstructorType(e){const t=getSignaturesOfType(e,1);if(1===t.length){const e=t[0];if(!e.typeParameters&&1===e.parameters.length&&signatureHasRestParameter(e)){const t=getTypeOfParameter(e.parameters[0]);return isTypeAny(t)||getElementTypeOfArrayType(t)===ke}}return!1}function isConstructorType(e){if(getSignaturesOfType(e,1).length>0)return!0;if(8650752&e.flags){const t=getBaseConstraintOfType(e);return!!t&&isMixinConstructorType(t)}return!1}function getBaseTypeNodeOfClass(e){const t=getClassLikeDeclarationOfSymbol(e.symbol);return t&&getEffectiveBaseTypeNode(t)}function getConstructorsForTypeArguments(e,t,n){const r=length(t),i=isInJSFile(n);return filter(getSignaturesOfType(e,1),e=>(i||r>=getMinTypeArgumentCount(e.typeParameters))&&r<=length(e.typeParameters))}function getInstantiatedConstructorsForTypeArguments(e,t,n){const r=getConstructorsForTypeArguments(e,t,n),i=map(t,getTypeFromTypeNode);return sameMap(r,e=>some(e.typeParameters)?getSignatureInstantiation(e,i,isInJSFile(n)):e)}function getBaseConstructorTypeOfClass(e){if(!e.resolvedBaseConstructorType){const t=getClassLikeDeclarationOfSymbol(e.symbol),n=t&&getEffectiveBaseTypeNode(t),r=getBaseTypeNodeOfClass(e);if(!r)return e.resolvedBaseConstructorType=Me;if(!pushTypeResolution(e,1))return Ie;const i=checkExpression(r.expression);if(n&&r!==n&&(h.assert(!n.typeArguments),checkExpression(n.expression)),2621440&i.flags&&resolveStructuredTypeMembers(i),!popTypeResolution())return error2(e.symbol.valueDeclaration,Ot._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,symbolToString(e.symbol)),e.resolvedBaseConstructorType??(e.resolvedBaseConstructorType=Ie);if(!(1&i.flags||i===Ue||isConstructorType(i))){const t=error2(r.expression,Ot.Type_0_is_not_a_constructor_function_type,typeToString(i));if(262144&i.flags){const e=getConstraintFromTypeParameter(i);let n=Le;if(e){const t=getSignaturesOfType(e,1);t[0]&&(n=getReturnTypeOfSignature(t[0]))}i.symbol.declarations&&addRelatedInfo(t,createDiagnosticForNode(i.symbol.declarations[0],Ot.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,symbolToString(i.symbol),typeToString(n)))}return e.resolvedBaseConstructorType??(e.resolvedBaseConstructorType=Ie)}e.resolvedBaseConstructorType??(e.resolvedBaseConstructorType=i)}return e.resolvedBaseConstructorType}function reportCircularBaseType(e,t){error2(e,Ot.Type_0_recursively_references_itself_as_a_base_type,typeToString(t,void 0,2))}function getBaseTypes(e){if(!e.baseTypesResolved){if(pushTypeResolution(e,6)&&(8&e.objectFlags?e.resolvedBaseTypes=[getTupleBaseType(e)]:96&e.symbol.flags?(32&e.symbol.flags&&function resolveBaseTypesOfClass(e){e.resolvedBaseTypes=an;const t=getApparentType(getBaseConstructorTypeOfClass(e));if(!(2621441&t.flags))return e.resolvedBaseTypes=l;const n=getBaseTypeNodeOfClass(e);let r;const i=t.symbol?getDeclaredTypeOfSymbol(t.symbol):void 0;if(t.symbol&&32&t.symbol.flags&&function areAllOuterTypeParametersApplied(e){const t=e.outerTypeParameters;if(t){const n=t.length-1,r=getTypeArguments(e);return t[n].symbol!==r[n].symbol}return!0}(i))r=getTypeFromClassOrInterfaceReference(n,t.symbol);else if(1&t.flags)r=t;else{const i=getInstantiatedConstructorsForTypeArguments(t,n.typeArguments,n);if(!i.length)return error2(n.expression,Ot.No_base_constructor_has_the_specified_number_of_type_arguments),e.resolvedBaseTypes=l;r=getReturnTypeOfSignature(i[0])}if(isErrorType(r))return e.resolvedBaseTypes=l;const o=getReducedType(r);if(!isValidBaseType(o)){const t=chainDiagnosticMessages(elaborateNeverIntersection(void 0,r),Ot.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,typeToString(o));return vi.add(createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(n.expression),n.expression,t)),e.resolvedBaseTypes=l}if(e===o||hasBaseType(o,e))return error2(e.symbol.valueDeclaration,Ot.Type_0_recursively_references_itself_as_a_base_type,typeToString(e,void 0,2)),e.resolvedBaseTypes=l;e.resolvedBaseTypes===an&&(e.members=void 0);return e.resolvedBaseTypes=[o]}(e),64&e.symbol.flags&&function resolveBaseTypesOfInterface(e){if(e.resolvedBaseTypes=e.resolvedBaseTypes||l,e.symbol.declarations)for(const t of e.symbol.declarations)if(265===t.kind&&getInterfaceBaseTypeNodes(t))for(const n of getInterfaceBaseTypeNodes(t)){const r=getReducedType(getTypeFromTypeNode(n));isErrorType(r)||(isValidBaseType(r)?e===r||hasBaseType(r,e)?reportCircularBaseType(t,e):e.resolvedBaseTypes===l?e.resolvedBaseTypes=[r]:e.resolvedBaseTypes.push(r):error2(n,Ot.An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members))}}(e)):h.fail("type must be class or interface"),!popTypeResolution()&&e.symbol.declarations))for(const t of e.symbol.declarations)264!==t.kind&&265!==t.kind||reportCircularBaseType(t,e);e.baseTypesResolved=!0}return e.resolvedBaseTypes}function getTupleBaseType(e){return createArrayType(getUnionType(sameMap(e.typeParameters,(t,n)=>8&e.elementFlags[n]?getIndexedAccessType(t,Ve):t)||l),e.readonly)}function isValidBaseType(e){if(262144&e.flags){const t=getBaseConstraintOfType(e);if(t)return isValidBaseType(t)}return!!(67633153&e.flags&&!isGenericMappedType(e)||2097152&e.flags&&every(e.types,isValidBaseType))}function getDeclaredTypeOfClassOrInterface(e){let t=getSymbolLinks(e);const n=t;if(!t.declaredType){const r=32&e.flags?1:2,i=mergeJSSymbols(e,e.valueDeclaration&&function getAssignedClassSymbol(e){var t;const n=e&&getSymbolOfExpando(e,!0),r=null==(t=null==n?void 0:n.exports)?void 0:t.get("prototype"),i=(null==r?void 0:r.valueDeclaration)&&function getAssignedJSPrototype(e){if(!e.parent)return!1;let t=e.parent;for(;t&&212===t.kind;)t=t.parent;if(t&&isBinaryExpression(t)&&isPrototypeAccess(t.left)&&64===t.operatorToken.kind){const e=getInitializerOfBinaryExpression(t);return isObjectLiteralExpression(e)&&e}}(r.valueDeclaration);return i?getSymbolOfDeclaration(i):void 0}(e.valueDeclaration));i&&(e=i,t=i.links);const o=n.declaredType=t.declaredType=createObjectType(r,e),a=getOuterTypeParametersOfClassOrInterface(e),s=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);(a||s||1===r||!function isThislessInterface(e){if(!e.declarations)return!0;for(const t of e.declarations)if(265===t.kind){if(256&t.flags)return!1;const e=getInterfaceBaseTypeNodes(t);if(e)for(const t of e)if(isEntityNameExpression(t.expression)){const e=resolveEntityName(t.expression,788968,!0);if(!e||!(64&e.flags)||getDeclaredTypeOfClassOrInterface(e).thisType)return!1}}return!0}(e))&&(o.objectFlags|=4,o.typeParameters=concatenate(a,s),o.outerTypeParameters=a,o.localTypeParameters=s,o.instantiations=new Map,o.instantiations.set(getTypeListId(o.typeParameters),o),o.target=o,o.resolvedTypeArguments=o.typeParameters,o.thisType=createTypeParameter(e),o.thisType.isThisType=!0,o.thisType.constraint=o)}return t.declaredType}function getDeclaredTypeOfTypeAlias(e){var t;const n=getSymbolLinks(e);if(!n.declaredType){if(!pushTypeResolution(e,2))return Ie;const r=h.checkDefined(null==(t=e.declarations)?void 0:t.find(isTypeAlias),"Type alias symbol with no valid declaration found"),i=isJSDocTypeAlias(r)?r.typeExpression:r.type;let o=i?getTypeFromTypeNode(i):Ie;if(popTypeResolution()){const t=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);t&&(n.typeParameters=t,n.instantiations=new Map,n.instantiations.set(getTypeListId(t),o)),o===we&&"BuiltinIteratorReturn"===e.escapedName&&(o=getBuiltinIteratorReturnType())}else o=Ie,341===r.kind?error2(r.typeExpression.type,Ot.Type_alias_0_circularly_references_itself,symbolToString(e)):error2(isNamedDeclaration(r)&&r.name||r,Ot.Type_alias_0_circularly_references_itself,symbolToString(e));n.declaredType??(n.declaredType=o)}return n.declaredType}function getBaseTypeOfEnumLikeType(e){return 1056&e.flags&&8&e.symbol.flags?getDeclaredTypeOfSymbol(getParentOfSymbol(e.symbol)):e}function getDeclaredTypeOfEnum(e){const t=getSymbolLinks(e);if(!t.declaredType){const n=[];if(e.declarations)for(const t of e.declarations)if(267===t.kind)for(const r of t.members)if(hasBindableName(r)){const t=getSymbolOfDeclaration(r),i=getEnumMemberValue(r).value,o=getFreshTypeOfLiteralType(void 0!==i?getEnumLiteralType(i,getSymbolId(e),t):createComputedEnumType(t));getSymbolLinks(t).declaredType=o,n.push(getRegularTypeOfLiteralType(o))}const r=n.length?getUnionType(n,1,e,void 0):createComputedEnumType(e);1048576&r.flags&&(r.flags|=1024,r.symbol=e),t.declaredType=r}return t.declaredType}function createComputedEnumType(e){const t=createTypeWithSymbol(32,e),n=createTypeWithSymbol(32,e);return t.regularType=t,t.freshType=n,n.regularType=t,n.freshType=n,t}function getDeclaredTypeOfEnumMember(e){const t=getSymbolLinks(e);if(!t.declaredType){const n=getDeclaredTypeOfEnum(getParentOfSymbol(e));t.declaredType||(t.declaredType=n)}return t.declaredType}function getDeclaredTypeOfTypeParameter(e){const t=getSymbolLinks(e);return t.declaredType||(t.declaredType=createTypeParameter(e))}function getDeclaredTypeOfSymbol(e){return tryGetDeclaredTypeOfSymbol(e)||Ie}function tryGetDeclaredTypeOfSymbol(e){return 96&e.flags?getDeclaredTypeOfClassOrInterface(e):524288&e.flags?getDeclaredTypeOfTypeAlias(e):262144&e.flags?getDeclaredTypeOfTypeParameter(e):384&e.flags?getDeclaredTypeOfEnum(e):8&e.flags?getDeclaredTypeOfEnumMember(e):2097152&e.flags?function getDeclaredTypeOfAlias(e){const t=getSymbolLinks(e);return t.declaredType||(t.declaredType=getDeclaredTypeOfSymbol(resolveAlias(e)))}(e):void 0}function isThislessType(e){switch(e.kind){case 133:case 159:case 154:case 150:case 163:case 136:case 155:case 151:case 116:case 157:case 146:case 202:return!0;case 189:return isThislessType(e.elementType);case 184:return!e.typeArguments||e.typeArguments.every(isThislessType)}return!1}function isThislessTypeParameter(e){const t=getEffectiveConstraintOfTypeParameter(e);return!t||isThislessType(t)}function isThislessVariableLikeDeclaration(e){const t=getEffectiveTypeAnnotationNode(e);return t?isThislessType(t):!hasInitializer(e)}function isThisless(e){if(e.declarations&&1===e.declarations.length){const t=e.declarations[0];if(t)switch(t.kind){case 173:case 172:return isThislessVariableLikeDeclaration(t);case 175:case 174:case 177:case 178:case 179:return function isThislessFunctionLikeDeclaration(e){const t=getEffectiveReturnTypeNode(e),n=getEffectiveTypeParameterDeclarations(e);return(177===e.kind||!!t&&isThislessType(t))&&e.parameters.every(isThislessVariableLikeDeclaration)&&n.every(isThislessTypeParameter)}(t)}}return!1}function createInstantiatedSymbolTable(e,t,n){const r=createSymbolTable();for(const i of e)r.set(i.escapedName,n&&isThisless(i)?i:instantiateSymbol(i,t));return r}function addInheritedMembers(e,t){for(const n of t){if(isStaticPrivateIdentifierProperty(n))continue;const t=e.get(n.escapedName);(!t||t.valueDeclaration&&isBinaryExpression(t.valueDeclaration)&&!isConstructorDeclaredProperty(t)&&!getContainingClassStaticBlock(t.valueDeclaration))&&(e.set(n.escapedName,n),e.set(n.escapedName,n))}}function isStaticPrivateIdentifierProperty(e){return!!e.valueDeclaration&&isPrivateIdentifierClassElementDeclaration(e.valueDeclaration)&&isStatic(e.valueDeclaration)}function resolveDeclaredMembers(e){if(!e.declaredProperties){const t=e.symbol,n=getMembersOfSymbol(t);e.declaredProperties=getNamedMembers(n),e.declaredCallSignatures=l,e.declaredConstructSignatures=l,e.declaredIndexInfos=l,e.declaredCallSignatures=getSignaturesOfSymbol(n.get("__call")),e.declaredConstructSignatures=getSignaturesOfSymbol(n.get("__new")),e.declaredIndexInfos=getIndexInfosOfSymbol(t)}return e}function isLateBindableName(e){return isLateBindableAST(e)&&isTypeUsableAsPropertyName(isComputedPropertyName(e)?checkComputedPropertyName(e):checkExpressionCached(e.argumentExpression))}function isLateBindableIndexSignature(e){return isLateBindableAST(e)&&function isTypeUsableAsIndexSignature(e){return isTypeAssignableTo(e,st)}(isComputedPropertyName(e)?checkComputedPropertyName(e):checkExpressionCached(e.argumentExpression))}function isLateBindableAST(e){if(!isComputedPropertyName(e)&&!isElementAccessExpression(e))return!1;return isEntityNameExpression(isComputedPropertyName(e)?e.expression:e.argumentExpression)}function isLateBoundName(e){return 95===e.charCodeAt(0)&&95===e.charCodeAt(1)&&64===e.charCodeAt(2)}function hasLateBindableName(e){const t=getNameOfDeclaration(e);return!!t&&isLateBindableName(t)}function hasLateBindableIndexSignature(e){const t=getNameOfDeclaration(e);return!!t&&isLateBindableIndexSignature(t)}function hasBindableName(e){return!hasDynamicName(e)||hasLateBindableName(e)}function isNonBindableDynamicName(e){return isDynamicName(e)&&!isLateBindableName(e)}function lateBindMember(e,t,n,r){h.assert(!!r.symbol,"The member is expected to have a symbol.");const i=getNodeLinks(r);if(!i.resolvedSymbol){i.resolvedSymbol=r.symbol;const o=isBinaryExpression(r)?r.left:r.name,a=isElementAccessExpression(o)?checkExpressionCached(o.argumentExpression):checkComputedPropertyName(o);if(isTypeUsableAsPropertyName(a)){const s=getPropertyNameFromType(a),c=r.symbol.flags;let l=n.get(s);l||n.set(s,l=createSymbol(0,s,4096));const d=t&&t.get(s);if(!(32&e.flags)&&l.flags&getExcludedSymbolFlags(c)){const e=d?concatenate(d.declarations,l.declarations):l.declarations,t=!(8192&a.flags)&&unescapeLeadingUnderscores(s)||declarationNameToString(o);forEach(e,e=>error2(getNameOfDeclaration(e)||e,Ot.Property_0_was_also_declared_here,t)),error2(o||r,Ot.Duplicate_property_0,t),l=createSymbol(0,s,4096)}return l.links.nameType=a,function addDeclarationToLateBoundSymbol(e,t,n){h.assert(!!(4096&getCheckFlags(e)),"Expected a late-bound symbol."),e.flags|=n,getSymbolLinks(t.symbol).lateSymbol=e,e.declarations?t.symbol.isReplaceableByMethod||e.declarations.push(t):e.declarations=[t],111551&n&&setValueDeclaration(e,t)}(l,r,c),l.parent?h.assert(l.parent===e,"Existing symbol parent should match new one"):l.parent=e,i.resolvedSymbol=l}}return i.resolvedSymbol}function lateBindIndexSignature(e,t,n,r){let i=n.get("__index");if(!i){const e=null==t?void 0:t.get("__index");e?(i=cloneSymbol(e),i.links.checkFlags|=4096):i=createSymbol(0,"__index",4096),n.set("__index",i)}i.declarations?r.symbol.isReplaceableByMethod||i.declarations.push(r):i.declarations=[r]}function getResolvedMembersOrExportsOfSymbol(e,t){const n=getSymbolLinks(e);if(!n[t]){const r="resolvedExports"===t,i=r?1536&e.flags?getExportsOfModuleWorker(e).exports:e.exports:e.members;n[t]=i||y;const o=createSymbolTable();for(const t of e.declarations||l){const n=getMembersOfDeclaration(t);if(n)for(const t of n)r===hasStaticModifier(t)&&(hasLateBindableName(t)?lateBindMember(e,i,o,t):hasLateBindableIndexSignature(t)&&lateBindIndexSignature(0,i,o,t))}const a=getFunctionExpressionParentSymbolOrSymbol(e).assignmentDeclarationMembers;if(a){const t=arrayFrom(a.values());for(const n of t){const t=getAssignmentDeclarationKind(n);r===!(3===t||isBinaryExpression(n)&&isPossiblyAliasedThisProperty(n,t)||9===t||6===t)&&hasLateBindableName(n)&&lateBindMember(e,i,o,n)}}let s=function combineSymbolTables(e,t){if(!(null==e?void 0:e.size))return t;if(!(null==t?void 0:t.size))return e;const n=createSymbolTable();return mergeSymbolTable(n,e),mergeSymbolTable(n,t),n}(i,o);if(33554432&e.flags&&n.cjsExportMerged&&e.declarations)for(const n of e.declarations){const e=getSymbolLinks(n.symbol)[t];s?e&&e.forEach((e,t)=>{const n=s.get(t);if(n){if(n===e)return;s.set(t,mergeSymbol(n,e))}else s.set(t,e)}):s=e}n[t]=s||y}return n[t]}function getMembersOfSymbol(e){return 6256&e.flags?getResolvedMembersOrExportsOfSymbol(e,"resolvedMembers"):e.members||y}function getLateBoundSymbol(e){if(106500&e.flags&&"__computed"===e.escapedName){const t=getSymbolLinks(e);if(!t.lateSymbol&&some(e.declarations,hasLateBindableName)){const t=getMergedSymbol(e.parent);some(e.declarations,hasStaticModifier)?getExportsOfSymbol(t):getMembersOfSymbol(t)}return t.lateSymbol||(t.lateSymbol=e)}return e}function getTypeWithThisArgument(e,t,n){if(4&getObjectFlags(e)){const n=e.target,r=getTypeArguments(e);return length(n.typeParameters)===length(r)?createTypeReference(n,concatenate(r,[t||n.thisType])):e}if(2097152&e.flags){const r=sameMap(e.types,e=>getTypeWithThisArgument(e,t,n));return r!==e.types?getIntersectionType(r):e}return n?getApparentType(e):e}function resolveObjectTypeMembers(e,t,n,r){let i,o,a,s,c;rangeEquals(n,r,0,n.length)?(o=t.symbol?getMembersOfSymbol(t.symbol):createSymbolTable(t.declaredProperties),a=t.declaredCallSignatures,s=t.declaredConstructSignatures,c=t.declaredIndexInfos):(i=createTypeMapper(n,r),o=createInstantiatedSymbolTable(t.declaredProperties,i,1===n.length),a=instantiateSignatures(t.declaredCallSignatures,i),s=instantiateSignatures(t.declaredConstructSignatures,i),c=instantiateIndexInfos(t.declaredIndexInfos,i));const l=getBaseTypes(t);if(l.length){if(t.symbol&&o===getMembersOfSymbol(t.symbol)){const e=createSymbolTable(t.declaredProperties),n=getIndexSymbol(t.symbol);n&&e.set("__index",n),o=e}setStructuredTypeMembers(e,o,a,s,c);const n=lastOrUndefined(r);for(const e of l){const t=n?getTypeWithThisArgument(instantiateType(e,i),n):e;addInheritedMembers(o,getPropertiesOfType(t)),a=concatenate(a,getSignaturesOfType(t,0)),s=concatenate(s,getSignaturesOfType(t,1));const r=t!==ke?getIndexInfosOfType(t):[Tr];c=concatenate(c,filter(r,e=>!findIndexInfo(c,e.keyType)))}}setStructuredTypeMembers(e,o,a,s,c)}function createSignature(e,t,n,r,i,o,a,s){const l=new c(re,s);return l.declaration=e,l.typeParameters=t,l.parameters=r,l.thisParameter=n,l.resolvedReturnType=i,l.resolvedTypePredicate=o,l.minArgumentCount=a,l.resolvedMinArgumentCount=void 0,l.target=void 0,l.mapper=void 0,l.compositeSignatures=void 0,l.compositeKind=void 0,l}function cloneSignature(e){const t=createSignature(e.declaration,e.typeParameters,e.thisParameter,e.parameters,void 0,void 0,e.minArgumentCount,167&e.flags);return t.target=e.target,t.mapper=e.mapper,t.compositeSignatures=e.compositeSignatures,t.compositeKind=e.compositeKind,t}function createUnionSignature(e,t){const n=cloneSignature(e);return n.compositeSignatures=t,n.compositeKind=1048576,n.target=void 0,n.mapper=void 0,n}function getOptionalCallSignature(e,t){if((24&e.flags)===t)return e;e.optionalCallSignatureCache||(e.optionalCallSignatureCache={});const n=8===t?"inner":"outer";return e.optionalCallSignatureCache[n]||(e.optionalCallSignatureCache[n]=function createOptionalCallSignature(e,t){h.assert(8===t||16===t,"An optional call signature can either be for an inner call chain or an outer call chain, but not both.");const n=cloneSignature(e);return n.flags|=t,n}(e,t))}function getExpandedParameters(e,t){if(signatureHasRestParameter(e)){const n=e.parameters.length-1,r=e.parameters[n],i=getTypeOfSymbol(r);if(isTupleType(i))return[expandSignatureParametersWithTupleMembers(i,n,r)];if(!t&&1048576&i.flags&&every(i.types,isTupleType))return map(i.types,e=>expandSignatureParametersWithTupleMembers(e,n,r))}return[e.parameters];function expandSignatureParametersWithTupleMembers(t,n,r){const i=getTypeArguments(t),o=function getUniqAssociatedNamesFromTupleType(e,t){const n=map(e.target.labeledElementDeclarations,(n,r)=>getTupleElementLabel(n,r,e.target.elementFlags[r],t));if(n){const e=[],t=new Set;for(let r=0;r<n.length;r++){tryAddToSet(t,n[r])||e.push(r)}const r=new Map;for(const i of e){let e,o=r.get(n[i])??1;for(;!tryAddToSet(t,e=`${n[i]}_${o}`);)o++;n[i]=e,r.set(n[i],o+1)}}return n}(t,r),a=map(i,(r,i)=>{const a=o&&o[i]?o[i]:getParameterNameAtPosition(e,n+i,t),s=t.target.elementFlags[i],c=createSymbol(1,a,12&s?32768:2&s?16384:0);return c.links.type=4&s?createArrayType(r):r,c});return concatenate(e.parameters.slice(0,n),a)}}function findMatchingSignature(e,t,n,r,i){for(const o of e)if(compareSignaturesIdentical(o,t,n,r,i,n?compareTypesSubtypeOf:compareTypesIdentical))return o}function findMatchingSignatures(e,t,n){if(t.typeParameters){if(n>0)return;for(let n=1;n<e.length;n++)if(!findMatchingSignature(e[n],t,!1,!1,!1))return;return[t]}let r;for(let i=0;i<e.length;i++){const o=i===n?t:findMatchingSignature(e[i],t,!1,!1,!0)||findMatchingSignature(e[i],t,!0,!1,!0);if(!o)return;r=appendIfUnique(r,o)}return r}function getUnionSignatures(e){let t,n;for(let r=0;r<e.length;r++){if(0===e[r].length)return l;e[r].length>1&&(n=void 0===n?r:-1);for(const n of e[r])if(!t||!findMatchingSignature(t,n,!1,!1,!0)){const i=findMatchingSignatures(e,n,r);if(i){let e=n;if(i.length>1){let t=n.thisParameter;const r=forEach(i,e=>e.thisParameter);if(r){t=createSymbolWithType(r,getIntersectionType(mapDefined(i,e=>e.thisParameter&&getTypeOfSymbol(e.thisParameter))))}e=createUnionSignature(n,i),e.thisParameter=t}(t||(t=[])).push(e)}}}if(!length(t)&&-1!==n){const r=e[void 0!==n?n:0];let i=r.slice();for(const t of e)if(t!==r){const e=t[0];if(h.assert(!!e,"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"),i=e.typeParameters&&some(i,t=>!!t.typeParameters&&!compareTypeParametersIdentical(e.typeParameters,t.typeParameters))?void 0:map(i,t=>combineSignaturesOfUnionMembers(t,e)),!i)break}t=i}return t||l}function compareTypeParametersIdentical(e,t){if(length(e)!==length(t))return!1;if(!e||!t)return!0;const n=createTypeMapper(t,e);for(let r=0;r<e.length;r++){const i=e[r],o=t[r];if(i!==o&&!isTypeIdenticalTo(getConstraintFromTypeParameter(i)||Le,instantiateType(getConstraintFromTypeParameter(o)||Le,n)))return!1}return!0}function combineSignaturesOfUnionMembers(e,t){const n=e.typeParameters||t.typeParameters;let r;e.typeParameters&&t.typeParameters&&(r=createTypeMapper(t.typeParameters,e.typeParameters));let i=166&(e.flags|t.flags);const o=e.declaration,a=function combineUnionParameters(e,t,n){const r=getParameterCount(e),i=getParameterCount(t),o=r>=i?e:t,a=o===e?t:e,s=o===e?r:i,c=hasEffectiveRestParameter(e)||hasEffectiveRestParameter(t),l=c&&!hasEffectiveRestParameter(o),d=new Array(s+(l?1:0));for(let p=0;p<s;p++){let u=tryGetTypeAtPosition(o,p);o===t&&(u=instantiateType(u,n));let m=tryGetTypeAtPosition(a,p)||Le;a===t&&(m=instantiateType(m,n));const _=getIntersectionType([u,m]),f=c&&!l&&p===s-1,g=p>=getMinArgumentCount(o)&&p>=getMinArgumentCount(a),y=p>=r?void 0:getParameterNameAtPosition(e,p),h=p>=i?void 0:getParameterNameAtPosition(t,p),T=createSymbol(1|(g&&!f?16777216:0),(y===h?y:y?h?void 0:y:h)||`arg${p}`,f?32768:g?16384:0);T.links.type=f?createArrayType(_):_,d[p]=T}if(l){const e=createSymbol(1,"args",32768);e.links.type=createArrayType(getTypeAtPosition(a,s)),a===t&&(e.links.type=instantiateType(e.links.type,n)),d[s]=e}return d}(e,t,r),s=lastOrUndefined(a);s&&32768&getCheckFlags(s)&&(i|=1);const c=function combineUnionThisParam(e,t,n){return e&&t?createSymbolWithType(e,getIntersectionType([getTypeOfSymbol(e),instantiateType(getTypeOfSymbol(t),n)])):e||t}(e.thisParameter,t.thisParameter,r),l=createSignature(o,n,c,a,void 0,void 0,Math.max(e.minArgumentCount,t.minArgumentCount),i);return l.compositeKind=1048576,l.compositeSignatures=concatenate(2097152!==e.compositeKind&&e.compositeSignatures||[e],[t]),r?l.mapper=2097152!==e.compositeKind&&e.mapper&&e.compositeSignatures?combineTypeMappers(e.mapper,r):r:2097152!==e.compositeKind&&e.mapper&&e.compositeSignatures&&(l.mapper=e.mapper),l}function getUnionIndexInfos(e){const t=getIndexInfosOfType(e[0]);if(t){const n=[];for(const r of t){const t=r.keyType;every(e,e=>!!getIndexInfoOfType(e,t))&&n.push(createIndexInfo(t,getUnionType(map(e,e=>getIndexTypeOfType(e,t))),some(e,e=>getIndexInfoOfType(e,t).isReadonly)))}return n}return l}function intersectTypes(e,t){return e?t?getIntersectionType([e,t]):e:t}function findMixins(e){const t=countWhere(e,e=>getSignaturesOfType(e,1).length>0),n=map(e,isMixinConstructorType);if(t>0&&t===countWhere(n,e=>e)){const e=n.indexOf(!0);n[e]=!1}return n}function includeMixinType(e,t,n,r){const i=[];for(let o=0;o<t.length;o++)o===r?i.push(e):n[o]&&i.push(getReturnTypeOfSignature(getSignaturesOfType(t[o],1)[0]));return getIntersectionType(i)}function appendSignatures(e,t){for(const n of t)e&&!every(e,e=>!compareSignaturesIdentical(e,n,!1,!1,!1,compareTypesIdentical))||(e=append(e,n));return e}function appendIndexInfo(e,t,n){if(e)for(let r=0;r<e.length;r++){const i=e[r];if(i.keyType===t.keyType)return e[r]=createIndexInfo(i.keyType,n?getUnionType([i.type,t.type]):getIntersectionType([i.type,t.type]),n?i.isReadonly||t.isReadonly:i.isReadonly&&t.isReadonly),e}return append(e,t)}function resolveAnonymousTypeMembers(e){if(e.target){setStructuredTypeMembers(e,y,l,l,l);return void setStructuredTypeMembers(e,createInstantiatedSymbolTable(getPropertiesOfObjectType(e.target),e.mapper,!1),instantiateSignatures(getSignaturesOfType(e.target,0),e.mapper),instantiateSignatures(getSignaturesOfType(e.target,1),e.mapper),instantiateIndexInfos(getIndexInfosOfType(e.target),e.mapper))}const t=getMergedSymbol(e.symbol);if(2048&t.flags){setStructuredTypeMembers(e,y,l,l,l);const n=getMembersOfSymbol(t),r=getSignaturesOfSymbol(n.get("__call")),i=getSignaturesOfSymbol(n.get("__new"));return void setStructuredTypeMembers(e,n,r,i,getIndexInfosOfSymbol(t))}let n,r,i=getExportsOfSymbol(t);if(t===q){const e=new Map;i.forEach(t=>{var n;418&t.flags||512&t.flags&&(null==(n=t.declarations)?void 0:n.length)&&every(t.declarations,isAmbientModule)||e.set(t.escapedName,t)}),i=e}if(setStructuredTypeMembers(e,i,l,l,l),32&t.flags){const e=getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(t));11272192&e.flags?(i=createSymbolTable(function getNamedOrIndexSignatureMembers(e){const t=getNamedMembers(e),n=getIndexSymbolFromSymbolTable(e);return n?concatenate(t,[n]):t}(i)),addInheritedMembers(i,getPropertiesOfType(e))):e===ke&&(r=Tr)}const o=getIndexSymbolFromSymbolTable(i);if(o?n=getIndexInfosOfIndexSymbol(o,arrayFrom(i.values())):(r&&(n=append(n,r)),384&t.flags&&(32&getDeclaredTypeOfSymbol(t).flags||some(e.properties,e=>!!(296&getTypeOfSymbol(e).flags)))&&(n=append(n,hr))),setStructuredTypeMembers(e,i,l,l,n||l),8208&t.flags&&(e.callSignatures=getSignaturesOfSymbol(t)),32&t.flags){const n=getDeclaredTypeOfClassOrInterface(t);let r=t.members?getSignaturesOfSymbol(t.members.get("__constructor")):l;16&t.flags&&(r=addRange(r.slice(),mapDefined(e.callSignatures,e=>isJSConstructor(e.declaration)?createSignature(e.declaration,e.typeParameters,e.thisParameter,e.parameters,n,void 0,e.minArgumentCount,167&e.flags):void 0))),r.length||(r=function getDefaultConstructSignatures(e){const t=getSignaturesOfType(getBaseConstructorTypeOfClass(e),1),n=getClassLikeDeclarationOfSymbol(e.symbol),r=!!n&&hasSyntacticModifier(n,64);if(0===t.length)return[createSignature(void 0,e.localTypeParameters,void 0,l,e,void 0,0,r?4:0)];const i=getBaseTypeNodeOfClass(e),o=isInJSFile(i),a=typeArgumentsFromTypeReferenceNode(i),s=length(a),c=[];for(const n of t){const t=getMinTypeArgumentCount(n.typeParameters),i=length(n.typeParameters);if(o||s>=t&&s<=i){const s=i?createSignatureInstantiation(n,fillMissingTypeArguments(a,n.typeParameters,t,o)):cloneSignature(n);s.typeParameters=e.localTypeParameters,s.resolvedReturnType=e,s.flags=r?4|s.flags:-5&s.flags,c.push(s)}}return c}(n)),e.constructSignatures=r}}function replaceIndexedAccess(e,t,n){return instantiateType(e,createTypeMapper([t.indexType,t.objectType],[getNumberLiteralType(0),createTupleType([n])]))}function resolveReverseMappedTypeMembers(e){const t=getIndexInfoOfType(e.source,ze),n=getMappedTypeModifiers(e.mappedType),r=!(1&n),i=4&n?0:16777216,o=t?[createIndexInfo(ze,inferReverseMappedType(t.type,e.mappedType,e.constraintType)||Le,r&&t.isReadonly)]:l,a=createSymbolTable(),s=function getLimitedConstraint(e){const t=getConstraintTypeFromMappedType(e.mappedType);if(!(1048576&t.flags||2097152&t.flags))return;const n=1048576&t.flags?t.origin:t;if(!(n&&2097152&n.flags))return;const r=getIntersectionType(n.types.filter(t=>t!==e.constraintType));return r!==tt?r:void 0}(e);for(const t of getPropertiesOfType(e.source)){if(s){if(!isTypeAssignableTo(getLiteralTypeFromProperty(t,8576),s))continue}const n=8192|(r&&isReadonlySymbol(t)?8:0),o=createSymbol(4|t.flags&i,t.escapedName,n);if(o.declarations=t.declarations,o.links.nameType=getSymbolLinks(t).nameType,o.links.propertyType=getTypeOfSymbol(t),8388608&e.constraintType.type.flags&&262144&e.constraintType.type.objectType.flags&&262144&e.constraintType.type.indexType.flags){const t=e.constraintType.type.objectType,n=replaceIndexedAccess(e.mappedType,e.constraintType.type,t);o.links.mappedType=n,o.links.constraintType=getIndexType(t)}else o.links.mappedType=e.mappedType,o.links.constraintType=e.constraintType;a.set(t.escapedName,o)}setStructuredTypeMembers(e,a,l,l,o)}function getLowerBoundOfKeyType(e){if(4194304&e.flags){const t=getApparentType(e.type);return isGenericTupleType(t)?getKnownKeysOfTupleType(t):getIndexType(t)}if(16777216&e.flags){if(e.root.isDistributive){const t=e.checkType,n=getLowerBoundOfKeyType(t);if(n!==t)return getConditionalTypeInstantiation(e,prependTypeMapping(e.root.checkType,n,e.mapper),!1)}return e}if(1048576&e.flags)return mapType(e,getLowerBoundOfKeyType,!0);if(2097152&e.flags){const t=e.types;return 2===t.length&&76&t[0].flags&&t[1]===vt?e:getIntersectionType(sameMap(e.types,getLowerBoundOfKeyType))}return e}function getIsLateCheckFlag(e){return 4096&getCheckFlags(e)}function forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(e,t,n,r){for(const n of getPropertiesOfType(e))r(getLiteralTypeFromProperty(n,t));if(1&e.flags)r(ze);else for(const t of getIndexInfosOfType(e))(!n||134217732&t.keyType.flags)&&r(t.keyType)}function resolveMappedTypeMembers(e){const t=createSymbolTable();let n;setStructuredTypeMembers(e,y,l,l,l);const r=getTypeParameterFromMappedType(e),i=getConstraintTypeFromMappedType(e),o=e.target||e,a=getNameTypeFromMappedType(o),s=2!==getMappedTypeNameTypeKind(o),c=getTemplateTypeFromMappedType(o),d=getApparentType(getModifiersTypeFromMappedType(e)),p=getMappedTypeModifiers(e);function addMemberForKeyType(i){forEachType(a?instantiateType(a,appendTypeMapping(e.mapper,r,i)):i,o=>function addMemberForKeyTypeWorker(i,o){if(isTypeUsableAsPropertyName(o)){const n=getPropertyNameFromType(o),r=t.get(n);if(r)r.links.nameType=getUnionType([r.links.nameType,o]),r.links.keyType=getUnionType([r.links.keyType,i]);else{const r=isTypeUsableAsPropertyName(i)?getPropertyOfType(d,getPropertyNameFromType(i)):void 0,a=!!(4&p||!(8&p)&&r&&16777216&r.flags),c=!!(1&p||!(2&p)&&r&&isReadonlySymbol(r)),l=k&&!a&&r&&16777216&r.flags,u=createSymbol(4|(a?16777216:0),n,262144|(r?getIsLateCheckFlag(r):0)|(c?8:0)|(l?524288:0));u.links.mappedType=e,u.links.nameType=o,u.links.keyType=i,r&&(u.links.syntheticOrigin=r,u.declarations=s?r.declarations:void 0),t.set(n,u)}}else if(isValidIndexKeyType(o)||33&o.flags){const t=5&o.flags?ze:40&o.flags?Ve:o,a=instantiateType(c,appendTypeMapping(e.mapper,r,i)),s=getApplicableIndexInfo(d,o),l=createIndexInfo(t,a,!!(1&p||!(2&p)&&(null==s?void 0:s.isReadonly)));n=appendIndexInfo(n,l,!0)}}(i,o))}isMappedTypeWithKeyofConstraintDeclaration(e)?forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(d,8576,!1,addMemberForKeyType):forEachType(getLowerBoundOfKeyType(i),addMemberForKeyType),setStructuredTypeMembers(e,t,l,l,n||l)}function getTypeParameterFromMappedType(e){return e.typeParameter||(e.typeParameter=getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(e.declaration.typeParameter)))}function getConstraintTypeFromMappedType(e){return e.constraintType||(e.constraintType=getConstraintOfTypeParameter(getTypeParameterFromMappedType(e))||Ie)}function getNameTypeFromMappedType(e){return e.declaration.nameType?e.nameType||(e.nameType=instantiateType(getTypeFromTypeNode(e.declaration.nameType),e.mapper)):void 0}function getTemplateTypeFromMappedType(e){return e.templateType||(e.templateType=e.declaration.type?instantiateType(addOptionality(getTypeFromTypeNode(e.declaration.type),!0,!!(4&getMappedTypeModifiers(e))),e.mapper):Ie)}function getConstraintDeclarationForMappedType(e){return getEffectiveConstraintOfTypeParameter(e.declaration.typeParameter)}function isMappedTypeWithKeyofConstraintDeclaration(e){const t=getConstraintDeclarationForMappedType(e);return 199===t.kind&&143===t.operator}function getModifiersTypeFromMappedType(e){if(!e.modifiersType)if(isMappedTypeWithKeyofConstraintDeclaration(e))e.modifiersType=instantiateType(getTypeFromTypeNode(getConstraintDeclarationForMappedType(e).type),e.mapper);else{const t=getConstraintTypeFromMappedType(getTypeFromMappedTypeNode(e.declaration)),n=t&&262144&t.flags?getConstraintOfTypeParameter(t):t;e.modifiersType=n&&4194304&n.flags?instantiateType(n.type,e.mapper):Le}return e.modifiersType}function getMappedTypeModifiers(e){const t=e.declaration;return(t.readonlyToken?41===t.readonlyToken.kind?2:1:0)|(t.questionToken?41===t.questionToken.kind?8:4:0)}function getMappedTypeOptionality(e){const t=getMappedTypeModifiers(e);return 8&t?-1:4&t?1:0}function getCombinedMappedTypeOptionality(e){if(32&getObjectFlags(e))return getMappedTypeOptionality(e)||getCombinedMappedTypeOptionality(getModifiersTypeFromMappedType(e));if(2097152&e.flags){const t=getCombinedMappedTypeOptionality(e.types[0]);return every(e.types,(e,n)=>0===n||getCombinedMappedTypeOptionality(e)===t)?t:0}return 0}function isGenericMappedType(e){if(32&getObjectFlags(e)){const t=getConstraintTypeFromMappedType(e);if(isGenericIndexType(t))return!0;const n=getNameTypeFromMappedType(e);if(n&&isGenericIndexType(instantiateType(n,makeUnaryTypeMapper(getTypeParameterFromMappedType(e),t))))return!0}return!1}function getMappedTypeNameTypeKind(e){const t=getNameTypeFromMappedType(e);return t?isTypeAssignableTo(t,getTypeParameterFromMappedType(e))?1:2:0}function resolveStructuredTypeMembers(e){return e.members||(524288&e.flags?4&e.objectFlags?function resolveTypeReferenceMembers(e){const t=resolveDeclaredMembers(e.target),n=concatenate(t.typeParameters,[t.thisType]),r=getTypeArguments(e);resolveObjectTypeMembers(e,t,n,r.length===n.length?r:concatenate(r,[e]))}(e):3&e.objectFlags?function resolveClassOrInterfaceMembers(e){resolveObjectTypeMembers(e,resolveDeclaredMembers(e),l,l)}(e):1024&e.objectFlags?resolveReverseMappedTypeMembers(e):16&e.objectFlags?resolveAnonymousTypeMembers(e):32&e.objectFlags?resolveMappedTypeMembers(e):h.fail("Unhandled object type "+h.formatObjectFlags(e.objectFlags)):1048576&e.flags?function resolveUnionTypeMembers(e){const t=getUnionSignatures(map(e.types,e=>e===Wt?[fr]:getSignaturesOfType(e,0))),n=getUnionSignatures(map(e.types,e=>getSignaturesOfType(e,1))),r=getUnionIndexInfos(e.types);setStructuredTypeMembers(e,y,t,n,r)}(e):2097152&e.flags?function resolveIntersectionTypeMembers(e){let t,n,r;const i=e.types,o=findMixins(i),a=countWhere(o,e=>e);for(let s=0;s<i.length;s++){const c=e.types[s];if(!o[s]){let e=getSignaturesOfType(c,1);e.length&&a>0&&(e=map(e,e=>{const t=cloneSignature(e);return t.resolvedReturnType=includeMixinType(getReturnTypeOfSignature(e),i,o,s),t})),n=appendSignatures(n,e)}t=appendSignatures(t,getSignaturesOfType(c,0)),r=reduceLeft(getIndexInfosOfType(c),(e,t)=>appendIndexInfo(e,t,!1),r)}setStructuredTypeMembers(e,y,t||l,n||l,r||l)}(e):h.fail("Unhandled type "+h.formatTypeFlags(e.flags))),e}function getPropertiesOfObjectType(e){return 524288&e.flags?resolveStructuredTypeMembers(e).properties:l}function getPropertyOfObjectType(e,t){if(524288&e.flags){const n=resolveStructuredTypeMembers(e).members.get(t);if(n&&symbolIsValue(n))return n}}function getPropertiesOfUnionOrIntersectionType(e){if(!e.resolvedProperties){const t=createSymbolTable();for(const n of e.types){for(const r of getPropertiesOfType(n))if(!t.has(r.escapedName)){const n=getPropertyOfUnionOrIntersectionType(e,r.escapedName,!!(2097152&e.flags));n&&t.set(r.escapedName,n)}if(1048576&e.flags&&0===getIndexInfosOfType(n).length)break}e.resolvedProperties=getNamedMembers(t)}return e.resolvedProperties}function getPropertiesOfType(e){return 3145728&(e=getReducedApparentType(e)).flags?getPropertiesOfUnionOrIntersectionType(e):getPropertiesOfObjectType(e)}function getConstraintOfType(e){return 262144&e.flags?getConstraintOfTypeParameter(e):8388608&e.flags?function getConstraintOfIndexedAccess(e){return hasNonCircularBaseConstraint(e)?function getConstraintFromIndexedAccess(e){if(isMappedTypeGenericIndexedAccess(e))return substituteIndexedMappedType(e.objectType,e.indexType);const t=getSimplifiedTypeOrConstraint(e.indexType);if(t&&t!==e.indexType){const n=getIndexedAccessTypeOrUndefined(e.objectType,t,e.accessFlags);if(n)return n}const n=getSimplifiedTypeOrConstraint(e.objectType);if(n&&n!==e.objectType)return getIndexedAccessTypeOrUndefined(n,e.indexType,e.accessFlags);return}(e):void 0}(e):16777216&e.flags?getConstraintOfConditionalType(e):getBaseConstraintOfType(e)}function getConstraintOfTypeParameter(e){return hasNonCircularBaseConstraint(e)?getConstraintFromTypeParameter(e):void 0}function isConstTypeVariable(e,t=0){var n;return t<5&&!(!e||!(262144&e.flags&&some(null==(n=e.symbol)?void 0:n.declarations,e=>hasSyntacticModifier(e,4096))||3145728&e.flags&&some(e.types,e=>isConstTypeVariable(e,t))||8388608&e.flags&&isConstTypeVariable(e.objectType,t+1)||16777216&e.flags&&isConstTypeVariable(getConstraintOfConditionalType(e),t+1)||33554432&e.flags&&isConstTypeVariable(e.baseType,t)||32&getObjectFlags(e)&&function isConstMappedType(e,t){const n=getHomomorphicTypeVariable(e);return!!n&&isConstTypeVariable(n,t)}(e,t)||isGenericTupleType(e)&&findIndex(getElementTypes(e),(n,r)=>!!(8&e.target.elementFlags[r])&&isConstTypeVariable(n,t))>=0))}function getSimplifiedTypeOrConstraint(e){const t=getSimplifiedType(e,!1);return t!==e?t:getConstraintOfType(e)}function getDefaultConstraintOfConditionalType(e){if(!e.resolvedDefaultConstraint){const t=function getInferredTrueTypeFromConditionalType(e){return e.resolvedInferredTrueType||(e.resolvedInferredTrueType=e.combinedMapper?instantiateType(getTypeFromTypeNode(e.root.node.trueType),e.combinedMapper):getTrueTypeFromConditionalType(e))}(e),n=getFalseTypeFromConditionalType(e);e.resolvedDefaultConstraint=isTypeAny(t)?n:isTypeAny(n)?t:getUnionType([t,n])}return e.resolvedDefaultConstraint}function getConstraintOfDistributiveConditionalType(e){if(void 0!==e.resolvedConstraintOfDistributive)return e.resolvedConstraintOfDistributive||void 0;if(e.root.isDistributive&&e.restrictiveInstantiation!==e){const t=getSimplifiedType(e.checkType,!1),n=t===e.checkType?getConstraintOfType(t):t;if(n&&n!==e.checkType){const t=getConditionalTypeInstantiation(e,prependTypeMapping(e.root.checkType,n,e.mapper),!0);if(!(131072&t.flags))return e.resolvedConstraintOfDistributive=t,t}}e.resolvedConstraintOfDistributive=!1}function getConstraintFromConditionalType(e){return getConstraintOfDistributiveConditionalType(e)||getDefaultConstraintOfConditionalType(e)}function getConstraintOfConditionalType(e){return hasNonCircularBaseConstraint(e)?getConstraintFromConditionalType(e):void 0}function getBaseConstraintOfType(e){if(464781312&e.flags||isGenericTupleType(e)){const t=getResolvedBaseConstraint(e);return t!==kt&&t!==Ft?t:void 0}return 4194304&e.flags?st:void 0}function getBaseConstraintOrType(e){return getBaseConstraintOfType(e)||e}function hasNonCircularBaseConstraint(e){return getResolvedBaseConstraint(e)!==Ft}function getResolvedBaseConstraint(e){if(e.resolvedBaseConstraint)return e.resolvedBaseConstraint;const t=[];return e.resolvedBaseConstraint=getImmediateBaseConstraint(e);function getImmediateBaseConstraint(e){if(!e.immediateBaseConstraint){if(!pushTypeResolution(e,4))return Ft;let n;const i=getRecursionIdentity(e);if((t.length<10||t.length<50&&!contains(t,i))&&(t.push(i),n=function computeBaseConstraint(e){if(262144&e.flags){const t=getConstraintFromTypeParameter(e);return e.isThisType||!t?t:getBaseConstraint(t)}if(3145728&e.flags){const t=e.types,n=[];let r=!1;for(const e of t){const t=getBaseConstraint(e);t?(t!==e&&(r=!0),n.push(t)):r=!0}return r?1048576&e.flags&&n.length===t.length?getUnionType(n):2097152&e.flags&&n.length?getIntersectionType(n):void 0:e}if(4194304&e.flags)return st;if(134217728&e.flags){const t=e.types,n=mapDefined(t,getBaseConstraint);return n.length===t.length?getTemplateLiteralType(e.texts,n):ze}if(268435456&e.flags){const t=getBaseConstraint(e.type);return t&&t!==e.type?getStringMappingType(e.symbol,t):ze}if(8388608&e.flags){if(isMappedTypeGenericIndexedAccess(e))return getBaseConstraint(substituteIndexedMappedType(e.objectType,e.indexType));const t=getBaseConstraint(e.objectType),n=getBaseConstraint(e.indexType),r=t&&n&&getIndexedAccessTypeOrUndefined(t,n,e.accessFlags);return r&&getBaseConstraint(r)}if(16777216&e.flags){const t=getConstraintFromConditionalType(e);return t&&getBaseConstraint(t)}if(33554432&e.flags)return getBaseConstraint(getSubstitutionIntersection(e));if(isGenericTupleType(e)){return createTupleType(map(getElementTypes(e),(t,n)=>{const r=262144&t.flags&&8&e.target.elementFlags[n]&&getBaseConstraint(t)||t;return r!==t&&everyType(r,e=>isArrayOrTupleType(e)&&!isGenericTupleType(e))?r:t}),e.target.elementFlags,e.target.readonly,e.target.labeledElementDeclarations)}return e}(getSimplifiedType(e,!1)),t.pop()),!popTypeResolution()){if(262144&e.flags){const t=getConstraintDeclaration(e);if(t){const n=error2(t,Ot.Type_parameter_0_has_a_circular_constraint,typeToString(e));!r||isNodeDescendantOf(t,r)||isNodeDescendantOf(r,t)||addRelatedInfo(n,createDiagnosticForNode(r,Ot.Circularity_originates_in_type_at_this_location))}}n=Ft}e.immediateBaseConstraint??(e.immediateBaseConstraint=n||kt)}return e.immediateBaseConstraint}function getBaseConstraint(e){const t=getImmediateBaseConstraint(e);return t!==kt&&t!==Ft?t:void 0}}function getResolvedTypeParameterDefault(e){if(e.default)e.default===Pt&&(e.default=Ft);else if(e.target){const t=getResolvedTypeParameterDefault(e.target);e.default=t?instantiateType(t,e.mapper):kt}else{e.default=Pt;const t=e.symbol&&forEach(e.symbol.declarations,e=>isTypeParameterDeclaration(e)&&e.default),n=t?getTypeFromTypeNode(t):kt;e.default===Pt&&(e.default=n)}return e.default}function getDefaultFromTypeParameter(e){const t=getResolvedTypeParameterDefault(e);return t!==kt&&t!==Ft?t:void 0}function hasTypeParameterDefault(e){return!(!e.symbol||!forEach(e.symbol.declarations,e=>isTypeParameterDeclaration(e)&&e.default))}function getApparentTypeOfMappedType(e){return e.resolvedApparentType||(e.resolvedApparentType=function getResolvedApparentTypeOfMappedType(e){const t=e.target??e,n=getHomomorphicTypeVariable(t);if(n&&!t.declaration.nameType){const r=getModifiersTypeFromMappedType(e),i=isGenericMappedType(r)?getApparentTypeOfMappedType(r):getBaseConstraintOfType(r);if(i&&everyType(i,e=>isArrayOrTupleType(e)||isArrayOrTupleOrIntersection(e)))return instantiateType(t,prependTypeMapping(n,i,e.mapper))}return e}(e))}function isArrayOrTupleOrIntersection(e){return!!(2097152&e.flags)&&every(e.types,isArrayOrTupleType)}function isMappedTypeGenericIndexedAccess(e){let t;return!(!(8388608&e.flags&&32&getObjectFlags(t=e.objectType)&&!isGenericMappedType(t)&&isGenericIndexType(e.indexType))||8&getMappedTypeModifiers(t)||t.declaration.nameType)}function getApparentType(e){const t=465829888&e.flags?getBaseConstraintOfType(e)||Le:e,n=getObjectFlags(t);return 32&n?getApparentTypeOfMappedType(t):4&n&&t!==e?getTypeWithThisArgument(t,e):2097152&t.flags?function getApparentTypeOfIntersectionType(e,t){if(e===t)return e.resolvedApparentType||(e.resolvedApparentType=getTypeWithThisArgument(e,t,!0));const n=`I${getTypeId(e)},${getTypeId(t)}`;return getCachedType(n)??setCachedType(n,getTypeWithThisArgument(e,t,!0))}(t,e):402653316&t.flags?Ht:296&t.flags?Kt:2112&t.flags?function getGlobalBigIntType(){return Jn||(Jn=getGlobalType("BigInt",0,!1))||ht}():528&t.flags?Gt:12288&t.flags?getGlobalESSymbolType():67108864&t.flags?ht:4194304&t.flags?st:2&t.flags&&!k?ht:t}function getReducedApparentType(e){return getReducedType(getApparentType(getReducedType(e)))}function createUnionOrIntersectionProperty(e,t,n){var r,i,o;let a,s,c,l=0;const d=1048576&e.flags;let p,u=4,m=d?0:8,_=!1;for(const r of e.types){const e=getApparentType(r);if(!(isErrorType(e)||131072&e.flags)){const r=getPropertyOfType(e,t,n),i=r?getDeclarationModifierFlagsFromSymbol(r):0;if(r){if(106500&r.flags&&(p??(p=d?0:16777216),d?p|=16777216&r.flags:p&=r.flags),a){if(r!==a){if((getTargetSymbol(r)||r)===(getTargetSymbol(a)||a)&&-1===compareProperties2(a,r,(e,t)=>e===t?-1:0))_=!!a.parent&&!!length(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(a.parent));else{s||(s=new Map,s.set(getSymbolId(a),a));const e=getSymbolId(r);s.has(e)||s.set(e,r)}98304&l&&(98304&r.flags)!=(98304&l)&&(l=-98305&l|4)}}else a=r,l=98304&r.flags||4;d&&isReadonlySymbol(r)?m|=8:d||isReadonlySymbol(r)||(m&=-9),m|=(6&i?0:256)|(4&i?512:0)|(2&i?1024:0)|(256&i?2048:0),isPrototypeProperty(r)||(u=2)}else if(d){const n=!isLateBoundName(t)&&getApplicableIndexInfoForName(e,t);n?(l=-98305&l|4,m|=32|(n.isReadonly?8:0),c=append(c,isTupleType(e)?getRestTypeOfTupleType(e)||Me:n.type)):!isObjectLiteralType2(e)||2097152&getObjectFlags(e)?m|=16:(m|=32,c=append(c,Me))}}}if(!a||d&&(s||48&m)&&1536&m&&(!s||!function getCommonDeclarationsOfSymbols(e){let t;for(const n of e){if(!n.declarations)return;if(t){if(t.forEach(e=>{contains(n.declarations,e)||t.delete(e)}),0===t.size)return}else t=new Set(n.declarations)}return t}(s.values())))return;if(!(s||16&m||c)){if(_){const t=null==(r=tryCast(a,isTransientSymbol))?void 0:r.links,n=createSymbolWithType(a,null==t?void 0:t.type);return n.parent=null==(o=null==(i=a.valueDeclaration)?void 0:i.symbol)?void 0:o.parent,n.links.containingType=e,n.links.mapper=null==t?void 0:t.mapper,n.links.writeType=getWriteTypeOfSymbol(a),n}return a}const f=s?arrayFrom(s.values()):[a];let g,y,h;const T=[];let S,x,v=!1;for(const e of f){x?e.valueDeclaration&&e.valueDeclaration!==x&&(v=!0):x=e.valueDeclaration,g=addRange(g,e.declarations);const t=getTypeOfSymbol(e);y||(y=t,h=getSymbolLinks(e).nameType);const n=getWriteTypeOfSymbol(e);(S||n!==t)&&(S=append(S||T.slice(),n)),t!==y&&(m|=64),(isLiteralType(t)||isPatternLiteralType(t))&&(m|=128),131072&t.flags&&t!==_t&&(m|=131072),T.push(t)}addRange(T,c);const b=createSymbol(l|(p??0),t,u|m);return b.links.containingType=e,!v&&x&&(b.valueDeclaration=x,x.symbol.parent&&(b.parent=x.symbol.parent)),b.declarations=g,b.links.nameType=h,T.length>2?(b.links.checkFlags|=65536,b.links.deferralParent=e,b.links.deferralConstituents=T,b.links.deferralWriteConstituents=S):(b.links.type=d?getUnionType(T):getIntersectionType(T),S&&(b.links.writeType=d?getUnionType(S):getIntersectionType(S))),b}function getUnionOrIntersectionProperty(e,t,n){var r,i,o;let a=n?null==(r=e.propertyCacheWithoutObjectFunctionPropertyAugment)?void 0:r.get(t):null==(i=e.propertyCache)?void 0:i.get(t);if(!a&&(a=createUnionOrIntersectionProperty(e,t,n),a)){if((n?e.propertyCacheWithoutObjectFunctionPropertyAugment||(e.propertyCacheWithoutObjectFunctionPropertyAugment=createSymbolTable()):e.propertyCache||(e.propertyCache=createSymbolTable())).set(t,a),n&&!(48&getCheckFlags(a))&&!(null==(o=e.propertyCache)?void 0:o.get(t))){(e.propertyCache||(e.propertyCache=createSymbolTable())).set(t,a)}}return a}function getPropertyOfUnionOrIntersectionType(e,t,n){const r=getUnionOrIntersectionProperty(e,t,n);return!r||16&getCheckFlags(r)?void 0:r}function getReducedType(e){return 1048576&e.flags&&16777216&e.objectFlags?e.resolvedReducedType||(e.resolvedReducedType=function getReducedUnionType(e){const t=sameMap(e.types,getReducedType);if(t===e.types)return e;const n=getUnionType(t);1048576&n.flags&&(n.resolvedReducedType=n);return n}(e)):2097152&e.flags?(16777216&e.objectFlags||(e.objectFlags|=16777216|(some(getPropertiesOfUnionOrIntersectionType(e),isNeverReducedProperty)?33554432:0)),33554432&e.objectFlags?tt:e):e}function isNeverReducedProperty(e){return isDiscriminantWithNeverType(e)||isConflictingPrivateProperty(e)}function isDiscriminantWithNeverType(e){return!(16777216&e.flags||192!=(131264&getCheckFlags(e))||!(131072&getTypeOfSymbol(e).flags))}function isConflictingPrivateProperty(e){return!e.valueDeclaration&&!!(1024&getCheckFlags(e))}function isGenericReducibleType(e){return!!(1048576&e.flags&&16777216&e.objectFlags&&some(e.types,isGenericReducibleType)||2097152&e.flags&&function isReducibleIntersection(e){const t=e.uniqueLiteralFilledInstantiation||(e.uniqueLiteralFilledInstantiation=instantiateType(e,ft));return getReducedType(t)!==t}(e))}function elaborateNeverIntersection(e,t){if(2097152&t.flags&&33554432&getObjectFlags(t)){const n=find(getPropertiesOfUnionOrIntersectionType(t),isDiscriminantWithNeverType);if(n)return chainDiagnosticMessages(e,Ot.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,typeToString(t,void 0,536870912),symbolToString(n));const r=find(getPropertiesOfUnionOrIntersectionType(t),isConflictingPrivateProperty);if(r)return chainDiagnosticMessages(e,Ot.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,typeToString(t,void 0,536870912),symbolToString(r))}return e}function getPropertyOfType(e,t,n,r){var i,o;if(524288&(e=getReducedApparentType(e)).flags){const a=resolveStructuredTypeMembers(e),s=a.members.get(t);if(s&&!r&&512&(null==(i=e.symbol)?void 0:i.flags)&&(null==(o=getSymbolLinks(e.symbol).typeOnlyExportStarMap)?void 0:o.has(t)))return;if(s&&symbolIsValue(s,r))return s;if(n)return;const c=a===Nt?Wt:a.callSignatures.length?Ut:a.constructSignatures.length?zt:void 0;if(c){const e=getPropertyOfObjectType(c,t);if(e)return e}return getPropertyOfObjectType(Jt,t)}if(2097152&e.flags){const r=getPropertyOfUnionOrIntersectionType(e,t,!0);return r||(n?void 0:getPropertyOfUnionOrIntersectionType(e,t,n))}if(1048576&e.flags)return getPropertyOfUnionOrIntersectionType(e,t,n)}function getSignaturesOfStructuredType(e,t){if(3670016&e.flags){const n=resolveStructuredTypeMembers(e);return 0===t?n.callSignatures:n.constructSignatures}return l}function getSignaturesOfType(e,t){const n=getSignaturesOfStructuredType(getReducedApparentType(e),t);if(0===t&&!length(n)&&1048576&e.flags){if(e.arrayFallbackSignatures)return e.arrayFallbackSignatures;let r;if(everyType(e,e=>{var t;return!!(null==(t=e.symbol)?void 0:t.parent)&&function isArrayOrTupleSymbol(e){if(!e||!Vt.symbol||!qt.symbol)return!1;return!!getSymbolIfSameReference(e,Vt.symbol)||!!getSymbolIfSameReference(e,qt.symbol)}(e.symbol.parent)&&(r?r===e.symbol.escapedName:(r=e.symbol.escapedName,!0))})){const n=createArrayType(mapType(e,e=>getMappedType((isReadonlyArraySymbol(e.symbol.parent)?qt:Vt).typeParameters[0],e.mapper)),someType(e,e=>isReadonlyArraySymbol(e.symbol.parent)));return e.arrayFallbackSignatures=getSignaturesOfType(getTypeOfPropertyOfType(n,r),t)}e.arrayFallbackSignatures=n}return n}function isReadonlyArraySymbol(e){return!(!e||!qt.symbol)&&!!getSymbolIfSameReference(e,qt.symbol)}function findIndexInfo(e,t){return find(e,e=>e.keyType===t)}function findApplicableIndexInfo(e,t){let n,r,i;for(const o of e)o.keyType===ze?n=o:isApplicableIndexType(t,o.keyType)&&(r?(i||(i=[r])).push(o):r=o);return i?createIndexInfo(Le,getIntersectionType(map(i,e=>e.type)),reduceLeft(i,(e,t)=>e&&t.isReadonly,!0)):r||(n&&isApplicableIndexType(t,ze)?n:void 0)}function isApplicableIndexType(e,t){return isTypeAssignableTo(e,t)||t===ze&&isTypeAssignableTo(e,Ve)||t===Ve&&(e===pt||!!(128&e.flags)&&isNumericLiteralName(e.value))}function getIndexInfosOfStructuredType(e){if(3670016&e.flags){return resolveStructuredTypeMembers(e).indexInfos}return l}function getIndexInfosOfType(e){return getIndexInfosOfStructuredType(getReducedApparentType(e))}function getIndexInfoOfType(e,t){return findIndexInfo(getIndexInfosOfType(e),t)}function getIndexTypeOfType(e,t){var n;return null==(n=getIndexInfoOfType(e,t))?void 0:n.type}function getApplicableIndexInfos(e,t){return getIndexInfosOfType(e).filter(e=>isApplicableIndexType(t,e.keyType))}function getApplicableIndexInfo(e,t){return findApplicableIndexInfo(getIndexInfosOfType(e),t)}function getApplicableIndexInfoForName(e,t){return getApplicableIndexInfo(e,isLateBoundName(t)?Ze:getStringLiteralType(unescapeLeadingUnderscores(t)))}function getTypeParametersFromDeclaration(e){var t;let n;for(const t of getEffectiveTypeParameterDeclarations(e))n=appendIfUnique(n,getDeclaredTypeOfTypeParameter(t.symbol));return(null==n?void 0:n.length)?n:isFunctionDeclaration(e)?null==(t=getSignatureOfTypeTag(e))?void 0:t.typeParameters:void 0}function symbolsToArray(e){const t=[];return e.forEach((e,n)=>{isReservedMemberName(n)||t.push(e)}),t}function tryFindAmbientModule(e,t){if(isExternalModuleNameRelative(e))return;const n=getSymbol2(z,'"'+e+'"',512);return n&&t?getMergedSymbol(n):n}function hasEffectiveQuestionToken(e){return hasQuestionToken(e)||isOptionalJSDocPropertyLikeTag(e)||isParameter(e)&&isJSDocOptionalParameter(e)}function isOptionalParameter(e){if(hasEffectiveQuestionToken(e))return!0;if(!isParameter(e))return!1;if(e.initializer){const t=getSignatureFromDeclaration(e.parent),n=e.parent.parameters.indexOf(e);return h.assert(n>=0),n>=getMinArgumentCount(t,3)}const t=getImmediatelyInvokedFunctionExpression(e.parent);return!!t&&(!e.type&&!e.dotDotDotToken&&e.parent.parameters.indexOf(e)>=getEffectiveCallArguments(t).length)}function createTypePredicate(e,t,n,r){return{kind:e,parameterName:t,parameterIndex:n,type:r}}function getMinTypeArgumentCount(e){let t=0;if(e)for(let n=0;n<e.length;n++)hasTypeParameterDefault(e[n])||(t=n+1);return t}function fillMissingTypeArguments(e,t,n,r){const i=length(t);if(!i)return[];const o=length(e);if(r||o>=n&&o<=i){const n=e?e.slice():[];for(let e=o;e<i;e++)n[e]=Ie;const a=getDefaultTypeArgumentType(r);for(let e=o;e<i;e++){let i=getDefaultFromTypeParameter(t[e]);r&&i&&(isTypeIdenticalTo(i,Le)||isTypeIdenticalTo(i,ht))&&(i=ke),n[e]=i?instantiateType(i,createTypeMapper(t,n)):a}return n.length=t.length,n}return e&&e.slice()}function getSignatureFromDeclaration(e){const t=getNodeLinks(e);if(!t.resolvedSignature){const n=[];let r,i=0,o=0,a=isInJSFile(e)?getJSDocThisTag(e):void 0,s=!1;const c=getImmediatelyInvokedFunctionExpression(e),l=isJSDocConstructSignature(e);!c&&isInJSFile(e)&&isValueSignatureDeclaration(e)&&!hasJSDocParameterTags(e)&&!some(e.parameters,e=>!!getJSDocType(e))&&!getJSDocType(e)&&!getContextualSignatureForFunctionLikeDeclaration(e)&&(i|=32);for(let t=l?1:0;t<e.parameters.length;t++){const l=e.parameters[t];if(isInJSFile(l)&&isJSDocThisTag(l)){a=l;continue}let d=l.symbol;const p=isJSDocParameterTag(l)?l.typeExpression&&l.typeExpression.type:l.type;if(d&&4&d.flags&&!isBindingPattern(l.name)){d=te(l,d.escapedName,111551,void 0,!1)}0===t&&"this"===d.escapedName?(s=!0,r=l.symbol):n.push(d),p&&202===p.kind&&(i|=2);hasEffectiveQuestionToken(l)||isParameter(l)&&l.initializer||isRestParameter(l)||c&&n.length>c.arguments.length&&!p||(o=n.length)}if((178===e.kind||179===e.kind)&&hasBindableName(e)&&(!s||!r)){const t=178===e.kind?179:178,n=getDeclarationOfKind(getSymbolOfDeclaration(e),t);n&&(r=function getAnnotatedAccessorThisParameter(e){const t=getAccessorThisParameter(e);return t&&t.symbol}(n))}a&&a.typeExpression&&(r=createSymbolWithType(createSymbol(1,"this"),getTypeFromTypeNode(a.typeExpression)));const d=isJSDocSignature(e)?getEffectiveJSDocHost(e):e,p=d&&isConstructorDeclaration(d)?getDeclaredTypeOfClassOrInterface(getMergedSymbol(d.parent.symbol)):void 0,u=p?p.localTypeParameters:getTypeParametersFromDeclaration(e);(hasRestParameter(e)||isInJSFile(e)&&function maybeAddJsSyntheticRestParameter(e,t){if(isJSDocSignature(e)||!containsArgumentsReference(e))return!1;const n=lastOrUndefined(e.parameters),r=n?getJSDocParameterTags(n):getJSDocTags(e).filter(isJSDocParameterTag),i=firstDefined(r,e=>e.typeExpression&&isJSDocVariadicType(e.typeExpression.type)?e.typeExpression.type:void 0),o=createSymbol(3,"args",32768);i?o.links.type=createArrayType(getTypeFromTypeNode(i.type)):(o.links.checkFlags|=65536,o.links.deferralParent=tt,o.links.deferralConstituents=[Xt],o.links.deferralWriteConstituents=[Xt]);i&&t.pop();return t.push(o),!0}(e,n))&&(i|=1),(isConstructorTypeNode(e)&&hasSyntacticModifier(e,64)||isConstructorDeclaration(e)&&hasSyntacticModifier(e.parent,64))&&(i|=4),t.resolvedSignature=createSignature(e,u,r,n,void 0,void 0,o,i)}return t.resolvedSignature}function getSignatureOfTypeTag(e){if(!isInJSFile(e)||!isFunctionLikeDeclaration(e))return;const t=getJSDocTypeTag(e);return(null==t?void 0:t.typeExpression)&&getSingleCallSignature(getTypeFromTypeNode(t.typeExpression))}function containsArgumentsReference(e){const t=getNodeLinks(e);return void 0===t.containsArgumentsReference&&(512&t.flags?t.containsArgumentsReference=!0:t.containsArgumentsReference=function traverse(e){if(!e)return!1;switch(e.kind){case 80:return e.escapedText===$.escapedName&&getReferencedValueSymbol(e)===$;case 173:case 175:case 178:case 179:return 168===e.name.kind&&traverse(e.name);case 212:case 213:return traverse(e.expression);case 304:return traverse(e.initializer);default:return!nodeStartsNewLexicalEnvironment(e)&&!isPartOfTypeNode(e)&&!!forEachChild(e,traverse)}}(e.body)),t.containsArgumentsReference}function getSignaturesOfSymbol(e){if(!e||!e.declarations)return l;const t=[];for(let n=0;n<e.declarations.length;n++){const r=e.declarations[n];if(isFunctionLike(r)){if(n>0&&r.body){const t=e.declarations[n-1];if(r.parent===t.parent&&r.kind===t.kind&&r.pos===t.end)continue}if(isInJSFile(r)&&r.jsDoc){const e=getJSDocOverloadTags(r);if(length(e)){for(const n of e){const e=n.typeExpression;void 0!==e.type||isConstructorDeclaration(r)||reportImplicitAny(e,ke),t.push(getSignatureFromDeclaration(e))}continue}}t.push(!isFunctionExpressionOrArrowFunction(r)&&!isObjectLiteralMethod(r)&&getSignatureOfTypeTag(r)||getSignatureFromDeclaration(r))}}return t}function resolveExternalModuleTypeByLiteral(e){const t=resolveExternalModuleName(e,e);if(t){const e=resolveExternalModuleSymbol(t);if(e)return getTypeOfSymbol(e)}return ke}function getThisTypeOfSignature(e){if(e.thisParameter)return getTypeOfSymbol(e.thisParameter)}function getTypePredicateOfSignature(e){if(!e.resolvedTypePredicate){if(e.target){const t=getTypePredicateOfSignature(e.target);e.resolvedTypePredicate=t?instantiateTypePredicate(t,e.mapper):mr}else if(e.compositeSignatures)e.resolvedTypePredicate=function getUnionOrIntersectionTypePredicate(e,t){let n;const r=[];for(const i of e){const e=getTypePredicateOfSignature(i);if(e){if(0!==e.kind&&1!==e.kind||n&&!typePredicateKindsMatch(n,e))return;n=e,r.push(e.type)}else{const e=2097152!==t?getReturnTypeOfSignature(i):void 0;if(e!==He&&e!==Ke)return}}if(!n)return;const i=getUnionOrIntersectionType(r,t);return createTypePredicate(n.kind,n.parameterName,n.parameterIndex,i)}(e.compositeSignatures,e.compositeKind)||mr;else{const t=e.declaration&&getEffectiveReturnTypeNode(e.declaration);let n;if(!t){const t=getSignatureOfTypeTag(e.declaration);t&&e!==t&&(n=getTypePredicateOfSignature(t))}if(t||n)e.resolvedTypePredicate=t&&isTypePredicateNode(t)?function createTypePredicateFromTypePredicateNode(e,t){const n=e.parameterName,r=e.type&&getTypeFromTypeNode(e.type);return 198===n.kind?createTypePredicate(e.assertsModifier?2:0,void 0,void 0,r):createTypePredicate(e.assertsModifier?3:1,n.escapedText,findIndex(t.parameters,e=>e.escapedName===n.escapedText),r)}(t,e):n||mr;else if(e.declaration&&isFunctionLikeDeclaration(e.declaration)&&(!e.resolvedReturnType||16&e.resolvedReturnType.flags)&&getParameterCount(e)>0){const{declaration:t}=e;e.resolvedTypePredicate=mr,e.resolvedTypePredicate=function getTypePredicateFromBody(e){switch(e.kind){case 177:case 178:case 179:return}if(0!==getFunctionFlags(e))return;let t;if(e.body&&242!==e.body.kind)t=e.body;else{if(forEachReturnStatement(e.body,e=>{if(t||!e.expression)return!0;t=e.expression})||!t||functionHasImplicitReturn(e))return}return function checkIfExpressionRefinesAnyParameter(e,t){t=skipParentheses(t,!0);return 16&checkExpressionCached(t).flags?forEach(e.parameters,(n,r)=>{const i=getTypeOfSymbol(n.symbol);if(!i||16&i.flags||!isIdentifier(n.name)||isSymbolAssigned(n.symbol)||isRestParameter(n))return;const o=function checkIfExpressionRefinesParameter(e,t,n,r){const i=canHaveFlowNode(t)&&t.flowNode||254===t.parent.kind&&t.parent.flowNode||createFlowNode(2,void 0,void 0),o=createFlowNode(32,t,i),a=getFlowTypeOfReference(n.name,r,r,e,o);if(a===r)return;const s=createFlowNode(64,t,i),c=getReducedType(getFlowTypeOfReference(n.name,r,a,e,s));return 131072&c.flags?a:void 0}(e,t,n,i);return o?createTypePredicate(1,unescapeLeadingUnderscores(n.name.escapedText),r,o):void 0}):void 0}(e,t)}(t)||mr}else e.resolvedTypePredicate=mr}h.assert(!!e.resolvedTypePredicate)}return e.resolvedTypePredicate===mr?void 0:e.resolvedTypePredicate}function getUnionOrIntersectionType(e,t,n){return 2097152!==t?getUnionType(e,n):getIntersectionType(e)}function getReturnTypeOfSignature(e){if(!e.resolvedReturnType){if(!pushTypeResolution(e,3))return Ie;let t=e.target?instantiateType(getReturnTypeOfSignature(e.target),e.mapper):e.compositeSignatures?instantiateType(getUnionOrIntersectionType(map(e.compositeSignatures,getReturnTypeOfSignature),e.compositeKind,2),e.mapper):getReturnTypeFromAnnotation(e.declaration)||(nodeIsMissing(e.declaration.body)?ke:getReturnTypeFromBody(e.declaration));if(8&e.flags?t=addOptionalTypeMarker(t):16&e.flags&&(t=getOptionalType(t)),!popTypeResolution()){if(e.declaration){const t=getEffectiveReturnTypeNode(e.declaration);if(t)error2(t,Ot.Return_type_annotation_circularly_references_itself);else if(A){const t=e.declaration,n=getNameOfDeclaration(t);n?error2(n,Ot._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,declarationNameToString(n)):error2(t,Ot.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}}t=ke}e.resolvedReturnType??(e.resolvedReturnType=t)}return e.resolvedReturnType}function getReturnTypeFromAnnotation(e){if(177===e.kind)return getDeclaredTypeOfClassOrInterface(getMergedSymbol(e.parent.symbol));const t=getEffectiveReturnTypeNode(e);if(isJSDocSignature(e)){const n=getJSDocRoot(e);if(n&&isConstructorDeclaration(n.parent)&&!t)return getDeclaredTypeOfClassOrInterface(getMergedSymbol(n.parent.parent.symbol))}if(isJSDocConstructSignature(e))return getTypeFromTypeNode(e.parameters[0].type);if(t)return getTypeFromTypeNode(t);if(178===e.kind&&hasBindableName(e)){const t=isInJSFile(e)&&getTypeForDeclarationFromJSDocComment(e);if(t)return t;const n=getAnnotatedAccessorType(getDeclarationOfKind(getSymbolOfDeclaration(e),179));if(n)return n}return function getReturnTypeOfTypeTag(e){const t=getSignatureOfTypeTag(e);return t&&getReturnTypeOfSignature(t)}(e)}function isResolvingReturnTypeOfSignature(e){return e.compositeSignatures&&some(e.compositeSignatures,isResolvingReturnTypeOfSignature)||!e.resolvedReturnType&&findResolutionCycleStartIndex(e,3)>=0}function tryGetRestTypeOfSignature(e){if(signatureHasRestParameter(e)){const t=getTypeOfSymbol(e.parameters[e.parameters.length-1]),n=isTupleType(t)?getRestTypeOfTupleType(t):t;return n&&getIndexTypeOfType(n,Ve)}}function getSignatureInstantiation(e,t,n,r){const i=getSignatureInstantiationWithoutFillingInTypeArguments(e,fillMissingTypeArguments(t,e.typeParameters,getMinTypeArgumentCount(e.typeParameters),n));if(r){const e=getSingleCallOrConstructSignature(getReturnTypeOfSignature(i));if(e){const t=cloneSignature(e);t.typeParameters=r;const n=getOrCreateTypeFromSignature(t);n.mapper=i.mapper;const o=cloneSignature(i);return o.resolvedReturnType=n,o}}return i}function getSignatureInstantiationWithoutFillingInTypeArguments(e,t){const n=e.instantiations||(e.instantiations=new Map),r=getTypeListId(t);let i=n.get(r);return i||n.set(r,i=createSignatureInstantiation(e,t)),i}function createSignatureInstantiation(e,t){return instantiateSignature(e,function createSignatureTypeMapper(e,t){return createTypeMapper(getTypeParametersForMapper(e),t)}(e,t),!0)}function getTypeParametersForMapper(e){return sameMap(e.typeParameters,e=>e.mapper?instantiateType(e,e.mapper):e)}function getErasedSignature(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=function createErasedSignature(e){return instantiateSignature(e,createTypeEraser(e.typeParameters),!0)}(e)):e}function getCanonicalSignature(e){return e.typeParameters?e.canonicalSignatureCache||(e.canonicalSignatureCache=function createCanonicalSignature(e){return getSignatureInstantiation(e,map(e.typeParameters,e=>e.target&&!getConstraintOfTypeParameter(e.target)?e.target:e),isInJSFile(e.declaration))}(e)):e}function getBaseSignature(e){const t=e.typeParameters;if(t){if(e.baseSignatureCache)return e.baseSignatureCache;const n=createTypeEraser(t),r=createTypeMapper(t,map(t,e=>getConstraintOfTypeParameter(e)||Le));let i=map(t,e=>instantiateType(e,r)||Le);for(let e=0;e<t.length-1;e++)i=instantiateTypes(i,r);return i=instantiateTypes(i,n),e.baseSignatureCache=instantiateSignature(e,createTypeMapper(t,i),!0)}return e}function getOrCreateTypeFromSignature(e){var t,n;if(!e.isolatedSignatureType){const r=null==(t=e.declaration)?void 0:t.kind,i=void 0===r||177===r||181===r||186===r,o=createObjectType(134217744,null==(n=e.declaration)?void 0:n.symbol);o.members=y,o.properties=l,o.callSignatures=i?l:[e],o.constructSignatures=i?[e]:l,o.indexInfos=l,e.isolatedSignatureType=o}return e.isolatedSignatureType}function getIndexSymbol(e){return e.members?getIndexSymbolFromSymbolTable(getMembersOfSymbol(e)):void 0}function getIndexSymbolFromSymbolTable(e){return e.get("__index")}function createIndexInfo(e,t,n,r,i){return{keyType:e,type:t,isReadonly:n,declaration:r,components:i}}function getIndexInfosOfSymbol(e){const t=getIndexSymbol(e);return t?getIndexInfosOfIndexSymbol(t,arrayFrom(getMembersOfSymbol(e).values())):l}function getIndexInfosOfIndexSymbol(e,t=(e.parent?arrayFrom(getMembersOfSymbol(e.parent).values()):void 0)){if(e.declarations){const n=[];let r=!1,i=!0,o=!1,a=!0,s=!1,c=!0;const l=[];for(const t of e.declarations)if(isIndexSignatureDeclaration(t)){if(1===t.parameters.length){const e=t.parameters[0];e.type&&forEachType(getTypeFromTypeNode(e.type),e=>{isValidIndexKeyType(e)&&!findIndexInfo(n,e)&&n.push(createIndexInfo(e,t.type?getTypeFromTypeNode(t.type):ke,hasEffectiveModifier(t,8),t))})}}else if(hasLateBindableIndexSignature(t)){const e=isBinaryExpression(t)?t.left:t.name,d=isElementAccessExpression(e)?checkExpressionCached(e.argumentExpression):checkComputedPropertyName(e);if(findIndexInfo(n,d))continue;isTypeAssignableTo(d,st)&&(isTypeAssignableTo(d,Ve)?(r=!0,hasEffectiveReadonlyModifier(t)||(i=!1)):isTypeAssignableTo(d,Ze)?(o=!0,hasEffectiveReadonlyModifier(t)||(a=!1)):(s=!0,hasEffectiveReadonlyModifier(t)||(c=!1)),l.push(t.symbol))}const d=concatenate(l,filter(t,t=>t!==e));return s&&!findIndexInfo(n,ze)&&n.push(getObjectLiteralIndexInfo(c,0,d,ze)),r&&!findIndexInfo(n,Ve)&&n.push(getObjectLiteralIndexInfo(i,0,d,Ve)),o&&!findIndexInfo(n,Ze)&&n.push(getObjectLiteralIndexInfo(a,0,d,Ze)),n}return l}function isValidIndexKeyType(e){return!!(4108&e.flags)||isPatternLiteralType(e)||!!(2097152&e.flags)&&!isGenericType(e)&&some(e.types,isValidIndexKeyType)}function getConstraintDeclaration(e){return mapDefined(filter(e.symbol&&e.symbol.declarations,isTypeParameterDeclaration),getEffectiveConstraintOfTypeParameter)[0]}function getInferredTypeParameterConstraint(e,t){var n;let r;if(null==(n=e.symbol)?void 0:n.declarations)for(const n of e.symbol.declarations)if(196===n.parent.kind){const[i=n.parent,o]=walkUpParenthesizedTypesAndGetParentAndChild(n.parent.parent);if(184!==o.kind||t){if(170===o.kind&&o.dotDotDotToken||192===o.kind||203===o.kind&&o.dotDotDotToken)r=append(r,createArrayType(Le));else if(205===o.kind)r=append(r,ze);else if(169===o.kind&&201===o.parent.kind)r=append(r,st);else if(201===o.kind&&o.type&&skipParentheses(o.type)===n.parent&&195===o.parent.kind&&o.parent.extendsType===o&&201===o.parent.checkType.kind&&o.parent.checkType.type){const e=o.parent.checkType;r=append(r,instantiateType(getTypeFromTypeNode(e.type),makeUnaryTypeMapper(getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(e.typeParameter)),e.typeParameter.constraint?getTypeFromTypeNode(e.typeParameter.constraint):st)))}}else{const t=o,n=getTypeParametersForTypeReferenceOrImport(t);if(n){const o=t.typeArguments.indexOf(i);if(o<n.length){const i=getConstraintOfTypeParameter(n[o]);if(i){const o=instantiateType(i,makeDeferredTypeMapper(n,n.map((e,r)=>()=>getEffectiveTypeArgumentAtIndex(t,n,r))));o!==e&&(r=append(r,o))}}}}}return r&&getIntersectionType(r)}function getConstraintFromTypeParameter(e){if(!e.constraint)if(e.target){const t=getConstraintOfTypeParameter(e.target);e.constraint=t?instantiateType(t,e.mapper):kt}else{const t=getConstraintDeclaration(e);if(t){let n=getTypeFromTypeNode(t);1&n.flags&&!isErrorType(n)&&(n=201===t.parent.parent.kind?st:Le),e.constraint=n}else e.constraint=getInferredTypeParameterConstraint(e)||kt}return e.constraint===kt?void 0:e.constraint}function getParentSymbolOfTypeParameter(e){const t=getDeclarationOfKind(e.symbol,169),n=isJSDocTemplateTag(t.parent)?getEffectiveContainerForJSDocTemplateTag(t.parent):t.parent;return n&&getSymbolOfNode(n)}function getTypeListId(e){let t="";if(e){const n=e.length;let r=0;for(;r<n;){const i=e[r].id;let o=1;for(;r+o<n&&e[r+o].id===i+o;)o++;t.length&&(t+=","),t+=i,o>1&&(t+=":"+o),r+=o}}return t}function getAliasId(e,t){return e?`@${getSymbolId(e)}`+(t?`:${getTypeListId(t)}`:""):""}function getPropagatingFlagsOfTypes(e,t){let n=0;for(const r of e)void 0!==t&&r.flags&t||(n|=getObjectFlags(r));return 458752&n}function tryCreateTypeReference(e,t){return some(t)&&e===Et?Le:createTypeReference(e,t)}function createTypeReference(e,t){const n=getTypeListId(t);let r=e.instantiations.get(n);return r||(r=createObjectType(4,e.symbol),e.instantiations.set(n,r),r.objectFlags|=t?getPropagatingFlagsOfTypes(t):0,r.target=e,r.resolvedTypeArguments=t),r}function cloneTypeReference(e){const t=createTypeWithSymbol(e.flags,e.symbol);return t.objectFlags=e.objectFlags,t.target=e.target,t.resolvedTypeArguments=e.resolvedTypeArguments,t}function createDeferredTypeReference(e,t,n,r,i){if(!r){const e=getTypeArgumentsForAliasSymbol(r=getAliasSymbolForTypeNode(t));i=n?instantiateTypes(e,n):e}const o=createObjectType(4,e.symbol);return o.target=e,o.node=t,o.mapper=n,o.aliasSymbol=r,o.aliasTypeArguments=i,o}function getTypeArguments(e){var t,n;if(!e.resolvedTypeArguments){if(!pushTypeResolution(e,5))return concatenate(e.target.outerTypeParameters,null==(t=e.target.localTypeParameters)?void 0:t.map(()=>Ie))||l;const i=e.node,o=i?184===i.kind?concatenate(e.target.outerTypeParameters,getEffectiveTypeArguments2(i,e.target.localTypeParameters)):189===i.kind?[getTypeFromTypeNode(i.elementType)]:map(i.elements,getTypeFromTypeNode):l;popTypeResolution()?e.resolvedTypeArguments??(e.resolvedTypeArguments=e.mapper?instantiateTypes(o,e.mapper):o):(e.resolvedTypeArguments??(e.resolvedTypeArguments=concatenate(e.target.outerTypeParameters,(null==(n=e.target.localTypeParameters)?void 0:n.map(()=>Ie))||l)),error2(e.node||r,e.target.symbol?Ot.Type_arguments_for_0_circularly_reference_themselves:Ot.Tuple_type_arguments_circularly_reference_themselves,e.target.symbol&&symbolToString(e.target.symbol)))}return e.resolvedTypeArguments}function getTypeReferenceArity(e){return length(e.target.typeParameters)}function getTypeFromClassOrInterfaceReference(e,t){const n=getDeclaredTypeOfSymbol(getMergedSymbol(t)),r=n.localTypeParameters;if(r){const t=length(e.typeArguments),i=getMinTypeArgumentCount(r),o=isInJSFile(e);if(!(!A&&o)&&(t<i||t>r.length)){const t=o&&isExpressionWithTypeArguments(e)&&!isJSDocAugmentsTag(e.parent);if(error2(e,i===r.length?t?Ot.Expected_0_type_arguments_provide_these_with_an_extends_tag:Ot.Generic_type_0_requires_1_type_argument_s:t?Ot.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:Ot.Generic_type_0_requires_between_1_and_2_type_arguments,typeToString(n,void 0,2),i,r.length),!o)return Ie}if(184===e.kind&&isDeferredTypeReferenceNode(e,length(e.typeArguments)!==r.length))return createDeferredTypeReference(n,e,void 0);return createTypeReference(n,concatenate(n.outerTypeParameters,fillMissingTypeArguments(typeArgumentsFromTypeReferenceNode(e),r,i,o)))}return checkNoTypeArguments(e,t)?n:Ie}function getTypeAliasInstantiation(e,t,n,r){const i=getDeclaredTypeOfSymbol(e);if(i===we){const n=oa.get(e.escapedName);if(void 0!==n&&t&&1===t.length)return 4===n?getNoInferType(t[0]):getStringMappingType(e,t[0])}const o=getSymbolLinks(e),a=o.typeParameters,s=getTypeListId(t)+getAliasId(n,r);let c=o.instantiations.get(s);return c||o.instantiations.set(s,c=instantiateTypeWithAlias(i,createTypeMapper(a,fillMissingTypeArguments(t,a,getMinTypeArgumentCount(a),isInJSFile(e.valueDeclaration))),n,r)),c}function isLocalTypeAlias(e){var t;const n=null==(t=e.declarations)?void 0:t.find(isTypeAlias);return!(!n||!getContainingFunction(n))}function getSymbolPath(e){return e.parent?`${getSymbolPath(e.parent)}.${e.escapedName}`:e.escapedName}function getUnresolvedSymbolForEntityName(e){const t=(167===e.kind?e.right:212===e.kind?e.name:e).escapedText;if(t){const n=167===e.kind?getUnresolvedSymbolForEntityName(e.left):212===e.kind?getUnresolvedSymbolForEntityName(e.expression):void 0,r=n?`${getSymbolPath(n)}.${t}`:t;let i=Ce.get(r);return i||(Ce.set(r,i=createSymbol(524288,t,1048576)),i.parent=n,i.links.declaredType=Ae),i}return ve}function resolveTypeReferenceName(e,t,n){const r=function getTypeReferenceName(e){switch(e.kind){case 184:return e.typeName;case 234:const t=e.expression;if(isEntityNameExpression(t))return t}}(e);if(!r)return ve;const i=resolveEntityName(r,t,n);return i&&i!==ve?i:n?ve:getUnresolvedSymbolForEntityName(r)}function getTypeReferenceType(e,t){if(t===ve)return Ie;if(96&(t=function getExpandoSymbol(e){const t=e.valueDeclaration;if(!t||!isInJSFile(t)||524288&e.flags||getExpandoInitializer(t,!1))return;const n=isVariableDeclaration(t)?getDeclaredExpandoInitializer(t):getAssignedExpandoInitializer(t);if(n){const t=getSymbolOfNode(n);if(t)return mergeJSSymbols(t,e)}}(t)||t).flags)return getTypeFromClassOrInterfaceReference(e,t);if(524288&t.flags)return function getTypeFromTypeAliasReference(e,t){if(1048576&getCheckFlags(t)){const n=typeArgumentsFromTypeReferenceNode(e),r=getAliasId(t,n);let i=Ee.get(r);return i||(i=createIntrinsicType(1,"error",void 0,`alias ${r}`),i.aliasSymbol=t,i.aliasTypeArguments=n,Ee.set(r,i)),i}const n=getDeclaredTypeOfSymbol(t),r=getSymbolLinks(t).typeParameters;if(r){const n=length(e.typeArguments),i=getMinTypeArgumentCount(r);if(n<i||n>r.length)return error2(e,i===r.length?Ot.Generic_type_0_requires_1_type_argument_s:Ot.Generic_type_0_requires_between_1_and_2_type_arguments,symbolToString(t),i,r.length),Ie;const o=getAliasSymbolForTypeNode(e);let a,s=!o||!isLocalTypeAlias(t)&&isLocalTypeAlias(o)?void 0:o;if(s)a=getTypeArgumentsForAliasSymbol(s);else if(isTypeReferenceType(e)){const t=resolveTypeReferenceName(e,2097152,!0);if(t&&t!==ve){const n=resolveAlias(t);n&&524288&n.flags&&(s=n,a=typeArgumentsFromTypeReferenceNode(e)||(r?[]:void 0))}}return getTypeAliasInstantiation(t,typeArgumentsFromTypeReferenceNode(e),s,a)}return checkNoTypeArguments(e,t)?n:Ie}(e,t);const n=tryGetDeclaredTypeOfSymbol(t);if(n)return checkNoTypeArguments(e,t)?getRegularTypeOfLiteralType(n):Ie;if(111551&t.flags&&isJSDocTypeReference(e)){const n=function getTypeFromJSDocValueReference(e,t){const n=getNodeLinks(e);if(!n.resolvedJSDocType){const r=getTypeOfSymbol(t);let i=r;if(t.valueDeclaration){const n=206===e.kind&&e.qualifier;r.symbol&&r.symbol!==t&&n&&(i=getTypeReferenceType(e,r.symbol))}n.resolvedJSDocType=i}return n.resolvedJSDocType}(e,t);return n||(resolveTypeReferenceName(e,788968),getTypeOfSymbol(t))}return Ie}function getNoInferType(e){return isNoInferTargetType(e)?getOrCreateSubstitutionType(e,Le):e}function isNoInferTargetType(e){return!!(3145728&e.flags&&some(e.types,isNoInferTargetType)||33554432&e.flags&&!isNoInferType(e)&&isNoInferTargetType(e.baseType)||524288&e.flags&&!isEmptyAnonymousObjectType(e)||432275456&e.flags&&!isPatternLiteralType(e))}function isNoInferType(e){return!!(33554432&e.flags&&2&e.constraint.flags)}function getSubstitutionType(e,t){return 3&t.flags||t===e||1&e.flags?e:getOrCreateSubstitutionType(e,t)}function getOrCreateSubstitutionType(e,t){const n=`${getTypeId(e)}>${getTypeId(t)}`,r=fe.get(n);if(r)return r;const i=createType(33554432);return i.baseType=e,i.constraint=t,fe.set(n,i),i}function getSubstitutionIntersection(e){return isNoInferType(e)?e.baseType:getIntersectionType([e.constraint,e.baseType])}function isUnaryTupleTypeNode(e){return 190===e.kind&&1===e.elements.length}function getImpliedConstraint(e,t,n){return isUnaryTupleTypeNode(t)&&isUnaryTupleTypeNode(n)?getImpliedConstraint(e,t.elements[0],n.elements[0]):getActualTypeVariable(getTypeFromTypeNode(t))===getActualTypeVariable(e)?getTypeFromTypeNode(n):void 0}function isJSDocTypeReference(e){return!!(16777216&e.flags)&&(184===e.kind||206===e.kind)}function checkNoTypeArguments(e,t){return!e.typeArguments||(error2(e,Ot.Type_0_is_not_generic,t?symbolToString(t):e.typeName?declarationNameToString(e.typeName):$o),!1)}function getIntendedTypeFromJSDocTypeReference(e){if(isIdentifier(e.typeName)){const t=e.typeArguments;switch(e.typeName.escapedText){case"String":return checkNoTypeArguments(e),ze;case"Number":return checkNoTypeArguments(e),Ve;case"BigInt":return checkNoTypeArguments(e),qe;case"Boolean":return checkNoTypeArguments(e),Ye;case"Void":return checkNoTypeArguments(e),et;case"Undefined":return checkNoTypeArguments(e),Me;case"Null":return checkNoTypeArguments(e),We;case"Function":case"function":return checkNoTypeArguments(e),Wt;case"array":return t&&t.length||A?void 0:Xt;case"promise":return t&&t.length||A?void 0:createPromiseType(ke);case"Object":if(t&&2===t.length){if(isJSDocIndexSignature(e)){const e=getTypeFromTypeNode(t[0]),n=getTypeFromTypeNode(t[1]),r=e===ze||e===Ve?[createIndexInfo(e,n,!1)]:l;return createAnonymousType(void 0,y,l,l,r)}return ke}return checkNoTypeArguments(e),A?void 0:ke}}}function getTypeFromTypeReference(e){const t=getNodeLinks(e);if(!t.resolvedType){if(isConstTypeReference(e)&&isAssertionExpression(e.parent))return t.resolvedSymbol=ve,t.resolvedType=checkExpressionCached(e.parent.expression);let n,r;const i=788968;isJSDocTypeReference(e)&&(r=getIntendedTypeFromJSDocTypeReference(e),r||(n=resolveTypeReferenceName(e,i,!0),n===ve?n=resolveTypeReferenceName(e,111551|i):resolveTypeReferenceName(e,i),r=getTypeReferenceType(e,n))),r||(n=resolveTypeReferenceName(e,i),r=getTypeReferenceType(e,n)),t.resolvedSymbol=n,t.resolvedType=r}return t.resolvedType}function typeArgumentsFromTypeReferenceNode(e){return map(e.typeArguments,getTypeFromTypeNode)}function getTypeFromTypeQueryNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=checkExpressionWithTypeArguments(e);t.resolvedType=getRegularTypeOfLiteralType(getWidenedType(n))}return t.resolvedType}function getTypeOfGlobalSymbol(e,t){function getTypeDeclaration(e){const t=e.declarations;if(t)for(const e of t)switch(e.kind){case 264:case 265:case 267:return e}}if(!e)return t?Et:ht;const n=getDeclaredTypeOfSymbol(e);return 524288&n.flags?length(n.typeParameters)!==t?(error2(getTypeDeclaration(e),Ot.Global_type_0_must_have_1_type_parameter_s,symbolName(e),t),t?Et:ht):n:(error2(getTypeDeclaration(e),Ot.Global_type_0_must_be_a_class_or_interface_type,symbolName(e)),t?Et:ht)}function getGlobalValueSymbol(e,t){return getGlobalSymbol(e,111551,t?Ot.Cannot_find_global_value_0:void 0)}function getGlobalTypeSymbol(e,t){return getGlobalSymbol(e,788968,t?Ot.Cannot_find_global_type_0:void 0)}function getGlobalTypeAliasSymbol(e,t,n){const r=getGlobalSymbol(e,788968,n?Ot.Cannot_find_global_type_0:void 0);if(r&&(getDeclaredTypeOfSymbol(r),length(getSymbolLinks(r).typeParameters)!==t)){return void error2(r.declarations&&find(r.declarations,isTypeAliasDeclaration),Ot.Global_type_0_must_have_1_type_parameter_s,symbolName(r),t)}return r}function getGlobalSymbol(e,t,n){return te(void 0,e,t,n,!1,!1)}function getGlobalType(e,t,n){const r=getGlobalTypeSymbol(e,n);return r||n?getTypeOfGlobalSymbol(r,t):void 0}function getGlobalBuiltinTypes(e,t){let n;for(const r of e)n=append(n,getGlobalType(r,t,!1));return n??l}function getGlobalImportMetaType(){return Dn||(Dn=getGlobalType("ImportMeta",0,!0)||ht)}function getGlobalImportMetaExpressionType(){if(!In){const e=createSymbol(0,"ImportMetaExpression"),t=getGlobalImportMetaType(),n=createSymbol(4,"meta",8);n.parent=e,n.links.type=t;const r=createSymbolTable([n]);e.members=r,In=createAnonymousType(e,r,l,l,l)}return In}function getGlobalImportCallOptionsType(e){return An||(An=getGlobalType("ImportCallOptions",0,e))||ht}function getGlobalImportAttributesType(e){return On||(On=getGlobalType("ImportAttributes",0,e))||ht}function getGlobalESSymbolConstructorSymbol(e){return tn||(tn=getGlobalValueSymbol("Symbol",e))}function getGlobalESSymbolType(){return rn||(rn=getGlobalType("Symbol",0,!1))||ht}function getGlobalPromiseType(e){return dn||(dn=getGlobalType("Promise",1,e))||Et}function getGlobalPromiseLikeType(e){return pn||(pn=getGlobalType("PromiseLike",1,e))||Et}function getGlobalPromiseConstructorSymbol(e){return mn||(mn=getGlobalValueSymbol("Promise",e))}function getGlobalAsyncIterableType(e){return vn||(vn=getGlobalType("AsyncIterable",3,e))||Et}function getGlobalAsyncIterableIteratorType(e){return Cn||(Cn=getGlobalType("AsyncIterableIterator",3,e))||Et}function getGlobalIterableType(e){return fn||(fn=getGlobalType("Iterable",3,e))||Et}function getGlobalIterableIteratorType(e){return yn||(yn=getGlobalType("IterableIterator",3,e))||Et}function getBuiltinIteratorReturnType(){return I?Me:ke}function getGlobalDisposableType(e){return wn||(wn=getGlobalType("Disposable",0,e))||ht}function getGlobalTypeOrUndefined(e,t=0){const n=getGlobalSymbol(e,788968,void 0);return n&&getTypeOfGlobalSymbol(n,t)}function getGlobalAwaitedSymbol(e){return jn||(jn=getGlobalTypeAliasSymbol("Awaited",1,e)||(e?ve:void 0)),jn===ve?void 0:jn}function createTypeFromGenericGlobalType(e,t){return e!==Et?createTypeReference(e,t):ht}function createTypedPropertyDescriptorType(e){return createTypeFromGenericGlobalType(function getGlobalTypedPropertyDescriptorType(){return on||(on=getGlobalType("TypedPropertyDescriptor",1,!0)||Et)}(),[e])}function createIterableType(e){return createTypeFromGenericGlobalType(getGlobalIterableType(!0),[e,et,Me])}function createArrayType(e,t){return createTypeFromGenericGlobalType(t?qt:Vt,[e])}function getTupleElementFlags(e){switch(e.kind){case 191:return 2;case 192:return getRestTypeElementFlags(e);case 203:return e.questionToken?2:e.dotDotDotToken?getRestTypeElementFlags(e):1;default:return 1}}function getRestTypeElementFlags(e){return getArrayElementTypeNode(e.type)?4:8}function getArrayOrTupleTargetType(e){const t=function isReadonlyTypeOperator(e){return isTypeOperatorNode(e)&&148===e.operator}(e.parent);if(getArrayElementTypeNode(e))return t?qt:Vt;return getTupleTargetType(map(e.elements,getTupleElementFlags),t,map(e.elements,memberIfLabeledElementDeclaration))}function memberIfLabeledElementDeclaration(e){return isNamedTupleMember(e)||isParameter(e)?e:void 0}function isDeferredTypeReferenceNode(e,t){return!!getAliasSymbolForTypeNode(e)||isResolvedByTypeAlias(e)&&(189===e.kind?mayResolveTypeAlias(e.elementType):190===e.kind?some(e.elements,mayResolveTypeAlias):t||some(e.typeArguments,mayResolveTypeAlias))}function isResolvedByTypeAlias(e){const t=e.parent;switch(t.kind){case 197:case 203:case 184:case 193:case 194:case 200:case 195:case 199:case 189:case 190:return isResolvedByTypeAlias(t);case 266:return!0}return!1}function mayResolveTypeAlias(e){switch(e.kind){case 184:return isJSDocTypeReference(e)||!!(524288&resolveTypeReferenceName(e,788968).flags);case 187:return!0;case 199:return 158!==e.operator&&mayResolveTypeAlias(e.type);case 197:case 191:case 203:case 317:case 315:case 316:case 310:return mayResolveTypeAlias(e.type);case 192:return 189!==e.type.kind||mayResolveTypeAlias(e.type.elementType);case 193:case 194:return some(e.types,mayResolveTypeAlias);case 200:return mayResolveTypeAlias(e.objectType)||mayResolveTypeAlias(e.indexType);case 195:return mayResolveTypeAlias(e.checkType)||mayResolveTypeAlias(e.extendsType)||mayResolveTypeAlias(e.trueType)||mayResolveTypeAlias(e.falseType)}return!1}function createTupleType(e,t,n=!1,r=[]){const i=getTupleTargetType(t||map(e,e=>1),n,r);return i===Et?ht:e.length?createNormalizedTypeReference(i,e):i}function getTupleTargetType(e,t,n){if(1===e.length&&4&e[0])return t?qt:Vt;const r=map(e,e=>1&e?"#":2&e?"?":4&e?".":"*").join()+(t?"R":"")+(some(n,e=>!!e)?","+map(n,e=>e?getNodeId(e):"_").join(","):"");let i=ie.get(r);return i||ie.set(r,i=function createTupleTargetType(e,t,n){const r=e.length,i=countWhere(e,e=>!!(9&e));let o;const a=[];let s=0;if(r){o=new Array(r);for(let i=0;i<r;i++){const r=o[i]=createTypeParameter(),c=e[i];if(s|=c,!(12&s)){const e=createSymbol(4|(2&c?16777216:0),""+i,t?8:0);e.links.tupleLabelDeclaration=null==n?void 0:n[i],e.links.type=r,a.push(e)}}}const c=a.length,d=createSymbol(4,"length",t?8:0);if(12&s)d.links.type=Ve;else{const e=[];for(let t=i;t<=r;t++)e.push(getNumberLiteralType(t));d.links.type=getUnionType(e)}a.push(d);const p=createObjectType(12);return p.typeParameters=o,p.outerTypeParameters=void 0,p.localTypeParameters=o,p.instantiations=new Map,p.instantiations.set(getTypeListId(p.typeParameters),p),p.target=p,p.resolvedTypeArguments=p.typeParameters,p.thisType=createTypeParameter(),p.thisType.isThisType=!0,p.thisType.constraint=p,p.declaredProperties=a,p.declaredCallSignatures=l,p.declaredConstructSignatures=l,p.declaredIndexInfos=l,p.elementFlags=e,p.minLength=i,p.fixedLength=c,p.hasRestElement=!!(12&s),p.combinedFlags=s,p.readonly=t,p.labeledElementDeclarations=n,p}(e,t,n)),i}function createNormalizedTypeReference(e,t){return 8&e.objectFlags?createNormalizedTupleType(e,t):createTypeReference(e,t)}function createNormalizedTupleType(e,t){var n,i,o,a;if(!(14&e.combinedFlags))return createTypeReference(e,t);if(8&e.combinedFlags){const n=findIndex(t,(t,n)=>!!(8&e.elementFlags[n]&&1179648&t.flags));if(n>=0)return checkCrossProductUnion(map(t,(t,n)=>8&e.elementFlags[n]?t:Le))?mapType(t[n],r=>createNormalizedTupleType(e,replaceElement(t,n,r))):Ie}const s=[],c=[],l=[];let d=-1,p=-1,u=-1;for(let c=0;c<t.length;c++){const l=t[c],d=e.elementFlags[c];if(8&d)if(1&l.flags)addElement(l,4,null==(n=e.labeledElementDeclarations)?void 0:n[c]);else if(58982400&l.flags||isGenericMappedType(l))addElement(l,8,null==(i=e.labeledElementDeclarations)?void 0:i[c]);else if(isTupleType(l)){const e=getElementTypes(l);if(e.length+s.length>=1e4)return error2(r,isPartOfTypeNode(r)?Ot.Type_produces_a_tuple_type_that_is_too_large_to_represent:Ot.Expression_produces_a_tuple_type_that_is_too_large_to_represent),Ie;forEach(e,(e,t)=>{var n;return addElement(e,l.target.elementFlags[t],null==(n=l.target.labeledElementDeclarations)?void 0:n[t])})}else addElement(isArrayLikeType(l)&&getIndexTypeOfType(l,Ve)||Ie,4,null==(o=e.labeledElementDeclarations)?void 0:o[c]);else addElement(l,d,null==(a=e.labeledElementDeclarations)?void 0:a[c])}for(let e=0;e<d;e++)2&c[e]&&(c[e]=1);p>=0&&p<u&&(s[p]=getUnionType(sameMap(s.slice(p,u+1),(e,t)=>8&c[p+t]?getIndexedAccessType(e,Ve):e)),s.splice(p+1,u-p),c.splice(p+1,u-p),l.splice(p+1,u-p));const m=getTupleTargetType(c,e.readonly,l);return m===Et?ht:c.length?createTypeReference(m,s):m;function addElement(e,t,n){1&t&&(d=c.length),4&t&&p<0&&(p=c.length),6&t&&(u=c.length),s.push(2&t?addOptionality(e,!0):e),c.push(t),l.push(n)}}function sliceTupleType(e,t,n=0){const r=e.target,i=getTypeReferenceArity(e)-n;return t>r.fixedLength?function getRestArrayTypeOfTupleType(e){const t=getRestTypeOfTupleType(e);return t&&createArrayType(t)}(e)||createTupleType(l):createTupleType(getTypeArguments(e).slice(t,i),r.elementFlags.slice(t,i),!1,r.labeledElementDeclarations&&r.labeledElementDeclarations.slice(t,i))}function getKnownKeysOfTupleType(e){return getUnionType(append(arrayOf(e.target.fixedLength,e=>getStringLiteralType(""+e)),getIndexType(e.target.readonly?qt:Vt)))}function getEndElementCount(e,t){return e.elementFlags.length-findLastIndex(e.elementFlags,e=>!(e&t))-1}function getTotalFixedElementCount(e){return e.fixedLength+getEndElementCount(e,3)}function getElementTypes(e){const t=getTypeArguments(e),n=getTypeReferenceArity(e);return t.length===n?t:t.slice(0,n)}function getTypeId(e){return e.id}function containsType(e,t){return binarySearch(e,t,getTypeId,compareValues)>=0}function insertType(e,t){const n=binarySearch(e,t,getTypeId,compareValues);return n<0&&(e.splice(~n,0,t),!0)}function addTypeToUnion(e,t,n){const r=n.flags;if(!(131072&r))if(t|=473694207&r,465829888&r&&(t|=33554432),2097152&r&&67108864&getObjectFlags(n)&&(t|=536870912),n===Pe&&(t|=8388608),isErrorType(n)&&(t|=1073741824),!k&&98304&r)65536&getObjectFlags(n)||(t|=4194304);else{const t=e.length,r=t&&n.id>e[t-1].id?~t:binarySearch(e,n,getTypeId,compareValues);r<0&&e.splice(~r,0,n)}return t}function addTypesToUnion(e,t,n){let r;for(const i of n)i!==r&&(t=1048576&i.flags?addTypesToUnion(e,t|(isNamedUnionType(i)?1048576:0),i.types):addTypeToUnion(e,t,i),r=i);return t}function isTypeMatchedByTemplateLiteralOrStringMapping(e,t){return 134217728&t.flags?isTypeMatchedByTemplateLiteralType(e,t):isMemberOfStringMapping(e,t)}function isNamedUnionType(e){return!!(1048576&e.flags&&(e.aliasSymbol||e.origin))}function addNamedUnions(e,t){for(const n of t)if(1048576&n.flags){const t=n.origin;n.aliasSymbol||t&&!(1048576&t.flags)?pushIfUnique(e,n):t&&1048576&t.flags&&addNamedUnions(e,t.types)}}function createOriginUnionOrIntersectionType(e,t){const n=createOriginType(e);return n.types=t,n}function getUnionType(e,t=1,n,r,i){if(0===e.length)return tt;if(1===e.length)return e[0];if(2===e.length&&!i&&(1048576&e[0].flags||1048576&e[1].flags)){const i=0===t?"N":2===t?"S":"L",o=e[0].id<e[1].id?0:1,a=e[o].id+i+e[1-o].id+getAliasId(n,r);let s=ae.get(a);return s||(s=getUnionTypeWorker(e,t,n,r,void 0),ae.set(a,s)),s}return getUnionTypeWorker(e,t,n,r,i)}function getUnionTypeWorker(e,t,n,i,o){let a=[];const s=addTypesToUnion(a,0,e);if(0!==t){if(3&s)return 1&s?8388608&s?Pe:1073741824&s?Ie:ke:Le;if(32768&s&&a.length>=2&&a[0]===Me&&a[1]===Be&&orderedRemoveItemAt(a,1),(402664352&s||16384&s&&32768&s)&&function removeRedundantLiteralTypes(e,t,n){let r=e.length;for(;r>0;){r--;const i=e[r],o=i.flags;(402653312&o&&4&t||256&o&&8&t||2048&o&&64&t||8192&o&&4096&t||n&&32768&o&&16384&t||isFreshLiteralType(i)&&containsType(e,i.regularType))&&orderedRemoveItemAt(e,r)}}(a,s,!!(2&t)),128&s&&402653184&s&&function removeStringLiteralsMatchedByTemplateLiterals(e){const t=filter(e,isPatternLiteralType);if(t.length){let n=e.length;for(;n>0;){n--;const r=e[n];128&r.flags&&some(t,e=>isTypeMatchedByTemplateLiteralOrStringMapping(r,e))&&orderedRemoveItemAt(e,n)}}}(a),536870912&s&&function removeConstrainedTypeVariables(e){const t=[];for(const n of e)if(2097152&n.flags&&67108864&getObjectFlags(n)){const e=8650752&n.types[0].flags?0:1;pushIfUnique(t,n.types[e])}for(const n of t){const t=[];for(const r of e)if(2097152&r.flags&&67108864&getObjectFlags(r)){const e=8650752&r.types[0].flags?0:1;r.types[e]===n&&insertType(t,r.types[1-e])}if(everyType(getBaseConstraintOfType(n),e=>containsType(t,e))){let r=e.length;for(;r>0;){r--;const i=e[r];if(2097152&i.flags&&67108864&getObjectFlags(i)){const o=8650752&i.types[0].flags?0:1;i.types[o]===n&&containsType(t,i.types[1-o])&&orderedRemoveItemAt(e,r)}}insertType(e,n)}}}(a),2===t&&(a=function removeSubtypes(e,t){var n;if(e.length<2)return e;const i=getTypeListId(e),o=ge.get(i);if(o)return o;const a=t&&some(e,e=>!!(524288&e.flags)&&!isGenericMappedType(e)&&isEmptyResolvedType(resolveStructuredTypeMembers(e))),s=e.length;let c=s,l=0;for(;c>0;){c--;const t=e[c];if(a||469499904&t.flags){if(262144&t.flags&&1048576&getBaseConstraintOrType(t).flags){isTypeRelatedTo(t,getUnionType(map(e,e=>e===t?tt:e)),Ni)&&orderedRemoveItemAt(e,c);continue}const i=61603840&t.flags?find(getPropertiesOfType(t),e=>isUnitType(getTypeOfSymbol(e))):void 0,o=i&&getRegularTypeOfLiteralType(getTypeOfSymbol(i));for(const a of e)if(t!==a){if(1e5===l&&l/(s-c)*s>1e6)return null==(n=J)||n.instant(J.Phase.CheckTypes,"removeSubtypes_DepthLimit",{typeIds:e.map(e=>e.id)}),void error2(r,Ot.Expression_produces_a_union_type_that_is_too_complex_to_represent);if(l++,i&&61603840&a.flags){const e=getTypeOfPropertyOfType(a,i.escapedName);if(e&&isUnitType(e)&&getRegularTypeOfLiteralType(e)!==o)continue}if(isTypeRelatedTo(t,a,Ni)&&(!(1&getObjectFlags(getTargetType(t)))||!(1&getObjectFlags(getTargetType(a)))||isTypeDerivedFrom(t,a))){orderedRemoveItemAt(e,c);break}}}}return ge.set(i,e),e}(a,!!(524288&s)),!a))return Ie;if(0===a.length)return 65536&s?4194304&s?We:Ue:32768&s?4194304&s?Me:Re:tt}if(!o&&1048576&s){const t=[];addNamedUnions(t,e);const r=[];for(const e of a)some(t,t=>containsType(t.types,e))||r.push(e);if(!n&&1===t.length&&0===r.length)return t[0];if(reduceLeft(t,(e,t)=>e+t.types.length,0)+r.length===a.length){for(const e of t)insertType(r,e);o=createOriginUnionOrIntersectionType(1048576,r)}}return getUnionTypeFromSortedList(a,(36323331&s?0:32768)|(2097152&s?16777216:0),n,i,o)}function typePredicateKindsMatch(e,t){return e.kind===t.kind&&e.parameterIndex===t.parameterIndex}function getUnionTypeFromSortedList(e,t,n,r,i){if(0===e.length)return tt;if(1===e.length)return e[0];const o=(i?1048576&i.flags?`|${getTypeListId(i.types)}`:2097152&i.flags?`&${getTypeListId(i.types)}`:`#${i.type.id}|${getTypeListId(e)}`:getTypeListId(e))+getAliasId(n,r);let a=oe.get(o);return a||(a=createType(1048576),a.objectFlags=t|getPropagatingFlagsOfTypes(e,98304),a.types=e,a.origin=i,a.aliasSymbol=n,a.aliasTypeArguments=r,2===e.length&&512&e[0].flags&&512&e[1].flags&&(a.flags|=16,a.intrinsicName="boolean"),oe.set(o,a)),a}function addTypeToIntersection(e,t,n){const r=n.flags;return 2097152&r?addTypesToIntersection(e,t,n.types):(isEmptyAnonymousObjectType(n)?16777216&t||(t|=16777216,e.set(n.id.toString(),n)):(3&r?(n===Pe&&(t|=8388608),isErrorType(n)&&(t|=1073741824)):!k&&98304&r||(n===Be&&(t|=262144,n=Me),e.has(n.id.toString())||(109472&n.flags&&109472&t&&(t|=67108864),e.set(n.id.toString(),n))),t|=473694207&r),t)}function addTypesToIntersection(e,t,n){for(const r of n)t=addTypeToIntersection(e,t,getRegularTypeOfLiteralType(r));return t}function eachUnionContains(e,t){for(const n of e)if(!containsType(n.types,t)){if(t===Be)return containsType(n.types,Me);if(t===Me)return containsType(n.types,Be);const e=128&t.flags?ze:288&t.flags?Ve:2048&t.flags?qe:8192&t.flags?Ze:void 0;if(!e||!containsType(n.types,e))return!1}return!0}function removeFromEach(e,t){for(let n=0;n<e.length;n++)e[n]=filterType(e[n],e=>!(e.flags&t))}function getIntersectionType(e,t=0,n,r){const i=new Map,o=addTypesToIntersection(i,0,e),a=arrayFrom(i.values());let s=0;if(131072&o)return contains(a,nt)?nt:tt;if(k&&98304&o&&84410368&o||67108864&o&&402783228&o||402653316&o&&67238776&o||296&o&&469891796&o||2112&o&&469889980&o||12288&o&&469879804&o||49152&o&&469842940&o)return tt;if(402653184&o&&128&o&&function extractRedundantTemplateLiterals(e){let t=e.length;const n=filter(e,e=>!!(128&e.flags));for(;t>0;){t--;const r=e[t];if(402653184&r.flags)for(const i of n){if(isTypeSubtypeOf(i,r)){orderedRemoveItemAt(e,t);break}if(isPatternLiteralType(r))return!0}}return!1}(a))return tt;if(1&o)return 8388608&o?Pe:1073741824&o?Ie:ke;if(!k&&98304&o)return 16777216&o?tt:32768&o?Me:We;if((4&o&&402653312&o||8&o&&256&o||64&o&&2048&o||4096&o&&8192&o||16384&o&&32768&o||16777216&o&&470302716&o)&&(1&t||function removeRedundantSupertypes(e,t){let n=e.length;for(;n>0;){n--;const r=e[n];(4&r.flags&&402653312&t||8&r.flags&&256&t||64&r.flags&&2048&t||4096&r.flags&&8192&t||16384&r.flags&&32768&t||isEmptyAnonymousObjectType(r)&&470302716&t)&&orderedRemoveItemAt(e,n)}}(a,o)),262144&o&&(a[a.indexOf(Me)]=Be),0===a.length)return Le;if(1===a.length)return a[0];if(2===a.length&&!(2&t)){const e=8650752&a[0].flags?0:1,t=a[e],n=a[1-e];if(8650752&t.flags&&(469893116&n.flags&&!isGenericStringLikeType(n)||16777216&o)){const e=getBaseConstraintOfType(t);if(e&&everyType(e,e=>!!(469893116&e.flags)||isEmptyAnonymousObjectType(e))){if(isTypeStrictSubtypeOf(e,n))return t;if(!(1048576&e.flags&&someType(e,e=>isTypeStrictSubtypeOf(e,n))||isTypeStrictSubtypeOf(n,e)))return tt;s=67108864}}}const c=getTypeListId(a)+(2&t?"*":getAliasId(n,r));let l=se.get(c);if(!l){if(1048576&o)if(function intersectUnionsOfPrimitiveTypes(e){let t;const n=findIndex(e,e=>!!(32768&getObjectFlags(e)));if(n<0)return!1;let r=n+1;for(;r<e.length;){const i=e[r];32768&getObjectFlags(i)?((t||(t=[e[n]])).push(i),orderedRemoveItemAt(e,r)):r++}if(!t)return!1;const i=[],o=[];for(const e of t)for(const n of e.types)if(insertType(i,n)&&eachUnionContains(t,n)){if(n===Me&&o.length&&o[0]===Be)continue;if(n===Be&&o.length&&o[0]===Me){o[0]=Be;continue}insertType(o,n)}return e[n]=getUnionTypeFromSortedList(o,32768),!0}(a))l=getIntersectionType(a,t,n,r);else if(every(a,e=>!!(1048576&e.flags&&32768&e.types[0].flags))){const e=some(a,containsMissingType)?Be:Me;removeFromEach(a,32768),l=getUnionType([getIntersectionType(a,t),e],1,n,r)}else if(every(a,e=>!!(1048576&e.flags&&(65536&e.types[0].flags||65536&e.types[1].flags))))removeFromEach(a,65536),l=getUnionType([getIntersectionType(a,t),We],1,n,r);else if(a.length>=3&&e.length>2){const e=Math.floor(a.length/2);l=getIntersectionType([getIntersectionType(a.slice(0,e),t),getIntersectionType(a.slice(e),t)],t,n,r)}else{if(!checkCrossProductUnion(a))return Ie;const e=function getCrossProductIntersections(e,t){const n=getCrossProductUnionSize(e),r=[];for(let i=0;i<n;i++){const n=e.slice();let o=i;for(let t=e.length-1;t>=0;t--)if(1048576&e[t].flags){const r=e[t].types,i=r.length;n[t]=r[o%i],o=Math.floor(o/i)}const a=getIntersectionType(n,t);131072&a.flags||r.push(a)}return r}(a,t);l=getUnionType(e,1,n,r,some(e,e=>!!(2097152&e.flags))&&getConstituentCountOfTypes(e)>getConstituentCountOfTypes(a)?createOriginUnionOrIntersectionType(2097152,a):void 0)}else l=function createIntersectionType(e,t,n,r){const i=createType(2097152);return i.objectFlags=t|getPropagatingFlagsOfTypes(e,98304),i.types=e,i.aliasSymbol=n,i.aliasTypeArguments=r,i}(a,s,n,r);se.set(c,l)}return l}function getCrossProductUnionSize(e){return reduceLeft(e,(e,t)=>1048576&t.flags?e*t.types.length:131072&t.flags?0:e,1)}function checkCrossProductUnion(e){var t;const n=getCrossProductUnionSize(e);return!(n>=1e5)||(null==(t=J)||t.instant(J.Phase.CheckTypes,"checkCrossProductUnion_DepthLimit",{typeIds:e.map(e=>e.id),size:n}),error2(r,Ot.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1)}function getConstituentCount(e){return 3145728&e.flags&&!e.aliasSymbol?1048576&e.flags&&e.origin?getConstituentCount(e.origin):getConstituentCountOfTypes(e.types):1}function getConstituentCountOfTypes(e){return reduceLeft(e,(e,t)=>e+getConstituentCount(t),0)}function createIndexType(e,t){const n=createType(4194304);return n.type=e,n.indexFlags=t,n}function getIndexTypeForGenericType(e,t){return 1&t?e.resolvedStringIndexType||(e.resolvedStringIndexType=createIndexType(e,1)):e.resolvedIndexType||(e.resolvedIndexType=createIndexType(e,0))}function getIndexTypeForMappedType(e,t){const n=getTypeParameterFromMappedType(e),r=getConstraintTypeFromMappedType(e),i=getNameTypeFromMappedType(e.target||e);if(!(i||2&t))return r;const o=[];if(isGenericIndexType(r)){if(isMappedTypeWithKeyofConstraintDeclaration(e))return getIndexTypeForGenericType(e,t);forEachType(r,addMemberForKeyType)}else if(isMappedTypeWithKeyofConstraintDeclaration(e)){forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(getApparentType(getModifiersTypeFromMappedType(e)),8576,!!(1&t),addMemberForKeyType)}else forEachType(getLowerBoundOfKeyType(r),addMemberForKeyType);const a=2&t?filterType(getUnionType(o),e=>!(5&e.flags)):getUnionType(o);return 1048576&a.flags&&1048576&r.flags&&getTypeListId(a.types)===getTypeListId(r.types)?r:a;function addMemberForKeyType(t){const r=i?instantiateType(i,appendTypeMapping(e.mapper,n,t)):t;o.push(r===ze?at:r)}}function getLiteralTypeFromPropertyName(e){if(isPrivateIdentifier(e))return tt;if(isNumericLiteral(e))return getRegularTypeOfLiteralType(checkExpression(e));if(isComputedPropertyName(e))return getRegularTypeOfLiteralType(checkComputedPropertyName(e));const t=getPropertyNameForPropertyNameNode(e);return void 0!==t?getStringLiteralType(unescapeLeadingUnderscores(t)):isExpression(e)?getRegularTypeOfLiteralType(checkExpression(e)):tt}function getLiteralTypeFromProperty(e,t,n){if(n||!(6&getDeclarationModifierFlagsFromSymbol(e))){let n=getSymbolLinks(getLateBoundSymbol(e)).nameType;if(!n){const t=getNameOfDeclaration(e.valueDeclaration);n="default"===e.escapedName?getStringLiteralType("default"):t&&getLiteralTypeFromPropertyName(t)||(isKnownSymbol(e)?void 0:getStringLiteralType(symbolName(e)))}if(n&&n.flags&t)return n}return tt}function isKeyTypeIncluded(e,t){return!!(e.flags&t||2097152&e.flags&&some(e.types,e=>isKeyTypeIncluded(e,t)))}function getLiteralTypeFromProperties(e,t,n){const r=n&&(7&getObjectFlags(e)||e.aliasSymbol)?function createOriginIndexType(e){const t=createOriginType(4194304);return t.type=e,t}(e):void 0;return getUnionType(concatenate(map(getPropertiesOfType(e),e=>getLiteralTypeFromProperty(e,t)),map(getIndexInfosOfType(e),e=>e!==hr&&isKeyTypeIncluded(e.keyType,t)?e.keyType===ze&&8&t?at:e.keyType:tt)),1,void 0,void 0,r)}function shouldDeferIndexType(e,t=0){return!!(58982400&e.flags||isGenericTupleType(e)||isGenericMappedType(e)&&(!function hasDistributiveNameType(e){const t=getTypeParameterFromMappedType(e);return function isDistributive(e){return!!(470810623&e.flags)||(16777216&e.flags?e.root.isDistributive&&e.checkType===t:137363456&e.flags?every(e.types,isDistributive):8388608&e.flags?isDistributive(e.objectType)&&isDistributive(e.indexType):33554432&e.flags?isDistributive(e.baseType)&&isDistributive(e.constraint):!!(268435456&e.flags)&&isDistributive(e.type))}(getNameTypeFromMappedType(e)||t)}(e)||2===getMappedTypeNameTypeKind(e))||1048576&e.flags&&!(4&t)&&isGenericReducibleType(e)||2097152&e.flags&&maybeTypeOfKind(e,465829888)&&some(e.types,isEmptyAnonymousObjectType))}function getIndexType(e,t=0){return isNoInferType(e=getReducedType(e))?getNoInferType(getIndexType(e.baseType,t)):shouldDeferIndexType(e,t)?getIndexTypeForGenericType(e,t):1048576&e.flags?getIntersectionType(map(e.types,e=>getIndexType(e,t))):2097152&e.flags?getUnionType(map(e.types,e=>getIndexType(e,t))):32&getObjectFlags(e)?getIndexTypeForMappedType(e,t):e===Pe?Pe:2&e.flags?tt:131073&e.flags?st:getLiteralTypeFromProperties(e,(2&t?128:402653316)|(1&t?0:12584),0===t)}function getExtractStringType(e){const t=function getGlobalExtractSymbol(){return Mn||(Mn=getGlobalTypeAliasSymbol("Extract",2,!0)||ve),Mn===ve?void 0:Mn}();return t?getTypeAliasInstantiation(t,[e,ze]):ze}function getTemplateLiteralType(e,t){const n=findIndex(t,e=>!!(1179648&e.flags));if(n>=0)return checkCrossProductUnion(t)?mapType(t[n],r=>getTemplateLiteralType(e,replaceElement(t,n,r))):Ie;if(contains(t,Pe))return Pe;const r=[],i=[];let o=e[0];if(!function addSpans(e,t){for(let n=0;n<t.length;n++){const a=t[n];if(101248&a.flags)o+=getTemplateStringForType(a)||"",o+=e[n+1];else if(134217728&a.flags){if(o+=a.texts[0],!addSpans(a.texts,a.types))return!1;o+=e[n+1]}else{if(!isGenericIndexType(a)&&!isPatternLiteralPlaceholderType(a))return!1;r.push(a),i.push(o),o=e[n+1]}}return!0}(e,t))return ze;if(0===r.length)return getStringLiteralType(o);if(i.push(o),every(i,e=>""===e)){if(every(r,e=>!!(4&e.flags)))return ze;if(1===r.length&&isPatternLiteralType(r[0]))return r[0]}const a=`${getTypeListId(r)}|${map(i,e=>e.length).join(",")}|${i.join("")}`;let s=me.get(a);return s||me.set(a,s=function createTemplateLiteralType(e,t){const n=createType(134217728);return n.texts=e,n.types=t,n}(i,r)),s}function getTemplateStringForType(e){return 128&e.flags?e.value:256&e.flags?""+e.value:2048&e.flags?pseudoBigIntToString(e.value):98816&e.flags?e.intrinsicName:void 0}function getStringMappingType(e,t){return 1179648&t.flags?mapType(t,t=>getStringMappingType(e,t)):128&t.flags?getStringLiteralType(applyStringMapping(e,t.value)):134217728&t.flags?getTemplateLiteralType(...function applyTemplateStringMapping(e,t,n){switch(oa.get(e.escapedName)){case 0:return[t.map(e=>e.toUpperCase()),n.map(t=>getStringMappingType(e,t))];case 1:return[t.map(e=>e.toLowerCase()),n.map(t=>getStringMappingType(e,t))];case 2:return[""===t[0]?t:[t[0].charAt(0).toUpperCase()+t[0].slice(1),...t.slice(1)],""===t[0]?[getStringMappingType(e,n[0]),...n.slice(1)]:n];case 3:return[""===t[0]?t:[t[0].charAt(0).toLowerCase()+t[0].slice(1),...t.slice(1)],""===t[0]?[getStringMappingType(e,n[0]),...n.slice(1)]:n]}return[t,n]}(e,t.texts,t.types)):268435456&t.flags&&e===t.symbol?t:268435461&t.flags||isGenericIndexType(t)?getStringMappingTypeForGenericType(e,t):isPatternLiteralPlaceholderType(t)?getStringMappingTypeForGenericType(e,getTemplateLiteralType(["",""],[t])):t}function applyStringMapping(e,t){switch(oa.get(e.escapedName)){case 0:return t.toUpperCase();case 1:return t.toLowerCase();case 2:return t.charAt(0).toUpperCase()+t.slice(1);case 3:return t.charAt(0).toLowerCase()+t.slice(1)}return t}function getStringMappingTypeForGenericType(e,t){const n=`${getSymbolId(e)},${getTypeId(t)}`;let r=_e.get(n);return r||_e.set(n,r=function createStringMappingType(e,t){const n=createTypeWithSymbol(268435456,e);return n.type=t,n}(e,t)),r}function isJSLiteralType(e){if(A)return!1;if(4096&getObjectFlags(e))return!0;if(1048576&e.flags)return every(e.types,isJSLiteralType);if(2097152&e.flags)return some(e.types,isJSLiteralType);if(465829888&e.flags){const t=getResolvedBaseConstraint(e);return t!==e&&isJSLiteralType(t)}return!1}function getPropertyNameFromIndex(e,t){return isTypeUsableAsPropertyName(e)?getPropertyNameFromType(e):t&&isPropertyName(t)?getPropertyNameForPropertyNameNode(t):void 0}function isUncalledFunctionReference(e,t){if(8208&t.flags){const n=findAncestor(e.parent,e=>!isAccessExpression(e))||e.parent;return isCallLikeExpression(n)?isCallOrNewExpression(n)&&isIdentifier(e)&&hasMatchingArgument(n,e):every(t.declarations,e=>!isFunctionLike(e)||isDeprecatedDeclaration2(e))}return!0}function getPropertyTypeForIndexType(e,t,n,r,i,o){const a=i&&213===i.kind?i:void 0,s=i&&isPrivateIdentifier(i)?void 0:getPropertyNameFromIndex(n,i);if(void 0!==s){if(256&o)return getTypeOfPropertyOfContextualType(t,s)||ke;const e=getPropertyOfType(t,s);if(e){if(64&o&&i&&e.declarations&&isDeprecatedSymbol(e)&&isUncalledFunctionReference(i,e)){addDeprecatedSuggestion((null==a?void 0:a.argumentExpression)??(isIndexedAccessTypeNode(i)?i.indexType:i),e.declarations,s)}if(a){if(markPropertyAsReferenced(e,a,isSelfTypeAccess(a.expression,t.symbol)),isAssignmentToReadonlyEntity(a,e,getAssignmentTargetKind(a)))return void error2(a.argumentExpression,Ot.Cannot_assign_to_0_because_it_is_a_read_only_property,symbolToString(e));if(8&o&&(getNodeLinks(i).resolvedSymbol=e),isThisPropertyAccessInConstructor(a,e))return Fe}const n=4&o?getWriteTypeOfSymbol(e):getTypeOfSymbol(e);return a&&1!==getAssignmentTargetKind(a)?getFlowTypeOfReference(a,n):i&&isIndexedAccessTypeNode(i)&&containsMissingType(n)?getUnionType([n,Me]):n}if(everyType(t,isTupleType)&&isNumericLiteralName(s)){const e=+s;if(i&&everyType(t,e=>!(12&e.target.combinedFlags))&&!(16&o)){const n=getIndexNodeForAccessExpression(i);if(isTupleType(t)){if(e<0)return error2(n,Ot.A_tuple_type_cannot_be_indexed_with_a_negative_value),Me;error2(n,Ot.Tuple_type_0_of_length_1_has_no_element_at_index_2,typeToString(t),getTypeReferenceArity(t),unescapeLeadingUnderscores(s))}else error2(n,Ot.Property_0_does_not_exist_on_type_1,unescapeLeadingUnderscores(s),typeToString(t))}if(e>=0)return errorIfWritingToReadonlyIndex(getIndexInfoOfType(t,Ve)),getTupleElementTypeOutOfStartCount(t,e,1&o?Be:void 0)}}if(!(98304&n.flags)&&isTypeAssignableToKind(n,402665900)){if(131073&t.flags)return t;const c=getApplicableIndexInfo(t,n)||getIndexInfoOfType(t,ze);if(c){if(2&o&&c.keyType!==Ve)return void(a&&(4&o?error2(a,Ot.Type_0_is_generic_and_can_only_be_indexed_for_reading,typeToString(e)):error2(a,Ot.Type_0_cannot_be_used_to_index_type_1,typeToString(n),typeToString(e))));if(i&&c.keyType===ze&&!isTypeAssignableToKind(n,12)){return error2(getIndexNodeForAccessExpression(i),Ot.Type_0_cannot_be_used_as_an_index_type,typeToString(n)),1&o?getUnionType([c.type,Be]):c.type}return errorIfWritingToReadonlyIndex(c),1&o&&!(t.symbol&&384&t.symbol.flags&&n.symbol&&1024&n.flags&&getParentOfSymbol(n.symbol)===t.symbol)?getUnionType([c.type,Be]):c.type}if(131072&n.flags)return tt;if(isJSLiteralType(t))return ke;if(a&&!isConstEnumObjectType(t)){if(isObjectLiteralType2(t)){if(A&&384&n.flags)return vi.add(createDiagnosticForNode(a,Ot.Property_0_does_not_exist_on_type_1,n.value,typeToString(t))),Me;if(12&n.flags){return getUnionType(append(map(t.properties,e=>getTypeOfSymbol(e)),Me))}}if(t.symbol===q&&void 0!==s&&q.exports.has(s)&&418&q.exports.get(s).flags)error2(a,Ot.Property_0_does_not_exist_on_type_1,unescapeLeadingUnderscores(s),typeToString(t));else if(A&&!(128&o))if(void 0!==s&&typeHasStaticProperty(s,t)){const e=typeToString(t);error2(a,Ot.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,s,e,e+"["+getTextOfNode(a.argumentExpression)+"]")}else if(getIndexTypeOfType(t,Ve))error2(a.argumentExpression,Ot.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{let e;if(void 0!==s&&(e=getSuggestionForNonexistentProperty(s,t)))void 0!==e&&error2(a.argumentExpression,Ot.Property_0_does_not_exist_on_type_1_Did_you_mean_2,s,typeToString(t),e);else{const e=function getSuggestionForNonexistentIndexSignature(e,t,n){function hasProp(t){const r=getPropertyOfObjectType(e,t);if(r){const e=getSingleCallSignature(getTypeOfSymbol(r));return!!e&&getMinArgumentCount(e)>=1&&isTypeAssignableTo(n,getTypeAtPosition(e,0))}return!1}const r=isAssignmentTarget(t)?"set":"get";if(!hasProp(r))return;let i=tryGetPropertyAccessOrIdentifierToString(t.expression);void 0===i?i=r:i+="."+r;return i}(t,a,n);if(void 0!==e)error2(a,Ot.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,typeToString(t),e);else{let e;if(1024&n.flags)e=chainDiagnosticMessages(void 0,Ot.Property_0_does_not_exist_on_type_1,"["+typeToString(n)+"]",typeToString(t));else if(8192&n.flags){const r=getFullyQualifiedName(n.symbol,a);e=chainDiagnosticMessages(void 0,Ot.Property_0_does_not_exist_on_type_1,"["+r+"]",typeToString(t))}else 128&n.flags||256&n.flags?e=chainDiagnosticMessages(void 0,Ot.Property_0_does_not_exist_on_type_1,n.value,typeToString(t)):12&n.flags&&(e=chainDiagnosticMessages(void 0,Ot.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,typeToString(n),typeToString(t)));e=chainDiagnosticMessages(e,Ot.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,typeToString(r),typeToString(t)),vi.add(createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(a),a,e))}}}return}}if(16&o&&isObjectLiteralType2(t))return Me;if(isJSLiteralType(t))return ke;if(i){const e=getIndexNodeForAccessExpression(i);if(10!==e.kind&&384&n.flags)error2(e,Ot.Property_0_does_not_exist_on_type_1,""+n.value,typeToString(t));else if(12&n.flags)error2(e,Ot.Type_0_has_no_matching_index_signature_for_type_1,typeToString(t),typeToString(n));else{const t=10===e.kind?"bigint":typeToString(n);error2(e,Ot.Type_0_cannot_be_used_as_an_index_type,t)}}return isTypeAny(n)?n:void 0;function errorIfWritingToReadonlyIndex(e){e&&e.isReadonly&&a&&(isAssignmentTarget(a)||isDeleteTarget(a))&&error2(a,Ot.Index_signature_in_type_0_only_permits_reading,typeToString(t))}}function getIndexNodeForAccessExpression(e){return 213===e.kind?e.argumentExpression:200===e.kind?e.indexType:168===e.kind?e.expression:e}function isPatternLiteralPlaceholderType(e){if(2097152&e.flags){let t=!1;for(const n of e.types)if(101248&n.flags||isPatternLiteralPlaceholderType(n))t=!0;else if(!(524288&n.flags))return!1;return t}return!!(77&e.flags)||isPatternLiteralType(e)}function isPatternLiteralType(e){return!!(134217728&e.flags)&&every(e.types,isPatternLiteralPlaceholderType)||!!(268435456&e.flags)&&isPatternLiteralPlaceholderType(e.type)}function isGenericStringLikeType(e){return!!(402653184&e.flags)&&!isPatternLiteralType(e)}function isGenericType(e){return!!getGenericObjectFlags(e)}function isGenericObjectType(e){return!!(4194304&getGenericObjectFlags(e))}function isGenericIndexType(e){return!!(8388608&getGenericObjectFlags(e))}function getGenericObjectFlags(e){return 3145728&e.flags?(2097152&e.objectFlags||(e.objectFlags|=2097152|reduceLeft(e.types,(e,t)=>e|getGenericObjectFlags(t),0)),12582912&e.objectFlags):33554432&e.flags?(2097152&e.objectFlags||(e.objectFlags|=2097152|getGenericObjectFlags(e.baseType)|getGenericObjectFlags(e.constraint)),12582912&e.objectFlags):(58982400&e.flags||isGenericMappedType(e)||isGenericTupleType(e)?4194304:0)|(63176704&e.flags||isGenericStringLikeType(e)?8388608:0)}function getSimplifiedType(e,t){return 8388608&e.flags?function getSimplifiedIndexedAccessType(e,t){const n=t?"simplifiedForWriting":"simplifiedForReading";if(e[n])return e[n]===Ft?e:e[n];e[n]=Ft;const r=getSimplifiedType(e.objectType,t),i=getSimplifiedType(e.indexType,t),o=function distributeObjectOverIndexType(e,t,n){if(1048576&t.flags){const r=map(t.types,t=>getSimplifiedType(getIndexedAccessType(e,t),n));return n?getIntersectionType(r):getUnionType(r)}}(r,i,t);if(o)return e[n]=o;if(!(465829888&i.flags)){const o=distributeIndexOverObjectType(r,i,t);if(o)return e[n]=o}if(isGenericTupleType(r)&&296&i.flags){const o=getElementTypeOfSliceOfTupleType(r,8&i.flags?0:r.target.fixedLength,0,t);if(o)return e[n]=o}if(isGenericMappedType(r)&&2!==getMappedTypeNameTypeKind(r))return e[n]=mapType(substituteIndexedMappedType(r,e.indexType),e=>getSimplifiedType(e,t));return e[n]=e}(e,t):16777216&e.flags?function getSimplifiedConditionalType(e,t){const n=e.checkType,r=e.extendsType,i=getTrueTypeFromConditionalType(e),o=getFalseTypeFromConditionalType(e);if(131072&o.flags&&getActualTypeVariable(i)===getActualTypeVariable(n)){if(1&n.flags||isTypeAssignableTo(getRestrictiveInstantiation(n),getRestrictiveInstantiation(r)))return getSimplifiedType(i,t);if(isIntersectionEmpty(n,r))return tt}else if(131072&i.flags&&getActualTypeVariable(o)===getActualTypeVariable(n)){if(!(1&n.flags)&&isTypeAssignableTo(getRestrictiveInstantiation(n),getRestrictiveInstantiation(r)))return tt;if(1&n.flags||isIntersectionEmpty(n,r))return getSimplifiedType(o,t)}return e}(e,t):e}function distributeIndexOverObjectType(e,t,n){if(1048576&e.flags||2097152&e.flags&&!shouldDeferIndexType(e)){const r=map(e.types,e=>getSimplifiedType(getIndexedAccessType(e,t),n));return 2097152&e.flags||n?getIntersectionType(r):getUnionType(r)}}function isIntersectionEmpty(e,t){return!!(131072&getUnionType([intersectTypes(e,t),tt]).flags)}function substituteIndexedMappedType(e,t){const n=createTypeMapper([getTypeParameterFromMappedType(e)],[t]),r=combineTypeMappers(e.mapper,n),i=instantiateType(getTemplateTypeFromMappedType(e.target||e),r),o=getMappedTypeOptionality(e)>0||(isGenericType(e)?getCombinedMappedTypeOptionality(getModifiersTypeFromMappedType(e))>0:function couldAccessOptionalProperty(e,t){const n=getBaseConstraintOfType(t);return!!n&&some(getPropertiesOfType(e),e=>!!(16777216&e.flags)&&isTypeAssignableTo(getLiteralTypeFromProperty(e,8576),n))}(e,t));return addOptionality(i,!0,o)}function getIndexedAccessType(e,t,n=0,r,i,o){return getIndexedAccessTypeOrUndefined(e,t,n,r,i,o)||(r?Ie:Le)}function indexTypeLessThan(e,t){return everyType(e,e=>{if(384&e.flags){const n=getPropertyNameFromType(e);if(isNumericLiteralName(n)){const e=+n;return e>=0&&e<t}}return!1})}function getIndexedAccessTypeOrUndefined(e,t,n=0,r,i,o){if(e===Pe||t===Pe)return Pe;if(!isStringIndexSignatureOnlyType(e=getReducedType(e))||98304&t.flags||!isTypeAssignableToKind(t,12)||(t=ze),S.noUncheckedIndexedAccess&&32&n&&(n|=1),isGenericIndexType(t)||(r&&200!==r.kind?isGenericTupleType(e)&&!indexTypeLessThan(t,getTotalFixedElementCount(e.target)):isGenericObjectType(e)&&(!isTupleType(e)||!indexTypeLessThan(t,getTotalFixedElementCount(e.target)))||isGenericReducibleType(e))){if(3&e.flags)return e;const r=1&n,a=e.id+","+t.id+","+r+getAliasId(i,o);let s=ue.get(a);return s||ue.set(a,s=function createIndexedAccessType(e,t,n,r,i){const o=createType(8388608);return o.objectType=e,o.indexType=t,o.accessFlags=n,o.aliasSymbol=r,o.aliasTypeArguments=i,o}(e,t,r,i,o)),s}const a=getReducedApparentType(e);if(1048576&t.flags&&!(16&t.flags)){const s=[];let c=!1;for(const i of t.types){const o=getPropertyTypeForIndexType(e,a,i,t,r,n|(c?128:0));if(o)s.push(o);else{if(!r)return;c=!0}}if(c)return;return 4&n?getIntersectionType(s,0,i,o):getUnionType(s,1,i,o)}return getPropertyTypeForIndexType(e,a,t,t,r,72|n)}function getTypeFromIndexedAccessTypeNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=getTypeFromTypeNode(e.objectType),r=getTypeFromTypeNode(e.indexType),i=getAliasSymbolForTypeNode(e);t.resolvedType=getIndexedAccessType(n,r,0,e,i,getTypeArgumentsForAliasSymbol(i))}return t.resolvedType}function getTypeFromMappedTypeNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=createObjectType(32,e.symbol);n.declaration=e,n.aliasSymbol=getAliasSymbolForTypeNode(e),n.aliasTypeArguments=getTypeArgumentsForAliasSymbol(n.aliasSymbol),t.resolvedType=n,getConstraintTypeFromMappedType(n)}return t.resolvedType}function getActualTypeVariable(e){return 33554432&e.flags?getActualTypeVariable(e.baseType):8388608&e.flags&&(33554432&e.objectType.flags||33554432&e.indexType.flags)?getIndexedAccessType(getActualTypeVariable(e.objectType),getActualTypeVariable(e.indexType)):e}function isSimpleTupleType(e){return isTupleTypeNode(e)&&length(e.elements)>0&&!some(e.elements,e=>isOptionalTypeNode(e)||isRestTypeNode(e)||isNamedTupleMember(e)&&!(!e.questionToken&&!e.dotDotDotToken))}function isDeferredType(e,t){return isGenericType(e)||t&&isTupleType(e)&&some(getElementTypes(e),isGenericType)}function getConditionalType(e,t,n,i,o){let a,s,c=0;for(;;){if(1e3===c)return error2(r,Ot.Type_instantiation_is_excessively_deep_and_possibly_infinite),Ie;const l=instantiateType(getActualTypeVariable(e.checkType),t),d=instantiateType(e.extendsType,t);if(l===Ie||d===Ie)return Ie;if(l===Pe||d===Pe)return Pe;const p=skipTypeParentheses(e.node.checkType),u=skipTypeParentheses(e.node.extendsType),m=isSimpleTupleType(p)&&isSimpleTupleType(u)&&length(p.elements)===length(u.elements),_=isDeferredType(l,m);let f;if(e.inferTypeParameters){const n=createInferenceContext(e.inferTypeParameters,void 0,0);t&&(n.nonFixingMapper=combineTypeMappers(n.nonFixingMapper,t)),_||inferTypes(n.inferences,l,d,1536),f=t?combineTypeMappers(n.mapper,t):n.mapper}const g=f?instantiateType(e.extendsType,f):d;if(!_&&!isDeferredType(g,m)){if(!(3&g.flags)&&(1&l.flags||!isTypeAssignableTo(getPermissiveInstantiation(l),getPermissiveInstantiation(g)))){(1&l.flags||n&&!(131072&g.flags)&&someType(getPermissiveInstantiation(g),e=>isTypeAssignableTo(e,getPermissiveInstantiation(l))))&&(s||(s=[])).push(instantiateType(getTypeFromTypeNode(e.node.trueType),f||t));const r=getTypeFromTypeNode(e.node.falseType);if(16777216&r.flags){const n=r.root;if(n.node.parent===e.node&&(!n.isDistributive||n.checkType===e.checkType)){e=n;continue}if(canTailRecurse(r,t))continue}a=instantiateType(r,t);break}if(3&g.flags||isTypeAssignableTo(getRestrictiveInstantiation(l),getRestrictiveInstantiation(g))){const n=getTypeFromTypeNode(e.node.trueType),r=f||t;if(canTailRecurse(n,r))continue;a=instantiateType(n,r);break}}a=createType(16777216),a.root=e,a.checkType=instantiateType(e.checkType,t),a.extendsType=instantiateType(e.extendsType,t),a.mapper=t,a.combinedMapper=f,a.aliasSymbol=i||e.aliasSymbol,a.aliasTypeArguments=i?o:instantiateTypes(e.aliasTypeArguments,t);break}return s?getUnionType(append(s,a)):a;function canTailRecurse(n,r){if(16777216&n.flags&&r){const a=n.root;if(a.outerTypeParameters){const s=combineTypeMappers(n.mapper,r),l=map(a.outerTypeParameters,e=>getMappedType(e,s)),d=createTypeMapper(a.outerTypeParameters,l),p=a.isDistributive?getMappedType(a.checkType,d):void 0;if(!(p&&p!==a.checkType&&1179648&p.flags))return e=a,t=d,i=void 0,o=void 0,a.aliasSymbol&&c++,!0}}return!1}}function getTrueTypeFromConditionalType(e){return e.resolvedTrueType||(e.resolvedTrueType=instantiateType(getTypeFromTypeNode(e.root.node.trueType),e.mapper))}function getFalseTypeFromConditionalType(e){return e.resolvedFalseType||(e.resolvedFalseType=instantiateType(getTypeFromTypeNode(e.root.node.falseType),e.mapper))}function getInferTypeParameters(e){let t;return e.locals&&e.locals.forEach(e=>{262144&e.flags&&(t=append(t,getDeclaredTypeOfSymbol(e)))}),t}function getIdentifierChain(e){return isIdentifier(e)?[e]:append(getIdentifierChain(e.left),e.right)}function getTypeFromImportTypeNode(e){var t;const n=getNodeLinks(e);if(!n.resolvedType){if(!isLiteralImportTypeNode(e))return error2(e.argument,Ot.String_literal_expected),n.resolvedSymbol=ve,n.resolvedType=Ie;const r=e.isTypeOf?111551:16777216&e.flags?900095:788968,i=resolveExternalModuleName(e,e.argument.literal);if(!i)return n.resolvedSymbol=ve,n.resolvedType=Ie;const o=!!(null==(t=i.exports)?void 0:t.get("export=")),a=resolveExternalModuleSymbol(i,!1);if(nodeIsMissing(e.qualifier))if(a.flags&r)n.resolvedType=resolveImportSymbolType(e,n,a,r);else{error2(e,111551===r?Ot.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:Ot.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0,e.argument.literal.text),n.resolvedSymbol=ve,n.resolvedType=Ie}else{const t=getIdentifierChain(e.qualifier);let i,s=a;for(;i=t.shift();){const a=t.length?1920:r,c=getMergedSymbol(resolveSymbol(s)),l=e.isTypeOf||isInJSFile(e)&&o?getPropertyOfType(getTypeOfSymbol(c),i.escapedText,!1,!0):void 0,d=(e.isTypeOf?void 0:getSymbol2(getExportsOfSymbol(c),i.escapedText,a))??l;if(!d)return error2(i,Ot.Namespace_0_has_no_exported_member_1,getFullyQualifiedName(s),declarationNameToString(i)),n.resolvedType=Ie;getNodeLinks(i).resolvedSymbol=d,getNodeLinks(i.parent).resolvedSymbol=d,s=d}n.resolvedType=resolveImportSymbolType(e,n,s,r)}}return n.resolvedType}function resolveImportSymbolType(e,t,n,r){const i=resolveSymbol(n);return t.resolvedSymbol=i,111551===r?getInstantiationExpressionType(getTypeOfSymbol(n),e):getTypeReferenceType(e,i)}function getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=getAliasSymbolForTypeNode(e);if(!e.symbol||0===getMembersOfSymbol(e.symbol).size&&!n)t.resolvedType=vt;else{let r=createObjectType(16,e.symbol);r.aliasSymbol=n,r.aliasTypeArguments=getTypeArgumentsForAliasSymbol(n),isJSDocTypeLiteral(e)&&e.isArrayType&&(r=createArrayType(r)),t.resolvedType=r}}return t.resolvedType}function getAliasSymbolForTypeNode(e){let t=e.parent;for(;isParenthesizedTypeNode(t)||isJSDocTypeExpression(t)||isTypeOperatorNode(t)&&148===t.operator;)t=t.parent;return isTypeAlias(t)?getSymbolOfDeclaration(t):void 0}function getTypeArgumentsForAliasSymbol(e){return e?getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e):void 0}function isNonGenericObjectType(e){return!!(524288&e.flags)&&!isGenericMappedType(e)}function isEmptyObjectTypeOrSpreadsIntoEmptyObject(e){return isEmptyObjectType(e)||!!(474058748&e.flags)}function tryMergeUnionOfObjectTypeAndEmptyObject(e,t){if(!(1048576&e.flags))return e;if(every(e.types,isEmptyObjectTypeOrSpreadsIntoEmptyObject))return find(e.types,isEmptyObjectType)||ht;const n=find(e.types,e=>!isEmptyObjectTypeOrSpreadsIntoEmptyObject(e));if(!n)return e;return find(e.types,e=>e!==n&&!isEmptyObjectTypeOrSpreadsIntoEmptyObject(e))?e:function getAnonymousPartialType(e){const n=createSymbolTable();for(const r of getPropertiesOfType(e))if(6&getDeclarationModifierFlagsFromSymbol(r));else if(isSpreadableProperty(r)){const e=65536&r.flags&&!(32768&r.flags),i=createSymbol(16777220,r.escapedName,getIsLateCheckFlag(r)|(t?8:0));i.links.type=e?Me:addOptionality(getTypeOfSymbol(r),!0),i.declarations=r.declarations,i.links.nameType=getSymbolLinks(r).nameType,i.links.syntheticOrigin=r,n.set(r.escapedName,i)}const r=createAnonymousType(e.symbol,n,l,l,getIndexInfosOfType(e));return r.objectFlags|=131200,r}(n)}function getSpreadType(e,t,n,r,i){if(1&e.flags||1&t.flags)return ke;if(2&e.flags||2&t.flags)return Le;if(131072&e.flags)return t;if(131072&t.flags)return e;if(1048576&(e=tryMergeUnionOfObjectTypeAndEmptyObject(e,i)).flags)return checkCrossProductUnion([e,t])?mapType(e,e=>getSpreadType(e,t,n,r,i)):Ie;if(1048576&(t=tryMergeUnionOfObjectTypeAndEmptyObject(t,i)).flags)return checkCrossProductUnion([e,t])?mapType(t,t=>getSpreadType(e,t,n,r,i)):Ie;if(473960444&t.flags)return e;if(isGenericObjectType(e)||isGenericObjectType(t)){if(isEmptyObjectType(e))return t;if(2097152&e.flags){const o=e.types,a=o[o.length-1];if(isNonGenericObjectType(a)&&isNonGenericObjectType(t))return getIntersectionType(concatenate(o.slice(0,o.length-1),[getSpreadType(a,t,n,r,i)]))}return getIntersectionType([e,t])}const o=createSymbolTable(),a=new Set,s=e===ht?getIndexInfosOfType(t):getUnionIndexInfos([e,t]);for(const e of getPropertiesOfType(t))6&getDeclarationModifierFlagsFromSymbol(e)?a.add(e.escapedName):isSpreadableProperty(e)&&o.set(e.escapedName,getSpreadSymbol(e,i));for(const t of getPropertiesOfType(e))if(!a.has(t.escapedName)&&isSpreadableProperty(t))if(o.has(t.escapedName)){const e=o.get(t.escapedName),n=getTypeOfSymbol(e);if(16777216&e.flags){const r=concatenate(t.declarations,e.declarations),i=createSymbol(4|16777216&t.flags,t.escapedName),a=getTypeOfSymbol(t),s=removeMissingOrUndefinedType(a),c=removeMissingOrUndefinedType(n);i.links.type=s===c?a:getUnionType([a,c],2),i.links.leftSpread=t,i.links.rightSpread=e,i.declarations=r,i.links.nameType=getSymbolLinks(t).nameType,o.set(t.escapedName,i)}}else o.set(t.escapedName,getSpreadSymbol(t,i));const c=createAnonymousType(n,o,l,l,sameMap(s,e=>function getIndexInfoWithReadonly(e,t){return e.isReadonly!==t?createIndexInfo(e.keyType,e.type,t,e.declaration,e.components):e}(e,i)));return c.objectFlags|=2228352|r,c}function isSpreadableProperty(e){var t;return!(some(e.declarations,isPrivateIdentifierClassElementDeclaration)||106496&e.flags&&(null==(t=e.declarations)?void 0:t.some(e=>isClassLike(e.parent))))}function getSpreadSymbol(e,t){const n=65536&e.flags&&!(32768&e.flags);if(!n&&t===isReadonlySymbol(e))return e;const r=createSymbol(4|16777216&e.flags,e.escapedName,getIsLateCheckFlag(e)|(t?8:0));return r.links.type=n?Me:getTypeOfSymbol(e),r.declarations=e.declarations,r.links.nameType=getSymbolLinks(e).nameType,r.links.syntheticOrigin=e,r}function createLiteralType(e,t,n,r){const i=createTypeWithSymbol(e,n);return i.value=t,i.regularType=r||i,i}function getFreshTypeOfLiteralType(e){if(2976&e.flags){if(!e.freshType){const t=createLiteralType(e.flags,e.value,e.symbol,e);t.freshType=t,e.freshType=t}return e.freshType}return e}function getRegularTypeOfLiteralType(e){return 2976&e.flags?e.regularType:1048576&e.flags?e.regularType||(e.regularType=mapType(e,getRegularTypeOfLiteralType)):e}function isFreshLiteralType(e){return!!(2976&e.flags)&&e.freshType===e}function getStringLiteralType(e){let t;return ce.get(e)||(ce.set(e,t=createLiteralType(128,e)),t)}function getNumberLiteralType(e){let t;return le.get(e)||(le.set(e,t=createLiteralType(256,e)),t)}function getBigIntLiteralType(e){let t;const n=pseudoBigIntToString(e);return de.get(n)||(de.set(n,t=createLiteralType(2048,e)),t)}function getEnumLiteralType(e,t,n){let r;const i=`${t}${"string"==typeof e?"@":"#"}${e}`,o=1024|("string"==typeof e?128:256);return pe.get(i)||(pe.set(i,r=createLiteralType(o,e,n)),r)}function getESSymbolLikeTypeForNode(e){if(isInJSFile(e)&&isJSDocTypeExpression(e)){const t=getJSDocHost(e);t&&(e=getSingleVariableOfVariableStatement(t)||t)}if(isValidESSymbolDeclaration(e)){const t=isCommonJsExportPropertyAssignment(e)?getSymbolOfNode(e.left):getSymbolOfNode(e);if(t){const e=getSymbolLinks(t);return e.uniqueESSymbolType||(e.uniqueESSymbolType=function createUniqueESSymbolType(e){const t=createTypeWithSymbol(8192,e);return t.escapedName=`__@${t.symbol.escapedName}@${getSymbolId(t.symbol)}`,t}(t))}}return Ze}function getTypeFromThisTypeNode(e){const t=getNodeLinks(e);return t.resolvedType||(t.resolvedType=function getThisType(e){const t=getThisContainer(e,!1,!1),n=t&&t.parent;if(n&&(isClassLike(n)||265===n.kind)&&!isStatic(t)&&(!isConstructorDeclaration(t)||isNodeDescendantOf(e,t.body)))return getDeclaredTypeOfClassOrInterface(getSymbolOfDeclaration(n)).thisType;if(n&&isObjectLiteralExpression(n)&&isBinaryExpression(n.parent)&&6===getAssignmentDeclarationKind(n.parent))return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(n.parent.left).parent).thisType;const r=16777216&e.flags?getHostSignatureFromJSDoc(e):void 0;return r&&isFunctionExpression(r)&&isBinaryExpression(r.parent)&&3===getAssignmentDeclarationKind(r.parent)?getDeclaredTypeOfClassOrInterface(getSymbolOfNode(r.parent.left).parent).thisType:isJSConstructor(t)&&isNodeDescendantOf(e,t.body)?getDeclaredTypeOfClassOrInterface(getSymbolOfDeclaration(t)).thisType:(error2(e,Ot.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface),Ie)}(e)),t.resolvedType}function getTypeFromRestTypeNode(e){return getTypeFromTypeNode(getArrayElementTypeNode(e.type)||e.type)}function getArrayElementTypeNode(e){switch(e.kind){case 197:return getArrayElementTypeNode(e.type);case 190:if(1===e.elements.length&&(192===(e=e.elements[0]).kind||203===e.kind&&e.dotDotDotToken))return getArrayElementTypeNode(e.type);break;case 189:return e.elementType}}function getTypeFromTypeNode(e){return function getConditionalFlowTypeOfType(e,t){let n,r=!0;for(;t&&!isStatement(t)&&321!==t.kind;){const i=t.parent;if(170===i.kind&&(r=!r),(r||8650752&e.flags)&&195===i.kind&&t===i.trueType){const t=getImpliedConstraint(e,i.checkType,i.extendsType);t&&(n=append(n,t))}else if(262144&e.flags&&201===i.kind&&!i.nameType&&t===i.type){const t=getTypeFromTypeNode(i);if(getTypeParameterFromMappedType(t)===getActualTypeVariable(e)){const e=getHomomorphicTypeVariable(t);if(e){const t=getConstraintOfTypeParameter(e);t&&everyType(t,isArrayOrTupleType)&&(n=append(n,getUnionType([Ve,pt])))}}}t=i}return n?getSubstitutionType(e,getIntersectionType(n)):e}(getTypeFromTypeNodeWorker(e),e)}function getTypeFromTypeNodeWorker(e){switch(e.kind){case 133:case 313:case 314:return ke;case 159:return Le;case 154:return ze;case 150:return Ve;case 163:return qe;case 136:return Ye;case 155:return Ze;case 116:return et;case 157:return Me;case 106:return We;case 146:return tt;case 151:return 524288&e.flags&&!A?ke:ot;case 141:return we;case 198:case 110:return getTypeFromThisTypeNode(e);case 202:return function getTypeFromLiteralTypeNode(e){if(106===e.literal.kind)return We;const t=getNodeLinks(e);return t.resolvedType||(t.resolvedType=getRegularTypeOfLiteralType(checkExpression(e.literal))),t.resolvedType}(e);case 184:case 234:return getTypeFromTypeReference(e);case 183:return e.assertsModifier?et:Ye;case 187:return getTypeFromTypeQueryNode(e);case 189:case 190:return function getTypeFromArrayOrTupleTypeNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=getArrayOrTupleTargetType(e);if(n===Et)t.resolvedType=ht;else if(190===e.kind&&some(e.elements,e=>!!(8&getTupleElementFlags(e)))||!isDeferredTypeReferenceNode(e)){const r=189===e.kind?[getTypeFromTypeNode(e.elementType)]:map(e.elements,getTypeFromTypeNode);t.resolvedType=createNormalizedTypeReference(n,r)}else t.resolvedType=190===e.kind&&0===e.elements.length?n:createDeferredTypeReference(n,e,void 0)}return t.resolvedType}(e);case 191:return function getTypeFromOptionalTypeNode(e){return addOptionality(getTypeFromTypeNode(e.type),!0)}(e);case 193:return function getTypeFromUnionTypeNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=getAliasSymbolForTypeNode(e);t.resolvedType=getUnionType(map(e.types,getTypeFromTypeNode),1,n,getTypeArgumentsForAliasSymbol(n))}return t.resolvedType}(e);case 194:return function getTypeFromIntersectionTypeNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=getAliasSymbolForTypeNode(e),r=map(e.types,getTypeFromTypeNode),i=2===r.length?r.indexOf(vt):-1,o=i>=0?r[1-i]:Le,a=!!(76&o.flags||134217728&o.flags&&isPatternLiteralType(o));t.resolvedType=getIntersectionType(r,a?1:0,n,getTypeArgumentsForAliasSymbol(n))}return t.resolvedType}(e);case 315:return function getTypeFromJSDocNullableTypeNode(e){const t=getTypeFromTypeNode(e.type);return k?getNullableType(t,65536):t}(e);case 317:return addOptionality(getTypeFromTypeNode(e.type));case 203:return function getTypeFromNamedTupleTypeNode(e){const t=getNodeLinks(e);return t.resolvedType||(t.resolvedType=e.dotDotDotToken?getTypeFromRestTypeNode(e):addOptionality(getTypeFromTypeNode(e.type),!0,!!e.questionToken))}(e);case 197:case 316:case 310:return getTypeFromTypeNode(e.type);case 192:return getTypeFromRestTypeNode(e);case 319:return function getTypeFromJSDocVariadicType(e){const t=getTypeFromTypeNode(e.type),{parent:n}=e,r=e.parent.parent;if(isJSDocTypeExpression(e.parent)&&isJSDocParameterTag(r)){const e=getHostSignatureFromJSDoc(r),n=isJSDocCallbackTag(r.parent.parent);if(e||n){const i=lastOrUndefined(n?r.parent.parent.typeExpression.parameters:e.parameters),o=getParameterSymbolFromJSDoc(r);if(!i||o&&i.symbol===o&&isRestParameter(i))return createArrayType(t)}}if(isParameter(n)&&isJSDocFunctionType(n.parent))return createArrayType(t);return addOptionality(t)}(e);case 185:case 186:case 188:case 323:case 318:case 324:return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(e);case 199:return function getTypeFromTypeOperatorNode(e){const t=getNodeLinks(e);if(!t.resolvedType)switch(e.operator){case 143:t.resolvedType=getIndexType(getTypeFromTypeNode(e.type));break;case 158:t.resolvedType=155===e.type.kind?getESSymbolLikeTypeForNode(walkUpParenthesizedTypes(e.parent)):Ie;break;case 148:t.resolvedType=getTypeFromTypeNode(e.type);break;default:h.assertNever(e.operator)}return t.resolvedType}(e);case 200:return getTypeFromIndexedAccessTypeNode(e);case 201:return getTypeFromMappedTypeNode(e);case 195:return function getTypeFromConditionalTypeNode(e){const t=getNodeLinks(e);if(!t.resolvedType){const n=getTypeFromTypeNode(e.checkType),r=getAliasSymbolForTypeNode(e),i=getTypeArgumentsForAliasSymbol(r),o=getOuterTypeParameters(e,!0),a=i?o:filter(o,t=>isTypeParameterPossiblyReferenced(t,e)),s={node:e,checkType:n,extendsType:getTypeFromTypeNode(e.extendsType),isDistributive:!!(262144&n.flags),inferTypeParameters:getInferTypeParameters(e),outerTypeParameters:a,instantiations:void 0,aliasSymbol:r,aliasTypeArguments:i};t.resolvedType=getConditionalType(s,void 0,!1),a&&(s.instantiations=new Map,s.instantiations.set(getTypeListId(a),t.resolvedType))}return t.resolvedType}(e);case 196:return function getTypeFromInferTypeNode(e){const t=getNodeLinks(e);return t.resolvedType||(t.resolvedType=getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(e.typeParameter))),t.resolvedType}(e);case 204:return function getTypeFromTemplateTypeNode(e){const t=getNodeLinks(e);return t.resolvedType||(t.resolvedType=getTemplateLiteralType([e.head.text,...map(e.templateSpans,e=>e.literal.text)],map(e.templateSpans,e=>getTypeFromTypeNode(e.type)))),t.resolvedType}(e);case 206:return getTypeFromImportTypeNode(e);case 80:case 167:case 212:const t=getSymbolAtLocation(e);return t?getDeclaredTypeOfSymbol(t):Ie;default:return Ie}}function instantiateList(e,t,n){if(e&&e.length)for(let r=0;r<e.length;r++){const i=e[r],o=n(i,t);if(i!==o){const i=0===r?[]:e.slice(0,r);for(i.push(o),r++;r<e.length;r++)i.push(n(e[r],t));return i}}return e}function instantiateTypes(e,t){return instantiateList(e,t,instantiateType)}function instantiateSignatures(e,t){return instantiateList(e,t,instantiateSignature)}function instantiateIndexInfos(e,t){return instantiateList(e,t,instantiateIndexInfo)}function createTypeMapper(e,t){return 1===e.length?makeUnaryTypeMapper(e[0],t?t[0]:ke):makeArrayTypeMapper(e,t)}function getMappedType(e,t){switch(t.kind){case 0:return e===t.source?t.target:e;case 1:{const n=t.sources,r=t.targets;for(let t=0;t<n.length;t++)if(e===n[t])return r?r[t]:ke;return e}case 2:{const n=t.sources,r=t.targets;for(let t=0;t<n.length;t++)if(e===n[t])return r[t]();return e}case 3:return t.func(e);case 4:case 5:const n=getMappedType(e,t.mapper1);return n!==e&&4===t.kind?instantiateType(n,t.mapper2):getMappedType(n,t.mapper2)}}function makeUnaryTypeMapper(e,t){return h.attachDebugPrototypeIfDebug({kind:0,source:e,target:t})}function makeArrayTypeMapper(e,t){return h.attachDebugPrototypeIfDebug({kind:1,sources:e,targets:t})}function makeFunctionTypeMapper(e,t){return h.attachDebugPrototypeIfDebug({kind:3,func:e,debugInfo:h.isDebugging?t:void 0})}function makeDeferredTypeMapper(e,t){return h.attachDebugPrototypeIfDebug({kind:2,sources:e,targets:t})}function makeCompositeTypeMapper(e,t,n){return h.attachDebugPrototypeIfDebug({kind:e,mapper1:t,mapper2:n})}function createTypeEraser(e){return createTypeMapper(e,void 0)}function combineTypeMappers(e,t){return e?makeCompositeTypeMapper(4,e,t):t}function mergeTypeMappers(e,t){return e?makeCompositeTypeMapper(5,e,t):t}function prependTypeMapping(e,t,n){return n?makeCompositeTypeMapper(5,makeUnaryTypeMapper(e,t),n):makeUnaryTypeMapper(e,t)}function appendTypeMapping(e,t,n){return e?makeCompositeTypeMapper(5,e,makeUnaryTypeMapper(t,n)):makeUnaryTypeMapper(t,n)}function cloneTypeParameter(e){const t=createTypeParameter(e.symbol);return t.target=e,t}function instantiateTypePredicate(e,t){return createTypePredicate(e.kind,e.parameterName,e.parameterIndex,instantiateType(e.type,t))}function instantiateSignature(e,t,n){let r;if(e.typeParameters&&!n){r=map(e.typeParameters,cloneTypeParameter),t=combineTypeMappers(createTypeMapper(e.typeParameters,r),t);for(const e of r)e.mapper=t}const i=createSignature(e.declaration,r,e.thisParameter&&instantiateSymbol(e.thisParameter,t),instantiateList(e.parameters,t,instantiateSymbol),void 0,void 0,e.minArgumentCount,167&e.flags);return i.target=e,i.mapper=t,i}function instantiateSymbol(e,t){const n=getSymbolLinks(e);if(n.type&&!couldContainTypeVariables(n.type)){if(!(65536&e.flags))return e;if(n.writeType&&!couldContainTypeVariables(n.writeType))return e}1&getCheckFlags(e)&&(e=n.target,t=combineTypeMappers(n.mapper,t));const r=createSymbol(e.flags,e.escapedName,1|53256&getCheckFlags(e));return r.declarations=e.declarations,r.parent=e.parent,r.links.target=e,r.links.mapper=t,e.valueDeclaration&&(r.valueDeclaration=e.valueDeclaration),n.nameType&&(r.links.nameType=n.nameType),r}function getObjectTypeInstantiation(e,t,n,r){const i=4&e.objectFlags||8388608&e.objectFlags?e.node:e.symbol.declarations[0],o=getNodeLinks(i),a=4&e.objectFlags?o.resolvedType:64&e.objectFlags?e.target:e;let s=o.outerTypeParameters;if(!s){let t=getOuterTypeParameters(i,!0);if(isJSConstructor(i)){t=addRange(t,getTypeParametersFromDeclaration(i))}s=t||l;const n=8388612&e.objectFlags?[i]:e.symbol.declarations;s=(8388612&a.objectFlags||8192&a.symbol.flags||2048&a.symbol.flags)&&!a.aliasTypeArguments?filter(s,e=>some(n,t=>isTypeParameterPossiblyReferenced(e,t))):s,o.outerTypeParameters=s}if(s.length){const i=combineTypeMappers(e.mapper,t),o=map(s,e=>getMappedType(e,i)),c=n||e.aliasSymbol,l=n?r:instantiateTypes(e.aliasTypeArguments,t),d=getTypeListId(o)+getAliasId(c,l);a.instantiations||(a.instantiations=new Map,a.instantiations.set(getTypeListId(s)+getAliasId(a.aliasSymbol,a.aliasTypeArguments),a));let p=a.instantiations.get(d);if(!p){let n=createTypeMapper(s,o);134217728&a.objectFlags&&t&&(n=combineTypeMappers(n,t)),p=4&a.objectFlags?createDeferredTypeReference(e.target,e.node,n,c,l):32&a.objectFlags?function instantiateMappedType(e,t,n,r){const i=getHomomorphicTypeVariable(e);if(i){const e=instantiateType(i,t);if(i!==e)return mapTypeWithAlias(getReducedType(e),instantiateConstituent,n,r)}return instantiateType(getConstraintTypeFromMappedType(e),t)===Pe?Pe:instantiateAnonymousType(e,t,n,r);function instantiateConstituent(n){if(61603843&n.flags&&n!==Pe&&!isErrorType(n)){if(!e.declaration.nameType){let r;if(isArrayType(n)||1&n.flags&&findResolutionCycleStartIndex(i,4)<0&&(r=getConstraintOfTypeParameter(i))&&everyType(r,isArrayOrTupleType))return function instantiateMappedArrayType(e,t,n){const r=instantiateMappedTypeTemplate(t,Ve,!0,n);return isErrorType(r)?Ie:createArrayType(r,getModifiedReadonlyState(isReadonlyArrayType(e),getMappedTypeModifiers(t)))}(n,e,prependTypeMapping(i,n,t));if(isTupleType(n))return function instantiateMappedTupleType(e,t,n,r){const i=e.target.elementFlags,o=e.target.fixedLength,a=o?prependTypeMapping(n,e,r):r,s=map(getElementTypes(e),(e,s)=>{const c=i[s];return s<o?instantiateMappedTypeTemplate(t,getStringLiteralType(""+s),!!(2&c),a):8&c?instantiateType(t,prependTypeMapping(n,e,r)):getElementTypeOfArrayType(instantiateType(t,prependTypeMapping(n,createArrayType(e),r)))??Le}),c=getMappedTypeModifiers(t),l=4&c?map(i,e=>1&e?2:e):8&c?map(i,e=>2&e?1:e):i,d=getModifiedReadonlyState(e.target.readonly,getMappedTypeModifiers(t));return contains(s,Ie)?Ie:createTupleType(s,l,d,e.target.labeledElementDeclarations)}(n,e,i,t);if(isArrayOrTupleOrIntersection(n))return getIntersectionType(map(n.types,instantiateConstituent))}return instantiateAnonymousType(e,prependTypeMapping(i,n,t))}return n}}(a,n,c,l):instantiateAnonymousType(a,n,c,l),a.instantiations.set(d,p);const r=getObjectFlags(p);if(3899393&p.flags&&!(524288&r)){const e=some(o,couldContainTypeVariables);524288&getObjectFlags(p)||(p.objectFlags|=52&r?524288|(e?1048576:0):e?0:524288)}}return p}return e}function isTypeParameterPossiblyReferenced(e,t){if(e.symbol&&e.symbol.declarations&&1===e.symbol.declarations.length){const n=e.symbol.declarations[0].parent;for(let e=t;e!==n;e=e.parent)if(!e||242===e.kind||195===e.kind&&forEachChild(e.extendsType,containsReference))return!0;return containsReference(t)}return!0;function containsReference(t){switch(t.kind){case 198:return!!e.isThisType;case 80:return!e.isThisType&&isPartOfTypeNode(t)&&function maybeTypeParameterReference(e){return!(184===e.parent.kind&&e.parent.typeArguments&&e===e.parent.typeName||206===e.parent.kind&&e.parent.typeArguments&&e===e.parent.qualifier)}(t)&&getTypeFromTypeNodeWorker(t)===e;case 187:const n=getFirstIdentifier(t.exprName);if(!isThisIdentifier(n)){const r=getResolvedSymbol(n),i=e.symbol.declarations[0],o=169===i.kind?i.parent:e.isThisType?i:void 0;if(r.declarations&&o)return some(r.declarations,e=>isNodeDescendantOf(e,o))||some(t.typeArguments,containsReference)}return!0;case 175:case 174:return!t.type&&!!t.body||some(t.typeParameters,containsReference)||some(t.parameters,containsReference)||!!t.type&&containsReference(t.type)}return!!forEachChild(t,containsReference)}}function getHomomorphicTypeVariable(e){const t=getConstraintTypeFromMappedType(e);if(4194304&t.flags){const e=getActualTypeVariable(t.type);if(262144&e.flags)return e}}function getModifiedReadonlyState(e,t){return!!(1&t)||!(2&t)&&e}function instantiateMappedTypeTemplate(e,t,n,r){const i=appendTypeMapping(r,getTypeParameterFromMappedType(e),t),o=instantiateType(getTemplateTypeFromMappedType(e.target||e),i),a=getMappedTypeModifiers(e);return k&&4&a&&!maybeTypeOfKind(o,49152)?getOptionalType(o,!0):k&&8&a&&n?getTypeWithFacts(o,524288):o}function instantiateAnonymousType(e,t,n,r){h.assert(e.symbol,"anonymous type must have symbol to be instantiated");const i=createObjectType(-1572865&e.objectFlags|64,e.symbol);if(32&e.objectFlags){i.declaration=e.declaration;const n=getTypeParameterFromMappedType(e),r=cloneTypeParameter(n);i.typeParameter=r,t=combineTypeMappers(makeUnaryTypeMapper(n,r),t),r.mapper=t}return 8388608&e.objectFlags&&(i.node=e.node),i.target=e,i.mapper=t,i.aliasSymbol=n||e.aliasSymbol,i.aliasTypeArguments=n?r:instantiateTypes(e.aliasTypeArguments,t),i.objectFlags|=i.aliasTypeArguments?getPropagatingFlagsOfTypes(i.aliasTypeArguments):0,i}function getConditionalTypeInstantiation(e,t,n,r,i){const o=e.root;if(o.outerTypeParameters){const e=map(o.outerTypeParameters,e=>getMappedType(e,t)),a=(n?"C":"")+getTypeListId(e)+getAliasId(r,i);let s=o.instantiations.get(a);if(!s){const t=createTypeMapper(o.outerTypeParameters,e),c=o.checkType,l=o.isDistributive?getReducedType(getMappedType(c,t)):void 0;s=l&&c!==l&&1179648&l.flags?mapTypeWithAlias(l,e=>getConditionalType(o,prependTypeMapping(c,e,t),n),r,i):getConditionalType(o,t,n,r,i),o.instantiations.set(a,s)}return s}return e}function instantiateType(e,t){return e&&t?instantiateTypeWithAlias(e,t,void 0,void 0):e}function instantiateTypeWithAlias(e,t,n,i){var o;if(!couldContainTypeVariables(e))return e;if(100===_||m>=5e6)return null==(o=J)||o.instant(J.Phase.CheckTypes,"instantiateType_DepthLimit",{typeId:e.id,instantiationDepth:_,instantiationCount:m}),error2(r,Ot.Type_instantiation_is_excessively_deep_and_possibly_infinite),Ie;const a=function findActiveMapper(e){for(let t=qr-1;t>=0;t--)if(e===zr[t])return t;return-1}(t);-1===a&&function pushActiveMapper(e){zr[qr]=e,Vr[qr]??(Vr[qr]=new Map),qr++}(t);const s=e.id+getAliasId(n,i),c=Vr[-1!==a?a:qr-1],l=c.get(s);if(l)return l;u++,m++,_++;const d=function instantiateTypeWorker(e,t,n,r){const i=e.flags;if(262144&i)return getMappedType(e,t);if(524288&i){const i=e.objectFlags;if(52&i){if(4&i&&!e.node){const n=e.resolvedTypeArguments,r=instantiateTypes(n,t);return r!==n?createNormalizedTypeReference(e.target,r):e}return 1024&i?function instantiateReverseMappedType(e,t){const n=instantiateType(e.mappedType,t);if(!(32&getObjectFlags(n)))return e;const r=instantiateType(e.constraintType,t);if(!(4194304&r.flags))return e;const i=inferTypeForHomomorphicMappedType(instantiateType(e.source,t),n,r);if(i)return i;return e}(e,t):getObjectTypeInstantiation(e,t,n,r)}return e}if(3145728&i){const o=1048576&e.flags?e.origin:void 0,a=o&&3145728&o.flags?o.types:e.types,s=instantiateTypes(a,t);if(s===a&&n===e.aliasSymbol)return e;const c=n||e.aliasSymbol,l=n?r:instantiateTypes(e.aliasTypeArguments,t);return 2097152&i||o&&2097152&o.flags?getIntersectionType(s,0,c,l):getUnionType(s,1,c,l)}if(4194304&i)return getIndexType(instantiateType(e.type,t));if(134217728&i)return getTemplateLiteralType(e.texts,instantiateTypes(e.types,t));if(268435456&i)return getStringMappingType(e.symbol,instantiateType(e.type,t));if(8388608&i){const i=n||e.aliasSymbol,o=n?r:instantiateTypes(e.aliasTypeArguments,t);return getIndexedAccessType(instantiateType(e.objectType,t),instantiateType(e.indexType,t),e.accessFlags,void 0,i,o)}if(16777216&i)return getConditionalTypeInstantiation(e,combineTypeMappers(e.mapper,t),!1,n,r);if(33554432&i){const n=instantiateType(e.baseType,t);if(isNoInferType(e))return getNoInferType(n);const r=instantiateType(e.constraint,t);return 8650752&n.flags&&isGenericType(r)?getSubstitutionType(n,r):3&r.flags||isTypeAssignableTo(getRestrictiveInstantiation(n),getRestrictiveInstantiation(r))?n:8650752&n.flags?getSubstitutionType(n,r):getIntersectionType([r,n])}return e}(e,t,n,i);return-1===a?function popActiveMapper(){qr--,zr[qr]=void 0,Vr[qr].clear()}():c.set(s,d),_--,d}function getPermissiveInstantiation(e){return 402915327&e.flags?e:e.permissiveInstantiation||(e.permissiveInstantiation=instantiateType(e,mt))}function getRestrictiveInstantiation(e){return 402915327&e.flags?e:(e.restrictiveInstantiation||(e.restrictiveInstantiation=instantiateType(e,ut),e.restrictiveInstantiation.restrictiveInstantiation=e.restrictiveInstantiation),e.restrictiveInstantiation)}function instantiateIndexInfo(e,t){return createIndexInfo(e.keyType,instantiateType(e.type,t),e.isReadonly,e.declaration,e.components)}function isContextSensitive(e){switch(h.assert(175!==e.kind||isObjectLiteralMethod(e)),e.kind){case 219:case 220:case 175:case 263:return isContextSensitiveFunctionLikeDeclaration(e);case 211:return some(e.properties,isContextSensitive);case 210:return some(e.elements,isContextSensitive);case 228:return isContextSensitive(e.whenTrue)||isContextSensitive(e.whenFalse);case 227:return(57===e.operatorToken.kind||61===e.operatorToken.kind)&&(isContextSensitive(e.left)||isContextSensitive(e.right));case 304:return isContextSensitive(e.initializer);case 218:return isContextSensitive(e.expression);case 293:return some(e.properties,isContextSensitive)||isJsxOpeningElement(e.parent)&&some(e.parent.parent.children,isContextSensitive);case 292:{const{initializer:t}=e;return!!t&&isContextSensitive(t)}case 295:{const{expression:t}=e;return!!t&&isContextSensitive(t)}}return!1}function isContextSensitiveFunctionLikeDeclaration(e){return hasContextSensitiveParameters(e)||function hasContextSensitiveReturnExpression(e){if(e.typeParameters||getEffectiveReturnTypeNode(e)||!e.body)return!1;if(242!==e.body.kind)return isContextSensitive(e.body);return!!forEachReturnStatement(e.body,e=>!!e.expression&&isContextSensitive(e.expression))}(e)}function isContextSensitiveFunctionOrObjectLiteralMethod(e){return(isFunctionExpressionOrArrowFunction(e)||isObjectLiteralMethod(e))&&isContextSensitiveFunctionLikeDeclaration(e)}function getTypeWithoutSignatures(e){if(524288&e.flags){const t=resolveStructuredTypeMembers(e);if(t.constructSignatures.length||t.callSignatures.length){const n=createObjectType(16,e.symbol);return n.members=t.members,n.properties=t.properties,n.callSignatures=l,n.constructSignatures=l,n.indexInfos=l,n}}else if(2097152&e.flags)return getIntersectionType(map(e.types,getTypeWithoutSignatures));return e}function isTypeIdenticalTo(e,t){return isTypeRelatedTo(e,t,Pi)}function compareTypesIdentical(e,t){return isTypeRelatedTo(e,t,Pi)?-1:0}function compareTypesAssignable(e,t){return isTypeRelatedTo(e,t,ki)?-1:0}function compareTypesSubtypeOf(e,t){return isTypeRelatedTo(e,t,Ei)?-1:0}function isTypeSubtypeOf(e,t){return isTypeRelatedTo(e,t,Ei)}function isTypeStrictSubtypeOf(e,t){return isTypeRelatedTo(e,t,Ni)}function isTypeAssignableTo(e,t){return isTypeRelatedTo(e,t,ki)}function isTypeDerivedFrom(e,t){return 1048576&e.flags?every(e.types,e=>isTypeDerivedFrom(e,t)):1048576&t.flags?some(t.types,t=>isTypeDerivedFrom(e,t)):2097152&e.flags?some(e.types,e=>isTypeDerivedFrom(e,t)):58982400&e.flags?isTypeDerivedFrom(getBaseConstraintOfType(e)||Le,t):isEmptyAnonymousObjectType(t)?!!(67633152&e.flags):t===Jt?!!(67633152&e.flags)&&!isEmptyAnonymousObjectType(e):t===Wt?!!(524288&e.flags)&&isFunctionObjectType(e):hasBaseType(e,getTargetType(t))||isArrayType(t)&&!isReadonlyArrayType(t)&&isTypeDerivedFrom(e,qt)}function isTypeComparableTo(e,t){return isTypeRelatedTo(e,t,Fi)}function areTypesComparable(e,t){return isTypeComparableTo(e,t)||isTypeComparableTo(t,e)}function checkTypeAssignableTo(e,t,n,r,i,o){return checkTypeRelatedTo(e,t,ki,n,r,i,o)}function checkTypeAssignableToAndOptionallyElaborate(e,t,n,r,i,o){return checkTypeRelatedToAndOptionallyElaborate(e,t,ki,n,r,i,o,void 0)}function checkTypeRelatedToAndOptionallyElaborate(e,t,n,r,i,o,a,s){return!!isTypeRelatedTo(e,t,n)||(!r||!elaborateError(i,e,t,n,o,a,s))&&checkTypeRelatedTo(e,t,n,r,o,a,s)}function isOrHasGenericConditional(e){return!!(16777216&e.flags||2097152&e.flags&&some(e.types,isOrHasGenericConditional))}function elaborateError(e,t,n,r,i,o,a){if(!e||isOrHasGenericConditional(n))return!1;if(!checkTypeRelatedTo(t,n,r,void 0)&&function elaborateDidYouMeanToCallOrConstruct(e,t,n,r,i,o,a){const s=getSignaturesOfType(t,0),c=getSignaturesOfType(t,1);for(const l of[c,s])if(some(l,e=>{const t=getReturnTypeOfSignature(e);return!(131073&t.flags)&&checkTypeRelatedTo(t,n,r,void 0)})){const r=a||{};checkTypeAssignableTo(t,n,e,i,o,r);return addRelatedInfo(r.errors[r.errors.length-1],createDiagnosticForNode(e,l===c?Ot.Did_you_mean_to_use_new_with_this_expression:Ot.Did_you_mean_to_call_this_expression)),!0}return!1}(e,t,n,r,i,o,a))return!0;switch(e.kind){case 235:if(!isConstAssertion(e))break;case 295:case 218:return elaborateError(e.expression,t,n,r,i,o,a);case 227:switch(e.operatorToken.kind){case 64:case 28:return elaborateError(e.right,t,n,r,i,o,a)}break;case 211:return function elaborateObjectLiteral(e,t,n,r,i,o){return!(402915324&n.flags)&&elaborateElementwise(function*generateObjectLiteralElements(e){if(!length(e.properties))return;for(const t of e.properties){if(isSpreadAssignment(t))continue;const e=getLiteralTypeFromProperty(getSymbolOfDeclaration(t),8576);if(e&&!(131072&e.flags))switch(t.kind){case 179:case 178:case 175:case 305:yield{errorNode:t.name,innerExpression:void 0,nameType:e};break;case 304:yield{errorNode:t.name,innerExpression:t.initializer,nameType:e,errorMessage:isComputedNonLiteralName(t.name)?Ot.Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:void 0};break;default:h.assertNever(t)}}}(e),t,n,r,i,o)}(e,t,n,r,o,a);case 210:return function elaborateArrayLiteral(e,t,n,r,i,o){if(402915324&n.flags)return!1;if(isTupleLikeType(t))return elaborateElementwise(generateLimitedTupleElements(e,n),t,n,r,i,o);pushContextualType(e,n,!1);const a=checkArrayLiteral(e,1,!0);if(popContextualType(),isTupleLikeType(a))return elaborateElementwise(generateLimitedTupleElements(e,n),a,n,r,i,o);return!1}(e,t,n,r,o,a);case 293:return function elaborateJsxComponents(e,t,n,r,i,o){let a,s=elaborateElementwise(function*generateJsxAttributes(e){if(!length(e.properties))return;for(const t of e.properties)isJsxSpreadAttribute(t)||isHyphenatedJsxName(getTextOfJsxAttributeName(t.name))||(yield{errorNode:t.name,innerExpression:t.initializer,nameType:getStringLiteralType(getTextOfJsxAttributeName(t.name))})}(e),t,n,r,i,o);if(isJsxOpeningElement(e.parent)&&isJsxElement(e.parent.parent)){const a=e.parent.parent,c=getJsxElementChildrenPropertyName(getJsxNamespaceAt(e)),l=void 0===c?"children":unescapeLeadingUnderscores(c),d=getStringLiteralType(l),p=getIndexedAccessType(n,d),u=getSemanticJsxChildren(a.children);if(!length(u))return s;const m=length(u)>1;let _,f;if(getGlobalIterableType(!1)!==Et){const e=createIterableType(ke);_=filterType(p,t=>isTypeAssignableTo(t,e)),f=filterType(p,t=>!isTypeAssignableTo(t,e))}else _=filterType(p,isArrayOrTupleLikeType),f=filterType(p,e=>!isArrayOrTupleLikeType(e));if(m){if(_!==tt){const e=createTupleType(checkJsxChildren(a,0)),t=function*generateJsxChildren(e,t){if(!length(e.children))return;let n=0;for(let r=0;r<e.children.length;r++){const i=getElaborationElementForJsxChild(e.children[r],getNumberLiteralType(r-n),t);i?yield i:n++}}(a,getInvalidTextualChildDiagnostic);s=function elaborateIterableOrArrayLikeTargetElementwise(e,t,n,r,i,o){const a=filterType(n,isArrayOrTupleLikeType),s=filterType(n,e=>!isArrayOrTupleLikeType(e)),c=s!==tt?getIterationTypeOfIterable(13,0,s,void 0):void 0;let l=!1;for(let n=e.next();!n.done;n=e.next()){const{errorNode:e,innerExpression:s,nameType:d,errorMessage:p}=n.value;let u=c;const m=a!==tt?getBestMatchIndexedAccessTypeOrUndefined(t,a,d):void 0;if(!m||8388608&m.flags||(u=c?getUnionType([c,m]):m),!u)continue;let _=getIndexedAccessTypeOrUndefined(t,d);if(!_)continue;const f=getPropertyNameFromIndex(d,void 0);if(!checkTypeRelatedTo(_,u,r,void 0)){if(l=!0,!(s&&elaborateError(s,_,u,r,void 0,i,o))){const n=o||{},c=s?checkExpressionForMutableLocationWithContextualType(s,_):_;if(L&&isExactOptionalPropertyMismatch(c,u)){const t=createDiagnosticForNode(e,Ot.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target,typeToString(c),typeToString(u));vi.add(t),n.errors=[t]}else{const o=!!(f&&16777216&(getPropertyOfType(a,f)||ve).flags),s=!!(f&&16777216&(getPropertyOfType(t,f)||ve).flags);u=removeMissingType(u,o),_=removeMissingType(_,o&&s);checkTypeRelatedTo(c,u,r,e,p,i,n)&&c!==_&&checkTypeRelatedTo(_,u,r,e,p,i,n)}}}}return l}(t,e,_,r,i,o)||s}else if(!isTypeRelatedTo(getIndexedAccessType(t,d),p,r)){s=!0;const e=error2(a.openingElement.tagName,Ot.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided,l,typeToString(p));o&&o.skipLogging&&(o.errors||(o.errors=[])).push(e)}}else if(f!==tt){const e=getElaborationElementForJsxChild(u[0],d,getInvalidTextualChildDiagnostic);e&&(s=elaborateElementwise(function*(){yield e}(),t,n,r,i,o)||s)}else if(!isTypeRelatedTo(getIndexedAccessType(t,d),p,r)){s=!0;const e=error2(a.openingElement.tagName,Ot.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided,l,typeToString(p));o&&o.skipLogging&&(o.errors||(o.errors=[])).push(e)}}return s;function getInvalidTextualChildDiagnostic(){if(!a){const t=getTextOfNode(e.parent.tagName),r=getJsxElementChildrenPropertyName(getJsxNamespaceAt(e)),i=void 0===r?"children":unescapeLeadingUnderscores(r),o=getIndexedAccessType(n,getStringLiteralType(i)),s=Ot._0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2;a={...s,key:"!!ALREADY FORMATTED!!",message:formatMessage(s,t,i,typeToString(o))}}return a}}(e,t,n,r,o,a);case 220:return function elaborateArrowFunction(e,t,n,r,i,o){if(isBlock(e.body))return!1;if(some(e.parameters,hasType))return!1;const a=getSingleCallSignature(t);if(!a)return!1;const s=getSignaturesOfType(n,0);if(!length(s))return!1;const c=e.body,l=getReturnTypeOfSignature(a),d=getUnionType(map(s,getReturnTypeOfSignature));if(!checkTypeRelatedTo(l,d,r,void 0)){const t=c&&elaborateError(c,l,d,r,void 0,i,o);if(t)return t;const a=o||{};if(checkTypeRelatedTo(l,d,r,c,void 0,i,a),a.errors)return n.symbol&&length(n.symbol.declarations)&&addRelatedInfo(a.errors[a.errors.length-1],createDiagnosticForNode(n.symbol.declarations[0],Ot.The_expected_type_comes_from_the_return_type_of_this_signature)),2&getFunctionFlags(e)||getTypeOfPropertyOfType(l,"then")||!checkTypeRelatedTo(createPromiseType(l),d,r,void 0)||addRelatedInfo(a.errors[a.errors.length-1],createDiagnosticForNode(e,Ot.Did_you_mean_to_mark_this_function_as_async)),!0}return!1}(e,t,n,r,o,a)}return!1}function getBestMatchIndexedAccessTypeOrUndefined(e,t,n){const r=getIndexedAccessTypeOrUndefined(t,n);if(r)return r;if(1048576&t.flags){const r=getBestMatchingType(e,t);if(r)return getIndexedAccessTypeOrUndefined(r,n)}}function checkExpressionForMutableLocationWithContextualType(e,t){pushContextualType(e,t,!1);const n=checkExpressionForMutableLocation(e,1);return popContextualType(),n}function elaborateElementwise(e,t,n,r,i,o){let a=!1;for(const s of e){const{errorNode:e,innerExpression:c,nameType:l,errorMessage:d}=s;let p=getBestMatchIndexedAccessTypeOrUndefined(t,n,l);if(!p||8388608&p.flags)continue;let u=getIndexedAccessTypeOrUndefined(t,l);if(!u)continue;const m=getPropertyNameFromIndex(l,void 0);if(!checkTypeRelatedTo(u,p,r,void 0)){if(a=!0,!(c&&elaborateError(c,u,p,r,void 0,i,o))){const a=o||{},s=c?checkExpressionForMutableLocationWithContextualType(c,u):u;if(L&&isExactOptionalPropertyMismatch(s,p)){const t=createDiagnosticForNode(e,Ot.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target,typeToString(s),typeToString(p));vi.add(t),a.errors=[t]}else{const o=!!(m&&16777216&(getPropertyOfType(n,m)||ve).flags),c=!!(m&&16777216&(getPropertyOfType(t,m)||ve).flags);p=removeMissingType(p,o),u=removeMissingType(u,o&&c);checkTypeRelatedTo(s,p,r,e,d,i,a)&&s!==u&&checkTypeRelatedTo(u,p,r,e,d,i,a)}if(a.errors){const e=a.errors[a.errors.length-1],t=isTypeUsableAsPropertyName(l)?getPropertyNameFromType(l):void 0,r=void 0!==t?getPropertyOfType(n,t):void 0;let i=!1;if(!r){const t=getApplicableIndexInfo(n,l);t&&t.declaration&&!getSourceFileOfNode(t.declaration).hasNoDefaultLib&&(i=!0,addRelatedInfo(e,createDiagnosticForNode(t.declaration,Ot.The_expected_type_comes_from_this_index_signature)))}if(!i&&(r&&length(r.declarations)||n.symbol&&length(n.symbol.declarations))){const i=r&&length(r.declarations)?r.declarations[0]:n.symbol.declarations[0];getSourceFileOfNode(i).hasNoDefaultLib||addRelatedInfo(e,createDiagnosticForNode(i,Ot.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1,!t||8192&l.flags?typeToString(l):unescapeLeadingUnderscores(t),typeToString(n)))}}}}}return a}function getElaborationElementForJsxChild(e,t,n){switch(e.kind){case 295:return{errorNode:e,innerExpression:e.expression,nameType:t};case 12:if(e.containsOnlyTriviaWhiteSpaces)break;return{errorNode:e,innerExpression:void 0,nameType:t,errorMessage:n()};case 285:case 286:case 289:return{errorNode:e,innerExpression:e,nameType:t};default:return h.assertNever(e,"Found invalid jsx child")}}function*generateLimitedTupleElements(e,t){const n=length(e.elements);if(n)for(let r=0;r<n;r++){if(isTupleLikeType(t)&&!getPropertyOfType(t,""+r))continue;const n=e.elements[r];if(isOmittedExpression(n))continue;const i=getNumberLiteralType(r),o=getEffectiveCheckNode(n);yield{errorNode:o,innerExpression:o,nameType:i}}}function checkTypeComparableTo(e,t,n,r,i){return checkTypeRelatedTo(e,t,Fi,n,r,i)}function isTopSignature(e){if(!e.typeParameters&&(!e.thisParameter||isTypeAny(getTypeOfParameter(e.thisParameter)))&&1===e.parameters.length&&signatureHasRestParameter(e)){const t=getTypeOfParameter(e.parameters[0]);return!!(131073&(isArrayType(t)?getTypeArguments(t)[0]:t).flags&&3&getReturnTypeOfSignature(e).flags)}return!1}function compareSignaturesRelated(e,t,n,r,i,o,a,s){if(e===t)return-1;if(!(16&n&&isTopSignature(e))&&isTopSignature(t))return-1;if(16&n&&isTopSignature(e)&&!isTopSignature(t))return 0;const c=getParameterCount(t);if(!hasEffectiveRestParameter(t)&&(8&n?hasEffectiveRestParameter(e)||getParameterCount(e)>c:getMinArgumentCount(e)>c))return!r||8&n||i(Ot.Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1,getMinArgumentCount(e),c),0;e.typeParameters&&e.typeParameters!==t.typeParameters&&(e=instantiateSignatureInContextOf(e,t=getCanonicalSignature(t),void 0,a));const l=getParameterCount(e),d=getNonArrayRestType(e),p=getNonArrayRestType(t);(d||p)&&instantiateType(d||p,s);const u=t.declaration?t.declaration.kind:0,m=!(3&n)&&F&&175!==u&&174!==u&&177!==u;let _=-1;const f=getThisTypeOfSignature(e);if(f&&f!==et){const e=getThisTypeOfSignature(t);if(e){const t=!m&&a(f,e,!1)||a(e,f,r);if(!t)return r&&i(Ot.The_this_types_of_each_signature_are_incompatible),0;_&=t}}const g=d||p?Math.min(l,c):Math.max(l,c),y=d||p?g-1:-1;for(let c=0;c<g;c++){const l=c===y?getRestOrAnyTypeAtPosition(e,c):tryGetTypeAtPosition(e,c),d=c===y?getRestOrAnyTypeAtPosition(t,c):tryGetTypeAtPosition(t,c);if(l&&d&&(l!==d||8&n)){const p=3&n||isInstantiatedGenericParameter(e,c)?void 0:getSingleCallSignature(getNonNullableType(l)),u=3&n||isInstantiatedGenericParameter(t,c)?void 0:getSingleCallSignature(getNonNullableType(d));let f=p&&u&&!getTypePredicateOfSignature(p)&&!getTypePredicateOfSignature(u)&&getTypeFacts(l,50331648)===getTypeFacts(d,50331648)?compareSignaturesRelated(u,p,8&n|(m?2:1),r,i,o,a,s):!(3&n)&&!m&&a(l,d,!1)||a(d,l,r);if(f&&8&n&&c>=getMinArgumentCount(e)&&c<getMinArgumentCount(t)&&a(l,d,!1)&&(f=0),!f)return r&&i(Ot.Types_of_parameters_0_and_1_are_incompatible,unescapeLeadingUnderscores(getParameterNameAtPosition(e,c)),unescapeLeadingUnderscores(getParameterNameAtPosition(t,c))),0;_&=f}}if(!(4&n)){const s=isResolvingReturnTypeOfSignature(t)?ke:t.declaration&&isJSConstructor(t.declaration)?getDeclaredTypeOfClassOrInterface(getMergedSymbol(t.declaration.symbol)):getReturnTypeOfSignature(t);if(s===et||s===ke)return _;const c=isResolvingReturnTypeOfSignature(e)?ke:e.declaration&&isJSConstructor(e.declaration)?getDeclaredTypeOfClassOrInterface(getMergedSymbol(e.declaration.symbol)):getReturnTypeOfSignature(e),l=getTypePredicateOfSignature(t);if(l){const t=getTypePredicateOfSignature(e);if(t)_&=function compareTypePredicateRelatedTo(e,t,n,r,i){if(e.kind!==t.kind)return n&&(r(Ot.A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard),r(Ot.Type_predicate_0_is_not_assignable_to_1,typePredicateToString(e),typePredicateToString(t))),0;if((1===e.kind||3===e.kind)&&e.parameterIndex!==t.parameterIndex)return n&&(r(Ot.Parameter_0_is_not_in_the_same_position_as_parameter_1,e.parameterName,t.parameterName),r(Ot.Type_predicate_0_is_not_assignable_to_1,typePredicateToString(e),typePredicateToString(t))),0;const o=e.type===t.type?-1:e.type&&t.type?i(e.type,t.type,n):0;0===o&&n&&r(Ot.Type_predicate_0_is_not_assignable_to_1,typePredicateToString(e),typePredicateToString(t));return o}(t,l,r,i,a);else if(isIdentifierTypePredicate(l)||isThisTypePredicate(l))return r&&i(Ot.Signature_0_must_be_a_type_predicate,signatureToString(e)),0}else _&=1&n&&a(s,c,!1)||a(c,s,r),!_&&r&&o&&o(c,s)}return _}function isImplementationCompatibleWithOverload(e,t){const n=getErasedSignature(e),r=getErasedSignature(t),i=getReturnTypeOfSignature(n),o=getReturnTypeOfSignature(r);return!(o!==et&&!isTypeRelatedTo(o,i,ki)&&!isTypeRelatedTo(i,o,ki))&&function isSignatureAssignableTo(e,t,n){return 0!==compareSignaturesRelated(e,t,n?4:0,!1,void 0,void 0,compareTypesAssignable,void 0)}(n,r,!0)}function isEmptyResolvedType(e){return e!==Nt&&0===e.properties.length&&0===e.callSignatures.length&&0===e.constructSignatures.length&&0===e.indexInfos.length}function isEmptyObjectType(e){return 524288&e.flags?!isGenericMappedType(e)&&isEmptyResolvedType(resolveStructuredTypeMembers(e)):!!(67108864&e.flags)||(1048576&e.flags?some(e.types,isEmptyObjectType):!!(2097152&e.flags)&&every(e.types,isEmptyObjectType))}function isEmptyAnonymousObjectType(e){return!!(16&getObjectFlags(e)&&(e.members&&isEmptyResolvedType(e)||e.symbol&&2048&e.symbol.flags&&0===getMembersOfSymbol(e.symbol).size))}function containsUndefinedType(e){return!!(32768&(1048576&e.flags?e.types[0]:e).flags)}function isStringIndexSignatureOnlyType(e){return 524288&e.flags&&!isGenericMappedType(e)&&0===getPropertiesOfType(e).length&&1===getIndexInfosOfType(e).length&&!!getIndexInfoOfType(e,ze)||3145728&e.flags&&every(e.types,isStringIndexSignatureOnlyType)||!1}function isEnumTypeRelatedTo(e,t,n){const r=8&e.flags?getParentOfSymbol(e):e,i=8&t.flags?getParentOfSymbol(t):t;if(r===i)return!0;if(!(r.escapedName===i.escapedName&&256&r.flags&&256&i.flags))return!1;const o=getSymbolId(r)+","+getSymbolId(i),a=Ii.get(o);if(void 0!==a&&!(2&a&&n))return!!(1&a);const s=getTypeOfSymbol(i);for(const e of getPropertiesOfType(getTypeOfSymbol(r)))if(8&e.flags){const t=getPropertyOfType(s,e.escapedName);if(!(t&&8&t.flags))return n&&n(Ot.Property_0_is_missing_in_type_1,symbolName(e),typeToString(getDeclaredTypeOfSymbol(i),void 0,64)),Ii.set(o,2),!1;const r=getEnumMemberValue(getDeclarationOfKind(e,307)).value,a=getEnumMemberValue(getDeclarationOfKind(t,307)).value;if(r!==a){const e="string"==typeof r,s="string"==typeof a;if(void 0!==r&&void 0!==a){if(n){const o=e?`"${escapeString(r)}"`:r,c=s?`"${escapeString(a)}"`:a;n(Ot.Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given,symbolName(i),symbolName(t),c,o)}return Ii.set(o,2),!1}if(e||s){if(n){const e=r??a;h.assert("string"==typeof e);const o=`"${escapeString(e)}"`;n(Ot.One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value,symbolName(i),symbolName(t),o)}return Ii.set(o,2),!1}}}return Ii.set(o,1),!0}function isSimpleTypeRelatedTo(e,t,n,r){const i=e.flags,o=t.flags;if(1&o||131072&i||e===Pe)return!0;if(2&o&&!(n===Ni&&1&i))return!0;if(131072&o)return!1;if(402653316&i&&4&o)return!0;if(128&i&&1024&i&&128&o&&!(1024&o)&&e.value===t.value)return!0;if(296&i&&8&o)return!0;if(256&i&&1024&i&&256&o&&!(1024&o)&&e.value===t.value)return!0;if(2112&i&&64&o)return!0;if(528&i&&16&o)return!0;if(12288&i&&4096&o)return!0;if(32&i&&32&o&&e.symbol.escapedName===t.symbol.escapedName&&isEnumTypeRelatedTo(e.symbol,t.symbol,r))return!0;if(1024&i&&1024&o){if(1048576&i&&1048576&o&&isEnumTypeRelatedTo(e.symbol,t.symbol,r))return!0;if(2944&i&&2944&o&&e.value===t.value&&isEnumTypeRelatedTo(e.symbol,t.symbol,r))return!0}if(32768&i&&(!k&&!(3145728&o)||49152&o))return!0;if(65536&i&&(!k&&!(3145728&o)||65536&o))return!0;if(524288&i&&67108864&o&&(n!==Ni||!isEmptyAnonymousObjectType(e)||8192&getObjectFlags(e)))return!0;if(n===ki||n===Fi){if(1&i)return!0;if(8&i&&(32&o||256&o&&1024&o))return!0;if(256&i&&!(1024&i)&&(32&o||256&o&&1024&o&&e.value===t.value))return!0;if(function isUnknownLikeUnionType(e){if(k&&1048576&e.flags){if(!(33554432&e.objectFlags)){const t=e.types;e.objectFlags|=33554432|(t.length>=3&&32768&t[0].flags&&65536&t[1].flags&&some(t,isEmptyAnonymousObjectType)?67108864:0)}return!!(67108864&e.objectFlags)}return!1}(t))return!0}return!1}function isTypeRelatedTo(e,t,n){if(isFreshLiteralType(e)&&(e=e.regularType),isFreshLiteralType(t)&&(t=t.regularType),e===t)return!0;if(n!==Pi){if(n===Fi&&!(131072&t.flags)&&isSimpleTypeRelatedTo(t,e,n)||isSimpleTypeRelatedTo(e,t,n))return!0}else if(!(61865984&(e.flags|t.flags))){if(e.flags!==t.flags)return!1;if(67358815&e.flags)return!0}if(524288&e.flags&&524288&t.flags){const r=n.get(getRelationKey(e,t,0,n,!1));if(void 0!==r)return!!(1&r)}return!!(469499904&e.flags||469499904&t.flags)&&checkTypeRelatedTo(e,t,n,void 0)}function isIgnoredJsxProperty(e,t){return 2048&getObjectFlags(e)&&isHyphenatedJsxName(t.escapedName)}function getNormalizedType(e,t){for(;;){const n=isFreshLiteralType(e)?e.regularType:isGenericTupleType(e)?getNormalizedTupleType(e,t):4&getObjectFlags(e)?e.node?createTypeReference(e.target,getTypeArguments(e)):getSingleBaseForNonAugmentingSubtype(e)||e:3145728&e.flags?getNormalizedUnionOrIntersectionType(e,t):33554432&e.flags?t?e.baseType:getSubstitutionIntersection(e):25165824&e.flags?getSimplifiedType(e,t):e;if(n===e)return n;e=n}}function getNormalizedUnionOrIntersectionType(e,t){const n=getReducedType(e);if(n!==e)return n;if(2097152&e.flags&&function shouldNormalizeIntersection(e){let t=!1,n=!1;for(const r of e.types)if(t||(t=!!(465829888&r.flags)),n||(n=!!(98304&r.flags)||isEmptyAnonymousObjectType(r)),t&&n)return!0;return!1}(e)){const n=sameMap(e.types,e=>getNormalizedType(e,t));if(n!==e.types)return getIntersectionType(n)}return e}function getNormalizedTupleType(e,t){const n=getElementTypes(e),r=sameMap(n,e=>25165824&e.flags?getSimplifiedType(e,t):e);return n!==r?createNormalizedTupleType(e.target,r):e}function checkTypeRelatedTo(e,t,n,i,o,a,s){var c;let d,p,u,m,_,f,g,y,T=0,x=0,v=0,b=0,C=!1,E=0,N=0,F=16e6-n.size>>3;h.assert(n!==Pi||!i,"no error reporting in identity checking");const P=isRelatedTo(e,t,3,!!i,o);if(y&&reportIncompatibleStack(),C){const o=getRelationKey(e,t,0,n,!1);n.set(o,2|(F<=0?32:64)),null==(c=J)||c.instant(J.Phase.CheckTypes,"checkTypeRelatedTo_DepthLimit",{sourceId:e.id,targetId:t.id,depth:x,targetDepth:v});const a=F<=0?Ot.Excessive_complexity_comparing_types_0_and_1:Ot.Excessive_stack_depth_comparing_types_0_and_1,l=error2(i||r,a,typeToString(e),typeToString(t));s&&(s.errors||(s.errors=[])).push(l)}else if(d){if(a){const e=a();e&&(concatenateDiagnosticMessageChains(e,d),d=e)}let r;if(o&&i&&!P&&e.symbol){const i=getSymbolLinks(e.symbol);if(i.originatingImport&&!isImportCall(i.originatingImport)){if(checkTypeRelatedTo(getTypeOfSymbol(i.target),t,n,void 0)){r=append(r,createDiagnosticForNode(i.originatingImport,Ot.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead))}}}const c=createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(i),i,d,r);p&&addRelatedInfo(c,...p),s&&(s.errors||(s.errors=[])).push(c),s&&s.skipLogging||vi.add(c)}return i&&s&&s.skipLogging&&0===P&&h.assert(!!s.errors,"missed opportunity to interact with error."),0!==P;function resetErrorInfo(e){d=e.errorInfo,g=e.lastSkippedInfo,y=e.incompatibleStack,E=e.overrideNextErrorInfo,N=e.skipParentCounter,p=e.relatedInfo}function captureErrorCalculationState(){return{errorInfo:d,lastSkippedInfo:g,incompatibleStack:null==y?void 0:y.slice(),overrideNextErrorInfo:E,skipParentCounter:N,relatedInfo:null==p?void 0:p.slice()}}function reportIncompatibleError(e,...t){E++,g=void 0,(y||(y=[])).push([e,...t])}function reportIncompatibleStack(){const e=y||[];y=void 0;const t=g;if(g=void 0,1===e.length)return reportError(...e[0]),void(t&&reportRelationError(void 0,...t));let n="";const r=[];for(;e.length;){const[t,...i]=e.pop();switch(t.code){case Ot.Types_of_property_0_are_incompatible.code:{0===n.indexOf("new ")&&(n=`(${n})`);const e=""+i[0];n=0===n.length?`${e}`:isIdentifierText(e,zn(S))?`${n}.${e}`:"["===e[0]&&"]"===e[e.length-1]?`${n}${e}`:`${n}[${e}]`;break}case Ot.Call_signature_return_types_0_and_1_are_incompatible.code:case Ot.Construct_signature_return_types_0_and_1_are_incompatible.code:case Ot.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:case Ot.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:if(0===n.length){let e=t;t.code===Ot.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?e=Ot.Call_signature_return_types_0_and_1_are_incompatible:t.code===Ot.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code&&(e=Ot.Construct_signature_return_types_0_and_1_are_incompatible),r.unshift([e,i[0],i[1]])}else{n=`${t.code===Ot.Construct_signature_return_types_0_and_1_are_incompatible.code||t.code===Ot.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?"new ":""}${n}(${t.code===Ot.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code||t.code===Ot.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?"":"..."})`}break;case Ot.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target.code:r.unshift([Ot.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,i[0],i[1]]);break;case Ot.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target.code:r.unshift([Ot.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,i[0],i[1],i[2]]);break;default:return h.fail(`Unhandled Diagnostic: ${t.code}`)}}n?reportError(")"===n[n.length-1]?Ot.The_types_returned_by_0_are_incompatible_between_these_types:Ot.The_types_of_0_are_incompatible_between_these_types,n):r.shift();for(const[e,...t]of r){const n=e.elidedInCompatabilityPyramid;e.elidedInCompatabilityPyramid=!1,reportError(e,...t),e.elidedInCompatabilityPyramid=n}t&&reportRelationError(void 0,...t)}function reportError(e,...t){h.assert(!!i),y&&reportIncompatibleStack(),e.elidedInCompatabilityPyramid||(0===N?d=chainDiagnosticMessages(d,e,...t):N--)}function reportParentSkippedError(e,...t){reportError(e,...t),N++}function associateRelatedInfo(e){h.assert(!!d),p?p.push(e):p=[e]}function reportRelationError(e,t,r){y&&reportIncompatibleStack();const[i,o]=getTypeNamesForErrorDisplay(t,r);let a=t,s=i;131072&r.flags||!isLiteralType(t)||typeCouldHaveTopLevelSingletonTypes(r)||(a=getBaseTypeOfLiteralType(t),h.assert(!isTypeAssignableTo(a,r),"generalized source shouldn't be assignable"),s=getTypeNameForErrorDisplay(a));if(262144&(8388608&r.flags&&!(8388608&t.flags)?r.objectType.flags:r.flags)&&r!==wt&&r!==Lt){const e=getBaseConstraintOfType(r);let n;e&&(isTypeAssignableTo(a,e)||(n=isTypeAssignableTo(t,e)))?reportError(Ot._0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2,n?i:s,o,typeToString(e)):(d=void 0,reportError(Ot._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1,o,s))}if(e)e===Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1&&L&&getExactOptionalUnassignableProperties(t,r).length&&(e=Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties);else if(n===Fi)e=Ot.Type_0_is_not_comparable_to_type_1;else if(i===o)e=Ot.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated;else if(L&&getExactOptionalUnassignableProperties(t,r).length)e=Ot.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties;else{if(128&t.flags&&1048576&r.flags){const e=function getSuggestedTypeForNonexistentStringLiteralType(e,t){const n=t.types.filter(e=>!!(128&e.flags));return getSpellingSuggestion(e.value,n,e=>e.value)}(t,r);if(e)return void reportError(Ot.Type_0_is_not_assignable_to_type_1_Did_you_mean_2,s,o,typeToString(e))}e=Ot.Type_0_is_not_assignable_to_type_1}reportError(e,s,o)}function tryElaborateArrayLikeErrors(e,t,n){return isTupleType(e)?e.target.readonly&&isMutableArrayOrTuple(t)?(n&&reportError(Ot.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,typeToString(e),typeToString(t)),!1):isArrayOrTupleType(t):isReadonlyArrayType(e)&&isMutableArrayOrTuple(t)?(n&&reportError(Ot.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,typeToString(e),typeToString(t)),!1):!isTupleType(t)||isArrayType(e)}function isRelatedToWorker(e,t,n){return isRelatedTo(e,t,3,n)}function isRelatedTo(e,t,r=3,o=!1,a,s=0){if(e===t)return-1;if(524288&e.flags&&402784252&t.flags)return n===Fi&&!(131072&t.flags)&&isSimpleTypeRelatedTo(t,e,n)||isSimpleTypeRelatedTo(e,t,n,o?reportError:void 0)?-1:(o&&reportErrorResults(e,t,e,t,a),0);const c=getNormalizedType(e,!1);let l=getNormalizedType(t,!0);if(c===l)return-1;if(n===Pi)return c.flags!==l.flags?0:67358815&c.flags?-1:(traceUnionsOrIntersectionsTooLarge(c,l),recursiveTypeRelatedTo(c,l,!1,0,r));if(262144&c.flags&&getConstraintOfType(c)===l)return-1;if(470302716&c.flags&&1048576&l.flags){const e=l.types,t=2===e.length&&98304&e[0].flags?e[1]:3===e.length&&98304&e[0].flags&&98304&e[1].flags?e[2]:void 0;if(t&&!(98304&t.flags)&&(l=getNormalizedType(t,!0),c===l))return-1}if(n===Fi&&!(131072&l.flags)&&isSimpleTypeRelatedTo(l,c,n)||isSimpleTypeRelatedTo(c,l,n,o?reportError:void 0))return-1;if(469499904&c.flags||469499904&l.flags){if(!(2&s)&&isObjectLiteralType2(c)&&8192&getObjectFlags(c)&&function hasExcessProperties(e,t,r){var o;if(!isExcessPropertyCheckTarget(t)||!A&&4096&getObjectFlags(t))return!1;const a=!!(2048&getObjectFlags(e));if((n===ki||n===Fi)&&(isTypeSubsetOf(Jt,t)||!a&&isEmptyObjectType(t)))return!1;let s,c=t;1048576&t.flags&&(c=findMatchingDiscriminantType(e,t,isRelatedTo)||function filterPrimitivesIfContainsNonPrimitive(e){if(maybeTypeOfKind(e,67108864)){const t=filterType(e,e=>!(402784252&e.flags));if(!(131072&t.flags))return t}return e}(t),s=1048576&c.flags?c.types:[c]);for(const t of getPropertiesOfType(e))if(shouldCheckAsExcessProperty(t,e.symbol)&&!isIgnoredJsxProperty(e,t)){if(!isKnownProperty(c,t.escapedName,a)){if(r){const n=filterType(c,isExcessPropertyCheckTarget);if(!i)return h.fail();if(isJsxAttributes(i)||isJsxOpeningLikeElement(i)||isJsxOpeningLikeElement(i.parent)){t.valueDeclaration&&isJsxAttribute(t.valueDeclaration)&&getSourceFileOfNode(i)===getSourceFileOfNode(t.valueDeclaration.name)&&(i=t.valueDeclaration.name);const e=symbolToString(t),r=getSuggestedSymbolForNonexistentJSXAttribute(e,n),o=r?symbolToString(r):void 0;o?reportError(Ot.Property_0_does_not_exist_on_type_1_Did_you_mean_2,e,typeToString(n),o):reportError(Ot.Property_0_does_not_exist_on_type_1,e,typeToString(n))}else{const r=(null==(o=e.symbol)?void 0:o.declarations)&&firstOrUndefined(e.symbol.declarations);let a;if(t.valueDeclaration&&findAncestor(t.valueDeclaration,e=>e===r)&&getSourceFileOfNode(r)===getSourceFileOfNode(i)){const e=t.valueDeclaration;h.assertNode(e,isObjectLiteralElementLike);const r=e.name;i=r,isIdentifier(r)&&(a=getSuggestionForNonexistentProperty(r,n))}void 0!==a?reportParentSkippedError(Ot.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2,symbolToString(t),typeToString(n),a):reportParentSkippedError(Ot.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,symbolToString(t),typeToString(n))}}return!0}if(s&&!isRelatedTo(getTypeOfSymbol(t),getTypeOfPropertyInTypes(s,t.escapedName),3,r))return r&&reportIncompatibleError(Ot.Types_of_property_0_are_incompatible,symbolToString(t)),!0}return!1}(c,l,o))return o&&reportRelationError(a,c,t.aliasSymbol?t:l),0;const d=(n!==Fi||isUnitType(c))&&!(2&s)&&405405692&c.flags&&c!==Jt&&2621440&l.flags&&isWeakType(l)&&(getPropertiesOfType(c).length>0||typeHasCallOrConstructSignatures(c)),p=!!(2048&getObjectFlags(c));if(d&&!function hasCommonProperties(e,t,n){for(const r of getPropertiesOfType(e))if(isKnownProperty(t,r.escapedName,n))return!0;return!1}(c,l,p)){if(o){const n=typeToString(e.aliasSymbol?e:c),r=typeToString(t.aliasSymbol?t:l),i=getSignaturesOfType(c,0),o=getSignaturesOfType(c,1);i.length>0&&isRelatedTo(getReturnTypeOfSignature(i[0]),l,1,!1)||o.length>0&&isRelatedTo(getReturnTypeOfSignature(o[0]),l,1,!1)?reportError(Ot.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,n,r):reportError(Ot.Type_0_has_no_properties_in_common_with_type_1,n,r)}return 0}traceUnionsOrIntersectionsTooLarge(c,l);const u=1048576&c.flags&&c.types.length<4&&!(1048576&l.flags)||1048576&l.flags&&l.types.length<4&&!(469499904&c.flags)?unionOrIntersectionRelatedTo(c,l,o,s):recursiveTypeRelatedTo(c,l,o,s,r);if(u)return u}return o&&reportErrorResults(e,t,c,l,a),0}function reportErrorResults(e,t,n,r,o){var a,s;const c=!!getSingleBaseForNonAugmentingSubtype(e),l=!!getSingleBaseForNonAugmentingSubtype(t);n=e.aliasSymbol||c?e:n,r=t.aliasSymbol||l?t:r;let p=E>0;if(p&&E--,524288&n.flags&&524288&r.flags){const e=d;tryElaborateArrayLikeErrors(n,r,!0),d!==e&&(p=!!d)}if(524288&n.flags&&402784252&r.flags)!function tryElaborateErrorsForPrimitivesAndObjects(e,t){const n=symbolValueDeclarationIsContextSensitive(e.symbol)?typeToString(e,e.symbol.valueDeclaration):typeToString(e),r=symbolValueDeclarationIsContextSensitive(t.symbol)?typeToString(t,t.symbol.valueDeclaration):typeToString(t);(Ht===e&&ze===t||Kt===e&&Ve===t||Gt===e&&Ye===t||getGlobalESSymbolType()===e&&Ze===t)&&reportError(Ot._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,r,n)}(n,r);else if(n.symbol&&524288&n.flags&&Jt===n)reportError(Ot.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(2048&getObjectFlags(n)&&2097152&r.flags){const e=r.types,t=getJsxType(qo.IntrinsicAttributes,i),n=getJsxType(qo.IntrinsicClassAttributes,i);if(!isErrorType(t)&&!isErrorType(n)&&(contains(e,t)||contains(e,n)))return}else d=elaborateNeverIntersection(d,t);if(!o&&p){const e=captureErrorCalculationState();let t;return reportRelationError(o,n,r),d&&d!==e.errorInfo&&(t={code:d.code,messageText:d.messageText}),resetErrorInfo(e),t&&d&&(d.canonicalHead=t),void(g=[n,r])}if(reportRelationError(o,n,r),262144&n.flags&&(null==(s=null==(a=n.symbol)?void 0:a.declarations)?void 0:s[0])&&!getConstraintOfType(n)){const e=cloneTypeParameter(n);if(e.constraint=instantiateType(r,makeUnaryTypeMapper(n,e)),hasNonCircularBaseConstraint(e)){const e=typeToString(r,n.symbol.declarations[0]);associateRelatedInfo(createDiagnosticForNode(n.symbol.declarations[0],Ot.This_type_parameter_might_need_an_extends_0_constraint,e))}}}function traceUnionsOrIntersectionsTooLarge(e,t){if(J&&3145728&e.flags&&3145728&t.flags){const n=e,r=t;if(n.objectFlags&r.objectFlags&32768)return;const o=n.types.length,a=r.types.length;o*a>1e6&&J.instant(J.Phase.CheckTypes,"traceUnionsOrIntersectionsTooLarge_DepthLimit",{sourceId:e.id,sourceSize:o,targetId:t.id,targetSize:a,pos:null==i?void 0:i.pos,end:null==i?void 0:i.end})}}function getTypeOfPropertyInTypes(e,t){return getUnionType(reduceLeft(e,(e,n)=>{var r;const i=3145728&(n=getApparentType(n)).flags?getPropertyOfUnionOrIntersectionType(n,t):getPropertyOfObjectType(n,t);return append(e,i&&getTypeOfSymbol(i)||(null==(r=getApplicableIndexInfoForName(n,t))?void 0:r.type)||Me)},void 0)||l)}function shouldCheckAsExcessProperty(e,t){return e.valueDeclaration&&t.valueDeclaration&&e.valueDeclaration.parent===t.valueDeclaration}function unionOrIntersectionRelatedTo(e,t,r,i){if(1048576&e.flags){if(1048576&t.flags){const n=e.origin;if(n&&2097152&n.flags&&t.aliasSymbol&&contains(n.types,t))return-1;const r=t.origin;if(r&&1048576&r.flags&&e.aliasSymbol&&contains(r.types,e))return-1}return n===Fi?someTypeRelatedToType(e,t,r&&!(402784252&e.flags),i):function eachTypeRelatedToType(e,t,n,r){let i=-1;const o=e.types,a=function getUndefinedStrippedTargetIfNeeded(e,t){if(1048576&e.flags&&1048576&t.flags&&!(32768&e.types[0].flags)&&32768&t.types[0].flags)return extractTypesOfKind(t,-32769);return t}(e,t);for(let e=0;e<o.length;e++){const s=o[e];if(1048576&a.flags&&o.length>=a.types.length&&o.length%a.types.length===0){const t=isRelatedTo(s,a.types[e%a.types.length],3,!1,void 0,r);if(t){i&=t;continue}}const c=isRelatedTo(s,t,1,n,void 0,r);if(!c)return 0;i&=c}return i}(e,t,r&&!(402784252&e.flags),i)}if(1048576&t.flags)return typeRelatedToSomeType(getRegularTypeOfObjectLiteral(e),t,r&&!(402784252&e.flags)&&!(402784252&t.flags),i);if(2097152&t.flags)return function typeRelatedToEachType(e,t,n,r){let i=-1;const o=t.types;for(const t of o){const o=isRelatedTo(e,t,2,n,void 0,r);if(!o)return 0;i&=o}return i}(e,t,r,2);if(n===Fi&&402784252&t.flags){const n=sameMap(e.types,e=>465829888&e.flags?getBaseConstraintOfType(e)||Le:e);if(n!==e.types){if(131072&(e=getIntersectionType(n)).flags)return 0;if(!(2097152&e.flags))return isRelatedTo(e,t,1,!1)||isRelatedTo(t,e,1,!1)}}return someTypeRelatedToType(e,t,!1,1)}function eachTypeRelatedToSomeType(e,t){let n=-1;const r=e.types;for(const e of r){const r=typeRelatedToSomeType(e,t,!1,0);if(!r)return 0;n&=r}return n}function typeRelatedToSomeType(e,t,r,i){const o=t.types;if(1048576&t.flags){if(containsType(o,e))return-1;if(n!==Fi&&32768&getObjectFlags(t)&&!(1024&e.flags)&&(2688&e.flags||(n===Ei||n===Ni)&&256&e.flags)){const t=e===e.regularType?e.freshType:e.regularType,n=128&e.flags?ze:256&e.flags?Ve:2048&e.flags?qe:void 0;return n&&containsType(o,n)||t&&containsType(o,t)?-1:0}const r=getMatchingUnionConstituentForType(t,e);if(r){const t=isRelatedTo(e,r,2,!1,void 0,i);if(t)return t}}for(const t of o){const n=isRelatedTo(e,t,2,!1,void 0,i);if(n)return n}if(r){const n=getBestMatchingType(e,t,isRelatedTo);n&&isRelatedTo(e,n,2,!0,void 0,i)}return 0}function someTypeRelatedToType(e,t,n,r){const i=e.types;if(1048576&e.flags&&containsType(i,t))return-1;const o=i.length;for(let e=0;e<o;e++){const a=isRelatedTo(i[e],t,1,n&&e===o-1,void 0,r);if(a)return a}return 0}function recursiveTypeRelatedTo(e,t,r,i,o){var a,s,c;if(C)return 0;const p=getRelationKey(e,t,i,n,!1),g=n.get(p);if(void 0!==g&&(!(r&&2&g)||96&g)){if(Xe){const t=24&g;8&t&&instantiateType(e,yt),16&t&&instantiateType(e,gt)}if(r&&96&g){reportError(32&g?Ot.Excessive_complexity_comparing_types_0_and_1:Ot.Excessive_stack_depth_comparing_types_0_and_1,typeToString(e),typeToString(t)),E++}return 1&g?-1:0}if(F<=0)return C=!0,0;if(u){if(m.has(p))return 3;const r=p.startsWith("*")?getRelationKey(e,t,i,n,!0):void 0;if(r&&m.has(r))return 3;if(100===x||100===v)return C=!0,0}else u=[],m=new Set,_=[],f=[];const y=T;u[T]=p,m.add(p),T++;const h=b;let S;1&o&&(_[x]=e,x++,1&b||!isDeeplyNestedType(e,_,x)||(b|=1)),2&o&&(f[v]=t,v++,2&b||!isDeeplyNestedType(t,f,v)||(b|=2));let N,P=0;return Xe&&(S=Xe,Xe=e=>(P|=e?16:8,S(e))),3===b?(null==(a=J)||a.instant(J.Phase.CheckTypes,"recursiveTypeRelatedTo_DepthLimit",{sourceId:e.id,sourceIdStack:_.map(e=>e.id),targetId:t.id,targetIdStack:f.map(e=>e.id),depth:x,targetDepth:v}),N=3):(null==(s=J)||s.push(J.Phase.CheckTypes,"structuredTypeRelatedTo",{sourceId:e.id,targetId:t.id}),N=function structuredTypeRelatedTo(e,t,r,i){const o=captureErrorCalculationState();let a=function structuredTypeRelatedToWorker(e,t,r,i,o){let a,s,c=!1,p=e.flags;const u=t.flags;if(n===Pi){if(3145728&p){let n=eachTypeRelatedToSomeType(e,t);return n&&(n&=eachTypeRelatedToSomeType(t,e)),n}if(4194304&p)return isRelatedTo(e.type,t.type,3,!1);if(8388608&p&&(a=isRelatedTo(e.objectType,t.objectType,3,!1))&&(a&=isRelatedTo(e.indexType,t.indexType,3,!1)))return a;if(16777216&p&&e.root.isDistributive===t.root.isDistributive&&(a=isRelatedTo(e.checkType,t.checkType,3,!1))&&(a&=isRelatedTo(e.extendsType,t.extendsType,3,!1))&&(a&=isRelatedTo(getTrueTypeFromConditionalType(e),getTrueTypeFromConditionalType(t),3,!1))&&(a&=isRelatedTo(getFalseTypeFromConditionalType(e),getFalseTypeFromConditionalType(t),3,!1)))return a;if(33554432&p&&(a=isRelatedTo(e.baseType,t.baseType,3,!1))&&(a&=isRelatedTo(e.constraint,t.constraint,3,!1)))return a;if(134217728&p&&arrayIsEqualTo(e.texts,t.texts)){const n=e.types,r=t.types;a=-1;for(let e=0;e<n.length&&(a&=isRelatedTo(n[e],r[e],3,!1));e++);return a}if(268435456&p&&e.symbol===t.symbol)return isRelatedTo(e.type,t.type,3,!1);if(!(524288&p))return 0}else if(3145728&p||3145728&u){if(a=unionOrIntersectionRelatedTo(e,t,r,i))return a;if(!(465829888&p||524288&p&&1048576&u||2097152&p&&467402752&u))return 0}if(17301504&p&&e.aliasSymbol&&e.aliasTypeArguments&&e.aliasSymbol===t.aliasSymbol&&!isMarkerType(e)&&!isMarkerType(t)){const n=getAliasVariances(e.aliasSymbol);if(n===l)return 1;const r=getSymbolLinks(e.aliasSymbol).typeParameters,o=getMinTypeArgumentCount(r),a=relateVariances(fillMissingTypeArguments(e.aliasTypeArguments,r,o,isInJSFile(e.aliasSymbol.valueDeclaration)),fillMissingTypeArguments(t.aliasTypeArguments,r,o,isInJSFile(e.aliasSymbol.valueDeclaration)),n,i);if(void 0!==a)return a}if(isSingleElementGenericTupleType(e)&&!e.target.readonly&&(a=isRelatedTo(getTypeArguments(e)[0],t,1))||isSingleElementGenericTupleType(t)&&(t.target.readonly||isMutableArrayOrTuple(getBaseConstraintOfType(e)||e))&&(a=isRelatedTo(e,getTypeArguments(t)[0],2)))return a;if(262144&u){if(32&getObjectFlags(e)&&!e.declaration.nameType&&isRelatedTo(getIndexType(t),getConstraintTypeFromMappedType(e),3)&&!(4&getMappedTypeModifiers(e))){const n=getTemplateTypeFromMappedType(e),i=getIndexedAccessType(t,getTypeParameterFromMappedType(e));if(a=isRelatedTo(n,i,3,r))return a}if(n===Fi&&262144&p){let n=getConstraintOfTypeParameter(e);if(n)for(;n&&someType(n,e=>!!(262144&e.flags));){if(a=isRelatedTo(n,t,1,!1))return a;n=getConstraintOfTypeParameter(n)}return 0}}else if(4194304&u){const n=t.type;if(4194304&p&&(a=isRelatedTo(n,e.type,3,!1)))return a;if(isTupleType(n)){if(a=isRelatedTo(e,getKnownKeysOfTupleType(n),2,r))return a}else{const i=getSimplifiedTypeOrConstraint(n);if(i){if(-1===isRelatedTo(e,getIndexType(i,4|t.indexFlags),2,r))return-1}else if(isGenericMappedType(n)){const t=getNameTypeFromMappedType(n),i=getConstraintTypeFromMappedType(n);let o;if(t&&isMappedTypeWithKeyofConstraintDeclaration(n)){o=getUnionType([getApparentMappedTypeKeys(t,n),t])}else o=t||i;if(-1===isRelatedTo(e,o,2,r))return-1}}}else if(8388608&u){if(8388608&p){if((a=isRelatedTo(e.objectType,t.objectType,3,r))&&(a&=isRelatedTo(e.indexType,t.indexType,3,r)),a)return a;r&&(s=d)}if(n===ki||n===Fi){const n=t.objectType,c=t.indexType,l=getBaseConstraintOfType(n)||n,p=getBaseConstraintOfType(c)||c;if(!isGenericObjectType(l)&&!isGenericIndexType(p)){const t=getIndexedAccessTypeOrUndefined(l,p,4|(l!==n?2:0));if(t){if(r&&s&&resetErrorInfo(o),a=isRelatedTo(e,t,2,r,void 0,i))return a;r&&s&&d&&(d=countMessageChainBreadth([s])<=countMessageChainBreadth([d])?s:d)}}}r&&(s=void 0)}else if(isGenericMappedType(t)&&n!==Pi){const n=!!t.declaration.nameType,i=getTemplateTypeFromMappedType(t),c=getMappedTypeModifiers(t);if(!(8&c)){if(!n&&8388608&i.flags&&i.objectType===e&&i.indexType===getTypeParameterFromMappedType(t))return-1;if(!isGenericMappedType(e)){const i=n?getNameTypeFromMappedType(t):getConstraintTypeFromMappedType(t),l=getIndexType(e,2),p=4&c,u=p?intersectTypes(i,l):void 0;if(p?!(131072&u.flags):isRelatedTo(i,l,3)){const o=getTemplateTypeFromMappedType(t),s=getTypeParameterFromMappedType(t),c=extractTypesOfKind(o,-98305);if(!n&&8388608&c.flags&&c.indexType===s){if(a=isRelatedTo(e,c.objectType,2,r))return a}else{const t=getIndexedAccessType(e,n?u||i:u?getIntersectionType([u,s]):s);if(a=isRelatedTo(t,o,3,r))return a}}s=d,resetErrorInfo(o)}}}else if(16777216&u){if(isDeeplyNestedType(t,f,v,10))return 3;const n=t;if(!(n.root.inferTypeParameters||function isDistributionDependent(e){return e.isDistributive&&(isTypeParameterPossiblyReferenced(e.checkType,e.node.trueType)||isTypeParameterPossiblyReferenced(e.checkType,e.node.falseType))}(n.root)||16777216&e.flags&&e.root===n.root)){const t=!isTypeAssignableTo(getPermissiveInstantiation(n.checkType),getPermissiveInstantiation(n.extendsType)),r=!t&&isTypeAssignableTo(getRestrictiveInstantiation(n.checkType),getRestrictiveInstantiation(n.extendsType));if((a=t?-1:isRelatedTo(e,getTrueTypeFromConditionalType(n),2,!1,void 0,i))&&(a&=r?-1:isRelatedTo(e,getFalseTypeFromConditionalType(n),2,!1,void 0,i),a))return a}}else if(134217728&u){if(134217728&p){if(n===Fi)return function templateLiteralTypesDefinitelyUnrelated(e,t){const n=e.texts[0],r=t.texts[0],i=e.texts[e.texts.length-1],o=t.texts[t.texts.length-1],a=Math.min(n.length,r.length),s=Math.min(i.length,o.length);return n.slice(0,a)!==r.slice(0,a)||i.slice(i.length-s)!==o.slice(o.length-s)}(e,t)?0:-1;instantiateType(e,gt)}if(isTypeMatchedByTemplateLiteralType(e,t))return-1}else if(268435456&t.flags&&!(268435456&e.flags)&&isMemberOfStringMapping(e,t))return-1;if(8650752&p){if(!(8388608&p&&8388608&u)){const n=getConstraintOfType(e)||Le;if(a=isRelatedTo(n,t,1,!1,void 0,i))return a;if(a=isRelatedTo(getTypeWithThisArgument(n,e),t,1,r&&n!==Le&&!(u&p&262144),void 0,i))return a;if(isMappedTypeGenericIndexedAccess(e)){const n=getConstraintOfType(e.indexType);if(n&&(a=isRelatedTo(getIndexedAccessType(e.objectType,n),t,1,r)))return a}}}else if(4194304&p){const n=shouldDeferIndexType(e.type,e.indexFlags)&&32&getObjectFlags(e.type);if(a=isRelatedTo(st,t,1,r&&!n))return a;if(n){const n=e.type,i=getNameTypeFromMappedType(n),o=i&&isMappedTypeWithKeyofConstraintDeclaration(n)?getApparentMappedTypeKeys(i,n):i||getConstraintTypeFromMappedType(n);if(a=isRelatedTo(o,t,1,r))return a}}else if(134217728&p&&!(524288&u)){if(!(134217728&u)){const n=getBaseConstraintOfType(e);if(n&&n!==e&&(a=isRelatedTo(n,t,1,r)))return a}}else if(268435456&p)if(268435456&u){if(e.symbol!==t.symbol)return 0;if(a=isRelatedTo(e.type,t.type,3,r))return a}else{const n=getBaseConstraintOfType(e);if(n&&(a=isRelatedTo(n,t,1,r)))return a}else if(16777216&p){if(isDeeplyNestedType(e,_,x,10))return 3;if(16777216&u){const n=e.root.inferTypeParameters;let i,o=e.extendsType;if(n){const e=createInferenceContext(n,void 0,0,isRelatedToWorker);inferTypes(e.inferences,t.extendsType,o,1536),o=instantiateType(o,e.mapper),i=e.mapper}if(isTypeIdenticalTo(o,t.extendsType)&&(isRelatedTo(e.checkType,t.checkType,3)||isRelatedTo(t.checkType,e.checkType,3))&&((a=isRelatedTo(instantiateType(getTrueTypeFromConditionalType(e),i),getTrueTypeFromConditionalType(t),3,r))&&(a&=isRelatedTo(getFalseTypeFromConditionalType(e),getFalseTypeFromConditionalType(t),3,r)),a))return a}const n=getDefaultConstraintOfConditionalType(e);if(n&&(a=isRelatedTo(n,t,1,r)))return a;const i=16777216&u||!hasNonCircularBaseConstraint(e)?void 0:getConstraintOfDistributiveConditionalType(e);if(i&&(resetErrorInfo(o),a=isRelatedTo(i,t,1,r)))return a}else{if(n!==Ei&&n!==Ni&&function isPartialMappedType(e){return!!(32&getObjectFlags(e)&&4&getMappedTypeModifiers(e))}(t)&&isEmptyObjectType(e))return-1;if(isGenericMappedType(t))return isGenericMappedType(e)&&(a=function mappedTypeRelatedTo(e,t,r){const i=n===Fi||(n===Pi?getMappedTypeModifiers(e)===getMappedTypeModifiers(t):getCombinedMappedTypeOptionality(e)<=getCombinedMappedTypeOptionality(t));if(i){let n;if(n=isRelatedTo(getConstraintTypeFromMappedType(t),instantiateType(getConstraintTypeFromMappedType(e),getCombinedMappedTypeOptionality(e)<0?yt:gt),3,r)){const i=createTypeMapper([getTypeParameterFromMappedType(e)],[getTypeParameterFromMappedType(t)]);if(instantiateType(getNameTypeFromMappedType(e),i)===instantiateType(getNameTypeFromMappedType(t),i))return n&isRelatedTo(instantiateType(getTemplateTypeFromMappedType(e),i),getTemplateTypeFromMappedType(t),3,r)}}return 0}(e,t,r))?a:0;const m=!!(402784252&p);if(n!==Pi)p=(e=getApparentType(e)).flags;else if(isGenericMappedType(e))return 0;if(4&getObjectFlags(e)&&4&getObjectFlags(t)&&e.target===t.target&&!isTupleType(e)&&!isMarkerType(e)&&!isMarkerType(t)){if(isEmptyArrayLiteralType(e))return-1;const n=getVariances(e.target);if(n===l)return 1;const r=relateVariances(getTypeArguments(e),getTypeArguments(t),n,i);if(void 0!==r)return r}else{if(isReadonlyArrayType(t)?everyType(e,isArrayOrTupleType):isArrayType(t)&&everyType(e,e=>isTupleType(e)&&!e.target.readonly))return n!==Pi?isRelatedTo(getIndexTypeOfType(e,Ve)||ke,getIndexTypeOfType(t,Ve)||ke,3,r):0;if(isGenericTupleType(e)&&isTupleType(t)&&!isGenericTupleType(t)){const n=getBaseConstraintOrType(e);if(n!==e)return isRelatedTo(n,t,1,r)}else if((n===Ei||n===Ni)&&isEmptyObjectType(t)&&8192&getObjectFlags(t)&&!isEmptyObjectType(e))return 0}if(2621440&p&&524288&u){const n=r&&d===o.errorInfo&&!m;if(a=propertiesRelatedTo(e,t,n,void 0,!1,i),a&&(a&=signaturesRelatedTo(e,t,0,n,i),a&&(a&=signaturesRelatedTo(e,t,1,n,i),a&&(a&=indexSignaturesRelatedTo(e,t,m,n,i)))),c&&a)d=s||d||o.errorInfo;else if(a)return a}if(2621440&p&&1048576&u){const r=extractTypesOfKind(t,36175872);if(1048576&r.flags){const t=function typeRelatedToDiscriminatedType(e,t){var r;const i=getPropertiesOfType(e),o=findDiscriminantProperties(i,t);if(!o)return 0;let a=1;for(const n of o)if(a*=countTypes(getNonMissingTypeOfSymbol(n)),a>25)return null==(r=J)||r.instant(J.Phase.CheckTypes,"typeRelatedToDiscriminatedType_DepthLimit",{sourceId:e.id,targetId:t.id,numCombinations:a}),0;const s=new Array(o.length),c=new Set;for(let e=0;e<o.length;e++){const t=o[e],n=getNonMissingTypeOfSymbol(t);s[e]=1048576&n.flags?n.types:[n],c.add(t.escapedName)}const l=cartesianProduct(s),d=[];for(const r of l){let i=!1;e:for(const a of t.types){for(let i=0;i<o.length;i++){const s=o[i],c=getPropertyOfType(a,s.escapedName);if(!c)continue e;if(s===c)continue;if(!propertyRelatedTo(e,t,s,c,e=>r[i],!1,0,k||n===Fi))continue e}pushIfUnique(d,a,equateValues),i=!0}if(!i)return 0}let p=-1;for(const t of d)if(p&=propertiesRelatedTo(e,t,!1,c,!1,0),p&&(p&=signaturesRelatedTo(e,t,0,!1,0),p&&(p&=signaturesRelatedTo(e,t,1,!1,0),!p||isTupleType(e)&&isTupleType(t)||(p&=indexSignaturesRelatedTo(e,t,!1,!1,0)))),!p)return p;return p}(e,r);if(t)return t}}}return 0;function countMessageChainBreadth(e){return e?reduceLeft(e,(e,t)=>e+1+countMessageChainBreadth(t.next),0):0}function relateVariances(e,t,i,p){if(a=function typeArgumentsRelatedTo(e=l,t=l,r=l,i,o){if(e.length!==t.length&&n===Pi)return 0;const a=e.length<=t.length?e.length:t.length;let s=-1;for(let c=0;c<a;c++){const a=c<r.length?r[c]:1,l=7&a;if(4!==l){const r=e[c],d=t[c];let p=-1;if(8&a?p=n===Pi?isRelatedTo(r,d,3,!1):compareTypesIdentical(r,d):1===l?p=isRelatedTo(r,d,3,i,void 0,o):2===l?p=isRelatedTo(d,r,3,i,void 0,o):3===l?(p=isRelatedTo(d,r,3,!1),p||(p=isRelatedTo(r,d,3,i,void 0,o))):(p=isRelatedTo(r,d,3,i,void 0,o),p&&(p&=isRelatedTo(d,r,3,i,void 0,o))),!p)return 0;s&=p}}return s}(e,t,i,r,p))return a;if(some(i,e=>!!(24&e)))return s=void 0,void resetErrorInfo(o);const u=t&&function hasCovariantVoidArgument(e,t){for(let n=0;n<t.length;n++)if(1==(7&t[n])&&16384&e[n].flags)return!0;return!1}(t,i);if(c=!u,i!==l&&!u){if(c&&(!r||!some(i,e=>!(7&e))))return 0;s=d,resetErrorInfo(o)}}}(e,t,r,i,o);if(n!==Pi){if(!a&&(2097152&e.flags||262144&e.flags&&1048576&t.flags)){const n=function getEffectiveConstraintOfIntersection(e,t){let n,r=!1;for(const i of e)if(465829888&i.flags){let e=getConstraintOfType(i);for(;e&&21233664&e.flags;)e=getConstraintOfType(e);e&&(n=append(n,e),t&&(n=append(n,i)))}else(469892092&i.flags||isEmptyAnonymousObjectType(i))&&(r=!0);if(n&&(t||r)){if(r)for(const t of e)(469892092&t.flags||isEmptyAnonymousObjectType(t))&&(n=append(n,t));return getNormalizedType(getIntersectionType(n,2),!1)}}(2097152&e.flags?e.types:[e],!!(1048576&t.flags));n&&everyType(n,t=>t!==e)&&(a=isRelatedTo(n,t,1,!1,void 0,i))}a&&!(2&i)&&2097152&t.flags&&!isGenericObjectType(t)&&2621440&e.flags?(a&=propertiesRelatedTo(e,t,r,void 0,!1,0),a&&isObjectLiteralType2(e)&&8192&getObjectFlags(e)&&(a&=indexSignaturesRelatedTo(e,t,!1,r,0))):a&&isNonGenericObjectType(t)&&!isArrayOrTupleType(t)&&2097152&e.flags&&3670016&getApparentType(e).flags&&!some(e.types,e=>e===t||!!(262144&getObjectFlags(e)))&&(a&=propertiesRelatedTo(e,t,r,void 0,!0,i))}a&&resetErrorInfo(o);return a}(e,t,r,i),null==(c=J)||c.pop()),Xe&&(Xe=S),1&o&&x--,2&o&&v--,b=h,N?(-1===N||0===x&&0===v)&&resetMaybeStack(-1===N||3===N):(n.set(p,2|P),F--,resetMaybeStack(!1)),N;function resetMaybeStack(e){for(let t=y;t<T;t++)m.delete(u[t]),e&&(n.set(u[t],1|P),F--);T=y}}function getApparentMappedTypeKeys(e,t){const n=getApparentType(getModifiersTypeFromMappedType(t)),r=[];return forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(n,8576,!1,n=>{r.push(instantiateType(e,appendTypeMapping(t.mapper,getTypeParameterFromMappedType(t),n)))}),getUnionType(r)}function excludeProperties(e,t){if(!t||0===e.length)return e;let n;for(let r=0;r<e.length;r++)t.has(e[r].escapedName)?n||(n=e.slice(0,r)):n&&n.push(e[r]);return n||e}function propertyRelatedTo(e,t,r,i,o,a,s,c){const l=getDeclarationModifierFlagsFromSymbol(r),d=getDeclarationModifierFlagsFromSymbol(i);if(2&l||2&d){if(r.valueDeclaration!==i.valueDeclaration)return a&&(2&l&&2&d?reportError(Ot.Types_have_separate_declarations_of_a_private_property_0,symbolToString(i)):reportError(Ot.Property_0_is_private_in_type_1_but_not_in_type_2,symbolToString(i),typeToString(2&l?e:t),typeToString(2&l?t:e))),0}else if(4&d){if(!function isValidOverrideOf(e,t){return!forEachProperty2(t,t=>!!(4&getDeclarationModifierFlagsFromSymbol(t))&&!function isPropertyInClassDerivedFrom(e,t){return forEachProperty2(e,e=>{const n=getDeclaringClass(e);return!!n&&hasBaseType(n,t)})}(e,getDeclaringClass(t)))}(r,i))return a&&reportError(Ot.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2,symbolToString(i),typeToString(getDeclaringClass(r)||e),typeToString(getDeclaringClass(i)||t)),0}else if(4&l)return a&&reportError(Ot.Property_0_is_protected_in_type_1_but_public_in_type_2,symbolToString(i),typeToString(e),typeToString(t)),0;if(n===Ni&&isReadonlySymbol(r)&&!isReadonlySymbol(i))return 0;const p=function isPropertySymbolTypeRelated(e,t,r,i,o){const a=k&&!!(48&getCheckFlags(t)),s=addOptionality(getNonMissingTypeOfSymbol(t),!1,a);return s.flags&(n===Ni?1:3)?-1:isRelatedTo(r(e),s,3,i,void 0,o)}(r,i,o,a,s);return p?!c&&16777216&r.flags&&106500&i.flags&&!(16777216&i.flags)?(a&&reportError(Ot.Property_0_is_optional_in_type_1_but_required_in_type_2,symbolToString(i),typeToString(e),typeToString(t)),0):p:(a&&reportIncompatibleError(Ot.Types_of_property_0_are_incompatible,symbolToString(i)),0)}function propertiesRelatedTo(e,t,r,i,a,s){if(n===Pi)return function propertiesIdenticalTo(e,t,n){if(!(524288&e.flags&&524288&t.flags))return 0;const r=excludeProperties(getPropertiesOfObjectType(e),n),i=excludeProperties(getPropertiesOfObjectType(t),n);if(r.length!==i.length)return 0;let o=-1;for(const e of r){const n=getPropertyOfObjectType(t,e.escapedName);if(!n)return 0;const r=compareProperties2(e,n,isRelatedTo);if(!r)return 0;o&=r}return o}(e,t,i);let c=-1;if(isTupleType(t)){if(isArrayOrTupleType(e)){if(!t.target.readonly&&(isReadonlyArrayType(e)||isTupleType(e)&&e.target.readonly))return 0;const n=getTypeReferenceArity(e),o=getTypeReferenceArity(t),a=isTupleType(e)?4&e.target.combinedFlags:4,l=!!(12&t.target.combinedFlags),d=isTupleType(e)?e.target.minLength:0,p=t.target.minLength;if(!a&&n<p)return r&&reportError(Ot.Source_has_0_element_s_but_target_requires_1,n,p),0;if(!l&&o<d)return r&&reportError(Ot.Source_has_0_element_s_but_target_allows_only_1,d,o),0;if(!l&&(a||o<n))return r&&(d<p?reportError(Ot.Target_requires_0_element_s_but_source_may_have_fewer,p):reportError(Ot.Target_allows_only_0_element_s_but_source_may_have_more,o)),0;const u=getTypeArguments(e),m=getTypeArguments(t),_=function getStartElementCount(e,t){const n=findIndex(e.elementFlags,e=>!(e&t));return n>=0?n:e.elementFlags.length}(t.target,11),f=getEndElementCount(t.target,11);let g=!!i;for(let a=0;a<n;a++){const d=isTupleType(e)?e.target.elementFlags[a]:4,p=n-1-a,y=l&&a>=_?o-1-Math.min(p,f):a,h=t.target.elementFlags[y];if(8&h&&!(8&d))return r&&reportError(Ot.Source_provides_no_match_for_variadic_element_at_position_0_in_target,y),0;if(8&d&&!(12&h))return r&&reportError(Ot.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target,a,y),0;if(1&h&&!(1&d))return r&&reportError(Ot.Source_provides_no_match_for_required_element_at_position_0_in_target,y),0;if(g&&((12&d||12&h)&&(g=!1),g&&(null==i?void 0:i.has(""+a))))continue;const T=removeMissingType(u[a],!!(d&h&2)),S=m[y],x=isRelatedTo(T,8&d&&4&h?createArrayType(S):removeMissingType(S,!!(2&h)),3,r,void 0,s);if(!x)return r&&(o>1||n>1)&&(l&&a>=_&&p>=f&&_!==n-f-1?reportIncompatibleError(Ot.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,_,n-f-1,y):reportIncompatibleError(Ot.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,a,y)),0;c&=x}return c}if(12&t.target.combinedFlags)return 0}const l=!(n!==Ei&&n!==Ni||isObjectLiteralType2(e)||isEmptyArrayLiteralType(e)||isTupleType(e)),p=getUnmatchedProperty(e,t,l,!1);if(p)return r&&function shouldReportUnmatchedPropertyError(e,t){const n=getSignaturesOfStructuredType(e,0),r=getSignaturesOfStructuredType(e,1),i=getPropertiesOfObjectType(e);if((n.length||r.length)&&!i.length)return!!(getSignaturesOfType(t,0).length&&n.length||getSignaturesOfType(t,1).length&&r.length);return!0}(e,t)&&function reportUnmatchedProperty(e,t,n,r){let i=!1;if(n.valueDeclaration&&isNamedDeclaration(n.valueDeclaration)&&isPrivateIdentifier(n.valueDeclaration.name)&&e.symbol&&32&e.symbol.flags){const r=n.valueDeclaration.name.escapedText,i=getSymbolNameForPrivateIdentifier(e.symbol,r);if(i&&getPropertyOfType(e,i)){const n=Wr.getDeclarationName(e.symbol.valueDeclaration),i=Wr.getDeclarationName(t.symbol.valueDeclaration);return void reportError(Ot.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2,diagnosticName(r),diagnosticName(""===n.escapedText?$o:n),diagnosticName(""===i.escapedText?$o:i))}}const a=arrayFrom(getUnmatchedProperties(e,t,r,!1));if((!o||o.code!==Ot.Class_0_incorrectly_implements_interface_1.code&&o.code!==Ot.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code)&&(i=!0),1===a.length){const r=symbolToString(n,void 0,0,20);reportError(Ot.Property_0_is_missing_in_type_1_but_required_in_type_2,r,...getTypeNamesForErrorDisplay(e,t)),length(n.declarations)&&associateRelatedInfo(createDiagnosticForNode(n.declarations[0],Ot._0_is_declared_here,r)),i&&d&&E++}else tryElaborateArrayLikeErrors(e,t,!1)&&(a.length>5?reportError(Ot.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,typeToString(e),typeToString(t),map(a.slice(0,4),e=>symbolToString(e)).join(", "),a.length-4):reportError(Ot.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,typeToString(e),typeToString(t),map(a,e=>symbolToString(e)).join(", ")),i&&d&&E++)}(e,t,p,l),0;if(isObjectLiteralType2(t))for(const n of excludeProperties(getPropertiesOfType(e),i))if(!getPropertyOfObjectType(t,n.escapedName)){if(!(32768&getTypeOfSymbol(n).flags))return r&&reportError(Ot.Property_0_does_not_exist_on_type_1,symbolToString(n),typeToString(t)),0}const u=getPropertiesOfType(t),m=isTupleType(e)&&isTupleType(t);for(const o of excludeProperties(u,i)){const i=o.escapedName;if(!(4194304&o.flags)&&(!m||isNumericLiteralName(i)||"length"===i)&&(!a||16777216&o.flags)){const a=getPropertyOfType(e,i);if(a&&a!==o){const i=propertyRelatedTo(e,t,a,o,getNonMissingTypeOfSymbol,r,s,n===Fi);if(!i)return 0;c&=i}}}return c}function signaturesRelatedTo(e,t,r,i,o){var a,s;if(n===Pi)return function signaturesIdenticalTo(e,t,n){const r=getSignaturesOfType(e,n),i=getSignaturesOfType(t,n);if(r.length!==i.length)return 0;let o=-1;for(let e=0;e<r.length;e++){const t=compareSignaturesIdentical(r[e],i[e],!1,!1,!1,isRelatedTo);if(!t)return 0;o&=t}return o}(e,t,r);if(t===Nt||e===Nt)return-1;const c=e.symbol&&isJSConstructor(e.symbol.valueDeclaration),l=t.symbol&&isJSConstructor(t.symbol.valueDeclaration),d=getSignaturesOfType(e,c&&1===r?0:r),p=getSignaturesOfType(t,l&&1===r?0:r);if(1===r&&d.length&&p.length){const e=!!(4&d[0].flags),t=!!(4&p[0].flags);if(e&&!t)return i&&reportError(Ot.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type),0;if(!function constructorVisibilitiesAreCompatible(e,t,n){if(!e.declaration||!t.declaration)return!0;const r=getSelectedEffectiveModifierFlags(e.declaration,6),i=getSelectedEffectiveModifierFlags(t.declaration,6);if(2===i)return!0;if(4===i&&2!==r)return!0;if(4!==i&&!r)return!0;n&&reportError(Ot.Cannot_assign_a_0_constructor_type_to_a_1_constructor_type,visibilityToString(r),visibilityToString(i));return!1}(d[0],p[0],i))return 0}let u=-1;const m=1===r?reportIncompatibleConstructSignatureReturn:reportIncompatibleCallSignatureReturn,_=getObjectFlags(e),f=getObjectFlags(t);if(64&_&&64&f&&e.symbol===t.symbol||4&_&&4&f&&e.target===t.target){h.assertEqual(d.length,p.length);for(let e=0;e<p.length;e++){const t=signatureRelatedTo(d[e],p[e],!0,i,o,m(d[e],p[e]));if(!t)return 0;u&=t}}else if(1===d.length&&1===p.length){const e=n===Fi,t=first(d),c=first(p);if(u=signatureRelatedTo(t,c,e,i,o,m(t,c)),!u&&i&&1===r&&_&f&&(177===(null==(a=c.declaration)?void 0:a.kind)||177===(null==(s=t.declaration)?void 0:s.kind))){const constructSignatureToString=e=>signatureToString(e,void 0,262144,r);return reportError(Ot.Type_0_is_not_assignable_to_type_1,constructSignatureToString(t),constructSignatureToString(c)),reportError(Ot.Types_of_construct_signatures_are_incompatible),u}}else e:for(const t of p){const n=captureErrorCalculationState();let a=i;for(const e of d){const r=signatureRelatedTo(e,t,!0,a,o,m(e,t));if(r){u&=r,resetErrorInfo(n);continue e}a=!1}return a&&reportError(Ot.Type_0_provides_no_match_for_the_signature_1,typeToString(e),signatureToString(t,void 0,void 0,r)),0}return u}function reportIncompatibleCallSignatureReturn(e,t){return 0===e.parameters.length&&0===t.parameters.length?(e,t)=>reportIncompatibleError(Ot.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,typeToString(e),typeToString(t)):(e,t)=>reportIncompatibleError(Ot.Call_signature_return_types_0_and_1_are_incompatible,typeToString(e),typeToString(t))}function reportIncompatibleConstructSignatureReturn(e,t){return 0===e.parameters.length&&0===t.parameters.length?(e,t)=>reportIncompatibleError(Ot.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,typeToString(e),typeToString(t)):(e,t)=>reportIncompatibleError(Ot.Construct_signature_return_types_0_and_1_are_incompatible,typeToString(e),typeToString(t))}function signatureRelatedTo(e,t,r,i,o,a){const s=n===Ei?16:n===Ni?24:0;return compareSignaturesRelated(r?getErasedSignature(e):e,r?getErasedSignature(t):t,s,i,reportError,a,function isRelatedToWorker2(e,t,n){return isRelatedTo(e,t,3,n,void 0,o)},gt)}function indexInfoRelatedTo(e,t,n,r){const i=isRelatedTo(e.type,t.type,3,n,void 0,r);return!i&&n&&(e.keyType===t.keyType?reportError(Ot._0_index_signatures_are_incompatible,typeToString(e.keyType)):reportError(Ot._0_and_1_index_signatures_are_incompatible,typeToString(e.keyType),typeToString(t.keyType))),i}function indexSignaturesRelatedTo(e,t,r,i,o){if(n===Pi)return function indexSignaturesIdenticalTo(e,t){const n=getIndexInfosOfType(e),r=getIndexInfosOfType(t);if(n.length!==r.length)return 0;for(const t of r){const n=getIndexInfoOfType(e,t.keyType);if(!n||!isRelatedTo(n.type,t.type,3)||n.isReadonly!==t.isReadonly)return 0}return-1}(e,t);const a=getIndexInfosOfType(t),s=some(a,e=>e.keyType===ze);let c=-1;for(const t of a){const a=n!==Ni&&!r&&s&&1&t.type.flags?-1:isGenericMappedType(e)&&s?isRelatedTo(getTemplateTypeFromMappedType(e),t.type,3,i):typeRelatedToIndexInfo(e,t,i,o);if(!a)return 0;c&=a}return c}function typeRelatedToIndexInfo(e,t,r,i){const o=getApplicableIndexInfo(e,t.keyType);return o?indexInfoRelatedTo(o,t,r,i):1&i||!(n!==Ni||8192&getObjectFlags(e))||!isObjectTypeWithInferableIndex(e)?(r&&reportError(Ot.Index_signature_for_type_0_is_missing_in_type_1,typeToString(t.keyType),typeToString(e)),0):function membersRelatedToIndexInfo(e,t,n,r){let i=-1;const o=t.keyType,a=2097152&e.flags?getPropertiesOfUnionOrIntersectionType(e):getPropertiesOfObjectType(e);for(const s of a)if(!isIgnoredJsxProperty(e,s)&&isApplicableIndexType(getLiteralTypeFromProperty(s,8576),o)){const e=getNonMissingTypeOfSymbol(s),a=isRelatedTo(L||32768&e.flags||o===Ve||!(16777216&s.flags)?e:getTypeWithFacts(e,524288),t.type,3,n,void 0,r);if(!a)return n&&reportError(Ot.Property_0_is_incompatible_with_index_signature,symbolToString(s)),0;i&=a}for(const a of getIndexInfosOfType(e))if(isApplicableIndexType(a.keyType,o)){const e=indexInfoRelatedTo(a,t,n,r);if(!e)return 0;i&=e}return i}(e,t,r,i)}}function typeCouldHaveTopLevelSingletonTypes(e){if(16&e.flags)return!1;if(3145728&e.flags)return!!forEach(e.types,typeCouldHaveTopLevelSingletonTypes);if(465829888&e.flags){const t=getConstraintOfType(e);if(t&&t!==e)return typeCouldHaveTopLevelSingletonTypes(t)}return isUnitType(e)||!!(134217728&e.flags)||!!(268435456&e.flags)}function getExactOptionalUnassignableProperties(e,t){return isTupleType(e)&&isTupleType(t)?l:getPropertiesOfType(t).filter(t=>isExactOptionalPropertyMismatch(getTypeOfPropertyOfType(e,t.escapedName),getTypeOfSymbol(t)))}function isExactOptionalPropertyMismatch(e,t){return!!e&&!!t&&maybeTypeOfKind(e,32768)&&!!containsMissingType(t)}function getBestMatchingType(e,t,n=compareTypesAssignable){return findMatchingDiscriminantType(e,t,n)||function findMatchingTypeReferenceOrTypeAliasReference(e,t){const n=getObjectFlags(e);if(20&n&&1048576&t.flags)return find(t.types,t=>{if(524288&t.flags){const r=n&getObjectFlags(t);if(4&r)return e.target===t.target;if(16&r)return!!e.aliasSymbol&&e.aliasSymbol===t.aliasSymbol}return!1})}(e,t)||function findBestTypeForObjectLiteral(e,t){if(128&getObjectFlags(e)&&someType(t,isArrayLikeType))return find(t.types,e=>!isArrayLikeType(e))}(e,t)||function findBestTypeForInvokable(e,t){let n=0;const r=getSignaturesOfType(e,n).length>0||(n=1,getSignaturesOfType(e,n).length>0);if(r)return find(t.types,e=>getSignaturesOfType(e,n).length>0)}(e,t)||function findMostOverlappyType(e,t){let n;if(!(406978556&e.flags)){let r=0;for(const i of t.types)if(!(406978556&i.flags)){const t=getIntersectionType([getIndexType(e),getIndexType(i)]);if(4194304&t.flags)return i;if(isUnitType(t)||1048576&t.flags){const e=1048576&t.flags?countWhere(t.types,isUnitType):1;e>=r&&(n=i,r=e)}}}return n}(e,t)}function discriminateTypeByDiscriminableItems(e,t,n){const r=e.types,i=r.map(e=>402784252&e.flags?0:-1);for(const[e,o]of t){let t=!1;for(let a=0;a<r.length;a++)if(i[a]){const s=getTypeOfPropertyOrIndexSignatureOfType(r[a],o);s&&(someType(e(),e=>!!n(e,s))?t=!0:i[a]=3)}for(let e=0;e<r.length;e++)3===i[e]&&(i[e]=t?0:-1)}const o=contains(i,0)?getUnionType(r.filter((e,t)=>i[t]),0):e;return 131072&o.flags?e:o}function isWeakType(e){if(524288&e.flags){const t=resolveStructuredTypeMembers(e);return 0===t.callSignatures.length&&0===t.constructSignatures.length&&0===t.indexInfos.length&&t.properties.length>0&&every(t.properties,e=>!!(16777216&e.flags))}return 33554432&e.flags?isWeakType(e.baseType):!!(2097152&e.flags)&&every(e.types,isWeakType)}function getVariances(e){return e===Vt||e===qt||8&e.objectFlags?T:getVariancesWorker(e.symbol,e.typeParameters)}function getAliasVariances(e){return getVariancesWorker(e,getSymbolLinks(e).typeParameters)}function getVariancesWorker(e,t=l){var n,r;const i=getSymbolLinks(e);if(!i.variances){null==(n=J)||n.push(J.Phase.CheckTypes,"getVariancesWorker",{arity:t.length,id:getTypeId(getDeclaredTypeOfSymbol(e))});const o=Zr,a=Yr;Zr||(Zr=!0,Yr=$r.length),i.variances=l;const s=[];for(const n of t){const t=getTypeParameterModifiers(n);let r=16384&t?8192&t?0:1:8192&t?2:void 0;if(void 0===r){let t=!1,i=!1;const o=Xe;Xe=e=>e?i=!0:t=!0;const a=createMarkerType(e,n,Dt),s=createMarkerType(e,n,It);r=(isTypeAssignableTo(s,a)?1:0)|(isTypeAssignableTo(a,s)?2:0),3===r&&isTypeAssignableTo(createMarkerType(e,n,At),a)&&(r=4),Xe=o,(t||i)&&(t&&(r|=8),i&&(r|=16))}s.push(r)}o||(Zr=!1,Yr=a),i.variances=s,null==(r=J)||r.pop({variances:s.map(h.formatVariance)})}return i.variances}function createMarkerType(e,t,n){const r=makeUnaryTypeMapper(t,n),i=getDeclaredTypeOfSymbol(e);if(isErrorType(i))return i;const o=524288&e.flags?getTypeAliasInstantiation(e,instantiateTypes(getSymbolLinks(e).typeParameters,r)):createTypeReference(i,instantiateTypes(i.typeParameters,r));return xe.add(getTypeId(o)),o}function isMarkerType(e){return xe.has(getTypeId(e))}function getTypeParameterModifiers(e){var t;return 28672&reduceLeft(null==(t=e.symbol)?void 0:t.declarations,(e,t)=>e|getEffectiveModifierFlags(t),0)}function isUnconstrainedTypeParameter(e){return 262144&e.flags&&!getConstraintOfTypeParameter(e)}function isTypeReferenceWithGenericArguments(e){return function isNonDeferredTypeReference(e){return!!(4&getObjectFlags(e))&&!e.node}(e)&&some(getTypeArguments(e),e=>!!(262144&e.flags)||isTypeReferenceWithGenericArguments(e))}function getRelationKey(e,t,n,r,i){if(r===Pi&&e.id>t.id){const n=e;e=t,t=n}const o=n?":"+n:"";return isTypeReferenceWithGenericArguments(e)&&isTypeReferenceWithGenericArguments(t)?function getGenericTypeReferenceRelationKey(e,t,n,r){const i=[];let o="";const a=getTypeReferenceId(e,0),s=getTypeReferenceId(t,0);return`${o}${a},${s}${n}`;function getTypeReferenceId(e,t=0){let n=""+e.target.id;for(const a of getTypeArguments(e)){if(262144&a.flags){if(r||isUnconstrainedTypeParameter(a)){let e=i.indexOf(a);e<0&&(e=i.length,i.push(a)),n+="="+e;continue}o="*"}else if(t<4&&isTypeReferenceWithGenericArguments(a)){n+="<"+getTypeReferenceId(a,t+1)+">";continue}n+="-"+a.id}return n}}(e,t,o,i):`${e.id},${t.id}${o}`}function forEachProperty2(e,t){if(!(6&getCheckFlags(e)))return t(e);for(const n of e.links.containingType.types){const r=getPropertyOfType(n,e.escapedName),i=r&&forEachProperty2(r,t);if(i)return i}}function getDeclaringClass(e){return e.parent&&32&e.parent.flags?getDeclaredTypeOfSymbol(getParentOfSymbol(e)):void 0}function getTypeOfPropertyInBaseClass(e){const t=getDeclaringClass(e),n=t&&getBaseTypes(t)[0];return n&&getTypeOfPropertyOfType(n,e.escapedName)}function isClassDerivedFromDeclaringClasses(e,t,n){return forEachProperty2(t,t=>!!(4&getDeclarationModifierFlagsFromSymbol(t,n))&&!hasBaseType(e,getDeclaringClass(t)))?void 0:e}function isDeeplyNestedType(e,t,n,r=3){if(n>=r){if(96&~getObjectFlags(e)||(e=getMappedTargetWithSymbol(e)),2097152&e.flags)return some(e.types,e=>isDeeplyNestedType(e,t,n,r));const i=getRecursionIdentity(e);let o=0,a=0;for(let e=0;e<n;e++){const n=t[e];if(hasMatchingRecursionIdentity(n,i)){if(n.id>=a&&(o++,o>=r))return!0;a=n.id}}}return!1}function getMappedTargetWithSymbol(e){let t;for(;!(96&~getObjectFlags(e))&&(t=getModifiersTypeFromMappedType(e))&&(t.symbol||2097152&t.flags&&some(t.types,e=>!!e.symbol));)e=t;return e}function hasMatchingRecursionIdentity(e,t){return 96&~getObjectFlags(e)||(e=getMappedTargetWithSymbol(e)),2097152&e.flags?some(e.types,e=>hasMatchingRecursionIdentity(e,t)):getRecursionIdentity(e)===t}function getRecursionIdentity(e){if(524288&e.flags&&!isObjectOrArrayLiteralType(e)){if(4&getObjectFlags(e)&&e.node)return e.node;if(e.symbol&&!(16&getObjectFlags(e)&&32&e.symbol.flags))return e.symbol;if(isTupleType(e))return e.target}if(262144&e.flags)return e.symbol;if(8388608&e.flags){do{e=e.objectType}while(8388608&e.flags);return e}return 16777216&e.flags?e.root:e}function isPropertyIdenticalTo(e,t){return 0!==compareProperties2(e,t,compareTypesIdentical)}function compareProperties2(e,t,n){if(e===t)return-1;const r=6&getDeclarationModifierFlagsFromSymbol(e);if(r!==(6&getDeclarationModifierFlagsFromSymbol(t)))return 0;if(r){if(getTargetSymbol(e)!==getTargetSymbol(t))return 0}else if((16777216&e.flags)!=(16777216&t.flags))return 0;return isReadonlySymbol(e)!==isReadonlySymbol(t)?0:n(getTypeOfSymbol(e),getTypeOfSymbol(t))}function compareSignaturesIdentical(e,t,n,r,i,o){if(e===t)return-1;if(!function isMatchingSignature(e,t,n){const r=getParameterCount(e),i=getParameterCount(t),o=getMinArgumentCount(e),a=getMinArgumentCount(t),s=hasEffectiveRestParameter(e),c=hasEffectiveRestParameter(t);return r===i&&o===a&&s===c||!!(n&&o<=a)}(e,t,n))return 0;if(length(e.typeParameters)!==length(t.typeParameters))return 0;if(t.typeParameters){const n=createTypeMapper(e.typeParameters,t.typeParameters);for(let r=0;r<t.typeParameters.length;r++){const i=e.typeParameters[r],a=t.typeParameters[r];if(!(i===a||o(instantiateType(getConstraintFromTypeParameter(i),n)||Le,getConstraintFromTypeParameter(a)||Le)&&o(instantiateType(getDefaultFromTypeParameter(i),n)||Le,getDefaultFromTypeParameter(a)||Le)))return 0}e=instantiateSignature(e,n,!0)}let a=-1;if(!r){const n=getThisTypeOfSignature(e);if(n){const e=getThisTypeOfSignature(t);if(e){const t=o(n,e);if(!t)return 0;a&=t}}}const s=getParameterCount(t);for(let n=0;n<s;n++){const r=getTypeAtPosition(e,n),i=o(getTypeAtPosition(t,n),r);if(!i)return 0;a&=i}if(!i){const n=getTypePredicateOfSignature(e),r=getTypePredicateOfSignature(t);a&=n||r?function compareTypePredicatesIdentical(e,t,n){return e&&t&&typePredicateKindsMatch(e,t)?e.type===t.type?-1:e.type&&t.type?n(e.type,t.type):0:0}(n,r,o):o(getReturnTypeOfSignature(e),getReturnTypeOfSignature(t))}return a}function getCombinedTypeFlags(e){return reduceLeft(e,(e,t)=>e|(1048576&t.flags?getCombinedTypeFlags(t.types):t.flags),0)}function getCommonSupertype(e){if(1===e.length)return e[0];const t=k?sameMap(e,e=>filterType(e,e=>!(98304&e.flags))):e,n=function literalTypesWithSameBaseType(e){let t;for(const n of e)if(!(131072&n.flags)){const e=getBaseTypeOfLiteralType(n);if(t??(t=e),e===n||e!==t)return!1}return!0}(t)?getUnionType(t):function getSingleCommonSupertype(e){const t=reduceLeft(e,(e,t)=>isTypeStrictSubtypeOf(e,t)?t:e);return every(e,e=>e===t||isTypeStrictSubtypeOf(e,t))?t:reduceLeft(e,(e,t)=>isTypeSubtypeOf(e,t)?t:e)}(t);return t===e?n:getNullableType(n,98304&getCombinedTypeFlags(e))}function isArrayType(e){return!!(4&getObjectFlags(e))&&(e.target===Vt||e.target===qt)}function isReadonlyArrayType(e){return!!(4&getObjectFlags(e))&&e.target===qt}function isArrayOrTupleType(e){return isArrayType(e)||isTupleType(e)}function isMutableArrayOrTuple(e){return isArrayType(e)&&!isReadonlyArrayType(e)||isTupleType(e)&&!e.target.readonly}function getElementTypeOfArrayType(e){return isArrayType(e)?getTypeArguments(e)[0]:void 0}function isArrayLikeType(e){return isArrayType(e)||!(98304&e.flags)&&isTypeAssignableTo(e,Zt)}function isMutableArrayLikeType(e){return isMutableArrayOrTuple(e)||!(98305&e.flags)&&isTypeAssignableTo(e,Xt)}function getSingleBaseForNonAugmentingSubtype(e){if(!(4&getObjectFlags(e)&&3&getObjectFlags(e.target)))return;if(33554432&getObjectFlags(e))return 67108864&getObjectFlags(e)?e.cachedEquivalentBaseType:void 0;e.objectFlags|=33554432;const t=e.target;if(1&getObjectFlags(t)){const e=getBaseTypeNodeOfClass(t);if(e&&80!==e.expression.kind&&212!==e.expression.kind)return}const n=getBaseTypes(t);if(1!==n.length)return;if(getMembersOfSymbol(e.symbol).size)return;let r=length(t.typeParameters)?instantiateType(n[0],createTypeMapper(t.typeParameters,getTypeArguments(e).slice(0,t.typeParameters.length))):n[0];return length(getTypeArguments(e))>length(t.typeParameters)&&(r=getTypeWithThisArgument(r,last(getTypeArguments(e)))),e.objectFlags|=67108864,e.cachedEquivalentBaseType=r}function isEmptyLiteralType(e){return k?e===rt:e===Re}function isEmptyArrayLiteralType(e){const t=getElementTypeOfArrayType(e);return!!t&&isEmptyLiteralType(t)}function isTupleLikeType(e){let t;return isTupleType(e)||!!getPropertyOfType(e,"0")||isArrayLikeType(e)&&!!(t=getTypeOfPropertyOfType(e,"length"))&&everyType(t,e=>!!(256&e.flags))}function isArrayOrTupleLikeType(e){return isArrayLikeType(e)||isTupleLikeType(e)}function isNeitherUnitTypeNorNever(e){return!(240544&e.flags)}function isUnitType(e){return!!(109472&e.flags)}function isUnitLikeType(e){const t=getBaseConstraintOrType(e);return 2097152&t.flags?some(t.types,isUnitType):isUnitType(t)}function isLiteralType(e){return!!(16&e.flags)||(1048576&e.flags?!!(1024&e.flags)||every(e.types,isUnitType):isUnitType(e))}function getBaseTypeOfLiteralType(e){return 1056&e.flags?getBaseTypeOfEnumLikeType(e):402653312&e.flags?ze:256&e.flags?Ve:2048&e.flags?qe:512&e.flags?Ye:1048576&e.flags?function getBaseTypeOfLiteralTypeUnion(e){const t=`B${getTypeId(e)}`;return getCachedType(t)??setCachedType(t,mapType(e,getBaseTypeOfLiteralType))}(e):e}function getBaseTypeOfLiteralTypeForComparison(e){return 402653312&e.flags?ze:288&e.flags?Ve:2048&e.flags?qe:512&e.flags?Ye:1048576&e.flags?mapType(e,getBaseTypeOfLiteralTypeForComparison):e}function getWidenedLiteralType(e){return 1056&e.flags&&isFreshLiteralType(e)?getBaseTypeOfEnumLikeType(e):128&e.flags&&isFreshLiteralType(e)?ze:256&e.flags&&isFreshLiteralType(e)?Ve:2048&e.flags&&isFreshLiteralType(e)?qe:512&e.flags&&isFreshLiteralType(e)?Ye:1048576&e.flags?mapType(e,getWidenedLiteralType):e}function getWidenedUniqueESSymbolType(e){return 8192&e.flags?Ze:1048576&e.flags?mapType(e,getWidenedUniqueESSymbolType):e}function getWidenedLiteralLikeTypeForContextualType(e,t){return isLiteralOfContextualType(e,t)||(e=getWidenedUniqueESSymbolType(getWidenedLiteralType(e))),getRegularTypeOfLiteralType(e)}function getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(e,t,n,r){if(e&&isUnitType(e)){e=getWidenedLiteralLikeTypeForContextualType(e,t?getIterationTypeOfGeneratorFunctionReturnType(n,t,r):void 0)}return e}function isTupleType(e){return!!(4&getObjectFlags(e)&&8&e.target.objectFlags)}function isGenericTupleType(e){return isTupleType(e)&&!!(8&e.target.combinedFlags)}function isSingleElementGenericTupleType(e){return isGenericTupleType(e)&&1===e.target.elementFlags.length}function getRestTypeOfTupleType(e){return getElementTypeOfSliceOfTupleType(e,e.target.fixedLength)}function getTupleElementTypeOutOfStartCount(e,t,n){return mapType(e,e=>{const r=e,i=getRestTypeOfTupleType(r);return i?n&&t>=getTotalFixedElementCount(r.target)?getUnionType([i,n]):i:Me})}function getElementTypeOfSliceOfTupleType(e,t,n=0,r=!1,i=!1){const o=getTypeReferenceArity(e)-n;if(t<o){const n=getTypeArguments(e),a=[];for(let r=t;r<o;r++){const t=n[r];a.push(8&e.target.elementFlags[r]?getIndexedAccessType(t,Ve):t)}return r?getIntersectionType(a):getUnionType(a,i?0:1)}}function isZeroBigInt({value:e}){return"0"===e.base10Value}function removeDefinitelyFalsyTypes(e){return filterType(e,e=>hasTypeFacts(e,4194304))}function getDefinitelyFalsyPartOfType(e){return 4&e.flags?Hr:8&e.flags?Kr:64&e.flags?Gr:e===Ke||e===He||114691&e.flags||128&e.flags&&""===e.value||256&e.flags&&0===e.value||2048&e.flags&&isZeroBigInt(e)?e:tt}function getNullableType(e,t){const n=t&~e.flags&98304;return 0===n?e:getUnionType(32768===n?[e,Me]:65536===n?[e,We]:[e,Me,We])}function getOptionalType(e,t=!1){h.assert(k);const n=t?je:Me;return e===n||1048576&e.flags&&e.types[0]===n?e:getUnionType([e,n])}function getNonNullableType(e){return k?getAdjustedTypeWithFacts(e,2097152):e}function addOptionalTypeMarker(e){return k?getUnionType([e,Je]):e}function removeOptionalTypeMarker(e){return k?removeType(e,Je):e}function propagateOptionalTypeMarker(e,t,n){return n?isOutermostOptionalChain(t)?getOptionalType(e):addOptionalTypeMarker(e):e}function getOptionalExpressionType(e,t){return isExpressionOfOptionalChainRoot(t)?getNonNullableType(e):isOptionalChain(t)?removeOptionalTypeMarker(e):e}function removeMissingType(e,t){return L&&t?removeType(e,Be):e}function containsMissingType(e){return e===Be||!!(1048576&e.flags)&&e.types[0]===Be}function removeMissingOrUndefinedType(e){return L?removeType(e,Be):getTypeWithFacts(e,524288)}function isObjectTypeWithInferableIndex(e){const t=getObjectFlags(e);return 2097152&e.flags?every(e.types,isObjectTypeWithInferableIndex):!(!(e.symbol&&7040&e.symbol.flags)||32&e.symbol.flags||typeHasCallOrConstructSignatures(e))||!!(4194304&t)||!!(1024&t&&isObjectTypeWithInferableIndex(e.source))}function createSymbolWithType(e,t){const n=createSymbol(e.flags,e.escapedName,8&getCheckFlags(e));n.declarations=e.declarations,n.parent=e.parent,n.links.type=t,n.links.target=e,e.valueDeclaration&&(n.valueDeclaration=e.valueDeclaration);const r=getSymbolLinks(e).nameType;return r&&(n.links.nameType=r),n}function getRegularTypeOfObjectLiteral(e){if(!(isObjectLiteralType2(e)&&8192&getObjectFlags(e)))return e;const t=e.regularType;if(t)return t;const n=e,r=function transformTypeOfMembers(e,t){const n=createSymbolTable();for(const r of getPropertiesOfObjectType(e)){const e=getTypeOfSymbol(r),i=t(e);n.set(r.escapedName,i===e?r:createSymbolWithType(r,i))}return n}(e,getRegularTypeOfObjectLiteral),i=createAnonymousType(n.symbol,r,n.callSignatures,n.constructSignatures,n.indexInfos);return i.flags=n.flags,i.objectFlags|=-8193&n.objectFlags,e.regularType=i,i}function createWideningContext(e,t,n){return{parent:e,propertyName:t,siblings:n,resolvedProperties:void 0}}function getSiblingsOfContext(e){if(!e.siblings){const t=[];for(const n of getSiblingsOfContext(e.parent))if(isObjectLiteralType2(n)){const r=getPropertyOfObjectType(n,e.propertyName);r&&forEachType(getTypeOfSymbol(r),e=>{t.push(e)})}e.siblings=t}return e.siblings}function getPropertiesOfContext(e){if(!e.resolvedProperties){const t=new Map;for(const n of getSiblingsOfContext(e))if(isObjectLiteralType2(n)&&!(2097152&getObjectFlags(n)))for(const e of getPropertiesOfType(n))t.set(e.escapedName,e);e.resolvedProperties=arrayFrom(t.values())}return e.resolvedProperties}function getWidenedProperty(e,t){if(!(4&e.flags))return e;const n=getTypeOfSymbol(e),r=getWidenedTypeWithContext(n,t&&createWideningContext(t,e.escapedName,void 0));return r===n?e:createSymbolWithType(e,r)}function getUndefinedProperty(e){const t=Se.get(e.escapedName);if(t)return t;const n=createSymbolWithType(e,je);return n.flags|=16777216,Se.set(e.escapedName,n),n}function getWidenedType(e){return getWidenedTypeWithContext(e,void 0)}function getWidenedTypeWithContext(e,t){if(196608&getObjectFlags(e)){if(void 0===t&&e.widened)return e.widened;let n;if(98305&e.flags)n=ke;else if(isObjectLiteralType2(e))n=function getWidenedTypeOfObjectLiteral(e,t){const n=createSymbolTable();for(const r of getPropertiesOfObjectType(e))n.set(r.escapedName,getWidenedProperty(r,t));if(t)for(const e of getPropertiesOfContext(t))n.has(e.escapedName)||n.set(e.escapedName,getUndefinedProperty(e));const r=createAnonymousType(e.symbol,n,l,l,sameMap(getIndexInfosOfType(e),e=>createIndexInfo(e.keyType,getWidenedType(e.type),e.isReadonly,e.declaration,e.components)));return r.objectFlags|=266240&getObjectFlags(e),r}(e,t);else if(1048576&e.flags){const r=t||createWideningContext(void 0,void 0,e.types),i=sameMap(e.types,e=>98304&e.flags?e:getWidenedTypeWithContext(e,r));n=getUnionType(i,some(i,isEmptyObjectType)?2:1)}else 2097152&e.flags?n=getIntersectionType(sameMap(e.types,getWidenedType)):isArrayOrTupleType(e)&&(n=createTypeReference(e.target,sameMap(getTypeArguments(e),getWidenedType)));return n&&void 0===t&&(e.widened=n),n||e}return e}function reportWideningErrorsInType(e){var t;let n=!1;if(65536&getObjectFlags(e))if(1048576&e.flags)if(some(e.types,isEmptyObjectType))n=!0;else for(const t of e.types)n||(n=reportWideningErrorsInType(t));else if(isArrayOrTupleType(e))for(const t of getTypeArguments(e))n||(n=reportWideningErrorsInType(t));else if(isObjectLiteralType2(e))for(const r of getPropertiesOfObjectType(e)){const i=getTypeOfSymbol(r);if(65536&getObjectFlags(i)&&(n=reportWideningErrorsInType(i),!n)){const o=null==(t=r.declarations)?void 0:t.find(t=>{var n;return(null==(n=t.symbol.valueDeclaration)?void 0:n.parent)===e.symbol.valueDeclaration});o&&(error2(o,Ot.Object_literal_s_property_0_implicitly_has_an_1_type,symbolToString(r),typeToString(getWidenedType(i))),n=!0)}}return n}function reportImplicitAny(e,t,n){const r=typeToString(getWidenedType(t));if(isInJSFile(e)&&!isCheckJsEnabledForFile(getSourceFileOfNode(e),S))return;let i;switch(e.kind){case 227:case 173:case 172:i=A?Ot.Member_0_implicitly_has_an_1_type:Ot.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 170:const t=e;if(isIdentifier(t.name)){const n=identifierToKeywordKind(t.name);if((isCallSignatureDeclaration(t.parent)||isMethodSignature(t.parent)||isFunctionTypeNode(t.parent))&&t.parent.parameters.includes(t)&&(te(t,t.name.escapedText,788968,void 0,!0)||n&&isTypeNodeKind(n))){const n="arg"+t.parent.parameters.indexOf(t),r=declarationNameToString(t.name)+(t.dotDotDotToken?"[]":"");return void errorOrSuggestion(A,e,Ot.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,n,r)}}i=e.dotDotDotToken?A?Ot.Rest_parameter_0_implicitly_has_an_any_type:Ot.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:A?Ot.Parameter_0_implicitly_has_an_1_type:Ot.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 209:if(i=Ot.Binding_element_0_implicitly_has_an_1_type,!A)return;break;case 318:return void error2(e,Ot.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,r);case 324:return void(A&&isJSDocOverloadTag(e.parent)&&error2(e.parent.tagName,Ot.This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation,r));case 263:case 175:case 174:case 178:case 179:case 219:case 220:if(A&&!e.name)return void error2(e,3===n?Ot.Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation:Ot.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,r);i=A?3===n?Ot._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:Ot._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:Ot._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 201:return void(A&&error2(e,Ot.Mapped_object_type_implicitly_has_an_any_template_type));default:i=A?Ot.Variable_0_implicitly_has_an_1_type:Ot.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}errorOrSuggestion(A,e,i,declarationNameToString(getNameOfDeclaration(e)),r)}function reportErrorsFromWidening(e,t,n){addLazyDiagnostic(()=>{A&&65536&getObjectFlags(t)&&(!n||isFunctionLikeDeclaration(e)&&function shouldReportErrorsFromWideningWithContextualSignature(e,t){const n=getContextualSignatureForFunctionLikeDeclaration(e);if(!n)return!0;let r=getReturnTypeOfSignature(n);const i=getFunctionFlags(e);switch(t){case 1:return 1&i?r=getIterationTypeOfGeneratorFunctionReturnType(1,r,!!(2&i))??r:2&i&&(r=getAwaitedTypeNoAlias(r)??r),isGenericType(r);case 3:const e=getIterationTypeOfGeneratorFunctionReturnType(0,r,!!(2&i));return!!e&&isGenericType(e);case 2:const t=getIterationTypeOfGeneratorFunctionReturnType(2,r,!!(2&i));return!!t&&isGenericType(t)}return!1}(e,n))&&(reportWideningErrorsInType(t)||reportImplicitAny(e,t,n))})}function applyToParameterTypes(e,t,n){const r=getParameterCount(e),i=getParameterCount(t),o=getEffectiveRestType(e),a=getEffectiveRestType(t),s=a?i-1:i,c=o?s:Math.min(r,s),l=getThisTypeOfSignature(e);if(l){const e=getThisTypeOfSignature(t);e&&n(l,e)}for(let r=0;r<c;r++)n(getTypeAtPosition(e,r),getTypeAtPosition(t,r));a&&n(getRestTypeAtPosition(e,c,isConstTypeVariable(a)&&!someType(a,isMutableArrayLikeType)),a)}function applyToReturnTypes(e,t,n){const r=getTypePredicateOfSignature(t);if(r){const t=getTypePredicateOfSignature(e);if(t&&typePredicateKindsMatch(t,r)&&t.type&&r.type)return void n(t.type,r.type)}const i=getReturnTypeOfSignature(t);couldContainTypeVariables(i)&&n(getReturnTypeOfSignature(e),i)}function createInferenceContext(e,t,n,r){return createInferenceContextWorker(e.map(createInferenceInfo),t,n,r||compareTypesAssignable)}function cloneInferenceContext(e,t=0){return e&&createInferenceContextWorker(map(e.inferences,cloneInferenceInfo),e.signature,e.flags|t,e.compareTypes)}function createInferenceContextWorker(e,t,n,r){const i={inferences:e,signature:t,flags:n,compareTypes:r,mapper:yt,nonFixingMapper:yt};return i.mapper=function makeFixingMapperForContext(e){return makeDeferredTypeMapper(map(e.inferences,e=>e.typeParameter),map(e.inferences,(t,n)=>()=>(t.isFixed||(!function inferFromIntraExpressionSites(e){if(e.intraExpressionInferenceSites){for(const{node:t,type:n}of e.intraExpressionInferenceSites){const r=175===t.kind?getContextualTypeForObjectLiteralMethod(t,2):getContextualType2(t,2);r&&inferTypes(e.inferences,n,r)}e.intraExpressionInferenceSites=void 0}}(e),clearCachedInferences(e.inferences),t.isFixed=!0),getInferredType(e,n))))}(i),i.nonFixingMapper=function makeNonFixingMapperForContext(e){return makeDeferredTypeMapper(map(e.inferences,e=>e.typeParameter),map(e.inferences,(t,n)=>()=>getInferredType(e,n)))}(i),i}function clearCachedInferences(e){for(const t of e)t.isFixed||(t.inferredType=void 0)}function addIntraExpressionInferenceSite(e,t,n){(e.intraExpressionInferenceSites??(e.intraExpressionInferenceSites=[])).push({node:t,type:n})}function createInferenceInfo(e){return{typeParameter:e,candidates:void 0,contraCandidates:void 0,inferredType:void 0,priority:void 0,topLevel:!0,isFixed:!1,impliedArity:void 0}}function cloneInferenceInfo(e){return{typeParameter:e.typeParameter,candidates:e.candidates&&e.candidates.slice(),contraCandidates:e.contraCandidates&&e.contraCandidates.slice(),inferredType:e.inferredType,priority:e.priority,topLevel:e.topLevel,isFixed:e.isFixed,impliedArity:e.impliedArity}}function getMapperFromContext(e){return e&&e.mapper}function couldContainTypeVariables(e){const t=getObjectFlags(e);if(524288&t)return!!(1048576&t);const n=!!(465829888&e.flags||524288&e.flags&&!isNonGenericTopLevelType(e)&&(4&t&&(e.node||some(getTypeArguments(e),couldContainTypeVariables))||16&t&&e.symbol&&14384&e.symbol.flags&&e.symbol.declarations||12583968&t)||3145728&e.flags&&!(1024&e.flags)&&!isNonGenericTopLevelType(e)&&some(e.types,couldContainTypeVariables));return 3899393&e.flags&&(e.objectFlags|=524288|(n?1048576:0)),n}function isNonGenericTopLevelType(e){if(e.aliasSymbol&&!e.aliasTypeArguments){const t=getDeclarationOfKind(e.aliasSymbol,266);return!(!t||!findAncestor(t.parent,e=>308===e.kind||268!==e.kind&&"quit"))}return!1}function isTypeParameterAtTopLevel(e,t,n=0){return!!(e===t||3145728&e.flags&&some(e.types,e=>isTypeParameterAtTopLevel(e,t,n))||n<3&&16777216&e.flags&&(isTypeParameterAtTopLevel(getTrueTypeFromConditionalType(e),t,n+1)||isTypeParameterAtTopLevel(getFalseTypeFromConditionalType(e),t,n+1)))}function inferTypeForHomomorphicMappedType(e,t,n){const r=e.id+","+t.id+","+n.id;if(kr.has(r))return kr.get(r);const i=function createReverseMappedType(e,t,n){if(!(getIndexInfoOfType(e,ze)||0!==getPropertiesOfType(e).length&&isPartiallyInferableType(e)))return;if(isArrayType(e)){const r=inferReverseMappedType(getTypeArguments(e)[0],t,n);if(!r)return;return createArrayType(r,isReadonlyArrayType(e))}if(isTupleType(e)){const r=map(getElementTypes(e),e=>inferReverseMappedType(e,t,n));if(!every(r,e=>!!e))return;return createTupleType(r,4&getMappedTypeModifiers(t)?sameMap(e.target.elementFlags,e=>2&e?1:e):e.target.elementFlags,e.target.readonly,e.target.labeledElementDeclarations)}const r=createObjectType(1040,void 0);return r.source=e,r.mappedType=t,r.constraintType=n,r}(e,t,n);return kr.set(r,i),i}function isPartiallyInferableType(e){return!(262144&getObjectFlags(e))||isObjectLiteralType2(e)&&some(getPropertiesOfType(e),e=>isPartiallyInferableType(getTypeOfSymbol(e)))||isTupleType(e)&&some(getElementTypes(e),isPartiallyInferableType)}function inferReverseMappedType(e,t,n){const r=e.id+","+t.id+","+n.id;if(Nr.has(r))return Nr.get(r)||Le;Ti.push(e),Si.push(t);const i=xi;let o;return isDeeplyNestedType(e,Ti,Ti.length,2)&&(xi|=1),isDeeplyNestedType(t,Si,Si.length,2)&&(xi|=2),3!==xi&&(o=function inferReverseMappedTypeWorker(e,t,n){const r=getIndexedAccessType(n.type,getTypeParameterFromMappedType(t)),i=getTemplateTypeFromMappedType(t),o=createInferenceInfo(r);return inferTypes([o],e,i),getTypeFromInference(o)||Le}(e,t,n)),Ti.pop(),Si.pop(),xi=i,Nr.set(r,o),o}function*getUnmatchedProperties(e,t,n,r){const i=getPropertiesOfType(t);for(const t of i)if(!isStaticPrivateIdentifierProperty(t)&&(n||!(16777216&t.flags||48&getCheckFlags(t)))){const n=getPropertyOfType(e,t.escapedName);if(n){if(r){const e=getTypeOfSymbol(t);if(109472&e.flags){const r=getTypeOfSymbol(n);1&r.flags||getRegularTypeOfLiteralType(r)===getRegularTypeOfLiteralType(e)||(yield t)}}}else yield t}}function getUnmatchedProperty(e,t,n,r){return firstOrUndefinedIterator(getUnmatchedProperties(e,t,n,r))}function getTypeFromInference(e){return e.candidates?getUnionType(e.candidates,2):e.contraCandidates?getIntersectionType(e.contraCandidates):void 0}function hasSkipDirectInferenceFlag(e){return!!getNodeLinks(e).skipDirectInference}function isFromInferenceBlockedSource(e){return!(!e.symbol||!some(e.symbol.declarations,hasSkipDirectInferenceFlag))}function isValidNumberString(e,t){if(""===e)return!1;const n=+e;return isFinite(n)&&(!t||""+n===e)}function parseBigIntLiteralType(e){return getBigIntLiteralType(parseValidBigInt(e))}function isMemberOfStringMapping(e,t){if(1&t.flags)return!0;if(134217732&t.flags)return isTypeAssignableTo(e,t);if(268435456&t.flags){const n=[];for(;268435456&t.flags;)n.unshift(t.symbol),t=t.type;return reduceLeft(n,(e,t)=>getStringMappingType(t,e),e)===e&&isMemberOfStringMapping(e,t)}return!1}function isValidTypeForTemplateLiteralPlaceholder(e,t){if(2097152&t.flags)return every(t.types,t=>t===vt||isValidTypeForTemplateLiteralPlaceholder(e,t));if(4&t.flags||isTypeAssignableTo(e,t))return!0;if(128&e.flags){const n=e.value;return!!(8&t.flags&&isValidNumberString(n,!1)||64&t.flags&&isValidBigIntString(n,!1)||98816&t.flags&&n===t.intrinsicName||268435456&t.flags&&isMemberOfStringMapping(e,t)||134217728&t.flags&&isTypeMatchedByTemplateLiteralType(e,t))}if(134217728&e.flags){const n=e.texts;return 2===n.length&&""===n[0]&&""===n[1]&&isTypeAssignableTo(e.types[0],t)}return!1}function inferTypesFromTemplateLiteralType(e,t){return 128&e.flags?inferFromLiteralPartsToTemplateLiteral([e.value],l,t):134217728&e.flags?arrayIsEqualTo(e.texts,t.texts)?map(e.types,(e,n)=>isTypeAssignableTo(getBaseConstraintOrType(e),getBaseConstraintOrType(t.types[n]))?e:function getStringLikeTypeForType(e){return 402653317&e.flags?e:getTemplateLiteralType(["",""],[e])}(e)):inferFromLiteralPartsToTemplateLiteral(e.texts,e.types,t):void 0}function isTypeMatchedByTemplateLiteralType(e,t){const n=inferTypesFromTemplateLiteralType(e,t);return!!n&&every(n,(e,n)=>isValidTypeForTemplateLiteralPlaceholder(e,t.types[n]))}function inferFromLiteralPartsToTemplateLiteral(e,t,n){const r=e.length-1,i=e[0],o=e[r],a=n.texts,s=a.length-1,c=a[0],l=a[s];if(0===r&&i.length<c.length+l.length||!i.startsWith(c)||!o.endsWith(l))return;const d=o.slice(0,o.length-l.length),p=[];let u=0,m=c.length;for(let t=1;t<s;t++){const n=a[t];if(n.length>0){let t=u,r=m;for(;r=getSourceText(t).indexOf(n,r),!(r>=0);){if(t++,t===e.length)return;r=0}addMatch(t,r),m+=n.length}else if(m<getSourceText(u).length)addMatch(u,m+1);else{if(!(u<r))return;addMatch(u+1,0)}}return addMatch(r,getSourceText(r).length),p;function getSourceText(t){return t<r?e[t]:d}function addMatch(n,r){const i=n===u?getStringLiteralType(getSourceText(n).slice(m,r)):getTemplateLiteralType([e[u].slice(m),...e.slice(u+1,n),getSourceText(n).slice(0,r)],t.slice(u,n));p.push(i),u=n,m=r}}function inferTypes(e,t,n,r=0,i=!1){let o,a,s,c,d=!1,p=2048,u=0;function inferFromTypes(t,a){if(couldContainTypeVariables(a)&&!isNoInferType(a)){if(t===Pe||t===De){const e=o;return o=t,inferFromTypes(a,a),void(o=e)}if(t.aliasSymbol&&t.aliasSymbol===a.aliasSymbol){if(t.aliasTypeArguments){const e=getSymbolLinks(t.aliasSymbol).typeParameters,n=getMinTypeArgumentCount(e);inferFromTypeArguments(fillMissingTypeArguments(t.aliasTypeArguments,e,n,isInJSFile(t.aliasSymbol.valueDeclaration)),fillMissingTypeArguments(a.aliasTypeArguments,e,n,isInJSFile(t.aliasSymbol.valueDeclaration)),getAliasVariances(t.aliasSymbol))}}else if(t===a&&3145728&t.flags)for(const e of t.types)inferFromTypes(e,e);else{if(1048576&a.flags){const[e,n]=inferFromMatchingTypes(1048576&t.flags?t.types:[t],a.types,isTypeOrBaseIdenticalTo),[r,i]=inferFromMatchingTypes(e,n,isTypeCloselyMatchedBy);if(0===i.length)return;if(a=getUnionType(i),0===r.length)return void inferWithPriority(t,a,1);t=getUnionType(r)}else if(2097152&a.flags&&!every(a.types,isNonGenericObjectType)&&!(1048576&t.flags)){const[e,n]=inferFromMatchingTypes(2097152&t.flags?t.types:[t],a.types,isTypeIdenticalTo);if(0===e.length||0===n.length)return;t=getIntersectionType(e),a=getIntersectionType(n)}if(41943040&a.flags){if(isNoInferType(a))return;a=getActualTypeVariable(a)}if(8650752&a.flags){if(isFromInferenceBlockedSource(t))return;const s=getInferenceInfoForType(a);if(s){if(262144&getObjectFlags(t)||t===Oe)return;if(!s.isFixed){const c=o||t;if(c===De)return;(void 0===s.priority||r<s.priority)&&(s.candidates=void 0,s.contraCandidates=void 0,s.topLevel=!0,s.priority=r),r===s.priority&&(i&&!d?contains(s.contraCandidates,c)||(s.contraCandidates=append(s.contraCandidates,c),clearCachedInferences(e)):contains(s.candidates,c)||(s.candidates=append(s.candidates,c),clearCachedInferences(e))),!(128&r)&&262144&a.flags&&s.topLevel&&!isTypeParameterAtTopLevel(n,a)&&(s.topLevel=!1,clearCachedInferences(e))}return void(p=Math.min(p,r))}const c=getSimplifiedType(a,!1);if(c!==a)inferFromTypes(t,c);else if(8388608&a.flags){const e=getSimplifiedType(a.indexType,!1);if(465829888&e.flags){const n=distributeIndexOverObjectType(getSimplifiedType(a.objectType,!1),e,!1);n&&n!==a&&inferFromTypes(t,n)}}}if(!(4&getObjectFlags(t)&&4&getObjectFlags(a)&&(t.target===a.target||isArrayType(t)&&isArrayType(a)))||t.node&&a.node)if(4194304&t.flags&&4194304&a.flags)inferFromContravariantTypes(t.type,a.type);else if((isLiteralType(t)||4&t.flags)&&4194304&a.flags){!function inferFromContravariantTypesWithPriority(e,t,n){const i=r;r|=n,inferFromContravariantTypes(e,t),r=i}(function createEmptyObjectTypeFromStringLiteral(e){const t=createSymbolTable();forEachType(e,e=>{if(!(128&e.flags))return;const n=escapeLeadingUnderscores(e.value),r=createSymbol(4,n);r.links.type=ke,e.symbol&&(r.declarations=e.symbol.declarations,r.valueDeclaration=e.symbol.valueDeclaration),t.set(n,r)});const n=4&e.flags?[createIndexInfo(ze,ht,!1)]:l;return createAnonymousType(void 0,t,l,l,n)}(t),a.type,256)}else if(8388608&t.flags&&8388608&a.flags)inferFromTypes(t.objectType,a.objectType),inferFromTypes(t.indexType,a.indexType);else if(268435456&t.flags&&268435456&a.flags)t.symbol===a.symbol&&inferFromTypes(t.type,a.type);else if(33554432&t.flags)inferFromTypes(t.baseType,a),inferWithPriority(getSubstitutionIntersection(t),a,4);else if(16777216&a.flags)invokeOnce(t,a,inferToConditionalType);else if(3145728&a.flags)inferToMultipleTypes(t,a.types,a.flags);else if(1048576&t.flags){const e=t.types;for(const t of e)inferFromTypes(t,a)}else if(134217728&a.flags)!function inferToTemplateLiteralType(e,t){const n=inferTypesFromTemplateLiteralType(e,t),r=t.types;if(n||every(t.texts,e=>0===e.length))for(let e=0;e<r.length;e++){const t=n?n[e]:tt,i=r[e];if(128&t.flags&&8650752&i.flags){const e=getInferenceInfoForType(i),n=e?getBaseConstraintOfType(e.typeParameter):void 0;if(n&&!isTypeAny(n)){const e=1048576&n.flags?n.types:[n];let r=reduceLeft(e,(e,t)=>e|t.flags,0);if(!(4&r)){const n=t.value;296&r&&!isValidNumberString(n,!0)&&(r&=-297),2112&r&&!isValidBigIntString(n,!0)&&(r&=-2113);const o=reduceLeft(e,(e,i)=>i.flags&r?4&e.flags?e:4&i.flags?t:134217728&e.flags?e:134217728&i.flags&&isTypeMatchedByTemplateLiteralType(t,i)?t:268435456&e.flags?e:268435456&i.flags&&n===applyStringMapping(i.symbol,n)?t:128&e.flags?e:128&i.flags&&i.value===n?i:8&e.flags?e:8&i.flags?getNumberLiteralType(+n):32&e.flags?e:32&i.flags?getNumberLiteralType(+n):256&e.flags?e:256&i.flags&&i.value===+n?i:64&e.flags?e:64&i.flags?parseBigIntLiteralType(n):2048&e.flags?e:2048&i.flags&&pseudoBigIntToString(i.value)===n?i:16&e.flags?e:16&i.flags?"true"===n?Ge:"false"===n?He:Ye:512&e.flags?e:512&i.flags&&i.intrinsicName===n?i:32768&e.flags?e:32768&i.flags&&i.intrinsicName===n?i:65536&e.flags?e:65536&i.flags&&i.intrinsicName===n?i:e:e,tt);if(!(131072&o.flags)){inferFromTypes(o,i);continue}}}}inferFromTypes(t,i)}}(t,a);else{if(isGenericMappedType(t=getReducedType(t))&&isGenericMappedType(a)&&invokeOnce(t,a,inferFromGenericMappedTypes),!(512&r&&467927040&t.flags)){const e=getApparentType(t);if(e!==t&&!(2621440&e.flags))return inferFromTypes(e,a);t=e}2621440&t.flags&&invokeOnce(t,a,inferFromObjectTypes)}else inferFromTypeArguments(getTypeArguments(t),getTypeArguments(a),getVariances(t.target))}}}function inferWithPriority(e,t,n){const i=r;r|=n,inferFromTypes(e,t),r=i}function invokeOnce(e,t,n){const r=e.id+","+t.id,i=a&&a.get(r);if(void 0!==i)return void(p=Math.min(p,i));(a||(a=new Map)).set(r,-1);const o=p;p=2048;const l=u;(s??(s=[])).push(e),(c??(c=[])).push(t),isDeeplyNestedType(e,s,s.length,2)&&(u|=1),isDeeplyNestedType(t,c,c.length,2)&&(u|=2),3!==u?n(e,t):p=-1,c.pop(),s.pop(),u=l,a.set(r,p),p=Math.min(p,o)}function inferFromMatchingTypes(e,t,n){let r,i;for(const o of t)for(const t of e)n(t,o)&&(inferFromTypes(t,o),r=appendIfUnique(r,t),i=appendIfUnique(i,o));return[r?filter(e,e=>!contains(r,e)):e,i?filter(t,e=>!contains(i,e)):t]}function inferFromTypeArguments(e,t,n){const r=e.length<t.length?e.length:t.length;for(let i=0;i<r;i++)i<n.length&&2==(7&n[i])?inferFromContravariantTypes(e[i],t[i]):inferFromTypes(e[i],t[i])}function inferFromContravariantTypes(e,t){i=!i,inferFromTypes(e,t),i=!i}function inferFromContravariantTypesIfStrictFunctionTypes(e,t){F||1024&r?inferFromContravariantTypes(e,t):inferFromTypes(e,t)}function getInferenceInfoForType(t){if(8650752&t.flags)for(const n of e)if(t===n.typeParameter)return n}function inferToMultipleTypes(e,t,n){let i=0;if(1048576&n){let n;const o=1048576&e.flags?e.types:[e],a=new Array(o.length);let s=!1;for(const e of t)if(getInferenceInfoForType(e))n=e,i++;else for(let t=0;t<o.length;t++){const n=p;p=2048,inferFromTypes(o[t],e),p===r&&(a[t]=!0),s=s||-1===p,p=Math.min(p,n)}if(0===i){const n=function getSingleTypeVariableFromIntersectionTypes(e){let t;for(const n of e){const e=2097152&n.flags&&find(n.types,e=>!!getInferenceInfoForType(e));if(!e||t&&e!==t)return;t=e}return t}(t);return void(n&&inferWithPriority(e,n,1))}if(1===i&&!s){const e=flatMap(o,(e,t)=>a[t]?void 0:e);if(e.length)return void inferFromTypes(getUnionType(e),n)}}else for(const n of t)getInferenceInfoForType(n)?i++:inferFromTypes(e,n);if(2097152&n?1===i:i>0)for(const n of t)getInferenceInfoForType(n)&&inferWithPriority(e,n,1)}function inferToMappedType(e,t,n){if(1048576&n.flags||2097152&n.flags){let r=!1;for(const i of n.types)r=inferToMappedType(e,t,i)||r;return r}if(4194304&n.flags){const r=getInferenceInfoForType(n.type);if(r&&!r.isFixed&&!isFromInferenceBlockedSource(e)){const i=inferTypeForHomomorphicMappedType(e,t,n);i&&inferWithPriority(i,r.typeParameter,262144&getObjectFlags(e)?16:8)}return!0}if(262144&n.flags){inferWithPriority(getIndexType(e,e.pattern?2:0),n,32);const r=getConstraintOfType(n);if(r&&inferToMappedType(e,t,r))return!0;return inferFromTypes(getUnionType(concatenate(map(getPropertiesOfType(e),getTypeOfSymbol),map(getIndexInfosOfType(e),e=>e!==hr?e.type:tt))),getTemplateTypeFromMappedType(t)),!0}return!1}function inferToConditionalType(e,t){if(16777216&e.flags)inferFromTypes(e.checkType,t.checkType),inferFromTypes(e.extendsType,t.extendsType),inferFromTypes(getTrueTypeFromConditionalType(e),getTrueTypeFromConditionalType(t)),inferFromTypes(getFalseTypeFromConditionalType(e),getFalseTypeFromConditionalType(t));else{!function inferToMultipleTypesWithPriority(e,t,n,i){const o=r;r|=i,inferToMultipleTypes(e,t,n),r=o}(e,[getTrueTypeFromConditionalType(t),getFalseTypeFromConditionalType(t)],t.flags,i?64:0)}}function inferFromGenericMappedTypes(e,t){inferFromTypes(getConstraintTypeFromMappedType(e),getConstraintTypeFromMappedType(t)),inferFromTypes(getTemplateTypeFromMappedType(e),getTemplateTypeFromMappedType(t));const n=getNameTypeFromMappedType(e),r=getNameTypeFromMappedType(t);n&&r&&inferFromTypes(n,r)}function inferFromObjectTypes(e,t){var n,r;if(4&getObjectFlags(e)&&4&getObjectFlags(t)&&(e.target===t.target||isArrayType(e)&&isArrayType(t)))inferFromTypeArguments(getTypeArguments(e),getTypeArguments(t),getVariances(e.target));else{if(isGenericMappedType(e)&&isGenericMappedType(t)&&inferFromGenericMappedTypes(e,t),32&getObjectFlags(t)&&!t.declaration.nameType){if(inferToMappedType(e,t,getConstraintTypeFromMappedType(t)))return}if(!function typesDefinitelyUnrelated(e,t){return isTupleType(e)&&isTupleType(t)?function tupleTypesDefinitelyUnrelated(e,t){return!(8&t.target.combinedFlags)&&t.target.minLength>e.target.minLength||!(12&t.target.combinedFlags)&&(!!(12&e.target.combinedFlags)||t.target.fixedLength<e.target.fixedLength)}(e,t):!!getUnmatchedProperty(e,t,!1,!0)&&!!getUnmatchedProperty(t,e,!1,!1)}(e,t)){if(isArrayOrTupleType(e)){if(isTupleType(t)){const i=getTypeReferenceArity(e),o=getTypeReferenceArity(t),a=getTypeArguments(t),s=t.target.elementFlags;if(isTupleType(e)&&function isTupleTypeStructureMatching(e,t){return getTypeReferenceArity(e)===getTypeReferenceArity(t)&&every(e.target.elementFlags,(e,n)=>(12&e)==(12&t.target.elementFlags[n]))}(e,t)){for(let t=0;t<o;t++)inferFromTypes(getTypeArguments(e)[t],a[t]);return}const c=isTupleType(e)?Math.min(e.target.fixedLength,t.target.fixedLength):0,l=Math.min(isTupleType(e)?getEndElementCount(e.target,3):0,12&t.target.combinedFlags?getEndElementCount(t.target,3):0);for(let t=0;t<c;t++)inferFromTypes(getTypeArguments(e)[t],a[t]);if(!isTupleType(e)||i-c-l===1&&4&e.target.elementFlags[c]){const t=getTypeArguments(e)[c];for(let e=c;e<o-l;e++)inferFromTypes(8&s[e]?createArrayType(t):t,a[e])}else{const d=o-c-l;if(2===d){if(s[c]&s[c+1]&8){const t=getInferenceInfoForType(a[c]);t&&void 0!==t.impliedArity&&(inferFromTypes(sliceTupleType(e,c,l+i-t.impliedArity),a[c]),inferFromTypes(sliceTupleType(e,c+t.impliedArity,l),a[c+1]))}else if(8&s[c]&&4&s[c+1]){const t=null==(n=getInferenceInfoForType(a[c]))?void 0:n.typeParameter,r=t&&getBaseConstraintOfType(t);if(r&&isTupleType(r)&&!(12&r.target.combinedFlags)){const t=r.target.fixedLength;inferFromTypes(sliceTupleType(e,c,i-(c+t)),a[c]),inferFromTypes(getElementTypeOfSliceOfTupleType(e,c+t,l),a[c+1])}}else if(4&s[c]&&8&s[c+1]){const n=null==(r=getInferenceInfoForType(a[c+1]))?void 0:r.typeParameter,o=n&&getBaseConstraintOfType(n);if(o&&isTupleType(o)&&!(12&o.target.combinedFlags)){const n=o.target.fixedLength,r=i-getEndElementCount(t.target,3),s=r-n,d=createTupleType(getTypeArguments(e).slice(s,r),e.target.elementFlags.slice(s,r),!1,e.target.labeledElementDeclarations&&e.target.labeledElementDeclarations.slice(s,r));inferFromTypes(getElementTypeOfSliceOfTupleType(e,c,l+n),a[c]),inferFromTypes(d,a[c+1])}}}else if(1===d&&8&s[c]){const n=2&t.target.elementFlags[o-1];inferWithPriority(sliceTupleType(e,c,l),a[c],n?2:0)}else if(1===d&&4&s[c]){const t=getElementTypeOfSliceOfTupleType(e,c,l);t&&inferFromTypes(t,a[c])}}for(let t=0;t<l;t++)inferFromTypes(getTypeArguments(e)[i-t-1],a[o-t-1]);return}if(isArrayType(t))return void inferFromIndexTypes(e,t)}!function inferFromProperties(e,t){const n=getPropertiesOfObjectType(t);for(const t of n){const n=getPropertyOfType(e,t.escapedName);n&&!some(n.declarations,hasSkipDirectInferenceFlag)&&inferFromTypes(removeMissingType(getTypeOfSymbol(n),!!(16777216&n.flags)),removeMissingType(getTypeOfSymbol(t),!!(16777216&t.flags)))}}(e,t),inferFromSignatures(e,t,0),inferFromSignatures(e,t,1),inferFromIndexTypes(e,t)}}}function inferFromSignatures(e,t,n){const r=getSignaturesOfType(e,n),i=r.length;if(i>0){const e=getSignaturesOfType(t,n),o=e.length;for(let t=0;t<o;t++){inferFromSignature(getBaseSignature(r[Math.max(i-o+t,0)]),getErasedSignature(e[t]))}}}function inferFromSignature(e,t){if(!(64&e.flags)){const n=d,r=t.declaration?t.declaration.kind:0;d=d||175===r||174===r||177===r,applyToParameterTypes(e,t,inferFromContravariantTypesIfStrictFunctionTypes),d=n}applyToReturnTypes(e,t,inferFromTypes)}function inferFromIndexTypes(e,t){const n=getObjectFlags(e)&getObjectFlags(t)&32?8:0,r=getIndexInfosOfType(t);if(isObjectTypeWithInferableIndex(e))for(const t of r){const r=[];for(const n of getPropertiesOfType(e))if(isApplicableIndexType(getLiteralTypeFromProperty(n,8576),t.keyType)){const e=getTypeOfSymbol(n);r.push(16777216&n.flags?removeMissingOrUndefinedType(e):e)}for(const n of getIndexInfosOfType(e))isApplicableIndexType(n.keyType,t.keyType)&&r.push(n.type);r.length&&inferWithPriority(getUnionType(r),t.type,n)}for(const t of r){const r=getApplicableIndexInfo(e,t.keyType);r&&inferWithPriority(r.type,t.type,n)}}inferFromTypes(t,n)}function isTypeOrBaseIdenticalTo(e,t){return t===Be?e===t:isTypeIdenticalTo(e,t)||!!(4&t.flags&&128&e.flags||8&t.flags&&256&e.flags)}function isTypeCloselyMatchedBy(e,t){return!!(524288&e.flags&&524288&t.flags&&e.symbol&&e.symbol===t.symbol||e.aliasSymbol&&e.aliasTypeArguments&&e.aliasSymbol===t.aliasSymbol)}function isObjectLiteralType2(e){return!!(128&getObjectFlags(e))}function isObjectOrArrayLiteralType(e){return!!(16512&getObjectFlags(e))}function getContravariantInference(e){return 416&e.priority?getIntersectionType(e.contraCandidates):function getCommonSubtype(e){return reduceLeft(e,(e,t)=>isTypeSubtypeOf(t,e)?t:e)}(e.contraCandidates)}function getCovariantInference(e,t){const n=function unionObjectAndArrayLiteralCandidates(e){if(e.length>1){const t=filter(e,isObjectOrArrayLiteralType);if(t.length){const n=getUnionType(t,2);return concatenate(filter(e,e=>!isObjectOrArrayLiteralType(e)),[n])}}return e}(e.candidates),r=function hasPrimitiveConstraint(e){const t=getConstraintOfTypeParameter(e);return!!t&&maybeTypeOfKind(16777216&t.flags?getDefaultConstraintOfConditionalType(t):t,406978556)}(e.typeParameter)||isConstTypeVariable(e.typeParameter),i=!r&&e.topLevel&&(e.isFixed||!function isTypeParameterAtTopLevelInReturnType(e,t){const n=getTypePredicateOfSignature(e);return n?!!n.type&&isTypeParameterAtTopLevel(n.type,t):isTypeParameterAtTopLevel(getReturnTypeOfSignature(e),t)}(t,e.typeParameter)),o=r?sameMap(n,getRegularTypeOfLiteralType):i?sameMap(n,getWidenedLiteralType):n;return getWidenedType(416&e.priority?getUnionType(o,2):getCommonSupertype(o))}function getInferredType(e,t){const n=e.inferences[t];if(!n.inferredType){let r,i;if(e.signature){const o=n.candidates?getCovariantInference(n,e.signature):void 0,a=n.contraCandidates?getContravariantInference(n):void 0;if(o||a){const t=o&&(!a||!(131073&o.flags)&&some(n.contraCandidates,e=>isTypeAssignableTo(o,e))&&every(e.inferences,e=>e!==n&&getConstraintOfTypeParameter(e.typeParameter)!==n.typeParameter||every(e.candidates,e=>isTypeAssignableTo(e,o))));r=t?o:a,i=t?a:o}else if(1&e.flags)r=nt;else{const i=getDefaultFromTypeParameter(n.typeParameter);i&&(r=instantiateType(i,mergeTypeMappers(function createBackreferenceMapper(e,t){const n=e.inferences.slice(t);return createTypeMapper(map(n,e=>e.typeParameter),map(n,()=>Le))}(e,t),e.nonFixingMapper)))}}else r=getTypeFromInference(n);n.inferredType=r||getDefaultTypeArgumentType(!!(2&e.flags));const o=getConstraintOfTypeParameter(n.typeParameter);if(o){const t=instantiateType(o,e.nonFixingMapper);r&&e.compareTypes(r,getTypeWithThisArgument(t,r))||(n.inferredType=i&&e.compareTypes(i,getTypeWithThisArgument(t,i))?i:t)}!function clearActiveMapperCaches(){for(let e=qr-1;e>=0;e--)Vr[e].clear()}()}return n.inferredType}function getDefaultTypeArgumentType(e){return e?ke:Le}function getInferredTypes(e){const t=[];for(let n=0;n<e.inferences.length;n++)t.push(getInferredType(e,n));return t}function getCannotFindNameDiagnosticForName(e){switch(e.escapedText){case"document":case"console":return Ot.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom;case"$":return S.types?Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery;case"describe":case"suite":case"it":case"test":return S.types?Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha;case"process":case"require":case"Buffer":case"module":return S.types?Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode;case"Bun":return S.types?Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_and_then_add_bun_to_the_types_field_in_your_tsconfig:Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun;case"Map":case"Set":case"Promise":case"Symbol":case"WeakMap":case"WeakSet":case"Iterator":case"AsyncIterator":case"SharedArrayBuffer":case"Atomics":case"AsyncIterable":case"AsyncIterableIterator":case"AsyncGenerator":case"AsyncGeneratorFunction":case"BigInt":case"Reflect":case"BigInt64Array":case"BigUint64Array":return Ot.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later;case"await":if(isCallExpression(e.parent))return Ot.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function;default:return 305===e.parent.kind?Ot.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:Ot.Cannot_find_name_0}}function getResolvedSymbol(e){const t=getNodeLinks(e);return t.resolvedSymbol||(t.resolvedSymbol=!nodeIsMissing(e)&&te(e,e,1160127,getCannotFindNameDiagnosticForName(e),!isWriteOnlyAccess(e),!1)||ve),t.resolvedSymbol}function isInAmbientOrTypeNode(e){return!!(33554432&e.flags||findAncestor(e,e=>isInterfaceDeclaration(e)||isTypeAliasDeclaration(e)||isTypeLiteralNode(e)))}function getFlowCacheKey(e,t,n,r){switch(e.kind){case 80:if(!isThisInTypeQuery(e)){const i=getResolvedSymbol(e);return i!==ve?`${r?getNodeId(r):"-1"}|${getTypeId(t)}|${getTypeId(n)}|${getSymbolId(i)}`:void 0}case 110:return`0|${r?getNodeId(r):"-1"}|${getTypeId(t)}|${getTypeId(n)}`;case 236:case 218:return getFlowCacheKey(e.expression,t,n,r);case 167:const i=getFlowCacheKey(e.left,t,n,r);return i&&`${i}.${e.right.escapedText}`;case 212:case 213:const o=getAccessedPropertyName(e);if(void 0!==o){const i=getFlowCacheKey(e.expression,t,n,r);return i&&`${i}.${o}`}if(isElementAccessExpression(e)&&isIdentifier(e.argumentExpression)){const i=getResolvedSymbol(e.argumentExpression);if(isConstantVariable(i)||isParameterOrMutableLocalVariable(i)&&!isSymbolAssigned(i)){const o=getFlowCacheKey(e.expression,t,n,r);return o&&`${o}.@${getSymbolId(i)}`}}break;case 207:case 208:case 263:case 219:case 220:case 175:return`${getNodeId(e)}#${getTypeId(t)}`}}function isMatchingReference(e,t){switch(t.kind){case 218:case 236:return isMatchingReference(e,t.expression);case 227:return isAssignmentExpression(t)&&isMatchingReference(e,t.left)||isBinaryExpression(t)&&28===t.operatorToken.kind&&isMatchingReference(e,t.right)}switch(e.kind){case 237:return 237===t.kind&&e.keywordToken===t.keywordToken&&e.name.escapedText===t.name.escapedText;case 80:case 81:return isThisInTypeQuery(e)?110===t.kind:80===t.kind&&getResolvedSymbol(e)===getResolvedSymbol(t)||(isVariableDeclaration(t)||isBindingElement(t))&&getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(e))===getSymbolOfDeclaration(t);case 110:return 110===t.kind;case 108:return 108===t.kind;case 236:case 218:case 239:return isMatchingReference(e.expression,t);case 212:case 213:const n=getAccessedPropertyName(e);if(void 0!==n){const r=isAccessExpression(t)?getAccessedPropertyName(t):void 0;if(void 0!==r)return r===n&&isMatchingReference(e.expression,t.expression)}if(isElementAccessExpression(e)&&isElementAccessExpression(t)&&isIdentifier(e.argumentExpression)&&isIdentifier(t.argumentExpression)){const n=getResolvedSymbol(e.argumentExpression);if(n===getResolvedSymbol(t.argumentExpression)&&(isConstantVariable(n)||isParameterOrMutableLocalVariable(n)&&!isSymbolAssigned(n)))return isMatchingReference(e.expression,t.expression)}break;case 167:return isAccessExpression(t)&&e.right.escapedText===getAccessedPropertyName(t)&&isMatchingReference(e.left,t.expression);case 227:return isBinaryExpression(e)&&28===e.operatorToken.kind&&isMatchingReference(e.right,t)}return!1}function getAccessedPropertyName(e){if(isPropertyAccessExpression(e))return e.name.escapedText;if(isElementAccessExpression(e))return function tryGetElementAccessExpressionName(e){return isStringOrNumericLiteralLike(e.argumentExpression)?escapeLeadingUnderscores(e.argumentExpression.text):isEntityNameExpression(e.argumentExpression)?function tryGetNameFromEntityNameExpression(e){const t=resolveEntityName(e,111551,!0);if(!t||!(isConstantVariable(t)||8&t.flags))return;const n=t.valueDeclaration;if(void 0===n)return;const r=tryGetTypeFromEffectiveTypeNode(n);if(r){const e=tryGetNameFromType(r);if(void 0!==e)return e}if(hasOnlyExpressionInitializer(n)&&isBlockScopedNameDeclaredBeforeUse(n,e)){const e=getEffectiveInitializer(n);if(e){const t=isBindingPattern(n.parent)?getTypeForBindingElement(n):getTypeOfExpression(e);return t&&tryGetNameFromType(t)}if(isEnumMember(n))return getTextOfPropertyName(n.name)}return}(e.argumentExpression):void 0}(e);if(isBindingElement(e)){const t=getDestructuringPropertyName(e);return t?escapeLeadingUnderscores(t):void 0}return isParameter(e)?""+e.parent.parameters.indexOf(e):void 0}function tryGetNameFromType(e){return 8192&e.flags?e.escapedName:384&e.flags?escapeLeadingUnderscores(""+e.value):void 0}function containsMatchingReference(e,t){for(;isAccessExpression(e);)if(isMatchingReference(e=e.expression,t))return!0;return!1}function optionalChainContainsReference(e,t){for(;isOptionalChain(e);)if(isMatchingReference(e=e.expression,t))return!0;return!1}function isDiscriminantProperty(e,t){if(e&&1048576&e.flags){const n=getUnionOrIntersectionProperty(e,t);if(n&&2&getCheckFlags(n))return void 0===n.links.isDiscriminantProperty&&(n.links.isDiscriminantProperty=!(192&~n.links.checkFlags||isGenericType(getTypeOfSymbol(n)))),!!n.links.isDiscriminantProperty}return!1}function findDiscriminantProperties(e,t){let n;for(const r of e)if(isDiscriminantProperty(t,r.escapedName)){if(n){n.push(r);continue}n=[r]}return n}function getKeyPropertyName(e){const t=e.types;if(!(t.length<10||32768&getObjectFlags(e)||countWhere(t,e=>!!(59506688&e.flags))<10)){if(void 0===e.keyPropertyName){const n=forEach(t,e=>59506688&e.flags?forEach(getPropertiesOfType(e),e=>isUnitType(getTypeOfSymbol(e))?e.escapedName:void 0):void 0),r=n&&function mapTypesByKeyProperty(e,t){const n=new Map;let r=0;for(const i of e)if(61603840&i.flags){const e=getTypeOfPropertyOfType(i,t);if(e){if(!isLiteralType(e))return;let t=!1;forEachType(e,e=>{const r=getTypeId(getRegularTypeOfLiteralType(e)),o=n.get(r);o?o!==Le&&(n.set(r,Le),t=!0):n.set(r,i)}),t||r++}}return r>=10&&2*r>=e.length?n:void 0}(t,n);e.keyPropertyName=r?n:"",e.constituentMap=r}return e.keyPropertyName.length?e.keyPropertyName:void 0}}function getConstituentTypeForKeyType(e,t){var n;const r=null==(n=e.constituentMap)?void 0:n.get(getTypeId(getRegularTypeOfLiteralType(t)));return r!==Le?r:void 0}function getMatchingUnionConstituentForType(e,t){const n=getKeyPropertyName(e),r=n&&getTypeOfPropertyOfType(t,n);return r&&getConstituentTypeForKeyType(e,r)}function isOrContainsMatchingReference(e,t){return isMatchingReference(e,t)||containsMatchingReference(e,t)}function hasMatchingArgument(e,t){if(e.arguments)for(const n of e.arguments)if(isOrContainsMatchingReference(t,n)||optionalChainContainsReference(n,t))return!0;return!(212!==e.expression.kind||!isOrContainsMatchingReference(t,e.expression.expression))}function getFlowNodeId(e){return e.id<=0&&(e.id=Zo,Zo++),e.id}function getAssignmentReducedType(e,t){if(e===t)return e;if(131072&t.flags)return t;const n=`A${getTypeId(e)},${getTypeId(t)}`;return getCachedType(n)??setCachedType(n,function getAssignmentReducedTypeWorker(e,t){const n=filterType(e,e=>function typeMaybeAssignableTo(e,t){if(!(1048576&e.flags))return isTypeAssignableTo(e,t);for(const n of e.types)if(isTypeAssignableTo(n,t))return!0;return!1}(t,e)),r=512&t.flags&&isFreshLiteralType(t)?mapType(n,getFreshTypeOfLiteralType):n;return isTypeAssignableTo(t,r)?r:e}(e,t))}function isFunctionObjectType(e){if(256&getObjectFlags(e))return!1;const t=resolveStructuredTypeMembers(e);return!!(t.callSignatures.length||t.constructSignatures.length||t.members.get("bind")&&isTypeSubtypeOf(e,Wt))}function getTypeFacts(e,t){return getTypeFactsWorker(e,t)&t}function hasTypeFacts(e,t){return 0!==getTypeFacts(e,t)}function getTypeFactsWorker(e,t){467927040&e.flags&&(e=getBaseConstraintOfType(e)||Le);const n=e.flags;if(268435460&n)return k?16317953:16776705;if(134217856&n){const t=128&n&&""===e.value;return k?t?12123649:7929345:t?12582401:16776705}if(40&n)return k?16317698:16776450;if(256&n){const t=0===e.value;return k?t?12123394:7929090:t?12582146:16776450}if(64&n)return k?16317188:16775940;if(2048&n){const t=isZeroBigInt(e);return k?t?12122884:7928580:t?12581636:16775940}if(16&n)return k?16316168:16774920;if(528&n)return k?e===He||e===Ke?12121864:7927560:e===He||e===Ke?12580616:16774920;if(524288&n){return 0===(t&(k?83427327:83886079))?0:16&getObjectFlags(e)&&isEmptyObjectType(e)?k?83427327:83886079:isFunctionObjectType(e)?k?7880640:16728e3:k?7888800:16736160}return 16384&n?9830144:32768&n?26607360:65536&n?42917664:12288&n?k?7925520:16772880:67108864&n?k?7888800:16736160:131072&n?0:1048576&n?reduceLeft(e.types,(e,n)=>e|getTypeFactsWorker(n,t),0):2097152&n?function getIntersectionTypeFacts(e,t){const n=maybeTypeOfKind(e,402784252);let r=0,i=134217727;for(const o of e.types)if(!(n&&524288&o.flags)){const e=getTypeFactsWorker(o,t);r|=e,i&=e}return 8256&r|134209471&i}(e,t):83886079}function getTypeWithFacts(e,t){return filterType(e,e=>hasTypeFacts(e,t))}function getAdjustedTypeWithFacts(e,t){const n=recombineUnknownType(getTypeWithFacts(k&&2&e.flags?Ct:e,t));if(k)switch(t){case 524288:return removeNullableByIntersection(n,65536,131072,33554432,We);case 1048576:return removeNullableByIntersection(n,131072,65536,16777216,Me);case 2097152:case 4194304:return mapType(n,e=>hasTypeFacts(e,262144)?function getGlobalNonNullableTypeInstantiation(e){return en||(en=getGlobalSymbol("NonNullable",524288,void 0)||ve),en!==ve?getTypeAliasInstantiation(en,[e]):getIntersectionType([e,ht])}(e):e)}return n}function removeNullableByIntersection(e,t,n,r,i){const o=getTypeFacts(e,50528256);if(!(o&t))return e;const a=getUnionType([ht,i]);return mapType(e,e=>hasTypeFacts(e,t)?getIntersectionType([e,o&r||!hasTypeFacts(e,n)?ht:a]):e)}function recombineUnknownType(e){return e===Ct?Le:e}function getTypeWithDefault(e,t){return t?getUnionType([getNonUndefinedType(e),getTypeOfExpression(t)]):e}function getTypeOfDestructuredProperty(e,t){var n;const r=getLiteralTypeFromPropertyName(t);if(!isTypeUsableAsPropertyName(r))return Ie;const i=getPropertyNameFromType(r);return getTypeOfPropertyOfType(e,i)||includeUndefinedInIndexSignature(null==(n=getApplicableIndexInfoForName(e,i))?void 0:n.type)||Ie}function getTypeOfDestructuredArrayElement(e,t){return everyType(e,isTupleLikeType)&&function getTupleElementType(e,t){const n=getTypeOfPropertyOfType(e,""+t);return n||(everyType(e,isTupleType)?getTupleElementTypeOutOfStartCount(e,t,S.noUncheckedIndexedAccess?Me:void 0):void 0)}(e,t)||includeUndefinedInIndexSignature(checkIteratedTypeOrElementType(65,e,Me,void 0))||Ie}function includeUndefinedInIndexSignature(e){return e&&S.noUncheckedIndexedAccess?getUnionType([e,Be]):e}function getTypeOfDestructuredSpreadExpression(e){return createArrayType(checkIteratedTypeOrElementType(65,e,Me,void 0)||Ie)}function isDestructuringAssignmentTarget(e){return 227===e.parent.kind&&e.parent.left===e||251===e.parent.kind&&e.parent.initializer===e}function getAssignedTypeOfPropertyAssignment(e){return getTypeOfDestructuredProperty(getAssignedType(e.parent),e.name)}function getAssignedType(e){const{parent:t}=e;switch(t.kind){case 250:return ze;case 251:return checkRightHandSideOfForOf(t)||Ie;case 227:return function getAssignedTypeOfBinaryExpression(e){return 210===e.parent.kind&&isDestructuringAssignmentTarget(e.parent)||304===e.parent.kind&&isDestructuringAssignmentTarget(e.parent.parent)?getTypeWithDefault(getAssignedType(e),e.right):getTypeOfExpression(e.right)}(t);case 221:return Me;case 210:return function getAssignedTypeOfArrayLiteralElement(e,t){return getTypeOfDestructuredArrayElement(getAssignedType(e),e.elements.indexOf(t))}(t,e);case 231:return function getAssignedTypeOfSpreadExpression(e){return getTypeOfDestructuredSpreadExpression(getAssignedType(e.parent))}(t);case 304:return getAssignedTypeOfPropertyAssignment(t);case 305:return function getAssignedTypeOfShorthandPropertyAssignment(e){return getTypeWithDefault(getAssignedTypeOfPropertyAssignment(e),e.objectAssignmentInitializer)}(t)}return Ie}function getTypeOfInitializer(e){return getNodeLinks(e).resolvedType||getTypeOfExpression(e)}function getInitialType(e){return 261===e.kind?function getInitialTypeOfVariableDeclaration(e){return e.initializer?getTypeOfInitializer(e.initializer):250===e.parent.parent.kind?ze:251===e.parent.parent.kind&&checkRightHandSideOfForOf(e.parent.parent)||Ie}(e):function getInitialTypeOfBindingElement(e){const t=e.parent,n=getInitialType(t.parent);return getTypeWithDefault(207===t.kind?getTypeOfDestructuredProperty(n,e.propertyName||e.name):e.dotDotDotToken?getTypeOfDestructuredSpreadExpression(n):getTypeOfDestructuredArrayElement(n,t.elements.indexOf(e)),e.initializer)}(e)}function getReferenceCandidate(e){switch(e.kind){case 218:return getReferenceCandidate(e.expression);case 227:switch(e.operatorToken.kind){case 64:case 76:case 77:case 78:return getReferenceCandidate(e.left);case 28:return getReferenceCandidate(e.right)}}return e}function getReferenceRoot(e){const{parent:t}=e;return 218===t.kind||227===t.kind&&64===t.operatorToken.kind&&t.left===e||227===t.kind&&28===t.operatorToken.kind&&t.right===e?getReferenceRoot(t):e}function getTypeOfSwitchClause(e){return 297===e.kind?getRegularTypeOfLiteralType(getTypeOfExpression(e.expression)):tt}function getSwitchClauseTypes(e){const t=getNodeLinks(e);if(!t.switchTypes){t.switchTypes=[];for(const n of e.caseBlock.clauses)t.switchTypes.push(getTypeOfSwitchClause(n))}return t.switchTypes}function getSwitchClauseTypeOfWitnesses(e){if(some(e.caseBlock.clauses,e=>297===e.kind&&!isStringLiteralLike(e.expression)))return;const t=[];for(const n of e.caseBlock.clauses){const e=297===n.kind?n.expression.text:void 0;t.push(e&&!contains(t,e)?e:void 0)}return t}function isTypeSubsetOf(e,t){return!!(e===t||131072&e.flags||1048576&t.flags&&function isTypeSubsetOfUnion(e,t){if(1048576&e.flags){for(const n of e.types)if(!containsType(t.types,n))return!1;return!0}if(1056&e.flags&&getBaseTypeOfEnumLikeType(e)===t)return!0;return containsType(t.types,e)}(e,t))}function forEachType(e,t){return 1048576&e.flags?forEach(e.types,t):t(e)}function someType(e,t){return 1048576&e.flags?some(e.types,t):t(e)}function everyType(e,t){return 1048576&e.flags?every(e.types,t):t(e)}function filterType(e,t){if(1048576&e.flags){const n=e.types,r=filter(n,t);if(r===n)return e;const i=e.origin;let o;if(i&&1048576&i.flags){const e=i.types,a=filter(e,e=>!!(1048576&e.flags)||t(e));if(e.length-a.length===n.length-r.length){if(1===a.length)return a[0];o=createOriginUnionOrIntersectionType(1048576,a)}}return getUnionTypeFromSortedList(r,16809984&e.objectFlags,void 0,void 0,o)}return 131072&e.flags||t(e)?e:tt}function removeType(e,t){return filterType(e,e=>e!==t)}function countTypes(e){return 1048576&e.flags?e.types.length:1}function mapType(e,t,n){if(131072&e.flags)return e;if(!(1048576&e.flags))return t(e);const r=e.origin,i=r&&1048576&r.flags?r.types:e.types;let o,a=!1;for(const e of i){const r=1048576&e.flags?mapType(e,t,n):t(e);a||(a=e!==r),r&&(o?o.push(r):o=[r])}return a?o&&getUnionType(o,n?0:1):e}function mapTypeWithAlias(e,t,n,r){return 1048576&e.flags&&n?getUnionType(map(e.types,t),1,n,r):mapType(e,t)}function extractTypesOfKind(e,t){return filterType(e,e=>0!==(e.flags&t))}function replacePrimitivesWithLiterals(e,t){return maybeTypeOfKind(e,134217804)&&maybeTypeOfKind(t,402655616)?mapType(e,e=>4&e.flags?extractTypesOfKind(t,402653316):isPatternLiteralType(e)&&!maybeTypeOfKind(t,402653188)?extractTypesOfKind(t,128):8&e.flags?extractTypesOfKind(t,264):64&e.flags?extractTypesOfKind(t,2112):e):e}function isIncomplete(e){return 0===e.flags}function getTypeFromFlowType(e){return 0===e.flags?e.type:e}function createFlowType(e,t){return t?{flags:0,type:131072&e.flags?nt:e}:e}function getEvolvingArrayType(e){return Te[e.id]||(Te[e.id]=function createEvolvingArrayType(e){const t=createObjectType(256);return t.elementType=e,t}(e))}function addEvolvingArrayElementType(e,t){const n=getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(getContextFreeTypeOfExpression(t)));return isTypeSubsetOf(n,e.elementType)?e:getEvolvingArrayType(getUnionType([e.elementType,n]))}function getFinalArrayType(e){return e.finalArrayType||(e.finalArrayType=function createFinalArrayType(e){return 131072&e.flags?Yt:createArrayType(1048576&e.flags?getUnionType(e.types,2):e)}(e.elementType))}function finalizeEvolvingArrayType(e){return 256&getObjectFlags(e)?getFinalArrayType(e):e}function getElementTypeOfEvolvingArrayType(e){return 256&getObjectFlags(e)?e.elementType:tt}function isEvolvingArrayOperationTarget(e){const t=getReferenceRoot(e),n=t.parent,r=isPropertyAccessExpression(n)&&("length"===n.name.escapedText||214===n.parent.kind&&isIdentifier(n.name)&&isPushOrUnshiftIdentifier(n.name)),i=213===n.kind&&n.expression===t&&227===n.parent.kind&&64===n.parent.operatorToken.kind&&n.parent.left===n&&!isAssignmentTarget(n.parent)&&isTypeAssignableToKind(getTypeOfExpression(n.argumentExpression),296);return r||i}function getExplicitTypeOfSymbol(e,t){if(8752&(e=resolveSymbol(e)).flags)return getTypeOfSymbol(e);if(7&e.flags){if(262144&getCheckFlags(e)){const t=e.links.syntheticOrigin;if(t&&getExplicitTypeOfSymbol(t))return getTypeOfSymbol(e)}const n=e.valueDeclaration;if(n){if(function isDeclarationWithExplicitTypeAnnotation(e){return(isVariableDeclaration(e)||isPropertyDeclaration(e)||isPropertySignature(e)||isParameter(e))&&!!(getEffectiveTypeAnnotationNode(e)||isInJSFile(e)&&hasInitializer(e)&&e.initializer&&isFunctionExpressionOrArrowFunction(e.initializer)&&getEffectiveReturnTypeNode(e.initializer))}(n))return getTypeOfSymbol(e);if(isVariableDeclaration(n)&&251===n.parent.parent.kind){const e=n.parent.parent,t=getTypeOfDottedName(e.expression,void 0);if(t){return checkIteratedTypeOrElementType(e.awaitModifier?15:13,t,Me,void 0)}}t&&addRelatedInfo(t,createDiagnosticForNode(n,Ot._0_needs_an_explicit_type_annotation,symbolToString(e)))}}}function getTypeOfDottedName(e,t){if(!(67108864&e.flags))switch(e.kind){case 80:return getExplicitTypeOfSymbol(getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(e)),t);case 110:return function getExplicitThisType(e){const t=getThisContainer(e,!1,!1);if(isFunctionLike(t)){const e=getSignatureFromDeclaration(t);if(e.thisParameter)return getExplicitTypeOfSymbol(e.thisParameter)}if(isClassLike(t.parent)){const e=getSymbolOfDeclaration(t.parent);return isStatic(t)?getTypeOfSymbol(e):getDeclaredTypeOfSymbol(e).thisType}}(e);case 108:return checkSuperExpression(e);case 212:{const n=getTypeOfDottedName(e.expression,t);if(n){const r=e.name;let i;if(isPrivateIdentifier(r)){if(!n.symbol)return;i=getPropertyOfType(n,getSymbolNameForPrivateIdentifier(n.symbol,r.escapedText))}else i=getPropertyOfType(n,r.escapedText);return i&&getExplicitTypeOfSymbol(i,t)}return}case 218:return getTypeOfDottedName(e.expression,t)}}function getEffectsSignature(e){const t=getNodeLinks(e);let n=t.effectsSignature;if(void 0===n){let r;if(isBinaryExpression(e)){r=getSymbolHasInstanceMethodOfObjectType(checkNonNullExpression(e.right))}else 245===e.parent.kind?r=getTypeOfDottedName(e.expression,void 0):108!==e.expression.kind&&(r=isOptionalChain(e)?checkNonNullType(getOptionalExpressionType(checkExpression(e.expression),e.expression),e.expression):checkNonNullExpression(e.expression));const i=getSignaturesOfType(r&&getApparentType(r)||Le,0),o=1!==i.length||i[0].typeParameters?some(i,hasTypePredicateOrNeverReturnType)?getResolvedSignature(e):void 0:i[0];n=t.effectsSignature=o&&hasTypePredicateOrNeverReturnType(o)?o:fr}return n===fr?void 0:n}function hasTypePredicateOrNeverReturnType(e){return!!(getTypePredicateOfSignature(e)||e.declaration&&131072&(getReturnTypeFromAnnotation(e.declaration)||Le).flags)}function isReachableFlowNode(e){const t=isReachableFlowNodeWorker(e,!1);return cr=e,lr=t,t}function isFalseExpression(e){const t=skipParentheses(e,!0);return 97===t.kind||227===t.kind&&(56===t.operatorToken.kind&&(isFalseExpression(t.left)||isFalseExpression(t.right))||57===t.operatorToken.kind&&isFalseExpression(t.left)&&isFalseExpression(t.right))}function isReachableFlowNodeWorker(e,t){for(;;){if(e===cr)return lr;const n=e.flags;if(4096&n){if(!t){const t=getFlowNodeId(e),n=pi[t];return void 0!==n?n:pi[t]=isReachableFlowNodeWorker(e,!0)}t=!1}if(368&n)e=e.antecedent;else if(512&n){const t=getEffectsSignature(e.node);if(t){const n=getTypePredicateOfSignature(t);if(n&&3===n.kind&&!n.type){const t=e.node.arguments[n.parameterIndex];if(t&&isFalseExpression(t))return!1}if(131072&getReturnTypeOfSignature(t).flags)return!1}e=e.antecedent}else{if(4&n)return some(e.antecedent,e=>isReachableFlowNodeWorker(e,!1));if(8&n){const t=e.antecedent;if(void 0===t||0===t.length)return!1;e=t[0]}else{if(!(128&n)){if(1024&n){cr=void 0;const t=e.node.target,n=t.antecedent;t.antecedent=e.node.antecedents;const r=isReachableFlowNodeWorker(e.antecedent,!1);return t.antecedent=n,r}return!(1&n)}{const t=e.node;if(t.clauseStart===t.clauseEnd&&isExhaustiveSwitchStatement(t.switchStatement))return!1;e=e.antecedent}}}}}function isPostSuperFlowNode(e,t){for(;;){const n=e.flags;if(4096&n){if(!t){const t=getFlowNodeId(e),n=ui[t];return void 0!==n?n:ui[t]=isPostSuperFlowNode(e,!0)}t=!1}if(496&n)e=e.antecedent;else if(512&n){if(108===e.node.expression.kind)return!0;e=e.antecedent}else{if(4&n)return every(e.antecedent,e=>isPostSuperFlowNode(e,!1));if(!(8&n)){if(1024&n){const t=e.node.target,n=t.antecedent;t.antecedent=e.node.antecedents;const r=isPostSuperFlowNode(e.antecedent,!1);return t.antecedent=n,r}return!!(1&n)}e=e.antecedent[0]}}}function isConstantReference(e){switch(e.kind){case 110:return!0;case 80:if(!isThisInTypeQuery(e)){const t=getResolvedSymbol(e);return isConstantVariable(t)||isParameterOrMutableLocalVariable(t)&&!isSymbolAssigned(t)||!!t.valueDeclaration&&isFunctionExpression(t.valueDeclaration)}break;case 212:case 213:return isConstantReference(e.expression)&&isReadonlySymbol(getNodeLinks(e).resolvedSymbol||ve);case 207:case 208:const t=getRootDeclaration(e.parent);return isParameter(t)||isCatchClauseVariableDeclaration(t)?!isSomeSymbolAssigned(t):isVariableDeclaration(t)&&isVarConstLike2(t)}return!1}function getFlowTypeOfReference(e,t,n=t,r,i=(t=>null==(t=tryCast(e,canHaveFlowNode))?void 0:t.flowNode)()){let o,a=!1,s=0;if(Ar)return Ie;if(!i)return t;Or++;const c=Ir,l=getTypeFromFlowType(getTypeAtFlowNode(i));Ir=c;const d=256&getObjectFlags(l)&&isEvolvingArrayOperationTarget(e)?Yt:finalizeEvolvingArrayType(l);return d===it||e.parent&&236===e.parent.kind&&!(131072&d.flags)&&131072&getTypeWithFacts(d,2097152).flags?t:d;function getOrSetCacheKey(){return a?o:(a=!0,o=getFlowCacheKey(e,t,n,r))}function getTypeAtFlowNode(i){var o;if(2e3===s)return null==(o=J)||o.instant(J.Phase.CheckTypes,"getTypeAtFlowNode_DepthLimit",{flowId:i.id}),Ar=!0,function reportFlowControlError(e){const t=findAncestor(e,isFunctionOrModuleBlock),n=getSourceFileOfNode(e),r=getSpanOfTokenAtPosition(n,t.statements.pos);vi.add(createFileDiagnostic(n,r.start,r.length,Ot.The_containing_function_or_module_body_is_too_large_for_control_flow_analysis))}(e),Ie;let a;for(s++;;){const o=i.flags;if(4096&o){for(let e=c;e<Ir;e++)if(li[e]===i)return s--,di[e];a=i}let l;if(16&o){if(l=getTypeAtFlowAssignment(i),!l){i=i.antecedent;continue}}else if(512&o){if(l=getTypeAtFlowCall(i),!l){i=i.antecedent;continue}}else if(96&o)l=getTypeAtFlowCondition(i);else if(128&o)l=getTypeAtSwitchClause(i);else if(12&o){if(1===i.antecedent.length){i=i.antecedent[0];continue}l=4&o?getTypeAtFlowBranchLabel(i):getTypeAtFlowLoopLabel(i)}else if(256&o){if(l=getTypeAtFlowArrayMutation(i),!l){i=i.antecedent;continue}}else if(1024&o){const e=i.node.target,t=e.antecedent;e.antecedent=i.node.antecedents,l=getTypeAtFlowNode(i.antecedent),e.antecedent=t}else if(2&o){const t=i.node;if(t&&t!==r&&212!==e.kind&&213!==e.kind&&(110!==e.kind||220===t.kind)){i=t.flowNode;continue}l=n}else l=convertAutoToAny(t);return a&&(li[Ir]=a,di[Ir]=l,Ir++),s--,l}}function getInitialOrAssignedType(t){const n=t.node;return getNarrowableTypeForReference(261===n.kind||209===n.kind?getInitialType(n):getAssignedType(n),e)}function getTypeAtFlowAssignment(n){const r=n.node;if(isMatchingReference(e,r)){if(!isReachableFlowNode(n))return it;if(2===getAssignmentTargetKind(r)){const e=getTypeAtFlowNode(n.antecedent);return createFlowType(getBaseTypeOfLiteralType(getTypeFromFlowType(e)),isIncomplete(e))}if(t===Fe||t===Yt){if(function isEmptyArrayAssignment(e){return 261===e.kind&&e.initializer&&isEmptyArrayLiteral2(e.initializer)||209!==e.kind&&227===e.parent.kind&&isEmptyArrayLiteral2(e.parent.right)}(r))return getEvolvingArrayType(tt);const e=getWidenedLiteralType(getInitialOrAssignedType(n));return isTypeAssignableTo(e,t)?e:Xt}const e=isInCompoundLikeAssignment(r)?getBaseTypeOfLiteralType(t):t;return 1048576&e.flags?getAssignmentReducedType(e,getInitialOrAssignedType(n)):e}if(containsMatchingReference(e,r)){if(!isReachableFlowNode(n))return it;if(isVariableDeclaration(r)&&(isInJSFile(r)||isVarConstLike2(r))){const e=getDeclaredExpandoInitializer(r);if(e&&(219===e.kind||220===e.kind))return getTypeAtFlowNode(n.antecedent)}return t}if(isVariableDeclaration(r)&&250===r.parent.parent.kind&&(isMatchingReference(e,r.parent.parent.expression)||optionalChainContainsReference(r.parent.parent.expression,e)))return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(n.antecedent))))}function narrowTypeByAssertion(e,t){const n=skipParentheses(t,!0);if(97===n.kind)return it;if(227===n.kind){if(56===n.operatorToken.kind)return narrowTypeByAssertion(narrowTypeByAssertion(e,n.left),n.right);if(57===n.operatorToken.kind)return getUnionType([narrowTypeByAssertion(e,n.left),narrowTypeByAssertion(e,n.right)])}return narrowType(e,n,!0)}function getTypeAtFlowCall(e){const t=getEffectsSignature(e.node);if(t){const n=getTypePredicateOfSignature(t);if(n&&(2===n.kind||3===n.kind)){const t=getTypeAtFlowNode(e.antecedent),r=finalizeEvolvingArrayType(getTypeFromFlowType(t)),i=n.type?narrowTypeByTypePredicate(r,n,e.node,!0):3===n.kind&&n.parameterIndex>=0&&n.parameterIndex<e.node.arguments.length?narrowTypeByAssertion(r,e.node.arguments[n.parameterIndex]):r;return i===r?t:createFlowType(i,isIncomplete(t))}if(131072&getReturnTypeOfSignature(t).flags)return it}}function getTypeAtFlowArrayMutation(n){if(t===Fe||t===Yt){const t=n.node,r=214===t.kind?t.expression.expression:t.left.expression;if(isMatchingReference(e,getReferenceCandidate(r))){const e=getTypeAtFlowNode(n.antecedent),r=getTypeFromFlowType(e);if(256&getObjectFlags(r)){let n=r;if(214===t.kind)for(const e of t.arguments)n=addEvolvingArrayElementType(n,e);else{isTypeAssignableToKind(getContextFreeTypeOfExpression(t.left.argumentExpression),296)&&(n=addEvolvingArrayElementType(n,t.right))}return n===r?e:createFlowType(n,isIncomplete(e))}return e}}}function getTypeAtFlowCondition(e){const t=getTypeAtFlowNode(e.antecedent),n=getTypeFromFlowType(t);if(131072&n.flags)return t;const r=!!(32&e.flags),i=finalizeEvolvingArrayType(n),o=narrowType(i,e.node,r);return o===i?t:createFlowType(o,isIncomplete(t))}function getTypeAtSwitchClause(t){const n=skipParentheses(t.node.switchStatement.expression),r=getTypeAtFlowNode(t.antecedent);let i=getTypeFromFlowType(r);if(isMatchingReference(e,n))i=narrowTypeBySwitchOnDiscriminant(i,t.node);else if(222===n.kind&&isMatchingReference(e,n.expression))i=function narrowTypeBySwitchOnTypeOf(e,{switchStatement:t,clauseStart:n,clauseEnd:r}){const i=getSwitchClauseTypeOfWitnesses(t);if(!i)return e;const o=findIndex(t.caseBlock.clauses,e=>298===e.kind);if(n===r||o>=n&&o<r){const t=getNotEqualFactsFromTypeofSwitch(n,r,i);return filterType(e,e=>getTypeFacts(e,t)===t)}return getUnionType(map(i.slice(n,r),t=>t?narrowTypeByTypeName(e,t):tt))}(i,t.node);else if(112===n.kind)i=function narrowTypeBySwitchOnTrue(e,{switchStatement:t,clauseStart:n,clauseEnd:r}){const i=findIndex(t.caseBlock.clauses,e=>298===e.kind),o=n===r||i>=n&&i<r;for(let r=0;r<n;r++){const n=t.caseBlock.clauses[r];297===n.kind&&(e=narrowType(e,n.expression,!1))}if(o){for(let n=r;n<t.caseBlock.clauses.length;n++){const r=t.caseBlock.clauses[n];297===r.kind&&(e=narrowType(e,r.expression,!1))}return e}return getUnionType(map(t.caseBlock.clauses.slice(n,r),t=>297===t.kind?narrowType(e,t.expression,!0):tt))}(i,t.node);else{k&&(optionalChainContainsReference(n,e)?i=narrowTypeBySwitchOptionalChainContainment(i,t.node,e=>!(163840&e.flags)):222===n.kind&&optionalChainContainsReference(n.expression,e)&&(i=narrowTypeBySwitchOptionalChainContainment(i,t.node,e=>!(131072&e.flags||128&e.flags&&"undefined"===e.value))));const r=getDiscriminantPropertyAccess(n,i);r&&(i=function narrowTypeBySwitchOnDiscriminantProperty(e,t,n){if(n.clauseStart<n.clauseEnd&&1048576&e.flags&&getKeyPropertyName(e)===getAccessedPropertyName(t)){const t=getUnionType(map(getSwitchClauseTypes(n.switchStatement).slice(n.clauseStart,n.clauseEnd),t=>getConstituentTypeForKeyType(e,t)||Le));if(t!==Le)return t}return narrowTypeByDiscriminant(e,t,e=>narrowTypeBySwitchOnDiscriminant(e,n))}(i,r,t.node))}return createFlowType(i,isIncomplete(r))}function getTypeAtFlowBranchLabel(e){const r=[];let i,o=!1,a=!1;for(const s of e.antecedent){if(!i&&128&s.flags&&s.node.clauseStart===s.node.clauseEnd){i=s;continue}const e=getTypeAtFlowNode(s),c=getTypeFromFlowType(e);if(c===t&&t===n)return c;pushIfUnique(r,c),isTypeSubsetOf(c,n)||(o=!0),isIncomplete(e)&&(a=!0)}if(i){const e=getTypeAtFlowNode(i),s=getTypeFromFlowType(e);if(!(131072&s.flags||contains(r,s)||isExhaustiveSwitchStatement(i.node.switchStatement))){if(s===t&&t===n)return s;r.push(s),isTypeSubsetOf(s,n)||(o=!0),isIncomplete(e)&&(a=!0)}}return createFlowType(getUnionOrEvolvingArrayType(r,o?2:1),a)}function getTypeAtFlowLoopLabel(e){const r=getFlowNodeId(e),i=oi[r]||(oi[r]=new Map),o=getOrSetCacheKey();if(!o)return t;const a=i.get(o);if(a)return a;for(let t=Pr;t<Dr;t++)if(ai[t]===e&&si[t]===o&&ci[t].length)return createFlowType(getUnionOrEvolvingArrayType(ci[t],1),!0);const s=[];let c,l=!1;for(const r of e.antecedent){let a;if(c){ai[Dr]=e,si[Dr]=o,ci[Dr]=s,Dr++;const t=dr;dr=void 0,a=getTypeAtFlowNode(r),dr=t,Dr--;const n=i.get(o);if(n)return n}else a=c=getTypeAtFlowNode(r);const d=getTypeFromFlowType(a);if(pushIfUnique(s,d),isTypeSubsetOf(d,n)||(l=!0),d===t)break}const d=getUnionOrEvolvingArrayType(s,l?2:1);return isIncomplete(c)?createFlowType(d,!0):(i.set(o,d),d)}function getUnionOrEvolvingArrayType(e,n){if(function isEvolvingArrayTypeList(e){let t=!1;for(const n of e)if(!(131072&n.flags)){if(!(256&getObjectFlags(n)))return!1;t=!0}return t}(e))return getEvolvingArrayType(getUnionType(map(e,getElementTypeOfEvolvingArrayType)));const r=recombineUnknownType(getUnionType(sameMap(e,finalizeEvolvingArrayType),n));return r!==t&&r.flags&t.flags&1048576&&arrayIsEqualTo(r.types,t.types)?t:r}function getDiscriminantPropertyAccess(n,r){if(1048576&t.flags||1048576&r.flags){const i=function getCandidateDiscriminantPropertyAccess(t){if(isBindingPattern(e)||isFunctionExpressionOrArrowFunction(e)||isObjectLiteralMethod(e)){if(isIdentifier(t)){const n=getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(t)).valueDeclaration;if(n&&(isBindingElement(n)||isParameter(n))&&e===n.parent&&!n.initializer&&!n.dotDotDotToken)return n}}else if(isAccessExpression(t)){if(isMatchingReference(e,t.expression))return t}else if(isIdentifier(t)){const n=getResolvedSymbol(t);if(isConstantVariable(n)){const t=n.valueDeclaration;if(isVariableDeclaration(t)&&!t.type&&t.initializer&&isAccessExpression(t.initializer)&&isMatchingReference(e,t.initializer.expression))return t.initializer;if(isBindingElement(t)&&!t.initializer){const n=t.parent.parent;if(isVariableDeclaration(n)&&!n.type&&n.initializer&&(isIdentifier(n.initializer)||isAccessExpression(n.initializer))&&isMatchingReference(e,n.initializer))return t}}}}(n);if(i){const e=getAccessedPropertyName(i);if(e){if(isDiscriminantProperty(1048576&t.flags&&isTypeSubsetOf(r,t)?t:r,e))return i}}}}function narrowTypeByDiscriminant(e,t,n){const r=getAccessedPropertyName(t);if(void 0===r)return e;const i=isOptionalChain(t),o=k&&(i||isNonNullAccess(t))&&maybeTypeOfKind(e,98304);let a=getTypeOfPropertyOfType(o?getTypeWithFacts(e,2097152):e,r);if(!a)return e;a=o&&i?getOptionalType(a):a;const s=n(a);return filterType(e,e=>{const t=getTypeOfPropertyOrIndexSignatureOfType(e,r)||Le;return!(131072&t.flags)&&!(131072&s.flags)&&areTypesComparable(s,t)})}function narrowTypeByDiscriminantProperty(e,t,n,r,i){if((37===n||38===n)&&1048576&e.flags){const o=getKeyPropertyName(e);if(o&&o===getAccessedPropertyName(t)){const t=getConstituentTypeForKeyType(e,getTypeOfExpression(r));if(t)return n===(i?37:38)?t:isUnitType(getTypeOfPropertyOfType(t,o)||Le)?removeType(e,t):e}}return narrowTypeByDiscriminant(e,t,e=>narrowTypeByEquality(e,n,r,i))}function narrowTypeByTruthiness(t,n,r){if(isMatchingReference(e,n))return getAdjustedTypeWithFacts(t,r?4194304:8388608);k&&r&&optionalChainContainsReference(n,e)&&(t=getAdjustedTypeWithFacts(t,2097152));const i=getDiscriminantPropertyAccess(n,t);return i?narrowTypeByDiscriminant(t,i,e=>getTypeWithFacts(e,r?4194304:8388608)):t}function isTypePresencePossible(e,t,n){const r=getPropertyOfType(e,t);return r?!!(16777216&r.flags||48&getCheckFlags(r))||n:!!getApplicableIndexInfoForName(e,t)||!n}function narrowTypeByInKeyword(e,t,n){const r=getPropertyNameFromType(t);if(someType(e,e=>isTypePresencePossible(e,r,!0)))return filterType(e,e=>isTypePresencePossible(e,r,n));if(n){const n=function getGlobalRecordSymbol(){return Un||(Un=getGlobalTypeAliasSymbol("Record",2,!0)||ve),Un===ve?void 0:Un}();if(n)return getIntersectionType([e,getTypeAliasInstantiation(n,[t,Le])])}return e}function narrowTypeByBooleanComparison(e,t,n,r,i){return narrowType(e,t,i=i!==(112===n.kind)!=(38!==r&&36!==r))}function narrowTypeByBinaryExpression(t,n,r){switch(n.operatorToken.kind){case 64:case 76:case 77:case 78:return narrowTypeByTruthiness(narrowType(t,n.right,r),n.left,r);case 35:case 36:case 37:case 38:const i=n.operatorToken.kind,o=getReferenceCandidate(n.left),a=getReferenceCandidate(n.right);if(222===o.kind&&isStringLiteralLike(a))return narrowTypeByTypeof(t,o,i,a,r);if(222===a.kind&&isStringLiteralLike(o))return narrowTypeByTypeof(t,a,i,o,r);if(isMatchingReference(e,o))return narrowTypeByEquality(t,i,a,r);if(isMatchingReference(e,a))return narrowTypeByEquality(t,i,o,r);k&&(optionalChainContainsReference(o,e)?t=narrowTypeByOptionalChainContainment(t,i,a,r):optionalChainContainsReference(a,e)&&(t=narrowTypeByOptionalChainContainment(t,i,o,r)));const s=getDiscriminantPropertyAccess(o,t);if(s)return narrowTypeByDiscriminantProperty(t,s,i,a,r);const c=getDiscriminantPropertyAccess(a,t);if(c)return narrowTypeByDiscriminantProperty(t,c,i,o,r);if(isMatchingConstructorReference(o))return narrowTypeByConstructor(t,i,a,r);if(isMatchingConstructorReference(a))return narrowTypeByConstructor(t,i,o,r);if(isBooleanLiteral(a)&&!isAccessExpression(o))return narrowTypeByBooleanComparison(t,o,a,i,r);if(isBooleanLiteral(o)&&!isAccessExpression(a))return narrowTypeByBooleanComparison(t,a,o,i,r);break;case 104:return function narrowTypeByInstanceof(t,n,r){const i=getReferenceCandidate(n.left);if(!isMatchingReference(e,i))return r&&k&&optionalChainContainsReference(i,e)?getAdjustedTypeWithFacts(t,2097152):t;const o=n.right,a=getTypeOfExpression(o);if(!isTypeDerivedFrom(a,Jt))return t;const s=getEffectsSignature(n),c=s&&getTypePredicateOfSignature(s);if(c&&1===c.kind&&0===c.parameterIndex)return getNarrowedType(t,c.type,r,!0);if(!isTypeDerivedFrom(a,Wt))return t;const l=mapType(a,getInstanceType);if(isTypeAny(t)&&(l===Jt||l===Wt)||!r&&(!(524288&l.flags)||isEmptyAnonymousObjectType(l)))return t;return getNarrowedType(t,l,r,!0)}(t,n,r);case 103:if(isPrivateIdentifier(n.left))return function narrowTypeByPrivateIdentifierInInExpression(t,n,r){const i=getReferenceCandidate(n.right);if(!isMatchingReference(e,i))return t;h.assertNode(n.left,isPrivateIdentifier);const o=getSymbolForPrivateIdentifierExpression(n.left);if(void 0===o)return t;const a=o.parent,s=hasStaticModifier(h.checkDefined(o.valueDeclaration,"should always have a declaration"))?getTypeOfSymbol(a):getDeclaredTypeOfSymbol(a);return getNarrowedType(t,s,r,!0)}(t,n,r);const l=getReferenceCandidate(n.right);if(containsMissingType(t)&&isAccessExpression(e)&&isMatchingReference(e.expression,l)){const i=getTypeOfExpression(n.left);if(isTypeUsableAsPropertyName(i)&&getAccessedPropertyName(e)===getPropertyNameFromType(i))return getTypeWithFacts(t,r?524288:65536)}if(isMatchingReference(e,l)){const e=getTypeOfExpression(n.left);if(isTypeUsableAsPropertyName(e))return narrowTypeByInKeyword(t,e,r)}break;case 28:return narrowType(t,n.right,r);case 56:return r?narrowType(narrowType(t,n.left,!0),n.right,!0):getUnionType([narrowType(t,n.left,!1),narrowType(t,n.right,!1)]);case 57:return r?getUnionType([narrowType(t,n.left,!0),narrowType(t,n.right,!0)]):narrowType(narrowType(t,n.left,!1),n.right,!1)}return t}function narrowTypeByOptionalChainContainment(e,t,n,r){const i=35===t||37===t,o=35===t||36===t?98304:32768,a=getTypeOfExpression(n);return i!==r&&everyType(a,e=>!!(e.flags&o))||i===r&&everyType(a,e=>!(e.flags&(3|o)))?getAdjustedTypeWithFacts(e,2097152):e}function narrowTypeByEquality(e,t,n,r){if(1&e.flags)return e;36!==t&&38!==t||(r=!r);const i=getTypeOfExpression(n),o=35===t||36===t;if(98304&i.flags){if(!k)return e;return getAdjustedTypeWithFacts(e,o?r?262144:2097152:65536&i.flags?r?131072:1048576:r?65536:524288)}if(r){if(!o&&(2&e.flags||someType(e,isEmptyAnonymousObjectType))){if(469893116&i.flags||isEmptyAnonymousObjectType(i))return i;if(524288&i.flags)return ot}return replacePrimitivesWithLiterals(filterType(e,e=>areTypesComparable(e,i)||o&&function isCoercibleUnderDoubleEquals(e,t){return!!(524&e.flags)&&!!(28&t.flags)}(e,i)),i)}return isUnitType(i)?filterType(e,e=>!(isUnitLikeType(e)&&areTypesComparable(e,i))):e}function narrowTypeByTypeof(t,n,r,i,o){36!==r&&38!==r||(o=!o);const a=getReferenceCandidate(n.expression);if(!isMatchingReference(e,a)){k&&optionalChainContainsReference(a,e)&&o===("undefined"!==i.text)&&(t=getAdjustedTypeWithFacts(t,2097152));const n=getDiscriminantPropertyAccess(a,t);return n?narrowTypeByDiscriminant(t,n,e=>narrowTypeByLiteralExpression(e,i,o)):t}return narrowTypeByLiteralExpression(t,i,o)}function narrowTypeByLiteralExpression(e,t,n){return n?narrowTypeByTypeName(e,t.text):getAdjustedTypeWithFacts(e,ta.get(t.text)||32768)}function narrowTypeBySwitchOptionalChainContainment(e,{switchStatement:t,clauseStart:n,clauseEnd:r},i){return n!==r&&every(getSwitchClauseTypes(t).slice(n,r),i)?getTypeWithFacts(e,2097152):e}function narrowTypeBySwitchOnDiscriminant(e,{switchStatement:t,clauseStart:n,clauseEnd:r}){const i=getSwitchClauseTypes(t);if(!i.length)return e;const o=i.slice(n,r),a=n===r||contains(o,tt);if(2&e.flags&&!a){let t;for(let n=0;n<o.length;n+=1){const r=o[n];if(469893116&r.flags)void 0!==t&&t.push(r);else{if(!(524288&r.flags))return e;void 0===t&&(t=o.slice(0,n)),t.push(ot)}}return getUnionType(void 0===t?o:t)}const s=getUnionType(o),c=131072&s.flags?tt:replacePrimitivesWithLiterals(filterType(e,e=>areTypesComparable(s,e)),s);if(!a)return c;const l=filterType(e,e=>!(isUnitLikeType(e)&&contains(i,32768&e.flags?Me:getRegularTypeOfLiteralType(function extractUnitType(e){return 2097152&e.flags&&find(e.types,isUnitType)||e}(e)))));return 131072&c.flags?l:getUnionType([c,l])}function narrowTypeByTypeName(e,t){switch(t){case"string":return narrowTypeByTypeFacts(e,ze,1);case"number":return narrowTypeByTypeFacts(e,Ve,2);case"bigint":return narrowTypeByTypeFacts(e,qe,4);case"boolean":return narrowTypeByTypeFacts(e,Ye,8);case"symbol":return narrowTypeByTypeFacts(e,Ze,16);case"object":return 1&e.flags?e:getUnionType([narrowTypeByTypeFacts(e,ot,32),narrowTypeByTypeFacts(e,We,131072)]);case"function":return 1&e.flags?e:narrowTypeByTypeFacts(e,Wt,64);case"undefined":return narrowTypeByTypeFacts(e,Me,65536)}return narrowTypeByTypeFacts(e,ot,128)}function narrowTypeByTypeFacts(e,t,n){return mapType(e,e=>isTypeRelatedTo(e,t,Ni)?hasTypeFacts(e,n)?e:tt:isTypeSubtypeOf(t,e)?t:hasTypeFacts(e,n)?getIntersectionType([e,t]):tt)}function isMatchingConstructorReference(t){return(isPropertyAccessExpression(t)&&"constructor"===idText(t.name)||isElementAccessExpression(t)&&isStringLiteralLike(t.argumentExpression)&&"constructor"===t.argumentExpression.text)&&isMatchingReference(e,t.expression)}function narrowTypeByConstructor(e,t,n,r){if(r?35!==t&&37!==t:36!==t&&38!==t)return e;const i=getTypeOfExpression(n);if(!isFunctionType(i)&&!isConstructorType(i))return e;const o=getPropertyOfType(i,"prototype");if(!o)return e;const a=getTypeOfSymbol(o),s=isTypeAny(a)?void 0:a;return s&&s!==Jt&&s!==Wt?isTypeAny(e)?s:filterType(e,e=>function isConstructedBy(e,t){if(524288&e.flags&&1&getObjectFlags(e)||524288&t.flags&&1&getObjectFlags(t))return e.symbol===t.symbol;return isTypeSubtypeOf(e,t)}(e,s)):e}function getInstanceType(e){const t=getTypeOfPropertyOfType(e,"prototype");if(t&&!isTypeAny(t))return t;const n=getSignaturesOfType(e,1);return n.length?getUnionType(map(n,e=>getReturnTypeOfSignature(getErasedSignature(e)))):ht}function getNarrowedType(e,t,n,r){const i=1048576&e.flags?`N${getTypeId(e)},${getTypeId(t)},${(n?1:0)|(r?2:0)}`:void 0;return getCachedType(i)??setCachedType(i,function getNarrowedTypeWorker(e,t,n,r){if(!n){if(e===t)return tt;if(r)return filterType(e,e=>!isTypeDerivedFrom(e,t));const n=getNarrowedType(e=2&e.flags?Ct:e,t,!0,!1);return recombineUnknownType(filterType(e,e=>!isTypeSubsetOf(e,n)))}if(3&e.flags)return t;if(e===t)return t;const i=r?isTypeDerivedFrom:isTypeSubtypeOf,o=1048576&e.flags?getKeyPropertyName(e):void 0,a=mapType(t,t=>{const n=o&&getTypeOfPropertyOfType(t,o),a=mapType(n&&getConstituentTypeForKeyType(e,n)||e,r?e=>isTypeDerivedFrom(e,t)?e:isTypeDerivedFrom(t,e)?t:tt:e=>isTypeStrictSubtypeOf(e,t)?e:isTypeStrictSubtypeOf(t,e)?t:isTypeSubtypeOf(e,t)?e:isTypeSubtypeOf(t,e)?t:tt);return 131072&a.flags?mapType(e,e=>maybeTypeOfKind(e,465829888)&&i(t,getBaseConstraintOfType(e)||Le)?getIntersectionType([e,t]):tt):a});return 131072&a.flags?isTypeSubtypeOf(t,e)?t:isTypeAssignableTo(e,t)?e:isTypeAssignableTo(t,e)?t:getIntersectionType([e,t]):a}(e,t,n,r))}function narrowTypeByTypePredicate(t,n,r,i){if(n.type&&(!isTypeAny(t)||n.type!==Jt&&n.type!==Wt)){const o=function getTypePredicateArgument(e,t){if(1===e.kind||3===e.kind)return t.arguments[e.parameterIndex];const n=skipParentheses(t.expression);return isAccessExpression(n)?skipParentheses(n.expression):void 0}(n,r);if(o){if(isMatchingReference(e,o))return getNarrowedType(t,n.type,i,!1);k&&optionalChainContainsReference(o,e)&&(i&&!hasTypeFacts(n.type,65536)||!i&&everyType(n.type,isNullableType))&&(t=getAdjustedTypeWithFacts(t,2097152));const r=getDiscriminantPropertyAccess(o,t);if(r)return narrowTypeByDiscriminant(t,r,e=>getNarrowedType(e,n.type,i,!1))}}return t}function narrowType(t,n,r){if(isExpressionOfOptionalChainRoot(n)||isBinaryExpression(n.parent)&&(61===n.parent.operatorToken.kind||78===n.parent.operatorToken.kind)&&n.parent.left===n)return function narrowTypeByOptionality(t,n,r){if(isMatchingReference(e,n))return getAdjustedTypeWithFacts(t,r?2097152:262144);const i=getDiscriminantPropertyAccess(n,t);if(i)return narrowTypeByDiscriminant(t,i,e=>getTypeWithFacts(e,r?2097152:262144));return t}(t,n,r);switch(n.kind){case 80:if(!isMatchingReference(e,n)&&f<5){const i=getResolvedSymbol(n);if(isConstantVariable(i)){const n=i.valueDeclaration;if(n&&isVariableDeclaration(n)&&!n.type&&n.initializer&&isConstantReference(e)){f++;const e=narrowType(t,n.initializer,r);return f--,e}}}case 110:case 108:case 212:case 213:return narrowTypeByTruthiness(t,n,r);case 214:return function narrowTypeByCallExpression(t,n,r){if(hasMatchingArgument(n,e)){const e=r||!isCallChain(n)?getEffectsSignature(n):void 0,i=e&&getTypePredicateOfSignature(e);if(i&&(0===i.kind||1===i.kind))return narrowTypeByTypePredicate(t,i,n,r)}if(containsMissingType(t)&&isAccessExpression(e)&&isPropertyAccessExpression(n.expression)){const i=n.expression;if(isMatchingReference(e.expression,getReferenceCandidate(i.expression))&&isIdentifier(i.name)&&"hasOwnProperty"===i.name.escapedText&&1===n.arguments.length){const i=n.arguments[0];if(isStringLiteralLike(i)&&getAccessedPropertyName(e)===escapeLeadingUnderscores(i.text))return getTypeWithFacts(t,r?524288:65536)}}return t}(t,n,r);case 218:case 236:case 239:return narrowType(t,n.expression,r);case 227:return narrowTypeByBinaryExpression(t,n,r);case 225:if(54===n.operator)return narrowType(t,n.operand,!r)}return t}}function getControlFlowContainer(e){return findAncestor(e.parent,e=>isFunctionLike(e)&&!getImmediatelyInvokedFunctionExpression(e)||269===e.kind||308===e.kind||173===e.kind)}function isSymbolAssigned(e){return!isPastLastAssignment(e,void 0)}function isPastLastAssignment(e,t){const n=findAncestor(e.valueDeclaration,isFunctionOrSourceFile);if(!n)return!1;const r=getNodeLinks(n);return 131072&r.flags||(r.flags|=131072,function hasParentWithAssignmentsMarked(e){return!!findAncestor(e.parent,e=>isFunctionOrSourceFile(e)&&!!(131072&getNodeLinks(e).flags))}(n)||markNodeAssignments(n)),!e.lastAssignmentPos||t&&Math.abs(e.lastAssignmentPos)<t.pos}function isSomeSymbolAssigned(e){return h.assert(isVariableDeclaration(e)||isParameter(e)),isSomeSymbolAssignedWorker(e.name)}function isSomeSymbolAssignedWorker(e){return 80===e.kind?isSymbolAssigned(getSymbolOfDeclaration(e.parent)):some(e.elements,e=>233!==e.kind&&isSomeSymbolAssignedWorker(e.name))}function isFunctionOrSourceFile(e){return isFunctionLikeDeclaration(e)||isSourceFile(e)}function markNodeAssignments(e){switch(e.kind){case 80:const t=getAssignmentTargetKind(e);if(0!==t){const n=getResolvedSymbol(e),r=1===t||void 0!==n.lastAssignmentPos&&n.lastAssignmentPos<0;if(isParameterOrMutableLocalVariable(n)){if(void 0===n.lastAssignmentPos||Math.abs(n.lastAssignmentPos)!==Number.MAX_VALUE){const t=findAncestor(e,isFunctionOrSourceFile),r=findAncestor(n.valueDeclaration,isFunctionOrSourceFile);n.lastAssignmentPos=t===r?function extendAssignmentPosition(e,t){let n=e.pos;for(;e&&e.pos>t.pos;){switch(e.kind){case 244:case 245:case 246:case 247:case 248:case 249:case 250:case 251:case 255:case 256:case 259:case 264:n=e.end}e=e.parent}return n}(e,n.valueDeclaration):Number.MAX_VALUE}r&&n.lastAssignmentPos>0&&(n.lastAssignmentPos*=-1)}}return;case 282:const n=e.parent.parent,r=e.propertyName||e.name;if(!e.isTypeOnly&&!n.isTypeOnly&&!n.moduleSpecifier&&11!==r.kind){const e=resolveEntityName(r,111551,!0,!0);if(e&&isParameterOrMutableLocalVariable(e)){const t=void 0!==e.lastAssignmentPos&&e.lastAssignmentPos<0?-1:1;e.lastAssignmentPos=t*Number.MAX_VALUE}}return;case 265:case 266:case 267:return}isTypeNode(e)||forEachChild(e,markNodeAssignments)}function isConstantVariable(e){return 3&e.flags&&!!(6&getDeclarationNodeFlagsFromSymbol(e))}function isParameterOrMutableLocalVariable(e){const t=e.valueDeclaration&&getRootDeclaration(e.valueDeclaration);return!!t&&(isParameter(t)||isVariableDeclaration(t)&&(isCatchClause(t.parent)||isMutableLocalVariableDeclaration(t)))}function isMutableLocalVariableDeclaration(e){return!!(1&e.parent.flags)&&!(32&getCombinedModifierFlags(e)||244===e.parent.parent.kind&&isGlobalSourceFile(e.parent.parent.parent))}function removeOptionalityFromDeclaredType(e,t){const n=k&&170===t.kind&&t.initializer&&hasTypeFacts(e,16777216)&&!function parameterInitializerContainsUndefined(e){const t=getNodeLinks(e);if(void 0===t.parameterInitializerContainsUndefined){if(!pushTypeResolution(e,8))return reportCircularityError(e.symbol),!0;const n=!!hasTypeFacts(checkDeclarationInitializer(e,0),16777216);if(!popTypeResolution())return reportCircularityError(e.symbol),!0;t.parameterInitializerContainsUndefined??(t.parameterInitializerContainsUndefined=n)}return t.parameterInitializerContainsUndefined}(t);return n?getTypeWithFacts(e,524288):e}function isGenericTypeWithUnionConstraint(e){return 2097152&e.flags?some(e.types,isGenericTypeWithUnionConstraint):!!(465829888&e.flags&&1146880&getBaseConstraintOrType(e).flags)}function isGenericTypeWithoutNullableConstraint(e){return 2097152&e.flags?some(e.types,isGenericTypeWithoutNullableConstraint):!(!(465829888&e.flags)||maybeTypeOfKind(getBaseConstraintOrType(e),98304))}function getNarrowableTypeForReference(e,t,n){isNoInferType(e)&&(e=e.baseType);const r=!(n&&2&n)&&someType(e,isGenericTypeWithUnionConstraint)&&(function isConstraintPosition(e,t){const n=t.parent;return 212===n.kind||167===n.kind||214===n.kind&&n.expression===t||215===n.kind&&n.expression===t||213===n.kind&&n.expression===t&&!(someType(e,isGenericTypeWithoutNullableConstraint)&&isGenericIndexType(getTypeOfExpression(n.argumentExpression)))}(e,t)||function hasContextualTypeWithNoGenericTypes(e,t){const n=(isIdentifier(e)||isPropertyAccessExpression(e)||isElementAccessExpression(e))&&!((isJsxOpeningElement(e.parent)||isJsxSelfClosingElement(e.parent))&&e.parent.tagName===e)&&getContextualType2(e,t&&32&t?8:void 0);return n&&!isGenericType(n)}(t,n));return r?mapType(e,getBaseConstraintOrType):e}function isExportOrExportExpression(e){return!!findAncestor(e,e=>{const t=e.parent;return void 0===t?"quit":isExportAssignment(t)?t.expression===e&&isEntityNameExpression(e):!!isExportSpecifier(t)&&(t.name===e||t.propertyName===e)})}function markLinkedReferences(e,t,n,r){if(Y&&(!(33554432&e.flags)||isPropertySignature(e)||isPropertyDeclaration(e)))switch(t){case 1:return markIdentifierAliasReferenced(e);case 2:return markPropertyAliasReferenced(e,n,r);case 3:return markExportAssignmentAliasReferenced(e);case 4:return markJsxAliasReferenced(e);case 5:return markAsyncFunctionAliasReferenced(e);case 6:return markImportEqualsAliasReferenced(e);case 7:return markExportSpecifierAliasReferenced(e);case 8:return markDecoratorAliasReferenced(e);case 0:if(isIdentifier(e)&&(isExpressionNode(e)||isShorthandPropertyAssignment(e.parent)||isImportEqualsDeclaration(e.parent)&&e.parent.moduleReference===e)&&shouldMarkIdentifierAliasReferenced(e)){if(isPropertyAccessOrQualifiedName(e.parent)){if((isPropertyAccessExpression(e.parent)?e.parent.expression:e.parent.left)!==e)return}return void markIdentifierAliasReferenced(e)}if(isPropertyAccessOrQualifiedName(e)){let t=e;for(;isPropertyAccessOrQualifiedName(t);){if(isPartOfTypeNode(t))return;t=t.parent}return markPropertyAliasReferenced(e)}if(isExportAssignment(e))return markExportAssignmentAliasReferenced(e);if(isJsxOpeningLikeElement(e)||isJsxOpeningFragment(e))return markJsxAliasReferenced(e);if(isImportEqualsDeclaration(e))return isInternalModuleImportEqualsDeclaration(e)||checkExternalImportOrExportDeclaration(e)?markImportEqualsAliasReferenced(e):void 0;if(isExportSpecifier(e))return markExportSpecifierAliasReferenced(e);if((isFunctionLikeDeclaration(e)||isMethodSignature(e))&&markAsyncFunctionAliasReferenced(e),!S.emitDecoratorMetadata)return;if(!(canHaveDecorators(e)&&hasDecorators(e)&&e.modifiers&&nodeCanBeDecorated(b,e,e.parent,e.parent.parent)))return;return markDecoratorAliasReferenced(e);default:h.assertNever(t,`Unhandled reference hint: ${t}`)}}function markIdentifierAliasReferenced(e){const t=getResolvedSymbol(e);t&&t!==$&&t!==ve&&!isThisInTypeQuery(e)&&markAliasReferenced(t,e)}function markPropertyAliasReferenced(e,t,n){const r=isPropertyAccessExpression(e)?e.expression:e.left;if(isThisIdentifier(r)||!isIdentifier(r))return;const i=getResolvedSymbol(r);if(!i||i===ve)return;if(Kn(S)||er(S)&&isExportOrExportExpression(e))return void markAliasReferenced(i,e);const o=n||checkExpressionCached(r);if(isTypeAny(o)||o===nt)return void markAliasReferenced(i,e);let a=t;if(!a&&!n){const t=isPropertyAccessExpression(e)?e.name:e.right,n=isPrivateIdentifier(t)&&lookupSymbolForPrivateIdentifierDeclaration(t.escapedText,t),r=getApparentType(0!==getAssignmentTargetKind(e)||isMethodAccessForCall(e)?getWidenedType(o):o);a=isPrivateIdentifier(t)?n&&getPrivateIdentifierPropertyOfType(r,n)||void 0:getPropertyOfType(r,t.escapedText)}a&&(isConstEnumOrConstEnumOnlyModule(a)||8&a.flags&&307===e.parent.kind)||markAliasReferenced(i,e)}function markExportAssignmentAliasReferenced(e){if(isIdentifier(e.expression)){const t=e.expression,n=getExportSymbolOfValueSymbolIfExported(resolveEntityName(t,-1,!0,!0,e));n&&markAliasReferenced(n,t)}}function markJsxAliasReferenced(e){if(!getJsxNamespaceContainerForImplicitImport(e)){const t=vi&&2===S.jsx?Ot.This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found:void 0,n=getJsxNamespace(e),r=isJsxOpeningLikeElement(e)?e.tagName:e,i=1!==S.jsx&&3!==S.jsx;let o;if(isJsxOpeningFragment(e)&&"null"===n||(o=te(r,n,i?111551:111167,t,!0)),o&&(o.isReferenced=-1,Y&&2097152&o.flags&&!getTypeOnlyAliasDeclaration(o)&&markAliasSymbolAsReferenced(o)),isJsxOpeningFragment(e)){const n=getJsxFactoryEntity(getSourceFileOfNode(e));if(n){const e=getFirstIdentifier(n).escapedText;te(r,e,i?111551:111167,t,!0)}}}}function markAsyncFunctionAliasReferenced(e){if(x<2&&2&getFunctionFlags(e)){!function markTypeNodeAsReferenced(e){markEntityNameOrEntityExpressionAsReference(e&&getEntityNameFromTypeNode(e),!1)}(getEffectiveReturnTypeNode(e))}}function markImportEqualsAliasReferenced(e){hasSyntacticModifier(e,32)&&markExportAsReferenced(e)}function markExportSpecifierAliasReferenced(e){if(!e.parent.parent.moduleSpecifier&&!e.isTypeOnly&&!e.parent.parent.isTypeOnly){const t=e.propertyName||e.name;if(11===t.kind)return;const n=te(t,t.escapedText,2998271,void 0,!0);if(n&&(n===V||n===q||n.declarations&&isGlobalSourceFile(getDeclarationContainer(n.declarations[0]))));else{const r=n&&(2097152&n.flags?resolveAlias(n):n);(!r||111551&getSymbolFlags(r))&&(markExportAsReferenced(e),markIdentifierAliasReferenced(t))}return}}function markDecoratorAliasReferenced(e){if(S.emitDecoratorMetadata){const t=find(e.modifiers,isDecorator);if(!t)return;switch(checkExternalEmitHelpers(t,16),e.kind){case 264:const t=getFirstConstructorWithBody(e);if(t)for(const e of t.parameters)markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(e));break;case 178:case 179:const n=178===e.kind?179:178,r=getDeclarationOfKind(getSymbolOfDeclaration(e),n);markDecoratorMedataDataTypeNodeAsReferenced(getAnnotatedAccessorTypeNode(e)||r&&getAnnotatedAccessorTypeNode(r));break;case 175:for(const t of e.parameters)markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(t));markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(e));break;case 173:markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveTypeAnnotationNode(e));break;case 170:markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(e));const i=e.parent;for(const e of i.parameters)markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(e));markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(i))}}}function markAliasReferenced(e,t){if(Y&&isNonLocalAlias(e,111551)&&!isInTypeQuery(t)){const n=resolveAlias(e);1160127&getSymbolFlags(e,!0)&&(Kn(S)||er(S)&&isExportOrExportExpression(t)||!isConstEnumOrConstEnumOnlyModule(getExportSymbolOfValueSymbolIfExported(n)))&&markAliasSymbolAsReferenced(e)}}function markAliasSymbolAsReferenced(e){h.assert(Y);const t=getSymbolLinks(e);if(!t.referenced){t.referenced=!0;const n=getDeclarationOfAliasSymbol(e);if(!n)return h.fail();if(isInternalModuleImportEqualsDeclaration(n)&&111551&getSymbolFlags(resolveSymbol(e))){markIdentifierAliasReferenced(getFirstIdentifier(n.moduleReference))}}}function markExportAsReferenced(e){const t=getSymbolOfDeclaration(e),n=resolveAlias(t);if(n){(n===ve||111551&getSymbolFlags(t,!0)&&!isConstEnumOrConstEnumOnlyModule(n))&&markAliasSymbolAsReferenced(t)}}function markEntityNameOrEntityExpressionAsReference(e,t){if(!e)return;const n=getFirstIdentifier(e),r=2097152|(80===e.kind?788968:1920),i=te(n,n.escapedText,r,void 0,!0);if(i&&2097152&i.flags)if(Y&&symbolIsValue(i)&&!isConstEnumOrConstEnumOnlyModule(resolveAlias(i))&&!getTypeOnlyAliasDeclaration(i))markAliasSymbolAsReferenced(i);else if(t&&Kn(S)&&Vn(S)>=5&&!symbolIsValue(i)&&!some(i.declarations,isTypeOnlyImportOrExportDeclaration)){const t=error2(e,Ot.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled),r=find(i.declarations||l,isAliasSymbolDeclaration);r&&addRelatedInfo(t,createDiagnosticForNode(r,Ot._0_was_imported_here,idText(n)))}}function markDecoratorMedataDataTypeNodeAsReferenced(e){const t=getEntityNameForDecoratorMetadata(e);t&&isEntityName(t)&&markEntityNameOrEntityExpressionAsReference(t,!0)}function checkIdentifierCalculateNodeCheckFlags(e,t){if(isThisInTypeQuery(e))return;if(t===$){if(isInPropertyInitializerOrClassStaticBlock(e,!0))return void error2(e,Ot.arguments_cannot_be_referenced_in_property_initializers_or_class_static_initialization_blocks);let t=getContainingFunction(e);if(t)for(x<2&&(220===t.kind?error2(e,Ot.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_function_expression):hasSyntacticModifier(t,1024)&&error2(e,Ot.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_standard_function_or_method)),getNodeLinks(t).flags|=512;t&&isArrowFunction(t);)t=getContainingFunction(t),t&&(getNodeLinks(t).flags|=512);return}const n=getExportSymbolOfValueSymbolIfExported(t),r=resolveAliasWithDeprecationCheck(n,e);isDeprecatedSymbol(r)&&isUncalledFunctionReference(e,r)&&r.declarations&&addDeprecatedSuggestion(e,r.declarations,e.escapedText);const i=n.valueDeclaration;if(i&&32&n.flags&&isClassLike(i)&&i.name!==e){let t=getThisContainer(e,!1,!1);for(;308!==t.kind&&t.parent!==i;)t=getThisContainer(t,!1,!1);308!==t.kind&&(getNodeLinks(i).flags|=262144,getNodeLinks(t).flags|=262144,getNodeLinks(e).flags|=536870912)}!function checkNestedBlockScopedBinding(e,t){if(x>=2||!(34&t.flags)||!t.valueDeclaration||isSourceFile(t.valueDeclaration)||300===t.valueDeclaration.parent.kind)return;const n=getEnclosingBlockScopeContainer(t.valueDeclaration),r=function isInsideFunctionOrInstancePropertyInitializer(e,t){return!!findAncestor(e,e=>e===t?"quit":isFunctionLike(e)||e.parent&&isPropertyDeclaration(e.parent)&&!hasStaticModifier(e.parent)&&e.parent.initializer===e)}(e,n),i=getEnclosingIterationStatement(n);if(i){if(r){let r=!0;if(isForStatement(n)){const i=getAncestor(t.valueDeclaration,262);if(i&&i.parent===n){const i=function getPartOfForStatementContainingNode(e,t){return findAncestor(e,e=>e===t?"quit":e===t.initializer||e===t.condition||e===t.incrementor||e===t.statement)}(e.parent,n);if(i){const e=getNodeLinks(i);e.flags|=8192;pushIfUnique(e.capturedBlockScopeBindings||(e.capturedBlockScopeBindings=[]),t),i===n.initializer&&(r=!1)}}}r&&(getNodeLinks(i).flags|=4096)}if(isForStatement(n)){const r=getAncestor(t.valueDeclaration,262);r&&r.parent===n&&function isAssignedInBodyOfForStatement(e,t){let n=e;for(;218===n.parent.kind;)n=n.parent;let r=!1;if(isAssignmentTarget(n))r=!0;else if(225===n.parent.kind||226===n.parent.kind){const e=n.parent;r=46===e.operator||47===e.operator}if(!r)return!1;return!!findAncestor(n,e=>e===t?"quit":e===t.statement)}(e,n)&&(getNodeLinks(t.valueDeclaration).flags|=65536)}getNodeLinks(t.valueDeclaration).flags|=32768}r&&(getNodeLinks(t.valueDeclaration).flags|=16384)}(e,t)}function checkIdentifier(e,t){if(isThisInTypeQuery(e))return checkThisExpression(e);const n=getResolvedSymbol(e);if(n===ve)return Ie;if(checkIdentifierCalculateNodeCheckFlags(e,n),n===$)return isInPropertyInitializerOrClassStaticBlock(e)?Ie:getTypeOfSymbol(n);shouldMarkIdentifierAliasReferenced(e)&&markLinkedReferences(e,1);const r=getExportSymbolOfValueSymbolIfExported(n);let i=r.valueDeclaration;const o=i;if(i&&209===i.kind&&contains(Br,i.parent)&&findAncestor(e,e=>e===i.parent))return Oe;let a=function getNarrowedTypeOfSymbol(e,t){var n;const r=getTypeOfSymbol(e),i=e.valueDeclaration;if(i){if(isBindingElement(i)&&!i.initializer&&!i.dotDotDotToken&&i.parent.elements.length>=2){const e=i.parent.parent,n=getRootDeclaration(e);if(261===n.kind&&6&getCombinedNodeFlagsCached(n)||170===n.kind){const r=getNodeLinks(e);if(!(4194304&r.flags)){r.flags|=4194304;const o=getTypeForBindingElementParent(e,0),a=o&&mapType(o,getBaseConstraintOrType);if(r.flags&=-4194305,a&&1048576&a.flags&&(170!==n.kind||!isSomeSymbolAssigned(n))){const e=getFlowTypeOfReference(i.parent,a,a,void 0,t.flowNode);return 131072&e.flags?tt:getBindingElementTypeFromParentType(i,e,!0)}}}}if(isParameter(i)&&!i.type&&!i.initializer&&!i.dotDotDotToken){const e=i.parent;if(e.parameters.length>=2&&isContextSensitiveFunctionOrObjectLiteralMethod(e)){const r=getContextualSignature(e);if(r&&1===r.parameters.length&&signatureHasRestParameter(r)){const o=getReducedApparentType(instantiateType(getTypeOfSymbol(r.parameters[0]),null==(n=getInferenceContext(e))?void 0:n.nonFixingMapper));if(1048576&o.flags&&everyType(o,isTupleType)&&!some(e.parameters,isSomeSymbolAssigned))return getIndexedAccessType(getFlowTypeOfReference(e,o,o,void 0,t.flowNode),getNumberLiteralType(e.parameters.indexOf(i)-(getThisParameter(e)?1:0)))}}}}return r}(r,e);const s=getAssignmentTargetKind(e);if(s){if(!(3&r.flags||isInJSFile(e)&&512&r.flags)){return error2(e,384&r.flags?Ot.Cannot_assign_to_0_because_it_is_an_enum:32&r.flags?Ot.Cannot_assign_to_0_because_it_is_a_class:1536&r.flags?Ot.Cannot_assign_to_0_because_it_is_a_namespace:16&r.flags?Ot.Cannot_assign_to_0_because_it_is_a_function:2097152&r.flags?Ot.Cannot_assign_to_0_because_it_is_an_import:Ot.Cannot_assign_to_0_because_it_is_not_a_variable,symbolToString(n)),Ie}if(isReadonlySymbol(r))return 3&r.flags?error2(e,Ot.Cannot_assign_to_0_because_it_is_a_constant,symbolToString(n)):error2(e,Ot.Cannot_assign_to_0_because_it_is_a_read_only_property,symbolToString(n)),Ie}const c=2097152&r.flags;if(3&r.flags){if(1===s)return isInCompoundLikeAssignment(e)?getBaseTypeOfLiteralType(a):a}else{if(!c)return a;i=getDeclarationOfAliasSymbol(n)}if(!i)return a;a=getNarrowableTypeForReference(a,e,t);const l=170===getRootDeclaration(i).kind,d=getControlFlowContainer(i);let p=getControlFlowContainer(e);const u=p!==d,m=e.parent&&e.parent.parent&&isSpreadAssignment(e.parent)&&isDestructuringAssignmentTarget(e.parent.parent),_=134217728&n.flags,f=a===Fe||a===Yt,g=f&&236===e.parent.kind;for(;p!==d&&(219===p.kind||220===p.kind||isObjectLiteralOrClassExpressionMethodOrAccessor(p))&&(isConstantVariable(r)&&a!==Yt||isParameterOrMutableLocalVariable(r)&&isPastLastAssignment(r,e));)p=getControlFlowContainer(p);const y=o&&isVariableDeclaration(o)&&!o.initializer&&!o.exclamationToken&&isMutableLocalVariableDeclaration(o)&&!function isSymbolAssignedDefinitely(e){return(void 0!==e.lastAssignmentPos||isSymbolAssigned(e)&&void 0!==e.lastAssignmentPos)&&e.lastAssignmentPos<0}(n),h=l||c||u&&!y||m||_||function isSameScopedBindingElement(e,t){if(isBindingElement(t)){const n=findAncestor(e,isBindingElement);return n&&getRootDeclaration(n)===getRootDeclaration(t)}}(e,i)||a!==Fe&&a!==Yt&&(!k||!!(16387&a.flags)||isInTypeQuery(e)||isInAmbientOrTypeNode(e)||282===e.parent.kind)||236===e.parent.kind||261===i.kind&&i.exclamationToken||33554432&i.flags,T=g?Me:h?l?removeOptionalityFromDeclaredType(a,i):a:f?Me:getOptionalType(a),S=g?getNonNullableType(getFlowTypeOfReference(e,a,T,p)):getFlowTypeOfReference(e,a,T,p);if(isEvolvingArrayOperationTarget(e)||a!==Fe&&a!==Yt){if(!h&&!containsUndefinedType(a)&&containsUndefinedType(S))return error2(e,Ot.Variable_0_is_used_before_being_assigned,symbolToString(n)),a}else if(S===Fe||S===Yt)return A&&(error2(getNameOfDeclaration(i),Ot.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,symbolToString(n),typeToString(S)),error2(e,Ot.Variable_0_implicitly_has_an_1_type,symbolToString(n),typeToString(S))),convertAutoToAny(S);return s?getBaseTypeOfLiteralType(S):S}function shouldMarkIdentifierAliasReferenced(e){var t;const n=e.parent;if(n){if(isPropertyAccessExpression(n)&&n.expression===e)return!1;if(isExportSpecifier(n)&&n.isTypeOnly)return!1;const r=null==(t=n.parent)?void 0:t.parent;if(r&&isExportDeclaration(r)&&r.isTypeOnly)return!1}return!0}function getEnclosingIterationStatement(e){return findAncestor(e,e=>!e||nodeStartsNewLexicalEnvironment(e)?"quit":isIterationStatement(e,!1))}function captureLexicalThis(e,t){if(getNodeLinks(e).flags|=2,173===t.kind||177===t.kind){getNodeLinks(t.parent).flags|=4}else getNodeLinks(t).flags|=4}function findFirstSuperCall(e){return isSuperCall(e)?e:isFunctionLike(e)?void 0:forEachChild(e,findFirstSuperCall)}function classDeclarationExtendsNull(e){return getBaseConstructorTypeOfClass(getDeclaredTypeOfSymbol(getSymbolOfDeclaration(e)))===Ue}function checkThisBeforeSuper(e,t,n){const r=t.parent;getClassExtendsHeritageElement(r)&&!classDeclarationExtendsNull(r)&&canHaveFlowNode(e)&&e.flowNode&&!isPostSuperFlowNode(e.flowNode,!1)&&error2(e,n)}function checkThisExpression(e){const t=isInTypeQuery(e);let n=getThisContainer(e,!0,!0),r=!1,i=!1;for(177===n.kind&&checkThisBeforeSuper(e,n,Ot.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class);220===n.kind&&(n=getThisContainer(n,!1,!i),r=!0),168===n.kind;)n=getThisContainer(n,!r,!1),i=!0;if(function checkThisInStaticClassFieldInitializerInDecoratedClass(e,t){isPropertyDeclaration(t)&&hasStaticModifier(t)&&b&&t.initializer&&textRangeContainsPositionInclusive(t.initializer,e.pos)&&hasDecorators(t.parent)&&error2(e,Ot.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class)}(e,n),i)error2(e,Ot.this_cannot_be_referenced_in_a_computed_property_name);else switch(n.kind){case 268:error2(e,Ot.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 267:error2(e,Ot.this_cannot_be_referenced_in_current_location)}!t&&r&&x<2&&captureLexicalThis(e,n);const o=tryGetThisTypeAt(e,!0,n);if(O){const t=getTypeOfSymbol(q);if(o===t&&r)error2(e,Ot.The_containing_arrow_function_captures_the_global_value_of_this);else if(!o){const r=error2(e,Ot.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!isSourceFile(n)){const e=tryGetThisTypeAt(n);e&&e!==t&&addRelatedInfo(r,createDiagnosticForNode(n,Ot.An_outer_value_of_this_is_shadowed_by_this_container))}}}return o||ke}function tryGetThisTypeAt(e,t=!0,n=getThisContainer(e,!1,!1)){const r=isInJSFile(e);if(isFunctionLike(n)&&(!isInParameterInitializerBeforeContainingFunction(e)||getThisParameter(n))){let t=function getThisTypeOfDeclaration(e){return getThisTypeOfSignature(getSignatureFromDeclaration(e))}(n)||r&&function getTypeForThisExpressionFromJSDoc(e){const t=getJSDocThisTag(e);if(t&&t.typeExpression)return getTypeFromTypeNode(t.typeExpression);const n=getSignatureOfTypeTag(e);if(n)return getThisTypeOfSignature(n)}(n);if(!t){const e=function getClassNameFromPrototypeMethod(e){if(219===e.kind&&isBinaryExpression(e.parent)&&3===getAssignmentDeclarationKind(e.parent))return e.parent.left.expression.expression;if(175===e.kind&&211===e.parent.kind&&isBinaryExpression(e.parent.parent)&&6===getAssignmentDeclarationKind(e.parent.parent))return e.parent.parent.left.expression;if(219===e.kind&&304===e.parent.kind&&211===e.parent.parent.kind&&isBinaryExpression(e.parent.parent.parent)&&6===getAssignmentDeclarationKind(e.parent.parent.parent))return e.parent.parent.parent.left.expression;if(219===e.kind&&isPropertyAssignment(e.parent)&&isIdentifier(e.parent.name)&&("value"===e.parent.name.escapedText||"get"===e.parent.name.escapedText||"set"===e.parent.name.escapedText)&&isObjectLiteralExpression(e.parent.parent)&&isCallExpression(e.parent.parent.parent)&&e.parent.parent.parent.arguments[2]===e.parent.parent&&9===getAssignmentDeclarationKind(e.parent.parent.parent))return e.parent.parent.parent.arguments[0].expression;if(isMethodDeclaration(e)&&isIdentifier(e.name)&&("value"===e.name.escapedText||"get"===e.name.escapedText||"set"===e.name.escapedText)&&isObjectLiteralExpression(e.parent)&&isCallExpression(e.parent.parent)&&e.parent.parent.arguments[2]===e.parent&&9===getAssignmentDeclarationKind(e.parent.parent))return e.parent.parent.arguments[0].expression}(n);if(r&&e){const n=checkExpression(e).symbol;n&&n.members&&16&n.flags&&(t=getDeclaredTypeOfSymbol(n).thisType)}else isJSConstructor(n)&&(t=getDeclaredTypeOfSymbol(getMergedSymbol(n.symbol)).thisType);t||(t=getContextualThisParameterType(n))}if(t)return getFlowTypeOfReference(e,t)}if(isClassLike(n.parent)){const t=getSymbolOfDeclaration(n.parent);return getFlowTypeOfReference(e,isStatic(n)?getTypeOfSymbol(t):getDeclaredTypeOfSymbol(t).thisType)}if(isSourceFile(n)){if(n.commonJsModuleIndicator){const e=getSymbolOfDeclaration(n);return e&&getTypeOfSymbol(e)}if(n.externalModuleIndicator)return Me;if(t)return getTypeOfSymbol(q)}}function checkSuperExpression(e){const t=214===e.parent.kind&&e.parent.expression===e,n=getSuperContainer(e,!0);let r=n,i=!1,o=!1;if(!t){for(;r&&220===r.kind;)hasSyntacticModifier(r,1024)&&(o=!0),r=getSuperContainer(r,!0),i=x<2;r&&hasSyntacticModifier(r,1024)&&(o=!0)}let a=0;if(!r||!function isLegalUsageOfSuperExpression(e){if(t)return 177===e.kind;if(isClassLike(e.parent)||211===e.parent.kind)return isStatic(e)?175===e.kind||174===e.kind||178===e.kind||179===e.kind||173===e.kind||176===e.kind:175===e.kind||174===e.kind||178===e.kind||179===e.kind||173===e.kind||172===e.kind||177===e.kind;return!1}(r)){const n=findAncestor(e,e=>e===r?"quit":168===e.kind);return n&&168===n.kind?error2(e,Ot.super_cannot_be_referenced_in_a_computed_property_name):t?error2(e,Ot.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):r&&r.parent&&(isClassLike(r.parent)||211===r.parent.kind)?error2(e,Ot.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):error2(e,Ot.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),Ie}if(t||177!==n.kind||checkThisBeforeSuper(e,r,Ot.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),isStatic(r)||t?(a=32,!t&&x>=2&&x<=8&&(isPropertyDeclaration(r)||isClassStaticBlockDeclaration(r))&&forEachEnclosingBlockScopeContainer(e.parent,e=>{isSourceFile(e)&&!isExternalOrCommonJsModule(e)||(getNodeLinks(e).flags|=2097152)})):a=16,getNodeLinks(e).flags|=a,175===r.kind&&o&&(isSuperProperty(e.parent)&&isAssignmentTarget(e.parent)?getNodeLinks(r).flags|=256:getNodeLinks(r).flags|=128),i&&captureLexicalThis(e.parent,r),211===r.parent.kind)return x<2?(error2(e,Ot.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),Ie):ke;const s=r.parent;if(!getClassExtendsHeritageElement(s))return error2(e,Ot.super_can_only_be_referenced_in_a_derived_class),Ie;if(classDeclarationExtendsNull(s))return t?Ie:Ue;const c=getDeclaredTypeOfSymbol(getSymbolOfDeclaration(s)),l=c&&getBaseTypes(c)[0];return l?177===r.kind&&function isInConstructorArgumentInitializer(e,t){return!!findAncestor(e,e=>isFunctionLikeDeclaration(e)?"quit":170===e.kind&&e.parent===t)}(e,r)?(error2(e,Ot.super_cannot_be_referenced_in_constructor_arguments),Ie):32===a?getBaseConstructorTypeOfClass(c):getTypeWithThisArgument(l,c.thisType):Ie}function getContainingObjectLiteral(e){return 175!==e.kind&&178!==e.kind&&179!==e.kind||211!==e.parent.kind?219===e.kind&&304===e.parent.kind?e.parent.parent:void 0:e.parent}function getThisTypeArgument(e){return 4&getObjectFlags(e)&&e.target===Qt?getTypeArguments(e)[0]:void 0}function getThisTypeFromContextualType(e){return mapType(e,e=>2097152&e.flags?forEach(e.types,getThisTypeArgument):getThisTypeArgument(e))}function getThisTypeOfObjectLiteralFromContextualType(e,t){let n=e,r=t;for(;r;){const e=getThisTypeFromContextualType(r);if(e)return e;if(304!==n.parent.kind)break;n=n.parent.parent,r=getApparentTypeOfContextualType(n,void 0)}}function getContextualThisParameterType(e){if(220===e.kind)return;if(isContextSensitiveFunctionOrObjectLiteralMethod(e)){const t=getContextualSignature(e);if(t){const e=t.thisParameter;if(e)return getTypeOfSymbol(e)}}const t=isInJSFile(e);if(O||t){const n=getContainingObjectLiteral(e);if(n){const e=getApparentTypeOfContextualType(n,void 0),t=getThisTypeOfObjectLiteralFromContextualType(n,e);return t?instantiateType(t,getMapperFromContext(getInferenceContext(n))):getWidenedType(e?getNonNullableType(e):checkExpressionCached(n))}const r=walkUpParenthesizedExpressions(e.parent);if(isAssignmentExpression(r)){const e=r.left;if(isAccessExpression(e)){const{expression:n}=e;if(t&&isIdentifier(n)){const e=getSourceFileOfNode(r);if(e.commonJsModuleIndicator&&getResolvedSymbol(n)===e.symbol)return}return getWidenedType(checkExpressionCached(n))}}}}function getContextuallyTypedParameterType(e){const t=e.parent;if(!isContextSensitiveFunctionOrObjectLiteralMethod(t))return;const n=getImmediatelyInvokedFunctionExpression(t);if(n&&n.arguments){const r=getEffectiveCallArguments(n),i=t.parameters.indexOf(e);if(e.dotDotDotToken)return getSpreadArgumentType(r,i,r.length,ke,void 0,0);const o=getNodeLinks(n),a=o.resolvedSignature;o.resolvedSignature=_r;const s=i<r.length?getWidenedLiteralType(checkExpression(r[i])):e.initializer?void 0:Re;return o.resolvedSignature=a,s}const r=getContextualSignature(t);if(r){const n=t.parameters.indexOf(e)-(getThisParameter(t)?1:0);return e.dotDotDotToken&&lastOrUndefined(t.parameters)===e?getRestTypeAtPosition(r,n):tryGetTypeAtPosition(r,n)}}function getContextualTypeForVariableLikeDeclaration(e,t){const n=getEffectiveTypeAnnotationNode(e)||(isInJSFile(e)?tryGetJSDocSatisfiesTypeNode(e):void 0);if(n)return getTypeFromTypeNode(n);switch(e.kind){case 170:return getContextuallyTypedParameterType(e);case 209:return function getContextualTypeForBindingElement(e,t){const n=e.parent.parent,r=e.propertyName||e.name,i=getContextualTypeForVariableLikeDeclaration(n,t)||209!==n.kind&&n.initializer&&checkDeclarationInitializer(n,e.dotDotDotToken?32:0);if(!i||isBindingPattern(r)||isComputedNonLiteralName(r))return;if(208===n.name.kind){const t=indexOfNode(e.parent.elements,e);if(t<0)return;return getContextualTypeForElementExpression(i,t)}const o=getLiteralTypeFromPropertyName(r);if(isTypeUsableAsPropertyName(o)){return getTypeOfPropertyOfType(i,getPropertyNameFromType(o))}}(e,t);case 173:if(isStatic(e))return function getContextualTypeForStaticPropertyDeclaration(e,t){const n=isExpression(e.parent)&&getContextualType2(e.parent,t);return n?getTypeOfPropertyOfContextualType(n,getSymbolOfDeclaration(e).escapedName):void 0}(e,t)}}function isInParameterInitializerBeforeContainingFunction(e){let t=!1;for(;e.parent&&!isFunctionLike(e.parent);){if(isParameter(e.parent)&&(t||e.parent.initializer===e))return!0;isBindingElement(e.parent)&&e.parent.initializer===e&&(t=!0),e=e.parent}return!1}function getContextualIterationType(e,t){const n=!!(2&getFunctionFlags(t)),r=getContextualReturnType(t,void 0);if(r)return getIterationTypeOfGeneratorFunctionReturnType(e,r,n)||void 0}function getContextualReturnType(e,t){const n=getReturnTypeFromAnnotation(e);if(n)return n;const r=getContextualSignatureForFunctionLikeDeclaration(e);if(r&&!isResolvingReturnTypeOfSignature(r)){const t=getReturnTypeOfSignature(r),n=getFunctionFlags(e);return 1&n?filterType(t,e=>!!(58998787&e.flags)||checkGeneratorInstantiationAssignabilityToReturnType(e,n,void 0)):2&n?filterType(t,e=>!!(58998787&e.flags)||!!getAwaitedTypeOfPromise(e)):t}const i=getImmediatelyInvokedFunctionExpression(e);return i?getContextualType2(i,t):void 0}function getContextualTypeForArgument(e,t){const n=getEffectiveCallArguments(e).indexOf(t);return-1===n?void 0:getContextualTypeForArgumentAtIndex(e,n)}function getContextualTypeForArgumentAtIndex(e,t){if(isImportCall(e))return 0===t?ze:1===t?getGlobalImportCallOptionsType(!1):ke;const n=getNodeLinks(e).resolvedSignature===gr?gr:getResolvedSignature(e);if(isJsxOpeningLikeElement(e)&&0===t)return getEffectiveFirstArgumentForJsxSignature(n,e);const r=n.parameters.length-1;return signatureHasRestParameter(n)&&t>=r?getIndexedAccessType(getTypeOfSymbol(n.parameters[r]),getNumberLiteralType(t-r),256):getTypeAtPosition(n,t)}function getContextualTypeForBinaryOperand(e,t){const n=e.parent,{left:r,operatorToken:i,right:o}=n;switch(i.kind){case 64:case 77:case 76:case 78:return e===o?function getContextualTypeForAssignmentDeclaration(e){var t,n;const r=getAssignmentDeclarationKind(e);switch(r){case 0:case 4:const i=function getSymbolForExpression(e){if(canHaveSymbol(e)&&e.symbol)return e.symbol;if(isIdentifier(e))return getResolvedSymbol(e);if(isPropertyAccessExpression(e)){const t=getTypeOfExpression(e.expression);return isPrivateIdentifier(e.name)?tryGetPrivateIdentifierPropertyOfType(t,e.name):getPropertyOfType(t,e.name.escapedText)}if(isElementAccessExpression(e)){const t=checkExpressionCached(e.argumentExpression);if(!isTypeUsableAsPropertyName(t))return;return getPropertyOfType(getTypeOfExpression(e.expression),getPropertyNameFromType(t))}return;function tryGetPrivateIdentifierPropertyOfType(e,t){const n=lookupSymbolForPrivateIdentifierDeclaration(t.escapedText,t);return n&&getPrivateIdentifierPropertyOfType(e,n)}}(e.left),o=i&&i.valueDeclaration;if(o&&(isPropertyDeclaration(o)||isPropertySignature(o))){const t=getEffectiveTypeAnnotationNode(o);return t&&instantiateType(getTypeFromTypeNode(t),getSymbolLinks(i).mapper)||(isPropertyDeclaration(o)?o.initializer&&getTypeOfExpression(e.left):void 0)}return 0===r?getTypeOfExpression(e.left):getContextualTypeForThisPropertyAssignment(e);case 5:if(isPossiblyAliasedThisProperty(e,r))return getContextualTypeForThisPropertyAssignment(e);if(canHaveSymbol(e.left)&&e.left.symbol){const t=e.left.symbol.valueDeclaration;if(!t)return;const n=cast(e.left,isAccessExpression),r=getEffectiveTypeAnnotationNode(t);if(r)return getTypeFromTypeNode(r);if(isIdentifier(n.expression)){const e=n.expression,t=te(e,e.escapedText,111551,void 0,!0);if(t){const e=t.valueDeclaration&&getEffectiveTypeAnnotationNode(t.valueDeclaration);if(e){const t=getElementOrPropertyAccessName(n);if(void 0!==t)return getTypeOfPropertyOfContextualType(getTypeFromTypeNode(e),t)}return}}return isInJSFile(t)||t===e.left?void 0:getTypeOfExpression(e.left)}return getTypeOfExpression(e.left);case 1:case 6:case 3:case 2:let a;2!==r&&(a=canHaveSymbol(e.left)?null==(t=e.left.symbol)?void 0:t.valueDeclaration:void 0),a||(a=null==(n=e.symbol)?void 0:n.valueDeclaration);const s=a&&getEffectiveTypeAnnotationNode(a);return s?getTypeFromTypeNode(s):void 0;case 7:case 8:case 9:return h.fail("Does not apply");default:return h.assertNever(r)}}(n):void 0;case 57:case 61:const i=getContextualType2(n,t);return e===o&&(i&&i.pattern||!i&&!isDefaultedExpandoInitializer(n))?getTypeOfExpression(r):i;case 56:case 28:return e===o?getContextualType2(n,t):void 0;default:return}}function isPossiblyAliasedThisProperty(e,t=getAssignmentDeclarationKind(e)){if(4===t)return!0;if(!isInJSFile(e)||5!==t||!isIdentifier(e.left.expression))return!1;const n=e.left.expression.escapedText,r=te(e.left,n,111551,void 0,!0,!0);return isThisInitializedDeclaration(null==r?void 0:r.valueDeclaration)}function getContextualTypeForThisPropertyAssignment(e){if(!e.symbol)return getTypeOfExpression(e.left);if(e.symbol.valueDeclaration){const t=getEffectiveTypeAnnotationNode(e.symbol.valueDeclaration);if(t){const e=getTypeFromTypeNode(t);if(e)return e}}const t=cast(e.left,isAccessExpression);if(!isObjectLiteralMethod(getThisContainer(t.expression,!1,!1)))return;const n=checkThisExpression(t.expression),r=getElementOrPropertyAccessName(t);return void 0!==r&&getTypeOfPropertyOfContextualType(n,r)||void 0}function isExcludedMappedPropertyName(e,t){if(16777216&e.flags){const n=e;return!!(131072&getReducedType(getTrueTypeFromConditionalType(n)).flags)&&getActualTypeVariable(getFalseTypeFromConditionalType(n))===getActualTypeVariable(n.checkType)&&isTypeAssignableTo(t,n.extendsType)}return!!(2097152&e.flags)&&some(e.types,e=>isExcludedMappedPropertyName(e,t))}function getTypeOfPropertyOfContextualType(e,t,n){return mapType(e,e=>{if(2097152&e.flags){let r,i,o=!1;for(const a of e.types){if(!(524288&a.flags))continue;if(isGenericMappedType(a)&&2!==getMappedTypeNameTypeKind(a)){r=appendContextualPropertyTypeConstituent(r,getIndexedMappedTypeSubstitutedTypeOfContextualType(a,t,n));continue}const e=getTypeOfConcretePropertyOfContextualType(a,t);e?(o=!0,i=void 0,r=appendContextualPropertyTypeConstituent(r,e)):o||(i=append(i,a))}if(i)for(const e of i){r=appendContextualPropertyTypeConstituent(r,getTypeFromIndexInfosOfContextualType(e,t,n))}if(!r)return;return 1===r.length?r[0]:getIntersectionType(r)}if(524288&e.flags)return isGenericMappedType(e)&&2!==getMappedTypeNameTypeKind(e)?getIndexedMappedTypeSubstitutedTypeOfContextualType(e,t,n):getTypeOfConcretePropertyOfContextualType(e,t)??getTypeFromIndexInfosOfContextualType(e,t,n)},!0)}function appendContextualPropertyTypeConstituent(e,t){return t?append(e,1&t.flags?Le:t):e}function getIndexedMappedTypeSubstitutedTypeOfContextualType(e,t,n){const r=n||getStringLiteralType(unescapeLeadingUnderscores(t)),i=getConstraintTypeFromMappedType(e);if(e.nameType&&isExcludedMappedPropertyName(e.nameType,r)||isExcludedMappedPropertyName(i,r))return;return isTypeAssignableTo(r,getBaseConstraintOfType(i)||i)?substituteIndexedMappedType(e,r):void 0}function getTypeOfConcretePropertyOfContextualType(e,t){const n=getPropertyOfType(e,t);if(n&&!function isCircularMappedProperty(e){return!!(262144&getCheckFlags(e)&&!e.links.type&&findResolutionCycleStartIndex(e,0)>=0)}(n))return removeMissingType(getTypeOfSymbol(n),!!(16777216&n.flags))}function getTypeFromIndexInfosOfContextualType(e,t,n){var r;if(isTupleType(e)&&isNumericLiteralName(t)&&+t>=0){const t=getElementTypeOfSliceOfTupleType(e,e.target.fixedLength,0,!1,!0);if(t)return t}return null==(r=findApplicableIndexInfo(getIndexInfosOfStructuredType(e),n||getStringLiteralType(unescapeLeadingUnderscores(t))))?void 0:r.type}function getContextualTypeForObjectLiteralMethod(e,t){if(h.assert(isObjectLiteralMethod(e)),!(67108864&e.flags))return getContextualTypeForObjectLiteralElement(e,t)}function getContextualTypeForObjectLiteralElement(e,t){const n=e.parent,r=isPropertyAssignment(e)&&getContextualTypeForVariableLikeDeclaration(e,t);if(r)return r;const i=getApparentTypeOfContextualType(n,t);if(i){if(hasBindableName(e)){const t=getSymbolOfDeclaration(e);return getTypeOfPropertyOfContextualType(i,t.escapedName,getSymbolLinks(t).nameType)}if(hasDynamicName(e)){const t=getNameOfDeclaration(e);if(t&&isComputedPropertyName(t)){const e=checkExpression(t.expression),n=isTypeUsableAsPropertyName(e)&&getTypeOfPropertyOfContextualType(i,getPropertyNameFromType(e));if(n)return n}}if(e.name){const t=getLiteralTypeFromPropertyName(e.name);return mapType(i,e=>{var n;return null==(n=findApplicableIndexInfo(getIndexInfosOfStructuredType(e),t))?void 0:n.type},!0)}}}function getContextualTypeForElementExpression(e,t,n,r,i){return e&&mapType(e,e=>{if(isTupleType(e)){if((void 0===r||t<r)&&t<e.target.fixedLength)return removeMissingType(getTypeArguments(e)[t],!!e.target.elementFlags[t]);const o=void 0!==n&&(void 0===i||t>i)?n-t:0,a=o>0&&12&e.target.combinedFlags?getEndElementCount(e.target,3):0;return o>0&&o<=a?getTypeArguments(e)[getTypeReferenceArity(e)-o]:getElementTypeOfSliceOfTupleType(e,void 0===r?e.target.fixedLength:Math.min(e.target.fixedLength,r),void 0===n||void 0===i?a:Math.min(a,n-i),!1,!0)}return(!r||t<r)&&getTypeOfPropertyOfContextualType(e,""+t)||getIteratedTypeOrElementType(1,e,Me,void 0,!1)},!0)}function getContextualTypeForJsxExpression(e,t){const n=e.parent;return isJsxAttributeLike(n)?getContextualType2(e,t):isJsxElement(n)?function getContextualTypeForChildJsxExpression(e,t,n){const r=getApparentTypeOfContextualType(e.openingElement.attributes,n),i=getJsxElementChildrenPropertyName(getJsxNamespaceAt(e));if(!r||isTypeAny(r)||!i||""===i)return;const o=getSemanticJsxChildren(e.children),a=o.indexOf(t),s=getTypeOfPropertyOfContextualType(r,i);return s&&(1===o.length?s:mapType(s,e=>isArrayLikeType(e)?getIndexedAccessType(e,getNumberLiteralType(a)):e,!0))}(n,e,t):void 0}function getContextualTypeForJsxAttribute(e,t){if(isJsxAttribute(e)){const n=getApparentTypeOfContextualType(e.parent,t);if(!n||isTypeAny(n))return;return getTypeOfPropertyOfContextualType(n,getEscapedTextOfJsxAttributeName(e.name))}return getContextualType2(e.parent,t)}function isPossiblyDiscriminantValue(e){switch(e.kind){case 11:case 9:case 10:case 15:case 229:case 112:case 97:case 106:case 80:case 157:return!0;case 212:case 218:return isPossiblyDiscriminantValue(e.expression);case 295:return!e.expression||isPossiblyDiscriminantValue(e.expression)}return!1}function discriminateContextualTypeByObjectMembers(e,t){const n=`D${getNodeId(e)},${getTypeId(t)}`;return getCachedType(n)??setCachedType(n,function getMatchingUnionConstituentForObjectLiteral(e,t){const n=getKeyPropertyName(e),r=n&&find(t.properties,e=>e.symbol&&304===e.kind&&e.symbol.escapedName===n&&isPossiblyDiscriminantValue(e.initializer)),i=r&&getContextFreeTypeOfExpression(r.initializer);return i&&getConstituentTypeForKeyType(e,i)}(t,e)??discriminateTypeByDiscriminableItems(t,concatenate(map(filter(e.properties,e=>!!e.symbol&&(304===e.kind?isPossiblyDiscriminantValue(e.initializer)&&isDiscriminantProperty(t,e.symbol.escapedName):305===e.kind&&isDiscriminantProperty(t,e.symbol.escapedName))),e=>[()=>getContextFreeTypeOfExpression(304===e.kind?e.initializer:e.name),e.symbol.escapedName]),map(filter(getPropertiesOfType(t),n=>{var r;return!!(16777216&n.flags)&&!!(null==(r=null==e?void 0:e.symbol)?void 0:r.members)&&!e.symbol.members.has(n.escapedName)&&isDiscriminantProperty(t,n.escapedName)}),e=>[()=>Me,e.escapedName])),isTypeAssignableTo))}function getApparentTypeOfContextualType(e,t){const n=instantiateContextualType(isObjectLiteralMethod(e)?getContextualTypeForObjectLiteralMethod(e,t):getContextualType2(e,t),e,t);if(n&&!(t&&2&t&&8650752&n.flags)){const t=mapType(n,e=>32&getObjectFlags(e)?e:getApparentType(e),!0);return 1048576&t.flags&&isObjectLiteralExpression(e)?discriminateContextualTypeByObjectMembers(e,t):1048576&t.flags&&isJsxAttributes(e)?function discriminateContextualTypeByJSXAttributes(e,t){const n=`D${getNodeId(e)},${getTypeId(t)}`,r=getCachedType(n);if(r)return r;const i=getJsxElementChildrenPropertyName(getJsxNamespaceAt(e));return setCachedType(n,discriminateTypeByDiscriminableItems(t,concatenate(map(filter(e.properties,e=>!!e.symbol&&292===e.kind&&isDiscriminantProperty(t,e.symbol.escapedName)&&(!e.initializer||isPossiblyDiscriminantValue(e.initializer))),e=>[e.initializer?()=>getContextFreeTypeOfExpression(e.initializer):()=>Ge,e.symbol.escapedName]),map(filter(getPropertiesOfType(t),n=>{var r;if(!(16777216&n.flags&&(null==(r=null==e?void 0:e.symbol)?void 0:r.members)))return!1;const o=e.parent.parent;return(n.escapedName!==i||!isJsxElement(o)||!getSemanticJsxChildren(o.children).length)&&!e.symbol.members.has(n.escapedName)&&isDiscriminantProperty(t,n.escapedName)}),e=>[()=>Me,e.escapedName])),isTypeAssignableTo))}(e,t):t}}function instantiateContextualType(e,t,n){if(e&&maybeTypeOfKind(e,465829888)){const r=getInferenceContext(t);if(r&&1&n&&some(r.inferences,hasInferenceCandidatesOrDefault))return instantiateInstantiableTypes(e,r.nonFixingMapper);if(null==r?void 0:r.returnMapper){const t=instantiateInstantiableTypes(e,r.returnMapper);return 1048576&t.flags&&containsType(t.types,Ke)&&containsType(t.types,Qe)?filterType(t,e=>e!==Ke&&e!==Qe):t}}return e}function instantiateInstantiableTypes(e,t){return 465829888&e.flags?instantiateType(e,t):1048576&e.flags?getUnionType(map(e.types,e=>instantiateInstantiableTypes(e,t)),0):2097152&e.flags?getIntersectionType(map(e.types,e=>instantiateInstantiableTypes(e,t))):e}function getContextualType2(e,t){var n;if(67108864&e.flags)return;const r=findContextualNode(e,!t);if(r>=0)return Lr[r];const{parent:i}=e;switch(i.kind){case 261:case 170:case 173:case 172:case 209:return function getContextualTypeForInitializerExpression(e,t){const n=e.parent;if(hasInitializer(n)&&e===n.initializer){const e=getContextualTypeForVariableLikeDeclaration(n,t);if(e)return e;if(!(8&t)&&isBindingPattern(n.name)&&n.name.elements.length>0)return getTypeFromBindingPattern(n.name,!0,!1)}}(e,t);case 220:case 254:return function getContextualTypeForReturnExpression(e,t){const n=getContainingFunction(e);if(n){let e=getContextualReturnType(n,t);if(e){const t=getFunctionFlags(n);if(1&t){const n=!!(2&t);1048576&e.flags&&(e=filterType(e,e=>!!getIterationTypeOfGeneratorFunctionReturnType(1,e,n)));const r=getIterationTypeOfGeneratorFunctionReturnType(1,e,!!(2&t));if(!r)return;e=r}if(2&t){const t=mapType(e,getAwaitedTypeNoAlias);return t&&getUnionType([t,createPromiseLikeType(t)])}return e}}}(e,t);case 230:return function getContextualTypeForYieldOperand(e,t){const n=getContainingFunction(e);if(n){const r=getFunctionFlags(n);let i=getContextualReturnType(n,t);if(i){const n=!!(2&r);if(!e.asteriskToken&&1048576&i.flags&&(i=filterType(i,e=>!!getIterationTypeOfGeneratorFunctionReturnType(1,e,n))),e.asteriskToken){const r=getIterationTypesOfGeneratorFunctionReturnType(i,n),o=(null==r?void 0:r.yieldType)??nt,a=getContextualType2(e,t)??nt,s=(null==r?void 0:r.nextType)??Le,c=createGeneratorType(o,a,s,!1);return n?getUnionType([c,createGeneratorType(o,a,s,!0)]):c}return getIterationTypeOfGeneratorFunctionReturnType(0,i,n)}}}(i,t);case 224:return function getContextualTypeForAwaitOperand(e,t){const n=getContextualType2(e,t);if(n){const e=getAwaitedTypeNoAlias(n);return e&&getUnionType([e,createPromiseLikeType(e)])}}(i,t);case 214:case 215:return getContextualTypeForArgument(i,e);case 171:return function getContextualTypeForDecorator(e){const t=getDecoratorCallSignature(e);return t?getOrCreateTypeFromSignature(t):void 0}(i);case 217:case 235:return isConstTypeReference(i.type)?getContextualType2(i,t):getTypeFromTypeNode(i.type);case 227:return getContextualTypeForBinaryOperand(e,t);case 304:case 305:return getContextualTypeForObjectLiteralElement(i,t);case 306:return getContextualType2(i.parent,t);case 210:{const r=i,o=getApparentTypeOfContextualType(r,t),a=indexOfNode(r.elements,e),s=(n=getNodeLinks(r)).spreadIndices??(n.spreadIndices=function getSpreadIndices(e){let t,n;for(let r=0;r<e.length;r++)isSpreadElement(e[r])&&(t??(t=r),n=r);return{first:t,last:n}}(r.elements));return getContextualTypeForElementExpression(o,a,r.elements.length,s.first,s.last)}case 228:return function getContextualTypeForConditionalOperand(e,t){const n=e.parent;return e===n.whenTrue||e===n.whenFalse?getContextualType2(n,t):void 0}(e,t);case 240:return h.assert(229===i.parent.kind),function getContextualTypeForSubstitutionExpression(e,t){if(216===e.parent.kind)return getContextualTypeForArgument(e.parent,t)}(i.parent,e);case 218:if(isInJSFile(i)){if(isJSDocSatisfiesExpression(i))return getTypeFromTypeNode(getJSDocSatisfiesExpressionType(i));const e=getJSDocTypeTag(i);if(e&&!isConstTypeReference(e.typeExpression.type))return getTypeFromTypeNode(e.typeExpression.type)}return getContextualType2(i,t);case 236:return getContextualType2(i,t);case 239:return getTypeFromTypeNode(i.type);case 278:return tryGetTypeFromEffectiveTypeNode(i);case 295:return getContextualTypeForJsxExpression(i,t);case 292:case 294:return getContextualTypeForJsxAttribute(i,t);case 287:case 286:return function getContextualJsxElementAttributesType(e,t){if(isJsxOpeningElement(e)&&4!==t){const n=findContextualNode(e.parent,!t);if(n>=0)return Lr[n]}return getContextualTypeForArgumentAtIndex(e,0)}(i,t);case 302:return function getContextualImportAttributeType(e){return getTypeOfPropertyOfContextualType(getGlobalImportAttributesType(!1),getNameFromImportAttribute(e))}(i)}}function pushCachedContextualType(e){pushContextualType(e,getContextualType2(e,void 0),!0)}function pushContextualType(e,t,n){wr[Rr]=e,Lr[Rr]=t,Mr[Rr]=n,Rr++}function popContextualType(){Rr--,wr[Rr]=void 0,Lr[Rr]=void 0,Mr[Rr]=void 0}function findContextualNode(e,t){for(let n=Rr-1;n>=0;n--)if(e===wr[n]&&(t||!Mr[n]))return n;return-1}function getInferenceContext(e){for(let t=Ur-1;t>=0;t--)if(isNodeDescendantOf(e,jr[t]))return Jr[t]}function getEffectiveFirstArgumentForJsxSignature(e,t){return isJsxOpeningFragment(t)||0!==getJsxReferenceKind(t)?function getJsxPropsTypeFromCallSignature(e,t){let n=getTypeOfFirstParameterOfSignatureWithFallback(e,Le);n=getJsxManagedAttributesFromLocatedAttributes(t,getJsxNamespaceAt(t),n);const r=getJsxType(qo.IntrinsicAttributes,t);isErrorType(r)||(n=intersectTypes(r,n));return n}(e,t):function getJsxPropsTypeFromClassType(e,t){const n=getJsxNamespaceAt(t),r=function getJsxElementPropertiesName(e){return getNameFromJsxElementAttributesContainer(qo.ElementAttributesPropertyNameContainer,e)}(n);let i=void 0===r?getTypeOfFirstParameterOfSignatureWithFallback(e,Le):""===r?getReturnTypeOfSignature(e):function getJsxPropsTypeForSignatureFromMember(e,t){if(e.compositeSignatures){const n=[];for(const r of e.compositeSignatures){const e=getReturnTypeOfSignature(r);if(isTypeAny(e))return e;const i=getTypeOfPropertyOfType(e,t);if(!i)return;n.push(i)}return getIntersectionType(n)}const n=getReturnTypeOfSignature(e);return isTypeAny(n)?n:getTypeOfPropertyOfType(n,t)}(e,r);if(!i)return r&&length(t.attributes.properties)&&error2(t,Ot.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,unescapeLeadingUnderscores(r)),Le;if(i=getJsxManagedAttributesFromLocatedAttributes(t,n,i),isTypeAny(i))return i;{let n=i;const r=getJsxType(qo.IntrinsicClassAttributes,t);if(!isErrorType(r)){const i=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(r.symbol),o=getReturnTypeOfSignature(e);let a;if(i){a=instantiateType(r,createTypeMapper(i,fillMissingTypeArguments([o],i,getMinTypeArgumentCount(i),isInJSFile(t))))}else a=r;n=intersectTypes(a,n)}const o=getJsxType(qo.IntrinsicAttributes,t);return isErrorType(o)||(n=intersectTypes(o,n)),n}}(e,t)}function getJsxManagedAttributesFromLocatedAttributes(e,t,n){const r=function getJsxLibraryManagedAttributes(e){return e&&getSymbol2(e.exports,qo.LibraryManagedAttributes,788968)}(t);if(r){const t=function getStaticTypeOfReferencedJsxConstructor(e){if(isJsxOpeningFragment(e))return getJSXFragmentType(e);if(isJsxIntrinsicTagName(e.tagName))return getOrCreateTypeFromSignature(createSignatureForJSXIntrinsic(e,getIntrinsicAttributesTypeFromJsxOpeningLikeElement(e)));const t=checkExpressionCached(e.tagName);if(128&t.flags){const n=getIntrinsicAttributesTypeFromStringLiteralType(t,e);return n?getOrCreateTypeFromSignature(createSignatureForJSXIntrinsic(e,n)):Ie}return t}(e),i=instantiateAliasOrInterfaceWithDefaults(r,isInJSFile(e),t,n);if(i)return i}return n}function getIntersectedSignatures(e){return getStrictOptionValue(S,"noImplicitAny")?reduceLeft(e,(e,t)=>e!==t&&e?compareTypeParametersIdentical(e.typeParameters,t.typeParameters)?function combineSignaturesOfIntersectionMembers(e,t){const n=e.typeParameters||t.typeParameters;let r;e.typeParameters&&t.typeParameters&&(r=createTypeMapper(t.typeParameters,e.typeParameters));let i=166&(e.flags|t.flags);const o=e.declaration,a=function combineIntersectionParameters(e,t,n){const r=getParameterCount(e),i=getParameterCount(t),o=r>=i?e:t,a=o===e?t:e,s=o===e?r:i,c=hasEffectiveRestParameter(e)||hasEffectiveRestParameter(t),l=c&&!hasEffectiveRestParameter(o),d=new Array(s+(l?1:0));for(let p=0;p<s;p++){let u=tryGetTypeAtPosition(o,p);o===t&&(u=instantiateType(u,n));let m=tryGetTypeAtPosition(a,p)||Le;a===t&&(m=instantiateType(m,n));const _=getUnionType([u,m]),f=c&&!l&&p===s-1,g=p>=getMinArgumentCount(o)&&p>=getMinArgumentCount(a),y=p>=r?void 0:getParameterNameAtPosition(e,p),h=p>=i?void 0:getParameterNameAtPosition(t,p),T=createSymbol(1|(g&&!f?16777216:0),(y===h?y:y?h?void 0:y:h)||`arg${p}`,f?32768:g?16384:0);T.links.type=f?createArrayType(_):_,d[p]=T}if(l){const e=createSymbol(1,"args",32768);e.links.type=createArrayType(getTypeAtPosition(a,s)),a===t&&(e.links.type=instantiateType(e.links.type,n)),d[s]=e}return d}(e,t,r),s=lastOrUndefined(a);s&&32768&getCheckFlags(s)&&(i|=1);const c=function combineIntersectionThisParam(e,t,n){if(!e||!t)return e||t;const r=getUnionType([getTypeOfSymbol(e),instantiateType(getTypeOfSymbol(t),n)]);return createSymbolWithType(e,r)}(e.thisParameter,t.thisParameter,r),l=Math.max(e.minArgumentCount,t.minArgumentCount),d=createSignature(o,n,c,a,void 0,void 0,l,i);d.compositeKind=2097152,d.compositeSignatures=concatenate(2097152===e.compositeKind&&e.compositeSignatures||[e],[t]),r&&(d.mapper=2097152===e.compositeKind&&e.mapper&&e.compositeSignatures?combineTypeMappers(e.mapper,r):r);return d}(e,t):void 0:e):void 0}function getContextualCallSignature(e,t){const n=filter(getSignaturesOfType(e,0),e=>!function isAritySmaller(e,t){let n=0;for(;n<t.parameters.length;n++){const e=t.parameters[n];if(e.initializer||e.questionToken||e.dotDotDotToken||isJSDocOptionalParameter(e))break}t.parameters.length&¶meterIsThisKeyword(t.parameters[0])&&n--;return!hasEffectiveRestParameter(e)&&getParameterCount(e)<n}(e,t));return 1===n.length?n[0]:getIntersectedSignatures(n)}function getContextualSignatureForFunctionLikeDeclaration(e){return isFunctionExpressionOrArrowFunction(e)||isObjectLiteralMethod(e)?getContextualSignature(e):void 0}function getContextualSignature(e){h.assert(175!==e.kind||isObjectLiteralMethod(e));const t=getSignatureOfTypeTag(e);if(t)return t;const n=getApparentTypeOfContextualType(e,1);if(!n)return;if(!(1048576&n.flags))return getContextualCallSignature(n,e);let r;const i=n.types;for(const t of i){const n=getContextualCallSignature(t,e);if(n)if(r){if(!compareSignaturesIdentical(r[0],n,!1,!0,!0,compareTypesIdentical))return;r.push(n)}else r=[n]}return r?1===r.length?r[0]:createUnionSignature(r[0],r):void 0}function checkRegularExpressionLiteral(e){const t=getNodeLinks(e);return 1&t.flags||(t.flags|=1,addLazyDiagnostic(()=>function checkGrammarRegularExpressionLiteral(e){const t=getSourceFileOfNode(e);if(!hasParseDiagnostics(t)&&!e.isUnterminated){let r;n??(n=createScanner(99,!0)),n.setScriptTarget(t.languageVersion),n.setLanguageVariant(t.languageVariant),n.setOnError((e,i,o)=>{const a=n.getTokenEnd();if(3===e.category&&r&&a===r.start&&i===r.length){const n=createDetachedDiagnostic(t.fileName,t.text,a,i,e,o);addRelatedInfo(r,n)}else r&&a===r.start||(r=createFileDiagnostic(t,a,i,e,o),vi.add(r))}),n.setText(t.text,e.pos,e.end-e.pos);try{return n.scan(),h.assert(14===n.reScanSlashToken(!0),"Expected scanner to rescan RegularExpressionLiteral"),!!r}finally{n.setText(""),n.setOnError(void 0)}}return!1}(e))),$t}function hasDefaultValue(e){return 209===e.kind&&!!e.initializer||304===e.kind&&hasDefaultValue(e.initializer)||305===e.kind&&!!e.objectAssignmentInitializer||227===e.kind&&64===e.operatorToken.kind}function checkArrayLiteral(e,t,n){const r=e.elements,i=r.length,o=[],a=[];pushCachedContextualType(e);const s=isAssignmentTarget(e),c=isConstContext(e),l=getApparentTypeOfContextualType(e,void 0),d=function isSpreadIntoCallOrNew(e){const t=walkUpParenthesizedExpressions(e.parent);return isSpreadElement(t)&&isCallOrNewExpression(t.parent)}(e)||!!l&&someType(l,e=>isTupleLikeType(e)||isGenericMappedType(e)&&!e.nameType&&!!getHomomorphicTypeVariable(e.target||e));let p=!1;for(let c=0;c<i;c++){const i=r[c];if(231===i.kind){x<lt.SpreadElements&&checkExternalEmitHelpers(i,S.downlevelIteration?1536:1024);const e=checkExpression(i.expression,t,n);if(isArrayLikeType(e))o.push(e),a.push(8);else if(s){const t=getIndexTypeOfType(e,Ve)||getIteratedTypeOrElementType(65,e,Me,void 0,!1)||Le;o.push(t),a.push(4)}else o.push(checkIteratedTypeOrElementType(33,e,Me,i.expression)),a.push(4)}else if(L&&233===i.kind)p=!0,o.push(je),a.push(2);else{const r=checkExpressionForMutableLocation(i,t,n);if(o.push(addOptionality(r,!0,p)),a.push(p?2:1),d&&t&&2&t&&!(4&t)&&isContextSensitive(i)){const t=getInferenceContext(e);h.assert(t),addIntraExpressionInferenceSite(t,i,r)}}}return popContextualType(),s?createTupleType(o,a):createArrayLiteralType(n||c||d?createTupleType(o,a,c&&!(l&&someType(l,isMutableArrayLikeType))):createArrayType(o.length?getUnionType(sameMap(o,(e,t)=>8&a[t]?getIndexedAccessTypeOrUndefined(e,Ve)||ke:e),2):k?rt:Re,c))}function createArrayLiteralType(e){if(!(4&getObjectFlags(e)))return e;let t=e.literalType;return t||(t=e.literalType=cloneTypeReference(e),t.objectFlags|=147456),t}function isNumericName(e){switch(e.kind){case 168:return function isNumericComputedName(e){return isTypeAssignableToKind(checkComputedPropertyName(e),296)}(e);case 80:return isNumericLiteralName(e.escapedText);case 9:case 11:return isNumericLiteralName(e.text);default:return!1}}function checkComputedPropertyName(e){const t=getNodeLinks(e.expression);if(!t.resolvedType){if((isTypeLiteralNode(e.parent.parent)||isClassLike(e.parent.parent)||isInterfaceDeclaration(e.parent.parent))&&isBinaryExpression(e.expression)&&103===e.expression.operatorToken.kind&&178!==e.parent.kind&&179!==e.parent.kind)return t.resolvedType=Ie;if(t.resolvedType=checkExpression(e.expression),isPropertyDeclaration(e.parent)&&!hasStaticModifier(e.parent)&&isClassExpression(e.parent.parent)){const t=getEnclosingIterationStatement(getEnclosingBlockScopeContainer(e.parent.parent));t&&(getNodeLinks(t).flags|=4096,getNodeLinks(e).flags|=32768,getNodeLinks(e.parent.parent).flags|=32768)}(98304&t.resolvedType.flags||!isTypeAssignableToKind(t.resolvedType,402665900)&&!isTypeAssignableTo(t.resolvedType,st))&&error2(e,Ot.A_computed_property_name_must_be_of_type_string_number_symbol_or_any)}return t.resolvedType}function isSymbolWithNumericName(e){var t;const n=null==(t=e.declarations)?void 0:t[0];return isNumericLiteralName(e.escapedName)||n&&isNamedDeclaration(n)&&isNumericName(n.name)}function isSymbolWithSymbolName(e){var t;const n=null==(t=e.declarations)?void 0:t[0];return isKnownSymbol(e)||n&&isNamedDeclaration(n)&&isComputedPropertyName(n.name)&&isTypeAssignableToKind(checkComputedPropertyName(n.name),4096)}function isSymbolWithComputedName(e){var t;const n=null==(t=e.declarations)?void 0:t[0];return n&&isNamedDeclaration(n)&&isComputedPropertyName(n.name)}function getObjectLiteralIndexInfo(e,t,n,r){var i;const o=[];let a;for(let e=t;e<n.length;e++){const t=n[e];(r===ze&&!isSymbolWithSymbolName(t)||r===Ve&&isSymbolWithNumericName(t)||r===Ze&&isSymbolWithSymbolName(t))&&(o.push(getTypeOfSymbol(n[e])),isSymbolWithComputedName(n[e])&&(a=append(a,null==(i=n[e].declarations)?void 0:i[0])))}return createIndexInfo(r,o.length?getUnionType(o,2):Me,e,void 0,a)}function getImmediateAliasedSymbol(e){h.assert(!!(2097152&e.flags),"Should only get Alias here.");const t=getSymbolLinks(e);if(!t.immediateTarget){const n=getDeclarationOfAliasSymbol(e);if(!n)return h.fail();t.immediateTarget=getTargetOfAliasDeclaration(n,!0)}return t.immediateTarget}function checkObjectLiteral(e,t=0){const n=isAssignmentTarget(e);!function checkGrammarObjectLiteralExpression(e,t){const n=new Map;for(const r of e.properties){if(306===r.kind){if(t){const e=skipParentheses(r.expression);if(isArrayLiteralExpression(e)||isObjectLiteralExpression(e))return grammarErrorOnNode(r.expression,Ot.A_rest_element_cannot_contain_a_binding_pattern)}continue}const e=r.name;if(168===e.kind&&checkGrammarComputedPropertyName(e),305===r.kind&&!t&&r.objectAssignmentInitializer&&grammarErrorOnNode(r.equalsToken,Ot.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern),81===e.kind&&grammarErrorOnNode(e,Ot.Private_identifiers_are_not_allowed_outside_class_bodies),canHaveModifiers(r)&&r.modifiers)for(const e of r.modifiers)!isModifier(e)||134===e.kind&&175===r.kind||grammarErrorOnNode(e,Ot._0_modifier_cannot_be_used_here,getTextOfNode(e));else if(canHaveIllegalModifiers(r)&&r.modifiers)for(const e of r.modifiers)isModifier(e)&&grammarErrorOnNode(e,Ot._0_modifier_cannot_be_used_here,getTextOfNode(e));let i;switch(r.kind){case 305:case 304:checkGrammarForInvalidExclamationToken(r.exclamationToken,Ot.A_definite_assignment_assertion_is_not_permitted_in_this_context),checkGrammarForInvalidQuestionMark(r.questionToken,Ot.An_object_member_cannot_be_declared_optional),9===e.kind&&checkGrammarNumericLiteral(e),10===e.kind&&addErrorOrSuggestion(!0,createDiagnosticForNode(e,Ot.A_bigint_literal_cannot_be_used_as_a_property_name)),i=4;break;case 175:i=8;break;case 178:i=1;break;case 179:i=2;break;default:h.assertNever(r,"Unexpected syntax kind:"+r.kind)}if(!t){const t=getEffectivePropertyNameForPropertyNameNode(e);if(void 0===t)continue;const r=n.get(t);if(r)if(8&i&&8&r)grammarErrorOnNode(e,Ot.Duplicate_identifier_0,getTextOfNode(e));else if(4&i&&4&r)grammarErrorOnNode(e,Ot.An_object_literal_cannot_have_multiple_properties_with_the_same_name,getTextOfNode(e));else{if(!(3&i&&3&r))return grammarErrorOnNode(e,Ot.An_object_literal_cannot_have_property_and_accessor_with_the_same_name);if(3===r||i===r)return grammarErrorOnNode(e,Ot.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);n.set(t,i|r)}else n.set(t,i)}}}(e,n);const r=k?createSymbolTable():void 0;let i=createSymbolTable(),o=[],a=ht;pushCachedContextualType(e);const s=getApparentTypeOfContextualType(e,void 0),c=s&&s.pattern&&(207===s.pattern.kind||211===s.pattern.kind),d=isConstContext(e),p=d?8:0,u=isInJSFile(e)&&!isInJsonFile(e),m=u?getJSDocEnumTag(e):void 0,_=!s&&u&&!m;let f=8192,g=!1,y=!1,T=!1,S=!1;for(const t of e.properties)t.name&&isComputedPropertyName(t.name)&&checkComputedPropertyName(t.name);let v=0;for(const l of e.properties){let _=getSymbolOfDeclaration(l);const b=l.name&&168===l.name.kind?checkComputedPropertyName(l.name):void 0;if(304===l.kind||305===l.kind||isObjectLiteralMethod(l)){let i=304===l.kind?checkPropertyAssignment(l,t):305===l.kind?checkExpressionForMutableLocation(!n&&l.objectAssignmentInitializer?l.objectAssignmentInitializer:l.name,t):checkObjectLiteralMethod(l,t);if(u){const e=getTypeForDeclarationFromJSDocComment(l);e?(checkTypeAssignableTo(i,e,l),i=e):m&&m.typeExpression&&checkTypeAssignableTo(i,getTypeFromTypeNode(m.typeExpression),l)}f|=458752&getObjectFlags(i);const o=b&&isTypeUsableAsPropertyName(b)?b:void 0,a=o?createSymbol(4|_.flags,getPropertyNameFromType(o),4096|p):createSymbol(4|_.flags,_.escapedName,p);if(o&&(a.links.nameType=o),n&&hasDefaultValue(l))a.flags|=16777216;else if(c&&!(512&getObjectFlags(s))){const e=getPropertyOfType(s,_.escapedName);e?a.flags|=16777216&e.flags:getIndexInfoOfType(s,ze)||error2(l.name,Ot.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,symbolToString(_),typeToString(s))}if(a.declarations=_.declarations,a.parent=_.parent,_.valueDeclaration&&(a.valueDeclaration=_.valueDeclaration),a.links.type=i,a.links.target=_,_=a,null==r||r.set(a.escapedName,a),s&&2&t&&!(4&t)&&(304===l.kind||175===l.kind)&&isContextSensitive(l)){const t=getInferenceContext(e);h.assert(t);addIntraExpressionInferenceSite(t,304===l.kind?l.initializer:l,i)}}else{if(306===l.kind){x<lt.ObjectAssign&&checkExternalEmitHelpers(l,2),o.length>0&&(a=getSpreadType(a,createObjectLiteralType(),e.symbol,f,d),o=[],i=createSymbolTable(),y=!1,T=!1,S=!1);const n=getReducedType(checkExpression(l.expression,2&t));if(isValidSpreadType(n)){const t=tryMergeUnionOfObjectTypeAndEmptyObject(n,d);if(r&&checkSpreadPropOverrides(t,r,l),v=o.length,isErrorType(a))continue;a=getSpreadType(a,t,e.symbol,f,d)}else error2(l,Ot.Spread_types_may_only_be_created_from_object_types),a=Ie;continue}h.assert(178===l.kind||179===l.kind),checkNodeDeferred(l)}!b||8576&b.flags?i.set(_.escapedName,_):isTypeAssignableTo(b,st)&&(isTypeAssignableTo(b,Ve)?T=!0:isTypeAssignableTo(b,Ze)?S=!0:y=!0,n&&(g=!0)),o.push(_)}return popContextualType(),isErrorType(a)?Ie:a!==ht?(o.length>0&&(a=getSpreadType(a,createObjectLiteralType(),e.symbol,f,d),o=[],i=createSymbolTable(),y=!1,T=!1),mapType(a,e=>e===ht?createObjectLiteralType():e)):createObjectLiteralType();function createObjectLiteralType(){const t=[],r=isConstContext(e);y&&t.push(getObjectLiteralIndexInfo(r,v,o,ze)),T&&t.push(getObjectLiteralIndexInfo(r,v,o,Ve)),S&&t.push(getObjectLiteralIndexInfo(r,v,o,Ze));const a=createAnonymousType(e.symbol,i,l,l,t);return a.objectFlags|=131200|f,_&&(a.objectFlags|=4096),g&&(a.objectFlags|=512),n&&(a.pattern=e),a}}function isValidSpreadType(e){const t=removeDefinitelyFalsyTypes(mapType(e,getBaseConstraintOrType));return!!(126615553&t.flags||3145728&t.flags&&every(t.types,isValidSpreadType))}function isHyphenatedJsxName(e){return e.includes("-")}function isJsxIntrinsicTagName(e){return isIdentifier(e)&&isIntrinsicJsxName(e.escapedText)||isJsxNamespacedName(e)}function checkJsxAttribute(e,t){return e.initializer?checkExpressionForMutableLocation(e.initializer,t):Ge}function createJsxAttributesTypeFromAttributesProperty(e,t=0){const n=k?createSymbolTable():void 0;let r,i=createSymbolTable(),o=Tt,a=!1,s=!1,c=2048;const d=getJsxElementChildrenPropertyName(getJsxNamespaceAt(e));let p,u=e;if(!isJsxOpeningFragment(e)){const l=e.attributes;p=l.symbol,u=l;const m=getContextualType2(l,0);for(const e of l.properties){const p=e.symbol;if(isJsxAttribute(e)){const r=checkJsxAttribute(e,t);c|=458752&getObjectFlags(r);const o=createSymbol(4|p.flags,p.escapedName);if(o.declarations=p.declarations,o.parent=p.parent,p.valueDeclaration&&(o.valueDeclaration=p.valueDeclaration),o.links.type=r,o.links.target=p,i.set(o.escapedName,o),null==n||n.set(o.escapedName,o),getEscapedTextOfJsxAttributeName(e.name)===d&&(s=!0),m){const t=getPropertyOfType(m,p.escapedName);t&&t.declarations&&isDeprecatedSymbol(t)&&isIdentifier(e.name)&&addDeprecatedSuggestion(e.name,t.declarations,e.name.escapedText)}if(m&&2&t&&!(4&t)&&isContextSensitive(e)){const t=getInferenceContext(l);h.assert(t);addIntraExpressionInferenceSite(t,e.initializer.expression,r)}}else{h.assert(294===e.kind),i.size>0&&(o=getSpreadType(o,createJsxAttributesTypeHelper(),l.symbol,c,!1),i=createSymbolTable());const s=getReducedType(checkExpression(e.expression,2&t));isTypeAny(s)&&(a=!0),isValidSpreadType(s)?(o=getSpreadType(o,s,l.symbol,c,!1),n&&checkSpreadPropOverrides(s,n,e)):(error2(e.expression,Ot.Spread_types_may_only_be_created_from_object_types),r=r?getIntersectionType([r,s]):s)}}a||i.size>0&&(o=getSpreadType(o,createJsxAttributesTypeHelper(),l.symbol,c,!1))}const m=e.parent;if((isJsxElement(m)&&m.openingElement===e||isJsxFragment(m)&&m.openingFragment===e)&&getSemanticJsxChildren(m.children).length>0){const n=checkJsxChildren(m,t);if(!a&&d&&""!==d){s&&error2(u,Ot._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,unescapeLeadingUnderscores(d));const t=isJsxOpeningElement(e)?getApparentTypeOfContextualType(e.attributes,void 0):void 0,r=t&&getTypeOfPropertyOfContextualType(t,d),i=createSymbol(4,d);i.links.type=1===n.length?n[0]:r&&someType(r,isTupleLikeType)?createTupleType(n):createArrayType(getUnionType(n)),i.valueDeclaration=Wr.createPropertySignature(void 0,unescapeLeadingUnderscores(d),void 0,void 0),setParent(i.valueDeclaration,u),i.valueDeclaration.symbol=i;const a=createSymbolTable();a.set(d,i),o=getSpreadType(o,createAnonymousType(p,a,l,l,l),p,c,!1)}}return a?ke:r&&o!==Tt?getIntersectionType([r,o]):r||(o===Tt?createJsxAttributesTypeHelper():o);function createJsxAttributesTypeHelper(){return c|=8192,function createJsxAttributesType(e,t,n){const r=createAnonymousType(t,n,l,l,l);return r.objectFlags|=139392|e,r}(c,p,i)}}function checkJsxChildren(e,t){const n=[];for(const r of e.children)if(12===r.kind)r.containsOnlyTriviaWhiteSpaces||n.push(ze);else{if(295===r.kind&&!r.expression)continue;n.push(checkExpressionForMutableLocation(r,t))}return n}function checkSpreadPropOverrides(e,t,n){for(const r of getPropertiesOfType(e))if(!(16777216&r.flags)){const e=t.get(r.escapedName);if(e){addRelatedInfo(error2(e.valueDeclaration,Ot._0_is_specified_more_than_once_so_this_usage_will_be_overwritten,unescapeLeadingUnderscores(e.escapedName)),createDiagnosticForNode(n,Ot.This_spread_always_overwrites_this_property))}}}function getJsxType(e,t){const n=getJsxNamespaceAt(t),r=n&&getExportsOfSymbol(n),i=r&&getSymbol2(r,e,788968);return i?getDeclaredTypeOfSymbol(i):Ie}function getIntrinsicTagSymbol(e){const t=getNodeLinks(e);if(!t.resolvedSymbol){const n=getJsxType(qo.IntrinsicElements,e);if(isErrorType(n))return A&&error2(e,Ot.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,unescapeLeadingUnderscores(qo.IntrinsicElements)),t.resolvedSymbol=ve;{if(!isIdentifier(e.tagName)&&!isJsxNamespacedName(e.tagName))return h.fail();const r=isJsxNamespacedName(e.tagName)?getEscapedTextOfJsxNamespacedName(e.tagName):e.tagName.escapedText,i=getPropertyOfType(n,r);if(i)return t.jsxFlags|=1,t.resolvedSymbol=i;const o=getApplicableIndexSymbol(n,getStringLiteralType(unescapeLeadingUnderscores(r)));return o?(t.jsxFlags|=2,t.resolvedSymbol=o):getTypeOfPropertyOrIndexSignatureOfType(n,r)?(t.jsxFlags|=2,t.resolvedSymbol=n.symbol):(error2(e,Ot.Property_0_does_not_exist_on_type_1,intrinsicTagNameToString(e.tagName),"JSX."+qo.IntrinsicElements),t.resolvedSymbol=ve)}}return t.resolvedSymbol}function getJsxNamespaceContainerForImplicitImport(e){const t=e&&getSourceFileOfNode(e),n=t&&getNodeLinks(t);if(n&&!1===n.jsxImplicitImportContainer)return;if(n&&n.jsxImplicitImportContainer)return n.jsxImplicitImportContainer;const r=getJSXRuntimeImport(getJSXImplicitImportBase(S,t),S);if(!r)return;const i=1===qn(S)?Ot.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:Ot.This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed,o=function getJSXRuntimeImportSpecifier(e,t){const n=S.importHelpers?1:0,r=null==e?void 0:e.imports[n];r&&h.assert(nodeIsSynthesized(r)&&r.text===t,`Expected sourceFile.imports[${n}] to be the synthesized JSX runtime import`);return r}(t,r),a=resolveExternalModule(o||e,r,i,e),s=a&&a!==ve?getMergedSymbol(resolveSymbol(a)):void 0;return n&&(n.jsxImplicitImportContainer=s||!1),s}function getJsxNamespaceAt(e){const t=e&&getNodeLinks(e);if(t&&t.jsxNamespace)return t.jsxNamespace;if(!t||!1!==t.jsxNamespace){let n=getJsxNamespaceContainerForImplicitImport(e);if(!n||n===ve){const t=getJsxNamespace(e);n=te(e,t,1920,void 0,!1)}if(n){const e=resolveSymbol(getSymbol2(getExportsOfSymbol(resolveSymbol(n)),qo.JSX,1920));if(e&&e!==ve)return t&&(t.jsxNamespace=e),e}t&&(t.jsxNamespace=!1)}const n=resolveSymbol(getGlobalSymbol(qo.JSX,1920,void 0));return n!==ve?n:void 0}function getNameFromJsxElementAttributesContainer(e,t){const n=t&&getSymbol2(t.exports,e,788968),r=n&&getDeclaredTypeOfSymbol(n),i=r&&getPropertiesOfType(r);if(i){if(0===i.length)return"";if(1===i.length)return i[0].escapedName;i.length>1&&n.declarations&&error2(n.declarations[0],Ot.The_global_type_JSX_0_may_not_have_more_than_one_property,unescapeLeadingUnderscores(e))}}function getJsxElementChildrenPropertyName(e){return 4===S.jsx||5===S.jsx?"children":getNameFromJsxElementAttributesContainer(qo.ElementChildrenAttributeNameContainer,e)}function getUninstantiatedJsxSignaturesOfType(e,t){if(4&e.flags)return[_r];if(128&e.flags){const n=getIntrinsicAttributesTypeFromStringLiteralType(e,t);if(n){return[createSignatureForJSXIntrinsic(t,n)]}return error2(t,Ot.Property_0_does_not_exist_on_type_1,e.value,"JSX."+qo.IntrinsicElements),l}const n=getApparentType(e);let r=getSignaturesOfType(n,1);return 0===r.length&&(r=getSignaturesOfType(n,0)),0===r.length&&1048576&n.flags&&(r=getUnionSignatures(map(n.types,e=>getUninstantiatedJsxSignaturesOfType(e,t)))),r}function getIntrinsicAttributesTypeFromStringLiteralType(e,t){const n=getJsxType(qo.IntrinsicElements,t);if(!isErrorType(n)){const t=getPropertyOfType(n,escapeLeadingUnderscores(e.value));if(t)return getTypeOfSymbol(t);const r=getIndexTypeOfType(n,ze);return r||void 0}return ke}function getIntrinsicAttributesTypeFromJsxOpeningLikeElement(e){var t;h.assert(isJsxIntrinsicTagName(e.tagName));const n=getNodeLinks(e);if(!n.resolvedJsxElementAttributesType){const r=getIntrinsicTagSymbol(e);if(1&n.jsxFlags)return n.resolvedJsxElementAttributesType=getTypeOfSymbol(r)||Ie;if(2&n.jsxFlags){const r=isJsxNamespacedName(e.tagName)?getEscapedTextOfJsxNamespacedName(e.tagName):e.tagName.escapedText;return n.resolvedJsxElementAttributesType=(null==(t=getApplicableIndexInfoForName(getJsxType(qo.IntrinsicElements,e),r))?void 0:t.type)||Ie}return n.resolvedJsxElementAttributesType=Ie}return n.resolvedJsxElementAttributesType}function getJsxElementClassTypeAt(e){const t=getJsxType(qo.ElementClass,e);if(!isErrorType(t))return t}function getJsxElementTypeAt(e){return getJsxType(qo.Element,e)}function getJsxStatelessElementTypeAt(e){const t=getJsxElementTypeAt(e);if(t)return getUnionType([t,We])}function getJsxElementTypeTypeAt(e){const t=getJsxNamespaceAt(e);if(!t)return;const n=function getJsxElementTypeSymbol(e){return e&&getSymbol2(e.exports,qo.ElementType,788968)}(t);if(!n)return;const r=instantiateAliasOrInterfaceWithDefaults(n,isInJSFile(e));return r&&!isErrorType(r)?r:void 0}function instantiateAliasOrInterfaceWithDefaults(e,t,...n){const r=getDeclaredTypeOfSymbol(e);if(524288&e.flags){const i=getSymbolLinks(e).typeParameters;if(length(i)>=n.length){const o=fillMissingTypeArguments(n,i,n.length,t);return 0===length(o)?r:getTypeAliasInstantiation(e,o)}}if(length(r.typeParameters)>=n.length){return createTypeReference(r,fillMissingTypeArguments(n,r.typeParameters,n.length,t))}}function checkJsxOpeningLikeElementOrOpeningFragment(e){const t=isJsxOpeningLikeElement(e);t&&function checkGrammarJsxElement(e){(function checkGrammarJsxName(e){if(isPropertyAccessExpression(e)&&isJsxNamespacedName(e.expression))return grammarErrorOnNode(e.expression,Ot.JSX_property_access_expressions_cannot_include_JSX_namespace_names);if(isJsxNamespacedName(e)&&getJSXTransformEnabled(S)&&!isIntrinsicJsxName(e.namespace.escapedText))return grammarErrorOnNode(e,Ot.React_components_cannot_include_JSX_namespace_names)})(e.tagName),checkGrammarTypeArguments(e,e.typeArguments);const t=new Map;for(const n of e.attributes.properties){if(294===n.kind)continue;const{name:e,initializer:r}=n,i=getEscapedTextOfJsxAttributeName(e);if(t.get(i))return grammarErrorOnNode(e,Ot.JSX_elements_cannot_have_multiple_attributes_with_the_same_name);if(t.set(i,!0),r&&295===r.kind&&!r.expression)return grammarErrorOnNode(r,Ot.JSX_attributes_must_only_be_assigned_a_non_empty_expression)}}(e),function checkJsxPreconditions(e){0===(S.jsx||0)&&error2(e,Ot.Cannot_use_JSX_unless_the_jsx_flag_is_provided),void 0===getJsxElementTypeAt(e)&&A&&error2(e,Ot.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}(e),markJsxAliasReferenced(e);const n=getResolvedSignature(e);if(checkDeprecatedSignature(n,e),t){const t=e,r=getJsxElementTypeTypeAt(t);if(void 0!==r){const e=t.tagName;checkTypeRelatedTo(isJsxIntrinsicTagName(e)?getStringLiteralType(intrinsicTagNameToString(e)):checkExpression(e),r,ki,e,Ot.Its_type_0_is_not_a_valid_JSX_element_type,()=>{const t=getTextOfNode(e);return chainDiagnosticMessages(void 0,Ot._0_cannot_be_used_as_a_JSX_component,t)})}else!function checkJsxReturnAssignableToAppropriateBound(e,t,n){if(1===e){const e=getJsxStatelessElementTypeAt(n);e&&checkTypeRelatedTo(t,e,ki,n.tagName,Ot.Its_return_type_0_is_not_a_valid_JSX_element,generateInitialErrorChain)}else if(0===e){const e=getJsxElementClassTypeAt(n);e&&checkTypeRelatedTo(t,e,ki,n.tagName,Ot.Its_instance_type_0_is_not_a_valid_JSX_element,generateInitialErrorChain)}else{const e=getJsxStatelessElementTypeAt(n),r=getJsxElementClassTypeAt(n);if(!e||!r)return;checkTypeRelatedTo(t,getUnionType([e,r]),ki,n.tagName,Ot.Its_element_type_0_is_not_a_valid_JSX_element,generateInitialErrorChain)}function generateInitialErrorChain(){const e=getTextOfNode(n.tagName);return chainDiagnosticMessages(void 0,Ot._0_cannot_be_used_as_a_JSX_component,e)}}(getJsxReferenceKind(t),getReturnTypeOfSignature(n),t)}}function isKnownProperty(e,t,n){if(524288&e.flags&&(getPropertyOfObjectType(e,t)||getApplicableIndexInfoForName(e,t)||isLateBoundName(t)&&getIndexInfoOfType(e,ze)||n&&isHyphenatedJsxName(t)))return!0;if(33554432&e.flags)return isKnownProperty(e.baseType,t,n);if(3145728&e.flags&&isExcessPropertyCheckTarget(e))for(const r of e.types)if(isKnownProperty(r,t,n))return!0;return!1}function isExcessPropertyCheckTarget(e){return!!(524288&e.flags&&!(512&getObjectFlags(e))||67108864&e.flags||33554432&e.flags&&isExcessPropertyCheckTarget(e.baseType)||1048576&e.flags&&some(e.types,isExcessPropertyCheckTarget)||2097152&e.flags&&every(e.types,isExcessPropertyCheckTarget))}function checkJsxExpression(e,t){if(function checkGrammarJsxExpression(e){if(e.expression&&isCommaSequence(e.expression))return grammarErrorOnNode(e.expression,Ot.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array)}(e),e.expression){const n=checkExpression(e.expression,t);return e.dotDotDotToken&&n!==ke&&!isArrayType(n)&&error2(e,Ot.JSX_spread_child_must_be_an_array_type),n}return Ie}function getDeclarationNodeFlagsFromSymbol(e){return e.valueDeclaration?getCombinedNodeFlagsCached(e.valueDeclaration):0}function isPrototypeProperty(e){if(8192&e.flags||4&getCheckFlags(e))return!0;if(isInJSFile(e.valueDeclaration)){const t=e.valueDeclaration.parent;return t&&isBinaryExpression(t)&&3===getAssignmentDeclarationKind(t)}}function checkPropertyAccessibility(e,t,n,r,i,o=!0){return checkPropertyAccessibilityAtLocation(e,t,n,r,i,o?167===e.kind?e.right:206===e.kind?e:209===e.kind&&e.propertyName?e.propertyName:e.name:void 0)}function checkPropertyAccessibilityAtLocation(e,t,n,r,i,o){var a;const s=getDeclarationModifierFlagsFromSymbol(i,n);if(t){if(x<2&&symbolHasNonMethodDeclaration(i))return o&&error2(o,Ot.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword),!1;if(64&s)return o&&error2(o,Ot.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression,symbolToString(i),typeToString(getDeclaringClass(i))),!1;if(!(256&s)&&(null==(a=i.declarations)?void 0:a.some(isClassInstanceProperty)))return o&&error2(o,Ot.Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super,symbolToString(i)),!1}if(64&s&&symbolHasNonMethodDeclaration(i)&&(isThisProperty(e)||isThisInitializedObjectBindingExpression(e)||isObjectBindingPattern(e.parent)&&isThisInitializedDeclaration(e.parent.parent))){const t=getClassLikeDeclarationOfSymbol(getParentOfSymbol(i));if(t&&function isNodeUsedDuringClassInitialization(e){return!!findAncestor(e,e=>!!(isConstructorDeclaration(e)&&nodeIsPresent(e.body)||isPropertyDeclaration(e))||!(!isClassLike(e)&&!isFunctionLikeDeclaration(e))&&"quit")}(e))return o&&error2(o,Ot.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor,symbolToString(i),getTextOfIdentifierOrLiteral(t.name)),!1}if(!(6&s))return!0;if(2&s){return!!isNodeWithinClass(e,getClassLikeDeclarationOfSymbol(getParentOfSymbol(i)))||(o&&error2(o,Ot.Property_0_is_private_and_only_accessible_within_class_1,symbolToString(i),typeToString(getDeclaringClass(i))),!1)}if(t)return!0;let c=forEachEnclosingClass(e,e=>isClassDerivedFromDeclaringClasses(getDeclaredTypeOfSymbol(getSymbolOfDeclaration(e)),i,n));return!c&&(c=function getEnclosingClassFromThisParameter(e){const t=function getThisParameterFromNodeContext(e){const t=getThisContainer(e,!1,!1);return t&&isFunctionLike(t)?getThisParameter(t):void 0}(e);let n=(null==t?void 0:t.type)&&getTypeFromTypeNode(t.type);if(n)262144&n.flags&&(n=getConstraintOfTypeParameter(n));else{const t=getThisContainer(e,!1,!1);isFunctionLike(t)&&(n=getContextualThisParameterType(t))}if(n&&7&getObjectFlags(n))return getTargetType(n);return}(e),c=c&&isClassDerivedFromDeclaringClasses(c,i,n),256&s||!c)?(o&&error2(o,Ot.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,symbolToString(i),typeToString(getDeclaringClass(i)||r)),!1):!!(256&s)||(262144&r.flags&&(r=r.isThisType?getConstraintOfTypeParameter(r):getBaseConstraintOfType(r)),!(!r||!hasBaseType(r,c))||(o&&error2(o,Ot.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2,symbolToString(i),typeToString(c),typeToString(r)),!1))}function symbolHasNonMethodDeclaration(e){return!!forEachProperty2(e,e=>!(8192&e.flags))}function checkNonNullExpression(e){return checkNonNullType(checkExpression(e),e)}function isNullableType(e){return hasTypeFacts(e,50331648)}function getNonNullableTypeIfNeeded(e){return isNullableType(e)?getNonNullableType(e):e}function reportObjectPossiblyNullOrUndefinedError(e,t){const n=isEntityNameExpression(e)?entityNameToString(e):void 0;if(106!==e.kind)if(void 0!==n&&n.length<100){if(isIdentifier(e)&&"undefined"===n)return void error2(e,Ot.The_value_0_cannot_be_used_here,"undefined");error2(e,16777216&t?33554432&t?Ot._0_is_possibly_null_or_undefined:Ot._0_is_possibly_undefined:Ot._0_is_possibly_null,n)}else error2(e,16777216&t?33554432&t?Ot.Object_is_possibly_null_or_undefined:Ot.Object_is_possibly_undefined:Ot.Object_is_possibly_null);else error2(e,Ot.The_value_0_cannot_be_used_here,"null")}function reportCannotInvokePossiblyNullOrUndefinedError(e,t){error2(e,16777216&t?33554432&t?Ot.Cannot_invoke_an_object_which_is_possibly_null_or_undefined:Ot.Cannot_invoke_an_object_which_is_possibly_undefined:Ot.Cannot_invoke_an_object_which_is_possibly_null)}function checkNonNullTypeWithReporter(e,t,n){if(k&&2&e.flags){if(isEntityNameExpression(t)){const e=entityNameToString(t);if(e.length<100)return error2(t,Ot._0_is_of_type_unknown,e),Ie}return error2(t,Ot.Object_is_of_type_unknown),Ie}const r=getTypeFacts(e,50331648);if(50331648&r){n(t,r);const i=getNonNullableType(e);return 229376&i.flags?Ie:i}return e}function checkNonNullType(e,t){return checkNonNullTypeWithReporter(e,t,reportObjectPossiblyNullOrUndefinedError)}function checkNonNullNonVoidType(e,t){const n=checkNonNullType(e,t);if(16384&n.flags){if(isEntityNameExpression(t)){const e=entityNameToString(t);if(isIdentifier(t)&&"undefined"===e)return error2(t,Ot.The_value_0_cannot_be_used_here,e),n;if(e.length<100)return error2(t,Ot._0_is_possibly_undefined,e),n}error2(t,Ot.Object_is_possibly_undefined)}return n}function checkPropertyAccessExpression(e,t,n){return 64&e.flags?function checkPropertyAccessChain(e,t){const n=checkExpression(e.expression),r=getOptionalExpressionType(n,e.expression);return propagateOptionalTypeMarker(checkPropertyAccessExpressionOrQualifiedName(e,e.expression,checkNonNullType(r,e.expression),e.name,t),e,r!==n)}(e,t):checkPropertyAccessExpressionOrQualifiedName(e,e.expression,checkNonNullExpression(e.expression),e.name,t,n)}function checkQualifiedName(e,t){const n=isPartOfTypeQuery(e)&&isThisIdentifier(e.left)?checkNonNullType(checkThisExpression(e.left),e.left):checkNonNullExpression(e.left);return checkPropertyAccessExpressionOrQualifiedName(e,e.left,n,e.right,t)}function isMethodAccessForCall(e){for(;218===e.parent.kind;)e=e.parent;return isCallOrNewExpression(e.parent)&&e.parent.expression===e}function lookupSymbolForPrivateIdentifierDeclaration(e,t){for(let n=getContainingClassExcludingClassDecorators(t);n;n=getContainingClass(n)){const{symbol:t}=n,r=getSymbolNameForPrivateIdentifier(t,e),i=t.members&&t.members.get(r)||t.exports&&t.exports.get(r);if(i)return i}}function checkPrivateIdentifierExpression(e){!function checkGrammarPrivateIdentifierExpression(e){if(!getContainingClass(e))return grammarErrorOnNode(e,Ot.Private_identifiers_are_not_allowed_outside_class_bodies);if(!isForInStatement(e.parent)){if(!isExpressionNode(e))return grammarErrorOnNode(e,Ot.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression);const t=isBinaryExpression(e.parent)&&103===e.parent.operatorToken.kind;if(!getSymbolForPrivateIdentifierExpression(e)&&!t)return grammarErrorOnNode(e,Ot.Cannot_find_name_0,idText(e))}return!1}(e);const t=getSymbolForPrivateIdentifierExpression(e);return t&&markPropertyAsReferenced(t,void 0,!1),ke}function getSymbolForPrivateIdentifierExpression(e){if(!isExpressionNode(e))return;const t=getNodeLinks(e);return void 0===t.resolvedSymbol&&(t.resolvedSymbol=lookupSymbolForPrivateIdentifierDeclaration(e.escapedText,e)),t.resolvedSymbol}function getPrivateIdentifierPropertyOfType(e,t){return getPropertyOfType(e,t.escapedName)}function isThisPropertyAccessInConstructor(e,t){return(isConstructorDeclaredProperty(t)||isThisProperty(e)&&isAutoTypedProperty(t))&&getThisContainer(e,!0,!1)===getDeclaringConstructor(t)}function checkPropertyAccessExpressionOrQualifiedName(e,t,n,r,i,o){const a=getNodeLinks(t).resolvedSymbol,s=getAssignmentTargetKind(e),c=getApparentType(0!==s||isMethodAccessForCall(e)?getWidenedType(n):n),l=isTypeAny(c)||c===nt;let d,p;if(isPrivateIdentifier(r)){(x<lt.PrivateNamesAndClassStaticBlocks||x<lt.ClassAndClassElementDecorators||!C)&&(0!==s&&checkExternalEmitHelpers(e,1048576),1!==s&&checkExternalEmitHelpers(e,524288));const t=lookupSymbolForPrivateIdentifierDeclaration(r.escapedText,r);if(s&&t&&t.valueDeclaration&&isMethodDeclaration(t.valueDeclaration)&&grammarErrorOnNode(r,Ot.Cannot_assign_to_private_method_0_Private_methods_are_not_writable,idText(r)),l){if(t)return isErrorType(c)?Ie:c;if(void 0===getContainingClassExcludingClassDecorators(r))return grammarErrorOnNode(r,Ot.Private_identifiers_are_not_allowed_outside_class_bodies),ke}if(d=t&&getPrivateIdentifierPropertyOfType(n,t),void 0===d){if(function checkPrivateIdentifierPropertyAccess(e,t,n){let r;const i=getPropertiesOfType(e);i&&forEach(i,e=>{const n=e.valueDeclaration;if(n&&isNamedDeclaration(n)&&isPrivateIdentifier(n.name)&&n.name.escapedText===t.escapedText)return r=e,!0});const o=diagnosticName(t);if(r){const i=h.checkDefined(r.valueDeclaration),a=h.checkDefined(getContainingClass(i));if(null==n?void 0:n.valueDeclaration){const r=n.valueDeclaration,s=getContainingClass(r);if(h.assert(!!s),findAncestor(s,e=>a===e))return addRelatedInfo(error2(t,Ot.The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling,o,typeToString(e)),createDiagnosticForNode(r,Ot.The_shadowing_declaration_of_0_is_defined_here,o),createDiagnosticForNode(i,Ot.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here,o)),!0}return error2(t,Ot.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier,o,diagnosticName(a.name||$o)),!0}return!1}(n,r,t))return Ie;const e=getContainingClassExcludingClassDecorators(r);e&&isPlainJsFile(getSourceFileOfNode(e),S.checkJs)&&grammarErrorOnNode(r,Ot.Private_field_0_must_be_declared_in_an_enclosing_class,idText(r))}else{65536&d.flags&&!(32768&d.flags)&&1!==s&&error2(e,Ot.Private_accessor_was_defined_without_a_getter)}}else{if(l)return isIdentifier(t)&&a&&markLinkedReferences(e,2,void 0,n),isErrorType(c)?Ie:c;d=getPropertyOfType(c,r.escapedText,isConstEnumObjectType(c),167===e.kind)}if(markLinkedReferences(e,2,d,n),d){const n=resolveAliasWithDeprecationCheck(d,r);if(isDeprecatedSymbol(n)&&isUncalledFunctionReference(e,n)&&n.declarations&&addDeprecatedSuggestion(r,n.declarations,r.escapedText),function checkPropertyNotUsedBeforeDeclaration(e,t,n){const{valueDeclaration:r}=e;if(!r||getSourceFileOfNode(t).isDeclarationFile)return;let i;const o=idText(n);!isInPropertyInitializerOrClassStaticBlock(t)||function isOptionalPropertyDeclaration(e){return isPropertyDeclaration(e)&&!hasAccessorModifier(e)&&e.questionToken}(r)||isAccessExpression(t)&&isAccessExpression(t.expression)||isBlockScopedNameDeclaredBeforeUse(r,n)||isMethodDeclaration(r)&&256&getCombinedModifierFlagsCached(r)||!C&&function isPropertyDeclaredInAncestorClass(e){if(!(32&e.parent.flags))return!1;let t=getTypeOfSymbol(e.parent);for(;;){if(t=t.symbol&&getSuperClass(t),!t)return!1;const n=getPropertyOfType(t,e.escapedName);if(n&&n.valueDeclaration)return!0}}(e)?264!==r.kind||184===t.parent.kind||33554432&r.flags||isBlockScopedNameDeclaredBeforeUse(r,n)||(i=error2(n,Ot.Class_0_used_before_its_declaration,o)):i=error2(n,Ot.Property_0_is_used_before_its_initialization,o);i&&addRelatedInfo(i,createDiagnosticForNode(r,Ot._0_is_declared_here,o))}(d,e,r),markPropertyAsReferenced(d,e,isSelfTypeAccess(t,a)),getNodeLinks(e).resolvedSymbol=d,checkPropertyAccessibility(e,108===t.kind,isWriteAccess(e),c,d),isAssignmentToReadonlyEntity(e,d,s))return error2(r,Ot.Cannot_assign_to_0_because_it_is_a_read_only_property,idText(r)),Ie;p=isThisPropertyAccessInConstructor(e,d)?Fe:o||isWriteOnlyAccess(e)?getWriteTypeOfSymbol(d):getTypeOfSymbol(d)}else{const t=isPrivateIdentifier(r)||0!==s&&isGenericObjectType(n)&&!isThisTypeParameter(n)?void 0:getApplicableIndexInfoForName(c,r.escapedText);if(!t||!t.type){const t=isUncheckedJSSuggestion(e,n.symbol,!0);return!t&&isJSLiteralType(n)?ke:n.symbol===q?(q.exports.has(r.escapedText)&&418&q.exports.get(r.escapedText).flags?error2(r,Ot.Property_0_does_not_exist_on_type_1,unescapeLeadingUnderscores(r.escapedText),typeToString(n)):A&&error2(r,Ot.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature,typeToString(n)),ke):(r.escapedText&&!checkAndReportErrorForExtendingInterface(e)&&reportNonexistentProperty(r,isThisTypeParameter(n)?c:n,t),Ie)}t.isReadonly&&(isAssignmentTarget(e)||isDeleteTarget(e))&&error2(e,Ot.Index_signature_in_type_0_only_permits_reading,typeToString(c)),p=t.type,S.noUncheckedIndexedAccess&&1!==getAssignmentTargetKind(e)&&(p=getUnionType([p,Be])),S.noPropertyAccessFromIndexSignature&&isPropertyAccessExpression(e)&&error2(r,Ot.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0,unescapeLeadingUnderscores(r.escapedText)),t.declaration&&isDeprecatedDeclaration2(t.declaration)&&addDeprecatedSuggestion(r,[t.declaration],r.escapedText)}return getFlowTypeOfAccessExpression(e,d,p,r,i)}function isUncheckedJSSuggestion(e,t,n){var r;const i=getSourceFileOfNode(e);if(i&&void 0===S.checkJs&&void 0===i.checkJsDirective&&(1===i.scriptKind||2===i.scriptKind)){const o=forEach(null==t?void 0:t.declarations,getSourceFileOfNode),a=!(null==t?void 0:t.valueDeclaration)||!isClassLike(t.valueDeclaration)||(null==(r=t.valueDeclaration.heritageClauses)?void 0:r.length)||classOrConstructorParameterIsDecorated(!1,t.valueDeclaration);return!(i!==o&&o&&isGlobalSourceFile(o)||n&&t&&32&t.flags&&a||e&&n&&isPropertyAccessExpression(e)&&110===e.expression.kind&&a)}return!1}function getFlowTypeOfAccessExpression(e,t,n,r,i){const o=getAssignmentTargetKind(e);if(1===o)return removeMissingType(n,!!(t&&16777216&t.flags));if(t&&!(98311&t.flags)&&!(8192&t.flags&&1048576&n.flags)&&!isDuplicatedCommonJSExport(t.declarations))return n;if(n===Fe)return getFlowTypeOfProperty(e,t);n=getNarrowableTypeForReference(n,e,i);let a=!1;if(k&&D&&isAccessExpression(e)&&110===e.expression.kind){const n=t&&t.valueDeclaration;if(n&&isPropertyWithoutInitializer(n)&&!isStatic(n)){const t=getControlFlowContainer(e);177!==t.kind||t.parent!==n.parent||33554432&n.flags||(a=!0)}}else k&&t&&t.valueDeclaration&&isPropertyAccessExpression(t.valueDeclaration)&&getAssignmentDeclarationPropertyAccessKind(t.valueDeclaration)&&getControlFlowContainer(e)===getControlFlowContainer(t.valueDeclaration)&&(a=!0);const s=getFlowTypeOfReference(e,n,a?getOptionalType(n):n);return a&&!containsUndefinedType(n)&&containsUndefinedType(s)?(error2(r,Ot.Property_0_is_used_before_being_assigned,symbolToString(t)),n):o?getBaseTypeOfLiteralType(s):s}function isInPropertyInitializerOrClassStaticBlock(e,t){return!!findAncestor(e,e=>{switch(e.kind){case 173:case 176:return!0;case 187:case 288:return"quit";case 220:return!t&&"quit";case 242:return!(!isFunctionLikeDeclaration(e.parent)||220===e.parent.kind)&&"quit";default:return!1}})}function getSuperClass(e){const t=getBaseTypes(e);if(0!==t.length)return getIntersectionType(t)}function reportNonexistentProperty(e,t,n){const r=getNodeLinks(e),i=r.nonExistentPropCheckCache||(r.nonExistentPropCheckCache=new Set),o=`${getTypeId(t)}|${n}`;if(i.has(o))return;let a,s;if(i.add(o),!isPrivateIdentifier(e)&&1048576&t.flags&&!(402784252&t.flags))for(const n of t.types)if(!getPropertyOfType(n,e.escapedText)&&!getApplicableIndexInfoForName(n,e.escapedText)){a=chainDiagnosticMessages(a,Ot.Property_0_does_not_exist_on_type_1,declarationNameToString(e),typeToString(n));break}if(typeHasStaticProperty(e.escapedText,t)){const n=declarationNameToString(e),r=typeToString(t);a=chainDiagnosticMessages(a,Ot.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,n,r,r+"."+n)}else{const r=getPromisedTypeOfPromise(t);if(r&&getPropertyOfType(r,e.escapedText))a=chainDiagnosticMessages(a,Ot.Property_0_does_not_exist_on_type_1,declarationNameToString(e),typeToString(t)),s=createDiagnosticForNode(e,Ot.Did_you_forget_to_use_await);else{const r=declarationNameToString(e),i=typeToString(t),o=function getSuggestedLibForNonExistentProperty(e,t){const n=getApparentType(t).symbol;if(!n)return;const r=symbolName(n),i=un().get(r);if(i)for(const[t,n]of i)if(contains(n,e))return t}(r,t);if(void 0!==o)a=chainDiagnosticMessages(a,Ot.Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later,r,i,o);else{const o=getSuggestedSymbolForNonexistentProperty(e,t);if(void 0!==o){const e=symbolName(o);a=chainDiagnosticMessages(a,n?Ot.Property_0_may_not_exist_on_type_1_Did_you_mean_2:Ot.Property_0_does_not_exist_on_type_1_Did_you_mean_2,r,i,e),s=o.valueDeclaration&&createDiagnosticForNode(o.valueDeclaration,Ot._0_is_declared_here,e)}else{const e=function containerSeemsToBeEmptyDomElement(e){return S.lib&&!S.lib.includes("lib.dom.d.ts")&&function everyContainedType(e,t){return 3145728&e.flags?every(e.types,t):t(e)}(e,e=>e.symbol&&/^(?:EventTarget|Node|(?:HTML[a-zA-Z]*)?Element)$/.test(unescapeLeadingUnderscores(e.symbol.escapedName)))&&isEmptyObjectType(e)}(t)?Ot.Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:Ot.Property_0_does_not_exist_on_type_1;a=chainDiagnosticMessages(elaborateNeverIntersection(a,t),e,r,i)}}}}const c=createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(e),e,a);s&&addRelatedInfo(c,s),addErrorOrSuggestion(!n||a.code!==Ot.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,c)}function typeHasStaticProperty(e,t){const n=t.symbol&&getPropertyOfType(getTypeOfSymbol(t.symbol),e);return void 0!==n&&!!n.valueDeclaration&&isStatic(n.valueDeclaration)}function getSuggestedSymbolForNonexistentClassMember(e,t){return getSpellingSuggestionForName(e,getPropertiesOfType(t),106500)}function getSuggestedSymbolForNonexistentProperty(e,t){let n=getPropertiesOfType(t);if("string"!=typeof e){const r=e.parent;isPropertyAccessExpression(r)&&(n=filter(n,e=>isValidPropertyAccessForCompletions(r,t,e))),e=idText(e)}return getSpellingSuggestionForName(e,n,111551)}function getSuggestedSymbolForNonexistentJSXAttribute(e,t){const n=isString(e)?e:idText(e),r=getPropertiesOfType(t);return("for"===n?find(r,e=>"htmlFor"===symbolName(e)):"class"===n?find(r,e=>"className"===symbolName(e)):void 0)??getSpellingSuggestionForName(n,r,111551)}function getSuggestionForNonexistentProperty(e,t){const n=getSuggestedSymbolForNonexistentProperty(e,t);return n&&symbolName(n)}function getSuggestedSymbolForNonexistentSymbol(e,t,n){h.assert(void 0!==t,"outername should always be defined");return ne(e,t,n,void 0,!1,!1)}function getSuggestedSymbolForNonexistentModule(e,t){return t.exports&&getSpellingSuggestionForName(idText(e),getExportsOfModuleAsArray(t),2623475)}function getSpellingSuggestionForName(e,t,n){return getSpellingSuggestion(e,t,function getCandidateName(e){const t=symbolName(e);if(startsWith(t,'"'))return;if(e.flags&n)return t;if(2097152&e.flags){const r=function tryResolveAlias(e){if(getSymbolLinks(e).aliasTarget!==be)return resolveAlias(e)}(e);if(r&&r.flags&n)return t}return})}function markPropertyAsReferenced(e,t,n){const r=e&&106500&e.flags&&e.valueDeclaration;if(!r)return;const i=hasEffectiveModifier(r,2),o=e.valueDeclaration&&isNamedDeclaration(e.valueDeclaration)&&isPrivateIdentifier(e.valueDeclaration.name);if((i||o)&&(!t||!isWriteOnlyAccess(t)||65536&e.flags)){if(n){const n=findAncestor(t,isFunctionLikeDeclaration);if(n&&n.symbol===e)return}(1&getCheckFlags(e)?getSymbolLinks(e).target:e).isReferenced=-1}}function isSelfTypeAccess(e,t){return 110===e.kind||!!t&&isEntityNameExpression(e)&&t===getResolvedSymbol(getFirstIdentifier(e))}function isValidPropertyAccessForCompletions(e,t,n){return isPropertyAccessible(e,212===e.kind&&108===e.expression.kind,!1,t,n)}function isValidPropertyAccessWithType(e,t,n,r){if(isTypeAny(r))return!0;const i=getPropertyOfType(r,n);return!!i&&isPropertyAccessible(e,t,!1,r,i)}function isPropertyAccessible(e,t,n,r,i){if(isTypeAny(r))return!0;if(i.valueDeclaration&&isPrivateIdentifierClassElementDeclaration(i.valueDeclaration)){const t=getContainingClass(i.valueDeclaration);return!isOptionalChain(e)&&!!findAncestor(e,e=>e===t)}return checkPropertyAccessibilityAtLocation(e,t,n,r,i)}function getForInVariableSymbol(e){const t=e.initializer;if(262===t.kind){const e=t.declarations[0];if(e&&!isBindingPattern(e.name))return getSymbolOfDeclaration(e)}else if(80===t.kind)return getResolvedSymbol(t)}function hasNumericPropertyNames(e){return 1===getIndexInfosOfType(e).length&&!!getIndexInfoOfType(e,Ve)}function checkIndexedAccess(e,t){return 64&e.flags?function checkElementAccessChain(e,t){const n=checkExpression(e.expression),r=getOptionalExpressionType(n,e.expression);return propagateOptionalTypeMarker(checkElementAccessExpression(e,checkNonNullType(r,e.expression),t),e,r!==n)}(e,t):checkElementAccessExpression(e,checkNonNullExpression(e.expression),t)}function checkElementAccessExpression(e,t,n){const r=0!==getAssignmentTargetKind(e)||isMethodAccessForCall(e)?getWidenedType(t):t,i=e.argumentExpression,o=checkExpression(i);if(isErrorType(r)||r===nt)return r;if(isConstEnumObjectType(r)&&!isStringLiteralLike(i))return error2(i,Ot.A_const_enum_member_can_only_be_accessed_using_a_string_literal),Ie;const a=function isForInVariableForNumericPropertyNames(e){const t=skipParentheses(e);if(80===t.kind){const n=getResolvedSymbol(t);if(3&n.flags){let t=e,r=e.parent;for(;r;){if(250===r.kind&&t===r.statement&&getForInVariableSymbol(r)===n&&hasNumericPropertyNames(getTypeOfExpression(r.expression)))return!0;t=r,r=r.parent}}}return!1}(i)?Ve:o,s=getAssignmentTargetKind(e);let c;0===s?c=32:(c=4|(isGenericObjectType(r)&&!isThisTypeParameter(r)?2:0),2===s&&(c|=32));const l=getIndexedAccessTypeOrUndefined(r,a,c,e)||Ie;return checkIndexedAccessIndexType(getFlowTypeOfAccessExpression(e,getNodeLinks(e).resolvedSymbol,l,i,n),e)}function callLikeExpressionMayHaveTypeArguments(e){return isCallOrNewExpression(e)||isTaggedTemplateExpression(e)||isJsxOpeningLikeElement(e)}function resolveUntypedCall(e){return callLikeExpressionMayHaveTypeArguments(e)&&forEach(e.typeArguments,checkSourceElement),216===e.kind?checkExpression(e.template):isJsxOpeningLikeElement(e)?checkExpression(e.attributes):isBinaryExpression(e)?checkExpression(e.left):isCallOrNewExpression(e)&&forEach(e.arguments,e=>{checkExpression(e)}),_r}function resolveErrorCall(e){return resolveUntypedCall(e),fr}function isSpreadArgument(e){return!!e&&(231===e.kind||238===e.kind&&e.isSpread)}function getSpreadArgumentIndex(e){return findIndex(e,isSpreadArgument)}function acceptsVoid(e){return!!(16384&e.flags)}function acceptsVoidUndefinedUnknownOrAny(e){return!!(49155&e.flags)}function hasCorrectArity(e,t,n,r=!1){if(isJsxOpeningFragment(e))return!0;let i,o=!1,a=getParameterCount(n),s=getMinArgumentCount(n);if(216===e.kind)if(i=t.length,229===e.template.kind){const t=last(e.template.templateSpans);o=nodeIsMissing(t.literal)||!!t.literal.isUnterminated}else{const t=e.template;h.assert(15===t.kind),o=!!t.isUnterminated}else if(171===e.kind)i=getDecoratorArgumentCount(e,n);else if(227===e.kind)i=1;else if(isJsxOpeningLikeElement(e)){if(o=e.attributes.end===e.end,o)return!0;i=0===s?t.length:1,a=0===t.length?a:1,s=Math.min(s,1)}else{if(!e.arguments)return h.assert(215===e.kind),0===getMinArgumentCount(n);{i=r?t.length+1:t.length,o=e.arguments.end===e.end;const a=getSpreadArgumentIndex(t);if(a>=0)return a>=getMinArgumentCount(n)&&(hasEffectiveRestParameter(n)||a<getParameterCount(n))}}if(!hasEffectiveRestParameter(n)&&i>a)return!1;if(o||i>=s)return!0;for(let t=i;t<s;t++){if(131072&filterType(getTypeAtPosition(n,t),isInJSFile(e)&&!k?acceptsVoidUndefinedUnknownOrAny:acceptsVoid).flags)return!1}return!0}function hasCorrectTypeArgumentArity(e,t){const n=length(e.typeParameters),r=getMinTypeArgumentCount(e.typeParameters);return!some(t)||t.length>=r&&t.length<=n}function isInstantiatedGenericParameter(e,t){let n;return!!(e.target&&(n=tryGetTypeAtPosition(e.target,t))&&isGenericType(n))}function getSingleCallSignature(e){return getSingleSignature(e,0,!1)}function getSingleCallOrConstructSignature(e){return getSingleSignature(e,0,!1)||getSingleSignature(e,1,!1)}function getSingleSignature(e,t,n){if(524288&e.flags){const r=resolveStructuredTypeMembers(e);if(n||0===r.properties.length&&0===r.indexInfos.length){if(0===t&&1===r.callSignatures.length&&0===r.constructSignatures.length)return r.callSignatures[0];if(1===t&&1===r.constructSignatures.length&&0===r.callSignatures.length)return r.constructSignatures[0]}}}function instantiateSignatureInContextOf(e,t,n,r){const i=createInferenceContext(getTypeParametersForMapper(e),e,0,r),o=getEffectiveRestType(t),a=n&&(o&&262144&o.flags?n.nonFixingMapper:n.mapper);return applyToParameterTypes(a?instantiateSignature(t,a):t,e,(e,t)=>{inferTypes(i.inferences,e,t)}),n||applyToReturnTypes(t,e,(e,t)=>{inferTypes(i.inferences,e,t,128)}),getSignatureInstantiation(e,getInferredTypes(i),isInJSFile(t.declaration))}function getThisArgumentType(e){if(!e)return et;const t=checkExpression(e);return isRightSideOfInstanceofExpression(e)?t:isOptionalChainRoot(e.parent)?getNonNullableType(t):isOptionalChain(e.parent)?removeOptionalTypeMarker(t):t}function inferTypeArguments(e,t,n,r,i){if(isJsxOpeningLikeElement(e))return function inferJsxTypeArguments(e,t,n,r){const i=getEffectiveFirstArgumentForJsxSignature(t,e),o=checkExpressionWithContextualType(e.attributes,i,r,n);return inferTypes(r.inferences,o,i),getInferredTypes(r)}(e,t,r,i);if(171!==e.kind&&227!==e.kind){const n=every(t.typeParameters,e=>!!getDefaultFromTypeParameter(e)),r=getContextualType2(e,n?8:0);if(r){const o=getReturnTypeOfSignature(t);if(couldContainTypeVariables(o)){const a=getInferenceContext(e);if(!(!n&&getContextualType2(e,8)!==r)){const e=instantiateType(r,getMapperFromContext(cloneInferenceContext(a,1))),t=getSingleCallSignature(e),n=t&&t.typeParameters?getOrCreateTypeFromSignature(getSignatureInstantiationWithoutFillingInTypeArguments(t,t.typeParameters)):e;inferTypes(i.inferences,n,o,128)}const s=createInferenceContext(t.typeParameters,t,i.flags),c=instantiateType(r,a&&function createOuterReturnMapper(e){return e.outerReturnMapper??(e.outerReturnMapper=mergeTypeMappers(e.returnMapper,cloneInferenceContext(e).mapper))}(a));inferTypes(s.inferences,c,o),i.returnMapper=some(s.inferences,hasInferenceCandidates)?getMapperFromContext(function cloneInferredPartOfContext(e){const t=filter(e.inferences,hasInferenceCandidates);return t.length?createInferenceContextWorker(map(t,cloneInferenceInfo),e.signature,e.flags,e.compareTypes):void 0}(s)):void 0}}}const o=getNonArrayRestType(t),a=o?Math.min(getParameterCount(t)-1,n.length):n.length;if(o&&262144&o.flags){const e=find(i.inferences,e=>e.typeParameter===o);e&&(e.impliedArity=findIndex(n,isSpreadArgument,a)<0?n.length-a:void 0)}const s=getThisTypeOfSignature(t);if(s&&couldContainTypeVariables(s)){const t=getThisArgumentOfCall(e);inferTypes(i.inferences,getThisArgumentType(t),s)}for(let e=0;e<a;e++){const o=n[e];if(233!==o.kind){const n=getTypeAtPosition(t,e);if(couldContainTypeVariables(n)){const e=checkExpressionWithContextualType(o,n,i,r);inferTypes(i.inferences,e,n)}}}if(o&&couldContainTypeVariables(o)){const e=getSpreadArgumentType(n,a,n.length,o,i,r);inferTypes(i.inferences,e,o)}return getInferredTypes(i)}function getMutableArrayOrTupleType(e){return 1048576&e.flags?mapType(e,getMutableArrayOrTupleType):1&e.flags||isMutableArrayOrTuple(getBaseConstraintOfType(e)||e)?e:isTupleType(e)?createTupleType(getElementTypes(e),e.target.elementFlags,!1,e.target.labeledElementDeclarations):createTupleType([e],[8])}function getSpreadArgumentType(e,t,n,r,i,o){const a=isConstTypeVariable(r);if(t>=n-1){const t=e[n-1];if(isSpreadArgument(t)){const e=238===t.kind?t.type:checkExpressionWithContextualType(t.expression,r,i,o);return isArrayLikeType(e)?getMutableArrayOrTupleType(e):createArrayType(checkIteratedTypeOrElementType(33,e,Me,231===t.kind?t.expression:t),a)}}const s=[],c=[],l=[];for(let d=t;d<n;d++){const p=e[d];if(isSpreadArgument(p)){const e=238===p.kind?p.type:checkExpression(p.expression);isArrayLikeType(e)?(s.push(e),c.push(8)):(s.push(checkIteratedTypeOrElementType(33,e,Me,231===p.kind?p.expression:p)),c.push(4))}else{const e=isTupleType(r)?getContextualTypeForElementExpression(r,d-t,n-t)||Le:getIndexedAccessType(r,getNumberLiteralType(d-t),256),l=checkExpressionWithContextualType(p,e,i,o),u=a||maybeTypeOfKind(e,406978556);s.push(u?getRegularTypeOfLiteralType(l):getWidenedLiteralType(l)),c.push(1)}238===p.kind&&p.tupleNameSource?l.push(p.tupleNameSource):l.push(void 0)}return createTupleType(s,c,a&&!someType(r,isMutableArrayLikeType),l)}function checkTypeArguments(e,t,n,r){const i=isInJSFile(e.declaration),o=e.typeParameters,a=fillMissingTypeArguments(map(t,getTypeFromTypeNode),o,getMinTypeArgumentCount(o),i);let s;for(let e=0;e<t.length;e++){h.assert(void 0!==o[e],"Should not call checkTypeArguments with too many type arguments");const i=getConstraintOfTypeParameter(o[e]);if(i){const c=n&&r?()=>chainDiagnosticMessages(void 0,Ot.Type_0_does_not_satisfy_the_constraint_1):void 0,l=r||Ot.Type_0_does_not_satisfy_the_constraint_1;s||(s=createTypeMapper(o,a));const d=a[e];if(!checkTypeAssignableTo(d,getTypeWithThisArgument(instantiateType(i,s),d),n?t[e]:void 0,l,c))return}}return a}function getJsxReferenceKind(e){if(isJsxIntrinsicTagName(e.tagName))return 2;const t=getApparentType(checkExpression(e.tagName));return length(getSignaturesOfType(t,1))?0:length(getSignaturesOfType(t,0))?1:2}function getEffectiveCheckNode(e){return skipOuterExpressions(e,isInJSFile(e)?-2147483615:33)}function getSignatureApplicabilityError(e,t,n,r,i,o,a){const s={errors:void 0,skipLogging:!0};if(isJsxCallLike(e))return function checkApplicableSignatureForJsxCallLikeElement(e,t,n,r,i,o,a){const s=getEffectiveFirstArgumentForJsxSignature(t,e),c=isJsxOpeningFragment(e)?createJsxAttributesTypeFromAttributesProperty(e):checkExpressionWithContextualType(e.attributes,s,void 0,r),l=4&r?getRegularTypeOfObjectLiteral(c):c;return function checkTagNameDoesNotExpectTooManyArguments(){var t;if(getJsxNamespaceContainerForImplicitImport(e))return!0;const n=!isJsxOpeningElement(e)&&!isJsxSelfClosingElement(e)||isJsxIntrinsicTagName(e.tagName)||isJsxNamespacedName(e.tagName)?void 0:checkExpression(e.tagName);if(!n)return!0;const r=getSignaturesOfType(n,0);if(!length(r))return!0;const o=getJsxFactoryEntity(e);if(!o)return!0;const s=resolveEntityName(o,111551,!0,!1,e);if(!s)return!0;const c=getSignaturesOfType(getTypeOfSymbol(s),0);if(!length(c))return!0;let l=!1,d=0;for(const e of c){const t=getSignaturesOfType(getTypeAtPosition(e,0),0);if(length(t))for(const e of t){if(l=!0,hasEffectiveRestParameter(e))return!0;const t=getParameterCount(e);t>d&&(d=t)}}if(!l)return!0;let p=1/0;for(const e of r){const t=getMinArgumentCount(e);t<p&&(p=t)}if(p<=d)return!0;if(i){const n=e.tagName,r=createDiagnosticForNode(n,Ot.Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3,entityNameToString(n),p,entityNameToString(o),d),i=null==(t=getSymbolAtLocation(n))?void 0:t.valueDeclaration;i&&addRelatedInfo(r,createDiagnosticForNode(i,Ot._0_is_declared_here,entityNameToString(n))),a&&a.skipLogging&&(a.errors||(a.errors=[])).push(r),a.skipLogging||vi.add(r)}return!1}()&&checkTypeRelatedToAndOptionallyElaborate(l,s,n,i?isJsxOpeningFragment(e)?e:e.tagName:void 0,isJsxOpeningFragment(e)?void 0:e.attributes,void 0,o,a)}(e,n,r,i,o,a,s)?void 0:(h.assert(!o||!!s.errors,"jsx should have errors when reporting errors"),s.errors||l);const c=getThisTypeOfSignature(n);if(c&&c!==et&&!(isNewExpression(e)||isCallExpression(e)&&isSuperProperty(e.expression))){const t=getThisArgumentOfCall(e),n=getThisArgumentType(t),i=o?t||e:void 0,d=Ot.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1;if(!checkTypeRelatedTo(n,c,r,i,d,a,s))return h.assert(!o||!!s.errors,"this parameter should have errors when reporting errors"),s.errors||l}const d=Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1,p=getNonArrayRestType(n),u=p?Math.min(getParameterCount(n)-1,t.length):t.length;for(let e=0;e<u;e++){const c=t[e];if(233!==c.kind){const t=getTypeAtPosition(n,e),p=checkExpressionWithContextualType(c,t,void 0,i),u=4&i?getRegularTypeOfObjectLiteral(p):p,m=getEffectiveCheckNode(c);if(!checkTypeRelatedToAndOptionallyElaborate(u,t,r,o?m:void 0,m,d,a,s))return h.assert(!o||!!s.errors,"parameter should have errors when reporting errors"),maybeAddMissingAwaitInfo(c,u,t),s.errors||l}}if(p){const n=getSpreadArgumentType(t,u,t.length,p,void 0,i),a=t.length-u,c=o?0===a?e:1===a?getEffectiveCheckNode(t[u]):setTextRangePosEnd(createSyntheticExpression(e,n),t[u].pos,t[t.length-1].end):void 0;if(!checkTypeRelatedTo(n,p,r,c,d,void 0,s))return h.assert(!o||!!s.errors,"rest parameter should have errors when reporting errors"),maybeAddMissingAwaitInfo(c,n,p),s.errors||l}return;function maybeAddMissingAwaitInfo(e,t,n){if(e&&o&&s.errors&&s.errors.length){if(getAwaitedTypeOfPromise(n))return;const i=getAwaitedTypeOfPromise(t);i&&isTypeRelatedTo(i,n,r)&&addRelatedInfo(s.errors[0],createDiagnosticForNode(e,Ot.Did_you_forget_to_use_await))}}}function getThisArgumentOfCall(e){if(227===e.kind)return e.right;const t=214===e.kind?e.expression:216===e.kind?e.tag:171!==e.kind||b?void 0:e.expression;if(t){const e=skipOuterExpressions(t);if(isAccessExpression(e))return e.expression}}function createSyntheticExpression(e,t,n,r){const i=Di.createSyntheticExpression(t,n,r);return setTextRange(i,e),setParent(i,e),i}function getEffectiveCallArguments(e){if(isJsxOpeningFragment(e))return[createSyntheticExpression(e,St)];if(216===e.kind){const t=e.template,n=[createSyntheticExpression(t,Pn||(Pn=getGlobalType("TemplateStringsArray",0,!0)||ht))];return 229===t.kind&&forEach(t.templateSpans,e=>{n.push(e.expression)}),n}if(171===e.kind)return function getEffectiveDecoratorArguments(e){const t=e.expression,n=getDecoratorCallSignature(e);if(n){const e=[];for(const r of n.parameters){const n=getTypeOfSymbol(r);e.push(createSyntheticExpression(t,n))}return e}return h.fail()}(e);if(227===e.kind)return[e.left];if(isJsxOpeningLikeElement(e))return e.attributes.properties.length>0||isJsxOpeningElement(e)&&e.parent.children.length>0?[e.attributes]:l;const t=e.arguments||l,n=getSpreadArgumentIndex(t);if(n>=0){const e=t.slice(0,n);for(let r=n;r<t.length;r++){const n=t[r],i=231===n.kind&&(Dr?checkExpression(n.expression):checkExpressionCached(n.expression));i&&isTupleType(i)?forEach(getElementTypes(i),(t,r)=>{var o;const a=i.target.elementFlags[r],s=createSyntheticExpression(n,4&a?createArrayType(t):t,!!(12&a),null==(o=i.target.labeledElementDeclarations)?void 0:o[r]);e.push(s)}):e.push(n)}return e}return t}function getDecoratorArgumentCount(e,t){return S.experimentalDecorators?function getLegacyDecoratorArgumentCount(e,t){switch(e.parent.kind){case 264:case 232:return 1;case 173:return hasAccessorModifier(e.parent)?3:2;case 175:case 178:case 179:return t.parameters.length<=2?2:3;case 170:return 3;default:return h.fail()}}(e,t):Math.min(Math.max(getParameterCount(t),1),2)}function getDiagnosticSpanForCallNode(e){const t=getSourceFileOfNode(e),{start:n,length:r}=getErrorSpanForNode(t,isPropertyAccessExpression(e.expression)?e.expression.name:e.expression);return{start:n,length:r,sourceFile:t}}function getDiagnosticForCallNode(e,t,...n){if(isCallExpression(e)){const{sourceFile:r,start:i,length:o}=getDiagnosticSpanForCallNode(e);return"message"in t?createFileDiagnostic(r,i,o,t,...n):createDiagnosticForFileFromMessageChain(r,t)}return"message"in t?createDiagnosticForNode(e,t,...n):createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(e),e,t)}function getArgumentArityError(e,t,n,r){var i;const o=getSpreadArgumentIndex(n);if(o>-1)return createDiagnosticForNode(n[o],Ot.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);let a,s=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY,d=Number.POSITIVE_INFINITY;for(const e of t){const t=getMinArgumentCount(e),r=getParameterCount(e);t<s&&(s=t,a=e),c=Math.max(c,r),t<n.length&&t>l&&(l=t),n.length<r&&r<d&&(d=r)}const p=some(t,hasEffectiveRestParameter),u=p?s:s<c?s+"-"+c:s,m=!p&&1===u&&0===n.length&&function isPromiseResolveArityError(e){if(!isCallExpression(e)||!isIdentifier(e.expression))return!1;const t=te(e.expression,e.expression.escapedText,111551,void 0,!1),n=null==t?void 0:t.valueDeclaration;if(!(n&&isParameter(n)&&isFunctionExpressionOrArrowFunction(n.parent)&&isNewExpression(n.parent.parent)&&isIdentifier(n.parent.parent.expression)))return!1;const r=getGlobalPromiseConstructorSymbol(!1);return!!r&&getSymbolAtLocation(n.parent.parent.expression,!0)===r}(e);if(m&&isInJSFile(e))return getDiagnosticForCallNode(e,Ot.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments);const _=isDecorator(e)?p?Ot.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:Ot.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:p?Ot.Expected_at_least_0_arguments_but_got_1:m?Ot.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:Ot.Expected_0_arguments_but_got_1;if(s<n.length&&n.length<c){if(r){let t=chainDiagnosticMessages(void 0,Ot.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,n.length,l,d);return t=chainDiagnosticMessages(t,r),getDiagnosticForCallNode(e,t)}return getDiagnosticForCallNode(e,Ot.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,n.length,l,d)}if(n.length<s){let t;if(r){let i=chainDiagnosticMessages(void 0,_,u,n.length);i=chainDiagnosticMessages(i,r),t=getDiagnosticForCallNode(e,i)}else t=getDiagnosticForCallNode(e,_,u,n.length);const o=null==(i=null==a?void 0:a.declaration)?void 0:i.parameters[a.thisParameter?n.length+1:n.length];if(o){return addRelatedInfo(t,createDiagnosticForNode(o,...isBindingPattern(o.name)?[Ot.An_argument_matching_this_binding_pattern_was_not_provided]:isRestParameter(o)?[Ot.Arguments_for_the_rest_parameter_0_were_not_provided,idText(getFirstIdentifier(o.name))]:[Ot.An_argument_for_0_was_not_provided,o.name?idText(getFirstIdentifier(o.name)):n.length]))}return t}{const t=Wr.createNodeArray(n.slice(c)),i=first(t).pos;let o=last(t).end;if(o===i&&o++,setTextRangePosEnd(t,i,o),r){let i=chainDiagnosticMessages(void 0,_,u,n.length);return i=chainDiagnosticMessages(i,r),createDiagnosticForNodeArrayFromMessageChain(getSourceFileOfNode(e),t,i)}return createDiagnosticForNodeArray(getSourceFileOfNode(e),t,_,u,n.length)}}function resolveCall(e,t,n,r,i,o){const a=216===e.kind,s=171===e.kind,c=isJsxOpeningLikeElement(e),d=isJsxOpeningFragment(e),p=227===e.kind,u=!g&&!n;let m,_,f,y,T,S=0,x=[];if(s||p||isSuperCall(e)||d||(T=e.typeArguments,(a||c||108!==e.expression.kind)&&forEach(T,checkSourceElement)),x=n||[],function reorderCandidates(e,t,n){let r,i,o,a,s=0,c=-1;h.assert(!t.length);for(const l of e){const e=l.declaration&&getSymbolOfDeclaration(l.declaration),d=l.declaration&&l.declaration.parent;i&&e!==i?(o=s=t.length,r=d):r&&d===r?o+=1:(r=d,o=s),i=e,signatureHasLiteralTypes(l)?(c++,a=c,s++):a=o,t.splice(a,0,n?getOptionalCallSignature(l,n):l)}}(t,x,i),!d&&!x.length)return u&&vi.add(getDiagnosticForCallNode(e,Ot.Call_target_does_not_contain_any_signatures)),resolveErrorCall(e);const v=getEffectiveCallArguments(e),b=1===x.length&&!x[0].typeParameters;s||b||!some(v,isContextSensitive)||(S=4);const C=!!(16&r)&&214===e.kind&&e.arguments.hasTrailingComma;x.length>1&&(y=chooseOverload(x,Ei,b,C)),y||(y=chooseOverload(x,ki,b,C));const E=getNodeLinks(e);if(E.resolvedSignature!==gr&&!n)return h.assert(E.resolvedSignature),E.resolvedSignature;if(y)return y;if(y=function getCandidateForOverloadFailure(e,t,n,r,i){return h.assert(t.length>0),checkNodeDeferred(e),r||1===t.length||t.some(e=>!!e.typeParameters)?function pickLongestCandidateSignature(e,t,n,r){const i=function getLongestCandidateIndex(e,t){let n=-1,r=-1;for(let i=0;i<e.length;i++){const o=e[i],a=getParameterCount(o);if(hasEffectiveRestParameter(o)||a>=t)return i;a>r&&(r=a,n=i)}return n}(t,void 0===H?n.length:H),o=t[i],{typeParameters:a}=o;if(!a)return o;const s=callLikeExpressionMayHaveTypeArguments(e)?e.typeArguments:void 0,c=s?createSignatureInstantiation(o,function getTypeArgumentsFromNodes(e,t,n){const r=e.map(getTypeOfNode);for(;r.length>t.length;)r.pop();for(;r.length<t.length;)r.push(getDefaultFromTypeParameter(t[r.length])||getConstraintOfTypeParameter(t[r.length])||getDefaultTypeArgumentType(n));return r}(s,a,isInJSFile(e))):function inferSignatureInstantiationForOverloadFailure(e,t,n,r,i){const o=createInferenceContext(t,n,isInJSFile(e)?2:0),a=inferTypeArguments(e,n,r,12|i,o);return createSignatureInstantiation(n,a)}(e,a,o,n,r);return t[i]=c,c}(e,t,n,i):function createUnionOfSignaturesForOverloadFailure(e){const t=mapDefined(e,e=>e.thisParameter);let n;t.length&&(n=createCombinedSymbolFromTypes(t,t.map(getTypeOfParameter)));const{min:r,max:i}=minAndMax(e,getNumNonRestParameters),o=[];for(let t=0;t<i;t++){const n=mapDefined(e,e=>signatureHasRestParameter(e)?t<e.parameters.length-1?e.parameters[t]:last(e.parameters):t<e.parameters.length?e.parameters[t]:void 0);h.assert(0!==n.length),o.push(createCombinedSymbolFromTypes(n,mapDefined(e,e=>tryGetTypeAtPosition(e,t))))}const a=mapDefined(e,e=>signatureHasRestParameter(e)?last(e.parameters):void 0);let s=128;if(0!==a.length){const t=createArrayType(getUnionType(mapDefined(e,tryGetRestTypeOfSignature),2));o.push(createCombinedSymbolForOverloadFailure(a,t)),s|=1}e.some(signatureHasLiteralTypes)&&(s|=2);return createSignature(e[0].declaration,void 0,n,o,getIntersectionType(e.map(getReturnTypeOfSignature)),void 0,r,s)}(t)}(e,x,v,!!n,r),E.resolvedSignature=y,u)if(!o&&p&&(o=Ot.The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_hand_side_s_Symbol_hasInstance_method),m)if(1===m.length||m.length>3){const t=m[m.length-1];let n;m.length>3&&(n=chainDiagnosticMessages(n,Ot.The_last_overload_gave_the_following_error),n=chainDiagnosticMessages(n,Ot.No_overload_matches_this_call)),o&&(n=chainDiagnosticMessages(n,o));const r=getSignatureApplicabilityError(e,v,t,ki,0,!0,()=>n);if(r)for(const e of r)t.declaration&&m.length>3&&addRelatedInfo(e,createDiagnosticForNode(t.declaration,Ot.The_last_overload_is_declared_here)),addImplementationSuccessElaboration(t,e),vi.add(e);else h.fail("No error for last overload signature")}else{const t=[];let n=0,r=Number.MAX_VALUE,i=0,a=0;for(const o of m){const s=getSignatureApplicabilityError(e,v,o,ki,0,!0,()=>chainDiagnosticMessages(void 0,Ot.Overload_0_of_1_2_gave_the_following_error,a+1,x.length,signatureToString(o)));s?(s.length<=r&&(r=s.length,i=a),n=Math.max(n,s.length),t.push(s)):h.fail("No error for 3 or fewer overload signatures"),a++}const s=n>1?t[i]:flatten(t);h.assert(s.length>0,"No errors reported for 3 or fewer overload signatures");let c=chainDiagnosticMessages(map(s,createDiagnosticMessageChainFromDiagnostic),Ot.No_overload_matches_this_call);o&&(c=chainDiagnosticMessages(c,o));const l=[...flatMap(s,e=>e.relatedInformation)];let d;if(every(s,e=>e.start===s[0].start&&e.length===s[0].length&&e.file===s[0].file)){const{file:e,start:t,length:n}=s[0];d={file:e,start:t,length:n,code:c.code,category:c.category,messageText:c,relatedInformation:l}}else d=createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(e),function getErrorNodeForCallNode(e){return isCallOrNewExpression(e)?isPropertyAccessExpression(e.expression)?e.expression.name:e.expression:isTaggedTemplateExpression(e)?isPropertyAccessExpression(e.tag)?e.tag.name:e.tag:isJsxOpeningLikeElement(e)?e.tagName:e}(e),c,l);addImplementationSuccessElaboration(m[0],d),vi.add(d)}else if(_)vi.add(getArgumentArityError(e,[_],v,o));else if(f)checkTypeArguments(f,e.typeArguments,!0,o);else if(!d){const n=filter(t,e=>hasCorrectTypeArgumentArity(e,T));0===n.length?vi.add(function getTypeArgumentArityError(e,t,n,r){const i=n.length;if(1===t.length){const o=t[0],a=getMinTypeArgumentCount(o.typeParameters),s=length(o.typeParameters);if(r){let t=chainDiagnosticMessages(void 0,Ot.Expected_0_type_arguments_but_got_1,a<s?a+"-"+s:a,i);return t=chainDiagnosticMessages(t,r),createDiagnosticForNodeArrayFromMessageChain(getSourceFileOfNode(e),n,t)}return createDiagnosticForNodeArray(getSourceFileOfNode(e),n,Ot.Expected_0_type_arguments_but_got_1,a<s?a+"-"+s:a,i)}let o=-1/0,a=1/0;for(const e of t){const t=getMinTypeArgumentCount(e.typeParameters),n=length(e.typeParameters);t>i?a=Math.min(a,t):n<i&&(o=Math.max(o,n))}if(o!==-1/0&&a!==1/0){if(r){let t=chainDiagnosticMessages(void 0,Ot.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,i,o,a);return t=chainDiagnosticMessages(t,r),createDiagnosticForNodeArrayFromMessageChain(getSourceFileOfNode(e),n,t)}return createDiagnosticForNodeArray(getSourceFileOfNode(e),n,Ot.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,i,o,a)}if(r){let t=chainDiagnosticMessages(void 0,Ot.Expected_0_type_arguments_but_got_1,o===-1/0?a:o,i);return t=chainDiagnosticMessages(t,r),createDiagnosticForNodeArrayFromMessageChain(getSourceFileOfNode(e),n,t)}return createDiagnosticForNodeArray(getSourceFileOfNode(e),n,Ot.Expected_0_type_arguments_but_got_1,o===-1/0?a:o,i)}(e,t,T,o)):vi.add(getArgumentArityError(e,n,v,o))}return y;function addImplementationSuccessElaboration(e,t){var n,r;const i=m,o=_,a=f,s=(null==(r=null==(n=e.declaration)?void 0:n.symbol)?void 0:r.declarations)||l,c=s.length>1?find(s,e=>isFunctionLikeDeclaration(e)&&nodeIsPresent(e.body)):void 0;if(c){const e=getSignatureFromDeclaration(c),n=!e.typeParameters;chooseOverload([e],ki,n)&&addRelatedInfo(t,createDiagnosticForNode(c,Ot.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}m=i,_=o,f=a}function chooseOverload(t,n,r,i=!1){if(m=void 0,_=void 0,f=void 0,r){const r=t[0];if(some(T)||!hasCorrectArity(e,v,r,i))return;return getSignatureApplicabilityError(e,v,r,n,0,!1,void 0)?void(m=[r]):r}for(let r=0;r<t.length;r++){const o=t[r];if(!hasCorrectTypeArgumentArity(o,T)||!hasCorrectArity(e,v,o,i))continue;let a,s;if(o.typeParameters){let t;if(some(T)){if(t=checkTypeArguments(o,T,!1),!t){f=o;continue}}else s=createInferenceContext(o.typeParameters,o,isInJSFile(e)?2:0),t=inferTypeArguments(e,o,v,8|S,s),S|=4&s.flags?8:0;if(a=getSignatureInstantiation(o,t,isInJSFile(o.declaration),s&&s.inferredTypeParameters),getNonArrayRestType(o)&&!hasCorrectArity(e,v,a,i)){_=a;continue}}else a=o;if(!getSignatureApplicabilityError(e,v,a,n,S,!1,void 0)){if(S){if(S=0,s){if(a=getSignatureInstantiation(o,inferTypeArguments(e,o,v,S,s),isInJSFile(o.declaration),s.inferredTypeParameters),getNonArrayRestType(o)&&!hasCorrectArity(e,v,a,i)){_=a;continue}}if(getSignatureApplicabilityError(e,v,a,n,S,!1,void 0)){(m||(m=[])).push(a);continue}}return t[r]=a,a}(m||(m=[])).push(a)}}}function getNumNonRestParameters(e){const t=e.parameters.length;return signatureHasRestParameter(e)?t-1:t}function createCombinedSymbolFromTypes(e,t){return createCombinedSymbolForOverloadFailure(e,getUnionType(t,2))}function createCombinedSymbolForOverloadFailure(e,t){return createSymbolWithType(first(e),t)}function isGenericFunctionReturningFunction(e){return!(!e.typeParameters||!isFunctionType(getReturnTypeOfSignature(e)))}function isUntypedFunctionCall(e,t,n,r){return isTypeAny(e)||isTypeAny(t)&&!!(262144&e.flags)||!n&&!r&&!(1048576&t.flags)&&!(131072&getReducedType(t).flags)&&isTypeAssignableTo(e,Wt)}function resolveNewExpression(e,t,n){let r=checkNonNullExpression(e.expression);if(r===nt)return yr;if(r=getApparentType(r),isErrorType(r))return resolveErrorCall(e);if(isTypeAny(r))return e.typeArguments&&error2(e,Ot.Untyped_function_calls_may_not_accept_type_arguments),resolveUntypedCall(e);const i=getSignaturesOfType(r,1);if(i.length){if(!function isConstructorAccessible(e,t){if(!t||!t.declaration)return!0;const n=t.declaration,r=getSelectedEffectiveModifierFlags(n,6);if(!r||177!==n.kind)return!0;const i=getClassLikeDeclarationOfSymbol(n.parent.symbol),o=getDeclaredTypeOfSymbol(n.parent.symbol);if(!isNodeWithinClass(e,i)){const t=getContainingClass(e);if(t&&4&r){const e=getTypeOfNode(t);if(typeHasProtectedAccessibleBase(n.parent.symbol,e))return!0}return 2&r&&error2(e,Ot.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,typeToString(o)),4&r&&error2(e,Ot.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,typeToString(o)),!1}return!0}(e,i[0]))return resolveErrorCall(e);if(someSignature(i,e=>!!(4&e.flags)))return error2(e,Ot.Cannot_create_an_instance_of_an_abstract_class),resolveErrorCall(e);const o=r.symbol&&getClassLikeDeclarationOfSymbol(r.symbol);return o&&hasSyntacticModifier(o,64)?(error2(e,Ot.Cannot_create_an_instance_of_an_abstract_class),resolveErrorCall(e)):resolveCall(e,i,t,n,0)}const o=getSignaturesOfType(r,0);if(o.length){const r=resolveCall(e,o,t,n,0);return A||(r.declaration&&!isJSConstructor(r.declaration)&&getReturnTypeOfSignature(r)!==et&&error2(e,Ot.Only_a_void_function_can_be_called_with_the_new_keyword),getThisTypeOfSignature(r)===et&&error2(e,Ot.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),r}return invocationError(e.expression,r,1),resolveErrorCall(e)}function someSignature(e,t){return isArray(e)?some(e,e=>someSignature(e,t)):1048576===e.compositeKind?some(e.compositeSignatures,t):t(e)}function typeHasProtectedAccessibleBase(e,t){const n=getBaseTypes(t);if(!length(n))return!1;const r=n[0];if(2097152&r.flags){const t=findMixins(r.types);let n=0;for(const i of r.types){if(!t[n]&&3&getObjectFlags(i)){if(i.symbol===e)return!0;if(typeHasProtectedAccessibleBase(e,i))return!0}n++}return!1}return r.symbol===e||typeHasProtectedAccessibleBase(e,r)}function invocationErrorDetails(e,t,n){let r;const i=0===n,o=getAwaitedType(t),a=o&&getSignaturesOfType(o,n).length>0;if(1048576&t.flags){const e=t.types;let o=!1;for(const a of e){if(0!==getSignaturesOfType(a,n).length){if(o=!0,r)break}else if(r||(r=chainDiagnosticMessages(r,i?Ot.Type_0_has_no_call_signatures:Ot.Type_0_has_no_construct_signatures,typeToString(a)),r=chainDiagnosticMessages(r,i?Ot.Not_all_constituents_of_type_0_are_callable:Ot.Not_all_constituents_of_type_0_are_constructable,typeToString(t))),o)break}o||(r=chainDiagnosticMessages(void 0,i?Ot.No_constituent_of_type_0_is_callable:Ot.No_constituent_of_type_0_is_constructable,typeToString(t))),r||(r=chainDiagnosticMessages(r,i?Ot.Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:Ot.Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other,typeToString(t)))}else r=chainDiagnosticMessages(r,i?Ot.Type_0_has_no_call_signatures:Ot.Type_0_has_no_construct_signatures,typeToString(t));let s=i?Ot.This_expression_is_not_callable:Ot.This_expression_is_not_constructable;if(isCallExpression(e.parent)&&0===e.parent.arguments.length){const{resolvedSymbol:t}=getNodeLinks(e);t&&32768&t.flags&&(s=Ot.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without)}return{messageChain:chainDiagnosticMessages(r,s),relatedMessage:a?Ot.Did_you_forget_to_use_await:void 0}}function invocationError(e,t,n,r){const{messageChain:i,relatedMessage:o}=invocationErrorDetails(e,t,n),a=createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(e),e,i);if(o&&addRelatedInfo(a,createDiagnosticForNode(e,o)),isCallExpression(e.parent)){const{start:t,length:n}=getDiagnosticSpanForCallNode(e.parent);a.start=t,a.length=n}vi.add(a),invocationErrorRecovery(t,n,r?addRelatedInfo(a,r):a)}function invocationErrorRecovery(e,t,n){if(!e.symbol)return;const r=getSymbolLinks(e.symbol).originatingImport;if(r&&!isImportCall(r)){const i=getSignaturesOfType(getTypeOfSymbol(getSymbolLinks(e.symbol).target),t);if(!i||!i.length)return;addRelatedInfo(n,createDiagnosticForNode(r,Ot.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead))}}function resolveDecorator(e,t,n){const r=checkExpression(e.expression),i=getApparentType(r);if(isErrorType(i))return resolveErrorCall(e);const o=getSignaturesOfType(i,0),a=getSignaturesOfType(i,1).length;if(isUntypedFunctionCall(r,i,o.length,a))return resolveUntypedCall(e);if(function isPotentiallyUncalledDecorator(e,t){return t.length&&every(t,t=>0===t.minArgumentCount&&!signatureHasRestParameter(t)&&t.parameters.length<getDecoratorArgumentCount(e,t))}(e,o)&&!isParenthesizedExpression(e.expression)){const t=getTextOfNode(e.expression,!1);return error2(e,Ot._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0,t),resolveErrorCall(e)}const s=function getDiagnosticHeadMessageForDecoratorResolution(e){switch(e.parent.kind){case 264:case 232:return Ot.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 170:return Ot.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 173:return Ot.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 175:case 178:case 179:return Ot.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression;default:return h.fail()}}(e);if(!o.length){const t=invocationErrorDetails(e.expression,i,0),n=chainDiagnosticMessages(t.messageChain,s),r=createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(e.expression),e.expression,n);return t.relatedMessage&&addRelatedInfo(r,createDiagnosticForNode(e.expression,t.relatedMessage)),vi.add(r),invocationErrorRecovery(i,0,r),resolveErrorCall(e)}return resolveCall(e,o,t,n,0,s)}function createSignatureForJSXIntrinsic(e,t){const n=getJsxNamespaceAt(e),r=n&&getExportsOfSymbol(n),i=r&&getSymbol2(r,qo.Element,788968),o=i&&j.symbolToEntityName(i,788968,e),a=Wr.createFunctionTypeNode(void 0,[Wr.createParameterDeclaration(void 0,void 0,"props",void 0,j.typeToTypeNode(t,e))],o?Wr.createTypeReferenceNode(o,void 0):Wr.createKeywordTypeNode(133)),s=createSymbol(1,"props");return s.links.type=t,createSignature(a,void 0,void 0,[s],i?getDeclaredTypeOfSymbol(i):Ie,void 0,1,0)}function getJSXFragmentType(e){const t=getNodeLinks(getSourceFileOfNode(e));if(void 0!==t.jsxFragmentType)return t.jsxFragmentType;const n=getJsxNamespace(e);if(!((2===S.jsx||void 0!==S.jsxFragmentFactory)&&"null"!==n))return t.jsxFragmentType=ke;const r=1!==S.jsx&&3!==S.jsx,i=vi?Ot.Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found:void 0,o=getJsxNamespaceContainerForImplicitImport(e)??te(e,n,r?111551:111167,i,!0);if(void 0===o)return t.jsxFragmentType=Ie;if(o.escapedName===Ko.Fragment)return t.jsxFragmentType=getTypeOfSymbol(o);const a=2097152&o.flags?resolveAlias(o):o,s=o&&getExportsOfSymbol(a),c=s&&getSymbol2(s,Ko.Fragment,2),l=c&&getTypeOfSymbol(c);return t.jsxFragmentType=void 0===l?Ie:l}function resolveJsxOpeningLikeElement(e,t,n){const r=isJsxOpeningFragment(e);let i;if(r)i=getJSXFragmentType(e);else{if(isJsxIntrinsicTagName(e.tagName)){const t=getIntrinsicAttributesTypeFromJsxOpeningLikeElement(e),n=createSignatureForJSXIntrinsic(e,t);return checkTypeAssignableToAndOptionallyElaborate(checkExpressionWithContextualType(e.attributes,getEffectiveFirstArgumentForJsxSignature(n,e),void 0,0),t,e.tagName,e.attributes),length(e.typeArguments)&&(forEach(e.typeArguments,checkSourceElement),vi.add(createDiagnosticForNodeArray(getSourceFileOfNode(e),e.typeArguments,Ot.Expected_0_type_arguments_but_got_1,0,length(e.typeArguments)))),n}i=checkExpression(e.tagName)}const o=getApparentType(i);if(isErrorType(o))return resolveErrorCall(e);const a=getUninstantiatedJsxSignaturesOfType(i,e);return isUntypedFunctionCall(i,o,a.length,0)?resolveUntypedCall(e):0===a.length?(r?error2(e,Ot.JSX_element_type_0_does_not_have_any_construct_or_call_signatures,getTextOfNode(e)):error2(e.tagName,Ot.JSX_element_type_0_does_not_have_any_construct_or_call_signatures,getTextOfNode(e.tagName)),resolveErrorCall(e)):resolveCall(e,a,t,n,0)}function resolveSignature(e,t,n){switch(e.kind){case 214:return function resolveCallExpression(e,t,n){if(108===e.expression.kind){const r=checkSuperExpression(e.expression);if(isTypeAny(r)){for(const t of e.arguments)checkExpression(t);return _r}if(!isErrorType(r)){const i=getEffectiveBaseTypeNode(getContainingClass(e));if(i)return resolveCall(e,getInstantiatedConstructorsForTypeArguments(r,i.typeArguments,i),t,n,0)}return resolveUntypedCall(e)}let r,i=checkExpression(e.expression);if(isCallChain(e)){const t=getOptionalExpressionType(i,e.expression);r=t===i?0:isOutermostOptionalChain(e)?16:8,i=t}else r=0;if(i=checkNonNullTypeWithReporter(i,e.expression,reportCannotInvokePossiblyNullOrUndefinedError),i===nt)return yr;const o=getApparentType(i);if(isErrorType(o))return resolveErrorCall(e);const a=getSignaturesOfType(o,0),s=getSignaturesOfType(o,1).length;if(isUntypedFunctionCall(i,o,a.length,s))return!isErrorType(i)&&e.typeArguments&&error2(e,Ot.Untyped_function_calls_may_not_accept_type_arguments),resolveUntypedCall(e);if(!a.length){if(s)error2(e,Ot.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,typeToString(i));else{let t;if(1===e.arguments.length){const n=getSourceFileOfNode(e).text;isLineBreak(n.charCodeAt(skipTrivia(n,e.expression.end,!0)-1))&&(t=createDiagnosticForNode(e.expression,Ot.Are_you_missing_a_semicolon))}invocationError(e.expression,o,0,t)}return resolveErrorCall(e)}return 8&n&&!e.typeArguments&&a.some(isGenericFunctionReturningFunction)?(skippedGenericFunction(e,n),gr):a.some(e=>isInJSFile(e.declaration)&&!!getJSDocClassTag(e.declaration))?(error2(e,Ot.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,typeToString(i)),resolveErrorCall(e)):resolveCall(e,a,t,n,r)}(e,t,n);case 215:return resolveNewExpression(e,t,n);case 216:return function resolveTaggedTemplateExpression(e,t,n){const r=checkExpression(e.tag),i=getApparentType(r);if(isErrorType(i))return resolveErrorCall(e);const o=getSignaturesOfType(i,0),a=getSignaturesOfType(i,1).length;if(isUntypedFunctionCall(r,i,o.length,a))return resolveUntypedCall(e);if(!o.length){if(isArrayLiteralExpression(e.parent)){const t=createDiagnosticForNode(e.tag,Ot.It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked);return vi.add(t),resolveErrorCall(e)}return invocationError(e.tag,i,0),resolveErrorCall(e)}return resolveCall(e,o,t,n,0)}(e,t,n);case 171:return resolveDecorator(e,t,n);case 290:case 287:case 286:return resolveJsxOpeningLikeElement(e,t,n);case 227:return function resolveInstanceofExpression(e,t,n){const r=checkExpression(e.right);if(!isTypeAny(r)){const i=getSymbolHasInstanceMethodOfObjectType(r);if(i){const r=getApparentType(i);if(isErrorType(r))return resolveErrorCall(e);const o=getSignaturesOfType(r,0),a=getSignaturesOfType(r,1);if(isUntypedFunctionCall(i,r,o.length,a.length))return resolveUntypedCall(e);if(o.length)return resolveCall(e,o,t,n,0)}else if(!typeHasCallOrConstructSignatures(r)&&!isTypeSubtypeOf(r,Wt))return error2(e.right,Ot.The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_type_assignable_to_the_Function_interface_type_or_an_object_type_with_a_Symbol_hasInstance_method),resolveErrorCall(e)}return _r}(e,t,n)}h.assertNever(e,"Branch in 'resolveSignature' should be unreachable.")}function getResolvedSignature(e,t,n){const r=getNodeLinks(e),i=r.resolvedSignature;if(i&&i!==gr&&!t)return i;const o=Yr;i||(Yr=$r.length),r.resolvedSignature=gr;const a=resolveSignature(e,t,n||0);return Yr=o,a!==gr&&(r.resolvedSignature=Pr===Dr?a:i),a}function isJSConstructor(e){var t;if(!e||!isInJSFile(e))return!1;const n=isFunctionDeclaration(e)||isFunctionExpression(e)?e:(isVariableDeclaration(e)||isPropertyAssignment(e))&&e.initializer&&isFunctionExpression(e.initializer)?e.initializer:void 0;if(n){if(getJSDocClassTag(e))return!0;if(isPropertyAssignment(walkUpParenthesizedExpressions(n.parent)))return!1;const r=getSymbolOfDeclaration(n);return!!(null==(t=null==r?void 0:r.members)?void 0:t.size)}return!1}function mergeJSSymbols(e,t){var n,r;if(t){const i=getSymbolLinks(t);if(!i.inferredClassSymbol||!i.inferredClassSymbol.has(getSymbolId(e))){const o=isTransientSymbol(e)?e:cloneSymbol(e);return o.exports=o.exports||createSymbolTable(),o.members=o.members||createSymbolTable(),o.flags|=32&t.flags,(null==(n=t.exports)?void 0:n.size)&&mergeSymbolTable(o.exports,t.exports),(null==(r=t.members)?void 0:r.size)&&mergeSymbolTable(o.members,t.members),(i.inferredClassSymbol||(i.inferredClassSymbol=new Map)).set(getSymbolId(o),o),o}return i.inferredClassSymbol.get(getSymbolId(e))}}function getSymbolOfExpando(e,t){if(!e.parent)return;let n,r;if(isVariableDeclaration(e.parent)&&e.parent.initializer===e){if(!(isInJSFile(e)||isVarConstLike2(e.parent)&&isFunctionLikeDeclaration(e)))return;n=e.parent.name,r=e.parent}else if(isBinaryExpression(e.parent)){const i=e.parent,o=e.parent.operatorToken.kind;if(64!==o||!t&&i.right!==e){if(!(57!==o&&61!==o||(isVariableDeclaration(i.parent)&&i.parent.initializer===i?(n=i.parent.name,r=i.parent):isBinaryExpression(i.parent)&&64===i.parent.operatorToken.kind&&(t||i.parent.right===i)&&(n=i.parent.left,r=n),n&&isBindableStaticNameExpression(n)&&isSameEntityName(n,i.left))))return}else n=i.left,r=n}else t&&isFunctionDeclaration(e)&&(n=e.name,r=e);return r&&n&&(t||getExpandoInitializer(e,isPrototypeAccess(n)))?getSymbolOfNode(r):void 0}function checkDeprecatedSignature(e,t){if(!(128&e.flags)&&e.declaration&&536870912&e.declaration.flags){const n=getDeprecatedSuggestionNode(t),r=tryGetPropertyAccessOrIdentifierToString(getInvokedExpression(t));!function addDeprecatedSuggestionWithSignature(e,t,n,r){return addDeprecatedSuggestionWorker(t,n?createDiagnosticForNode(e,Ot.The_signature_0_of_1_is_deprecated,r,n):createDiagnosticForNode(e,Ot._0_is_deprecated,r))}(n,e.declaration,r,signatureToString(e))}}function getDeprecatedSuggestionNode(e){switch((e=skipParentheses(e)).kind){case 214:case 171:case 215:return getDeprecatedSuggestionNode(e.expression);case 216:return getDeprecatedSuggestionNode(e.tag);case 287:case 286:return getDeprecatedSuggestionNode(e.tagName);case 213:return e.argumentExpression;case 212:return e.name;case 184:const t=e;return isQualifiedName(t.typeName)?t.typeName.right:t;default:return e}}function isSymbolOrSymbolForCall(e){if(!isCallExpression(e))return!1;let t=e.expression;if(isPropertyAccessExpression(t)&&"for"===t.name.escapedText&&(t=t.expression),!isIdentifier(t)||"Symbol"!==t.escapedText)return!1;const n=getGlobalESSymbolConstructorSymbol(!1);return!!n&&n===te(t,"Symbol",111551,void 0,!1)}function checkImportCallExpression(e){if(function checkGrammarImportCallExpression(e){if(S.verbatimModuleSyntax&&1===v)return grammarErrorOnNode(e,getVerbatimModuleSyntaxErrorMessage(e));if(237===e.expression.kind){if(99!==v&&200!==v)return grammarErrorOnNode(e,Ot.Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve)}else if(5===v)return grammarErrorOnNode(e,Ot.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_node20_or_nodenext);if(e.typeArguments)return grammarErrorOnNode(e,Ot.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);const t=e.arguments;if(!(100<=v&&v<=199)&&99!==v&&200!==v&&(checkGrammarForDisallowedTrailingComma(t),t.length>1)){return grammarErrorOnNode(t[1],Ot.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_node20_nodenext_or_preserve)}if(0===t.length||t.length>2)return grammarErrorOnNode(e,Ot.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments);const n=find(t,isSpreadElement);if(n)return grammarErrorOnNode(n,Ot.Argument_of_dynamic_import_cannot_be_spread_element);return!1}(e),0===e.arguments.length)return createPromiseReturnType(e,ke);const t=e.arguments[0],n=checkExpressionCached(t),r=e.arguments.length>1?checkExpressionCached(e.arguments[1]):void 0;for(let t=2;t<e.arguments.length;++t)checkExpressionCached(e.arguments[t]);if((32768&n.flags||65536&n.flags||!isTypeAssignableTo(n,ze))&&error2(t,Ot.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0,typeToString(n)),r){const t=getGlobalImportCallOptionsType(!0);t!==ht&&checkTypeAssignableTo(r,getNullableType(t,32768),e.arguments[1])}const i=resolveExternalModuleName(e,t);if(i){const n=resolveESModuleSymbol(i,t,!0,!1);if(n)return createPromiseReturnType(e,getTypeWithSyntheticDefaultOnly(getTypeOfSymbol(n),n,i,t)||getTypeWithSyntheticDefaultImportType(getTypeOfSymbol(n),n,i,t))}return createPromiseReturnType(e,ke)}function createDefaultPropertyWrapperForModule(e,t,n){const r=createSymbolTable(),i=createSymbol(2097152,"default");return i.parent=t,i.links.nameType=getStringLiteralType("default"),i.links.aliasTarget=resolveSymbol(e),r.set("default",i),createAnonymousType(n,r,l,l,l)}function getTypeWithSyntheticDefaultOnly(e,t,n,r){if(isOnlyImportableAsDefault(r)&&e&&!isErrorType(e)){const r=e;if(!r.defaultOnlyType){const e=createDefaultPropertyWrapperForModule(t,n);r.defaultOnlyType=e}return r.defaultOnlyType}}function getTypeWithSyntheticDefaultImportType(e,t,n,r){var i;if(N&&e&&!isErrorType(e)){const o=e;if(!o.syntheticType){if(canHaveSyntheticDefault(null==(i=n.declarations)?void 0:i.find(isSourceFile),n,!1,r)){const r=createSymbol(2048,"__type"),i=createDefaultPropertyWrapperForModule(t,n,r);r.links.type=i,o.syntheticType=isValidSpreadType(e)?getSpreadType(e,i,r,0,!1):i}else o.syntheticType=e}return o.syntheticType}return e}function isCommonJsRequire(e){if(!isRequireCall(e,!0))return!1;if(!isIdentifier(e.expression))return h.fail();const t=te(e.expression,e.expression.escapedText,111551,void 0,!0);if(t===Q)return!0;if(2097152&t.flags)return!1;const n=16&t.flags?263:3&t.flags?261:0;if(0!==n){const e=getDeclarationOfKind(t,n);return!!e&&!!(33554432&e.flags)}return!1}function checkTaggedTemplateExpression(e){(function checkGrammarTaggedTemplateChain(e){if(e.questionDotToken||64&e.flags)return grammarErrorOnNode(e.template,Ot.Tagged_template_expressions_are_not_permitted_in_an_optional_chain);return!1})(e)||checkGrammarTypeArguments(e,e.typeArguments),x<lt.TaggedTemplates&&checkExternalEmitHelpers(e,262144);const t=getResolvedSignature(e);return checkDeprecatedSignature(t,e),getReturnTypeOfSignature(t)}function isValidConstAssertionArgument(e){switch(e.kind){case 11:case 15:case 9:case 10:case 112:case 97:case 210:case 211:case 229:return!0;case 218:return isValidConstAssertionArgument(e.expression);case 225:const t=e.operator,n=e.operand;return 41===t&&(9===n.kind||10===n.kind)||40===t&&9===n.kind;case 212:case 213:const r=skipParentheses(e.expression),i=isEntityNameExpression(r)?resolveEntityName(r,111551,!0):void 0;return!!(i&&384&i.flags)}return!1}function checkAssertionWorker(e,t){const{type:n,expression:r}=getAssertionTypeAndExpression(e),i=checkExpression(r,t);if(isConstTypeReference(n))return isValidConstAssertionArgument(r)||error2(r,Ot.A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals),getRegularTypeOfLiteralType(i);return getNodeLinks(e).assertionExpressionType=i,checkSourceElement(n),checkNodeDeferred(e),getTypeFromTypeNode(n)}function getAssertionTypeAndExpression(e){let t,n;switch(e.kind){case 235:case 217:t=e.type,n=e.expression;break;case 218:t=getJSDocTypeAssertionType(e),n=e.expression}return{type:t,expression:n}}function checkNonNullAssertion(e){return 64&e.flags?function checkNonNullChain(e){const t=checkExpression(e.expression),n=getOptionalExpressionType(t,e.expression);return propagateOptionalTypeMarker(getNonNullableType(n),e,n!==t)}(e):getNonNullableType(checkExpression(e.expression))}function checkExpressionWithTypeArguments(e){if(checkGrammarExpressionWithTypeArguments(e),forEach(e.typeArguments,checkSourceElement),234===e.kind){const t=walkUpParenthesizedExpressions(e.parent);227===t.kind&&104===t.operatorToken.kind&&isNodeDescendantOf(e,t.right)&&error2(e,Ot.The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression)}return getInstantiationExpressionType(234===e.kind?checkExpression(e.expression):isThisIdentifier(e.exprName)?checkThisExpression(e.exprName):checkExpression(e.exprName),e)}function getInstantiationExpressionType(e,t){const n=t.typeArguments;if(e===nt||isErrorType(e)||!some(n))return e;const r=getNodeLinks(t);if(r.instantiationExpressionTypes||(r.instantiationExpressionTypes=new Map),r.instantiationExpressionTypes.has(e.id))return r.instantiationExpressionTypes.get(e.id);let i,o=!1;const a=function getInstantiatedType(e){let n=!1,r=!1;const a=getInstantiatedTypePart(e);o||(o=r),n&&!r&&(i??(i=e));return a;function getInstantiatedTypePart(e){if(524288&e.flags){const i=resolveStructuredTypeMembers(e),o=getInstantiatedSignatures(i.callSignatures),a=getInstantiatedSignatures(i.constructSignatures);if(n||(n=0!==i.callSignatures.length||0!==i.constructSignatures.length),r||(r=0!==o.length||0!==a.length),o!==i.callSignatures||a!==i.constructSignatures){const e=createAnonymousType(createSymbol(0,"__instantiationExpression"),i.members,o,a,i.indexInfos);return e.objectFlags|=8388608,e.node=t,e}}else if(58982400&e.flags){const t=getBaseConstraintOfType(e);if(t){const e=getInstantiatedTypePart(t);if(e!==t)return e}}else{if(1048576&e.flags)return mapType(e,getInstantiatedType);if(2097152&e.flags)return getIntersectionType(sameMap(e.types,getInstantiatedTypePart))}return e}}(e);r.instantiationExpressionTypes.set(e.id,a);const s=o?i:e;return s&&vi.add(createDiagnosticForNodeArray(getSourceFileOfNode(t),n,Ot.Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable,typeToString(s))),a;function getInstantiatedSignatures(e){return sameMap(filter(e,e=>!!e.typeParameters&&hasCorrectTypeArgumentArity(e,n)),e=>{const t=checkTypeArguments(e,n,!0);return t?getSignatureInstantiation(e,t,isInJSFile(e.declaration)):e})}}function checkSatisfiesExpressionWorker(e,t,n){const r=checkExpression(e,n),i=getTypeFromTypeNode(t);if(isErrorType(i))return i;return checkTypeAssignableToAndOptionallyElaborate(r,i,findAncestor(t.parent,e=>239===e.kind||351===e.kind),e,Ot.Type_0_does_not_satisfy_the_expected_type_1),r}function checkMetaProperty(e){return function checkGrammarMetaProperty(e){const t=e.name.escapedText;switch(e.keywordToken){case 105:if("target"!==t)return grammarErrorOnNode(e.name,Ot._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,unescapeLeadingUnderscores(e.name.escapedText),tokenToString(e.keywordToken),"target");break;case 102:if("meta"!==t){const n=isCallExpression(e.parent)&&e.parent.expression===e;if("defer"!==t)return n?grammarErrorOnNode(e.name,Ot._0_is_not_a_valid_meta_property_for_keyword_import_Did_you_mean_meta_or_defer,unescapeLeadingUnderscores(e.name.escapedText)):grammarErrorOnNode(e.name,Ot._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,unescapeLeadingUnderscores(e.name.escapedText),tokenToString(e.keywordToken),"meta");if(!n)return grammarErrorAtPos(e,e.end,0,Ot._0_expected,"(")}}}(e),105===e.keywordToken?checkNewTargetMetaProperty(e):102===e.keywordToken?"defer"===e.name.escapedText?(h.assert(!isCallExpression(e.parent)||e.parent.expression!==e,"Trying to get the type of `import.defer` in `import.defer(...)`"),Ie):function checkImportMetaProperty(e){100<=v&&v<=199?99!==getSourceFileOfNode(e).impliedNodeFormat&&error2(e,Ot.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output):v<6&&4!==v&&error2(e,Ot.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_node20_or_nodenext);const t=getSourceFileOfNode(e);return h.assert(!!(8388608&t.flags),"Containing file is missing import meta node flag."),"meta"===e.name.escapedText?getGlobalImportMetaType():Ie}(e):h.assertNever(e.keywordToken)}function checkMetaPropertyKeyword(e){switch(e.keywordToken){case 102:return getGlobalImportMetaExpressionType();case 105:const t=checkNewTargetMetaProperty(e);return isErrorType(t)?Ie:function createNewTargetExpressionType(e){const t=createSymbol(0,"NewTargetExpression"),n=createSymbol(4,"target",8);n.parent=t,n.links.type=e;const r=createSymbolTable([n]);return t.members=r,createAnonymousType(t,r,l,l,l)}(t);default:h.assertNever(e.keywordToken)}}function checkNewTargetMetaProperty(e){const t=getNewTargetContainer(e);if(t){if(177===t.kind){return getTypeOfSymbol(getSymbolOfDeclaration(t.parent))}return getTypeOfSymbol(getSymbolOfDeclaration(t))}return error2(e,Ot.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor,"new.target"),Ie}function getTypeOfParameter(e){const t=e.valueDeclaration;return addOptionality(getTypeOfSymbol(e),!1,!!t&&(hasInitializer(t)||isOptionalDeclaration(t)))}function getTupleElementLabelFromBindingElement(e,t,n){switch(e.name.kind){case 80:{const r=e.name.escapedText;return e.dotDotDotToken?12&n?r:`${r}_${t}`:3&n?r:`${r}_n`}case 208:if(e.dotDotDotToken){const r=e.name.elements,i=tryCast(lastOrUndefined(r),isBindingElement),o=r.length-((null==i?void 0:i.dotDotDotToken)?1:0);if(t<o){const e=r[t];if(isBindingElement(e))return getTupleElementLabelFromBindingElement(e,t,n)}else if(null==i?void 0:i.dotDotDotToken)return getTupleElementLabelFromBindingElement(i,t-o,n)}}return`arg_${t}`}function getTupleElementLabel(e,t=0,n=3,r){if(!e){const e=tryCast(null==r?void 0:r.valueDeclaration,isParameter);return e?getTupleElementLabelFromBindingElement(e,t,n):`${(null==r?void 0:r.escapedName)??"arg"}_${t}`}return h.assert(isIdentifier(e.name)),e.name.escapedText}function getParameterNameAtPosition(e,t,n){var r;const i=e.parameters.length-(signatureHasRestParameter(e)?1:0);if(t<i)return e.parameters[t].escapedName;const o=e.parameters[i]||ve,a=n||getTypeOfSymbol(o);if(isTupleType(a)){const e=a.target,n=t-i;return getTupleElementLabel(null==(r=e.labeledElementDeclarations)?void 0:r[n],n,e.elementFlags[n],o)}return o.escapedName}function getParameterDeclarationIdentifier(e){return e.valueDeclaration&&isParameter(e.valueDeclaration)&&isIdentifier(e.valueDeclaration.name)&&e.valueDeclaration.name}function isValidDeclarationForTupleLabel(e){return 203===e.kind||isParameter(e)&&e.name&&isIdentifier(e.name)}function getNameableDeclarationAtPosition(e,t){const n=e.parameters.length-(signatureHasRestParameter(e)?1:0);if(t<n){const n=e.parameters[t].valueDeclaration;return n&&isValidDeclarationForTupleLabel(n)?n:void 0}const r=e.parameters[n]||ve,i=getTypeOfSymbol(r);if(isTupleType(i)){const e=i.target.labeledElementDeclarations;return e&&e[t-n]}return r.valueDeclaration&&isValidDeclarationForTupleLabel(r.valueDeclaration)?r.valueDeclaration:void 0}function getTypeAtPosition(e,t){return tryGetTypeAtPosition(e,t)||ke}function tryGetTypeAtPosition(e,t){const n=e.parameters.length-(signatureHasRestParameter(e)?1:0);if(t<n)return getTypeOfParameter(e.parameters[t]);if(signatureHasRestParameter(e)){const r=getTypeOfSymbol(e.parameters[n]),i=t-n;if(!isTupleType(r)||12&r.target.combinedFlags||i<r.target.fixedLength)return getIndexedAccessType(r,getNumberLiteralType(i))}}function getRestTypeAtPosition(e,t,n){const r=getParameterCount(e),i=getMinArgumentCount(e),o=getEffectiveRestType(e);if(o&&t>=r-1)return t===r-1?o:createArrayType(getIndexedAccessType(o,Ve));const a=[],s=[],c=[];for(let n=t;n<r;n++)!o||n<r-1?(a.push(getTypeAtPosition(e,n)),s.push(n<i?1:2)):(a.push(o),s.push(8)),c.push(getNameableDeclarationAtPosition(e,n));return createTupleType(a,s,n,c)}function getRestOrAnyTypeAtPosition(e,t){const n=getRestTypeAtPosition(e,t),r=n&&getElementTypeOfArrayType(n);return r&&isTypeAny(r)?ke:n}function getParameterCount(e){const t=e.parameters.length;if(signatureHasRestParameter(e)){const n=getTypeOfSymbol(e.parameters[t-1]);if(isTupleType(n))return t+n.target.fixedLength-(12&n.target.combinedFlags?0:1)}return t}function getMinArgumentCount(e,t){const n=1&t,r=2&t;if(r||void 0===e.resolvedMinArgumentCount){let t;if(signatureHasRestParameter(e)){const n=getTypeOfSymbol(e.parameters[e.parameters.length-1]);if(isTupleType(n)){const r=findIndex(n.target.elementFlags,e=>!(1&e)),i=r<0?n.target.fixedLength:r;i>0&&(t=e.parameters.length-1+i)}}if(void 0===t){if(!n&&32&e.flags)return 0;t=e.minArgumentCount}if(r)return t;for(let n=t-1;n>=0;n--){if(131072&filterType(getTypeAtPosition(e,n),acceptsVoid).flags)break;t=n}e.resolvedMinArgumentCount=t}return e.resolvedMinArgumentCount}function hasEffectiveRestParameter(e){if(signatureHasRestParameter(e)){const t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);return!isTupleType(t)||!!(12&t.target.combinedFlags)}return!1}function getEffectiveRestType(e){if(signatureHasRestParameter(e)){const t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);if(!isTupleType(t))return isTypeAny(t)?Xt:t;if(12&t.target.combinedFlags)return sliceTupleType(t,t.target.fixedLength)}}function getNonArrayRestType(e){const t=getEffectiveRestType(e);return!t||isArrayType(t)||isTypeAny(t)?void 0:t}function getTypeOfFirstParameterOfSignature(e){return getTypeOfFirstParameterOfSignatureWithFallback(e,tt)}function getTypeOfFirstParameterOfSignatureWithFallback(e,t){return e.parameters.length>0?getTypeAtPosition(e,0):t}function inferFromAnnotatedParametersAndReturn(e,t,n){const r=e.parameters.length-(signatureHasRestParameter(e)?1:0);for(let i=0;i<r;i++){const r=e.parameters[i].valueDeclaration,o=getEffectiveTypeAnnotationNode(r);if(o){const e=addOptionality(getTypeFromTypeNode(o),!1,isOptionalDeclaration(r)),a=getTypeAtPosition(t,i);inferTypes(n.inferences,e,a)}}const i=e.declaration&&getEffectiveReturnTypeNode(e.declaration);if(i){const e=getTypeFromTypeNode(i),r=getReturnTypeOfSignature(t);inferTypes(n.inferences,e,r)}}function assignParameterType(e,t){const n=getSymbolLinks(e);if(n.type)t&&h.assertEqual(n.type,t,"Parameter symbol already has a cached type which differs from newly assigned type");else{const r=e.valueDeclaration;n.type=addOptionality(t||(r?getWidenedTypeForVariableLikeDeclaration(r,!0):getTypeOfSymbol(e)),!1,!!r&&!r.initializer&&isOptionalDeclaration(r)),r&&80!==r.name.kind&&(n.type===Le&&(n.type=getTypeFromBindingPattern(r.name)),assignBindingElementTypes(r.name,n.type))}}function assignBindingElementTypes(e,t){for(const n of e.elements)if(!isOmittedExpression(n)){const e=getBindingElementTypeFromParentType(n,t,!1);80===n.name.kind?getSymbolLinks(getSymbolOfDeclaration(n)).type=e:assignBindingElementTypes(n.name,e)}}function createClassDecoratorContextType(e){return tryCreateTypeReference(function getGlobalClassDecoratorContextType(e){return Hn??(Hn=getGlobalType("ClassDecoratorContext",1,e))??Et}(!0),[e])}function createClassMethodDecoratorContextType(e,t){return tryCreateTypeReference(function getGlobalClassMethodDecoratorContextType(e){return Qn??(Qn=getGlobalType("ClassMethodDecoratorContext",2,e))??Et}(!0),[e,t])}function createClassGetterDecoratorContextType(e,t){return tryCreateTypeReference(function getGlobalClassGetterDecoratorContextType(e){return Xn??(Xn=getGlobalType("ClassGetterDecoratorContext",2,e))??Et}(!0),[e,t])}function createClassSetterDecoratorContextType(e,t){return tryCreateTypeReference(function getGlobalClassSetterDecoratorContextType(e){return tr??(tr=getGlobalType("ClassSetterDecoratorContext",2,e))??Et}(!0),[e,t])}function createClassAccessorDecoratorContextType(e,t){return tryCreateTypeReference(function getGlobalClassAccessorDecoratorContextType(e){return nr??(nr=getGlobalType("ClassAccessorDecoratorContext",2,e))??Et}(!0),[e,t])}function createClassFieldDecoratorContextType(e,t){return tryCreateTypeReference(function getGlobalClassFieldDecoratorContextType(e){return sr??(sr=getGlobalType("ClassFieldDecoratorContext",2,e))??Et}(!0),[e,t])}function createClassMemberDecoratorContextTypeForNode(e,t,n){const r=hasStaticModifier(e),i=isPrivateIdentifier(e.name),o=i?getStringLiteralType(idText(e.name)):getLiteralTypeFromPropertyName(e.name),a=isMethodDeclaration(e)?createClassMethodDecoratorContextType(t,n):isGetAccessorDeclaration(e)?createClassGetterDecoratorContextType(t,n):isSetAccessorDeclaration(e)?createClassSetterDecoratorContextType(t,n):isAutoAccessorPropertyDeclaration(e)?createClassAccessorDecoratorContextType(t,n):isPropertyDeclaration(e)?createClassFieldDecoratorContextType(t,n):h.failBadSyntaxKind(e),s=function getClassMemberDecoratorContextOverrideType(e,t,n){const r=`${t?"p":"P"}${n?"s":"S"}${e.id}`;let i=ye.get(r);if(!i){const o=createSymbolTable();o.set("name",createProperty("name",e)),o.set("private",createProperty("private",t?Ge:He)),o.set("static",createProperty("static",n?Ge:He)),i=createAnonymousType(void 0,o,l,l,l),ye.set(r,i)}return i}(o,i,r);return getIntersectionType([a,s])}function createClassAccessorDecoratorTargetType(e,t){return tryCreateTypeReference(function getGlobalClassAccessorDecoratorTargetType(e){return rr??(rr=getGlobalType("ClassAccessorDecoratorTarget",2,e))??Et}(!0),[e,t])}function createClassAccessorDecoratorResultType(e,t){return tryCreateTypeReference(function getGlobalClassAccessorDecoratorResultType(e){return ar??(ar=getGlobalType("ClassAccessorDecoratorResult",2,e))??Et}(!0),[e,t])}function createESDecoratorCallSignature(e,t,n){return createCallSignature(void 0,void 0,[createParameter2("target",e),createParameter2("context",t)],getUnionType([n,et]))}function getESDecoratorCallSignature(e){const{parent:t}=e,n=getNodeLinks(t);if(!n.decoratorSignature)switch(n.decoratorSignature=_r,t.kind){case 264:case 232:{const e=getTypeOfSymbol(getSymbolOfDeclaration(t)),r=createClassDecoratorContextType(e);n.decoratorSignature=createESDecoratorCallSignature(e,r,e);break}case 175:case 178:case 179:{const e=t;if(!isClassLike(e.parent))break;const r=isMethodDeclaration(e)?getOrCreateTypeFromSignature(getSignatureFromDeclaration(e)):getTypeOfNode(e),i=hasStaticModifier(e)?getTypeOfSymbol(getSymbolOfDeclaration(e.parent)):getDeclaredTypeOfClassOrInterface(getSymbolOfDeclaration(e.parent)),o=isGetAccessorDeclaration(e)?createGetterFunctionType(r):isSetAccessorDeclaration(e)?createSetterFunctionType(r):r,a=createClassMemberDecoratorContextTypeForNode(e,i,r),s=isGetAccessorDeclaration(e)?createGetterFunctionType(r):isSetAccessorDeclaration(e)?createSetterFunctionType(r):r;n.decoratorSignature=createESDecoratorCallSignature(o,a,s);break}case 173:{const e=t;if(!isClassLike(e.parent))break;const r=getTypeOfNode(e),i=hasStaticModifier(e)?getTypeOfSymbol(getSymbolOfDeclaration(e.parent)):getDeclaredTypeOfClassOrInterface(getSymbolOfDeclaration(e.parent)),o=hasAccessorModifier(e)?createClassAccessorDecoratorTargetType(i,r):Me,a=createClassMemberDecoratorContextTypeForNode(e,i,r),s=hasAccessorModifier(e)?createClassAccessorDecoratorResultType(i,r):function createClassFieldDecoratorInitializerMutatorType(e,t){return createFunctionType(void 0,createParameter2("this",e),[createParameter2("value",t)],t,void 0,1)}(i,r);n.decoratorSignature=createESDecoratorCallSignature(o,a,s);break}}return n.decoratorSignature===_r?void 0:n.decoratorSignature}function getDecoratorCallSignature(e){return b?function getLegacyDecoratorCallSignature(e){const{parent:t}=e,n=getNodeLinks(t);if(!n.decoratorSignature)switch(n.decoratorSignature=_r,t.kind){case 264:case 232:{const e=getTypeOfSymbol(getSymbolOfDeclaration(t)),r=createParameter2("target",e);n.decoratorSignature=createCallSignature(void 0,void 0,[r],getUnionType([e,et]));break}case 170:{const e=t;if(!isConstructorDeclaration(e.parent)&&!(isMethodDeclaration(e.parent)||isSetAccessorDeclaration(e.parent)&&isClassLike(e.parent.parent)))break;if(getThisParameter(e.parent)===e)break;const r=getThisParameter(e.parent)?e.parent.parameters.indexOf(e)-1:e.parent.parameters.indexOf(e);h.assert(r>=0);const i=isConstructorDeclaration(e.parent)?getTypeOfSymbol(getSymbolOfDeclaration(e.parent.parent)):getParentTypeOfClassElement(e.parent),o=isConstructorDeclaration(e.parent)?Me:getClassElementPropertyKeyType(e.parent),a=getNumberLiteralType(r),s=createParameter2("target",i),c=createParameter2("propertyKey",o),l=createParameter2("parameterIndex",a);n.decoratorSignature=createCallSignature(void 0,void 0,[s,c,l],et);break}case 175:case 178:case 179:case 173:{const e=t;if(!isClassLike(e.parent))break;const r=createParameter2("target",getParentTypeOfClassElement(e)),i=createParameter2("propertyKey",getClassElementPropertyKeyType(e)),o=isPropertyDeclaration(e)?et:createTypedPropertyDescriptorType(getTypeOfNode(e));if(!isPropertyDeclaration(t)||hasAccessorModifier(t)){const t=createParameter2("descriptor",createTypedPropertyDescriptorType(getTypeOfNode(e)));n.decoratorSignature=createCallSignature(void 0,void 0,[r,i,t],getUnionType([o,et]))}else n.decoratorSignature=createCallSignature(void 0,void 0,[r,i],getUnionType([o,et]));break}}return n.decoratorSignature===_r?void 0:n.decoratorSignature}(e):getESDecoratorCallSignature(e)}function createPromiseType(e){const t=getGlobalPromiseType(!0);return t!==Et?createTypeReference(t,[e=getAwaitedTypeNoAlias(unwrapAwaitedType(e))||Le]):Le}function createPromiseLikeType(e){const t=getGlobalPromiseLikeType(!0);return t!==Et?createTypeReference(t,[e=getAwaitedTypeNoAlias(unwrapAwaitedType(e))||Le]):Le}function createPromiseReturnType(e,t){const n=createPromiseType(t);return n===Le?(error2(e,isImportCall(e)?Ot.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:Ot.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option),Ie):(getGlobalPromiseConstructorSymbol(!0)||error2(e,isImportCall(e)?Ot.A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:Ot.An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option),n)}function getReturnTypeFromBody(e,t){if(!e.body)return Ie;const n=getFunctionFlags(e),r=!!(2&n),i=!!(1&n);let o,a,s,c=et;if(242!==e.body.kind)o=checkExpressionCached(e.body,t&&-9&t),r&&(o=unwrapAwaitedType(checkAwaitedType(o,!1,e,Ot.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)));else if(i){const n=checkAndAggregateReturnExpressionTypes(e,t);n?n.length>0&&(o=getUnionType(n,2)):c=tt;const{yieldTypes:r,nextTypes:i}=function checkAndAggregateYieldOperandTypes(e,t){const n=[],r=[],i=!!(2&getFunctionFlags(e));return forEachYieldExpression(e.body,e=>{const o=e.expression?checkExpression(e.expression,t):Re;let a;if(pushIfUnique(n,getYieldedTypeOfYieldExpression(e,o,ke,i)),e.asteriskToken){const t=getIterationTypesOfIterable(o,i?19:17,e.expression);a=t&&t.nextType}else a=getContextualType2(e,void 0);a&&pushIfUnique(r,a)}),{yieldTypes:n,nextTypes:r}}(e,t);a=some(r)?getUnionType(r,2):void 0,s=some(i)?getIntersectionType(i):void 0}else{const r=checkAndAggregateReturnExpressionTypes(e,t);if(!r)return 2&n?createPromiseReturnType(e,tt):tt;if(0===r.length){const t=getContextualReturnType(e,void 0),r=t&&32768&(unwrapReturnType(t,n)||et).flags?Me:et;return 2&n?createPromiseReturnType(e,r):r}o=getUnionType(r,2)}if(o||a||s){if(a&&reportErrorsFromWidening(e,a,3),o&&reportErrorsFromWidening(e,o,1),s&&reportErrorsFromWidening(e,s,2),o&&isUnitType(o)||a&&isUnitType(a)||s&&isUnitType(s)){const t=getContextualSignatureForFunctionLikeDeclaration(e),n=t?t===getSignatureFromDeclaration(e)?i?void 0:o:instantiateContextualType(getReturnTypeOfSignature(t),e,void 0):void 0;i?(a=getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(a,n,0,r),o=getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(o,n,1,r),s=getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(s,n,2,r)):o=function getWidenedLiteralLikeTypeForContextualReturnTypeIfNeeded(e,t,n){e&&isUnitType(e)&&(e=getWidenedLiteralLikeTypeForContextualType(e,t?n?getPromisedTypeOfPromise(t):t:void 0));return e}(o,n,r)}a&&(a=getWidenedType(a)),o&&(o=getWidenedType(o)),s&&(s=getWidenedType(s))}return i?createGeneratorType(a||tt,o||c,s||getContextualIterationType(2,e)||Le,r):r?createPromiseType(o||c):o||c}function createGeneratorType(e,t,n,r){const i=r?Cr:Er,o=i.getGlobalGeneratorType(!1);if(e=i.resolveIterationType(e,void 0)||Le,t=i.resolveIterationType(t,void 0)||Le,o===Et){const r=i.getGlobalIterableIteratorType(!1);return r!==Et?createTypeFromGenericGlobalType(r,[e,t,n]):(i.getGlobalIterableIteratorType(!0),ht)}return createTypeFromGenericGlobalType(o,[e,t,n])}function getYieldedTypeOfYieldExpression(e,t,n,r){if(t===nt)return nt;const i=e.expression||e,o=e.asteriskToken?checkIteratedTypeOrElementType(r?19:17,t,n,i):t;return r?getAwaitedType(o,i,e.asteriskToken?Ot.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:Ot.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o}function getNotEqualFactsFromTypeofSwitch(e,t,n){let r=0;for(let i=0;i<n.length;i++){const o=i<e||i>=t?n[i]:void 0;r|=void 0!==o?ta.get(o)||32768:0}return r}function isExhaustiveSwitchStatement(e){const t=getNodeLinks(e);if(void 0===t.isExhaustive){t.isExhaustive=0;const n=function computeExhaustiveSwitchStatement(e){if(222===e.expression.kind){const t=getSwitchClauseTypeOfWitnesses(e);if(!t)return!1;const n=getBaseConstraintOrType(checkExpressionCached(e.expression.expression)),r=getNotEqualFactsFromTypeofSwitch(0,0,t);return 3&n.flags?!(556800&~r):!someType(n,e=>getTypeFacts(e,r)===r)}const t=getBaseConstraintOrType(checkExpressionCached(e.expression));if(!isLiteralType(t))return!1;const n=getSwitchClauseTypes(e);if(!n.length||some(n,isNeitherUnitTypeNorNever))return!1;return function eachTypeContainedIn(e,t){return 1048576&e.flags?!forEach(e.types,e=>!contains(t,e)):contains(t,e)}(mapType(t,getRegularTypeOfLiteralType),n)}(e);0===t.isExhaustive&&(t.isExhaustive=n)}else 0===t.isExhaustive&&(t.isExhaustive=!1);return t.isExhaustive}function functionHasImplicitReturn(e){return e.endFlowNode&&isReachableFlowNode(e.endFlowNode)}function checkAndAggregateReturnExpressionTypes(e,t){const n=getFunctionFlags(e),r=[];let i=functionHasImplicitReturn(e),o=!1;if(forEachReturnStatement(e.body,a=>{let s=a.expression;if(s){if(s=skipParentheses(s,!0),2&n&&224===s.kind&&(s=skipParentheses(s.expression,!0)),214===s.kind&&80===s.expression.kind&&checkExpressionCached(s.expression).symbol===getMergedSymbol(e.symbol)&&(!isFunctionExpressionOrArrowFunction(e.symbol.valueDeclaration)||isConstantReference(s.expression)))return void(o=!0);let i=checkExpressionCached(s,t&&-9&t);2&n&&(i=unwrapAwaitedType(checkAwaitedType(i,!1,e,Ot.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member))),131072&i.flags&&(o=!0),pushIfUnique(r,i)}else i=!0}),0!==r.length||i||!o&&!function mayReturnNever(e){switch(e.kind){case 219:case 220:return!0;case 175:return 211===e.parent.kind;default:return!1}}(e))return!(k&&r.length&&i)||isJSConstructor(e)&&r.some(t=>t.symbol===e.symbol)||pushIfUnique(r,Me),r}function checkAllCodePathsInNonVoidFunctionReturnOrThrow(e,t){return void addLazyDiagnostic(function checkAllCodePathsInNonVoidFunctionReturnOrThrowDiagnostics(){const n=getFunctionFlags(e),r=t&&unwrapReturnType(t,n);if(r&&(maybeTypeOfKind(r,16384)||32769&r.flags))return;if(174===e.kind||nodeIsMissing(e.body)||242!==e.body.kind||!functionHasImplicitReturn(e))return;const i=1024&e.flags,o=getEffectiveReturnTypeNode(e)||e;if(r&&131072&r.flags)error2(o,Ot.A_function_returning_never_cannot_have_a_reachable_end_point);else if(r&&!i)error2(o,Ot.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value);else if(r&&k&&!isTypeAssignableTo(Me,r))error2(o,Ot.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined);else if(S.noImplicitReturns){if(!r){if(!i)return;const t=getReturnTypeOfSignature(getSignatureFromDeclaration(e));if(isUnwrappedReturnTypeUndefinedVoidOrAny(e,t))return}error2(o,Ot.Not_all_code_paths_return_a_value)}})}function checkFunctionExpressionOrObjectLiteralMethod(e,t){if(h.assert(175!==e.kind||isObjectLiteralMethod(e)),checkNodeDeferred(e),isFunctionExpression(e)&&checkCollisionsForDeclarationName(e,e.name),t&&4&t&&isContextSensitive(e)){if(!getEffectiveReturnTypeNode(e)&&!hasContextSensitiveParameters(e)){const n=getContextualSignature(e);if(n&&couldContainTypeVariables(getReturnTypeOfSignature(n))){const n=getNodeLinks(e);if(n.contextFreeType)return n.contextFreeType;const r=getReturnTypeFromBody(e,t),i=createSignature(void 0,void 0,void 0,l,r,void 0,0,64),o=createAnonymousType(e.symbol,y,[i],l,l);return o.objectFlags|=262144,n.contextFreeType=o}}return Nt}return checkGrammarFunctionLikeDeclaration(e)||219!==e.kind||checkGrammarForGenerator(e),function contextuallyCheckFunctionExpressionOrObjectLiteralMethod(e,t){const n=getNodeLinks(e);if(!(64&n.flags)){const r=getContextualSignature(e);if(!(64&n.flags)){n.flags|=64;const i=firstOrUndefined(getSignaturesOfType(getTypeOfSymbol(getSymbolOfDeclaration(e)),0));if(!i)return;if(isContextSensitive(e))if(r){const n=getInferenceContext(e);let o;if(t&&2&t){inferFromAnnotatedParametersAndReturn(i,r,n);const e=getEffectiveRestType(r);e&&262144&e.flags&&(o=instantiateSignature(r,n.nonFixingMapper))}o||(o=n?instantiateSignature(r,n.mapper):r),function assignContextualParameterTypes(e,t){if(t.typeParameters){if(e.typeParameters)return;e.typeParameters=t.typeParameters}if(t.thisParameter){const n=e.thisParameter;(!n||n.valueDeclaration&&!n.valueDeclaration.type)&&(n||(e.thisParameter=createSymbolWithType(t.thisParameter,void 0)),assignParameterType(e.thisParameter,getTypeOfSymbol(t.thisParameter)))}const n=e.parameters.length-(signatureHasRestParameter(e)?1:0);for(let r=0;r<n;r++){const n=e.parameters[r],i=n.valueDeclaration;if(!getEffectiveTypeAnnotationNode(i)){let e=tryGetTypeAtPosition(t,r);if(e&&i.initializer){let t=checkDeclarationInitializer(i,0);!isTypeAssignableTo(t,e)&&isTypeAssignableTo(e,t=widenTypeInferredFromInitializer(i,t))&&(e=t)}assignParameterType(n,e)}}if(signatureHasRestParameter(e)){const r=last(e.parameters);(r.valueDeclaration?!getEffectiveTypeAnnotationNode(r.valueDeclaration):65536&getCheckFlags(r))&&assignParameterType(r,getRestTypeAtPosition(t,n))}}(i,o)}else!function assignNonContextualParameterTypes(e){e.thisParameter&&assignParameterType(e.thisParameter);for(const t of e.parameters)assignParameterType(t)}(i);else if(r&&!e.typeParameters&&r.parameters.length>e.parameters.length){const n=getInferenceContext(e);t&&2&t&&inferFromAnnotatedParametersAndReturn(i,r,n)}if(r&&!getReturnTypeFromAnnotation(e)&&!i.resolvedReturnType){const n=getReturnTypeFromBody(e,t);i.resolvedReturnType||(i.resolvedReturnType=n)}checkSignatureDeclaration(e)}}}(e,t),getTypeOfSymbol(getSymbolOfDeclaration(e))}function checkArithmeticOperandType(e,t,n,r=!1){if(!isTypeAssignableTo(t,ct)){const i=r&&getAwaitedTypeOfPromise(t);return errorAndMaybeSuggestAwait(e,!!i&&isTypeAssignableTo(i,ct),n),!1}return!0}function isReadonlyAssignmentDeclaration(e){if(!isCallExpression(e))return!1;if(!isBindableObjectDefinePropertyCall(e))return!1;const t=checkExpressionCached(e.arguments[2]);if(getTypeOfPropertyOfType(t,"value")){const e=getPropertyOfType(t,"writable"),n=e&&getTypeOfSymbol(e);if(!n||n===He||n===Ke)return!0;if(e&&e.valueDeclaration&&isPropertyAssignment(e.valueDeclaration)){const t=checkExpression(e.valueDeclaration.initializer);if(t===He||t===Ke)return!0}return!1}return!getPropertyOfType(t,"set")}function isReadonlySymbol(e){return!!(8&getCheckFlags(e)||4&e.flags&&8&getDeclarationModifierFlagsFromSymbol(e)||3&e.flags&&6&getDeclarationNodeFlagsFromSymbol(e)||98304&e.flags&&!(65536&e.flags)||8&e.flags||some(e.declarations,isReadonlyAssignmentDeclaration))}function isAssignmentToReadonlyEntity(e,t,n){var r,i;if(0===n)return!1;if(isReadonlySymbol(t)){if(4&t.flags&&isAccessExpression(e)&&110===e.expression.kind){const n=getControlFlowContainer(e);if(!n||177!==n.kind&&!isJSConstructor(n))return!0;if(t.valueDeclaration){const e=isBinaryExpression(t.valueDeclaration),o=n.parent===t.valueDeclaration.parent,a=n===t.valueDeclaration.parent,s=e&&(null==(r=t.parent)?void 0:r.valueDeclaration)===n.parent,c=e&&(null==(i=t.parent)?void 0:i.valueDeclaration)===n;return!(o||a||s||c)}}return!0}if(isAccessExpression(e)){const t=skipParentheses(e.expression);if(80===t.kind){const e=getNodeLinks(t).resolvedSymbol;if(2097152&e.flags){const t=getDeclarationOfAliasSymbol(e);return!!t&&275===t.kind}}}return!1}function checkReferenceExpression(e,t,n){const r=skipOuterExpressions(e,39);return 80===r.kind||isAccessExpression(r)?!(64&r.flags)||(error2(e,n),!1):(error2(e,t),!1)}function checkDeleteExpression(e){checkExpression(e.expression);const t=skipParentheses(e.expression);if(!isAccessExpression(t))return error2(t,Ot.The_operand_of_a_delete_operator_must_be_a_property_reference),Ye;isPropertyAccessExpression(t)&&isPrivateIdentifier(t.name)&&error2(t,Ot.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);const n=getExportSymbolOfValueSymbolIfExported(getNodeLinks(t).resolvedSymbol);return n&&(isReadonlySymbol(n)?error2(t,Ot.The_operand_of_a_delete_operator_cannot_be_a_read_only_property):function checkDeleteExpressionMustBeOptional(e,t){const n=getTypeOfSymbol(t);!k||131075&n.flags||(L?16777216&t.flags:hasTypeFacts(n,16777216))||error2(e,Ot.The_operand_of_a_delete_operator_must_be_optional)}(t,n)),Ye}function checkAwaitGrammar(e){let t=!1;const n=getContainingFunctionOrClassStaticBlock(e);if(n&&isClassStaticBlockDeclaration(n)){error2(e,isAwaitExpression(e)?Ot.await_expression_cannot_be_used_inside_a_class_static_block:Ot.await_using_statements_cannot_be_used_inside_a_class_static_block),t=!0}else if(!(65536&e.flags))if(isInTopLevelContext(e)){const n=getSourceFileOfNode(e);if(!hasParseDiagnostics(n)){let r;if(!isEffectiveExternalModule(n,S)){r??(r=getSpanOfTokenAtPosition(n,e.pos));const i=isAwaitExpression(e)?Ot.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:Ot.await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module,o=createFileDiagnostic(n,r.start,r.length,i);vi.add(o),t=!0}switch(v){case 100:case 101:case 102:case 199:if(1===n.impliedNodeFormat){r??(r=getSpanOfTokenAtPosition(n,e.pos)),vi.add(createFileDiagnostic(n,r.start,r.length,Ot.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)),t=!0;break}case 7:case 99:case 200:case 4:if(x>=4)break;default:r??(r=getSpanOfTokenAtPosition(n,e.pos));const i=isAwaitExpression(e)?Ot.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:Ot.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher;vi.add(createFileDiagnostic(n,r.start,r.length,i)),t=!0}}}else{const r=getSourceFileOfNode(e);if(!hasParseDiagnostics(r)){const i=getSpanOfTokenAtPosition(r,e.pos),o=isAwaitExpression(e)?Ot.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:Ot.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules,a=createFileDiagnostic(r,i.start,i.length,o);if(n&&177!==n.kind&&!(2&getFunctionFlags(n))){addRelatedInfo(a,createDiagnosticForNode(n,Ot.Did_you_mean_to_mark_this_function_as_async))}vi.add(a),t=!0}}return isAwaitExpression(e)&&isInParameterInitializerBeforeContainingFunction(e)&&(error2(e,Ot.await_expressions_cannot_be_used_in_a_parameter_initializer),t=!0),t}function getUnaryResultType(e){return maybeTypeOfKind(e,2112)?isTypeAssignableToKind(e,3)||maybeTypeOfKind(e,296)?ct:qe:Ve}function maybeTypeOfKindConsideringBaseConstraint(e,t){if(maybeTypeOfKind(e,t))return!0;const n=getBaseConstraintOrType(e);return!!n&&maybeTypeOfKind(n,t)}function maybeTypeOfKind(e,t){if(e.flags&t)return!0;if(3145728&e.flags){const n=e.types;for(const e of n)if(maybeTypeOfKind(e,t))return!0}return!1}function isTypeAssignableToKind(e,t,n){return!!(e.flags&t)||!(n&&114691&e.flags)&&(!!(296&t)&&isTypeAssignableTo(e,Ve)||!!(2112&t)&&isTypeAssignableTo(e,qe)||!!(402653316&t)&&isTypeAssignableTo(e,ze)||!!(528&t)&&isTypeAssignableTo(e,Ye)||!!(16384&t)&&isTypeAssignableTo(e,et)||!!(131072&t)&&isTypeAssignableTo(e,tt)||!!(65536&t)&&isTypeAssignableTo(e,We)||!!(32768&t)&&isTypeAssignableTo(e,Me)||!!(4096&t)&&isTypeAssignableTo(e,Ze)||!!(67108864&t)&&isTypeAssignableTo(e,ot))}function allTypesAssignableToKind(e,t,n){return 1048576&e.flags?every(e.types,e=>allTypesAssignableToKind(e,t,n)):isTypeAssignableToKind(e,t,n)}function isConstEnumObjectType(e){return!!(16&getObjectFlags(e))&&!!e.symbol&&isConstEnumSymbol(e.symbol)}function isConstEnumSymbol(e){return!!(128&e.flags)}function getSymbolHasInstanceMethodOfObjectType(e){const t=getPropertyNameForKnownSymbolName("hasInstance");if(allTypesAssignableToKind(e,67108864)){const n=getPropertyOfType(e,t);if(n){const e=getTypeOfSymbol(n);if(e&&0!==getSignaturesOfType(e,0).length)return e}}}function checkInExpression(e,t,n,r){if(n===nt||r===nt)return nt;if(isPrivateIdentifier(e)){if((x<lt.PrivateNamesAndClassStaticBlocks||x<lt.ClassAndClassElementDecorators||!C)&&checkExternalEmitHelpers(e,2097152),!getNodeLinks(e).resolvedSymbol&&getContainingClass(e)){reportNonexistentProperty(e,r,isUncheckedJSSuggestion(e,r.symbol,!0))}}else checkTypeAssignableTo(checkNonNullType(n,e),st,e);return checkTypeAssignableTo(checkNonNullType(r,t),ot,t)&&function hasEmptyObjectIntersection(e){return someType(e,e=>e===bt||!!(2097152&e.flags)&&isEmptyAnonymousObjectType(getBaseConstraintOrType(e)))}(r)&&error2(t,Ot.Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator,typeToString(r)),Ye}function checkObjectLiteralDestructuringPropertyAssignment(e,t,n,r,i=!1){const o=e.properties,a=o[n];if(304===a.kind||305===a.kind){const e=a.name,n=getLiteralTypeFromPropertyName(e);if(isTypeUsableAsPropertyName(n)){const e=getPropertyOfType(t,getPropertyNameFromType(n));e&&(markPropertyAsReferenced(e,a,i),checkPropertyAccessibility(a,!1,!0,t,e))}const r=getFlowTypeOfDestructuring(a,getIndexedAccessType(t,n,32|(hasDefaultValue(a)?16:0),e));return checkDestructuringAssignment(305===a.kind?a:a.initializer,r)}if(306===a.kind){if(!(n<o.length-1)){x<lt.ObjectSpreadRest&&checkExternalEmitHelpers(a,4);const e=[];if(r)for(const t of r)isSpreadAssignment(t)||e.push(t.name);const n=getRestType(t,e,t.symbol);return checkGrammarForDisallowedTrailingComma(r,Ot.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),checkDestructuringAssignment(a.expression,n)}error2(a,Ot.A_rest_element_must_be_last_in_a_destructuring_pattern)}else error2(a,Ot.Property_assignment_expected)}function checkArrayLiteralDestructuringElementAssignment(e,t,n,r,i){const o=e.elements,a=o[n];if(233!==a.kind){if(231!==a.kind){const e=getNumberLiteralType(n);if(isArrayLikeType(t)){const n=getIndexedAccessTypeOrUndefined(t,e,32|(hasDefaultValue(a)?16:0),createSyntheticExpression(a,e))||Ie;return checkDestructuringAssignment(a,getFlowTypeOfDestructuring(a,hasDefaultValue(a)?getTypeWithFacts(n,524288):n),i)}return checkDestructuringAssignment(a,r,i)}if(n<o.length-1)error2(a,Ot.A_rest_element_must_be_last_in_a_destructuring_pattern);else{const o=a.expression;if(227!==o.kind||64!==o.operatorToken.kind){checkGrammarForDisallowedTrailingComma(e.elements,Ot.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma);return checkDestructuringAssignment(o,everyType(t,isTupleType)?mapType(t,e=>sliceTupleType(e,n)):createArrayType(r),i)}error2(o.operatorToken,Ot.A_rest_element_cannot_have_an_initializer)}}}function checkDestructuringAssignment(e,t,n,r){let i;if(305===e.kind){const r=e;r.objectAssignmentInitializer&&(k&&!hasTypeFacts(checkExpression(r.objectAssignmentInitializer),16777216)&&(t=getTypeWithFacts(t,524288)),function checkBinaryLikeExpression(e,t,n,r,i){const o=t.kind;if(64===o&&(211===e.kind||210===e.kind))return checkDestructuringAssignment(e,checkExpression(n,r),r,110===n.kind);let a;a=isBinaryLogicalOperator(o)?checkTruthinessExpression(e,r):checkExpression(e,r);const s=checkExpression(n,r);return checkBinaryLikeExpressionWorker(e,t,n,a,s,r,i)}(r.name,r.equalsToken,r.objectAssignmentInitializer,n)),i=e.name}else i=e;return 227===i.kind&&64===i.operatorToken.kind&&(R(i,n),i=i.left,k&&(t=getTypeWithFacts(t,524288))),211===i.kind?function checkObjectLiteralAssignment(e,t,n){const r=e.properties;if(k&&0===r.length)return checkNonNullType(t,e);for(let i=0;i<r.length;i++)checkObjectLiteralDestructuringPropertyAssignment(e,t,i,r,n);return t}(i,t,r):210===i.kind?function checkArrayLiteralAssignment(e,t,n){const r=e.elements;x<lt.DestructuringAssignment&&S.downlevelIteration&&checkExternalEmitHelpers(e,512);const i=checkIteratedTypeOrElementType(193,t,Me,e)||Ie;let o=S.noUncheckedIndexedAccess?void 0:i;for(let a=0;a<r.length;a++){let r=i;231===e.elements[a].kind&&(r=o=o??(checkIteratedTypeOrElementType(65,t,Me,e)||Ie)),checkArrayLiteralDestructuringElementAssignment(e,t,a,r,n)}return t}(i,t,n):function checkReferenceAssignment(e,t,n){const r=checkExpression(e,n),i=306===e.parent.kind?Ot.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:Ot.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,o=306===e.parent.kind?Ot.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:Ot.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access;checkReferenceExpression(e,i,o)&&checkTypeAssignableToAndOptionallyElaborate(t,r,e,e);isPrivateIdentifierPropertyAccessExpression(e)&&checkExternalEmitHelpers(e.parent,1048576);return t}(i,t,n)}function isSideEffectFree(e){switch((e=skipParentheses(e)).kind){case 80:case 11:case 14:case 216:case 229:case 15:case 9:case 10:case 112:case 97:case 106:case 157:case 219:case 232:case 220:case 210:case 211:case 222:case 236:case 286:case 285:return!0;case 228:return isSideEffectFree(e.whenTrue)&&isSideEffectFree(e.whenFalse);case 227:return!isAssignmentOperator(e.operatorToken.kind)&&(isSideEffectFree(e.left)&&isSideEffectFree(e.right));case 225:case 226:switch(e.operator){case 54:case 40:case 41:case 55:return!0}return!1;default:return!1}}function isTypeEqualityComparableTo(e,t){return!!(98304&t.flags)||isTypeComparableTo(e,t)}function getSyntacticNullishnessSemantics(e){switch((e=skipOuterExpressions(e)).kind){case 224:case 214:case 216:case 213:case 237:case 215:case 212:case 230:case 110:return 3;case 227:switch(e.operatorToken.kind){case 64:case 61:case 78:case 57:case 76:case 56:case 77:return 3;case 28:return getSyntacticNullishnessSemantics(e.right)}return 2;case 228:return getSyntacticNullishnessSemantics(e.whenTrue)|getSyntacticNullishnessSemantics(e.whenFalse);case 106:return 1;case 80:return getResolvedSymbol(e)===V?1:3}return 2}function checkBinaryLikeExpressionWorker(e,t,n,r,i,o,a){const s=t.kind;switch(s){case 42:case 43:case 67:case 68:case 44:case 69:case 45:case 70:case 41:case 66:case 48:case 71:case 49:case 72:case 50:case 73:case 52:case 75:case 53:case 79:case 51:case 74:if(r===nt||i===nt)return nt;let l;if(r=checkNonNullType(r,e),i=checkNonNullType(i,n),528&r.flags&&528&i.flags&&void 0!==(l=function getSuggestedBooleanOperator(e){switch(e){case 52:case 75:return 57;case 53:case 79:return 38;case 51:case 74:return 56;default:return}}(t.kind)))return error2(a||t,Ot.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,tokenToString(t.kind),tokenToString(l)),Ve;{const o=checkArithmeticOperandType(e,r,Ot.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),c=checkArithmeticOperandType(n,i,Ot.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0);let l;if(isTypeAssignableToKind(r,3)&&isTypeAssignableToKind(i,3)||!maybeTypeOfKind(r,2112)&&!maybeTypeOfKind(i,2112))l=Ve;else if(bothAreBigIntLike(r,i)){switch(s){case 50:case 73:reportOperatorError();break;case 43:case 68:x<3&&error2(a,Ot.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later)}l=qe}else reportOperatorError(bothAreBigIntLike),l=Ie;if(o&&c)switch(checkAssignmentOperator(l),s){case 48:case 71:case 49:case 72:case 50:case 73:const r=U(n);"number"==typeof r.value&&Math.abs(r.value)>=32&&errorOrSuggestion(isEnumMember(walkUpParenthesizedExpressions(n.parent.parent)),a||t,Ot.This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2,getTextOfNode(e),tokenToString(s),r.value%32)}return l}case 40:case 65:if(r===nt||i===nt)return nt;let d;if(isTypeAssignableToKind(r,402653316)||isTypeAssignableToKind(i,402653316)||(r=checkNonNullType(r,e),i=checkNonNullType(i,n)),isTypeAssignableToKind(r,296,!0)&&isTypeAssignableToKind(i,296,!0)?d=Ve:isTypeAssignableToKind(r,2112,!0)&&isTypeAssignableToKind(i,2112,!0)?d=qe:isTypeAssignableToKind(r,402653316,!0)||isTypeAssignableToKind(i,402653316,!0)?d=ze:(isTypeAny(r)||isTypeAny(i))&&(d=isErrorType(r)||isErrorType(i)?Ie:ke),d&&!checkForDisallowedESSymbolOperand(s))return d;if(!d){const e=402655727;return reportOperatorError((t,n)=>isTypeAssignableToKind(t,e)&&isTypeAssignableToKind(n,e)),ke}return 65===s&&checkAssignmentOperator(d),d;case 30:case 32:case 33:case 34:return checkForDisallowedESSymbolOperand(s)&&(r=getBaseTypeOfLiteralTypeForComparison(checkNonNullType(r,e)),i=getBaseTypeOfLiteralTypeForComparison(checkNonNullType(i,n)),reportOperatorErrorUnless((e,t)=>{if(isTypeAny(e)||isTypeAny(t))return!0;const n=isTypeAssignableTo(e,ct),r=isTypeAssignableTo(t,ct);return n&&r||!n&&!r&&areTypesComparable(e,t)})),Ye;case 35:case 36:case 37:case 38:if(!(o&&64&o)){if((isLiteralExpressionOfObject(e)||isLiteralExpressionOfObject(n))&&(!isInJSFile(e)||37===s||38===s)){const e=35===s||37===s;error2(a,Ot.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value,e?"false":"true")}!function checkNaNEquality(e,t,n,r){const i=isGlobalNaN(skipParentheses(n)),o=isGlobalNaN(skipParentheses(r));if(i||o){const a=error2(e,Ot.This_condition_will_always_return_0,tokenToString(37===t||35===t?97:112));if(i&&o)return;const s=38===t||36===t?tokenToString(54):"",c=i?r:n,l=skipParentheses(c);addRelatedInfo(a,createDiagnosticForNode(c,Ot.Did_you_mean_0,`${s}Number.isNaN(${isEntityNameExpression(l)?entityNameToString(l):"..."})`))}}(a,s,e,n),reportOperatorErrorUnless((e,t)=>isTypeEqualityComparableTo(e,t)||isTypeEqualityComparableTo(t,e))}return Ye;case 104:return function checkInstanceOfExpression(e,t,n,r,i){if(n===nt||r===nt)return nt;!isTypeAny(n)&&allTypesAssignableToKind(n,402784252)&&error2(e,Ot.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),h.assert(isInstanceOfExpression(e.parent));const o=getResolvedSignature(e.parent,void 0,i);return o===gr?nt:(checkTypeAssignableTo(getReturnTypeOfSignature(o),Ye,t,Ot.An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_hand_side_of_an_instanceof_expression),Ye)}(e,n,r,i,o);case 103:return checkInExpression(e,n,r,i);case 56:case 77:{const e=hasTypeFacts(r,4194304)?getUnionType([(c=k?r:getBaseTypeOfLiteralType(i),mapType(c,getDefinitelyFalsyPartOfType)),i]):r;return 77===s&&checkAssignmentOperator(i),e}case 57:case 76:{const e=hasTypeFacts(r,8388608)?getUnionType([getNonNullableType(removeDefinitelyFalsyTypes(r)),i],2):r;return 76===s&&checkAssignmentOperator(i),e}case 61:case 78:{const e=hasTypeFacts(r,262144)?getUnionType([getNonNullableType(r),i],2):r;return 78===s&&checkAssignmentOperator(i),e}case 64:const p=isBinaryExpression(e.parent)?getAssignmentDeclarationKind(e.parent):0;return function checkAssignmentDeclaration(e,t){if(2===e)for(const e of getPropertiesOfObjectType(t)){const t=getTypeOfSymbol(e);if(t.symbol&&32&t.symbol.flags){const t=e.escapedName,n=te(e.valueDeclaration,t,788968,void 0,!1);(null==n?void 0:n.declarations)&&n.declarations.some(isJSDocTypedefTag)&&(addDuplicateDeclarationErrorsForSymbols(n,Ot.Duplicate_identifier_0,unescapeLeadingUnderscores(t),e),addDuplicateDeclarationErrorsForSymbols(e,Ot.Duplicate_identifier_0,unescapeLeadingUnderscores(t),n))}}}(p,i),function isAssignmentDeclaration2(t){var r;switch(t){case 2:return!0;case 1:case 5:case 6:case 3:case 4:const t=getSymbolOfNode(e),i=getAssignedExpandoInitializer(n);return!!i&&isObjectLiteralExpression(i)&&!!(null==(r=null==t?void 0:t.exports)?void 0:r.size);default:return!1}}(p)?(524288&i.flags&&(2===p||6===p||isEmptyObjectType(i)||isFunctionObjectType(i)||1&getObjectFlags(i))||checkAssignmentOperator(i),r):(checkAssignmentOperator(i),i);case 28:if(!S.allowUnreachableCode&&isSideEffectFree(e)&&!function isIndirectCall(e){return 218===e.parent.kind&&isNumericLiteral(e.left)&&"0"===e.left.text&&(isCallExpression(e.parent.parent)&&e.parent.parent.expression===e.parent||216===e.parent.parent.kind)&&(isAccessExpression(e.right)||isIdentifier(e.right)&&"eval"===e.right.escapedText)}(e.parent)){const t=getSourceFileOfNode(e),n=skipTrivia(t.text,e.pos);t.parseDiagnostics.some(e=>e.code===Ot.JSX_expressions_must_have_one_parent_element.code&&textSpanContainsPosition(e,n))||error2(e,Ot.Left_side_of_comma_operator_is_unused_and_has_no_side_effects)}return i;default:return h.fail()}var c;function bothAreBigIntLike(e,t){return isTypeAssignableToKind(e,2112)&&isTypeAssignableToKind(t,2112)}function checkForDisallowedESSymbolOperand(t){const o=maybeTypeOfKindConsideringBaseConstraint(r,12288)?e:maybeTypeOfKindConsideringBaseConstraint(i,12288)?n:void 0;return!o||(error2(o,Ot.The_0_operator_cannot_be_applied_to_type_symbol,tokenToString(t)),!1)}function checkAssignmentOperator(i){isAssignmentOperator(s)&&addLazyDiagnostic(function checkAssignmentOperatorWorker(){let o=r;isCompoundAssignment(t.kind)&&212===e.kind&&(o=checkPropertyAccessExpression(e,void 0,!0));if(checkReferenceExpression(e,Ot.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,Ot.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access)){let t;if(L&&isPropertyAccessExpression(e)&&maybeTypeOfKind(i,32768)){const n=getTypeOfPropertyOfType(getTypeOfExpression(e.expression),e.name.escapedText);isExactOptionalPropertyMismatch(i,n)&&(t=Ot.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target)}checkTypeAssignableToAndOptionallyElaborate(i,o,e,n,t)}})}function reportOperatorErrorUnless(e){return!e(r,i)&&(reportOperatorError(e),!0)}function reportOperatorError(e){let n=!1;const o=a||t;if(e){const t=getAwaitedTypeNoAlias(r),o=getAwaitedTypeNoAlias(i);n=!(t===r&&o===i)&&!(!t||!o)&&e(t,o)}let s=r,c=i;!n&&e&&([s,c]=function getBaseTypesIfUnrelated(e,t,n){let r=e,i=t;const o=getBaseTypeOfLiteralType(e),a=getBaseTypeOfLiteralType(t);n(o,a)||(r=o,i=a);return[r,i]}(r,i,e));const[l,d]=getTypeNamesForErrorDisplay(s,c);(function tryGiveBetterPrimaryError(e,n,r,i){switch(t.kind){case 37:case 35:case 38:case 36:return errorAndMaybeSuggestAwait(e,n,Ot.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap,r,i);default:return}})(o,n,l,d)||errorAndMaybeSuggestAwait(o,n,Ot.Operator_0_cannot_be_applied_to_types_1_and_2,tokenToString(t.kind),l,d)}function isGlobalNaN(e){if(isIdentifier(e)&&"NaN"===e.escapedText){const t=function getGlobalNaNSymbol(){return Wn||(Wn=getGlobalValueSymbol("NaN",!1))}();return!!t&&t===getResolvedSymbol(e)}return!1}}function isTemplateLiteralContext(e){const t=e.parent;return isParenthesizedExpression(t)&&isTemplateLiteralContext(t)||isElementAccessExpression(t)&&t.argumentExpression===e}function checkTemplateExpression(e){const t=[e.head.text],n=[];for(const r of e.templateSpans){const e=checkExpression(r.expression);maybeTypeOfKindConsideringBaseConstraint(e,12288)&&error2(r.expression,Ot.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String),t.push(r.literal.text),n.push(isTypeAssignableTo(e,dt)?e:ze)}const r=216!==e.parent.kind&&U(e).value;return r?getFreshTypeOfLiteralType(getStringLiteralType(r)):isConstContext(e)||isTemplateLiteralContext(e)||someType(getContextualType2(e,void 0)||Le,isTemplateLiteralContextualType)?getTemplateLiteralType(t,n):ze}function isTemplateLiteralContextualType(e){return!!(134217856&e.flags||58982400&e.flags&&maybeTypeOfKind(getBaseConstraintOfType(e)||Le,402653316))}function checkExpressionWithContextualType(e,t,n,r){const i=function getContextNode2(e){return isJsxAttributes(e)&&!isJsxSelfClosingElement(e.parent)?e.parent.parent:e}(e);pushContextualType(i,t,!1),function pushInferenceContext(e,t){jr[Ur]=e,Jr[Ur]=t,Ur++}(i,n);const o=checkExpression(e,1|r|(n?2:0));n&&n.intraExpressionInferenceSites&&(n.intraExpressionInferenceSites=void 0);const a=maybeTypeOfKind(o,2944)&&isLiteralOfContextualType(o,instantiateContextualType(t,e,void 0))?getRegularTypeOfLiteralType(o):o;return function popInferenceContext(){Ur--,jr[Ur]=void 0,Jr[Ur]=void 0}(),popContextualType(),a}function checkExpressionCached(e,t){if(t)return checkExpression(e,t);const n=getNodeLinks(e);if(!n.resolvedType){const r=Pr,i=dr;Pr=Dr,dr=void 0,n.resolvedType=checkExpression(e,t),dr=i,Pr=r}return n.resolvedType}function isTypeAssertion(e){return 217===(e=skipParentheses(e,!0)).kind||235===e.kind||isJSDocTypeAssertion(e)}function checkDeclarationInitializer(e,t,n){const r=getEffectiveInitializer(e);if(isInJSFile(e)){const n=tryGetJSDocSatisfiesTypeNode(e);if(n)return checkSatisfiesExpressionWorker(r,n,t)}const i=getQuickTypeOfExpression(r)||(n?checkExpressionWithContextualType(r,n,void 0,t||0):checkExpressionCached(r,t));if(isParameter(isBindingElement(e)?walkUpBindingElementsAndPatterns(e):e)){if(207===e.name.kind&&isObjectLiteralType2(i))return function padObjectLiteralType(e,t){let n;for(const r of t.elements)if(r.initializer){const t=getPropertyNameFromBindingElement(r);t&&!getPropertyOfType(e,t)&&(n=append(n,r))}if(!n)return e;const r=createSymbolTable();for(const t of getPropertiesOfObjectType(e))r.set(t.escapedName,t);for(const e of n){const t=createSymbol(16777220,getPropertyNameFromBindingElement(e));t.links.type=getTypeFromBindingElement(e,!1,!1),r.set(t.escapedName,t)}const i=createAnonymousType(e.symbol,r,l,l,getIndexInfosOfType(e));return i.objectFlags=e.objectFlags,i}(i,e.name);if(208===e.name.kind&&isTupleType(i))return function padTupleType(e,t){if(12&e.target.combinedFlags||getTypeReferenceArity(e)>=t.elements.length)return e;const n=t.elements,r=getElementTypes(e).slice(),i=e.target.elementFlags.slice();for(let t=getTypeReferenceArity(e);t<n.length;t++){const e=n[t];(t<n.length-1||209!==e.kind||!e.dotDotDotToken)&&(r.push(!isOmittedExpression(e)&&hasDefaultValue(e)?getTypeFromBindingElement(e,!1,!1):ke),i.push(2),isOmittedExpression(e)||hasDefaultValue(e)||reportImplicitAny(e,ke))}return createTupleType(r,i,e.target.readonly)}(i,e.name)}return i}function getPropertyNameFromBindingElement(e){const t=getLiteralTypeFromPropertyName(e.propertyName||e.name);return isTypeUsableAsPropertyName(t)?getPropertyNameFromType(t):void 0}function widenTypeInferredFromInitializer(e,t){const n=getWidenedLiteralTypeForInitializer(e,t);if(isInJSFile(e)){if(isEmptyLiteralType(n))return reportImplicitAny(e,ke),ke;if(isEmptyArrayLiteralType(n))return reportImplicitAny(e,Xt),Xt}return n}function getWidenedLiteralTypeForInitializer(e,t){return 6&getCombinedNodeFlagsCached(e)||isDeclarationReadonly(e)?t:getWidenedLiteralType(t)}function isLiteralOfContextualType(e,t){if(t){if(3145728&t.flags){return some(t.types,t=>isLiteralOfContextualType(e,t))}if(58982400&t.flags){const n=getBaseConstraintOfType(t)||Le;return maybeTypeOfKind(n,4)&&maybeTypeOfKind(e,128)||maybeTypeOfKind(n,8)&&maybeTypeOfKind(e,256)||maybeTypeOfKind(n,64)&&maybeTypeOfKind(e,2048)||maybeTypeOfKind(n,4096)&&maybeTypeOfKind(e,8192)||isLiteralOfContextualType(e,n)}return!!(406847616&t.flags&&maybeTypeOfKind(e,128)||256&t.flags&&maybeTypeOfKind(e,256)||2048&t.flags&&maybeTypeOfKind(e,2048)||512&t.flags&&maybeTypeOfKind(e,512)||8192&t.flags&&maybeTypeOfKind(e,8192))}return!1}function isConstContext(e){const t=e.parent;return isAssertionExpression(t)&&isConstTypeReference(t.type)||isJSDocTypeAssertion(t)&&isConstTypeReference(getJSDocTypeAssertionType(t))||isValidConstAssertionArgument(e)&&isConstTypeVariable(getContextualType2(e,0))||(isParenthesizedExpression(t)||isArrayLiteralExpression(t)||isSpreadElement(t))&&isConstContext(t)||(isPropertyAssignment(t)||isShorthandPropertyAssignment(t)||isTemplateSpan(t))&&isConstContext(t.parent)}function checkExpressionForMutableLocation(e,t,n){const r=checkExpression(e,t,n);return isConstContext(e)||isCommonJsExportedExpression(e)?getRegularTypeOfLiteralType(r):isTypeAssertion(e)?r:getWidenedLiteralLikeTypeForContextualType(r,instantiateContextualType(getContextualType2(e,void 0),e,void 0))}function checkPropertyAssignment(e,t){return 168===e.name.kind&&checkComputedPropertyName(e.name),checkExpressionForMutableLocation(e.initializer,t)}function checkObjectLiteralMethod(e,t){checkGrammarMethod(e),168===e.name.kind&&checkComputedPropertyName(e.name);return instantiateTypeWithSingleGenericCallSignature(e,checkFunctionExpressionOrObjectLiteralMethod(e,t),t)}function instantiateTypeWithSingleGenericCallSignature(e,t,n){if(n&&10&n){const r=getSingleSignature(t,0,!0),i=getSingleSignature(t,1,!0),o=r||i;if(o&&o.typeParameters){const t=getApparentTypeOfContextualType(e,2);if(t){const i=getSingleSignature(getNonNullableType(t),r?0:1,!1);if(i&&!i.typeParameters){if(8&n)return skippedGenericFunction(e,n),Nt;const t=getInferenceContext(e),r=t.signature&&getReturnTypeOfSignature(t.signature),a=r&&getSingleCallOrConstructSignature(r);if(a&&!a.typeParameters&&!every(t.inferences,hasInferenceCandidates)){const e=function getUniqueTypeParameters(e,t){const n=[];let r,i;for(const o of t){const t=o.symbol.escapedName;if(hasTypeParameterByName(e.inferredTypeParameters,t)||hasTypeParameterByName(n,t)){const a=createTypeParameter(createSymbol(262144,getUniqueTypeParameterName(concatenate(e.inferredTypeParameters,n),t)));a.target=o,r=append(r,o),i=append(i,a),n.push(a)}else n.push(o)}if(i){const e=createTypeMapper(r,i);for(const t of i)t.mapper=e}return n}(t,o.typeParameters),n=getSignatureInstantiationWithoutFillingInTypeArguments(o,e),r=map(t.inferences,e=>createInferenceInfo(e.typeParameter));if(applyToParameterTypes(n,i,(e,t)=>{inferTypes(r,e,t,0,!0)}),some(r,hasInferenceCandidates)&&(applyToReturnTypes(n,i,(e,t)=>{inferTypes(r,e,t)}),!function hasOverlappingInferences(e,t){for(let n=0;n<e.length;n++)if(hasInferenceCandidates(e[n])&&hasInferenceCandidates(t[n]))return!0;return!1}(t.inferences,r)))return function mergeInferences(e,t){for(let n=0;n<e.length;n++)!hasInferenceCandidates(e[n])&&hasInferenceCandidates(t[n])&&(e[n]=t[n])}(t.inferences,r),t.inferredTypeParameters=concatenate(t.inferredTypeParameters,e),getOrCreateTypeFromSignature(n)}return getOrCreateTypeFromSignature(instantiateSignatureInContextOf(o,i,t))}}}}return t}function skippedGenericFunction(e,t){if(2&t){getInferenceContext(e).flags|=4}}function hasInferenceCandidates(e){return!(!e.candidates&&!e.contraCandidates)}function hasInferenceCandidatesOrDefault(e){return!!(e.candidates||e.contraCandidates||hasTypeParameterDefault(e.typeParameter))}function hasTypeParameterByName(e,t){return some(e,e=>e.symbol.escapedName===t)}function getUniqueTypeParameterName(e,t){let n=t.length;for(;n>1&&t.charCodeAt(n-1)>=48&&t.charCodeAt(n-1)<=57;)n--;const r=t.slice(0,n);for(let t=1;;t++){const n=r+t;if(!hasTypeParameterByName(e,n))return n}}function getReturnTypeOfSingleNonGenericCallSignature(e){const t=getSingleCallSignature(e);if(t&&!t.typeParameters)return getReturnTypeOfSignature(t)}function getTypeOfExpression(e){const t=getQuickTypeOfExpression(e);if(t)return t;if(268435456&e.flags&&dr){const t=dr[getNodeId(e)];if(t)return t}const n=Or,r=checkExpression(e,64);if(Or!==n){(dr||(dr=[]))[getNodeId(e)]=r,setNodeFlags(e,268435456|e.flags)}return r}function getQuickTypeOfExpression(e){let t=skipParentheses(e,!0);if(isJSDocTypeAssertion(t)){const e=getJSDocTypeAssertionType(t);if(!isConstTypeReference(e))return getTypeFromTypeNode(e)}if(t=skipParentheses(e),isAwaitExpression(t)){const e=getQuickTypeOfExpression(t.expression);return e?getAwaitedType(e):void 0}return!isCallExpression(t)||108===t.expression.kind||isRequireCall(t,!0)||isSymbolOrSymbolForCall(t)||isImportCall(t)?isAssertionExpression(t)&&!isConstTypeReference(t.type)?getTypeFromTypeNode(t.type):isLiteralExpression(e)||isBooleanLiteral(e)?checkExpression(e):void 0:isCallChain(t)?function getReturnTypeOfSingleNonGenericSignatureOfCallChain(e){const t=checkExpression(e.expression),n=getOptionalExpressionType(t,e.expression),r=getReturnTypeOfSingleNonGenericCallSignature(t);return r&&propagateOptionalTypeMarker(r,e,n!==t)}(t):getReturnTypeOfSingleNonGenericCallSignature(checkNonNullExpression(t.expression))}function getContextFreeTypeOfExpression(e){const t=getNodeLinks(e);if(t.contextFreeType)return t.contextFreeType;pushContextualType(e,ke,!1);const n=t.contextFreeType=checkExpression(e,4);return popContextualType(),n}function checkExpression(n,i,o){var a,s;null==(a=J)||a.push(J.Phase.Check,"checkExpression",{kind:n.kind,pos:n.pos,end:n.end,path:n.tracingPath});const c=r;r=n,m=0;const d=function checkExpressionWorker(e,n,r){const i=e.kind;if(t)switch(i){case 232:case 219:case 220:t.throwIfCancellationRequested()}switch(i){case 80:return checkIdentifier(e,n);case 81:return checkPrivateIdentifierExpression(e);case 110:return checkThisExpression(e);case 108:return checkSuperExpression(e);case 106:return Ue;case 15:case 11:return hasSkipDirectInferenceFlag(e)?De:getFreshTypeOfLiteralType(getStringLiteralType(e.text));case 9:return checkGrammarNumericLiteral(e),getFreshTypeOfLiteralType(getNumberLiteralType(+e.text));case 10:return function checkGrammarBigIntLiteral(e){const t=isLiteralTypeNode(e.parent)||isPrefixUnaryExpression(e.parent)&&isLiteralTypeNode(e.parent.parent);if(!t&&!(33554432&e.flags)&&x<7&&grammarErrorOnNode(e,Ot.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))return!0;return!1}(e),getFreshTypeOfLiteralType(getBigIntLiteralType({negative:!1,base10Value:parsePseudoBigInt(e.text)}));case 112:return Ge;case 97:return He;case 229:return checkTemplateExpression(e);case 14:return checkRegularExpressionLiteral(e);case 210:return checkArrayLiteral(e,n,r);case 211:return checkObjectLiteral(e,n);case 212:return checkPropertyAccessExpression(e,n);case 167:return checkQualifiedName(e,n);case 213:return checkIndexedAccess(e,n);case 214:if(isImportCall(e))return checkImportCallExpression(e);case 215:return function checkCallExpression(e,t){var n,r,i;checkGrammarTypeArguments(e,e.typeArguments);const o=getResolvedSignature(e,void 0,t);if(o===gr)return nt;if(checkDeprecatedSignature(o,e),108===e.expression.kind)return et;if(215===e.kind){const t=o.declaration;if(t&&177!==t.kind&&181!==t.kind&&186!==t.kind&&(!isJSDocSignature(t)||177!==(null==(r=null==(n=getJSDocRoot(t))?void 0:n.parent)?void 0:r.kind))&&!isJSDocConstructSignature(t)&&!isJSConstructor(t))return A&&error2(e,Ot.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),ke}if(isInJSFile(e)&&isCommonJsRequire(e))return resolveExternalModuleTypeByLiteral(e.arguments[0]);const a=getReturnTypeOfSignature(o);if(12288&a.flags&&isSymbolOrSymbolForCall(e))return getESSymbolLikeTypeForNode(walkUpParenthesizedExpressions(e.parent));if(214===e.kind&&!e.questionDotToken&&245===e.parent.kind&&16384&a.flags&&getTypePredicateOfSignature(o))if(isDottedName(e.expression)){if(!getEffectsSignature(e)){const t=error2(e.expression,Ot.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation);getTypeOfDottedName(e.expression,t)}}else error2(e.expression,Ot.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name);if(isInJSFile(e)){const t=getSymbolOfExpando(e,!1);if(null==(i=null==t?void 0:t.exports)?void 0:i.size){const e=createAnonymousType(t,t.exports,l,l,l);return e.objectFlags|=4096,getIntersectionType([a,e])}}return a}(e,n);case 216:return checkTaggedTemplateExpression(e);case 218:return function checkParenthesizedExpression(e,t){if(hasJSDocNodes(e)){if(isJSDocSatisfiesExpression(e))return checkSatisfiesExpressionWorker(e.expression,getJSDocSatisfiesExpressionType(e),t);if(isJSDocTypeAssertion(e))return checkAssertionWorker(e,t)}return checkExpression(e.expression,t)}(e,n);case 232:return function checkClassExpression(e){return checkClassLikeDeclaration(e),checkNodeDeferred(e),function checkClassExpressionExternalHelpers(e){if(e.name)return;const t=walkUpOuterExpressions(e);if(!isNamedEvaluationSource(t))return;let n;n=!b&&x<lt.ClassAndClassElementDecorators&&classOrConstructorParameterIsDecorated(!1,e)?firstOrUndefined(getDecorators(e))??e:getFirstTransformableStaticClassElement(e);n&&(checkExternalEmitHelpers(n,4194304),(isPropertyAssignment(t)||isPropertyDeclaration(t)||isBindingElement(t))&&isComputedPropertyName(t.name)&&checkExternalEmitHelpers(n,8388608))}(e),getTypeOfSymbol(getSymbolOfDeclaration(e))}(e);case 219:case 220:return checkFunctionExpressionOrObjectLiteralMethod(e,n);case 222:return function checkTypeOfExpression(e){return checkExpression(e.expression),Ci}(e);case 217:case 235:return function checkAssertion(e,t){if(217===e.kind){const t=getSourceFileOfNode(e);if(t&&fileExtensionIsOneOf(t.fileName,[".cts",".mts"])&&grammarErrorOnNode(e,Ot.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead),S.erasableSyntaxOnly){const n=skipTrivia(t.text,e.pos),r=e.expression.pos;vi.add(createFileDiagnostic(t,n,r-n,Ot.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled))}}return checkAssertionWorker(e,t)}(e,n);case 236:return checkNonNullAssertion(e);case 234:return checkExpressionWithTypeArguments(e);case 239:return function checkSatisfiesExpression(e){return checkSourceElement(e.type),checkSatisfiesExpressionWorker(e.expression,e.type)}(e);case 237:return checkMetaProperty(e);case 221:return checkDeleteExpression(e);case 223:return function checkVoidExpression(e){return checkNodeDeferred(e),Re}(e);case 224:return function checkAwaitExpression(e){addLazyDiagnostic(()=>checkAwaitGrammar(e));const t=checkExpression(e.expression),n=checkAwaitedType(t,!0,e,Ot.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);return n!==t||isErrorType(n)||3&t.flags||addErrorOrSuggestion(!1,createDiagnosticForNode(e,Ot.await_has_no_effect_on_the_type_of_this_expression)),n}(e);case 225:return function checkPrefixUnaryExpression(e){const t=checkExpression(e.operand);if(t===nt)return nt;switch(e.operand.kind){case 9:switch(e.operator){case 41:return getFreshTypeOfLiteralType(getNumberLiteralType(-e.operand.text));case 40:return getFreshTypeOfLiteralType(getNumberLiteralType(+e.operand.text))}break;case 10:if(41===e.operator)return getFreshTypeOfLiteralType(getBigIntLiteralType({negative:!0,base10Value:parsePseudoBigInt(e.operand.text)}))}switch(e.operator){case 40:case 41:case 55:return checkNonNullType(t,e.operand),maybeTypeOfKindConsideringBaseConstraint(t,12288)&&error2(e.operand,Ot.The_0_operator_cannot_be_applied_to_type_symbol,tokenToString(e.operator)),40===e.operator?(maybeTypeOfKindConsideringBaseConstraint(t,2112)&&error2(e.operand,Ot.Operator_0_cannot_be_applied_to_type_1,tokenToString(e.operator),typeToString(getBaseTypeOfLiteralType(t))),Ve):getUnaryResultType(t);case 54:checkTruthinessOfType(t,e.operand);const n=getTypeFacts(t,12582912);return 4194304===n?He:8388608===n?Ge:Ye;case 46:case 47:return checkArithmeticOperandType(e.operand,checkNonNullType(t,e.operand),Ot.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&checkReferenceExpression(e.operand,Ot.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,Ot.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),getUnaryResultType(t)}return Ie}(e);case 226:return function checkPostfixUnaryExpression(e){const t=checkExpression(e.operand);return t===nt?nt:(checkArithmeticOperandType(e.operand,checkNonNullType(t,e.operand),Ot.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&checkReferenceExpression(e.operand,Ot.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,Ot.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),getUnaryResultType(t))}(e);case 227:return R(e,n);case 228:return function checkConditionalExpression(e,t){const n=checkTruthinessExpression(e.condition,t);return checkTestingKnownTruthyCallableOrAwaitableOrEnumMemberType(e.condition,n,e.whenTrue),getUnionType([checkExpression(e.whenTrue,t),checkExpression(e.whenFalse,t)],2)}(e,n);case 231:return function checkSpreadExpression(e,t){return x<lt.SpreadElements&&checkExternalEmitHelpers(e,S.downlevelIteration?1536:1024),checkIteratedTypeOrElementType(33,checkExpression(e.expression,t),Me,e.expression)}(e,n);case 233:return Re;case 230:return function checkYieldExpression(e){addLazyDiagnostic(function checkYieldExpressionGrammar(){16384&e.flags||grammarErrorOnFirstToken(e,Ot.A_yield_expression_is_only_allowed_in_a_generator_body),isInParameterInitializerBeforeContainingFunction(e)&&error2(e,Ot.yield_expressions_cannot_be_used_in_a_parameter_initializer)});const t=getContainingFunction(e);if(!t)return ke;const n=getFunctionFlags(t);if(!(1&n))return ke;const r=!!(2&n);e.asteriskToken&&(r&&x<lt.AsyncGenerators&&checkExternalEmitHelpers(e,26624),!r&&x<lt.Generators&&S.downlevelIteration&&checkExternalEmitHelpers(e,256));let i=getReturnTypeFromAnnotation(t);i&&1048576&i.flags&&(i=filterType(i,e=>checkGeneratorInstantiationAssignabilityToReturnType(e,n,void 0)));const o=i&&getIterationTypesOfGeneratorFunctionReturnType(i,r),a=o&&o.yieldType||ke,s=o&&o.nextType||ke,c=e.expression?checkExpression(e.expression):Re,l=getYieldedTypeOfYieldExpression(e,c,s,r);if(i&&l&&checkTypeAssignableToAndOptionallyElaborate(l,a,e.expression||e,e.expression),e.asteriskToken)return getIterationTypeOfIterable(r?19:17,1,c,e.expression)||ke;if(i)return getIterationTypeOfGeneratorFunctionReturnType(2,i,r)||ke;let d=getContextualIterationType(2,t);return d||(d=ke,addLazyDiagnostic(()=>{if(A&&!expressionResultIsUnused(e)){const t=getContextualType2(e,void 0);t&&!isTypeAny(t)||error2(e,Ot.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation)}})),d}(e);case 238:return function checkSyntheticExpression(e){return e.isSpread?getIndexedAccessType(e.type,Ve):e.type}(e);case 295:return checkJsxExpression(e,n);case 285:return function checkJsxElement(e,t){return checkNodeDeferred(e),getJsxElementTypeAt(e)||ke}(e);case 286:return function checkJsxSelfClosingElement(e,t){return checkNodeDeferred(e),getJsxElementTypeAt(e)||ke}(e);case 289:return function checkJsxFragment(e){checkJsxOpeningLikeElementOrOpeningFragment(e.openingFragment);const t=getSourceFileOfNode(e);!getJSXTransformEnabled(S)||!S.jsxFactory&&!t.pragmas.has("jsx")||S.jsxFragmentFactory||t.pragmas.has("jsxfrag")||error2(e,S.jsxFactory?Ot.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:Ot.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments),checkJsxChildren(e);const n=getJsxElementTypeAt(e);return isErrorType(n)?ke:n}(e);case 293:return function checkJsxAttributes(e,t){return createJsxAttributesTypeFromAttributesProperty(e.parent,t)}(e,n);case 287:h.fail("Shouldn't ever directly check a JsxOpeningElement")}return Ie}(n,i,o),p=instantiateTypeWithSingleGenericCallSignature(n,d,i);return isConstEnumObjectType(p)&&function checkConstEnumAccess(t,n){var r;const i=212===t.parent.kind&&t.parent.expression===t||213===t.parent.kind&&t.parent.expression===t||(80===t.kind||167===t.kind)&&isInRightSideOfImportOrExportAssignment(t)||187===t.parent.kind&&t.parent.exprName===t||282===t.parent.kind;i||error2(t,Ot.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query);if(S.isolatedModules||S.verbatimModuleSyntax&&i&&!te(t,getFirstIdentifier(t),2097152,void 0,!1,!0)){h.assert(!!(128&n.symbol.flags));const i=n.symbol.valueDeclaration,o=null==(r=e.getRedirectFromOutput(getSourceFileOfNode(i).resolvedPath))?void 0:r.resolvedRef;!(33554432&i.flags)||isValidTypeOnlyAliasUseSite(t)||o&&er(o.commandLine.options)||error2(t,Ot.Cannot_access_ambient_const_enums_when_0_is_enabled,X)}}(n,p),r=c,null==(s=J)||s.pop(),p}function checkTypeParameter(e){checkGrammarModifiers(e),e.expression&&grammarErrorOnFirstToken(e.expression,Ot.Type_expected),checkSourceElement(e.constraint),checkSourceElement(e.default);const t=getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(e));getBaseConstraintOfType(t),function hasNonCircularTypeParameterDefault(e){return getResolvedTypeParameterDefault(e)!==Ft}(t)||error2(e.default,Ot.Type_parameter_0_has_a_circular_default,typeToString(t));const n=getConstraintOfTypeParameter(t),r=getDefaultFromTypeParameter(t);n&&r&&checkTypeAssignableTo(r,getTypeWithThisArgument(instantiateType(n,makeUnaryTypeMapper(t,r)),r),e.default,Ot.Type_0_does_not_satisfy_the_constraint_1),checkNodeDeferred(e),addLazyDiagnostic(()=>checkTypeNameIsReserved(e.name,Ot.Type_parameter_name_cannot_be_0))}function checkParameter(e){checkGrammarModifiers(e),checkVariableLikeDeclaration(e);const t=getContainingFunction(e);hasSyntacticModifier(e,31)&&(S.erasableSyntaxOnly&&error2(e,Ot.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled),177===t.kind&&nodeIsPresent(t.body)||error2(e,Ot.A_parameter_property_is_only_allowed_in_a_constructor_implementation),177===t.kind&&isIdentifier(e.name)&&"constructor"===e.name.escapedText&&error2(e.name,Ot.constructor_cannot_be_used_as_a_parameter_property_name)),!e.initializer&&isOptionalDeclaration(e)&&isBindingPattern(e.name)&&t.body&&error2(e,Ot.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),e.name&&isIdentifier(e.name)&&("this"===e.name.escapedText||"new"===e.name.escapedText)&&(0!==t.parameters.indexOf(e)&&error2(e,Ot.A_0_parameter_must_be_the_first_parameter,e.name.escapedText),177!==t.kind&&181!==t.kind&&186!==t.kind||error2(e,Ot.A_constructor_cannot_have_a_this_parameter),220===t.kind&&error2(e,Ot.An_arrow_function_cannot_have_a_this_parameter),178!==t.kind&&179!==t.kind||error2(e,Ot.get_and_set_accessors_cannot_declare_this_parameters)),!e.dotDotDotToken||isBindingPattern(e.name)||isTypeAssignableTo(getReducedType(getTypeOfSymbol(e.symbol)),Zt)||error2(e,Ot.A_rest_parameter_must_be_of_an_array_type)}function checkIfTypePredicateVariableIsDeclaredInBindingPattern(e,t,n){for(const r of e.elements){if(isOmittedExpression(r))continue;const e=r.name;if(80===e.kind&&e.escapedText===n)return error2(t,Ot.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern,n),!0;if((208===e.kind||207===e.kind)&&checkIfTypePredicateVariableIsDeclaredInBindingPattern(e,t,n))return!0}}function checkSignatureDeclaration(e){182===e.kind?function checkGrammarIndexSignature(e){return checkGrammarModifiers(e)||function checkGrammarIndexSignatureParameters(e){const t=e.parameters[0];if(1!==e.parameters.length)return grammarErrorOnNode(t?t.name:e,Ot.An_index_signature_must_have_exactly_one_parameter);if(checkGrammarForDisallowedTrailingComma(e.parameters,Ot.An_index_signature_cannot_have_a_trailing_comma),t.dotDotDotToken)return grammarErrorOnNode(t.dotDotDotToken,Ot.An_index_signature_cannot_have_a_rest_parameter);if(hasEffectiveModifiers(t))return grammarErrorOnNode(t.name,Ot.An_index_signature_parameter_cannot_have_an_accessibility_modifier);if(t.questionToken)return grammarErrorOnNode(t.questionToken,Ot.An_index_signature_parameter_cannot_have_a_question_mark);if(t.initializer)return grammarErrorOnNode(t.name,Ot.An_index_signature_parameter_cannot_have_an_initializer);if(!t.type)return grammarErrorOnNode(t.name,Ot.An_index_signature_parameter_must_have_a_type_annotation);const n=getTypeFromTypeNode(t.type);if(someType(n,e=>!!(8576&e.flags))||isGenericType(n))return grammarErrorOnNode(t.name,Ot.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead);if(!everyType(n,isValidIndexKeyType))return grammarErrorOnNode(t.name,Ot.An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type);if(!e.type)return grammarErrorOnNode(e,Ot.An_index_signature_must_have_a_type_annotation);return!1}(e)}(e):185!==e.kind&&263!==e.kind&&186!==e.kind&&180!==e.kind&&177!==e.kind&&181!==e.kind||checkGrammarFunctionLikeDeclaration(e);const t=getFunctionFlags(e);4&t||(!(3&~t)&&x<lt.AsyncGenerators&&checkExternalEmitHelpers(e,6144),2==(3&t)&&x<lt.AsyncFunctions&&checkExternalEmitHelpers(e,64),3&t&&x<lt.Generators&&checkExternalEmitHelpers(e,128)),checkTypeParameters(getEffectiveTypeParameterDeclarations(e)),function checkUnmatchedJSDocParameters(e){const t=filter(getJSDocTags(e),isJSDocParameterTag);if(!length(t))return;const n=isInJSFile(e),r=new Set,i=new Set;forEach(e.parameters,({name:e},t)=>{isIdentifier(e)&&r.add(e.escapedText),isBindingPattern(e)&&i.add(t)});const o=containsArgumentsReference(e);if(o){const e=t.length-1,o=t[e];n&&o&&isIdentifier(o.name)&&o.typeExpression&&o.typeExpression.type&&!r.has(o.name.escapedText)&&!i.has(e)&&!isArrayType(getTypeFromTypeNode(o.typeExpression.type))&&error2(o.name,Ot.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type,idText(o.name))}else forEach(t,({name:e,isNameFirst:t},o)=>{i.has(o)||isIdentifier(e)&&r.has(e.escapedText)||(isQualifiedName(e)?n&&error2(e,Ot.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1,entityNameToString(e),entityNameToString(e.left)):t||errorOrSuggestion(n,e,Ot.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name,idText(e)))})}(e),forEach(e.parameters,checkParameter),e.type&&checkSourceElement(e.type),addLazyDiagnostic(function checkSignatureDeclarationDiagnostics(){!function checkCollisionWithArgumentsInGeneratedCode(e){if(x>=2||!hasRestParameter(e)||33554432&e.flags||nodeIsMissing(e.body))return;forEach(e.parameters,e=>{e.name&&!isBindingPattern(e.name)&&e.name.escapedText===$.escapedName&&errorSkippedOn("noEmit",e,Ot.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)})}(e);let t=getEffectiveReturnTypeNode(e),n=t;if(isInJSFile(e)){const r=getJSDocTypeTag(e);if(r&&r.typeExpression&&isTypeReferenceNode(r.typeExpression.type)){const e=getSingleCallSignature(getTypeFromTypeNode(r.typeExpression));e&&e.declaration&&(t=getEffectiveReturnTypeNode(e.declaration),n=r.typeExpression.type)}}if(A&&!t)switch(e.kind){case 181:error2(e,Ot.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 180:error2(e,Ot.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type)}if(t&&n){const r=getFunctionFlags(e);if(1==(5&r)){const e=getTypeFromTypeNode(t);e===et?error2(n,Ot.A_generator_cannot_have_a_void_type_annotation):checkGeneratorInstantiationAssignabilityToReturnType(e,r,n)}else 2==(3&r)&&function checkAsyncFunctionReturnType(e,t,n){const r=getTypeFromTypeNode(t);if(x>=2){if(isErrorType(r))return;const e=getGlobalPromiseType(!0);if(e!==Et&&!isReferenceToType2(r,e))return void reportErrorForInvalidReturnType(Ot.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,t,n,typeToString(getAwaitedTypeNoAlias(r)||et))}else{if(markLinkedReferences(e,5),isErrorType(r))return;const i=getEntityNameFromTypeNode(t);if(void 0===i)return void reportErrorForInvalidReturnType(Ot.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,t,n,typeToString(r));const o=resolveEntityName(i,111551,!0),a=o?getTypeOfSymbol(o):Ie;if(isErrorType(a))return void(80===i.kind&&"Promise"===i.escapedText&&getTargetType(r)===getGlobalPromiseType(!1)?error2(n,Ot.An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):reportErrorForInvalidReturnType(Ot.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,t,n,entityNameToString(i)));const s=function getGlobalPromiseConstructorLikeType(e){return _n||(_n=getGlobalType("PromiseConstructorLike",0,e))||ht}(!0);if(s===ht)return void reportErrorForInvalidReturnType(Ot.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,t,n,entityNameToString(i));const c=Ot.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value;if(!checkTypeAssignableTo(a,s,n,c,()=>t===n?void 0:chainDiagnosticMessages(void 0,Ot.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type)))return;const l=i&&getFirstIdentifier(i),d=getSymbol2(e.locals,l.escapedText,111551);if(d)return void error2(d.valueDeclaration,Ot.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,idText(l),entityNameToString(i))}function reportErrorForInvalidReturnType(e,t,n,r){if(t===n)error2(n,e,r);else{addRelatedInfo(error2(n,Ot.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type),createDiagnosticForNode(t,e,r))}}checkAwaitedType(r,!1,e,Ot.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}(e,t,n)}182!==e.kind&&318!==e.kind&®isterForUnusedIdentifiersCheck(e)})}function checkGeneratorInstantiationAssignabilityToReturnType(e,t,n){const r=getIterationTypeOfGeneratorFunctionReturnType(0,e,!!(2&t))||ke;return checkTypeAssignableTo(createGeneratorType(r,getIterationTypeOfGeneratorFunctionReturnType(1,e,!!(2&t))||r,getIterationTypeOfGeneratorFunctionReturnType(2,e,!!(2&t))||Le,!!(2&t)),e,n)}function checkObjectTypeForDuplicateDeclarations(e){const t=new Map;for(const n of e.members)if(172===n.kind){let e;const r=n.name;switch(r.kind){case 11:case 9:e=r.text;break;case 80:e=idText(r);break;default:continue}t.get(e)?(error2(getNameOfDeclaration(n.symbol.valueDeclaration),Ot.Duplicate_identifier_0,e),error2(n.name,Ot.Duplicate_identifier_0,e)):t.set(e,!0)}}function checkTypeForDuplicateIndexSignatures(e){if(265===e.kind){const t=getSymbolOfDeclaration(e);if(t.declarations&&t.declarations.length>0&&t.declarations[0]!==e)return}const t=getIndexSymbol(getSymbolOfDeclaration(e));if(null==t?void 0:t.declarations){const e=new Map;for(const n of t.declarations)isIndexSignatureDeclaration(n)&&1===n.parameters.length&&n.parameters[0].type&&forEachType(getTypeFromTypeNode(n.parameters[0].type),t=>{const r=e.get(getTypeId(t));r?r.declarations.push(n):e.set(getTypeId(t),{type:t,declarations:[n]})});e.forEach(e=>{if(e.declarations.length>1)for(const t of e.declarations)error2(t,Ot.Duplicate_index_signature_for_type_0,typeToString(e.type))})}}function checkPropertyDeclaration(e){checkGrammarModifiers(e)||function checkGrammarProperty(e){if(isComputedPropertyName(e.name)&&isBinaryExpression(e.name.expression)&&103===e.name.expression.operatorToken.kind)return grammarErrorOnNode(e.parent.members[0],Ot.A_mapped_type_may_not_declare_properties_or_methods);if(isClassLike(e.parent)){if(isStringLiteral(e.name)&&"constructor"===e.name.text)return grammarErrorOnNode(e.name,Ot.Classes_may_not_have_a_field_named_constructor);if(checkGrammarForInvalidDynamicName(e.name,Ot.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type))return!0;if(x<2&&isPrivateIdentifier(e.name))return grammarErrorOnNode(e.name,Ot.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(x<2&&isAutoAccessorPropertyDeclaration(e)&&!(33554432&e.flags))return grammarErrorOnNode(e.name,Ot.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(isAutoAccessorPropertyDeclaration(e)&&checkGrammarForInvalidQuestionMark(e.questionToken,Ot.An_accessor_property_cannot_be_declared_optional))return!0}else if(265===e.parent.kind){if(checkGrammarForInvalidDynamicName(e.name,Ot.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(h.assertNode(e,isPropertySignature),e.initializer)return grammarErrorOnNode(e.initializer,Ot.An_interface_property_cannot_have_an_initializer)}else if(isTypeLiteralNode(e.parent)){if(checkGrammarForInvalidDynamicName(e.name,Ot.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(h.assertNode(e,isPropertySignature),e.initializer)return grammarErrorOnNode(e.initializer,Ot.A_type_literal_property_cannot_have_an_initializer)}33554432&e.flags&&checkAmbientInitializer(e);if(isPropertyDeclaration(e)&&e.exclamationToken&&(!isClassLike(e.parent)||!e.type||e.initializer||33554432&e.flags||isStatic(e)||hasAbstractModifier(e))){const t=e.initializer?Ot.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:e.type?Ot.A_definite_assignment_assertion_is_not_permitted_in_this_context:Ot.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return grammarErrorOnNode(e.exclamationToken,t)}}(e)||checkGrammarComputedPropertyName(e.name),checkVariableLikeDeclaration(e),setNodeLinksForPrivateIdentifierScope(e),hasSyntacticModifier(e,64)&&173===e.kind&&e.initializer&&error2(e,Ot.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract,declarationNameToString(e.name))}function setNodeLinksForPrivateIdentifierScope(e){if(isPrivateIdentifier(e.name)&&(x<lt.PrivateNamesAndClassStaticBlocks||x<lt.ClassAndClassElementDecorators||!C)){for(let t=getEnclosingBlockScopeContainer(e);t;t=getEnclosingBlockScopeContainer(t))getNodeLinks(t).flags|=1048576;if(isClassExpression(e.parent)){const t=getEnclosingIterationStatement(e.parent);t&&(getNodeLinks(e.name).flags|=32768,getNodeLinks(t).flags|=4096)}}}function checkConstructorDeclaration(e){checkSignatureDeclaration(e),function checkGrammarConstructorTypeParameters(e){const t=isInJSFile(e)?getJSDocTypeParameterDeclarations(e):void 0,n=e.typeParameters||t&&firstOrUndefined(t);if(n){const t=n.pos===n.end?n.pos:skipTrivia(getSourceFileOfNode(e).text,n.pos);return grammarErrorAtPos(e,t,n.end-t,Ot.Type_parameters_cannot_appear_on_a_constructor_declaration)}}(e)||function checkGrammarConstructorTypeAnnotation(e){const t=e.type||getEffectiveReturnTypeNode(e);if(t)return grammarErrorOnNode(t,Ot.Type_annotation_cannot_appear_on_a_constructor_declaration)}(e),checkSourceElement(e.body);const t=getSymbolOfDeclaration(e),n=getDeclarationOfKind(t,e.kind);function isInstancePropertyWithInitializerOrPrivateIdentifierProperty(e){return!!isPrivateIdentifierClassElementDeclaration(e)||173===e.kind&&!isStatic(e)&&!!e.initializer}e===n&&checkFunctionOrConstructorSymbol(t),nodeIsMissing(e.body)||addLazyDiagnostic(function checkConstructorDeclarationDiagnostics(){const t=e.parent;if(getClassExtendsHeritageElement(t)){captureLexicalThis(e.parent,t);const n=classDeclarationExtendsNull(t),r=findFirstSuperCall(e.body);if(r){n&&error2(r,Ot.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null);if(!E&&(some(e.parent.members,isInstancePropertyWithInitializerOrPrivateIdentifierProperty)||some(e.parameters,e=>hasSyntacticModifier(e,31))))if(function superCallIsRootLevelInConstructor(e,t){const n=walkUpParenthesizedExpressions(e.parent);return isExpressionStatement(n)&&n.parent===t}(r,e.body)){let t;for(const n of e.body.statements){if(isExpressionStatement(n)&&isSuperCall(skipOuterExpressions(n.expression))){t=n;break}if(nodeImmediatelyReferencesSuperOrThis(n))break}void 0===t&&error2(e,Ot.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers)}else error2(r,Ot.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers)}else n||error2(e,Ot.Constructors_for_derived_classes_must_contain_a_super_call)}})}function nodeImmediatelyReferencesSuperOrThis(e){return 108===e.kind||110===e.kind||!isThisContainerOrFunctionBlock(e)&&!!forEachChild(e,nodeImmediatelyReferencesSuperOrThis)}function checkAccessorDeclaration(e){isIdentifier(e.name)&&"constructor"===idText(e.name)&&isClassLike(e.parent)&&error2(e.name,Ot.Class_constructor_may_not_be_an_accessor),addLazyDiagnostic(function checkAccessorDeclarationDiagnostics(){checkGrammarFunctionLikeDeclaration(e)||function checkGrammarAccessor(e){if(!(33554432&e.flags)&&188!==e.parent.kind&&265!==e.parent.kind){if(x<2&&isPrivateIdentifier(e.name))return grammarErrorOnNode(e.name,Ot.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(void 0===e.body&&!hasSyntacticModifier(e,64))return grammarErrorAtPos(e,e.end-1,1,Ot._0_expected,"{")}if(e.body){if(hasSyntacticModifier(e,64))return grammarErrorOnNode(e,Ot.An_abstract_accessor_cannot_have_an_implementation);if(188===e.parent.kind||265===e.parent.kind)return grammarErrorOnNode(e.body,Ot.An_implementation_cannot_be_declared_in_ambient_contexts)}if(e.typeParameters)return grammarErrorOnNode(e.name,Ot.An_accessor_cannot_have_type_parameters);if(!function doesAccessorHaveCorrectParameterCount(e){return getAccessorThisParameter(e)||e.parameters.length===(178===e.kind?0:1)}(e))return grammarErrorOnNode(e.name,178===e.kind?Ot.A_get_accessor_cannot_have_parameters:Ot.A_set_accessor_must_have_exactly_one_parameter);if(179===e.kind){if(e.type)return grammarErrorOnNode(e.name,Ot.A_set_accessor_cannot_have_a_return_type_annotation);const t=h.checkDefined(getSetAccessorValueParameter(e),"Return value does not match parameter count assertion.");if(t.dotDotDotToken)return grammarErrorOnNode(t.dotDotDotToken,Ot.A_set_accessor_cannot_have_rest_parameter);if(t.questionToken)return grammarErrorOnNode(t.questionToken,Ot.A_set_accessor_cannot_have_an_optional_parameter);if(t.initializer)return grammarErrorOnNode(e.name,Ot.A_set_accessor_parameter_cannot_have_an_initializer)}return!1}(e)||checkGrammarComputedPropertyName(e.name);checkDecorators(e),checkSignatureDeclaration(e),178===e.kind&&!(33554432&e.flags)&&nodeIsPresent(e.body)&&512&e.flags&&(1024&e.flags||error2(e.name,Ot.A_get_accessor_must_return_a_value));168===e.name.kind&&checkComputedPropertyName(e.name);if(hasBindableName(e)){const t=getSymbolOfDeclaration(e),n=getDeclarationOfKind(t,178),r=getDeclarationOfKind(t,179);if(n&&r&&!(1&getNodeCheckFlags(n))){getNodeLinks(n).flags|=1;const e=getEffectiveModifierFlags(n),t=getEffectiveModifierFlags(r);(64&e)!=(64&t)&&(error2(n.name,Ot.Accessors_must_both_be_abstract_or_non_abstract),error2(r.name,Ot.Accessors_must_both_be_abstract_or_non_abstract)),(4&e&&!(6&t)||2&e&&!(2&t))&&(error2(n.name,Ot.A_get_accessor_must_be_at_least_as_accessible_as_the_setter),error2(r.name,Ot.A_get_accessor_must_be_at_least_as_accessible_as_the_setter))}}const t=getTypeOfAccessors(getSymbolOfDeclaration(e));178===e.kind&&checkAllCodePathsInNonVoidFunctionReturnOrThrow(e,t)}),checkSourceElement(e.body),setNodeLinksForPrivateIdentifierScope(e)}function getEffectiveTypeArgumentAtIndex(e,t,n){return e.typeArguments&&n<e.typeArguments.length?getTypeFromTypeNode(e.typeArguments[n]):getEffectiveTypeArguments2(e,t)[n]}function getEffectiveTypeArguments2(e,t){return fillMissingTypeArguments(map(e.typeArguments,getTypeFromTypeNode),t,getMinTypeArgumentCount(t),isInJSFile(e))}function checkTypeArgumentConstraints(e,t){let n,r,i=!0;for(let o=0;o<t.length;o++){const a=getConstraintOfTypeParameter(t[o]);a&&(n||(n=getEffectiveTypeArguments2(e,t),r=createTypeMapper(t,n)),i=i&&checkTypeAssignableTo(n[o],instantiateType(a,r),e.typeArguments[o],Ot.Type_0_does_not_satisfy_the_constraint_1))}return i}function getTypeParametersForTypeReferenceOrImport(e){const t=getTypeFromTypeNode(e);if(!isErrorType(t)){const n=getNodeLinks(e).resolvedSymbol;if(n)return function getTypeParametersForTypeAndSymbol(e,t){if(!isErrorType(e))return 524288&t.flags&&getSymbolLinks(t).typeParameters||(4&getObjectFlags(e)?e.target.localTypeParameters:void 0)}(t,n)}}function checkTypeReferenceNode(e){if(checkGrammarTypeArguments(e,e.typeArguments),184===e.kind&&!isInJSFile(e)&&!isInJSDoc(e)&&e.typeArguments&&e.typeName.end!==e.typeArguments.pos){const t=getSourceFileOfNode(e);25===scanTokenAtPosition(t,e.typeName.end)&&grammarErrorAtPos(e,skipTrivia(t.text,e.typeName.end),1,Ot.JSDoc_types_can_only_be_used_inside_documentation_comments)}forEach(e.typeArguments,checkSourceElement),checkTypeReferenceOrImport(e)}function checkTypeReferenceOrImport(e){if(!isErrorType(getTypeFromTypeNode(e))){e.typeArguments&&addLazyDiagnostic(()=>{const t=getTypeParametersForTypeReferenceOrImport(e);t&&checkTypeArgumentConstraints(e,t)});const t=getNodeLinks(e).resolvedSymbol;t&&some(t.declarations,e=>isTypeDeclaration(e)&&!!(536870912&e.flags))&&addDeprecatedSuggestion(getDeprecatedSuggestionNode(e),t.declarations,t.escapedName)}}function checkIndexedAccessIndexType(e,t){if(!(8388608&e.flags))return e;const n=e.objectType,r=e.indexType,i=isGenericMappedType(n)&&2===getMappedTypeNameTypeKind(n)?getIndexTypeForMappedType(n,0):getIndexType(n,0),o=!!getIndexInfoOfType(n,Ve);if(everyType(r,e=>isTypeAssignableTo(e,i)||o&&isApplicableIndexType(e,Ve)))return 213===t.kind&&isAssignmentTarget(t)&&32&getObjectFlags(n)&&1&getMappedTypeModifiers(n)&&error2(t,Ot.Index_signature_in_type_0_only_permits_reading,typeToString(n)),e;if(isGenericObjectType(n)){const e=getPropertyNameFromIndex(r,t);if(e){const r=forEachType(getApparentType(n),t=>getPropertyOfType(t,e));if(r&&6&getDeclarationModifierFlagsFromSymbol(r))return error2(t,Ot.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter,unescapeLeadingUnderscores(e)),Ie}}return error2(t,Ot.Type_0_cannot_be_used_to_index_type_1,typeToString(r),typeToString(n)),Ie}function checkMappedType(e){!function checkGrammarMappedType(e){var t;if(null==(t=e.members)?void 0:t.length)return grammarErrorOnNode(e.members[0],Ot.A_mapped_type_may_not_declare_properties_or_methods)}(e),checkSourceElement(e.typeParameter),checkSourceElement(e.nameType),checkSourceElement(e.type),e.type||reportImplicitAny(e,ke);const t=getTypeFromMappedTypeNode(e),n=getNameTypeFromMappedType(t);if(n)checkTypeAssignableTo(n,st,e.nameType);else{checkTypeAssignableTo(getConstraintTypeFromMappedType(t),st,getEffectiveConstraintOfTypeParameter(e.typeParameter))}}function checkTypeOperator(e){!function checkGrammarTypeOperatorNode(e){if(158===e.operator){if(155!==e.type.kind)return grammarErrorOnNode(e.type,Ot._0_expected,tokenToString(155));let t=walkUpParenthesizedTypes(e.parent);if(isInJSFile(t)&&isJSDocTypeExpression(t)){const e=getJSDocHost(t);e&&(t=getSingleVariableOfVariableStatement(e)||e)}switch(t.kind){case 261:const n=t;if(80!==n.name.kind)return grammarErrorOnNode(e,Ot.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);if(!isVariableDeclarationInVariableStatement(n))return grammarErrorOnNode(e,Ot.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);if(!(2&n.parent.flags))return grammarErrorOnNode(t.name,Ot.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);break;case 173:if(!isStatic(t)||!hasEffectiveReadonlyModifier(t))return grammarErrorOnNode(t.name,Ot.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);break;case 172:if(!hasSyntacticModifier(t,8))return grammarErrorOnNode(t.name,Ot.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);break;default:return grammarErrorOnNode(e,Ot.unique_symbol_types_are_not_allowed_here)}}else if(148===e.operator&&189!==e.type.kind&&190!==e.type.kind)return grammarErrorOnFirstToken(e,Ot.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types,tokenToString(155))}(e),checkSourceElement(e.type)}function isPrivateWithinAmbient(e){return(hasEffectiveModifier(e,2)||isPrivateIdentifierClassElementDeclaration(e))&&!!(33554432&e.flags)}function getEffectiveDeclarationFlags(e,t){let n=getCombinedModifierFlagsCached(e);if(265!==e.parent.kind&&264!==e.parent.kind&&232!==e.parent.kind&&33554432&e.flags){const t=getEnclosingContainer(e);!(t&&128&t.flags)||128&n||isModuleBlock(e.parent)&&isModuleDeclaration(e.parent.parent)&&isGlobalScopeAugmentation(e.parent.parent)||(n|=32),n|=128}return n&t}function checkFunctionOrConstructorSymbol(e){addLazyDiagnostic(()=>function checkFunctionOrConstructorSymbolWorker(e){function getCanonicalOverload(e,t){return void 0!==t&&t.parent===e[0].parent?t:e[0]}function checkFlagAgreementBetweenOverloads(e,t,n,r,i){if(0!==(r^i)){const r=getEffectiveDeclarationFlags(getCanonicalOverload(e,t),n);group(e,e=>getSourceFileOfNode(e).fileName).forEach(e=>{const i=getEffectiveDeclarationFlags(getCanonicalOverload(e,t),n);for(const t of e){const e=getEffectiveDeclarationFlags(t,n)^r,o=getEffectiveDeclarationFlags(t,n)^i;32&o?error2(getNameOfDeclaration(t),Ot.Overload_signatures_must_all_be_exported_or_non_exported):128&o?error2(getNameOfDeclaration(t),Ot.Overload_signatures_must_all_be_ambient_or_non_ambient):6&e?error2(getNameOfDeclaration(t)||t,Ot.Overload_signatures_must_all_be_public_private_or_protected):64&e&&error2(getNameOfDeclaration(t),Ot.Overload_signatures_must_all_be_abstract_or_non_abstract)}})}}function checkQuestionTokenAgreementBetweenOverloads(e,t,n,r){if(n!==r){const n=hasQuestionToken(getCanonicalOverload(e,t));forEach(e,e=>{hasQuestionToken(e)!==n&&error2(getNameOfDeclaration(e),Ot.Overload_signatures_must_all_be_optional_or_required)})}}const t=230;let n,r,i,o=0,a=t,s=!1,c=!0,l=!1;const d=e.declarations,p=!!(16384&e.flags);function reportImplementationExpectedError(e){if(e.name&&nodeIsMissing(e.name))return;let t=!1;const n=forEachChild(e.parent,n=>{if(t)return n;t=n===e});if(n&&n.pos===e.end&&n.kind===e.kind){const t=n.name||n,r=n.name;if(e.name&&r&&(isPrivateIdentifier(e.name)&&isPrivateIdentifier(r)&&e.name.escapedText===r.escapedText||isComputedPropertyName(e.name)&&isComputedPropertyName(r)&&isTypeIdenticalTo(checkComputedPropertyName(e.name),checkComputedPropertyName(r))||isPropertyNameLiteral(e.name)&&isPropertyNameLiteral(r)&&getEscapedTextOfIdentifierOrLiteral(e.name)===getEscapedTextOfIdentifierOrLiteral(r))){if((175===e.kind||174===e.kind)&&isStatic(e)!==isStatic(n)){error2(t,isStatic(e)?Ot.Function_overload_must_be_static:Ot.Function_overload_must_not_be_static)}return}if(nodeIsPresent(n.body))return void error2(t,Ot.Function_implementation_name_must_be_0,declarationNameToString(e.name))}const r=e.name||e;p?error2(r,Ot.Constructor_implementation_is_missing):hasSyntacticModifier(e,64)?error2(r,Ot.All_declarations_of_an_abstract_method_must_be_consecutive):error2(r,Ot.Function_implementation_is_missing_or_not_immediately_following_the_declaration)}let u=!1,m=!1,_=!1;const f=[];if(d)for(const e of d){const d=e,g=33554432&d.flags,y=d.parent&&(265===d.parent.kind||188===d.parent.kind)||g;if(y&&(i=void 0),264!==d.kind&&232!==d.kind||g||(_=!0),263===d.kind||175===d.kind||174===d.kind||177===d.kind){f.push(d);const e=getEffectiveDeclarationFlags(d,t);o|=e,a&=e,s=s||hasQuestionToken(d),c=c&&hasQuestionToken(d);const _=nodeIsPresent(d.body);_&&n?p?m=!0:u=!0:(null==i?void 0:i.parent)===d.parent&&i.end!==d.pos&&reportImplementationExpectedError(i),_?n||(n=d):l=!0,i=d,y||(r=d)}isInJSFile(e)&&isFunctionLike(e)&&e.jsDoc&&(l=length(getJSDocOverloadTags(e))>0)}m&&forEach(f,e=>{error2(e,Ot.Multiple_constructor_implementations_are_not_allowed)});u&&forEach(f,e=>{error2(getNameOfDeclaration(e)||e,Ot.Duplicate_function_implementation)});if(_&&!p&&16&e.flags&&d){const t=filter(d,e=>264===e.kind).map(e=>createDiagnosticForNode(e,Ot.Consider_adding_a_declare_modifier_to_this_class));forEach(d,n=>{const r=264===n.kind?Ot.Class_declaration_cannot_implement_overload_list_for_0:263===n.kind?Ot.Function_with_bodies_can_only_merge_with_classes_that_are_ambient:void 0;r&&addRelatedInfo(error2(getNameOfDeclaration(n)||n,r,symbolName(e)),...t)})}!r||r.body||hasSyntacticModifier(r,64)||r.questionToken||reportImplementationExpectedError(r);if(l&&(d&&(checkFlagAgreementBetweenOverloads(d,n,t,o,a),checkQuestionTokenAgreementBetweenOverloads(d,n,s,c)),n)){const t=getSignaturesOfSymbol(e),r=getSignatureFromDeclaration(n);for(const e of t)if(!isImplementationCompatibleWithOverload(r,e)){addRelatedInfo(error2(e.declaration&&isJSDocSignature(e.declaration)?e.declaration.parent.tagName:e.declaration,Ot.This_overload_signature_is_not_compatible_with_its_implementation_signature),createDiagnosticForNode(n,Ot.The_implementation_signature_is_declared_here));break}}}(e))}function checkExportsOnMergedDeclarations(e){addLazyDiagnostic(()=>function checkExportsOnMergedDeclarationsWorker(e){let t=e.localSymbol;if(!t&&(t=getSymbolOfDeclaration(e),!t.exportSymbol))return;if(getDeclarationOfKind(t,e.kind)!==e)return;let n=0,r=0,i=0;for(const e of t.declarations){const t=getDeclarationSpaces(e),o=getEffectiveDeclarationFlags(e,2080);32&o?2048&o?i|=t:n|=t:r|=t}const o=n&r,a=i&(n|r);if(o||a)for(const e of t.declarations){const t=getDeclarationSpaces(e),n=getNameOfDeclaration(e);t&a?error2(n,Ot.Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead,declarationNameToString(n)):t&o&&error2(n,Ot.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local,declarationNameToString(n))}function getDeclarationSpaces(e){let t=e;switch(t.kind){case 265:case 266:case 347:case 339:case 341:return 2;case 268:return isAmbientModule(t)||0!==getModuleInstanceState(t)?5:4;case 264:case 267:case 307:return 3;case 308:return 7;case 278:case 227:const e=t,n=isExportAssignment(e)?e.expression:e.right;if(!isEntityNameExpression(n))return 1;t=n;case 272:case 275:case 274:let r=0;return forEach(resolveAlias(getSymbolOfDeclaration(t)).declarations,e=>{r|=getDeclarationSpaces(e)}),r;case 261:case 209:case 263:case 277:case 80:return 1;case 174:case 172:return 2;default:return h.failBadSyntaxKind(t)}}}(e))}function getAwaitedTypeOfPromise(e,t,n,...r){const i=getPromisedTypeOfPromise(e,t);return i&&getAwaitedType(i,t,n,...r)}function getPromisedTypeOfPromise(e,t,n){if(isTypeAny(e))return;const r=e;if(r.promisedTypeOfPromise)return r.promisedTypeOfPromise;if(isReferenceToType2(e,getGlobalPromiseType(!1)))return r.promisedTypeOfPromise=getTypeArguments(e)[0];if(allTypesAssignableToKind(getBaseConstraintOrType(e),402915324))return;const i=getTypeOfPropertyOfType(e,"then");if(isTypeAny(i))return;const o=i?getSignaturesOfType(i,0):l;if(0===o.length)return void(t&&error2(t,Ot.A_promise_must_have_a_then_method));let a,s;for(const t of o){const n=getThisTypeOfSignature(t);n&&n!==et&&!isTypeRelatedTo(e,n,Ei)?a=n:s=append(s,t)}if(!s)return h.assertIsDefined(a),n&&(n.value=a),void(t&&error2(t,Ot.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1,typeToString(e),typeToString(a)));const c=getTypeWithFacts(getUnionType(map(s,getTypeOfFirstParameterOfSignature)),2097152);if(isTypeAny(c))return;const d=getSignaturesOfType(c,0);if(0!==d.length)return r.promisedTypeOfPromise=getUnionType(map(d,getTypeOfFirstParameterOfSignature),2);t&&error2(t,Ot.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback)}function checkAwaitedType(e,t,n,r,...i){return(t?getAwaitedType(e,n,r,...i):getAwaitedTypeNoAlias(e,n,r,...i))||Ie}function isThenableType(e){if(allTypesAssignableToKind(getBaseConstraintOrType(e),402915324))return!1;const t=getTypeOfPropertyOfType(e,"then");return!!t&&getSignaturesOfType(getTypeWithFacts(t,2097152),0).length>0}function isAwaitedTypeInstantiation(e){var t;if(16777216&e.flags){const n=getGlobalAwaitedSymbol(!1);return!!n&&e.aliasSymbol===n&&1===(null==(t=e.aliasTypeArguments)?void 0:t.length)}return!1}function unwrapAwaitedType(e){return 1048576&e.flags?mapType(e,unwrapAwaitedType):isAwaitedTypeInstantiation(e)?e.aliasTypeArguments[0]:e}function isAwaitedTypeNeeded(e){if(isTypeAny(e)||isAwaitedTypeInstantiation(e))return!1;if(isGenericObjectType(e)){const t=getBaseConstraintOfType(e);if(t?3&t.flags||isEmptyObjectType(t)||someType(t,isThenableType):maybeTypeOfKind(e,8650752))return!0}return!1}function createAwaitedTypeIfNeeded(e){return isAwaitedTypeNeeded(e)?function tryCreateAwaitedType(e){const t=getGlobalAwaitedSymbol(!0);if(t)return getTypeAliasInstantiation(t,[unwrapAwaitedType(e)])}(e)??e:(h.assert(isAwaitedTypeInstantiation(e)||void 0===getPromisedTypeOfPromise(e),"type provided should not be a non-generic 'promise'-like."),e)}function getAwaitedType(e,t,n,...r){const i=getAwaitedTypeNoAlias(e,t,n,...r);return i&&createAwaitedTypeIfNeeded(i)}function getAwaitedTypeNoAlias(e,t,n,...r){if(isTypeAny(e))return e;if(isAwaitedTypeInstantiation(e))return e;const i=e;if(i.awaitedTypeOfType)return i.awaitedTypeOfType;if(1048576&e.flags){if(hi.lastIndexOf(e.id)>=0)return void(t&&error2(t,Ot.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));const o=t?e=>getAwaitedTypeNoAlias(e,t,n,...r):getAwaitedTypeNoAlias;hi.push(e.id);const a=mapType(e,o);return hi.pop(),i.awaitedTypeOfType=a}if(isAwaitedTypeNeeded(e))return i.awaitedTypeOfType=e;const o={value:void 0},a=getPromisedTypeOfPromise(e,void 0,o);if(a){if(e.id===a.id||hi.lastIndexOf(a.id)>=0)return void(t&&error2(t,Ot.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));hi.push(e.id);const o=getAwaitedTypeNoAlias(a,t,n,...r);if(hi.pop(),!o)return;return i.awaitedTypeOfType=o}if(!isThenableType(e))return i.awaitedTypeOfType=e;if(t){let i;h.assertIsDefined(n),o.value&&(i=chainDiagnosticMessages(i,Ot.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1,typeToString(e),typeToString(o.value))),i=chainDiagnosticMessages(i,n,...r),vi.add(createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(t),t,i))}}function checkDecorator(e){!function checkGrammarDecorator(e){if(!hasParseDiagnostics(getSourceFileOfNode(e))){let t=e.expression;if(isParenthesizedExpression(t))return!1;let n,r=!0;for(;;)if(isExpressionWithTypeArguments(t)||isNonNullExpression(t))t=t.expression;else if(isCallExpression(t))r||(n=t),t.questionDotToken&&(n=t.questionDotToken),t=t.expression,r=!1;else{if(!isPropertyAccessExpression(t)){isIdentifier(t)||(n=t);break}t.questionDotToken&&(n=t.questionDotToken),t=t.expression,r=!1}if(n)return addRelatedInfo(error2(e.expression,Ot.Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator),createDiagnosticForNode(n,Ot.Invalid_syntax_in_decorator)),!0}return!1}(e);const t=getResolvedSignature(e);checkDeprecatedSignature(t,e);const n=getReturnTypeOfSignature(t);if(1&n.flags)return;const r=getDecoratorCallSignature(e);if(!(null==r?void 0:r.resolvedReturnType))return;let i;const o=r.resolvedReturnType;switch(e.parent.kind){case 264:case 232:i=Ot.Decorator_function_return_type_0_is_not_assignable_to_type_1;break;case 173:if(!b){i=Ot.Decorator_function_return_type_0_is_not_assignable_to_type_1;break}case 170:i=Ot.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any;break;case 175:case 178:case 179:i=Ot.Decorator_function_return_type_0_is_not_assignable_to_type_1;break;default:return h.failBadSyntaxKind(e.parent)}checkTypeAssignableTo(n,o,e.expression,i)}function createCallSignature(e,t,n,r,i,o=n.length,a=0){return createSignature(Wr.createFunctionTypeNode(void 0,l,Wr.createKeywordTypeNode(133)),e,t,n,r,i,o,a)}function createFunctionType(e,t,n,r,i,o,a){return getOrCreateTypeFromSignature(createCallSignature(e,t,n,r,i,o,a))}function createGetterFunctionType(e){return createFunctionType(void 0,void 0,l,e)}function createSetterFunctionType(e){return createFunctionType(void 0,void 0,[createParameter2("value",e)],et)}function getEntityNameForDecoratorMetadata(e){if(e)switch(e.kind){case 194:case 193:return getEntityNameForDecoratorMetadataFromTypeList(e.types);case 195:return getEntityNameForDecoratorMetadataFromTypeList([e.trueType,e.falseType]);case 197:case 203:return getEntityNameForDecoratorMetadata(e.type);case 184:return e.typeName}}function getEntityNameForDecoratorMetadataFromTypeList(e){let t;for(let n of e){for(;197===n.kind||203===n.kind;)n=n.type;if(146===n.kind)continue;if(!k&&(202===n.kind&&106===n.literal.kind||157===n.kind))continue;const e=getEntityNameForDecoratorMetadata(n);if(!e)return;if(t){if(!isIdentifier(t)||!isIdentifier(e)||t.escapedText!==e.escapedText)return}else t=e}return t}function getParameterTypeNodeForDecoratorCheck(e){const t=getEffectiveTypeAnnotationNode(e);return isRestParameter(e)?getRestParameterElementType(t):t}function checkDecorators(e){if(!(canHaveDecorators(e)&&hasDecorators(e)&&e.modifiers&&nodeCanBeDecorated(b,e,e.parent,e.parent.parent)))return;const t=find(e.modifiers,isDecorator);if(t){if(b)checkExternalEmitHelpers(t,8),170===e.kind&&checkExternalEmitHelpers(t,32);else if(x<lt.ClassAndClassElementDecorators)if(checkExternalEmitHelpers(t,8),isClassDeclaration(e))if(e.name){getFirstTransformableStaticClassElement(e)&&checkExternalEmitHelpers(t,4194304)}else checkExternalEmitHelpers(t,4194304);else isClassExpression(e)||(isPrivateIdentifier(e.name)&&(isMethodDeclaration(e)||isAccessor(e)||isAutoAccessorPropertyDeclaration(e))&&checkExternalEmitHelpers(t,4194304),isComputedPropertyName(e.name)&&checkExternalEmitHelpers(t,8388608));markLinkedReferences(e,8);for(const t of e.modifiers)isDecorator(t)&&checkDecorator(t)}}function getIdentifierFromEntityNameExpression(e){switch(e.kind){case 80:return e;case 212:return e.name;default:return}}function checkFunctionOrMethodDeclaration(e){var t;checkDecorators(e),checkSignatureDeclaration(e);const n=getFunctionFlags(e);if(e.name&&168===e.name.kind&&checkComputedPropertyName(e.name),hasBindableName(e)){const n=getSymbolOfDeclaration(e),r=e.localSymbol||n,i=null==(t=r.declarations)?void 0:t.find(t=>t.kind===e.kind&&!(524288&t.flags));e===i&&checkFunctionOrConstructorSymbol(r),n.parent&&checkFunctionOrConstructorSymbol(n)}const r=174===e.kind?void 0:e.body;if(checkSourceElement(r),checkAllCodePathsInNonVoidFunctionReturnOrThrow(e,getReturnTypeFromAnnotation(e)),addLazyDiagnostic(function checkFunctionOrMethodDeclarationDiagnostics(){getEffectiveReturnTypeNode(e)||(nodeIsMissing(r)&&!isPrivateWithinAmbient(e)&&reportImplicitAny(e,ke),1&n&&nodeIsPresent(r)&&getReturnTypeOfSignature(getSignatureFromDeclaration(e)))}),isInJSFile(e)){const t=getJSDocTypeTag(e);t&&t.typeExpression&&!getContextualCallSignature(getTypeFromTypeNode(t.typeExpression),e)&&error2(t.typeExpression.type,Ot.The_type_of_a_function_declaration_must_match_the_function_s_signature)}}function registerForUnusedIdentifiersCheck(e){addLazyDiagnostic(function registerForUnusedIdentifiersCheckDiagnostics(){const t=getSourceFileOfNode(e);let n=Fr.get(t.path);n||(n=[],Fr.set(t.path,n));n.push(e)})}function checkUnusedIdentifiers(e,t){for(const n of e)switch(n.kind){case 264:case 232:checkUnusedClassMembers(n,t),checkUnusedTypeParameters(n,t);break;case 308:case 268:case 242:case 270:case 249:case 250:case 251:checkUnusedLocalsAndParameters(n,t);break;case 177:case 219:case 263:case 220:case 175:case 178:case 179:n.body&&checkUnusedLocalsAndParameters(n,t),checkUnusedTypeParameters(n,t);break;case 174:case 180:case 181:case 185:case 186:case 266:case 265:checkUnusedTypeParameters(n,t);break;case 196:checkUnusedInferTypeParameter(n,t);break;default:h.assertNever(n,"Node should not have been registered for unused identifiers check")}}function errorUnusedLocal(e,t,n){n(e,0,createDiagnosticForNode(getNameOfDeclaration(e)||e,isTypeDeclaration(e)?Ot._0_is_declared_but_never_used:Ot._0_is_declared_but_its_value_is_never_read,t))}function isIdentifierThatStartsWithUnderscore(e){return isIdentifier(e)&&95===idText(e).charCodeAt(0)}function checkUnusedClassMembers(e,t){for(const n of e.members)switch(n.kind){case 175:case 173:case 178:case 179:if(179===n.kind&&32768&n.symbol.flags)break;const e=getSymbolOfDeclaration(n);e.isReferenced||!(hasEffectiveModifier(n,2)||isNamedDeclaration(n)&&isPrivateIdentifier(n.name))||33554432&n.flags||t(n,0,createDiagnosticForNode(n.name,Ot._0_is_declared_but_its_value_is_never_read,symbolToString(e)));break;case 177:for(const e of n.parameters)!e.symbol.isReferenced&&hasSyntacticModifier(e,2)&&t(e,0,createDiagnosticForNode(e.name,Ot.Property_0_is_declared_but_its_value_is_never_read,symbolName(e.symbol)));break;case 182:case 241:case 176:break;default:h.fail("Unexpected class member")}}function checkUnusedInferTypeParameter(e,t){const{typeParameter:n}=e;isTypeParameterUnused(n)&&t(e,1,createDiagnosticForNode(e,Ot._0_is_declared_but_its_value_is_never_read,idText(n.name)))}function checkUnusedTypeParameters(e,t){const n=getSymbolOfDeclaration(e).declarations;if(!n||last(n)!==e)return;const r=getEffectiveTypeParameterDeclarations(e),i=new Set;for(const e of r){if(!isTypeParameterUnused(e))continue;const n=idText(e.name),{parent:r}=e;if(196!==r.kind&&r.typeParameters.every(isTypeParameterUnused)){if(tryAddToSet(i,r)){const i=getSourceFileOfNode(r),o=isJSDocTemplateTag(r)?rangeOfNode(r):rangeOfTypeParameters(i,r.typeParameters),a=1===r.typeParameters.length?[Ot._0_is_declared_but_its_value_is_never_read,n]:[Ot.All_type_parameters_are_unused];t(e,1,createFileDiagnostic(i,o.pos,o.end-o.pos,...a))}}else t(e,1,createDiagnosticForNode(e,Ot._0_is_declared_but_its_value_is_never_read,n))}}function isTypeParameterUnused(e){return!(262144&getMergedSymbol(e.symbol).isReferenced||isIdentifierThatStartsWithUnderscore(e.name))}function addToGroup(e,t,n,r){const i=String(r(t)),o=e.get(i);o?o[1].push(n):e.set(i,[t,[n]])}function tryGetRootParameterDeclaration(e){return tryCast(getRootDeclaration(e),isParameter)}function isValidUnusedLocalDeclaration(e){return isBindingElement(e)?isObjectBindingPattern(e.parent)?!(!e.propertyName||!isIdentifierThatStartsWithUnderscore(e.name)):isIdentifierThatStartsWithUnderscore(e.name):isAmbientModule(e)||(isVariableDeclaration(e)&&isForInOrOfStatement(e.parent.parent)||isImportedDeclaration(e))&&isIdentifierThatStartsWithUnderscore(e.name)}function checkUnusedLocalsAndParameters(e,t){const n=new Map,r=new Map,i=new Map;e.locals.forEach(e=>{if(!(262144&e.flags?!(3&e.flags)||3&e.isReferenced:e.isReferenced||e.exportSymbol)&&e.declarations)for(const o of e.declarations)if(!isValidUnusedLocalDeclaration(o))if(isImportedDeclaration(o))addToGroup(n,importClauseFromImported(o),o,getNodeId);else if(isBindingElement(o)&&isObjectBindingPattern(o.parent)){o!==last(o.parent.elements)&&last(o.parent.elements).dotDotDotToken||addToGroup(r,o.parent,o,getNodeId)}else if(isVariableDeclaration(o)){const e=7&getCombinedNodeFlagsCached(o),t=getNameOfDeclaration(o);(4===e||6===e)&&t&&isIdentifierThatStartsWithUnderscore(t)||addToGroup(i,o.parent,o,getNodeId)}else{const n=e.valueDeclaration&&tryGetRootParameterDeclaration(e.valueDeclaration),i=e.valueDeclaration&&getNameOfDeclaration(e.valueDeclaration);n&&i?isParameterPropertyDeclaration(n,n.parent)||parameterIsThisKeyword(n)||isIdentifierThatStartsWithUnderscore(i)||(isBindingElement(o)&&isArrayBindingPattern(o.parent)?addToGroup(r,o.parent,o,getNodeId):t(n,1,createDiagnosticForNode(i,Ot._0_is_declared_but_its_value_is_never_read,symbolName(e)))):errorUnusedLocal(o,symbolName(e),t)}}),n.forEach(([e,n])=>{const r=e.parent;if((e.name?1:0)+(e.namedBindings?275===e.namedBindings.kind?1:e.namedBindings.elements.length:0)===n.length)t(r,0,1===n.length?createDiagnosticForNode(r,Ot._0_is_declared_but_its_value_is_never_read,idText(first(n).name)):createDiagnosticForNode(r,Ot.All_imports_in_import_declaration_are_unused));else for(const e of n)errorUnusedLocal(e,idText(e.name),t)}),r.forEach(([e,n])=>{const r=tryGetRootParameterDeclaration(e.parent)?1:0;if(e.elements.length===n.length)1===n.length&&261===e.parent.kind&&262===e.parent.parent.kind?addToGroup(i,e.parent.parent,e.parent,getNodeId):t(e,r,1===n.length?createDiagnosticForNode(e,Ot._0_is_declared_but_its_value_is_never_read,bindingNameText(first(n).name)):createDiagnosticForNode(e,Ot.All_destructured_elements_are_unused));else for(const e of n)t(e,r,createDiagnosticForNode(e,Ot._0_is_declared_but_its_value_is_never_read,bindingNameText(e.name)))}),i.forEach(([e,n])=>{if(e.declarations.length===n.length)t(e,0,1===n.length?createDiagnosticForNode(first(n).name,Ot._0_is_declared_but_its_value_is_never_read,bindingNameText(first(n).name)):createDiagnosticForNode(244===e.parent.kind?e.parent:e,Ot.All_variables_are_unused));else for(const e of n)t(e,0,createDiagnosticForNode(e,Ot._0_is_declared_but_its_value_is_never_read,bindingNameText(e.name)))})}function bindingNameText(e){switch(e.kind){case 80:return idText(e);case 208:case 207:return bindingNameText(cast(first(e.elements),isBindingElement).name);default:return h.assertNever(e)}}function isImportedDeclaration(e){return 274===e.kind||277===e.kind||275===e.kind}function importClauseFromImported(e){return 274===e.kind?e:275===e.kind?e.parent:e.parent.parent}function checkBlock(e){if(242===e.kind&&checkGrammarStatementInAmbientContext(e),isFunctionOrModuleBlock(e)){const t=Ar;forEach(e.statements,checkSourceElement),Ar=t}else forEach(e.statements,checkSourceElement);e.locals&®isterForUnusedIdentifiersCheck(e)}function needCollisionCheckForIdentifier(e,t,n){if((null==t?void 0:t.escapedText)!==n)return!1;if(173===e.kind||172===e.kind||175===e.kind||174===e.kind||178===e.kind||179===e.kind||304===e.kind)return!1;if(33554432&e.flags)return!1;if((isImportClause(e)||isImportEqualsDeclaration(e)||isImportSpecifier(e))&&isTypeOnlyImportOrExportDeclaration(e))return!1;const r=getRootDeclaration(e);return!isParameter(r)||!nodeIsMissing(r.parent.body)}function checkIfThisIsCapturedInEnclosingScope(e){findAncestor(e,t=>{if(4&getNodeCheckFlags(t)){return 80!==e.kind?error2(getNameOfDeclaration(e),Ot.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference):error2(e,Ot.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference),!0}return!1})}function checkIfNewTargetIsCapturedInEnclosingScope(e){findAncestor(e,t=>{if(8&getNodeCheckFlags(t)){return 80!==e.kind?error2(getNameOfDeclaration(e),Ot.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference):error2(e,Ot.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference),!0}return!1})}function checkWeakMapSetCollision(e){1048576&getNodeCheckFlags(getEnclosingBlockScopeContainer(e))&&(h.assert(isNamedDeclaration(e)&&isIdentifier(e.name)&&"string"==typeof e.name.escapedText,"The target of a WeakMap/WeakSet collision check should be an identifier"),errorSkippedOn("noEmit",e,Ot.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel,e.name.escapedText))}function checkReflectCollision(e){let t=!1;if(isClassExpression(e)){for(const n of e.members)if(2097152&getNodeCheckFlags(n)){t=!0;break}}else if(isFunctionExpression(e))2097152&getNodeCheckFlags(e)&&(t=!0);else{const n=getEnclosingBlockScopeContainer(e);n&&2097152&getNodeCheckFlags(n)&&(t=!0)}t&&(h.assert(isNamedDeclaration(e)&&isIdentifier(e.name),"The target of a Reflect collision check should be an identifier"),errorSkippedOn("noEmit",e,Ot.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers,declarationNameToString(e.name),"Reflect"))}function checkCollisionsForDeclarationName(t,n){n&&(!function checkCollisionWithRequireExportsInGeneratedCode(t,n){if(e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))>=5)return;if(!n||!needCollisionCheckForIdentifier(t,n,"require")&&!needCollisionCheckForIdentifier(t,n,"exports"))return;if(isModuleDeclaration(t)&&1!==getModuleInstanceState(t))return;const r=getDeclarationContainer(t);308===r.kind&&isExternalOrCommonJsModule(r)&&errorSkippedOn("noEmit",n,Ot.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,declarationNameToString(n),declarationNameToString(n))}(t,n),function checkCollisionWithGlobalPromiseInGeneratedCode(e,t){if(!t||x>=4||!needCollisionCheckForIdentifier(e,t,"Promise"))return;if(isModuleDeclaration(e)&&1!==getModuleInstanceState(e))return;const n=getDeclarationContainer(e);308===n.kind&&isExternalOrCommonJsModule(n)&&4096&n.flags&&errorSkippedOn("noEmit",t,Ot.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,declarationNameToString(t),declarationNameToString(t))}(t,n),function recordPotentialCollisionWithWeakMapSetInGeneratedCode(e,t){x<=8&&(needCollisionCheckForIdentifier(e,t,"WeakMap")||needCollisionCheckForIdentifier(e,t,"WeakSet"))&&fi.push(e)}(t,n),function recordPotentialCollisionWithReflectInGeneratedCode(e,t){t&&x>=2&&x<=8&&needCollisionCheckForIdentifier(e,t,"Reflect")&&gi.push(e)}(t,n),isClassLike(t)?(checkTypeNameIsReserved(n,Ot.Class_name_cannot_be_0),33554432&t.flags||function checkClassNameCollisionWithObject(t){x>=1&&"Object"===t.escapedText&&e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))<5&&error2(t,Ot.Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0,$e[v])}(n)):isEnumDeclaration(t)&&checkTypeNameIsReserved(n,Ot.Enum_name_cannot_be_0))}function convertAutoToAny(e){return e===Fe?ke:e===Yt?Xt:e}function checkVariableLikeDeclaration(e){var t;if(checkDecorators(e),isBindingElement(e)||checkSourceElement(e.type),!e.name)return;if(168===e.name.kind&&(checkComputedPropertyName(e.name),hasOnlyExpressionInitializer(e)&&e.initializer&&checkExpressionCached(e.initializer)),isBindingElement(e)){if(e.propertyName&&isIdentifier(e.name)&&isPartOfParameterDeclaration(e)&&nodeIsMissing(getContainingFunction(e).body))return void yi.push(e);isObjectBindingPattern(e.parent)&&e.dotDotDotToken&&x<lt.ObjectSpreadRest&&checkExternalEmitHelpers(e,4),e.propertyName&&168===e.propertyName.kind&&checkComputedPropertyName(e.propertyName);const t=e.parent.parent,n=getTypeForBindingElementParent(t,e.dotDotDotToken?32:0),r=e.propertyName||e.name;if(n&&!isBindingPattern(r)){const i=getLiteralTypeFromPropertyName(r);if(isTypeUsableAsPropertyName(i)){const r=getPropertyOfType(n,getPropertyNameFromType(i));r&&(markPropertyAsReferenced(r,void 0,!1),checkPropertyAccessibility(e,!!t.initializer&&108===t.initializer.kind,!1,n,r))}}}if(isBindingPattern(e.name)&&(208===e.name.kind&&x<lt.BindingPatterns&&S.downlevelIteration&&checkExternalEmitHelpers(e,512),forEach(e.name.elements,checkSourceElement)),e.initializer&&isPartOfParameterDeclaration(e)&&nodeIsMissing(getContainingFunction(e).body))return void error2(e,Ot.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);if(isBindingPattern(e.name)){if(isInAmbientOrTypeNode(e))return;const t=hasOnlyExpressionInitializer(e)&&e.initializer&&250!==e.parent.parent.kind,n=!some(e.name.elements,not(isOmittedExpression));if(t||n){const r=getWidenedTypeForVariableLikeDeclaration(e);if(t){const t=checkExpressionCached(e.initializer);k&&n?checkNonNullNonVoidType(t,e):checkTypeAssignableToAndOptionallyElaborate(t,getWidenedTypeForVariableLikeDeclaration(e),e,e.initializer)}n&&(isArrayBindingPattern(e.name)?checkIteratedTypeOrElementType(65,r,Me,e):k&&checkNonNullNonVoidType(r,e))}return}const n=getSymbolOfDeclaration(e);if(2097152&n.flags&&(isVariableDeclarationInitializedToBareOrAccessedRequire(e)||isBindingElementOfBareOrAccessedRequire(e)))return void checkAliasSymbol(e);10===e.name.kind&&error2(e.name,Ot.A_bigint_literal_cannot_be_used_as_a_property_name);const r=convertAutoToAny(getTypeOfSymbol(n));if(e===n.valueDeclaration){const i=hasOnlyExpressionInitializer(e)&&getEffectiveInitializer(e);if(i){if(!(isInJSFile(e)&&isObjectLiteralExpression(i)&&(0===i.properties.length||isPrototypeAccess(e.name))&&!!(null==(t=n.exports)?void 0:t.size))&&250!==e.parent.parent.kind){const t=checkExpressionCached(i);checkTypeAssignableToAndOptionallyElaborate(t,r,e,i,void 0);const n=7&getCombinedNodeFlagsCached(e);if(6===n){const n=function getGlobalAsyncDisposableType(e){return Ln||(Ln=getGlobalType("AsyncDisposable",0,e))||ht}(!0),r=getGlobalDisposableType(!0);if(n!==ht&&r!==ht){const o=getUnionType([n,r,We,Me]);checkTypeAssignableTo(widenTypeForVariableLikeDeclaration(t,e),o,i,Ot.The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined)}}else if(4===n){const n=getGlobalDisposableType(!0);if(n!==ht){const r=getUnionType([n,We,Me]);checkTypeAssignableTo(widenTypeForVariableLikeDeclaration(t,e),r,i,Ot.The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_null_or_undefined)}}}}n.declarations&&n.declarations.length>1&&some(n.declarations,t=>t!==e&&isVariableLike(t)&&!areDeclarationFlagsIdentical(t,e))&&error2(e.name,Ot.All_declarations_of_0_must_have_identical_modifiers,declarationNameToString(e.name))}else{const t=convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(e));isErrorType(r)||isErrorType(t)||isTypeIdenticalTo(r,t)||67108864&n.flags||errorNextVariableOrPropertyDeclarationMustHaveSameType(n.valueDeclaration,r,e,t),hasOnlyExpressionInitializer(e)&&e.initializer&&checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(e.initializer),t,e,e.initializer,void 0),n.valueDeclaration&&!areDeclarationFlagsIdentical(e,n.valueDeclaration)&&error2(e.name,Ot.All_declarations_of_0_must_have_identical_modifiers,declarationNameToString(e.name))}173!==e.kind&&172!==e.kind&&(checkExportsOnMergedDeclarations(e),261!==e.kind&&209!==e.kind||function checkVarDeclaredNamesNotShadowed(e){if(7&getCombinedNodeFlagsCached(e)||isPartOfParameterDeclaration(e))return;const t=getSymbolOfDeclaration(e);if(1&t.flags){if(!isIdentifier(e.name))return h.fail();const n=te(e,e.name.escapedText,3,void 0,!1);if(n&&n!==t&&2&n.flags&&7&getDeclarationNodeFlagsFromSymbol(n)){const t=getAncestor(n.valueDeclaration,262),r=244===t.parent.kind&&t.parent.parent?t.parent.parent:void 0;if(!r||!(242===r.kind&&isFunctionLike(r.parent)||269===r.kind||268===r.kind||308===r.kind)){const t=symbolToString(n);error2(e,Ot.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,t,t)}}}}(e),checkCollisionsForDeclarationName(e,e.name))}function errorNextVariableOrPropertyDeclarationMustHaveSameType(e,t,n,r){const i=getNameOfDeclaration(n),o=173===n.kind||172===n.kind?Ot.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:Ot.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,a=declarationNameToString(i),s=error2(i,o,a,typeToString(t),typeToString(r));e&&addRelatedInfo(s,createDiagnosticForNode(e,Ot._0_was_also_declared_here,a))}function areDeclarationFlagsIdentical(e,t){if(170===e.kind&&261===t.kind||261===e.kind&&170===t.kind)return!0;if(hasQuestionToken(e)!==hasQuestionToken(t))return!1;return getSelectedEffectiveModifierFlags(e,1358)===getSelectedEffectiveModifierFlags(t,1358)}function checkVariableDeclaration(t){var n,r;null==(n=J)||n.push(J.Phase.Check,"checkVariableDeclaration",{kind:t.kind,pos:t.pos,end:t.end,path:t.tracingPath}),function checkGrammarVariableDeclaration(t){const n=getCombinedNodeFlagsCached(t),r=7&n;if(isBindingPattern(t.name))switch(r){case 6:return grammarErrorOnNode(t,Ot._0_declarations_may_not_have_binding_patterns,"await using");case 4:return grammarErrorOnNode(t,Ot._0_declarations_may_not_have_binding_patterns,"using")}if(250!==t.parent.parent.kind&&251!==t.parent.parent.kind)if(33554432&n)checkAmbientInitializer(t);else if(!t.initializer){if(isBindingPattern(t.name)&&!isBindingPattern(t.parent))return grammarErrorOnNode(t,Ot.A_destructuring_declaration_must_have_an_initializer);switch(r){case 6:return grammarErrorOnNode(t,Ot._0_declarations_must_be_initialized,"await using");case 4:return grammarErrorOnNode(t,Ot._0_declarations_must_be_initialized,"using");case 2:return grammarErrorOnNode(t,Ot._0_declarations_must_be_initialized,"const")}}if(t.exclamationToken&&(244!==t.parent.parent.kind||!t.type||t.initializer||33554432&n)){const e=t.initializer?Ot.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t.type?Ot.A_definite_assignment_assertion_is_not_permitted_in_this_context:Ot.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return grammarErrorOnNode(t.exclamationToken,e)}e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))<4&&!(33554432&t.parent.parent.flags)&&hasSyntacticModifier(t.parent.parent,32)&&checkESModuleMarker(t.name);return!!r&&checkGrammarNameInLetOrConstDeclarations(t.name)}(t),checkVariableLikeDeclaration(t),null==(r=J)||r.pop()}function checkBindingElement(e){return function checkGrammarBindingElement(e){if(e.dotDotDotToken){const t=e.parent.elements;if(e!==last(t))return grammarErrorOnNode(e,Ot.A_rest_element_must_be_last_in_a_destructuring_pattern);if(checkGrammarForDisallowedTrailingComma(t,Ot.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),e.propertyName)return grammarErrorOnNode(e.name,Ot.A_rest_element_cannot_have_a_property_name)}if(e.dotDotDotToken&&e.initializer)return grammarErrorAtPos(e,e.initializer.pos-1,1,Ot.A_rest_element_cannot_have_an_initializer)}(e),checkVariableLikeDeclaration(e)}function checkVariableDeclarationList(e){const t=7&getCombinedNodeFlags(e);(4===t||6===t)&&x<lt.UsingAndAwaitUsing&&checkExternalEmitHelpers(e,16777216),forEach(e.declarations,checkSourceElement)}function checkVariableStatement(e){checkGrammarModifiers(e)||checkGrammarVariableDeclarationList(e.declarationList)||function checkGrammarForDisallowedBlockScopedVariableStatement(e){if(!allowBlockDeclarations(e.parent)){const t=7&getCombinedNodeFlagsCached(e.declarationList);if(t){const n=1===t?"let":2===t?"const":4===t?"using":6===t?"await using":h.fail("Unknown BlockScope flag");error2(e,Ot._0_declarations_can_only_be_declared_inside_a_block,n)}}}(e),checkVariableDeclarationList(e.declarationList)}function checkTestingKnownTruthyCallableOrAwaitableOrEnumMemberType(e,t,n){function bothHelper(e,t){for(helper(e=skipParentheses(e),t);isBinaryExpression(e)&&(57===e.operatorToken.kind||61===e.operatorToken.kind);)helper(e=skipParentheses(e.left),t)}function helper(e,n){const r=isLogicalOrCoalescingBinaryExpression(e)?skipParentheses(e.right):e;if(isModuleExportsAccessExpression(r))return;if(isLogicalOrCoalescingBinaryExpression(r))return void bothHelper(r,n);const i=r===e?t:checkExpression(r);if(1024&i.flags&&isPropertyAccessExpression(r)&&384&(getNodeLinks(r.expression).resolvedSymbol??ve).flags)return void error2(r,Ot.This_condition_will_always_return_0,i.value?"true":"false");const o=isPropertyAccessExpression(r)&&isTypeAssertion(r.expression);if(!hasTypeFacts(i,4194304)||o)return;const a=getSignaturesOfType(i,0),s=!!getAwaitedTypeOfPromise(i);if(0===a.length&&!s)return;const c=isIdentifier(r)?r:isPropertyAccessExpression(r)?r.name:void 0,l=c&&getSymbolAtLocation(c);if(!l&&!s)return;const d=l&&isBinaryExpression(e.parent)&&function isSymbolUsedInBinaryExpressionChain(e,t){for(;isBinaryExpression(e)&&56===e.operatorToken.kind;){if(forEachChild(e.right,function visit(e){if(isIdentifier(e)){const n=getSymbolAtLocation(e);if(n&&n===t)return!0}return forEachChild(e,visit)}))return!0;e=e.parent}return!1}(e.parent,l)||l&&n&&function isSymbolUsedInConditionBody(e,t,n,r){return!!forEachChild(t,function check(t){if(isIdentifier(t)){const i=getSymbolAtLocation(t);if(i&&i===r){if(isIdentifier(e)||isIdentifier(n)&&isBinaryExpression(n.parent))return!0;let r=n.parent,i=t.parent;for(;r&&i;){if(isIdentifier(r)&&isIdentifier(i)||110===r.kind&&110===i.kind)return getSymbolAtLocation(r)===getSymbolAtLocation(i);if(isPropertyAccessExpression(r)&&isPropertyAccessExpression(i)){if(getSymbolAtLocation(r.name)!==getSymbolAtLocation(i.name))return!1;i=i.expression,r=r.expression}else{if(!isCallExpression(r)||!isCallExpression(i))return!1;i=i.expression,r=r.expression}}}}return forEachChild(t,check)})}(e,n,c,l);d||(s?errorAndMaybeSuggestAwait(r,!0,Ot.This_condition_will_always_return_true_since_this_0_is_always_defined,getTypeNameForErrorDisplay(i)):error2(r,Ot.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead))}k&&bothHelper(e,n)}function checkTruthinessOfType(e,t){if(16384&e.flags)error2(t,Ot.An_expression_of_type_void_cannot_be_tested_for_truthiness);else{const e=getSyntacticTruthySemantics(t);3!==e&&error2(t,1===e?Ot.This_kind_of_expression_is_always_truthy:Ot.This_kind_of_expression_is_always_falsy)}return e}function getSyntacticTruthySemantics(e){switch((e=skipOuterExpressions(e)).kind){case 9:return"0"===e.text||"1"===e.text?3:1;case 210:case 220:case 10:case 232:case 219:case 285:case 286:case 211:case 14:return 1;case 223:case 106:return 2;case 15:case 11:return e.text?1:2;case 228:return getSyntacticTruthySemantics(e.whenTrue)|getSyntacticTruthySemantics(e.whenFalse);case 80:return getResolvedSymbol(e)===V?2:3}return 3}function checkTruthinessExpression(e,t){return checkTruthinessOfType(checkExpression(e,t),e)}function checkForInStatement(e){checkGrammarForInOrForOfStatement(e);const t=getNonNullableTypeIfNeeded(checkExpression(e.expression));if(262===e.initializer.kind){const t=e.initializer.declarations[0];t&&isBindingPattern(t.name)&&error2(t.name,Ot.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),checkVariableDeclarationList(e.initializer)}else{const n=e.initializer,r=checkExpression(n);210===n.kind||211===n.kind?error2(n,Ot.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):isTypeAssignableTo(function getIndexTypeOrString(e){const t=getExtractStringType(getIndexType(e));return 131072&t.flags?ze:t}(t),r)?checkReferenceExpression(n,Ot.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access,Ot.The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access):error2(n,Ot.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}t!==tt&&isTypeAssignableToKind(t,126091264)||error2(e.expression,Ot.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0,typeToString(t)),checkSourceElement(e.statement),e.locals&®isterForUnusedIdentifiersCheck(e)}function checkRightHandSideOfForOf(e){return checkIteratedTypeOrElementType(e.awaitModifier?15:13,checkNonNullExpression(e.expression),Me,e.expression)}function checkIteratedTypeOrElementType(e,t,n,r){return isTypeAny(t)?t:getIteratedTypeOrElementType(e,t,n,r,!0)||ke}function getIteratedTypeOrElementType(e,t,n,r,i){const o=!!(2&e);if(t===tt)return void(r&&reportTypeNotIterableError(r,t,o));const a=x>=2,s=!a&&S.downlevelIteration,c=S.noUncheckedIndexedAccess&&!!(128&e);if(a||s||o){const o=getIterationTypesOfIterable(t,e,a?r:void 0);if(i&&o){const t=8&e?Ot.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:32&e?Ot.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:64&e?Ot.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:16&e?Ot.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;t&&checkTypeAssignableTo(n,o.nextType,r,t)}if(o||a)return c?includeUndefinedInIndexSignature(o&&o.yieldType):o&&o.yieldType}let l=t,d=!1;if(4&e){if(1048576&l.flags){const e=t.types,n=filter(e,e=>!(402653316&e.flags));n!==e&&(l=getUnionType(n,2))}else 402653316&l.flags&&(l=tt);if(d=l!==t,d&&131072&l.flags)return c?includeUndefinedInIndexSignature(ze):ze}if(!isArrayLikeType(l)){if(r){const n=!!(4&e)&&!d,[i,o]=function getIterationDiagnosticDetails(n,r){var i;if(r)return n?[Ot.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:[Ot.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0];if(getIterationTypeOfIterable(e,0,t,void 0))return[Ot.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!1];if(function isES2015OrLaterIterable(e){switch(e){case"Float32Array":case"Float64Array":case"Int16Array":case"Int32Array":case"Int8Array":case"NodeList":case"Uint16Array":case"Uint32Array":case"Uint8Array":case"Uint8ClampedArray":return!0}return!1}(null==(i=t.symbol)?void 0:i.escapedName))return[Ot.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!0];return n?[Ot.Type_0_is_not_an_array_type_or_a_string_type,!0]:[Ot.Type_0_is_not_an_array_type,!0]}(n,s);errorAndMaybeSuggestAwait(r,o&&!!getAwaitedTypeOfPromise(l),i,typeToString(l))}return d?c?includeUndefinedInIndexSignature(ze):ze:void 0}const p=getIndexTypeOfType(l,Ve);return d&&p?402653316&p.flags&&!S.noUncheckedIndexedAccess?ze:getUnionType(c?[p,ze,Me]:[p,ze],2):128&e?includeUndefinedInIndexSignature(p):p}function getIterationTypeOfIterable(e,t,n,r){if(isTypeAny(n))return;const i=getIterationTypesOfIterable(n,e,r);return i&&i[getIterationTypesKeyFromIterationTypeKind(t)]}function createIterationTypes(e=tt,t=tt,n=Le){if(67359327&e.flags&&180227&t.flags&&180227&n.flags){const r=getTypeListId([e,t,n]);let i=Sr.get(r);return i||(i={yieldType:e,returnType:t,nextType:n},Sr.set(r,i)),i}return{yieldType:e,returnType:t,nextType:n}}function combineIterationTypes(e){let t,n,r;for(const i of e)if(void 0!==i&&i!==xr){if(i===vr)return vr;t=append(t,i.yieldType),n=append(n,i.returnType),r=append(r,i.nextType)}return t||n||r?createIterationTypes(t&&getUnionType(t),n&&getUnionType(n),r&&getIntersectionType(r)):xr}function getCachedIterationTypes(e,t){return e[t]}function setCachedIterationTypes(e,t,n){return e[t]=n}function getIterationTypesOfIterable(e,t,n){var r,i;if(e===nt)return br;if(isTypeAny(e))return vr;if(!(1048576&e.flags)){const i=n?{errors:void 0,skipLogging:!0}:void 0,o=getIterationTypesOfIterableWorker(e,t,n,i);if(o===xr){if(n){const r=reportTypeNotIterableError(n,e,!!(2&t));(null==i?void 0:i.errors)&&addRelatedInfo(r,...i.errors)}return}if(null==(r=null==i?void 0:i.errors)?void 0:r.length)for(const e of i.errors)vi.add(e);return o}const o=2&t?"iterationTypesOfAsyncIterable":"iterationTypesOfIterable",a=getCachedIterationTypes(e,o);if(a)return a===xr?void 0:a;let s;for(const r of e.types){const a=n?{errors:void 0}:void 0,c=getIterationTypesOfIterableWorker(r,t,n,a);if(c===xr){if(n){const r=reportTypeNotIterableError(n,e,!!(2&t));(null==a?void 0:a.errors)&&addRelatedInfo(r,...a.errors)}return void setCachedIterationTypes(e,o,xr)}if(null==(i=null==a?void 0:a.errors)?void 0:i.length)for(const e of a.errors)vi.add(e);s=append(s,c)}const c=s?combineIterationTypes(s):xr;return setCachedIterationTypes(e,o,c),c===xr?void 0:c}function getAsyncFromSyncIterationTypes(e,t){if(e===xr)return xr;if(e===vr)return vr;const{yieldType:n,returnType:r,nextType:i}=e;return t&&getGlobalAwaitedSymbol(!0),createIterationTypes(getAwaitedType(n,t)||ke,getAwaitedType(r,t)||ke,i)}function getIterationTypesOfIterableWorker(e,t,n,r){if(isTypeAny(e))return vr;let i=!1;if(2&t){const r=getIterationTypesOfIterableCached(e,Cr)||getIterationTypesOfIterableFast(e,Cr);if(r){if(r!==xr||!n)return 8&t?getAsyncFromSyncIterationTypes(r,n):r;i=!0}}if(1&t){let r=getIterationTypesOfIterableCached(e,Er)||getIterationTypesOfIterableFast(e,Er);if(r)if(r===xr&&n)i=!0;else{if(!(2&t))return r;if(r!==xr)return r=getAsyncFromSyncIterationTypes(r,n),i?r:setCachedIterationTypes(e,"iterationTypesOfAsyncIterable",r)}}if(2&t){const t=getIterationTypesOfIterableSlow(e,Cr,n,r,i);if(t!==xr)return t}if(1&t){let o=getIterationTypesOfIterableSlow(e,Er,n,r,i);if(o!==xr)return 2&t?(o=getAsyncFromSyncIterationTypes(o,n),i?o:setCachedIterationTypes(e,"iterationTypesOfAsyncIterable",o)):o}return xr}function getIterationTypesOfIterableCached(e,t){return getCachedIterationTypes(e,t.iterableCacheKey)}function getIterationTypesOfIterableFast(e,t){if(isReferenceToType2(e,t.getGlobalIterableType(!1))||isReferenceToType2(e,t.getGlobalIteratorObjectType(!1))||isReferenceToType2(e,t.getGlobalIterableIteratorType(!1))||isReferenceToType2(e,t.getGlobalGeneratorType(!1))){const[n,r,i]=getTypeArguments(e);return setCachedIterationTypes(e,t.iterableCacheKey,createIterationTypes(t.resolveIterationType(n,void 0)||n,t.resolveIterationType(r,void 0)||r,i))}if(isReferenceToSomeType(e,t.getGlobalBuiltinIteratorTypes())){const[n]=getTypeArguments(e),r=getBuiltinIteratorReturnType(),i=Le;return setCachedIterationTypes(e,t.iterableCacheKey,createIterationTypes(t.resolveIterationType(n,void 0)||n,t.resolveIterationType(r,void 0)||r,i))}}function getPropertyNameForKnownSymbolName(e){const t=getGlobalESSymbolConstructorSymbol(!1),n=t&&getTypeOfPropertyOfType(getTypeOfSymbol(t),escapeLeadingUnderscores(e));return n&&isTypeUsableAsPropertyName(n)?getPropertyNameFromType(n):`__@${e}`}function getIterationTypesOfIterableSlow(e,t,n,r,i){const o=getPropertyOfType(e,getPropertyNameForKnownSymbolName(t.iteratorSymbolName)),a=!o||16777216&o.flags?void 0:getTypeOfSymbol(o);if(isTypeAny(a))return i?vr:setCachedIterationTypes(e,t.iterableCacheKey,vr);const s=a?getSignaturesOfType(a,0):void 0,c=filter(s,e=>0===getMinArgumentCount(e));if(!some(c))return n&&some(s)&&checkTypeAssignableTo(e,t.getGlobalIterableType(!0),n,void 0,void 0,r),i?xr:setCachedIterationTypes(e,t.iterableCacheKey,xr);const l=getIterationTypesOfIteratorWorker(getIntersectionType(map(c,getReturnTypeOfSignature)),t,n,r,i)??xr;return i?l:setCachedIterationTypes(e,t.iterableCacheKey,l)}function reportTypeNotIterableError(e,t,n){const r=n?Ot.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:Ot.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator;return errorAndMaybeSuggestAwait(e,!!getAwaitedTypeOfPromise(t)||!n&&isForOfStatement(e.parent)&&e.parent.expression===e&&getGlobalAsyncIterableType(!1)!==Et&&isTypeAssignableTo(t,createTypeFromGenericGlobalType(getGlobalAsyncIterableType(!1),[ke,ke,ke])),r,typeToString(t))}function getIterationTypesOfIteratorWorker(e,t,n,r,i){if(isTypeAny(e))return vr;let o=function getIterationTypesOfIteratorCached(e,t){return getCachedIterationTypes(e,t.iteratorCacheKey)}(e,t)||function getIterationTypesOfIteratorFast(e,t){if(isReferenceToType2(e,t.getGlobalIterableIteratorType(!1))||isReferenceToType2(e,t.getGlobalIteratorType(!1))||isReferenceToType2(e,t.getGlobalIteratorObjectType(!1))||isReferenceToType2(e,t.getGlobalGeneratorType(!1))){const[n,r,i]=getTypeArguments(e);return setCachedIterationTypes(e,t.iteratorCacheKey,createIterationTypes(n,r,i))}if(isReferenceToSomeType(e,t.getGlobalBuiltinIteratorTypes())){const[n]=getTypeArguments(e),r=getBuiltinIteratorReturnType(),i=Le;return setCachedIterationTypes(e,t.iteratorCacheKey,createIterationTypes(n,r,i))}}(e,t);return o===xr&&n&&(o=void 0,i=!0),o??(o=function getIterationTypesOfIteratorSlow(e,t,n,r,i){const o=combineIterationTypes([getIterationTypesOfMethod(e,t,"next",n,r),getIterationTypesOfMethod(e,t,"return",n,r),getIterationTypesOfMethod(e,t,"throw",n,r)]);return i?o:setCachedIterationTypes(e,t.iteratorCacheKey,o)}(e,t,n,r,i)),o===xr?void 0:o}function isIteratorResult(e,t){const n=getTypeOfPropertyOfType(e,"done")||He;return isTypeAssignableTo(0===t?He:Ge,n)}function isYieldIteratorResult(e){return isIteratorResult(e,0)}function isReturnIteratorResult(e){return isIteratorResult(e,1)}function getIterationTypesOfIteratorResult(e){if(isTypeAny(e))return vr;const t=getCachedIterationTypes(e,"iterationTypesOfIteratorResult");if(t)return t;if(isReferenceToType2(e,function getGlobalIteratorYieldResultType(e){return Sn||(Sn=getGlobalType("IteratorYieldResult",1,e))||Et}(!1))){return setCachedIterationTypes(e,"iterationTypesOfIteratorResult",createIterationTypes(getTypeArguments(e)[0],void 0,void 0))}if(isReferenceToType2(e,function getGlobalIteratorReturnResultType(e){return xn||(xn=getGlobalType("IteratorReturnResult",1,e))||Et}(!1))){return setCachedIterationTypes(e,"iterationTypesOfIteratorResult",createIterationTypes(void 0,getTypeArguments(e)[0],void 0))}const n=filterType(e,isYieldIteratorResult),r=n!==tt?getTypeOfPropertyOfType(n,"value"):void 0,i=filterType(e,isReturnIteratorResult),o=i!==tt?getTypeOfPropertyOfType(i,"value"):void 0;return setCachedIterationTypes(e,"iterationTypesOfIteratorResult",r||o?createIterationTypes(r,o||et,void 0):xr)}function getIterationTypesOfMethod(e,t,n,r,i){var o,a,s,c;const d=getPropertyOfType(e,n);if(!d&&"next"!==n)return;const p=!d||"next"===n&&16777216&d.flags?void 0:"next"===n?getTypeOfSymbol(d):getTypeWithFacts(getTypeOfSymbol(d),2097152);if(isTypeAny(p))return vr;const u=p?getSignaturesOfType(p,0):l;if(0===u.length){if(r){const e="next"===n?t.mustHaveANextMethodDiagnostic:t.mustBeAMethodDiagnostic;i?(i.errors??(i.errors=[]),i.errors.push(createDiagnosticForNode(r,e,n))):error2(r,e,n)}return"next"===n?xr:void 0}if((null==p?void 0:p.symbol)&&1===u.length){const e=t.getGlobalGeneratorType(!1),r=t.getGlobalIteratorType(!1),i=(null==(a=null==(o=e.symbol)?void 0:o.members)?void 0:a.get(n))===p.symbol,l=!i&&(null==(c=null==(s=r.symbol)?void 0:s.members)?void 0:c.get(n))===p.symbol;if(i||l){const t=i?e:r,{mapper:o}=p;return createIterationTypes(getMappedType(t.typeParameters[0],o),getMappedType(t.typeParameters[1],o),"next"===n?getMappedType(t.typeParameters[2],o):void 0)}}let m,_,f,g,y;for(const e of u)"throw"!==n&&some(e.parameters)&&(m=append(m,getTypeAtPosition(e,0))),_=append(_,getReturnTypeOfSignature(e));if("throw"!==n){const e=m?getUnionType(m):Le;if("next"===n)g=e;else if("return"===n){f=append(f,t.resolveIterationType(e,r)||ke)}}const h=_?getIntersectionType(_):tt,T=getIterationTypesOfIteratorResult(t.resolveIterationType(h,r)||ke);return T===xr?(r&&(i?(i.errors??(i.errors=[]),i.errors.push(createDiagnosticForNode(r,t.mustHaveAValueDiagnostic,n))):error2(r,t.mustHaveAValueDiagnostic,n)),y=ke,f=append(f,ke)):(y=T.yieldType,f=append(f,T.returnType)),createIterationTypes(y,getUnionType(f),g)}function getIterationTypeOfGeneratorFunctionReturnType(e,t,n){if(isTypeAny(t))return;const r=getIterationTypesOfGeneratorFunctionReturnType(t,n);return r&&r[getIterationTypesKeyFromIterationTypeKind(e)]}function getIterationTypesOfGeneratorFunctionReturnType(e,t){if(isTypeAny(e))return vr;const n=t?Cr:Er;return getIterationTypesOfIterable(e,t?2:1,void 0)||function getIterationTypesOfIterator(e,t,n,r){return getIterationTypesOfIteratorWorker(e,t,n,r,!1)}(e,n,void 0,void 0)}function checkBreakOrContinueStatement(e){checkGrammarStatementInAmbientContext(e)||function checkGrammarBreakOrContinueStatement(e){let t=e;for(;t;){if(isFunctionLikeOrClassStaticBlockDeclaration(t))return grammarErrorOnNode(e,Ot.Jump_target_cannot_cross_function_boundary);switch(t.kind){case 257:if(e.label&&t.label.escapedText===e.label.escapedText){return!!(252===e.kind&&!isIterationStatement(t.statement,!0))&&grammarErrorOnNode(e,Ot.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement)}break;case 256:if(253===e.kind&&!e.label)return!1;break;default:if(isIterationStatement(t,!1)&&!e.label)return!1}t=t.parent}if(e.label){return grammarErrorOnNode(e,253===e.kind?Ot.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:Ot.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement)}return grammarErrorOnNode(e,253===e.kind?Ot.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:Ot.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement)}(e)}function unwrapReturnType(e,t){const n=!!(2&t);if(!!(1&t)){const t=getIterationTypeOfGeneratorFunctionReturnType(1,e,n);return t?n?getAwaitedTypeNoAlias(unwrapAwaitedType(t)):t:Ie}return n?getAwaitedTypeNoAlias(e)||Ie:e}function isUnwrappedReturnTypeUndefinedVoidOrAny(e,t){const n=unwrapReturnType(t,getFunctionFlags(e));return!(!n||!(maybeTypeOfKind(n,16384)||32769&n.flags))}function checkReturnExpression(e,t,n,r,i,o=!1){const a=isInJSFile(n),s=getFunctionFlags(e);if(r){const i=skipParentheses(r,a);if(isConditionalExpression(i))return checkReturnExpression(e,t,n,i.whenTrue,checkExpression(i.whenTrue),!0),void checkReturnExpression(e,t,n,i.whenFalse,checkExpression(i.whenFalse),!0)}const c=254===n.kind,l=2&s?checkAwaitedType(i,!1,n,Ot.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):i,d=r&&getEffectiveCheckNode(r);checkTypeAssignableToAndOptionallyElaborate(l,t,c&&!o?n:d,d)}function checkThrowStatement(e){checkGrammarStatementInAmbientContext(e)||isIdentifier(e.expression)&&!e.expression.escapedText&&function grammarErrorAfterFirstToken(e,t,...n){const r=getSourceFileOfNode(e);if(!hasParseDiagnostics(r)){const i=getSpanOfTokenAtPosition(r,e.pos);return vi.add(createFileDiagnostic(r,textSpanEnd(i),0,t,...n)),!0}return!1}(e,Ot.Line_break_not_permitted_here),e.expression&&checkExpression(e.expression)}function checkIndexConstraints(e,t,n){const r=getIndexInfosOfType(e);if(0===r.length)return;for(const t of getPropertiesOfObjectType(e))n&&4194304&t.flags||checkIndexConstraintForProperty(e,t,getLiteralTypeFromProperty(t,8576,!0),getNonMissingTypeOfSymbol(t));const i=t.valueDeclaration;if(i&&isClassLike(i))for(const t of i.members)if((!n&&!isStatic(t)||n&&isStatic(t))&&!hasBindableName(t)){const n=getSymbolOfDeclaration(t);checkIndexConstraintForProperty(e,n,getTypeOfExpression(t.name.expression),getNonMissingTypeOfSymbol(n))}if(r.length>1)for(const t of r)checkIndexConstraintForIndexSignature(e,t)}function checkIndexConstraintForProperty(e,t,n,r){const i=t.valueDeclaration,o=getNameOfDeclaration(i);if(o&&isPrivateIdentifier(o))return;const a=getApplicableIndexInfos(e,n),s=2&getObjectFlags(e)?getDeclarationOfKind(e.symbol,265):void 0,c=i&&227===i.kind||o&&168===o.kind?i:void 0,l=getParentOfSymbol(t)===e.symbol?i:void 0;for(const n of a){const i=n.declaration&&getParentOfSymbol(getSymbolOfDeclaration(n.declaration))===e.symbol?n.declaration:void 0,o=l||i||(s&&!some(getBaseTypes(e),e=>!!getPropertyOfObjectType(e,t.escapedName)&&!!getIndexTypeOfType(e,n.keyType))?s:void 0);if(o&&!isTypeAssignableTo(r,n.type)){const e=createError(o,Ot.Property_0_of_type_1_is_not_assignable_to_2_index_type_3,symbolToString(t),typeToString(r),typeToString(n.keyType),typeToString(n.type));c&&o!==c&&addRelatedInfo(e,createDiagnosticForNode(c,Ot._0_is_declared_here,symbolToString(t))),vi.add(e)}}}function checkIndexConstraintForIndexSignature(e,t){const n=t.declaration,r=getApplicableIndexInfos(e,t.keyType),i=2&getObjectFlags(e)?getDeclarationOfKind(e.symbol,265):void 0,o=n&&getParentOfSymbol(getSymbolOfDeclaration(n))===e.symbol?n:void 0;for(const n of r){if(n===t)continue;const r=n.declaration&&getParentOfSymbol(getSymbolOfDeclaration(n.declaration))===e.symbol?n.declaration:void 0,a=o||r||(i&&!some(getBaseTypes(e),e=>!!getIndexInfoOfType(e,t.keyType)&&!!getIndexTypeOfType(e,n.keyType))?i:void 0);a&&!isTypeAssignableTo(t.type,n.type)&&error2(a,Ot._0_index_type_1_is_not_assignable_to_2_index_type_3,typeToString(t.keyType),typeToString(t.type),typeToString(n.keyType),typeToString(n.type))}}function checkTypeNameIsReserved(e,t){switch(e.escapedText){case"any":case"unknown":case"never":case"number":case"bigint":case"boolean":case"string":case"symbol":case"void":case"object":case"undefined":error2(e,t,e.escapedText)}}function checkTypeParameters(e){let t=!1;if(e)for(let t=0;t<e.length;t++){const n=e[t];checkTypeParameter(n),addLazyDiagnostic(createCheckTypeParameterDiagnostic(n,t))}function createCheckTypeParameterDiagnostic(n,r){return()=>{n.default?(t=!0,function checkTypeParametersNotReferenced(e,t,n){function visit(e){if(184===e.kind){const r=getTypeFromTypeReference(e);if(262144&r.flags)for(let i=n;i<t.length;i++)r.symbol===getSymbolOfDeclaration(t[i])&&error2(e,Ot.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters)}forEachChild(e,visit)}visit(e)}(n.default,e,r)):t&&error2(n,Ot.Required_type_parameters_may_not_follow_optional_type_parameters);for(let t=0;t<r;t++)e[t].symbol===n.symbol&&error2(n.name,Ot.Duplicate_identifier_0,declarationNameToString(n.name))}}}function checkTypeParameterListsIdentical(e){if(e.declarations&&1===e.declarations.length)return;const t=getSymbolLinks(e);if(!t.typeParametersChecked){t.typeParametersChecked=!0;const n=function getClassOrInterfaceDeclarationsOfSymbol(e){return filter(e.declarations,e=>264===e.kind||265===e.kind)}(e);if(!n||n.length<=1)return;if(!areTypeParametersIdentical(n,getDeclaredTypeOfSymbol(e).localTypeParameters,getEffectiveTypeParameterDeclarations)){const t=symbolToString(e);for(const e of n)error2(e.name,Ot.All_declarations_of_0_must_have_identical_type_parameters,t)}}}function areTypeParametersIdentical(e,t,n){const r=length(t),i=getMinTypeArgumentCount(t);for(const o of e){const e=n(o),a=e.length;if(a<i||a>r)return!1;for(let n=0;n<a;n++){const r=e[n],i=t[n];if(r.name.escapedText!==i.symbol.escapedName)return!1;const o=getEffectiveConstraintOfTypeParameter(r),a=o&&getTypeFromTypeNode(o),s=getConstraintOfTypeParameter(i);if(a&&s&&!isTypeIdenticalTo(a,s))return!1;const c=r.default&&getTypeFromTypeNode(r.default),l=getDefaultFromTypeParameter(i);if(c&&l&&!isTypeIdenticalTo(c,l))return!1}}return!0}function getFirstTransformableStaticClassElement(e){const t=!b&&x<lt.ClassAndClassElementDecorators&&classOrConstructorParameterIsDecorated(!1,e),n=x<lt.PrivateNamesAndClassStaticBlocks||x<lt.ClassAndClassElementDecorators,r=!E;if(t||n)for(const i of e.members){if(t&&classElementOrClassElementParameterIsDecorated(!1,i,e))return firstOrUndefined(getDecorators(e))??e;if(n){if(isClassStaticBlockDeclaration(i))return i;if(isStatic(i)&&(isPrivateIdentifierClassElementDeclaration(i)||r&&isInitializedProperty(i)))return i}}}function checkClassLikeDeclaration(e){!function checkGrammarClassLikeDeclaration(e){const t=getSourceFileOfNode(e);return function checkGrammarClassDeclarationHeritageClauses(e){let t=!1,n=!1;if(!checkGrammarModifiers(e)&&e.heritageClauses)for(const r of e.heritageClauses){if(96===r.token){if(t)return grammarErrorOnFirstToken(r,Ot.extends_clause_already_seen);if(n)return grammarErrorOnFirstToken(r,Ot.extends_clause_must_precede_implements_clause);if(r.types.length>1)return grammarErrorOnFirstToken(r.types[1],Ot.Classes_can_only_extend_a_single_class);t=!0}else{if(h.assert(119===r.token),n)return grammarErrorOnFirstToken(r,Ot.implements_clause_already_seen);n=!0}checkGrammarHeritageClause(r)}}(e)||checkGrammarTypeParameterList(e.typeParameters,t)}(e),checkDecorators(e),checkCollisionsForDeclarationName(e,e.name),checkTypeParameters(getEffectiveTypeParameterDeclarations(e)),checkExportsOnMergedDeclarations(e);const t=getSymbolOfDeclaration(e),n=getDeclaredTypeOfSymbol(t),r=getTypeWithThisArgument(n),i=getTypeOfSymbol(t);checkTypeParameterListsIdentical(t),checkFunctionOrConstructorSymbol(t),function checkClassForDuplicateDeclarations(e){const t=new Map,n=new Map,r=new Map;for(const i of e.members)if(177===i.kind)for(const e of i.parameters)isParameterPropertyDeclaration(e,i)&&!isBindingPattern(e.name)&&addName(t,e.name,e.name.escapedText,3);else{const e=isStatic(i),o=i.name;if(!o)continue;const a=isPrivateIdentifier(o),s=a&&e?16:0,c=a?r:e?n:t,l=o&&getEffectivePropertyNameForPropertyNameNode(o);if(l)switch(i.kind){case 178:addName(c,o,l,1|s);break;case 179:addName(c,o,l,2|s);break;case 173:addName(c,o,l,3|s);break;case 175:addName(c,o,l,8|s)}}function addName(e,t,n,r){const i=e.get(n);if(i)if((16&i)!=(16&r))error2(t,Ot.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name,getTextOfNode(t));else{const o=!!(8&i),a=!!(8&r);o||a?o!==a&&error2(t,Ot.Duplicate_identifier_0,getTextOfNode(t)):i&r&-17?error2(t,Ot.Duplicate_identifier_0,getTextOfNode(t)):e.set(n,i|r)}else e.set(n,r)}}(e);!!(33554432&e.flags)||function checkClassForStaticPropertyNameConflicts(e){for(const t of e.members){const n=t.name;if(isStatic(t)&&n){const t=getEffectivePropertyNameForPropertyNameNode(n);switch(t){case"name":case"length":case"caller":case"arguments":if(C)break;case"prototype":error2(n,Ot.Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1,t,getNameOfSymbolAsWritten(getSymbolOfDeclaration(e)))}}}}(e);const o=getEffectiveBaseTypeNode(e);if(o){forEach(o.typeArguments,checkSourceElement),x<lt.Classes&&checkExternalEmitHelpers(o.parent,1);const t=getClassExtendsHeritageElement(e);t&&t!==o&&checkExpression(t.expression);const a=getBaseTypes(n);a.length&&addLazyDiagnostic(()=>{const t=a[0],s=getBaseConstructorTypeOfClass(n),c=getApparentType(s);if(function checkBaseTypeAccessibility(e,t){const n=getSignaturesOfType(e,1);if(n.length){const r=n[0].declaration;if(r&&hasEffectiveModifier(r,2)){isNodeWithinClass(t,getClassLikeDeclarationOfSymbol(e.symbol))||error2(t,Ot.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private,getFullyQualifiedName(e.symbol))}}}(c,o),checkSourceElement(o.expression),some(o.typeArguments)){forEach(o.typeArguments,checkSourceElement);for(const e of getConstructorsForTypeArguments(c,o.typeArguments,o))if(!checkTypeArgumentConstraints(o,e.typeParameters))break}const l=getTypeWithThisArgument(t,n.thisType);if(checkTypeAssignableTo(r,l,void 0)?checkTypeAssignableTo(i,getTypeWithoutSignatures(c),e.name||e,Ot.Class_static_side_0_incorrectly_extends_base_class_static_side_1):issueMemberSpecificError(e,r,l,Ot.Class_0_incorrectly_extends_base_class_1),8650752&s.flags)if(isMixinConstructorType(i)){getSignaturesOfType(s,1).some(e=>4&e.flags)&&!hasSyntacticModifier(e,64)&&error2(e.name||e,Ot.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract)}else error2(e.name||e,Ot.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any);if(!(c.symbol&&32&c.symbol.flags||8650752&s.flags)){forEach(getInstantiatedConstructorsForTypeArguments(c,o.typeArguments,o),e=>!isJSConstructor(e.declaration)&&!isTypeIdenticalTo(getReturnTypeOfSignature(e),t))&&error2(o.expression,Ot.Base_constructors_must_all_have_the_same_return_type)}!function checkKindsOfPropertyMemberOverrides(e,t){var n,r,i,o,a;const s=getPropertiesOfType(t),c=new Map;e:for(const l of s){const s=getTargetSymbol(l);if(4194304&s.flags)continue;const d=getPropertyOfObjectType(e,s.escapedName);if(!d)continue;const p=getTargetSymbol(d),u=getDeclarationModifierFlagsFromSymbol(s);if(h.assert(!!p,"derived should point to something, even if it is the base class' declaration."),p===s){const r=getClassLikeDeclarationOfSymbol(e.symbol);if(64&u&&(!r||!hasSyntacticModifier(r,64))){for(const n of getBaseTypes(e)){if(n===t)continue;const e=getPropertyOfObjectType(n,s.escapedName),r=e&&getTargetSymbol(e);if(r&&r!==s)continue e}const i=typeToString(t),o=typeToString(e),a=symbolToString(l),d=append(null==(n=c.get(r))?void 0:n.missedProperties,a);c.set(r,{baseTypeName:i,typeName:o,missedProperties:d})}}else{const n=getDeclarationModifierFlagsFromSymbol(p);if(2&u||2&n)continue;let c;const l=98308&s.flags,d=98308&p.flags;if(l&&d){if((6&getCheckFlags(s)?null==(r=s.declarations)?void 0:r.some(e=>isPropertyAbstractOrInterface(e,u)):null==(i=s.declarations)?void 0:i.every(e=>isPropertyAbstractOrInterface(e,u)))||262144&getCheckFlags(s)||p.valueDeclaration&&isBinaryExpression(p.valueDeclaration))continue;const c=4!==l&&4===d;if(c||4===l&&4!==d){const n=c?Ot._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:Ot._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor;error2(getNameOfDeclaration(p.valueDeclaration)||p.valueDeclaration,n,symbolToString(s),typeToString(t),typeToString(e))}else if(C){const r=null==(o=p.declarations)?void 0:o.find(e=>173===e.kind&&!e.initializer);if(r&&!(33554432&p.flags)&&!(64&u)&&!(64&n)&&!(null==(a=p.declarations)?void 0:a.some(e=>!!(33554432&e.flags)))){const n=findConstructorDeclaration(getClassLikeDeclarationOfSymbol(e.symbol)),i=r.name;if(r.exclamationToken||!n||!isIdentifier(i)||!k||!isPropertyInitializedInConstructor(i,e,n)){const e=Ot.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration;error2(getNameOfDeclaration(p.valueDeclaration)||p.valueDeclaration,e,symbolToString(s),typeToString(t))}}}continue}if(isPrototypeProperty(s)){if(isPrototypeProperty(p)||4&p.flags)continue;h.assert(!!(98304&p.flags)),c=Ot.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor}else c=98304&s.flags?Ot.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:Ot.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function;error2(getNameOfDeclaration(p.valueDeclaration)||p.valueDeclaration,c,typeToString(t),symbolToString(s),typeToString(e))}}for(const[e,t]of c)if(1===length(t.missedProperties))isClassExpression(e)?error2(e,Ot.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1,first(t.missedProperties),t.baseTypeName):error2(e,Ot.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2,t.typeName,first(t.missedProperties),t.baseTypeName);else if(length(t.missedProperties)>5){const n=map(t.missedProperties.slice(0,4),e=>`'${e}'`).join(", "),r=length(t.missedProperties)-4;isClassExpression(e)?error2(e,Ot.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more,t.baseTypeName,n,r):error2(e,Ot.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more,t.typeName,t.baseTypeName,n,r)}else{const n=map(t.missedProperties,e=>`'${e}'`).join(", ");isClassExpression(e)?error2(e,Ot.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1,t.baseTypeName,n):error2(e,Ot.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2,t.typeName,t.baseTypeName,n)}}(n,t)})}!function checkMembersForOverrideModifier(e,t,n,r){const i=getEffectiveBaseTypeNode(e),o=i&&getBaseTypes(t),a=(null==o?void 0:o.length)?getTypeWithThisArgument(first(o),t.thisType):void 0,s=getBaseConstructorTypeOfClass(t);for(const i of e.members)hasAmbientModifier(i)||(isConstructorDeclaration(i)&&forEach(i.parameters,o=>{isParameterPropertyDeclaration(o,i)&&checkExistingMemberForOverrideModifier(e,r,s,a,t,n,o,!0)}),checkExistingMemberForOverrideModifier(e,r,s,a,t,n,i,!1))}(e,n,r,i);const a=getEffectiveImplementsTypeNodes(e);if(a)for(const e of a)isEntityNameExpression(e.expression)&&!isOptionalChain(e.expression)||error2(e.expression,Ot.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments),checkTypeReferenceNode(e),addLazyDiagnostic(createImplementsDiagnostics(e));function createImplementsDiagnostics(t){return()=>{const i=getReducedType(getTypeFromTypeNode(t));if(!isErrorType(i))if(isValidBaseType(i)){const t=i.symbol&&32&i.symbol.flags?Ot.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:Ot.Class_0_incorrectly_implements_interface_1,o=getTypeWithThisArgument(i,n.thisType);checkTypeAssignableTo(r,o,void 0)||issueMemberSpecificError(e,r,o,t)}else error2(t,Ot.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members)}}addLazyDiagnostic(()=>{checkIndexConstraints(n,t),checkIndexConstraints(i,t,!0),checkTypeForDuplicateIndexSignatures(e),function checkPropertyInitialization(e){if(!k||!D||33554432&e.flags)return;const t=findConstructorDeclaration(e);for(const n of e.members)if(!(128&getEffectiveModifierFlags(n))&&!isStatic(n)&&isPropertyWithoutInitializer(n)){const e=n.name;if(isIdentifier(e)||isPrivateIdentifier(e)||isComputedPropertyName(e)){const r=getTypeOfSymbol(getSymbolOfDeclaration(n));3&r.flags||containsUndefinedType(r)||t&&isPropertyInitializedInConstructor(e,r,t)||error2(n.name,Ot.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor,declarationNameToString(e))}}}(e)})}function checkExistingMemberForOverrideModifier(e,t,n,r,i,o,a,s,c=!0){const l=a.name&&getSymbolAtLocation(a.name)||getSymbolAtLocation(a);return l?checkMemberForOverrideModifier(e,t,n,r,i,o,hasOverrideModifier(a),hasAbstractModifier(a),isStatic(a),s,l,c?a:void 0):0}function checkMemberForOverrideModifier(e,t,n,r,i,o,a,s,c,l,d,p){const u=isInJSFile(e),m=!!(33554432&e.flags);if(a&&(null==d?void 0:d.valueDeclaration)&&isClassElement(d.valueDeclaration)&&d.valueDeclaration.name&&isNonBindableDynamicName(d.valueDeclaration.name))return error2(p,u?Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_name_is_dynamic:Ot.This_member_cannot_have_an_override_modifier_because_its_name_is_dynamic),2;if(r&&(a||S.noImplicitOverride)){const e=c?n:r,i=getPropertyOfType(c?t:o,d.escapedName),_=getPropertyOfType(e,d.escapedName),f=typeToString(r);if(i&&!_&&a){if(p){const t=getSuggestedSymbolForNonexistentClassMember(symbolName(d),e);t?error2(p,u?Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:Ot.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1,f,symbolToString(t)):error2(p,u?Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:Ot.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0,f)}return 2}if(i&&(null==_?void 0:_.declarations)&&S.noImplicitOverride&&!m){const e=some(_.declarations,hasAbstractModifier);if(a)return 0;if(!e){if(p){error2(p,l?u?Ot.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:Ot.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:u?Ot.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:Ot.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0,f)}return 1}if(s&&e)return p&&error2(p,Ot.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0,f),1}}else if(a){if(p){const e=typeToString(i);error2(p,u?Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:Ot.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class,e)}return 2}return 0}function issueMemberSpecificError(e,t,n,r){let i=!1;for(const r of e.members){if(isStatic(r))continue;const e=r.name&&getSymbolAtLocation(r.name)||getSymbolAtLocation(r);if(e){const o=getPropertyOfType(t,e.escapedName),a=getPropertyOfType(n,e.escapedName);if(o&&a){const rootChain=()=>chainDiagnosticMessages(void 0,Ot.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,symbolToString(e),typeToString(t),typeToString(n));checkTypeAssignableTo(getTypeOfSymbol(o),getTypeOfSymbol(a),r.name||r,void 0,rootChain)||(i=!0)}}}i||checkTypeAssignableTo(t,n,e.name||e,r)}function getTargetSymbol(e){return 1&getCheckFlags(e)?e.links.target:e}function isPropertyAbstractOrInterface(e,t){return 64&t&&(!isPropertyDeclaration(e)||!e.initializer)||isInterfaceDeclaration(e.parent)}function isPropertyWithoutInitializer(e){return 173===e.kind&&!hasAbstractModifier(e)&&!e.exclamationToken&&!e.initializer}function isPropertyInitializedInConstructor(e,t,n){const r=isComputedPropertyName(e)?Wr.createElementAccessExpression(Wr.createThis(),e.expression):Wr.createPropertyAccessExpression(Wr.createThis(),e);setParent(r.expression,r),setParent(r,n),r.flowNode=n.returnFlowNode;return!containsUndefinedType(getFlowTypeOfReference(r,t,getOptionalType(t)))}function checkInterfaceDeclaration(e){checkGrammarModifiers(e)||function checkGrammarInterfaceDeclaration(e){let t=!1;if(e.heritageClauses)for(const n of e.heritageClauses){if(96!==n.token)return h.assert(119===n.token),grammarErrorOnFirstToken(n,Ot.Interface_declaration_cannot_have_implements_clause);if(t)return grammarErrorOnFirstToken(n,Ot.extends_clause_already_seen);t=!0,checkGrammarHeritageClause(n)}return!1}(e),allowBlockDeclarations(e.parent)||grammarErrorOnNode(e,Ot._0_declarations_can_only_be_declared_inside_a_block,"interface"),checkTypeParameters(e.typeParameters),addLazyDiagnostic(()=>{checkTypeNameIsReserved(e.name,Ot.Interface_name_cannot_be_0),checkExportsOnMergedDeclarations(e);const t=getSymbolOfDeclaration(e);checkTypeParameterListsIdentical(t);const n=getDeclarationOfKind(t,265);if(e===n){const n=getDeclaredTypeOfSymbol(t),r=getTypeWithThisArgument(n);if(function checkInheritedPropertiesAreIdentical(e,t){const n=getBaseTypes(e);if(n.length<2)return!0;const r=new Map;forEach(resolveDeclaredMembers(e).declaredProperties,t=>{r.set(t.escapedName,{prop:t,containingType:e})});let i=!0;for(const o of n){const n=getPropertiesOfType(getTypeWithThisArgument(o,e.thisType));for(const a of n){const n=r.get(a.escapedName);if(n){if(n.containingType!==e&&!isPropertyIdenticalTo(n.prop,a)){i=!1;const r=typeToString(n.containingType),s=typeToString(o);let c=chainDiagnosticMessages(void 0,Ot.Named_property_0_of_types_1_and_2_are_not_identical,symbolToString(a),r,s);c=chainDiagnosticMessages(c,Ot.Interface_0_cannot_simultaneously_extend_types_1_and_2,typeToString(e),r,s),vi.add(createDiagnosticForNodeFromMessageChain(getSourceFileOfNode(t),t,c))}}else r.set(a.escapedName,{prop:a,containingType:o})}}return i}(n,e.name)){for(const t of getBaseTypes(n))checkTypeAssignableTo(r,getTypeWithThisArgument(t,n.thisType),e.name,Ot.Interface_0_incorrectly_extends_interface_1);checkIndexConstraints(n,t)}}checkObjectTypeForDuplicateDeclarations(e)}),forEach(getInterfaceBaseTypeNodes(e),e=>{isEntityNameExpression(e.expression)&&!isOptionalChain(e.expression)||error2(e.expression,Ot.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments),checkTypeReferenceNode(e)}),forEach(e.members,checkSourceElement),addLazyDiagnostic(()=>{checkTypeForDuplicateIndexSignatures(e),registerForUnusedIdentifiersCheck(e)})}function computeEnumMemberValues(e){const t=getNodeLinks(e);if(!(1024&t.flags)){t.flags|=1024;let n,r=0;for(const t of e.members){const e=computeEnumMemberValue(t,r,n);getNodeLinks(t).enumMemberValue=e,r="number"==typeof e.value?e.value+1:void 0,n=t}}}function computeEnumMemberValue(e,t,n){if(isComputedNonLiteralName(e.name))error2(e.name,Ot.Computed_property_names_are_not_allowed_in_enums);else if(isBigIntLiteral(e.name))error2(e.name,Ot.An_enum_member_cannot_have_a_numeric_name);else{const t=getTextOfPropertyName(e.name);isNumericLiteralName(t)&&!isInfinityOrNaNString(t)&&error2(e.name,Ot.An_enum_member_cannot_have_a_numeric_name)}if(e.initializer)return function computeConstantEnumMemberValue(e){const t=isEnumConst(e.parent),n=e.initializer,r=U(n,e);void 0!==r.value?t&&"number"==typeof r.value&&!isFinite(r.value)?error2(n,isNaN(r.value)?Ot.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:Ot.const_enum_member_initializer_was_evaluated_to_a_non_finite_value):Kn(S)&&"string"==typeof r.value&&!r.isSyntacticallyString&&error2(n,Ot._0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is_enabled,`${idText(e.parent.name)}.${getTextOfPropertyName(e.name)}`):t?error2(n,Ot.const_enum_member_initializers_must_be_constant_expressions):33554432&e.parent.flags?error2(n,Ot.In_ambient_enum_declarations_member_initializer_must_be_constant_expression):checkTypeAssignableTo(checkExpression(n),Ve,n,Ot.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);return r}(e);if(33554432&e.parent.flags&&!isEnumConst(e.parent))return evaluatorResult(void 0);if(void 0===t)return error2(e.name,Ot.Enum_member_must_have_initializer),evaluatorResult(void 0);if(Kn(S)&&(null==n?void 0:n.initializer)){const t=getEnumMemberValue(n);("number"!=typeof t.value||t.resolvedOtherFiles)&&error2(e.name,Ot.Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is_enabled)}return evaluatorResult(t)}function evaluateEntityNameExpression(e,t){const n=resolveEntityName(e,111551,!0);if(!n)return evaluatorResult(void 0);if(80===e.kind){const t=e;if(isInfinityOrNaNString(t.escapedText)&&n===getGlobalSymbol(t.escapedText,111551,void 0))return evaluatorResult(+t.escapedText,!1)}if(8&n.flags)return t?evaluateEnumMember(e,n,t):getEnumMemberValue(n.valueDeclaration);if(isConstantVariable(n)){const e=n.valueDeclaration;if(e&&isVariableDeclaration(e)&&!e.type&&e.initializer&&(!t||e!==t&&isBlockScopedNameDeclaredBeforeUse(e,t))){const n=U(e.initializer,e);return t&&getSourceFileOfNode(t)!==getSourceFileOfNode(e)?evaluatorResult(n.value,!1,!0,!0):evaluatorResult(n.value,n.isSyntacticallyString,n.resolvedOtherFiles,!0)}}return evaluatorResult(void 0)}function evaluateEnumMember(e,t,n){const r=t.valueDeclaration;if(!r||r===n)return error2(e,Ot.Property_0_is_used_before_being_assigned,symbolToString(t)),evaluatorResult(void 0);if(!isBlockScopedNameDeclaredBeforeUse(r,n))return error2(e,Ot.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums),evaluatorResult(0);const i=getEnumMemberValue(r);return n.parent!==r.parent?evaluatorResult(i.value,i.isSyntacticallyString,i.resolvedOtherFiles,!0):i}function checkEnumDeclaration(e){addLazyDiagnostic(()=>function checkEnumDeclarationWorker(e){checkGrammarModifiers(e),checkCollisionsForDeclarationName(e,e.name),checkExportsOnMergedDeclarations(e),e.members.forEach(checkSourceElement),!S.erasableSyntaxOnly||33554432&e.flags||error2(e,Ot.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled);computeEnumMemberValues(e);const t=getSymbolOfDeclaration(e),n=getDeclarationOfKind(t,e.kind);if(e===n){if(t.declarations&&t.declarations.length>1){const n=isEnumConst(e);forEach(t.declarations,e=>{isEnumDeclaration(e)&&isEnumConst(e)!==n&&error2(getNameOfDeclaration(e),Ot.Enum_declarations_must_all_be_const_or_non_const)})}let n=!1;forEach(t.declarations,e=>{if(267!==e.kind)return!1;const t=e;if(!t.members.length)return!1;const r=t.members[0];r.initializer||(n?error2(r.name,Ot.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):n=!0)})}}(e))}function checkModuleDeclaration(t){t.body&&(checkSourceElement(t.body),isGlobalScopeAugmentation(t)||registerForUnusedIdentifiersCheck(t)),addLazyDiagnostic(function checkModuleDeclarationDiagnostics(){var n,r;const i=isGlobalScopeAugmentation(t),o=33554432&t.flags;i&&!o&&error2(t.name,Ot.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context);const a=isAmbientModule(t),s=a?Ot.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:Ot.A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module;if(checkGrammarModuleElementContext(t,s))return;checkGrammarModifiers(t)||o||11!==t.name.kind||grammarErrorOnNode(t.name,Ot.Only_ambient_modules_can_use_quoted_names);if(isIdentifier(t.name)&&(checkCollisionsForDeclarationName(t,t.name),!(2080&t.flags))){const e=getSourceFileOfNode(t),n=getSpanOfTokenAtPosition(e,getNonModifierTokenPosOfNode(t));bi.add(createFileDiagnostic(e,n.start,n.length,Ot.A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_keyword_instead))}checkExportsOnMergedDeclarations(t);const c=getSymbolOfDeclaration(t);if(512&c.flags&&!o&&isInstantiatedModule(t,er(S))){if(S.erasableSyntaxOnly&&error2(t.name,Ot.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled),Kn(S)&&!getSourceFileOfNode(t).externalModuleIndicator&&error2(t.name,Ot.Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement,X),(null==(n=c.declarations)?void 0:n.length)>1){const e=function getFirstNonAmbientClassOrFunctionDeclaration(e){const t=e.declarations;if(t)for(const e of t)if((264===e.kind||263===e.kind&&nodeIsPresent(e.body))&&!(33554432&e.flags))return e}(c);e&&(getSourceFileOfNode(t)!==getSourceFileOfNode(e)?error2(t.name,Ot.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):t.pos<e.pos&&error2(t.name,Ot.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged));const n=getDeclarationOfKind(c,264);n&&function inSameLexicalScope(e,t){const n=getEnclosingBlockScopeContainer(e),r=getEnclosingBlockScopeContainer(t);return isGlobalSourceFile(n)?isGlobalSourceFile(r):!isGlobalSourceFile(r)&&n===r}(t,n)&&(getNodeLinks(t).flags|=2048)}if(S.verbatimModuleSyntax&&308===t.parent.kind&&1===e.getEmitModuleFormatOfFile(t.parent)){const e=null==(r=t.modifiers)?void 0:r.find(e=>95===e.kind);e&&error2(e,Ot.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled)}}if(a)if(isExternalModuleAugmentation(t)){if((i||33554432&getSymbolOfDeclaration(t).flags)&&t.body)for(const e of t.body.statements)checkModuleAugmentationElement(e,i)}else isGlobalSourceFile(t.parent)?i?error2(t.name,Ot.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations):isExternalModuleNameRelative(getTextOfIdentifierOrLiteral(t.name))&&error2(t.name,Ot.Ambient_module_declaration_cannot_specify_relative_module_name):error2(t.name,i?Ot.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:Ot.Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces)})}function checkModuleAugmentationElement(e,t){switch(e.kind){case 244:for(const n of e.declarationList.declarations)checkModuleAugmentationElement(n,t);break;case 278:case 279:grammarErrorOnFirstToken(e,Ot.Exports_and_export_assignments_are_not_permitted_in_module_augmentations);break;case 272:if(isInternalModuleImportEqualsDeclaration(e))break;case 273:grammarErrorOnFirstToken(e,Ot.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module);break;case 209:case 261:const n=e.name;if(isBindingPattern(n)){for(const e of n.elements)checkModuleAugmentationElement(e,t);break}case 264:case 267:case 263:case 265:case 268:case 266:if(t)return}}function checkExternalImportOrExportDeclaration(e){const t=getExternalModuleName(e);if(!t||nodeIsMissing(t))return!1;if(!isStringLiteral(t))return error2(t,Ot.String_literal_expected),!1;const n=269===e.parent.kind&&isAmbientModule(e.parent.parent);if(308!==e.parent.kind&&!n)return error2(t,279===e.kind?Ot.Export_declarations_are_not_permitted_in_a_namespace:Ot.Import_declarations_in_a_namespace_cannot_reference_a_module),!1;if(n&&isExternalModuleNameRelative(t.text)&&!isTopLevelInExternalModuleAugmentation(e))return error2(e,Ot.Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name),!1;if(!isImportEqualsDeclaration(e)&&e.attributes){const t=118===e.attributes.token?Ot.Import_attribute_values_must_be_string_literal_expressions:Ot.Import_assertion_values_must_be_string_literal_expressions;let n=!1;for(const r of e.attributes.elements)isStringLiteral(r.value)||(n=!0,error2(r.value,t));return!n}return!0}function checkModuleExportName(e,t=!0){void 0!==e&&11===e.kind&&(t?5!==v&&6!==v||grammarErrorOnNode(e,Ot.String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es2020):grammarErrorOnNode(e,Ot.Identifier_expected))}function checkAliasSymbol(t){var n,r,i,o,a;let s=getSymbolOfDeclaration(t);const c=resolveAlias(s);if(c!==ve){if(s=getMergedSymbol(s.exportSymbol||s),isInJSFile(t)&&!(111551&c.flags)&&!isTypeOnlyImportOrExportDeclaration(t)){const e=isImportOrExportSpecifier(t)?t.propertyName||t.name:isNamedDeclaration(t)?t.name:t;if(h.assert(281!==t.kind),282===t.kind){const o=error2(e,Ot.Types_cannot_appear_in_export_declarations_in_JavaScript_files),a=null==(r=null==(n=getSourceFileOfNode(t).symbol)?void 0:n.exports)?void 0:r.get(moduleExportNameTextEscaped(t.propertyName||t.name));if(a===c){const e=null==(i=a.declarations)?void 0:i.find(isJSDocNode);e&&addRelatedInfo(o,createDiagnosticForNode(e,Ot._0_is_automatically_exported_here,unescapeLeadingUnderscores(a.escapedName)))}}else{h.assert(261!==t.kind);const n=findAncestor(t,or(isImportDeclaration,isImportEqualsDeclaration)),r=(n&&(null==(o=tryGetModuleSpecifierFromDeclaration(n))?void 0:o.text))??"...",i=unescapeLeadingUnderscores(isIdentifier(e)?e.escapedText:s.escapedName);error2(e,Ot._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation,i,`import("${r}").${i}`)}return}const l=getSymbolFlags(c);if(l&((1160127&s.flags?111551:0)|(788968&s.flags?788968:0)|(1920&s.flags?1920:0))){error2(t,282===t.kind?Ot.Export_declaration_conflicts_with_exported_declaration_of_0:Ot.Import_declaration_conflicts_with_local_declaration_of_0,symbolToString(s))}else if(282!==t.kind){S.isolatedModules&&!findAncestor(t,isTypeOnlyImportOrExportDeclaration)&&1160127&s.flags&&error2(t,Ot.Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled,symbolToString(s),X)}if(Kn(S)&&!isTypeOnlyImportOrExportDeclaration(t)&&!(33554432&t.flags)){const n=getTypeOnlyAliasDeclaration(s),r=!(111551&l);if(r||n)switch(t.kind){case 274:case 277:case 272:if(S.verbatimModuleSyntax){h.assertIsDefined(t.name,"An ImportClause with a symbol should have a name");const e=S.verbatimModuleSyntax&&isInternalModuleImportEqualsDeclaration(t)?Ot.An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:r?Ot._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:Ot._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled,i=moduleExportNameTextUnescaped(277===t.kind&&t.propertyName||t.name);addTypeOnlyDeclarationRelatedInfo(error2(t,e,i),r?void 0:n,i)}r&&272===t.kind&&hasEffectiveModifier(t,32)&&error2(t,Ot.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled,X);break;case 282:if(S.verbatimModuleSyntax||getSourceFileOfNode(n)!==getSourceFileOfNode(t)){const e=moduleExportNameTextUnescaped(t.propertyName||t.name);addTypeOnlyDeclarationRelatedInfo(r?error2(t,Ot.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type,X):error2(t,Ot._0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled,e,X),r?void 0:n,e);break}}if(S.verbatimModuleSyntax&&272!==t.kind&&!isInJSFile(t)&&1===e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))?error2(t,getVerbatimModuleSyntaxErrorMessage(t)):200===v&&272!==t.kind&&261!==t.kind&&1===e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))&&error2(t,Ot.ECMAScript_module_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve),S.verbatimModuleSyntax&&!isTypeOnlyImportOrExportDeclaration(t)&&!(33554432&t.flags)&&128&l){const n=c.valueDeclaration,r=null==(a=e.getRedirectFromOutput(getSourceFileOfNode(n).resolvedPath))?void 0:a.resolvedRef;!(33554432&n.flags)||r&&er(r.commandLine.options)||error2(t,Ot.Cannot_access_ambient_const_enums_when_0_is_enabled,X)}}if(isImportSpecifier(t)){const e=resolveAliasWithDeprecationCheck(s,t);isDeprecatedSymbol(e)&&e.declarations&&addDeprecatedSuggestion(t,e.declarations,e.escapedName)}}}function resolveAliasWithDeprecationCheck(e,t){if(!(2097152&e.flags)||isDeprecatedSymbol(e)||!getDeclarationOfAliasSymbol(e))return e;const n=resolveAlias(e);if(n===ve)return n;for(;2097152&e.flags;){const r=getImmediateAliasedSymbol(e);if(!r)break;if(r===n)break;if(r.declarations&&length(r.declarations)){if(isDeprecatedSymbol(r)){addDeprecatedSuggestion(t,r.declarations,r.escapedName);break}if(e===n)break;e=r}}return n}function checkImportBinding(t){checkCollisionsForDeclarationName(t,t.name),checkAliasSymbol(t),277===t.kind&&(checkModuleExportName(t.propertyName),moduleExportNameIsDefault(t.propertyName||t.name)&&Gn(S)&&e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))<4&&checkExternalEmitHelpers(t,131072))}function checkImportAttributes(e){var t;const n=e.attributes;if(n){const r=getGlobalImportAttributesType(!0);r!==ht&&checkTypeAssignableTo(getTypeFromImportAttributes(n),getNullableType(r,32768),n);const i=isExclusivelyTypeOnlyImportOrExport(e),o=getResolutionModeOverride(n,i?grammarErrorOnNode:void 0),a=118===e.attributes.token;if(i&&o)return;if(!moduleSupportsImportAttributes(v))return grammarErrorOnNode(n,a?Ot.Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext_or_preserve:Ot.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext_or_preserve);if(102<=v&&v<=199&&!a)return grammarErrorOnFirstToken(n,Ot.Import_assertions_have_been_replaced_by_import_attributes_Use_with_instead_of_assert);if(e.moduleSpecifier&&1===getEmitSyntaxForModuleSpecifierExpression(e.moduleSpecifier))return grammarErrorOnNode(n,a?Ot.Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:Ot.Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls);if(isJSDocImportTag(e)||(isImportDeclaration(e)?null==(t=e.importClause)?void 0:t.isTypeOnly:e.isTypeOnly))return grammarErrorOnNode(n,a?Ot.Import_attributes_cannot_be_used_with_type_only_imports_or_exports:Ot.Import_assertions_cannot_be_used_with_type_only_imports_or_exports);if(o)return grammarErrorOnNode(n,Ot.resolution_mode_can_only_be_set_for_type_only_imports)}}function checkImportDeclaration(t){if(!checkGrammarModuleElementContext(t,isInJSFile(t)?Ot.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:Ot.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)){if(!checkGrammarModifiers(t)&&t.modifiers&&grammarErrorOnFirstToken(t,Ot.An_import_declaration_cannot_have_modifiers),checkExternalImportOrExportDeclaration(t)){let n;const r=t.importClause;r&&!function checkGrammarImportClause(e){var t,n;if(156===e.phaseModifier){if(e.name&&e.namedBindings)return grammarErrorOnNode(e,Ot.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both);if(276===(null==(t=e.namedBindings)?void 0:t.kind))return checkGrammarNamedImportsOrExports(e.namedBindings)}else if(166===e.phaseModifier){if(e.name)return grammarErrorOnNode(e,Ot.Default_imports_are_not_allowed_in_a_deferred_import);if(276===(null==(n=e.namedBindings)?void 0:n.kind))return grammarErrorOnNode(e,Ot.Named_imports_are_not_allowed_in_a_deferred_import);if(99!==v&&200!==v)return grammarErrorOnNode(e,Ot.Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve)}return!1}(r)?(r.name&&checkImportBinding(r),r.namedBindings&&(275===r.namedBindings.kind?(checkImportBinding(r.namedBindings),e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))<4&&Gn(S)&&checkExternalEmitHelpers(t,65536)):(n=resolveExternalModuleName(t,t.moduleSpecifier),n&&forEach(r.namedBindings.elements,checkImportBinding))),!r.isTypeOnly&&101<=v&&v<=199&&isOnlyImportableAsDefault(t.moduleSpecifier,n)&&!function hasTypeJsonImportAttribute(e){return!!e.attributes&&e.attributes.elements.some(e=>{var t;return"type"===getTextOfIdentifierOrLiteral(e.name)&&"json"===(null==(t=tryCast(e.value,isStringLiteralLike))?void 0:t.text)})}(t)&&error2(t.moduleSpecifier,Ot.Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0,$e[v])):M&&!r&&resolveExternalModuleName(t,t.moduleSpecifier)}checkImportAttributes(t)}}function checkExportDeclaration(t){if(!checkGrammarModuleElementContext(t,isInJSFile(t)?Ot.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:Ot.An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)){if(!checkGrammarModifiers(t)&&hasSyntacticModifiers(t)&&grammarErrorOnFirstToken(t,Ot.An_export_declaration_cannot_have_modifiers),function checkGrammarExportDeclaration(e){var t;if(e.isTypeOnly&&280===(null==(t=e.exportClause)?void 0:t.kind))return checkGrammarNamedImportsOrExports(e.exportClause);return!1}(t),!t.moduleSpecifier||checkExternalImportOrExportDeclaration(t))if(t.exportClause&&!isNamespaceExport(t.exportClause)){forEach(t.exportClause.elements,checkExportSpecifier);const e=269===t.parent.kind&&isAmbientModule(t.parent.parent),n=!e&&269===t.parent.kind&&!t.moduleSpecifier&&33554432&t.flags;308===t.parent.kind||e||n||error2(t,Ot.Export_declarations_are_not_permitted_in_a_namespace)}else{const n=resolveExternalModuleName(t,t.moduleSpecifier);n&&hasExportAssignmentSymbol(n)?error2(t.moduleSpecifier,Ot.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,symbolToString(n)):t.exportClause&&(checkAliasSymbol(t.exportClause),checkModuleExportName(t.exportClause.name)),e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))<4&&(t.exportClause?Gn(S)&&checkExternalEmitHelpers(t,65536):checkExternalEmitHelpers(t,32768))}checkImportAttributes(t)}}function checkGrammarModuleElementContext(e,t){const n=308===e.parent.kind||269===e.parent.kind||268===e.parent.kind;return n||grammarErrorOnFirstToken(e,t),!n}function checkExportSpecifier(t){checkAliasSymbol(t);const n=void 0!==t.parent.parent.moduleSpecifier;if(checkModuleExportName(t.propertyName,n),checkModuleExportName(t.name),Zn(S)&&collectLinkedAliases(t.propertyName||t.name,!0),n)Gn(S)&&e.getEmitModuleFormatOfFile(getSourceFileOfNode(t))<4&&moduleExportNameIsDefault(t.propertyName||t.name)&&checkExternalEmitHelpers(t,131072);else{const e=t.propertyName||t.name;if(11===e.kind)return;const n=te(e,e.escapedText,2998271,void 0,!0);n&&(n===V||n===q||n.declarations&&isGlobalSourceFile(getDeclarationContainer(n.declarations[0])))?error2(e,Ot.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,idText(e)):markLinkedReferences(t,7)}}function checkExternalModuleExports(e){const t=getSymbolOfDeclaration(e),n=getSymbolLinks(t);if(!n.exportsChecked){const e=t.exports.get("export=");if(e&&function hasExportedMembers(e){return forEachEntry(e.exports,(e,t)=>"export="!==t)}(t)){const t=getDeclarationOfAliasSymbol(e)||e.valueDeclaration;!t||isTopLevelInExternalModuleAugmentation(t)||isInJSFile(t)||error2(t,Ot.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements)}const r=getExportsOfModule(t);r&&r.forEach(({declarations:e,flags:t},n)=>{if("__export"===n)return;if(1920&t)return;const r=countWhere(e,and(ia,not(isInterfaceDeclaration)));if(!(524288&t&&r<=2)&&r>1&&!isDuplicatedCommonJSExport(e))for(const t of e)isNotOverload(t)&&vi.add(createDiagnosticForNode(t,Ot.Cannot_redeclare_exported_variable_0,unescapeLeadingUnderscores(n)))}),n.exportsChecked=!0}}function isDuplicatedCommonJSExport(e){return e&&e.length>1&&e.every(e=>isInJSFile(e)&&isAccessExpression(e)&&(isExportsIdentifier(e.expression)||isModuleExportsAccessExpression(e.expression)))}function checkSourceElement(n){if(n){const i=r;r=n,m=0,function checkSourceElementWorker(n){if(8388608&getNodeCheckFlags(n))return;canHaveJSDoc(n)&&forEach(n.jsDoc,({comment:e,tags:t})=>{checkJSDocCommentWorker(e),forEach(t,e=>{checkJSDocCommentWorker(e.comment),isInJSFile(n)&&checkSourceElement(e)})});const r=n.kind;if(t)switch(r){case 268:case 264:case 265:case 263:t.throwIfCancellationRequested()}r>=244&&r<=260&&canHaveFlowNode(n)&&n.flowNode&&!isReachableFlowNode(n.flowNode)&&errorOrSuggestion(!1===S.allowUnreachableCode,n,Ot.Unreachable_code_detected);switch(r){case 169:return checkTypeParameter(n);case 170:return checkParameter(n);case 173:return checkPropertyDeclaration(n);case 172:return function checkPropertySignature(e){return isPrivateIdentifier(e.name)&&error2(e,Ot.Private_identifiers_are_not_allowed_outside_class_bodies),checkPropertyDeclaration(e)}(n);case 186:case 185:case 180:case 181:case 182:return checkSignatureDeclaration(n);case 175:case 174:return function checkMethodDeclaration(e){checkGrammarMethod(e)||checkGrammarComputedPropertyName(e.name),isMethodDeclaration(e)&&e.asteriskToken&&isIdentifier(e.name)&&"constructor"===idText(e.name)&&error2(e.name,Ot.Class_constructor_may_not_be_a_generator),checkFunctionOrMethodDeclaration(e),hasSyntacticModifier(e,64)&&175===e.kind&&e.body&&error2(e,Ot.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,declarationNameToString(e.name)),isPrivateIdentifier(e.name)&&!getContainingClass(e)&&error2(e,Ot.Private_identifiers_are_not_allowed_outside_class_bodies),setNodeLinksForPrivateIdentifierScope(e)}(n);case 176:return function checkClassStaticBlockDeclaration(e){checkGrammarModifiers(e),forEachChild(e,checkSourceElement)}(n);case 177:return checkConstructorDeclaration(n);case 178:case 179:return checkAccessorDeclaration(n);case 184:return checkTypeReferenceNode(n);case 183:return function checkTypePredicate(e){const t=function getTypePredicateParent(e){switch(e.parent.kind){case 220:case 180:case 263:case 219:case 185:case 175:case 174:const t=e.parent;if(e===t.type)return t}}(e);if(!t)return void error2(e,Ot.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);const n=getSignatureFromDeclaration(t),r=getTypePredicateOfSignature(n);if(!r)return;checkSourceElement(e.type);const{parameterName:i}=e;if(0!==r.kind&&2!==r.kind)if(r.parameterIndex>=0){if(signatureHasRestParameter(n)&&r.parameterIndex===n.parameters.length-1)error2(i,Ot.A_type_predicate_cannot_reference_a_rest_parameter);else if(r.type){const leadingError=()=>chainDiagnosticMessages(void 0,Ot.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);checkTypeAssignableTo(r.type,getTypeOfSymbol(n.parameters[r.parameterIndex]),e.type,void 0,leadingError)}}else if(i){let n=!1;for(const{name:e}of t.parameters)if(isBindingPattern(e)&&checkIfTypePredicateVariableIsDeclaredInBindingPattern(e,i,r.parameterName)){n=!0;break}n||error2(e.parameterName,Ot.Cannot_find_parameter_0,r.parameterName)}}(n);case 187:return function checkTypeQuery(e){getTypeFromTypeQueryNode(e)}(n);case 188:return function checkTypeLiteral(e){forEach(e.members,checkSourceElement),addLazyDiagnostic(function checkTypeLiteralDiagnostics(){const t=getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(e);checkIndexConstraints(t,t.symbol),checkTypeForDuplicateIndexSignatures(e),checkObjectTypeForDuplicateDeclarations(e)})}(n);case 189:return function checkArrayType(e){checkSourceElement(e.elementType)}(n);case 190:return function checkTupleType(e){let t=!1,n=!1;for(const r of e.elements){let e=getTupleElementFlags(r);if(8&e){const t=getTypeFromTypeNode(r.type);if(!isArrayLikeType(t)){error2(r,Ot.A_rest_element_type_must_be_an_array_type);break}(isArrayType(t)||isTupleType(t)&&4&t.target.combinedFlags)&&(e|=4)}if(4&e){if(n){grammarErrorOnNode(r,Ot.A_rest_element_cannot_follow_another_rest_element);break}n=!0}else if(2&e){if(n){grammarErrorOnNode(r,Ot.An_optional_element_cannot_follow_a_rest_element);break}t=!0}else if(1&e&&t){grammarErrorOnNode(r,Ot.A_required_element_cannot_follow_an_optional_element);break}}forEach(e.elements,checkSourceElement),getTypeFromTypeNode(e)}(n);case 193:case 194:return function checkUnionOrIntersectionType(e){forEach(e.types,checkSourceElement),getTypeFromTypeNode(e)}(n);case 197:case 191:case 192:return checkSourceElement(n.type);case 198:return function checkThisType(e){getTypeFromThisTypeNode(e)}(n);case 199:return checkTypeOperator(n);case 195:return function checkConditionalType(e){forEachChild(e,checkSourceElement)}(n);case 196:return function checkInferType(e){findAncestor(e,e=>e.parent&&195===e.parent.kind&&e.parent.extendsType===e)||grammarErrorOnNode(e,Ot.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type),checkSourceElement(e.typeParameter);const t=getSymbolOfDeclaration(e.typeParameter);if(t.declarations&&t.declarations.length>1){const e=getSymbolLinks(t);if(!e.typeParametersChecked){e.typeParametersChecked=!0;const n=getDeclaredTypeOfTypeParameter(t),r=getDeclarationsOfKind(t,169);if(!areTypeParametersIdentical(r,[n],e=>[e])){const e=symbolToString(t);for(const t of r)error2(t.name,Ot.All_declarations_of_0_must_have_identical_constraints,e)}}}registerForUnusedIdentifiersCheck(e)}(n);case 204:return function checkTemplateLiteralType(e){for(const t of e.templateSpans)checkSourceElement(t.type),checkTypeAssignableTo(getTypeFromTypeNode(t.type),dt,t.type);getTypeFromTypeNode(e)}(n);case 206:return function checkImportType(e){checkSourceElement(e.argument),e.attributes&&getResolutionModeOverride(e.attributes,grammarErrorOnNode),checkTypeReferenceOrImport(e)}(n);case 203:return function checkNamedTupleMember(e){e.dotDotDotToken&&e.questionToken&&grammarErrorOnNode(e,Ot.A_tuple_member_cannot_be_both_optional_and_rest),191===e.type.kind&&grammarErrorOnNode(e.type,Ot.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type),192===e.type.kind&&grammarErrorOnNode(e.type,Ot.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type),checkSourceElement(e.type),getTypeFromTypeNode(e)}(n);case 329:return function checkJSDocAugmentsTag(e){const t=getEffectiveJSDocHost(e);if(!t||!isClassDeclaration(t)&&!isClassExpression(t))return void error2(t,Ot.JSDoc_0_is_not_attached_to_a_class,idText(e.tagName));const n=getJSDocTags(t).filter(isJSDocAugmentsTag);h.assert(n.length>0),n.length>1&&error2(n[1],Ot.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);const r=getIdentifierFromEntityNameExpression(e.class.expression),i=getClassExtendsHeritageElement(t);if(i){const t=getIdentifierFromEntityNameExpression(i.expression);t&&r.escapedText!==t.escapedText&&error2(r,Ot.JSDoc_0_1_does_not_match_the_extends_2_clause,idText(e.tagName),idText(r),idText(t))}}(n);case 330:return function checkJSDocImplementsTag(e){const t=getEffectiveJSDocHost(e);t&&(isClassDeclaration(t)||isClassExpression(t))||error2(t,Ot.JSDoc_0_is_not_attached_to_a_class,idText(e.tagName))}(n);case 347:case 339:case 341:return function checkJSDocTypeAliasTag(e){e.typeExpression||error2(e.name,Ot.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),e.name&&checkTypeNameIsReserved(e.name,Ot.Type_alias_name_cannot_be_0),checkSourceElement(e.typeExpression),checkTypeParameters(getEffectiveTypeParameterDeclarations(e))}(n);case 346:return function checkJSDocTemplateTag(e){checkSourceElement(e.constraint);for(const t of e.typeParameters)checkSourceElement(t)}(n);case 345:return function checkJSDocTypeTag(e){checkSourceElement(e.typeExpression)}(n);case 325:case 326:case 327:return function checkJSDocLinkLikeTag(e){e.name&&resolveJSDocMemberName(e.name,!0)}(n);case 342:return function checkJSDocParameterTag(e){checkSourceElement(e.typeExpression)}(n);case 349:return function checkJSDocPropertyTag(e){checkSourceElement(e.typeExpression)}(n);case 318:!function checkJSDocFunctionType(e){addLazyDiagnostic(function checkJSDocFunctionTypeImplicitAny(){e.type||isJSDocConstructSignature(e)||reportImplicitAny(e,ke)}),checkSignatureDeclaration(e)}(n);case 316:case 315:case 313:case 314:case 323:return checkJSDocTypeIsInJsFile(n),void forEachChild(n,checkSourceElement);case 319:return void function checkJSDocVariadicType(e){checkJSDocTypeIsInJsFile(e),checkSourceElement(e.type);const{parent:t}=e;if(isParameter(t)&&isJSDocFunctionType(t.parent))return void(last(t.parent.parameters)!==t&&error2(e,Ot.A_rest_parameter_must_be_last_in_a_parameter_list));isJSDocTypeExpression(t)||error2(e,Ot.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);const n=e.parent.parent;if(!isJSDocParameterTag(n))return void error2(e,Ot.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);const r=getParameterSymbolFromJSDoc(n);if(!r)return;const i=getHostSignatureFromJSDoc(n);i&&last(i.parameters).symbol===r||error2(e,Ot.A_rest_parameter_must_be_last_in_a_parameter_list)}(n);case 310:return checkSourceElement(n.type);case 334:case 336:case 335:return function checkJSDocAccessibilityModifiers(e){const t=getJSDocHost(e);t&&isPrivateIdentifierClassElementDeclaration(t)&&error2(e,Ot.An_accessibility_modifier_cannot_be_used_with_a_private_identifier)}(n);case 351:return function checkJSDocSatisfiesTag(e){checkSourceElement(e.typeExpression);const t=getEffectiveJSDocHost(e);if(t){const e=getAllJSDocTags(t,isJSDocSatisfiesTag);if(length(e)>1)for(let t=1;t<length(e);t++){const n=e[t].tagName;error2(n,Ot._0_tag_already_specified,idText(n))}}}(n);case 344:return function checkJSDocThisTag(e){const t=getEffectiveJSDocHost(e);t&&isArrowFunction(t)&&error2(e.tagName,Ot.An_arrow_function_cannot_have_a_this_parameter)}(n);case 352:return function checkJSDocImportTag(e){checkImportAttributes(e)}(n);case 200:return function checkIndexedAccessType(e){checkSourceElement(e.objectType),checkSourceElement(e.indexType),checkIndexedAccessIndexType(getTypeFromIndexedAccessTypeNode(e),e)}(n);case 201:return checkMappedType(n);case 263:return function checkFunctionDeclaration(e){addLazyDiagnostic(function checkFunctionDeclarationDiagnostics(){checkFunctionOrMethodDeclaration(e),checkGrammarForGenerator(e),checkCollisionsForDeclarationName(e,e.name)})}(n);case 242:case 269:return checkBlock(n);case 244:return checkVariableStatement(n);case 245:return function checkExpressionStatement(e){checkGrammarStatementInAmbientContext(e),checkExpression(e.expression)}(n);case 246:return function checkIfStatement(e){checkGrammarStatementInAmbientContext(e);const t=checkTruthinessExpression(e.expression);checkTestingKnownTruthyCallableOrAwaitableOrEnumMemberType(e.expression,t,e.thenStatement),checkSourceElement(e.thenStatement),243===e.thenStatement.kind&&error2(e.thenStatement,Ot.The_body_of_an_if_statement_cannot_be_the_empty_statement),checkSourceElement(e.elseStatement)}(n);case 247:return function checkDoStatement(e){checkGrammarStatementInAmbientContext(e),checkSourceElement(e.statement),checkTruthinessExpression(e.expression)}(n);case 248:return function checkWhileStatement(e){checkGrammarStatementInAmbientContext(e),checkTruthinessExpression(e.expression),checkSourceElement(e.statement)}(n);case 249:return function checkForStatement(e){checkGrammarStatementInAmbientContext(e)||e.initializer&&262===e.initializer.kind&&checkGrammarVariableDeclarationList(e.initializer),e.initializer&&(262===e.initializer.kind?checkVariableDeclarationList(e.initializer):checkExpression(e.initializer)),e.condition&&checkTruthinessExpression(e.condition),e.incrementor&&checkExpression(e.incrementor),checkSourceElement(e.statement),e.locals&®isterForUnusedIdentifiersCheck(e)}(n);case 250:return checkForInStatement(n);case 251:return function checkForOfStatement(e){checkGrammarForInOrForOfStatement(e);const t=getContainingFunctionOrClassStaticBlock(e);e.awaitModifier?t&&isClassStaticBlockDeclaration(t)?grammarErrorOnNode(e.awaitModifier,Ot.for_await_loops_cannot_be_used_inside_a_class_static_block):2==(6&getFunctionFlags(t))&&x<lt.ForAwaitOf&&checkExternalEmitHelpers(e,16384):S.downlevelIteration&&x<lt.ForOf&&checkExternalEmitHelpers(e,256);if(262===e.initializer.kind)checkVariableDeclarationList(e.initializer);else{const t=e.initializer,n=checkRightHandSideOfForOf(e);if(210===t.kind||211===t.kind)checkDestructuringAssignment(t,n||Ie);else{const r=checkExpression(t);checkReferenceExpression(t,Ot.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access,Ot.The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access),n&&checkTypeAssignableToAndOptionallyElaborate(n,r,t,e.expression)}}checkSourceElement(e.statement),e.locals&®isterForUnusedIdentifiersCheck(e)}(n);case 252:case 253:return checkBreakOrContinueStatement(n);case 254:return function checkReturnStatement(e){if(checkGrammarStatementInAmbientContext(e))return;const t=getContainingFunctionOrClassStaticBlock(e);if(t&&isClassStaticBlockDeclaration(t))return void grammarErrorOnFirstToken(e,Ot.A_return_statement_cannot_be_used_inside_a_class_static_block);if(!t)return void grammarErrorOnFirstToken(e,Ot.A_return_statement_can_only_be_used_within_a_function_body);const n=getReturnTypeOfSignature(getSignatureFromDeclaration(t));if(k||e.expression||131072&n.flags){const r=e.expression?checkExpressionCached(e.expression):Me;if(179===t.kind)e.expression&&error2(e,Ot.Setters_cannot_return_a_value);else if(177===t.kind){const t=e.expression?checkExpressionCached(e.expression):Me;e.expression&&!checkTypeAssignableToAndOptionallyElaborate(t,n,e,e.expression)&&error2(e,Ot.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class)}else getReturnTypeFromAnnotation(t)&&checkReturnExpression(t,unwrapReturnType(n,getFunctionFlags(t))??n,e,e.expression,r)}else 177!==t.kind&&S.noImplicitReturns&&!isUnwrappedReturnTypeUndefinedVoidOrAny(t,n)&&error2(e,Ot.Not_all_code_paths_return_a_value)}(n);case 255:return function checkWithStatement(e){checkGrammarStatementInAmbientContext(e)||65536&e.flags&&grammarErrorOnFirstToken(e,Ot.with_statements_are_not_allowed_in_an_async_function_block),checkExpression(e.expression);const t=getSourceFileOfNode(e);if(!hasParseDiagnostics(t)){const n=getSpanOfTokenAtPosition(t,e.pos).start;grammarErrorAtPos(t,n,e.statement.pos-n,Ot.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}(n);case 256:return function checkSwitchStatement(e){let t;checkGrammarStatementInAmbientContext(e);let n=!1;const r=checkExpression(e.expression);forEach(e.caseBlock.clauses,e=>{298!==e.kind||n||(void 0===t?t=e:(grammarErrorOnNode(e,Ot.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),n=!0)),297===e.kind&&addLazyDiagnostic(function createLazyCaseClauseDiagnostics(e){return()=>{const t=checkExpression(e.expression);isTypeEqualityComparableTo(r,t)||checkTypeComparableTo(t,r,e.expression,void 0)}}(e)),forEach(e.statements,checkSourceElement),S.noFallthroughCasesInSwitch&&e.fallthroughFlowNode&&isReachableFlowNode(e.fallthroughFlowNode)&&error2(e,Ot.Fallthrough_case_in_switch)}),e.caseBlock.locals&®isterForUnusedIdentifiersCheck(e.caseBlock)}(n);case 257:return function checkLabeledStatement(e){checkGrammarStatementInAmbientContext(e)||findAncestor(e.parent,t=>isFunctionLike(t)?"quit":257===t.kind&&t.label.escapedText===e.label.escapedText&&(grammarErrorOnNode(e.label,Ot.Duplicate_label_0,getTextOfNode(e.label)),!0)),checkSourceElement(e.statement)}(n);case 258:return checkThrowStatement(n);case 259:return function checkTryStatement(e){checkGrammarStatementInAmbientContext(e),checkBlock(e.tryBlock);const t=e.catchClause;if(t){if(t.variableDeclaration){const e=t.variableDeclaration;checkVariableLikeDeclaration(e);const n=getEffectiveTypeAnnotationNode(e);if(n){const e=getTypeFromTypeNode(n);!e||3&e.flags||grammarErrorOnFirstToken(n,Ot.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified)}else if(e.initializer)grammarErrorOnFirstToken(e.initializer,Ot.Catch_clause_variable_cannot_have_an_initializer);else{const e=t.block.locals;e&&forEachKey(t.locals,t=>{const n=e.get(t);(null==n?void 0:n.valueDeclaration)&&2&n.flags&&grammarErrorOnNode(n.valueDeclaration,Ot.Cannot_redeclare_identifier_0_in_catch_clause,unescapeLeadingUnderscores(t))})}}checkBlock(t.block)}e.finallyBlock&&checkBlock(e.finallyBlock)}(n);case 261:return checkVariableDeclaration(n);case 209:return checkBindingElement(n);case 264:return function checkClassDeclaration(e){const t=find(e.modifiers,isDecorator);b&&t&&some(e.members,e=>hasStaticModifier(e)&&isPrivateIdentifierClassElementDeclaration(e))&&grammarErrorOnNode(t,Ot.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator),e.name||hasSyntacticModifier(e,2048)||grammarErrorOnFirstToken(e,Ot.A_class_declaration_without_the_default_modifier_must_have_a_name),checkClassLikeDeclaration(e),forEach(e.members,checkSourceElement),registerForUnusedIdentifiersCheck(e)}(n);case 265:return checkInterfaceDeclaration(n);case 266:return function checkTypeAliasDeclaration(e){if(checkGrammarModifiers(e),checkTypeNameIsReserved(e.name,Ot.Type_alias_name_cannot_be_0),allowBlockDeclarations(e.parent)||grammarErrorOnNode(e,Ot._0_declarations_can_only_be_declared_inside_a_block,"type"),checkExportsOnMergedDeclarations(e),checkTypeParameters(e.typeParameters),141===e.type.kind){const t=length(e.typeParameters);(0===t?"BuiltinIteratorReturn"===e.name.escapedText:1===t&&oa.has(e.name.escapedText))||error2(e.type,Ot.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types)}else checkSourceElement(e.type),registerForUnusedIdentifiersCheck(e)}(n);case 267:return checkEnumDeclaration(n);case 307:return function checkEnumMember(e){isPrivateIdentifier(e.name)&&error2(e,Ot.An_enum_member_cannot_be_named_with_a_private_identifier),e.initializer&&checkExpression(e.initializer)}(n);case 268:return checkModuleDeclaration(n);case 273:return checkImportDeclaration(n);case 272:return function checkImportEqualsDeclaration(e){if(!checkGrammarModuleElementContext(e,isInJSFile(e)?Ot.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:Ot.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)&&(checkGrammarModifiers(e),!S.erasableSyntaxOnly||33554432&e.flags||error2(e,Ot.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled),isInternalModuleImportEqualsDeclaration(e)||checkExternalImportOrExportDeclaration(e)))if(checkImportBinding(e),markLinkedReferences(e,6),284!==e.moduleReference.kind){const t=resolveAlias(getSymbolOfDeclaration(e));if(t!==ve){const n=getSymbolFlags(t);if(111551&n){const t=getFirstIdentifier(e.moduleReference);1920&resolveEntityName(t,112575).flags||error2(t,Ot.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,declarationNameToString(t))}788968&n&&checkTypeNameIsReserved(e.name,Ot.Import_name_cannot_be_0)}e.isTypeOnly&&grammarErrorOnNode(e,Ot.An_import_alias_cannot_use_import_type)}else!(5<=v&&v<=99)||e.isTypeOnly||33554432&e.flags||grammarErrorOnNode(e,Ot.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(n);case 279:return checkExportDeclaration(n);case 278:return function checkExportAssignment(t){if(checkGrammarModuleElementContext(t,t.isExportEquals?Ot.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:Ot.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration))return;!S.erasableSyntaxOnly||!t.isExportEquals||33554432&t.flags||error2(t,Ot.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled);const n=308===t.parent.kind?t.parent:t.parent.parent;if(268===n.kind&&!isAmbientModule(n))return void(t.isExportEquals?error2(t,Ot.An_export_assignment_cannot_be_used_in_a_namespace):error2(t,Ot.A_default_export_can_only_be_used_in_an_ECMAScript_style_module));!checkGrammarModifiers(t)&&hasEffectiveModifiers(t)&&grammarErrorOnFirstToken(t,Ot.An_export_assignment_cannot_have_modifiers);const r=getEffectiveTypeAnnotationNode(t);r&&checkTypeAssignableTo(checkExpressionCached(t.expression),getTypeFromTypeNode(r),t.expression);const i=!t.isExportEquals&&!(33554432&t.flags)&&S.verbatimModuleSyntax&&1===e.getEmitModuleFormatOfFile(getSourceFileOfNode(t));if(80===t.expression.kind){const e=t.expression,n=getExportSymbolOfValueSymbolIfExported(resolveEntityName(e,-1,!0,!0,t));if(n){markLinkedReferences(t,3);const r=getTypeOnlyAliasDeclaration(n,111551);if(111551&getSymbolFlags(n)?(checkExpressionCached(e),i||33554432&t.flags||!S.verbatimModuleSyntax||!r||error2(e,t.isExportEquals?Ot.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:Ot.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration,idText(e))):i||33554432&t.flags||!S.verbatimModuleSyntax||error2(e,t.isExportEquals?Ot.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:Ot.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type,idText(e)),!i&&!(33554432&t.flags)&&Kn(S)&&!(111551&n.flags)){const i=getSymbolFlags(n,!1,!0);!(2097152&n.flags&&788968&i)||111551&i||r&&getSourceFileOfNode(r)===getSourceFileOfNode(t)?r&&getSourceFileOfNode(r)!==getSourceFileOfNode(t)&&addTypeOnlyDeclarationRelatedInfo(error2(e,t.isExportEquals?Ot._0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:Ot._0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default,idText(e),X),r,idText(e)):error2(e,t.isExportEquals?Ot._0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:Ot._0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default,idText(e),X)}}else checkExpressionCached(e);Zn(S)&&collectLinkedAliases(e,!0)}else checkExpressionCached(t.expression);i&&error2(t,getVerbatimModuleSyntaxErrorMessage(t)),checkExternalModuleExports(n),33554432&t.flags&&!isEntityNameExpression(t.expression)&&grammarErrorOnNode(t.expression,Ot.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),t.isExportEquals&&(v>=5&&200!==v&&(33554432&t.flags&&99===e.getImpliedNodeFormatForEmit(getSourceFileOfNode(t))||!(33554432&t.flags)&&1!==e.getImpliedNodeFormatForEmit(getSourceFileOfNode(t)))?grammarErrorOnNode(t,Ot.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):4!==v||33554432&t.flags||grammarErrorOnNode(t,Ot.Export_assignment_is_not_supported_when_module_flag_is_system))}(n);case 243:case 260:return void checkGrammarStatementInAmbientContext(n);case 283:return function checkMissingDeclaration(e){checkDecorators(e)}(n)}}(n),r=i}}function checkJSDocCommentWorker(e){isArray(e)&&forEach(e,e=>{isJSDocLinkLike(e)&&checkSourceElement(e)})}function checkJSDocTypeIsInJsFile(e){if(!isInJSFile(e))if(isJSDocNonNullableType(e)||isJSDocNullableType(e)){const t=tokenToString(isJSDocNonNullableType(e)?54:58),n=e.postfix?Ot._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:Ot._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1,r=getTypeFromTypeNode(e.type);grammarErrorOnNode(e,n,t,typeToString(isJSDocNullableType(e)&&r!==tt&&r!==et?getUnionType(append([r,Me],e.postfix?void 0:We)):r))}else grammarErrorOnNode(e,Ot.JSDoc_types_can_only_be_used_inside_documentation_comments)}function checkNodeDeferred(e){const t=getNodeLinks(getSourceFileOfNode(e));1&t.flags?h.assert(!t.deferredNodes,"A type-checked file should have no deferred nodes."):(t.deferredNodes||(t.deferredNodes=new Set),t.deferredNodes.add(e))}function checkDeferredNodes(e){const t=getNodeLinks(e);t.deferredNodes&&t.deferredNodes.forEach(checkDeferredNode),t.deferredNodes=void 0}function checkDeferredNode(e){var t,n;null==(t=J)||t.push(J.Phase.Check,"checkDeferredNode",{kind:e.kind,pos:e.pos,end:e.end,path:e.tracingPath});const o=r;switch(r=e,m=0,e.kind){case 214:case 215:case 216:case 171:case 287:resolveUntypedCall(e);break;case 219:case 220:case 175:case 174:!function checkFunctionExpressionOrObjectLiteralMethodDeferred(e){h.assert(175!==e.kind||isObjectLiteralMethod(e));const t=getFunctionFlags(e),n=getReturnTypeFromAnnotation(e);if(checkAllCodePathsInNonVoidFunctionReturnOrThrow(e,n),e.body)if(getEffectiveReturnTypeNode(e)||getReturnTypeOfSignature(getSignatureFromDeclaration(e)),242===e.body.kind)checkSourceElement(e.body);else{const r=checkExpression(e.body),i=n&&unwrapReturnType(n,t);i&&checkReturnExpression(e,i,e.body,e.body,r)}}(e);break;case 178:case 179:checkAccessorDeclaration(e);break;case 232:!function checkClassExpressionDeferred(e){forEach(e.members,checkSourceElement),registerForUnusedIdentifiersCheck(e)}(e);break;case 169:!function checkTypeParameterDeferred(e){var t,n;if(isInterfaceDeclaration(e.parent)||isClassLike(e.parent)||isTypeAliasDeclaration(e.parent)){const r=getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(e)),o=24576&getTypeParameterModifiers(r);if(o){const a=getSymbolOfDeclaration(e.parent);if(!isTypeAliasDeclaration(e.parent)||48&getObjectFlags(getDeclaredTypeOfSymbol(a))){if(8192===o||16384===o){null==(t=J)||t.push(J.Phase.CheckTypes,"checkTypeParameterDeferred",{parent:getTypeId(getDeclaredTypeOfSymbol(a)),id:getTypeId(r)});const s=createMarkerType(a,r,16384===o?Lt:wt),c=createMarkerType(a,r,16384===o?wt:Lt),l=r;i=r,checkTypeAssignableTo(s,c,e,Ot.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation),i=l,null==(n=J)||n.pop()}}else error2(e,Ot.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types)}}}(e);break;case 286:!function checkJsxSelfClosingElementDeferred(e){checkJsxOpeningLikeElementOrOpeningFragment(e)}(e);break;case 285:!function checkJsxElementDeferred(e){checkJsxOpeningLikeElementOrOpeningFragment(e.openingElement),isJsxIntrinsicTagName(e.closingElement.tagName)?getIntrinsicTagSymbol(e.closingElement):checkExpression(e.closingElement.tagName),checkJsxChildren(e)}(e);break;case 217:case 235:case 218:!function checkAssertionDeferred(e){const{type:t}=getAssertionTypeAndExpression(e),n=isParenthesizedExpression(e)?t:e,r=getNodeLinks(e);h.assertIsDefined(r.assertionExpressionType);const i=getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(r.assertionExpressionType)),o=getTypeFromTypeNode(t);isErrorType(o)||addLazyDiagnostic(()=>{const e=getWidenedType(i);isTypeComparableTo(o,e)||checkTypeComparableTo(i,o,n,Ot.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first)})}(e);break;case 223:checkExpression(e.expression);break;case 227:isInstanceOfExpression(e)&&resolveUntypedCall(e)}r=o,null==(n=J)||n.pop()}function checkSourceFile(t,n){var r,i;null==(r=J)||r.push(J.Phase.Check,n?"checkSourceFileNodes":"checkSourceFile",{path:t.path},!0);const o=n?"beforeCheckNodes":"beforeCheck",a=n?"afterCheckNodes":"afterCheck";mark(o),n?function checkSourceFileNodesWorker(t,n){const r=getNodeLinks(t);if(!(1&r.flags)){if(skipTypeChecking(t,S,e))return;checkGrammarSourceFile(t),clear(mi),clear(_i),clear(fi),clear(gi),clear(yi),forEach(n,checkSourceElement),checkDeferredNodes(t),(r.potentialThisCollisions||(r.potentialThisCollisions=[])).push(...mi),(r.potentialNewTargetCollisions||(r.potentialNewTargetCollisions=[])).push(..._i),(r.potentialWeakMapSetCollisions||(r.potentialWeakMapSetCollisions=[])).push(...fi),(r.potentialReflectCollisions||(r.potentialReflectCollisions=[])).push(...gi),(r.potentialUnusedRenamedBindingElementsInTypes||(r.potentialUnusedRenamedBindingElementsInTypes=[])).push(...yi),r.flags|=8388608;for(const e of n){getNodeLinks(e).flags|=8388608}}}(t,n):function checkSourceFileWorker(t){const n=getNodeLinks(t);if(!(1&n.flags)){if(skipTypeChecking(t,S,e))return;checkGrammarSourceFile(t),clear(mi),clear(_i),clear(fi),clear(gi),clear(yi),8388608&n.flags&&(mi=n.potentialThisCollisions,_i=n.potentialNewTargetCollisions,fi=n.potentialWeakMapSetCollisions,gi=n.potentialReflectCollisions,yi=n.potentialUnusedRenamedBindingElementsInTypes),forEach(t.statements,checkSourceElement),checkSourceElement(t.endOfFileToken),checkDeferredNodes(t),isExternalOrCommonJsModule(t)&®isterForUnusedIdentifiersCheck(t),addLazyDiagnostic(()=>{t.isDeclarationFile||!S.noUnusedLocals&&!S.noUnusedParameters||checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(t),(e,t,n)=>{!containsParseError(e)&&unusedIsError(t,!!(33554432&e.flags))&&vi.add(n)}),t.isDeclarationFile||function checkPotentialUncheckedRenamedBindingElementsInTypes(){var e;for(const t of yi)if(!(null==(e=getSymbolOfDeclaration(t))?void 0:e.isReferenced)){const e=walkUpBindingElementsAndPatterns(t);h.assert(isPartOfParameterDeclaration(e),"Only parameter declaration should be checked here");const n=createDiagnosticForNode(t.name,Ot._0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation,declarationNameToString(t.name),declarationNameToString(t.propertyName));e.type||addRelatedInfo(n,createFileDiagnostic(getSourceFileOfNode(e),e.end,0,Ot.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here,declarationNameToString(t.propertyName))),vi.add(n)}}()}),isExternalOrCommonJsModule(t)&&checkExternalModuleExports(t),mi.length&&(forEach(mi,checkIfThisIsCapturedInEnclosingScope),clear(mi)),_i.length&&(forEach(_i,checkIfNewTargetIsCapturedInEnclosingScope),clear(_i)),fi.length&&(forEach(fi,checkWeakMapSetCollision),clear(fi)),gi.length&&(forEach(gi,checkReflectCollision),clear(gi)),n.flags|=1}}(t),mark(a),measure("Check",o,a),null==(i=J)||i.pop()}function unusedIsError(e,t){if(t)return!1;switch(e){case 0:return!!S.noUnusedLocals;case 1:return!!S.noUnusedParameters;default:return h.assertNever(e)}}function getPotentiallyUnusedIdentifiers(e){return Fr.get(e.path)||l}function getDiagnostics2(n,r,i){try{return t=r,function getDiagnosticsWorker(t,n){if(t){ensurePendingDiagnosticWorkComplete();const e=vi.getGlobalDiagnostics(),r=e.length;checkSourceFileWithEagerDiagnostics(t,n);const i=vi.getDiagnostics(t.fileName);if(n)return i;const o=vi.getGlobalDiagnostics();if(o!==e){return concatenate(relativeComplement(e,o,compareDiagnostics),i)}return 0===r&&o.length>0?concatenate(o,i):i}return forEach(e.getSourceFiles(),e=>checkSourceFileWithEagerDiagnostics(e)),vi.getDiagnostics()}(n,i)}finally{t=void 0}}function ensurePendingDiagnosticWorkComplete(){for(const e of o)e();o=[]}function checkSourceFileWithEagerDiagnostics(e,t){ensurePendingDiagnosticWorkComplete();const n=addLazyDiagnostic;addLazyDiagnostic=e=>e(),checkSourceFile(e,t),addLazyDiagnostic=n}function isTypeReferenceIdentifier(e){for(;167===e.parent.kind;)e=e.parent;return 184===e.parent.kind}function forEachEnclosingClass(e,t){let n,r=getContainingClass(e);for(;r&&!(n=t(r));)r=getContainingClass(r);return n}function isNodeWithinClass(e,t){return!!forEachEnclosingClass(e,e=>e===t)}function isInRightSideOfImportOrExportAssignment(e){return void 0!==function getLeftSideOfImportEqualsOrExportAssignment(e){for(;167===e.parent.kind;)e=e.parent;return 272===e.parent.kind?e.parent.moduleReference===e?e.parent:void 0:278===e.parent.kind&&e.parent.expression===e?e.parent:void 0}(e)}function getSymbolOfNameOrPropertyAccessExpression(e){if(isDeclarationName(e))return getSymbolOfNode(e.parent);if(isInJSFile(e)&&212===e.parent.kind&&e.parent===e.parent.parent.left&&!isPrivateIdentifier(e)&&!isJSDocMemberName(e)&&!function isThisPropertyAndThisTyped(e){if(110===e.expression.kind){const t=getThisContainer(e,!1,!1);if(isFunctionLike(t)){const e=getContainingObjectLiteral(t);if(e){const t=getThisTypeOfObjectLiteralFromContextualType(e,getApparentTypeOfContextualType(e,void 0));return t&&!isTypeAny(t)}}}}(e.parent)){const t=function getSpecialPropertyAssignmentSymbolFromEntityName(e){switch(getAssignmentDeclarationKind(e.parent.parent)){case 1:case 3:return getSymbolOfNode(e.parent);case 5:if(isPropertyAccessExpression(e.parent)&&getLeftmostAccessExpression(e.parent)===e)return;case 4:case 2:return getSymbolOfDeclaration(e.parent.parent)}}(e);if(t)return t}if(278===e.parent.kind&&isEntityNameExpression(e)){const t=resolveEntityName(e,2998271,!0);if(t&&t!==ve)return t}else if(isEntityName(e)&&isInRightSideOfImportOrExportAssignment(e)){const t=getAncestor(e,272);return h.assert(void 0!==t),getSymbolOfPartOfRightHandSideOfImportEquals(e,!0)}if(isEntityName(e)){const t=function isImportTypeQualifierPart(e){let t=e.parent;for(;isQualifiedName(t);)e=t,t=t.parent;if(t&&206===t.kind&&t.qualifier===e)return t}(e);if(t){getTypeFromTypeNode(t);const n=getNodeLinks(e).resolvedSymbol;return n===ve?void 0:n}}for(;isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName(e);)e=e.parent;if(function isInNameOfExpressionWithTypeArguments(e){for(;212===e.parent.kind;)e=e.parent;return 234===e.parent.kind}(e)){let t=0;234===e.parent.kind?(t=isPartOfTypeNode(e)?788968:111551,isExpressionWithTypeArgumentsInClassExtendsClause(e.parent)&&(t|=111551)):t=1920,t|=2097152;const n=isEntityNameExpression(e)?resolveEntityName(e,t,!0):void 0;if(n)return n}if(342===e.parent.kind)return getParameterSymbolFromJSDoc(e.parent);if(169===e.parent.kind&&346===e.parent.parent.kind){h.assert(!isInJSFile(e));const t=getTypeParameterFromJsDoc(e.parent);return t&&t.symbol}if(isExpressionNode(e)){if(nodeIsMissing(e))return;const t=findAncestor(e,or(isJSDocLinkLike,isJSDocNameReference,isJSDocMemberName)),n=t?901119:111551;if(80===e.kind){if(isJSXTagName(e)&&isJsxIntrinsicTagName(e)){const t=getIntrinsicTagSymbol(e.parent);return t===ve?void 0:t}const r=resolveEntityName(e,n,!0,!0,getHostSignatureFromJSDoc(e));if(!r&&t){const t=findAncestor(e,or(isClassLike,isInterfaceDeclaration));if(t)return resolveJSDocMemberName(e,!0,getSymbolOfDeclaration(t))}if(r&&t){const t=getJSDocHost(e);if(t&&isEnumMember(t)&&t===r.valueDeclaration)return resolveEntityName(e,n,!0,!0,getSourceFileOfNode(t))||r}return r}if(isPrivateIdentifier(e))return getSymbolForPrivateIdentifierExpression(e);if(212===e.kind||167===e.kind){const n=getNodeLinks(e);return n.resolvedSymbol?n.resolvedSymbol:(212===e.kind?(checkPropertyAccessExpression(e,0),n.resolvedSymbol||(n.resolvedSymbol=getApplicableIndexSymbol(checkExpressionCached(e.expression),getLiteralTypeFromPropertyName(e.name)))):checkQualifiedName(e,0),!n.resolvedSymbol&&t&&isQualifiedName(e)?resolveJSDocMemberName(e):n.resolvedSymbol)}if(isJSDocMemberName(e))return resolveJSDocMemberName(e)}else if(isEntityName(e)&&isTypeReferenceIdentifier(e)){const t=resolveEntityName(e,184===e.parent.kind?788968:1920,!0,!0);return t&&t!==ve?t:getUnresolvedSymbolForEntityName(e)}return 183===e.parent.kind?resolveEntityName(e,1,!0):void 0}function getApplicableIndexSymbol(e,t){const n=getApplicableIndexInfos(e,t);if(n.length&&e.members){const t=getIndexSymbolFromSymbolTable(resolveStructuredTypeMembers(e).members);if(n===getIndexInfosOfType(e))return t;if(t){const r=getSymbolLinks(t),i=map(mapDefined(n,e=>e.declaration),getNodeId).join(",");if(r.filteredIndexSymbolCache||(r.filteredIndexSymbolCache=new Map),r.filteredIndexSymbolCache.has(i))return r.filteredIndexSymbolCache.get(i);{const t=createSymbol(131072,"__index");return t.declarations=mapDefined(n,e=>e.declaration),t.parent=e.aliasSymbol?e.aliasSymbol:e.symbol?e.symbol:getSymbolAtLocation(t.declarations[0].parent),r.filteredIndexSymbolCache.set(i,t),t}}}}function resolveJSDocMemberName(e,t,n){if(isEntityName(e)){const r=901119;let i=resolveEntityName(e,r,t,!0,getHostSignatureFromJSDoc(e));if(!i&&isIdentifier(e)&&n&&(i=getMergedSymbol(getSymbol2(getExportsOfSymbol(n),e.escapedText,r))),i)return i}const r=isIdentifier(e)?n:resolveJSDocMemberName(e.left,t,n),i=isIdentifier(e)?e.escapedText:e.right.escapedText;if(r){const e=111551&r.flags&&getPropertyOfType(getTypeOfSymbol(r),"prototype");return getPropertyOfType(e?getTypeOfSymbol(e):getDeclaredTypeOfSymbol(r),i)}}function getSymbolAtLocation(e,t){if(isSourceFile(e))return isExternalModule(e)?getMergedSymbol(e.symbol):void 0;const{parent:n}=e,r=n.parent;if(!(67108864&e.flags)){if(isDeclarationNameOrImportPropertyName(e)){const t=getSymbolOfDeclaration(n);return isImportOrExportSpecifier(e.parent)&&e.parent.propertyName===e?getImmediateAliasedSymbol(t):t}if(isLiteralComputedPropertyDeclarationName(e))return getSymbolOfDeclaration(n.parent);if(80===e.kind){if(isInRightSideOfImportOrExportAssignment(e))return getSymbolOfNameOrPropertyAccessExpression(e);if(209===n.kind&&207===r.kind&&e===n.propertyName){const t=getPropertyOfType(getTypeOfNode(r),e.escapedText);if(t)return t}else if(isMetaProperty(n)&&n.name===e)return 105===n.keywordToken&&"target"===idText(e)?checkNewTargetMetaProperty(n).symbol:102===n.keywordToken&&"meta"===idText(e)?getGlobalImportMetaExpressionType().members.get("meta"):void 0}switch(e.kind){case 80:case 81:case 212:case 167:if(!isThisInTypeQuery(e))return getSymbolOfNameOrPropertyAccessExpression(e);case 110:const i=getThisContainer(e,!1,!1);if(isFunctionLike(i)){const e=getSignatureFromDeclaration(i);if(e.thisParameter)return e.thisParameter}if(isInExpressionContext(e))return checkExpression(e).symbol;case 198:return getTypeFromThisTypeNode(e).symbol;case 108:return checkExpression(e).symbol;case 137:const o=e.parent;return o&&177===o.kind?o.parent.symbol:void 0;case 11:case 15:if(isExternalModuleImportEqualsDeclaration(e.parent.parent)&&getExternalModuleImportEqualsDeclarationExpression(e.parent.parent)===e||(273===e.parent.kind||279===e.parent.kind)&&e.parent.moduleSpecifier===e||isInJSFile(e)&&isJSDocImportTag(e.parent)&&e.parent.moduleSpecifier===e||isInJSFile(e)&&isRequireCall(e.parent,!1)||isImportCall(e.parent)||isLiteralTypeNode(e.parent)&&isLiteralImportTypeNode(e.parent.parent)&&e.parent.parent.argument===e.parent)return resolveExternalModuleName(e,e,t);if(isCallExpression(n)&&isBindableObjectDefinePropertyCall(n)&&n.arguments[1]===e)return getSymbolOfDeclaration(n);case 9:const a=isElementAccessExpression(n)?n.argumentExpression===e?getTypeOfExpression(n.expression):void 0:isLiteralTypeNode(n)&&isIndexedAccessTypeNode(r)?getTypeFromTypeNode(r.objectType):void 0;return a&&getPropertyOfType(a,escapeLeadingUnderscores(e.text));case 90:case 100:case 39:case 86:return getSymbolOfNode(e.parent);case 206:return isLiteralImportTypeNode(e)?getSymbolAtLocation(e.argument.literal,t):void 0;case 95:return isExportAssignment(e.parent)?h.checkDefined(e.parent.symbol):void 0;case 102:if(isMetaProperty(e.parent)&&"defer"===e.parent.name.escapedText)return;case 105:return isMetaProperty(e.parent)?checkMetaPropertyKeyword(e.parent).symbol:void 0;case 104:if(isBinaryExpression(e.parent)){const t=getTypeOfExpression(e.parent.right),n=getSymbolHasInstanceMethodOfObjectType(t);return(null==n?void 0:n.symbol)??t.symbol}return;case 237:return checkExpression(e).symbol;case 296:if(isJSXTagName(e)&&isJsxIntrinsicTagName(e)){const t=getIntrinsicTagSymbol(e.parent);return t===ve?void 0:t}default:return}}}function getTypeOfNode(e){if(isSourceFile(e)&&!isExternalModule(e))return Ie;if(67108864&e.flags)return Ie;const t=tryGetClassImplementingOrExtendingExpressionWithTypeArguments(e),n=t&&getDeclaredTypeOfClassOrInterface(getSymbolOfDeclaration(t.class));if(isPartOfTypeNode(e)){const t=getTypeFromTypeNode(e);return n?getTypeWithThisArgument(t,n.thisType):t}if(isExpressionNode(e))return getRegularTypeOfExpression(e);if(n&&!t.isImplements){const e=firstOrUndefined(getBaseTypes(n));return e?getTypeWithThisArgument(e,n.thisType):Ie}if(isTypeDeclaration(e)){return getDeclaredTypeOfSymbol(getSymbolOfDeclaration(e))}if(function isTypeDeclarationName(e){return 80===e.kind&&isTypeDeclaration(e.parent)&&getNameOfDeclaration(e.parent)===e}(e)){const t=getSymbolAtLocation(e);return t?getDeclaredTypeOfSymbol(t):Ie}if(isBindingElement(e))return getTypeForVariableLikeDeclaration(e,!0,0)||Ie;if(isDeclaration(e)){const t=getSymbolOfDeclaration(e);return t?getTypeOfSymbol(t):Ie}if(isDeclarationNameOrImportPropertyName(e)){const t=getSymbolAtLocation(e);return t?getTypeOfSymbol(t):Ie}if(isBindingPattern(e))return getTypeForVariableLikeDeclaration(e.parent,!0,0)||Ie;if(isInRightSideOfImportOrExportAssignment(e)){const t=getSymbolAtLocation(e);if(t){const e=getDeclaredTypeOfSymbol(t);return isErrorType(e)?getTypeOfSymbol(t):e}}return isMetaProperty(e.parent)&&e.parent.keywordToken===e.kind?checkMetaPropertyKeyword(e.parent):isImportAttributes(e)?getGlobalImportAttributesType(!1):Ie}function getTypeOfAssignmentPattern(e){if(h.assert(211===e.kind||210===e.kind),251===e.parent.kind){return checkDestructuringAssignment(e,checkRightHandSideOfForOf(e.parent)||Ie)}if(227===e.parent.kind){return checkDestructuringAssignment(e,getTypeOfExpression(e.parent.right)||Ie)}if(304===e.parent.kind){const t=cast(e.parent.parent,isObjectLiteralExpression);return checkObjectLiteralDestructuringPropertyAssignment(t,getTypeOfAssignmentPattern(t)||Ie,indexOfNode(t.properties,e.parent))}const t=cast(e.parent,isArrayLiteralExpression),n=getTypeOfAssignmentPattern(t)||Ie,r=checkIteratedTypeOrElementType(65,n,Me,e.parent)||Ie;return checkArrayLiteralDestructuringElementAssignment(t,n,t.elements.indexOf(e),r)}function getRegularTypeOfExpression(e){return isRightSideOfQualifiedNameOrPropertyAccess(e)&&(e=e.parent),getRegularTypeOfLiteralType(getTypeOfExpression(e))}function getParentTypeOfClassElement(e){const t=getSymbolOfNode(e.parent);return isStatic(e)?getTypeOfSymbol(t):getDeclaredTypeOfSymbol(t)}function getClassElementPropertyKeyType(e){const t=e.name;switch(t.kind){case 80:return getStringLiteralType(idText(t));case 9:case 11:return getStringLiteralType(t.text);case 168:const e=checkComputedPropertyName(t);return isTypeAssignableToKind(e,12288)?e:ze;default:return h.fail("Unsupported property name.")}}function getAugmentedPropertiesOfType(e){const t=createSymbolTable(getPropertiesOfType(e=getApparentType(e))),n=getSignaturesOfType(e,0).length?Ut:getSignaturesOfType(e,1).length?zt:void 0;return n&&forEach(getPropertiesOfType(n),e=>{t.has(e.escapedName)||t.set(e.escapedName,e)}),getNamedMembers(t)}function typeHasCallOrConstructSignatures(e){return 0!==getSignaturesOfType(e,0).length||0!==getSignaturesOfType(e,1).length}function isArgumentsLocalBinding(e){if(isGeneratedIdentifier(e))return!1;const t=getParseTreeNode(e,isIdentifier);if(!t)return!1;const n=t.parent;if(!n)return!1;return!((isPropertyAccessExpression(n)||isPropertyAssignment(n))&&n.name===t)&&getReferencedValueSymbol(t)===$}function getReferencedExportContainer(e,t){var n;const r=getParseTreeNode(e,isIdentifier);if(r){let e=getReferencedValueSymbol(r,function isNameOfModuleOrEnumDeclaration(e){return isModuleOrEnumDeclaration(e.parent)&&e===e.parent.name}(r));if(e){if(1048576&e.flags){const n=getMergedSymbol(e.exportSymbol);if(!t&&944&n.flags&&!(3&n.flags))return;e=n}const i=getParentOfSymbol(e);if(i){if(512&i.flags&&308===(null==(n=i.valueDeclaration)?void 0:n.kind)){const e=i.valueDeclaration;return e!==getSourceFileOfNode(r)?void 0:e}return findAncestor(r.parent,e=>isModuleOrEnumDeclaration(e)&&getSymbolOfDeclaration(e)===i)}}}}function getReferencedImportDeclaration(e){const t=getIdentifierGeneratedImportReference(e);if(t)return t;const n=getParseTreeNode(e,isIdentifier);if(n){const e=function getReferencedValueOrAliasSymbol(e){const t=getNodeLinks(e).resolvedSymbol;if(t&&t!==ve)return t;return te(e,e.escapedText,3257279,void 0,!0,void 0)}(n);if(isNonLocalAlias(e,111551)&&!getTypeOnlyAliasDeclaration(e,111551))return getDeclarationOfAliasSymbol(e)}}function isSymbolOfDeclarationWithCollidingName(e){if(418&e.flags&&e.valueDeclaration&&!isSourceFile(e.valueDeclaration)){const t=getSymbolLinks(e);if(void 0===t.isDeclarationWithCollidingName){const n=getEnclosingBlockScopeContainer(e.valueDeclaration);if(isStatementWithLocals(n)||function isSymbolOfDestructuredElementOfCatchBinding(e){return e.valueDeclaration&&isBindingElement(e.valueDeclaration)&&300===walkUpBindingElementsAndPatterns(e.valueDeclaration).parent.kind}(e))if(te(n.parent,e.escapedName,111551,void 0,!1))t.isDeclarationWithCollidingName=!0;else if(hasNodeCheckFlag(e.valueDeclaration,16384)){const r=hasNodeCheckFlag(e.valueDeclaration,32768),i=isIterationStatement(n,!1),o=242===n.kind&&isIterationStatement(n.parent,!1);t.isDeclarationWithCollidingName=!(isBlockScopedContainerTopLevel(n)||r&&(i||o))}else t.isDeclarationWithCollidingName=!1}return t.isDeclarationWithCollidingName}return!1}function getReferencedDeclarationWithCollidingName(e){if(!isGeneratedIdentifier(e)){const t=getParseTreeNode(e,isIdentifier);if(t){const e=getReferencedValueSymbol(t);if(e&&isSymbolOfDeclarationWithCollidingName(e))return e.valueDeclaration}}}function isDeclarationWithCollidingName(e){const t=getParseTreeNode(e,isDeclaration);if(t){const e=getSymbolOfDeclaration(t);if(e)return isSymbolOfDeclarationWithCollidingName(e)}return!1}function isValueAliasDeclaration(e){switch(h.assert(Y),e.kind){case 272:return isAliasResolvedToValue(getSymbolOfDeclaration(e));case 274:case 275:case 277:case 282:const t=getSymbolOfDeclaration(e);return!!t&&isAliasResolvedToValue(t,!0);case 279:const n=e.exportClause;return!!n&&(isNamespaceExport(n)||some(n.elements,isValueAliasDeclaration));case 278:return!e.expression||80!==e.expression.kind||isAliasResolvedToValue(getSymbolOfDeclaration(e),!0)}return!1}function isTopLevelValueImportEqualsWithEntityName(e){const t=getParseTreeNode(e,isImportEqualsDeclaration);if(void 0===t||308!==t.parent.kind||!isInternalModuleImportEqualsDeclaration(t))return!1;return isAliasResolvedToValue(getSymbolOfDeclaration(t))&&t.moduleReference&&!nodeIsMissing(t.moduleReference)}function isAliasResolvedToValue(e,t){if(!e)return!1;const n=getSourceFileOfNode(e.valueDeclaration);resolveExternalModuleSymbol(n&&getSymbolOfDeclaration(n));const r=getExportSymbolOfValueSymbolIfExported(resolveAlias(e));return r===ve?!t||!getTypeOnlyAliasDeclaration(e):!!(111551&getSymbolFlags(e,t,!0))&&(er(S)||!isConstEnumOrConstEnumOnlyModule(r))}function isConstEnumOrConstEnumOnlyModule(e){return isConstEnumSymbol(e)||!!e.constEnumOnlyModule}function isReferencedAliasDeclaration(e,t){if(h.assert(Y),isAliasSymbolDeclaration(e)){const t=getSymbolOfDeclaration(e),n=t&&getSymbolLinks(t);if(null==n?void 0:n.referenced)return!0;const r=getSymbolLinks(t).aliasTarget;if(r&&32&getEffectiveModifierFlags(e)&&111551&getSymbolFlags(r)&&(er(S)||!isConstEnumOrConstEnumOnlyModule(r)))return!0}return!!t&&!!forEachChild(e,e=>isReferencedAliasDeclaration(e,t))}function isImplementationOfOverload(e){if(nodeIsPresent(e.body)){if(isGetAccessor(e)||isSetAccessor(e))return!1;const t=getSignaturesOfSymbol(getSymbolOfDeclaration(e));return t.length>1||1===t.length&&t[0].declaration!==e}return!1}function requiresAddingImplicitUndefined(e,t){return(function isRequiredInitializedParameter(e,t){if(!k||isOptionalParameter(e)||isJSDocParameterTag(e)||!e.initializer)return!1;if(hasSyntacticModifier(e,31))return!!t&&isFunctionLikeDeclaration(t);return!0}(e,t)||function isOptionalUninitializedParameterProperty(e){return k&&isOptionalParameter(e)&&(isJSDocParameterTag(e)||!e.initializer)&&hasSyntacticModifier(e,31)}(e))&&!function declaredParameterTypeContainsUndefined(e){const t=getNonlocalEffectiveTypeAnnotationNode(e);if(!t)return!1;const n=getTypeFromTypeNode(t);return isErrorType(n)||containsUndefinedType(n)}(e)}function isExpandoFunctionDeclaration(e){const t=getParseTreeNode(e,e=>isFunctionDeclaration(e)||isVariableDeclaration(e));if(!t)return!1;let n;if(isVariableDeclaration(t)){if(t.type||!isInJSFile(t)&&!isVarConstLike2(t))return!1;const e=getDeclaredExpandoInitializer(t);if(!e||!canHaveSymbol(e))return!1;n=getSymbolOfDeclaration(e)}else n=getSymbolOfDeclaration(t);return!!(n&&16&n.flags|3)&&!!forEachEntry(getExportsOfSymbol(n),e=>111551&e.flags&&isExpandoPropertyDeclaration(e.valueDeclaration))}function getPropertiesOfContainerFunction(e){const t=getParseTreeNode(e,isFunctionDeclaration);if(!t)return l;const n=getSymbolOfDeclaration(t);return n&&getPropertiesOfType(getTypeOfSymbol(n))||l}function getNodeCheckFlags(e){var t;const n=e.id||0;return n<0||n>=ii.length?0:(null==(t=ii[n])?void 0:t.flags)||0}function hasNodeCheckFlag(e,t){return function calculateNodeCheckFlagWorker(e,t){if(!S.noCheck&&canIncludeBindAndCheckDiagnostics(getSourceFileOfNode(e),S))return;const n=getNodeLinks(e);if(n.calculatedFlags&t)return;switch(t){case 16:case 32:return checkSingleSuperExpression(e);case 128:case 256:case 2097152:return checkChildSuperExpressions(e);case 512:case 8192:case 65536:case 262144:return checkChildIdentifiers(e);case 536870912:return checkSingleIdentifier(e);case 4096:case 32768:case 16384:return checkContainingBlockScopeBindingUses(e);default:return h.assertNever(t,`Unhandled node check flag calculation: ${h.formatNodeCheckFlags(t)}`)}function forEachNodeRecursively(e,t){const n=t(e,e.parent);if("skip"!==n)return n||forEachChildRecursively(e,t)}function checkSuperExpressions(e){const n=getNodeLinks(e);if(n.calculatedFlags&t)return"skip";n.calculatedFlags|=2097536,checkSingleSuperExpression(e)}function checkChildSuperExpressions(e){forEachNodeRecursively(e,checkSuperExpressions)}function checkSingleSuperExpression(e){getNodeLinks(e).calculatedFlags|=48,108===e.kind&&checkSuperExpression(e)}function checkIdentifiers(e){const n=getNodeLinks(e);if(n.calculatedFlags&t)return"skip";n.calculatedFlags|=336384,checkSingleIdentifier(e)}function checkChildIdentifiers(e){forEachNodeRecursively(e,checkIdentifiers)}function isExpressionNodeOrShorthandPropertyAssignmentName(e){return isExpressionNode(e)||isShorthandPropertyAssignment(e.parent)&&(e.parent.objectAssignmentInitializer??e.parent.name)===e}function checkSingleIdentifier(e){const t=getNodeLinks(e);if(t.calculatedFlags|=536870912,isIdentifier(e)&&(t.calculatedFlags|=49152,isExpressionNodeOrShorthandPropertyAssignmentName(e)&&(!isPropertyAccessExpression(e.parent)||e.parent.name!==e))){const t=getResolvedSymbol(e);t&&t!==ve&&checkIdentifierCalculateNodeCheckFlags(e,t)}}function checkBlockScopeBindings(e){const n=getNodeLinks(e);if(n.calculatedFlags&t)return"skip";n.calculatedFlags|=53248,checkSingleBlockScopeBinding(e)}function checkContainingBlockScopeBindingUses(e){forEachNodeRecursively(getEnclosingBlockScopeContainer(isDeclarationName(e)?e.parent:e),checkBlockScopeBindings)}function checkSingleBlockScopeBinding(e){checkSingleIdentifier(e),isComputedPropertyName(e)&&checkComputedPropertyName(e),isPrivateIdentifier(e)&&isClassElement(e.parent)&&setNodeLinksForPrivateIdentifierScope(e.parent)}}(e,t),!!(getNodeCheckFlags(e)&t)}function getEnumMemberValue(e){return computeEnumMemberValues(e.parent),getNodeLinks(e).enumMemberValue??evaluatorResult(void 0)}function canHaveConstantValue(e){switch(e.kind){case 307:case 212:case 213:return!0}return!1}function getConstantValue2(e){if(307===e.kind)return getEnumMemberValue(e).value;getNodeLinks(e).resolvedSymbol||checkExpressionCached(e);const t=getNodeLinks(e).resolvedSymbol||(isEntityNameExpression(e)?resolveEntityName(e,111551,!0):void 0);if(t&&8&t.flags){const e=t.valueDeclaration;if(isEnumConst(e.parent))return getEnumMemberValue(e).value}}function isFunctionType(e){return!!(524288&e.flags)&&getSignaturesOfType(e,0).length>0}function getTypeReferenceSerializationKind(e,t){var n;const r=getParseTreeNode(e,isEntityName);if(!r)return 0;if(t&&!(t=getParseTreeNode(t)))return 0;let i=!1;if(isQualifiedName(r)){const e=resolveEntityName(getFirstIdentifier(r),111551,!0,!0,t);i=!!(null==(n=null==e?void 0:e.declarations)?void 0:n.every(isTypeOnlyImportOrExportDeclaration))}const o=resolveEntityName(r,111551,!0,!0,t),a=o&&2097152&o.flags?resolveAlias(o):o;i||(i=!(!o||!getTypeOnlyAliasDeclaration(o,111551)));const s=resolveEntityName(r,788968,!0,!0,t),c=s&&2097152&s.flags?resolveAlias(s):s;if(o||i||(i=!(!s||!getTypeOnlyAliasDeclaration(s,788968))),a&&a===c){const e=getGlobalPromiseConstructorSymbol(!1);if(e&&a===e)return 9;const t=getTypeOfSymbol(a);if(t&&isConstructorType(t))return i?10:1}if(!c)return i?11:0;const l=getDeclaredTypeOfSymbol(c);return isErrorType(l)?i?11:0:3&l.flags?11:isTypeAssignableToKind(l,245760)?2:isTypeAssignableToKind(l,528)?6:isTypeAssignableToKind(l,296)?3:isTypeAssignableToKind(l,2112)?4:isTypeAssignableToKind(l,402653316)?5:isTupleType(l)?7:isTypeAssignableToKind(l,12288)?8:isFunctionType(l)?10:isArrayType(l)?7:11}function createTypeOfDeclaration(e,t,n,r,i){const o=getParseTreeNode(e,hasInferredType);if(!o)return Wr.createToken(133);const a=getSymbolOfDeclaration(o);return j.serializeTypeForDeclaration(o,a,t,1024|n,r,i)}function getAllAccessorDeclarationsForDeclaration(e){const t=179===(e=getParseTreeNode(e,isGetOrSetAccessorDeclaration)).kind?178:179,n=getDeclarationOfKind(getSymbolOfDeclaration(e),t);return{firstAccessor:n&&n.pos<e.pos?n:e,secondAccessor:n&&n.pos<e.pos?e:n,setAccessor:179===e.kind?e:n,getAccessor:178===e.kind?e:n}}function createReturnTypeOfSignatureDeclaration(e,t,n,r,i){const o=getParseTreeNode(e,isFunctionLike);return o?j.serializeReturnTypeForSignature(o,t,1024|n,r,i):Wr.createToken(133)}function createTypeOfExpression(e,t,n,r,i){const o=getParseTreeNode(e,isExpression);return o?j.serializeTypeForExpression(o,t,1024|n,r,i):Wr.createToken(133)}function hasGlobalName(e){return z.has(escapeLeadingUnderscores(e))}function getReferencedValueSymbol(e,t){const n=getNodeLinks(e).resolvedSymbol;if(n)return n;let r=e;if(t){const t=e.parent;isDeclaration(t)&&e===t.name&&(r=getDeclarationContainer(t))}return te(r,e.escapedText,3257279,void 0,!0)}function getReferencedValueDeclaration(e){if(!isGeneratedIdentifier(e)){const t=getParseTreeNode(e,isIdentifier);if(t){const e=getReferencedValueSymbol(t);if(e)return getExportSymbolOfValueSymbolIfExported(e).valueDeclaration}}}function getReferencedValueDeclarations(e){if(!isGeneratedIdentifier(e)){const t=getParseTreeNode(e,isIdentifier);if(t){const e=getReferencedValueSymbol(t);if(e)return filter(getExportSymbolOfValueSymbolIfExported(e).declarations,e=>{switch(e.kind){case 261:case 170:case 209:case 173:case 304:case 305:case 307:case 211:case 263:case 219:case 220:case 264:case 232:case 267:case 175:case 178:case 179:case 268:return!0}return!1})}}}function isLiteralConstDeclaration(e){return!!(isDeclarationReadonly(e)||isVariableDeclaration(e)&&isVarConstLike2(e))&&isFreshLiteralType(getTypeOfSymbol(getSymbolOfDeclaration(e)))}function createLiteralConstValue(e,t){return function literalTypeToNode(e,t,n){const r=1056&e.flags?j.symbolToExpression(e.symbol,111551,t,void 0,void 0,n):e===Ge?Wr.createTrue():e===He&&Wr.createFalse();if(r)return r;const i=e.value;return"object"==typeof i?Wr.createBigIntLiteral(i):"string"==typeof i?Wr.createStringLiteral(i):i<0?Wr.createPrefixUnaryExpression(41,Wr.createNumericLiteral(-i)):Wr.createNumericLiteral(i)}(getTypeOfSymbol(getSymbolOfDeclaration(e)),e,t)}function getJsxFactoryEntity(e){return e?(getJsxNamespace(e),getSourceFileOfNode(e).localJsxFactory||ur):ur}function getJsxFragmentFactoryEntity(e){if(e){const t=getSourceFileOfNode(e);if(t){if(t.localJsxFragmentFactory)return t.localJsxFragmentFactory;const e=t.pragmas.get("jsxfrag"),n=isArray(e)?e[0]:e;if(n)return t.localJsxFragmentFactory=parseIsolatedEntityName(n.arguments.factory,x),t.localJsxFragmentFactory}}if(S.jsxFragmentFactory)return parseIsolatedEntityName(S.jsxFragmentFactory,x)}function getNonlocalEffectiveTypeAnnotationNode(e){const t=getEffectiveTypeAnnotationNode(e);if(t)return t;if(170===e.kind&&179===e.parent.kind){const t=getAllAccessorDeclarationsForDeclaration(e.parent).getAccessor;if(t)return getEffectiveReturnTypeNode(t)}}function getExternalModuleFileFromDeclaration(e){const t=268===e.kind?tryCast(e.name,isStringLiteral):getExternalModuleName(e),n=resolveExternalModuleNameWorker(t,t,void 0);if(n)return getDeclarationOfKind(n,308)}function checkExternalEmitHelpers(e,t){if(S.importHelpers){const n=getSourceFileOfNode(e);if(isEffectiveExternalModule(n,S)&&!(33554432&e.flags)){const r=function resolveHelpersModule(e,t){const n=getNodeLinks(e);n.externalHelpersModule||(n.externalHelpersModule=resolveExternalModule(function getImportHelpersImportSpecifier(e){h.assert(S.importHelpers,"Expected importHelpers to be enabled");const t=e.imports[0];return h.assert(t&&nodeIsSynthesized(t)&&"tslib"===t.text,"Expected sourceFile.imports[0] to be the synthesized tslib import"),t}(e),sn,Ot.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,t)||ve);return n.externalHelpersModule}(n,e);if(r!==ve){const n=getSymbolLinks(r);if(n.requestedExternalEmitHelpers??(n.requestedExternalEmitHelpers=0),(n.requestedExternalEmitHelpers&t)!==t){const i=t&~n.requestedExternalEmitHelpers;for(let t=1;t<=16777216;t<<=1)if(i&t)for(const n of getHelperNames(t)){const i=resolveSymbol(getSymbol2(getExportsOfModule(r),escapeLeadingUnderscores(n),111551));i?524288&t?some(getSignaturesOfSymbol(i),e=>getParameterCount(e)>3)||error2(e,Ot.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,sn,n,4):1048576&t?some(getSignaturesOfSymbol(i),e=>getParameterCount(e)>4)||error2(e,Ot.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,sn,n,5):1024&t&&(some(getSignaturesOfSymbol(i),e=>getParameterCount(e)>2)||error2(e,Ot.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,sn,n,3)):error2(e,Ot.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,sn,n)}}n.requestedExternalEmitHelpers|=t}}}}function getHelperNames(e){switch(e){case 1:return["__extends"];case 2:return["__assign"];case 4:return["__rest"];case 8:return b?["__decorate"]:["__esDecorate","__runInitializers"];case 16:return["__metadata"];case 32:return["__param"];case 64:return["__awaiter"];case 128:return["__generator"];case 256:return["__values"];case 512:return["__read"];case 1024:return["__spreadArray"];case 2048:return["__await"];case 4096:return["__asyncGenerator"];case 8192:return["__asyncDelegator"];case 16384:return["__asyncValues"];case 32768:return["__exportStar"];case 65536:return["__importStar"];case 131072:return["__importDefault"];case 262144:return["__makeTemplateObject"];case 524288:return["__classPrivateFieldGet"];case 1048576:return["__classPrivateFieldSet"];case 2097152:return["__classPrivateFieldIn"];case 4194304:return["__setFunctionName"];case 8388608:return["__propKey"];case 16777216:return["__addDisposableResource","__disposeResources"];case 33554432:return["__rewriteRelativeImportExtension"];default:return h.fail("Unrecognized helper")}}function checkGrammarModifiers(t){var n;const r=function reportObviousDecoratorErrors(e){const t=function findFirstIllegalDecorator(e){return canHaveIllegalDecorators(e)?find(e.modifiers,isDecorator):void 0}(e);return t&&grammarErrorOnFirstToken(t,Ot.Decorators_are_not_valid_here)}(t)||function reportObviousModifierErrors(e){if(!e.modifiers)return!1;const t=function findFirstIllegalModifier(e){switch(e.kind){case 178:case 179:case 177:case 173:case 172:case 175:case 174:case 182:case 268:case 273:case 272:case 279:case 278:case 219:case 220:case 170:case 169:return;case 176:case 304:case 305:case 271:case 283:return find(e.modifiers,isModifier);default:if(269===e.parent.kind||308===e.parent.kind)return;switch(e.kind){case 263:return findFirstModifierExcept(e,134);case 264:case 186:return findFirstModifierExcept(e,128);case 232:case 265:case 266:return find(e.modifiers,isModifier);case 244:return 4&e.declarationList.flags?findFirstModifierExcept(e,135):find(e.modifiers,isModifier);case 267:return findFirstModifierExcept(e,87);default:h.assertNever(e)}}}(e);return t&&grammarErrorOnFirstToken(t,Ot.Modifiers_cannot_appear_here)}(t);if(void 0!==r)return r;if(isParameter(t)&¶meterIsThisKeyword(t))return grammarErrorOnFirstToken(t,Ot.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters);const i=isVariableStatement(t)?7&t.declarationList.flags:0;let o,a,s,c,l,d=0,p=!1,u=!1;for(const r of t.modifiers)if(isDecorator(r)){if(!nodeCanBeDecorated(b,t,t.parent,t.parent.parent))return 175!==t.kind||nodeIsPresent(t.body)?grammarErrorOnFirstToken(t,Ot.Decorators_are_not_valid_here):grammarErrorOnFirstToken(t,Ot.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(b&&(178===t.kind||179===t.kind)){const e=getAllAccessorDeclarationsForDeclaration(t);if(hasDecorators(e.firstAccessor)&&t===e.secondAccessor)return grammarErrorOnFirstToken(t,Ot.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}if(-34849&d)return grammarErrorOnNode(r,Ot.Decorators_are_not_valid_here);if(u&&98303&d){h.assertIsDefined(l);return!hasParseDiagnostics(getSourceFileOfNode(r))&&(addRelatedInfo(error2(r,Ot.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),createDiagnosticForNode(l,Ot.Decorator_used_before_export_here)),!0)}d|=32768,98303&d?32&d&&(p=!0):u=!0,l??(l=r)}else{if(148!==r.kind){if(172===t.kind||174===t.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_type_member,tokenToString(r.kind));if(182===t.kind&&(126!==r.kind||!isClassLike(t.parent)))return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_an_index_signature,tokenToString(r.kind))}if(103!==r.kind&&147!==r.kind&&87!==r.kind&&169===t.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_type_parameter,tokenToString(r.kind));switch(r.kind){case 87:{if(267!==t.kind&&169!==t.kind)return grammarErrorOnNode(t,Ot.A_class_member_cannot_have_the_0_keyword,tokenToString(87));const e=isJSDocTemplateTag(t.parent)&&getEffectiveJSDocHost(t.parent)||t.parent;if(169===t.kind&&!(isFunctionLikeDeclaration(e)||isClassLike(e)||isFunctionTypeNode(e)||isConstructorTypeNode(e)||isCallSignatureDeclaration(e)||isConstructSignatureDeclaration(e)||isMethodSignature(e)))return grammarErrorOnNode(r,Ot._0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class,tokenToString(r.kind));break}case 164:if(16&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"override");if(128&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"override","declare");if(8&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"override","readonly");if(512&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"override","accessor");if(1024&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"override","async");d|=16,c=r;break;case 125:case 124:case 123:const u=visibilityToString(modifierToFlag(r.kind));if(7&d)return grammarErrorOnNode(r,Ot.Accessibility_modifier_already_seen);if(16&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,u,"override");if(256&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,u,"static");if(512&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,u,"accessor");if(8&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,u,"readonly");if(1024&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,u,"async");if(269===t.parent.kind||308===t.parent.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_module_or_namespace_element,u);if(64&d)return 123===r.kind?grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,u,"abstract"):grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,u,"abstract");if(isPrivateIdentifierClassElementDeclaration(t))return grammarErrorOnNode(r,Ot.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);d|=modifierToFlag(r.kind);break;case 126:if(256&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"static");if(8&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"static","readonly");if(1024&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"static","async");if(512&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"static","accessor");if(269===t.parent.kind||308===t.parent.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_module_or_namespace_element,"static");if(170===t.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_parameter,"static");if(64&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"static","abstract");if(16&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"static","override");d|=256,o=r;break;case 129:if(512&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"accessor");if(8&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"accessor","readonly");if(128&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"accessor","declare");if(173!==t.kind)return grammarErrorOnNode(r,Ot.accessor_modifier_can_only_appear_on_a_property_declaration);d|=512;break;case 148:if(8&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"readonly");if(173!==t.kind&&172!==t.kind&&182!==t.kind&&170!==t.kind)return grammarErrorOnNode(r,Ot.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature);if(512&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"readonly","accessor");d|=8;break;case 95:if(S.verbatimModuleSyntax&&!(33554432&t.flags)&&266!==t.kind&&265!==t.kind&&268!==t.kind&&308===t.parent.kind&&1===e.getEmitModuleFormatOfFile(getSourceFileOfNode(t)))return grammarErrorOnNode(r,Ot.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);if(32&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"export");if(128&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"export","declare");if(64&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"export","abstract");if(1024&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"export","async");if(isClassLike(t.parent))return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_class_elements_of_this_kind,"export");if(170===t.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_parameter,"export");if(4===i)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_using_declaration,"export");if(6===i)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_an_await_using_declaration,"export");d|=32;break;case 90:const m=308===t.parent.kind?t.parent:t.parent.parent;if(268===m.kind&&!isAmbientModule(m))return grammarErrorOnNode(r,Ot.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);if(4===i)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_using_declaration,"default");if(6===i)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_an_await_using_declaration,"default");if(!(32&d))return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"export","default");if(p)return grammarErrorOnNode(l,Ot.Decorators_are_not_valid_here);d|=2048;break;case 138:if(128&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"declare");if(1024&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_in_an_ambient_context,"async");if(16&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_in_an_ambient_context,"override");if(isClassLike(t.parent)&&!isPropertyDeclaration(t))return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_class_elements_of_this_kind,"declare");if(170===t.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_parameter,"declare");if(4===i)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_using_declaration,"declare");if(6===i)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_an_await_using_declaration,"declare");if(33554432&t.parent.flags&&269===t.parent.kind)return grammarErrorOnNode(r,Ot.A_declare_modifier_cannot_be_used_in_an_already_ambient_context);if(isPrivateIdentifierClassElementDeclaration(t))return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_a_private_identifier,"declare");if(512&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"declare","accessor");d|=128,a=r;break;case 128:if(64&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"abstract");if(264!==t.kind&&186!==t.kind){if(175!==t.kind&&173!==t.kind&&178!==t.kind&&179!==t.kind)return grammarErrorOnNode(r,Ot.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);if(264!==t.parent.kind||!hasSyntacticModifier(t.parent,64)){return grammarErrorOnNode(r,173===t.kind?Ot.Abstract_properties_can_only_appear_within_an_abstract_class:Ot.Abstract_methods_can_only_appear_within_an_abstract_class)}if(256&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"static","abstract");if(2&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"private","abstract");if(1024&d&&s)return grammarErrorOnNode(s,Ot._0_modifier_cannot_be_used_with_1_modifier,"async","abstract");if(16&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"abstract","override");if(512&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"abstract","accessor")}if(isNamedDeclaration(t)&&81===t.name.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_a_private_identifier,"abstract");d|=64;break;case 134:if(1024&d)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,"async");if(128&d||33554432&t.parent.flags)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_in_an_ambient_context,"async");if(170===t.kind)return grammarErrorOnNode(r,Ot._0_modifier_cannot_appear_on_a_parameter,"async");if(64&d)return grammarErrorOnNode(r,Ot._0_modifier_cannot_be_used_with_1_modifier,"async","abstract");d|=1024,s=r;break;case 103:case 147:{const e=103===r.kind?8192:16384,i=103===r.kind?"in":"out",o=isJSDocTemplateTag(t.parent)&&(getEffectiveJSDocHost(t.parent)||find(null==(n=getJSDocRoot(t.parent))?void 0:n.tags,isJSDocTypedefTag))||t.parent;if(169!==t.kind||o&&!(isInterfaceDeclaration(o)||isClassLike(o)||isTypeAliasDeclaration(o)||isJSDocTypedefTag(o)))return grammarErrorOnNode(r,Ot._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias,i);if(d&e)return grammarErrorOnNode(r,Ot._0_modifier_already_seen,i);if(8192&e&&16384&d)return grammarErrorOnNode(r,Ot._0_modifier_must_precede_1_modifier,"in","out");d|=e;break}}}return 177===t.kind?256&d?grammarErrorOnNode(o,Ot._0_modifier_cannot_appear_on_a_constructor_declaration,"static"):16&d?grammarErrorOnNode(c,Ot._0_modifier_cannot_appear_on_a_constructor_declaration,"override"):!!(1024&d)&&grammarErrorOnNode(s,Ot._0_modifier_cannot_appear_on_a_constructor_declaration,"async"):(273===t.kind||272===t.kind)&&128&d?grammarErrorOnNode(a,Ot.A_0_modifier_cannot_be_used_with_an_import_declaration,"declare"):170===t.kind&&31&d&&isBindingPattern(t.name)?grammarErrorOnNode(t,Ot.A_parameter_property_may_not_be_declared_using_a_binding_pattern):170===t.kind&&31&d&&t.dotDotDotToken?grammarErrorOnNode(t,Ot.A_parameter_property_cannot_be_declared_using_a_rest_parameter):!!(1024&d)&&function checkGrammarAsyncModifier(e,t){switch(e.kind){case 175:case 263:case 219:case 220:return!1}return grammarErrorOnNode(t,Ot._0_modifier_cannot_be_used_here,"async")}(t,s)}function findFirstModifierExcept(e,t){const n=find(e.modifiers,isModifier);return n&&n.kind!==t?n:void 0}function checkGrammarForDisallowedTrailingComma(e,t=Ot.Trailing_comma_not_allowed){return!(!e||!e.hasTrailingComma)&&grammarErrorAtPos(e[0],e.end-1,1,t)}function checkGrammarTypeParameterList(e,t){if(e&&0===e.length){const n=e.pos-1;return grammarErrorAtPos(t,n,skipTrivia(t.text,e.end)+1-n,Ot.Type_parameter_list_cannot_be_empty)}return!1}function checkGrammarForUseStrictSimpleParameterList(e){if(x>=3){const t=e.body&&isBlock(e.body)&&findUseStrictPrologue(e.body.statements);if(t){const n=function getNonSimpleParameters(e){return filter(e,e=>!!e.initializer||isBindingPattern(e.name)||isRestParameter(e))}(e.parameters);if(length(n)){forEach(n,e=>{addRelatedInfo(error2(e,Ot.This_parameter_is_not_allowed_with_use_strict_directive),createDiagnosticForNode(t,Ot.use_strict_directive_used_here))});const e=n.map((e,t)=>createDiagnosticForNode(e,0===t?Ot.Non_simple_parameter_declared_here:Ot.and_here));return addRelatedInfo(error2(t,Ot.use_strict_directive_cannot_be_used_with_non_simple_parameter_list),...e),!0}}}return!1}function checkGrammarFunctionLikeDeclaration(e){const t=getSourceFileOfNode(e);return checkGrammarModifiers(e)||checkGrammarTypeParameterList(e.typeParameters,t)||function checkGrammarParameterList(e){let t=!1;const n=e.length;for(let r=0;r<n;r++){const i=e[r];if(i.dotDotDotToken){if(r!==n-1)return grammarErrorOnNode(i.dotDotDotToken,Ot.A_rest_parameter_must_be_last_in_a_parameter_list);if(33554432&i.flags||checkGrammarForDisallowedTrailingComma(e,Ot.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),i.questionToken)return grammarErrorOnNode(i.questionToken,Ot.A_rest_parameter_cannot_be_optional);if(i.initializer)return grammarErrorOnNode(i.name,Ot.A_rest_parameter_cannot_have_an_initializer)}else if(hasEffectiveQuestionToken(i)){if(t=!0,i.questionToken&&i.initializer)return grammarErrorOnNode(i.name,Ot.Parameter_cannot_have_question_mark_and_initializer)}else if(t&&!i.initializer)return grammarErrorOnNode(i.name,Ot.A_required_parameter_cannot_follow_an_optional_parameter)}}(e.parameters)||function checkGrammarArrowFunction(e,t){if(!isArrowFunction(e))return!1;e.typeParameters&&!(length(e.typeParameters)>1||e.typeParameters.hasTrailingComma||e.typeParameters[0].constraint)&&t&&fileExtensionIsOneOf(t.fileName,[".mts",".cts"])&&grammarErrorOnNode(e.typeParameters[0],Ot.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint);const{equalsGreaterThanToken:n}=e,r=getLineAndCharacterOfPosition(t,n.pos).line,i=getLineAndCharacterOfPosition(t,n.end).line;return r!==i&&grammarErrorOnNode(n,Ot.Line_terminator_not_permitted_before_arrow)}(e,t)||isFunctionLikeDeclaration(e)&&checkGrammarForUseStrictSimpleParameterList(e)}function checkGrammarTypeArguments(e,t){return checkGrammarForDisallowedTrailingComma(t)||function checkGrammarForAtLeastOneTypeArgument(e,t){if(t&&0===t.length){const n=getSourceFileOfNode(e),r=t.pos-1;return grammarErrorAtPos(n,r,skipTrivia(n.text,t.end)+1-r,Ot.Type_argument_list_cannot_be_empty)}return!1}(e,t)}function checkGrammarHeritageClause(e){const t=e.types;if(checkGrammarForDisallowedTrailingComma(t))return!0;if(t&&0===t.length){const n=tokenToString(e.token);return grammarErrorAtPos(e,t.pos,0,Ot._0_list_cannot_be_empty,n)}return some(t,checkGrammarExpressionWithTypeArguments)}function checkGrammarExpressionWithTypeArguments(e){return isExpressionWithTypeArguments(e)&&isImportKeyword(e.expression)&&e.typeArguments?grammarErrorOnNode(e,Ot.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments):checkGrammarTypeArguments(e,e.typeArguments)}function checkGrammarComputedPropertyName(e){if(168!==e.kind)return!1;const t=e;return 227===t.expression.kind&&28===t.expression.operatorToken.kind&&grammarErrorOnNode(t.expression,Ot.A_comma_expression_is_not_allowed_in_a_computed_property_name)}function checkGrammarForGenerator(e){if(e.asteriskToken){if(h.assert(263===e.kind||219===e.kind||175===e.kind),33554432&e.flags)return grammarErrorOnNode(e.asteriskToken,Ot.Generators_are_not_allowed_in_an_ambient_context);if(!e.body)return grammarErrorOnNode(e.asteriskToken,Ot.An_overload_signature_cannot_be_declared_as_a_generator)}}function checkGrammarForInvalidQuestionMark(e,t){return!!e&&grammarErrorOnNode(e,t)}function checkGrammarForInvalidExclamationToken(e,t){return!!e&&grammarErrorOnNode(e,t)}function checkGrammarForInOrForOfStatement(e){if(checkGrammarStatementInAmbientContext(e))return!0;if(251===e.kind&&e.awaitModifier&&!(65536&e.flags)){const t=getSourceFileOfNode(e);if(isInTopLevelContext(e)){if(!hasParseDiagnostics(t))switch(isEffectiveExternalModule(t,S)||vi.add(createDiagnosticForNode(e.awaitModifier,Ot.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module)),v){case 100:case 101:case 102:case 199:if(1===t.impliedNodeFormat){vi.add(createDiagnosticForNode(e.awaitModifier,Ot.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level));break}case 7:case 99:case 200:case 4:if(x>=4)break;default:vi.add(createDiagnosticForNode(e.awaitModifier,Ot.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher))}}else if(!hasParseDiagnostics(t)){const t=createDiagnosticForNode(e.awaitModifier,Ot.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules),n=getContainingFunction(e);if(n&&177!==n.kind){h.assert(!(2&getFunctionFlags(n)),"Enclosing function should never be an async function.");addRelatedInfo(t,createDiagnosticForNode(n,Ot.Did_you_mean_to_mark_this_function_as_async))}return vi.add(t),!0}}if(isForOfStatement(e)&&!(65536&e.flags)&&isIdentifier(e.initializer)&&"async"===e.initializer.escapedText)return grammarErrorOnNode(e.initializer,Ot.The_left_hand_side_of_a_for_of_statement_may_not_be_async),!1;if(262===e.initializer.kind){const t=e.initializer;if(!checkGrammarVariableDeclarationList(t)){const n=t.declarations;if(!n.length)return!1;if(n.length>1){const n=250===e.kind?Ot.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:Ot.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return grammarErrorOnFirstToken(t.declarations[1],n)}const r=n[0];if(r.initializer){const t=250===e.kind?Ot.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:Ot.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return grammarErrorOnNode(r.name,t)}if(r.type){return grammarErrorOnNode(r,250===e.kind?Ot.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:Ot.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}}return!1}function getAccessorThisParameter(e){if(e.parameters.length===(178===e.kind?1:2))return getThisParameter(e)}function checkGrammarForInvalidDynamicName(e,t){if(isNonBindableDynamicName(e)&&!isEntityNameExpression(isElementAccessExpression(e)?skipParentheses(e.argumentExpression):e.expression))return grammarErrorOnNode(e,t)}function checkGrammarMethod(e){if(checkGrammarFunctionLikeDeclaration(e))return!0;if(175===e.kind){if(211===e.parent.kind){if(e.modifiers&&(1!==e.modifiers.length||134!==first(e.modifiers).kind))return grammarErrorOnFirstToken(e,Ot.Modifiers_cannot_appear_here);if(checkGrammarForInvalidQuestionMark(e.questionToken,Ot.An_object_member_cannot_be_declared_optional))return!0;if(checkGrammarForInvalidExclamationToken(e.exclamationToken,Ot.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(void 0===e.body)return grammarErrorAtPos(e,e.end-1,1,Ot._0_expected,"{")}if(checkGrammarForGenerator(e))return!0}if(isClassLike(e.parent)){if(x<2&&isPrivateIdentifier(e.name))return grammarErrorOnNode(e.name,Ot.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(33554432&e.flags)return checkGrammarForInvalidDynamicName(e.name,Ot.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(175===e.kind&&!e.body)return checkGrammarForInvalidDynamicName(e.name,Ot.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(265===e.parent.kind)return checkGrammarForInvalidDynamicName(e.name,Ot.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(188===e.parent.kind)return checkGrammarForInvalidDynamicName(e.name,Ot.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function isStringOrNumberLiteralExpression(e){return isStringOrNumericLiteralLike(e)||225===e.kind&&41===e.operator&&9===e.operand.kind}function checkAmbientInitializer(e){const t=e.initializer;if(t){const n=!(isStringOrNumberLiteralExpression(t)||function isSimpleLiteralEnumReference(e){if((isPropertyAccessExpression(e)||isElementAccessExpression(e)&&isStringOrNumberLiteralExpression(e.argumentExpression))&&isEntityNameExpression(e.expression))return!!(1056&checkExpressionCached(e).flags)}(t)||112===t.kind||97===t.kind||function isBigIntLiteralExpression(e){return 10===e.kind||225===e.kind&&41===e.operator&&10===e.operand.kind}(t));if(!(isDeclarationReadonly(e)||isVariableDeclaration(e)&&isVarConstLike2(e))||e.type)return grammarErrorOnNode(t,Ot.Initializers_are_not_allowed_in_ambient_contexts);if(n)return grammarErrorOnNode(t,Ot.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference)}}function checkESModuleMarker(e){if(80===e.kind){if("__esModule"===idText(e))return function grammarErrorOnNodeSkippedOn(e,t,n,...r){if(!hasParseDiagnostics(getSourceFileOfNode(t)))return errorSkippedOn(e,t,n,...r),!0;return!1}("noEmit",e,Ot.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else{const t=e.elements;for(const e of t)if(!isOmittedExpression(e))return checkESModuleMarker(e.name)}return!1}function checkGrammarNameInLetOrConstDeclarations(e){if(80===e.kind){if("let"===e.escapedText)return grammarErrorOnNode(e,Ot.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations)}else{const t=e.elements;for(const e of t)isOmittedExpression(e)||checkGrammarNameInLetOrConstDeclarations(e.name)}return!1}function checkGrammarVariableDeclarationList(e){const t=e.declarations;if(checkGrammarForDisallowedTrailingComma(e.declarations))return!0;if(!e.declarations.length)return grammarErrorAtPos(e,t.pos,t.end-t.pos,Ot.Variable_declaration_list_cannot_be_empty);const n=7&e.flags;if(4===n||6===n){if(isForInStatement(e.parent))return grammarErrorOnNode(e,4===n?Ot.The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration:Ot.The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration);if(33554432&e.flags)return grammarErrorOnNode(e,4===n?Ot.using_declarations_are_not_allowed_in_ambient_contexts:Ot.await_using_declarations_are_not_allowed_in_ambient_contexts);if(6===n)return checkAwaitGrammar(e)}return!1}function allowBlockDeclarations(e){switch(e.kind){case 246:case 247:case 248:case 255:case 249:case 250:case 251:return!1;case 257:return allowBlockDeclarations(e.parent)}return!0}function hasParseDiagnostics(e){return e.parseDiagnostics.length>0}function grammarErrorOnFirstToken(e,t,...n){const r=getSourceFileOfNode(e);if(!hasParseDiagnostics(r)){const i=getSpanOfTokenAtPosition(r,e.pos);return vi.add(createFileDiagnostic(r,i.start,i.length,t,...n)),!0}return!1}function grammarErrorAtPos(e,t,n,r,...i){const o=getSourceFileOfNode(e);return!hasParseDiagnostics(o)&&(vi.add(createFileDiagnostic(o,t,n,r,...i)),!0)}function grammarErrorOnNode(e,t,...n){return!hasParseDiagnostics(getSourceFileOfNode(e))&&(error2(e,t,...n),!0)}function checkGrammarTopLevelElementForRequiredDeclareModifier(e){return 265!==e.kind&&266!==e.kind&&273!==e.kind&&272!==e.kind&&279!==e.kind&&278!==e.kind&&271!==e.kind&&!hasSyntacticModifier(e,2208)&&grammarErrorOnFirstToken(e,Ot.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function checkGrammarSourceFile(e){return!!(33554432&e.flags)&&function checkGrammarTopLevelElementsForRequiredDeclareModifier(e){for(const t of e.statements)if((isDeclaration(t)||244===t.kind)&&checkGrammarTopLevelElementForRequiredDeclareModifier(t))return!0;return!1}(e)}function checkGrammarStatementInAmbientContext(e){if(33554432&e.flags){if(!getNodeLinks(e).hasReportedStatementInAmbientContext&&(isFunctionLike(e.parent)||isAccessor(e.parent)))return getNodeLinks(e).hasReportedStatementInAmbientContext=grammarErrorOnFirstToken(e,Ot.An_implementation_cannot_be_declared_in_ambient_contexts);if(242===e.parent.kind||269===e.parent.kind||308===e.parent.kind){const t=getNodeLinks(e.parent);if(!t.hasReportedStatementInAmbientContext)return t.hasReportedStatementInAmbientContext=grammarErrorOnFirstToken(e,Ot.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function checkGrammarNumericLiteral(e){const t=getTextOfNode(e).includes("."),n=16&e.numericLiteralFlags;if(t||n)return;+e.text<=2**53-1||addErrorOrSuggestion(!1,createDiagnosticForNode(e,Ot.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}function checkGrammarNamedImportsOrExports(e){return!!forEach(e.elements,e=>{if(e.isTypeOnly)return grammarErrorOnFirstToken(e,277===e.kind?Ot.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:Ot.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement)})}function findMatchingDiscriminantType(e,t,n){if(1048576&t.flags&&2621440&e.flags){const r=getMatchingUnionConstituentForType(t,e);if(r)return r;const i=getPropertiesOfType(e);if(i){const e=findDiscriminantProperties(i,t);if(e){const r=discriminateTypeByDiscriminableItems(t,map(e,e=>[()=>getTypeOfSymbol(e),e.escapedName]),n);if(r!==t)return r}}}}function getEffectivePropertyNameForPropertyNameNode(e){const t=getPropertyNameForPropertyNameNode(e);return t||(isComputedPropertyName(e)?tryGetNameFromType(getTypeOfExpression(e.expression)):void 0)}function getCombinedModifierFlagsCached(e){return G===e?ee:(G=e,ee=getCombinedModifierFlags(e))}function getCombinedNodeFlagsCached(e){return K===e?Z:(K=e,Z=getCombinedNodeFlags(e))}function isVarConstLike2(e){const t=7&getCombinedNodeFlagsCached(e);return 2===t||4===t||6===t}}function isNotOverload(e){return 263!==e.kind&&175!==e.kind||!!e.body}function isDeclarationNameOrImportPropertyName(e){switch(e.parent.kind){case 277:case 282:return isIdentifier(e)||11===e.kind;default:return isDeclarationName(e)}}function getIterationTypesKeyFromIterationTypeKind(e){switch(e){case 0:return"yieldType";case 1:return"returnType";case 2:return"nextType"}}function signatureHasRestParameter(e){return!!(1&e.flags)}function signatureHasLiteralTypes(e){return!!(2&e.flags)}(Ho=qo||(qo={})).JSX="JSX",Ho.IntrinsicElements="IntrinsicElements",Ho.ElementClass="ElementClass",Ho.ElementAttributesPropertyNameContainer="ElementAttributesProperty",Ho.ElementChildrenAttributeNameContainer="ElementChildrenAttribute",Ho.Element="Element",Ho.ElementType="ElementType",Ho.IntrinsicAttributes="IntrinsicAttributes",Ho.IntrinsicClassAttributes="IntrinsicClassAttributes",Ho.LibraryManagedAttributes="LibraryManagedAttributes",(Ko||(Ko={})).Fragment="Fragment";var sa=class _SymbolTrackerImpl{constructor(e,t,n){var r;for(this.moduleResolverHost=void 0,this.inner=void 0,this.disableTrackSymbol=!1;t instanceof _SymbolTrackerImpl;)t=t.inner;this.inner=t,this.moduleResolverHost=n,this.context=e,this.canTrackSymbol=!!(null==(r=this.inner)?void 0:r.trackSymbol)}trackSymbol(e,t,n){var r,i;if((null==(r=this.inner)?void 0:r.trackSymbol)&&!this.disableTrackSymbol){if(this.inner.trackSymbol(e,t,n))return this.onDiagnosticReported(),!0;262144&e.flags||((i=this.context).trackedSymbols??(i.trackedSymbols=[])).push([e,t,n])}return!1}reportInaccessibleThisError(){var e;(null==(e=this.inner)?void 0:e.reportInaccessibleThisError)&&(this.onDiagnosticReported(),this.inner.reportInaccessibleThisError())}reportPrivateInBaseOfClassExpression(e){var t;(null==(t=this.inner)?void 0:t.reportPrivateInBaseOfClassExpression)&&(this.onDiagnosticReported(),this.inner.reportPrivateInBaseOfClassExpression(e))}reportInaccessibleUniqueSymbolError(){var e;(null==(e=this.inner)?void 0:e.reportInaccessibleUniqueSymbolError)&&(this.onDiagnosticReported(),this.inner.reportInaccessibleUniqueSymbolError())}reportCyclicStructureError(){var e;(null==(e=this.inner)?void 0:e.reportCyclicStructureError)&&(this.onDiagnosticReported(),this.inner.reportCyclicStructureError())}reportLikelyUnsafeImportRequiredError(e){var t;(null==(t=this.inner)?void 0:t.reportLikelyUnsafeImportRequiredError)&&(this.onDiagnosticReported(),this.inner.reportLikelyUnsafeImportRequiredError(e))}reportTruncationError(){var e;(null==(e=this.inner)?void 0:e.reportTruncationError)&&(this.onDiagnosticReported(),this.inner.reportTruncationError())}reportNonlocalAugmentation(e,t,n){var r;(null==(r=this.inner)?void 0:r.reportNonlocalAugmentation)&&(this.onDiagnosticReported(),this.inner.reportNonlocalAugmentation(e,t,n))}reportNonSerializableProperty(e){var t;(null==(t=this.inner)?void 0:t.reportNonSerializableProperty)&&(this.onDiagnosticReported(),this.inner.reportNonSerializableProperty(e))}onDiagnosticReported(){this.context.reportedDiagnostic=!0}reportInferenceFallback(e){var t;(null==(t=this.inner)?void 0:t.reportInferenceFallback)&&!this.context.suppressReportInferenceFallback&&(this.onDiagnosticReported(),this.inner.reportInferenceFallback(e))}pushErrorFallbackNode(e){var t,n;return null==(n=null==(t=this.inner)?void 0:t.pushErrorFallbackNode)?void 0:n.call(t,e)}popErrorFallbackNode(){var e,t;return null==(t=null==(e=this.inner)?void 0:e.popErrorFallbackNode)?void 0:t.call(e)}};function visitNode(e,t,n,r){if(void 0===e)return e;const i=t(e);let o;return void 0!==i?(o=isArray(i)?(r||extractSingleNode)(i):i,h.assertNode(o,n),o):void 0}function visitNodes2(e,t,n,r,i){if(void 0===e)return e;const o=e.length;let a;(void 0===r||r<0)&&(r=0),(void 0===i||i>o-r)&&(i=o-r);let s=-1,c=-1;r>0||i<o?a=e.hasTrailingComma&&r+i===o:(s=e.pos,c=e.end,a=e.hasTrailingComma);const l=visitArrayWorker(e,t,n,r,i);if(l!==e){const e=Wr.createNodeArray(l,a);return setTextRangePosEnd(e,s,c),e}return e}function visitArray(e,t,n,r,i){if(void 0===e)return e;const o=e.length;return(void 0===r||r<0)&&(r=0),(void 0===i||i>o-r)&&(i=o-r),visitArrayWorker(e,t,n,r,i)}function visitArrayWorker(e,t,n,r,i){let o;const a=e.length;(r>0||i<a)&&(o=[]);for(let a=0;a<i;a++){const i=e[a+r],s=void 0!==i?t?t(i):i:void 0;if((void 0!==o||void 0===s||s!==i)&&(void 0===o&&(o=e.slice(0,a),h.assertEachNode(o,n)),s))if(isArray(s))for(const e of s)h.assertNode(e,n),o.push(e);else h.assertNode(s,n),o.push(s)}return o||(h.assertEachNode(e,n),e)}function visitLexicalEnvironment(e,t,n,r,i,o=visitNodes2){return n.startLexicalEnvironment(),e=o(e,t,isStatement,r),i&&(e=n.factory.ensureUseStrict(e)),Wr.mergeLexicalEnvironment(e,n.endLexicalEnvironment())}function visitParameterList(e,t,n,r=visitNodes2){let i;return n.startLexicalEnvironment(),e&&(n.setLexicalEnvironmentFlags(1,!0),i=r(e,t,isParameter),2&n.getLexicalEnvironmentFlags()&&zn(n.getCompilerOptions())>=2&&(i=function addDefaultValueAssignmentsIfNeeded(e,t){let n;for(let r=0;r<e.length;r++){const i=e[r],o=addDefaultValueAssignmentIfNeeded(i,t);(n||o!==i)&&(n||(n=e.slice(0,r)),n[r]=o)}if(n)return setTextRange(t.factory.createNodeArray(n,e.hasTrailingComma),e);return e}(i,n)),n.setLexicalEnvironmentFlags(1,!1)),n.suspendLexicalEnvironment(),i}function addDefaultValueAssignmentIfNeeded(e,t){return e.dotDotDotToken?e:isBindingPattern(e.name)?function addDefaultValueAssignmentForBindingPattern(e,t){const{factory:n}=t;return t.addInitializationStatement(n.createVariableStatement(void 0,n.createVariableDeclarationList([n.createVariableDeclaration(e.name,void 0,e.type,e.initializer?n.createConditionalExpression(n.createStrictEquality(n.getGeneratedNameForNode(e),n.createVoidZero()),void 0,e.initializer,void 0,n.getGeneratedNameForNode(e)):n.getGeneratedNameForNode(e))]))),n.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,n.getGeneratedNameForNode(e),e.questionToken,e.type,void 0)}(e,t):e.initializer?function addDefaultValueAssignmentForInitializer(e,t,n,r){const i=r.factory;return r.addInitializationStatement(i.createIfStatement(i.createTypeCheck(i.cloneNode(t),"undefined"),setEmitFlags(setTextRange(i.createBlock([i.createExpressionStatement(setEmitFlags(setTextRange(i.createAssignment(setEmitFlags(i.cloneNode(t),96),setEmitFlags(n,3168|getEmitFlags(n))),e),3072))]),e),3905))),i.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,e.name,e.questionToken,e.type,void 0)}(e,e.name,e.initializer,t):e}function visitFunctionBody(e,t,n,r=visitNode){n.resumeLexicalEnvironment();const i=r(e,t,isConciseBody),o=n.endLexicalEnvironment();if(some(o)){if(!i)return n.factory.createBlock(o);const e=n.factory.converters.convertToFunctionBlock(i),t=Wr.mergeLexicalEnvironment(e.statements,o);return n.factory.updateBlock(e,t)}return i}function visitIterationBody(e,t,n,r=visitNode){n.startBlockScope();const i=r(e,t,isStatement,n.factory.liftToBlock);h.assert(i);const o=n.endBlockScope();return some(o)?isBlock(i)?(o.push(...i.statements),n.factory.updateBlock(i,o)):(o.push(i),n.factory.createBlock(o)):i}function visitCommaListElements(e,t,n=t){if(n===t||e.length<=1)return visitNodes2(e,t,isExpression);let r=0;const i=e.length;return visitNodes2(e,e=>{const o=r<i-1;return r++,o?n(e):t(e)},isExpression)}function visitEachChild(e,t,n=ba,r=visitNodes2,i,o=visitNode){if(void 0===e)return;const a=ca[e.kind];return void 0===a?e:a(e,t,n,r,o,i)}var ca={167:function visitEachChildOfQualifiedName(e,t,n,r,i,o){return n.factory.updateQualifiedName(e,h.checkDefined(i(e.left,t,isEntityName)),h.checkDefined(i(e.right,t,isIdentifier)))},168:function visitEachChildOfComputedPropertyName(e,t,n,r,i,o){return n.factory.updateComputedPropertyName(e,h.checkDefined(i(e.expression,t,isExpression)))},169:function visitEachChildOfTypeParameterDeclaration(e,t,n,r,i,o){return n.factory.updateTypeParameterDeclaration(e,r(e.modifiers,t,isModifier),h.checkDefined(i(e.name,t,isIdentifier)),i(e.constraint,t,isTypeNode),i(e.default,t,isTypeNode))},170:function visitEachChildOfParameterDeclaration(e,t,n,r,i,o){return n.factory.updateParameterDeclaration(e,r(e.modifiers,t,isModifierLike),o?i(e.dotDotDotToken,o,isDotDotDotToken):e.dotDotDotToken,h.checkDefined(i(e.name,t,isBindingName)),o?i(e.questionToken,o,isQuestionToken):e.questionToken,i(e.type,t,isTypeNode),i(e.initializer,t,isExpression))},171:function visitEachChildOfDecorator(e,t,n,r,i,o){return n.factory.updateDecorator(e,h.checkDefined(i(e.expression,t,isExpression)))},172:function visitEachChildOfPropertySignature(e,t,n,r,i,o){return n.factory.updatePropertySignature(e,r(e.modifiers,t,isModifier),h.checkDefined(i(e.name,t,isPropertyName)),o?i(e.questionToken,o,isQuestionToken):e.questionToken,i(e.type,t,isTypeNode))},173:function visitEachChildOfPropertyDeclaration(e,t,n,r,i,o){return n.factory.updatePropertyDeclaration(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.name,t,isPropertyName)),o?i(e.questionToken??e.exclamationToken,o,isQuestionOrExclamationToken):e.questionToken??e.exclamationToken,i(e.type,t,isTypeNode),i(e.initializer,t,isExpression))},174:function visitEachChildOfMethodSignature(e,t,n,r,i,o){return n.factory.updateMethodSignature(e,r(e.modifiers,t,isModifier),h.checkDefined(i(e.name,t,isPropertyName)),o?i(e.questionToken,o,isQuestionToken):e.questionToken,r(e.typeParameters,t,isTypeParameterDeclaration),r(e.parameters,t,isParameter),i(e.type,t,isTypeNode))},175:function visitEachChildOfMethodDeclaration(e,t,n,r,i,o){return n.factory.updateMethodDeclaration(e,r(e.modifiers,t,isModifierLike),o?i(e.asteriskToken,o,isAsteriskToken):e.asteriskToken,h.checkDefined(i(e.name,t,isPropertyName)),o?i(e.questionToken,o,isQuestionToken):e.questionToken,r(e.typeParameters,t,isTypeParameterDeclaration),visitParameterList(e.parameters,t,n,r),i(e.type,t,isTypeNode),visitFunctionBody(e.body,t,n,i))},177:function visitEachChildOfConstructorDeclaration(e,t,n,r,i,o){return n.factory.updateConstructorDeclaration(e,r(e.modifiers,t,isModifierLike),visitParameterList(e.parameters,t,n,r),visitFunctionBody(e.body,t,n,i))},178:function visitEachChildOfGetAccessorDeclaration(e,t,n,r,i,o){return n.factory.updateGetAccessorDeclaration(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.name,t,isPropertyName)),visitParameterList(e.parameters,t,n,r),i(e.type,t,isTypeNode),visitFunctionBody(e.body,t,n,i))},179:function visitEachChildOfSetAccessorDeclaration(e,t,n,r,i,o){return n.factory.updateSetAccessorDeclaration(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.name,t,isPropertyName)),visitParameterList(e.parameters,t,n,r),visitFunctionBody(e.body,t,n,i))},176:function visitEachChildOfClassStaticBlockDeclaration(e,t,n,r,i,o){return n.startLexicalEnvironment(),n.suspendLexicalEnvironment(),n.factory.updateClassStaticBlockDeclaration(e,visitFunctionBody(e.body,t,n,i))},180:function visitEachChildOfCallSignatureDeclaration(e,t,n,r,i,o){return n.factory.updateCallSignature(e,r(e.typeParameters,t,isTypeParameterDeclaration),r(e.parameters,t,isParameter),i(e.type,t,isTypeNode))},181:function visitEachChildOfConstructSignatureDeclaration(e,t,n,r,i,o){return n.factory.updateConstructSignature(e,r(e.typeParameters,t,isTypeParameterDeclaration),r(e.parameters,t,isParameter),i(e.type,t,isTypeNode))},182:function visitEachChildOfIndexSignatureDeclaration(e,t,n,r,i,o){return n.factory.updateIndexSignature(e,r(e.modifiers,t,isModifierLike),r(e.parameters,t,isParameter),h.checkDefined(i(e.type,t,isTypeNode)))},183:function visitEachChildOfTypePredicateNode(e,t,n,r,i,o){return n.factory.updateTypePredicateNode(e,i(e.assertsModifier,t,isAssertsKeyword),h.checkDefined(i(e.parameterName,t,isIdentifierOrThisTypeNode)),i(e.type,t,isTypeNode))},184:function visitEachChildOfTypeReferenceNode(e,t,n,r,i,o){return n.factory.updateTypeReferenceNode(e,h.checkDefined(i(e.typeName,t,isEntityName)),r(e.typeArguments,t,isTypeNode))},185:function visitEachChildOfFunctionTypeNode(e,t,n,r,i,o){return n.factory.updateFunctionTypeNode(e,r(e.typeParameters,t,isTypeParameterDeclaration),r(e.parameters,t,isParameter),h.checkDefined(i(e.type,t,isTypeNode)))},186:function visitEachChildOfConstructorTypeNode(e,t,n,r,i,o){return n.factory.updateConstructorTypeNode(e,r(e.modifiers,t,isModifier),r(e.typeParameters,t,isTypeParameterDeclaration),r(e.parameters,t,isParameter),h.checkDefined(i(e.type,t,isTypeNode)))},187:function visitEachChildOfTypeQueryNode(e,t,n,r,i,o){return n.factory.updateTypeQueryNode(e,h.checkDefined(i(e.exprName,t,isEntityName)),r(e.typeArguments,t,isTypeNode))},188:function visitEachChildOfTypeLiteralNode(e,t,n,r,i,o){return n.factory.updateTypeLiteralNode(e,r(e.members,t,isTypeElement))},189:function visitEachChildOfArrayTypeNode(e,t,n,r,i,o){return n.factory.updateArrayTypeNode(e,h.checkDefined(i(e.elementType,t,isTypeNode)))},190:function visitEachChildOfTupleTypeNode(e,t,n,r,i,o){return n.factory.updateTupleTypeNode(e,r(e.elements,t,isTypeNode))},191:function visitEachChildOfOptionalTypeNode(e,t,n,r,i,o){return n.factory.updateOptionalTypeNode(e,h.checkDefined(i(e.type,t,isTypeNode)))},192:function visitEachChildOfRestTypeNode(e,t,n,r,i,o){return n.factory.updateRestTypeNode(e,h.checkDefined(i(e.type,t,isTypeNode)))},193:function visitEachChildOfUnionTypeNode(e,t,n,r,i,o){return n.factory.updateUnionTypeNode(e,r(e.types,t,isTypeNode))},194:function visitEachChildOfIntersectionTypeNode(e,t,n,r,i,o){return n.factory.updateIntersectionTypeNode(e,r(e.types,t,isTypeNode))},195:function visitEachChildOfConditionalTypeNode(e,t,n,r,i,o){return n.factory.updateConditionalTypeNode(e,h.checkDefined(i(e.checkType,t,isTypeNode)),h.checkDefined(i(e.extendsType,t,isTypeNode)),h.checkDefined(i(e.trueType,t,isTypeNode)),h.checkDefined(i(e.falseType,t,isTypeNode)))},196:function visitEachChildOfInferTypeNode(e,t,n,r,i,o){return n.factory.updateInferTypeNode(e,h.checkDefined(i(e.typeParameter,t,isTypeParameterDeclaration)))},206:function visitEachChildOfImportTypeNode(e,t,n,r,i,o){return n.factory.updateImportTypeNode(e,h.checkDefined(i(e.argument,t,isTypeNode)),i(e.attributes,t,isImportAttributes),i(e.qualifier,t,isEntityName),r(e.typeArguments,t,isTypeNode),e.isTypeOf)},303:function visitEachChildOfImportTypeAssertionContainer(e,t,n,r,i,o){return n.factory.updateImportTypeAssertionContainer(e,h.checkDefined(i(e.assertClause,t,isAssertClause)),e.multiLine)},203:function visitEachChildOfNamedTupleMember(e,t,n,r,i,o){return n.factory.updateNamedTupleMember(e,o?i(e.dotDotDotToken,o,isDotDotDotToken):e.dotDotDotToken,h.checkDefined(i(e.name,t,isIdentifier)),o?i(e.questionToken,o,isQuestionToken):e.questionToken,h.checkDefined(i(e.type,t,isTypeNode)))},197:function visitEachChildOfParenthesizedType(e,t,n,r,i,o){return n.factory.updateParenthesizedType(e,h.checkDefined(i(e.type,t,isTypeNode)))},199:function visitEachChildOfTypeOperatorNode(e,t,n,r,i,o){return n.factory.updateTypeOperatorNode(e,h.checkDefined(i(e.type,t,isTypeNode)))},200:function visitEachChildOfIndexedAccessType(e,t,n,r,i,o){return n.factory.updateIndexedAccessTypeNode(e,h.checkDefined(i(e.objectType,t,isTypeNode)),h.checkDefined(i(e.indexType,t,isTypeNode)))},201:function visitEachChildOfMappedType(e,t,n,r,i,o){return n.factory.updateMappedTypeNode(e,o?i(e.readonlyToken,o,isReadonlyKeywordOrPlusOrMinusToken):e.readonlyToken,h.checkDefined(i(e.typeParameter,t,isTypeParameterDeclaration)),i(e.nameType,t,isTypeNode),o?i(e.questionToken,o,isQuestionOrPlusOrMinusToken):e.questionToken,i(e.type,t,isTypeNode),r(e.members,t,isTypeElement))},202:function visitEachChildOfLiteralTypeNode(e,t,n,r,i,o){return n.factory.updateLiteralTypeNode(e,h.checkDefined(i(e.literal,t,isLiteralTypeLiteral)))},204:function visitEachChildOfTemplateLiteralType(e,t,n,r,i,o){return n.factory.updateTemplateLiteralType(e,h.checkDefined(i(e.head,t,isTemplateHead)),r(e.templateSpans,t,isTemplateLiteralTypeSpan))},205:function visitEachChildOfTemplateLiteralTypeSpan(e,t,n,r,i,o){return n.factory.updateTemplateLiteralTypeSpan(e,h.checkDefined(i(e.type,t,isTypeNode)),h.checkDefined(i(e.literal,t,isTemplateMiddleOrTemplateTail)))},207:function visitEachChildOfObjectBindingPattern(e,t,n,r,i,o){return n.factory.updateObjectBindingPattern(e,r(e.elements,t,isBindingElement))},208:function visitEachChildOfArrayBindingPattern(e,t,n,r,i,o){return n.factory.updateArrayBindingPattern(e,r(e.elements,t,isArrayBindingElement))},209:function visitEachChildOfBindingElement(e,t,n,r,i,o){return n.factory.updateBindingElement(e,o?i(e.dotDotDotToken,o,isDotDotDotToken):e.dotDotDotToken,i(e.propertyName,t,isPropertyName),h.checkDefined(i(e.name,t,isBindingName)),i(e.initializer,t,isExpression))},210:function visitEachChildOfArrayLiteralExpression(e,t,n,r,i,o){return n.factory.updateArrayLiteralExpression(e,r(e.elements,t,isExpression))},211:function visitEachChildOfObjectLiteralExpression(e,t,n,r,i,o){return n.factory.updateObjectLiteralExpression(e,r(e.properties,t,isObjectLiteralElementLike))},212:function visitEachChildOfPropertyAccessExpression(e,t,n,r,i,o){return isPropertyAccessChain(e)?n.factory.updatePropertyAccessChain(e,h.checkDefined(i(e.expression,t,isExpression)),o?i(e.questionDotToken,o,isQuestionDotToken):e.questionDotToken,h.checkDefined(i(e.name,t,isMemberName))):n.factory.updatePropertyAccessExpression(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.name,t,isMemberName)))},213:function visitEachChildOfElementAccessExpression(e,t,n,r,i,o){return isElementAccessChain(e)?n.factory.updateElementAccessChain(e,h.checkDefined(i(e.expression,t,isExpression)),o?i(e.questionDotToken,o,isQuestionDotToken):e.questionDotToken,h.checkDefined(i(e.argumentExpression,t,isExpression))):n.factory.updateElementAccessExpression(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.argumentExpression,t,isExpression)))},214:function visitEachChildOfCallExpression(e,t,n,r,i,o){return isCallChain(e)?n.factory.updateCallChain(e,h.checkDefined(i(e.expression,t,isExpression)),o?i(e.questionDotToken,o,isQuestionDotToken):e.questionDotToken,r(e.typeArguments,t,isTypeNode),r(e.arguments,t,isExpression)):n.factory.updateCallExpression(e,h.checkDefined(i(e.expression,t,isExpression)),r(e.typeArguments,t,isTypeNode),r(e.arguments,t,isExpression))},215:function visitEachChildOfNewExpression(e,t,n,r,i,o){return n.factory.updateNewExpression(e,h.checkDefined(i(e.expression,t,isExpression)),r(e.typeArguments,t,isTypeNode),r(e.arguments,t,isExpression))},216:function visitEachChildOfTaggedTemplateExpression(e,t,n,r,i,o){return n.factory.updateTaggedTemplateExpression(e,h.checkDefined(i(e.tag,t,isExpression)),r(e.typeArguments,t,isTypeNode),h.checkDefined(i(e.template,t,isTemplateLiteral)))},217:function visitEachChildOfTypeAssertionExpression(e,t,n,r,i,o){return n.factory.updateTypeAssertion(e,h.checkDefined(i(e.type,t,isTypeNode)),h.checkDefined(i(e.expression,t,isExpression)))},218:function visitEachChildOfParenthesizedExpression(e,t,n,r,i,o){return n.factory.updateParenthesizedExpression(e,h.checkDefined(i(e.expression,t,isExpression)))},219:function visitEachChildOfFunctionExpression(e,t,n,r,i,o){return n.factory.updateFunctionExpression(e,r(e.modifiers,t,isModifier),o?i(e.asteriskToken,o,isAsteriskToken):e.asteriskToken,i(e.name,t,isIdentifier),r(e.typeParameters,t,isTypeParameterDeclaration),visitParameterList(e.parameters,t,n,r),i(e.type,t,isTypeNode),visitFunctionBody(e.body,t,n,i))},220:function visitEachChildOfArrowFunction(e,t,n,r,i,o){return n.factory.updateArrowFunction(e,r(e.modifiers,t,isModifier),r(e.typeParameters,t,isTypeParameterDeclaration),visitParameterList(e.parameters,t,n,r),i(e.type,t,isTypeNode),o?h.checkDefined(i(e.equalsGreaterThanToken,o,isEqualsGreaterThanToken)):e.equalsGreaterThanToken,visitFunctionBody(e.body,t,n,i))},221:function visitEachChildOfDeleteExpression(e,t,n,r,i,o){return n.factory.updateDeleteExpression(e,h.checkDefined(i(e.expression,t,isExpression)))},222:function visitEachChildOfTypeOfExpression(e,t,n,r,i,o){return n.factory.updateTypeOfExpression(e,h.checkDefined(i(e.expression,t,isExpression)))},223:function visitEachChildOfVoidExpression(e,t,n,r,i,o){return n.factory.updateVoidExpression(e,h.checkDefined(i(e.expression,t,isExpression)))},224:function visitEachChildOfAwaitExpression(e,t,n,r,i,o){return n.factory.updateAwaitExpression(e,h.checkDefined(i(e.expression,t,isExpression)))},225:function visitEachChildOfPrefixUnaryExpression(e,t,n,r,i,o){return n.factory.updatePrefixUnaryExpression(e,h.checkDefined(i(e.operand,t,isExpression)))},226:function visitEachChildOfPostfixUnaryExpression(e,t,n,r,i,o){return n.factory.updatePostfixUnaryExpression(e,h.checkDefined(i(e.operand,t,isExpression)))},227:function visitEachChildOfBinaryExpression(e,t,n,r,i,o){return n.factory.updateBinaryExpression(e,h.checkDefined(i(e.left,t,isExpression)),o?h.checkDefined(i(e.operatorToken,o,isBinaryOperatorToken)):e.operatorToken,h.checkDefined(i(e.right,t,isExpression)))},228:function visitEachChildOfConditionalExpression(e,t,n,r,i,o){return n.factory.updateConditionalExpression(e,h.checkDefined(i(e.condition,t,isExpression)),o?h.checkDefined(i(e.questionToken,o,isQuestionToken)):e.questionToken,h.checkDefined(i(e.whenTrue,t,isExpression)),o?h.checkDefined(i(e.colonToken,o,isColonToken)):e.colonToken,h.checkDefined(i(e.whenFalse,t,isExpression)))},229:function visitEachChildOfTemplateExpression(e,t,n,r,i,o){return n.factory.updateTemplateExpression(e,h.checkDefined(i(e.head,t,isTemplateHead)),r(e.templateSpans,t,isTemplateSpan))},230:function visitEachChildOfYieldExpression(e,t,n,r,i,o){return n.factory.updateYieldExpression(e,o?i(e.asteriskToken,o,isAsteriskToken):e.asteriskToken,i(e.expression,t,isExpression))},231:function visitEachChildOfSpreadElement(e,t,n,r,i,o){return n.factory.updateSpreadElement(e,h.checkDefined(i(e.expression,t,isExpression)))},232:function visitEachChildOfClassExpression(e,t,n,r,i,o){return n.factory.updateClassExpression(e,r(e.modifiers,t,isModifierLike),i(e.name,t,isIdentifier),r(e.typeParameters,t,isTypeParameterDeclaration),r(e.heritageClauses,t,isHeritageClause),r(e.members,t,isClassElement))},234:function visitEachChildOfExpressionWithTypeArguments(e,t,n,r,i,o){return n.factory.updateExpressionWithTypeArguments(e,h.checkDefined(i(e.expression,t,isExpression)),r(e.typeArguments,t,isTypeNode))},235:function visitEachChildOfAsExpression(e,t,n,r,i,o){return n.factory.updateAsExpression(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.type,t,isTypeNode)))},239:function visitEachChildOfSatisfiesExpression(e,t,n,r,i,o){return n.factory.updateSatisfiesExpression(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.type,t,isTypeNode)))},236:function visitEachChildOfNonNullExpression(e,t,n,r,i,o){return isOptionalChain(e)?n.factory.updateNonNullChain(e,h.checkDefined(i(e.expression,t,isExpression))):n.factory.updateNonNullExpression(e,h.checkDefined(i(e.expression,t,isExpression)))},237:function visitEachChildOfMetaProperty(e,t,n,r,i,o){return n.factory.updateMetaProperty(e,h.checkDefined(i(e.name,t,isIdentifier)))},240:function visitEachChildOfTemplateSpan(e,t,n,r,i,o){return n.factory.updateTemplateSpan(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.literal,t,isTemplateMiddleOrTemplateTail)))},242:function visitEachChildOfBlock(e,t,n,r,i,o){return n.factory.updateBlock(e,r(e.statements,t,isStatement))},244:function visitEachChildOfVariableStatement(e,t,n,r,i,o){return n.factory.updateVariableStatement(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.declarationList,t,isVariableDeclarationList)))},245:function visitEachChildOfExpressionStatement(e,t,n,r,i,o){return n.factory.updateExpressionStatement(e,h.checkDefined(i(e.expression,t,isExpression)))},246:function visitEachChildOfIfStatement(e,t,n,r,i,o){return n.factory.updateIfStatement(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.thenStatement,t,isStatement,n.factory.liftToBlock)),i(e.elseStatement,t,isStatement,n.factory.liftToBlock))},247:function visitEachChildOfDoStatement(e,t,n,r,i,o){return n.factory.updateDoStatement(e,visitIterationBody(e.statement,t,n,i),h.checkDefined(i(e.expression,t,isExpression)))},248:function visitEachChildOfWhileStatement(e,t,n,r,i,o){return n.factory.updateWhileStatement(e,h.checkDefined(i(e.expression,t,isExpression)),visitIterationBody(e.statement,t,n,i))},249:function visitEachChildOfForStatement(e,t,n,r,i,o){return n.factory.updateForStatement(e,i(e.initializer,t,isForInitializer),i(e.condition,t,isExpression),i(e.incrementor,t,isExpression),visitIterationBody(e.statement,t,n,i))},250:function visitEachChildOfForInStatement(e,t,n,r,i,o){return n.factory.updateForInStatement(e,h.checkDefined(i(e.initializer,t,isForInitializer)),h.checkDefined(i(e.expression,t,isExpression)),visitIterationBody(e.statement,t,n,i))},251:function visitEachChildOfForOfStatement(e,t,n,r,i,o){return n.factory.updateForOfStatement(e,o?i(e.awaitModifier,o,isAwaitKeyword):e.awaitModifier,h.checkDefined(i(e.initializer,t,isForInitializer)),h.checkDefined(i(e.expression,t,isExpression)),visitIterationBody(e.statement,t,n,i))},252:function visitEachChildOfContinueStatement(e,t,n,r,i,o){return n.factory.updateContinueStatement(e,i(e.label,t,isIdentifier))},253:function visitEachChildOfBreakStatement(e,t,n,r,i,o){return n.factory.updateBreakStatement(e,i(e.label,t,isIdentifier))},254:function visitEachChildOfReturnStatement(e,t,n,r,i,o){return n.factory.updateReturnStatement(e,i(e.expression,t,isExpression))},255:function visitEachChildOfWithStatement(e,t,n,r,i,o){return n.factory.updateWithStatement(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.statement,t,isStatement,n.factory.liftToBlock)))},256:function visitEachChildOfSwitchStatement(e,t,n,r,i,o){return n.factory.updateSwitchStatement(e,h.checkDefined(i(e.expression,t,isExpression)),h.checkDefined(i(e.caseBlock,t,isCaseBlock)))},257:function visitEachChildOfLabeledStatement(e,t,n,r,i,o){return n.factory.updateLabeledStatement(e,h.checkDefined(i(e.label,t,isIdentifier)),h.checkDefined(i(e.statement,t,isStatement,n.factory.liftToBlock)))},258:function visitEachChildOfThrowStatement(e,t,n,r,i,o){return n.factory.updateThrowStatement(e,h.checkDefined(i(e.expression,t,isExpression)))},259:function visitEachChildOfTryStatement(e,t,n,r,i,o){return n.factory.updateTryStatement(e,h.checkDefined(i(e.tryBlock,t,isBlock)),i(e.catchClause,t,isCatchClause),i(e.finallyBlock,t,isBlock))},261:function visitEachChildOfVariableDeclaration(e,t,n,r,i,o){return n.factory.updateVariableDeclaration(e,h.checkDefined(i(e.name,t,isBindingName)),o?i(e.exclamationToken,o,isExclamationToken):e.exclamationToken,i(e.type,t,isTypeNode),i(e.initializer,t,isExpression))},262:function visitEachChildOfVariableDeclarationList(e,t,n,r,i,o){return n.factory.updateVariableDeclarationList(e,r(e.declarations,t,isVariableDeclaration))},263:function visitEachChildOfFunctionDeclaration(e,t,n,r,i,o){return n.factory.updateFunctionDeclaration(e,r(e.modifiers,t,isModifier),o?i(e.asteriskToken,o,isAsteriskToken):e.asteriskToken,i(e.name,t,isIdentifier),r(e.typeParameters,t,isTypeParameterDeclaration),visitParameterList(e.parameters,t,n,r),i(e.type,t,isTypeNode),visitFunctionBody(e.body,t,n,i))},264:function visitEachChildOfClassDeclaration(e,t,n,r,i,o){return n.factory.updateClassDeclaration(e,r(e.modifiers,t,isModifierLike),i(e.name,t,isIdentifier),r(e.typeParameters,t,isTypeParameterDeclaration),r(e.heritageClauses,t,isHeritageClause),r(e.members,t,isClassElement))},265:function visitEachChildOfInterfaceDeclaration(e,t,n,r,i,o){return n.factory.updateInterfaceDeclaration(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.name,t,isIdentifier)),r(e.typeParameters,t,isTypeParameterDeclaration),r(e.heritageClauses,t,isHeritageClause),r(e.members,t,isTypeElement))},266:function visitEachChildOfTypeAliasDeclaration(e,t,n,r,i,o){return n.factory.updateTypeAliasDeclaration(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.name,t,isIdentifier)),r(e.typeParameters,t,isTypeParameterDeclaration),h.checkDefined(i(e.type,t,isTypeNode)))},267:function visitEachChildOfEnumDeclaration(e,t,n,r,i,o){return n.factory.updateEnumDeclaration(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.name,t,isIdentifier)),r(e.members,t,isEnumMember))},268:function visitEachChildOfModuleDeclaration(e,t,n,r,i,o){return n.factory.updateModuleDeclaration(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.name,t,isModuleName)),i(e.body,t,isModuleBody))},269:function visitEachChildOfModuleBlock(e,t,n,r,i,o){return n.factory.updateModuleBlock(e,r(e.statements,t,isStatement))},270:function visitEachChildOfCaseBlock(e,t,n,r,i,o){return n.factory.updateCaseBlock(e,r(e.clauses,t,isCaseOrDefaultClause))},271:function visitEachChildOfNamespaceExportDeclaration(e,t,n,r,i,o){return n.factory.updateNamespaceExportDeclaration(e,h.checkDefined(i(e.name,t,isIdentifier)))},272:function visitEachChildOfImportEqualsDeclaration(e,t,n,r,i,o){return n.factory.updateImportEqualsDeclaration(e,r(e.modifiers,t,isModifierLike),e.isTypeOnly,h.checkDefined(i(e.name,t,isIdentifier)),h.checkDefined(i(e.moduleReference,t,isModuleReference)))},273:function visitEachChildOfImportDeclaration(e,t,n,r,i,o){return n.factory.updateImportDeclaration(e,r(e.modifiers,t,isModifierLike),i(e.importClause,t,isImportClause),h.checkDefined(i(e.moduleSpecifier,t,isExpression)),i(e.attributes,t,isImportAttributes))},301:function visitEachChildOfImportAttributes(e,t,n,r,i,o){return n.factory.updateImportAttributes(e,r(e.elements,t,isImportAttribute),e.multiLine)},302:function visitEachChildOfImportAttribute(e,t,n,r,i,o){return n.factory.updateImportAttribute(e,h.checkDefined(i(e.name,t,isImportAttributeName)),h.checkDefined(i(e.value,t,isExpression)))},274:function visitEachChildOfImportClause(e,t,n,r,i,o){return n.factory.updateImportClause(e,e.phaseModifier,i(e.name,t,isIdentifier),i(e.namedBindings,t,isNamedImportBindings))},275:function visitEachChildOfNamespaceImport(e,t,n,r,i,o){return n.factory.updateNamespaceImport(e,h.checkDefined(i(e.name,t,isIdentifier)))},281:function visitEachChildOfNamespaceExport(e,t,n,r,i,o){return n.factory.updateNamespaceExport(e,h.checkDefined(i(e.name,t,isIdentifier)))},276:function visitEachChildOfNamedImports(e,t,n,r,i,o){return n.factory.updateNamedImports(e,r(e.elements,t,isImportSpecifier))},277:function visitEachChildOfImportSpecifier(e,t,n,r,i,o){return n.factory.updateImportSpecifier(e,e.isTypeOnly,i(e.propertyName,t,isModuleExportName),h.checkDefined(i(e.name,t,isIdentifier)))},278:function visitEachChildOfExportAssignment(e,t,n,r,i,o){return n.factory.updateExportAssignment(e,r(e.modifiers,t,isModifierLike),h.checkDefined(i(e.expression,t,isExpression)))},279:function visitEachChildOfExportDeclaration(e,t,n,r,i,o){return n.factory.updateExportDeclaration(e,r(e.modifiers,t,isModifierLike),e.isTypeOnly,i(e.exportClause,t,isNamedExportBindings),i(e.moduleSpecifier,t,isExpression),i(e.attributes,t,isImportAttributes))},280:function visitEachChildOfNamedExports(e,t,n,r,i,o){return n.factory.updateNamedExports(e,r(e.elements,t,isExportSpecifier))},282:function visitEachChildOfExportSpecifier(e,t,n,r,i,o){return n.factory.updateExportSpecifier(e,e.isTypeOnly,i(e.propertyName,t,isModuleExportName),h.checkDefined(i(e.name,t,isModuleExportName)))},284:function visitEachChildOfExternalModuleReference(e,t,n,r,i,o){return n.factory.updateExternalModuleReference(e,h.checkDefined(i(e.expression,t,isExpression)))},285:function visitEachChildOfJsxElement(e,t,n,r,i,o){return n.factory.updateJsxElement(e,h.checkDefined(i(e.openingElement,t,isJsxOpeningElement)),r(e.children,t,isJsxChild),h.checkDefined(i(e.closingElement,t,isJsxClosingElement)))},286:function visitEachChildOfJsxSelfClosingElement(e,t,n,r,i,o){return n.factory.updateJsxSelfClosingElement(e,h.checkDefined(i(e.tagName,t,isJsxTagNameExpression)),r(e.typeArguments,t,isTypeNode),h.checkDefined(i(e.attributes,t,isJsxAttributes)))},287:function visitEachChildOfJsxOpeningElement(e,t,n,r,i,o){return n.factory.updateJsxOpeningElement(e,h.checkDefined(i(e.tagName,t,isJsxTagNameExpression)),r(e.typeArguments,t,isTypeNode),h.checkDefined(i(e.attributes,t,isJsxAttributes)))},288:function visitEachChildOfJsxClosingElement(e,t,n,r,i,o){return n.factory.updateJsxClosingElement(e,h.checkDefined(i(e.tagName,t,isJsxTagNameExpression)))},296:function forEachChildInJsxNamespacedName2(e,t,n,r,i,o){return n.factory.updateJsxNamespacedName(e,h.checkDefined(i(e.namespace,t,isIdentifier)),h.checkDefined(i(e.name,t,isIdentifier)))},289:function visitEachChildOfJsxFragment(e,t,n,r,i,o){return n.factory.updateJsxFragment(e,h.checkDefined(i(e.openingFragment,t,isJsxOpeningFragment)),r(e.children,t,isJsxChild),h.checkDefined(i(e.closingFragment,t,isJsxClosingFragment)))},292:function visitEachChildOfJsxAttribute(e,t,n,r,i,o){return n.factory.updateJsxAttribute(e,h.checkDefined(i(e.name,t,isJsxAttributeName)),i(e.initializer,t,isStringLiteralOrJsxExpression))},293:function visitEachChildOfJsxAttributes(e,t,n,r,i,o){return n.factory.updateJsxAttributes(e,r(e.properties,t,isJsxAttributeLike))},294:function visitEachChildOfJsxSpreadAttribute(e,t,n,r,i,o){return n.factory.updateJsxSpreadAttribute(e,h.checkDefined(i(e.expression,t,isExpression)))},295:function visitEachChildOfJsxExpression(e,t,n,r,i,o){return n.factory.updateJsxExpression(e,i(e.expression,t,isExpression))},297:function visitEachChildOfCaseClause(e,t,n,r,i,o){return n.factory.updateCaseClause(e,h.checkDefined(i(e.expression,t,isExpression)),r(e.statements,t,isStatement))},298:function visitEachChildOfDefaultClause(e,t,n,r,i,o){return n.factory.updateDefaultClause(e,r(e.statements,t,isStatement))},299:function visitEachChildOfHeritageClause(e,t,n,r,i,o){return n.factory.updateHeritageClause(e,r(e.types,t,isExpressionWithTypeArguments))},300:function visitEachChildOfCatchClause(e,t,n,r,i,o){return n.factory.updateCatchClause(e,i(e.variableDeclaration,t,isVariableDeclaration),h.checkDefined(i(e.block,t,isBlock)))},304:function visitEachChildOfPropertyAssignment(e,t,n,r,i,o){return n.factory.updatePropertyAssignment(e,h.checkDefined(i(e.name,t,isPropertyName)),h.checkDefined(i(e.initializer,t,isExpression)))},305:function visitEachChildOfShorthandPropertyAssignment(e,t,n,r,i,o){return n.factory.updateShorthandPropertyAssignment(e,h.checkDefined(i(e.name,t,isIdentifier)),i(e.objectAssignmentInitializer,t,isExpression))},306:function visitEachChildOfSpreadAssignment(e,t,n,r,i,o){return n.factory.updateSpreadAssignment(e,h.checkDefined(i(e.expression,t,isExpression)))},307:function visitEachChildOfEnumMember(e,t,n,r,i,o){return n.factory.updateEnumMember(e,h.checkDefined(i(e.name,t,isPropertyName)),i(e.initializer,t,isExpression))},308:function visitEachChildOfSourceFile(e,t,n,r,i,o){return n.factory.updateSourceFile(e,visitLexicalEnvironment(e.statements,t,n))},356:function visitEachChildOfPartiallyEmittedExpression(e,t,n,r,i,o){return n.factory.updatePartiallyEmittedExpression(e,h.checkDefined(i(e.expression,t,isExpression)))},357:function visitEachChildOfCommaListExpression(e,t,n,r,i,o){return n.factory.updateCommaListExpression(e,r(e.elements,t,isExpression))}};function extractSingleNode(e){return h.assert(e.length<=1,"Too many nodes written to output."),singleOrUndefined(e)}function createSourceMapGenerator(e,t,n,r,i){var o,a,{enter:s,exit:c}=i.extendedDiagnostics?createTimer("Source Map","beforeSourcemap","afterSourcemap"):U,l=[],d=[],p=new Map,u=[],m=[],_="",f=0,g=0,y=0,T=0,S=0,x=0,v=!1,b=0,C=0,E=0,N=0,k=0,F=0,P=!1,D=!1,I=!1;return{getSources:()=>l,addSource,setSourceContent,addName,addMapping,appendSourceMap:function appendSourceMap(e,t,n,r,i,o){h.assert(e>=b,"generatedLine cannot backtrack"),h.assert(t>=0,"generatedCharacter cannot be negative"),s();const a=[];let l;const d=decodeMappings(n.mappings);for(const s of d){if(o&&(s.generatedLine>o.line||s.generatedLine===o.line&&s.generatedCharacter>o.character))break;if(i&&(s.generatedLine<i.line||i.line===s.generatedLine&&s.generatedCharacter<i.character))continue;let c,d,p,u;if(void 0!==s.sourceIndex){if(c=a[s.sourceIndex],void 0===c){const e=n.sources[s.sourceIndex],t=n.sourceRoot?combinePaths(n.sourceRoot,e):e,i=combinePaths(getDirectoryPath(r),t);a[s.sourceIndex]=c=addSource(i),n.sourcesContent&&"string"==typeof n.sourcesContent[s.sourceIndex]&&setSourceContent(c,n.sourcesContent[s.sourceIndex])}d=s.sourceLine,p=s.sourceCharacter,n.names&&void 0!==s.nameIndex&&(l||(l=[]),u=l[s.nameIndex],void 0===u&&(l[s.nameIndex]=u=addName(n.names[s.nameIndex])))}const m=s.generatedLine-(i?i.line:0),_=m+e,f=i&&i.line===s.generatedLine?s.generatedCharacter-i.character:s.generatedCharacter;addMapping(_,0===m?f+t:f,c,d,p,u)}c()},toJSON,toString:()=>JSON.stringify(toJSON())};function addSource(t){s();const n=getRelativePathToDirectoryOrUrl(r,t,e.getCurrentDirectory(),e.getCanonicalFileName,!0);let i=p.get(n);return void 0===i&&(i=d.length,d.push(n),l.push(t),p.set(n,i)),c(),i}function setSourceContent(e,t){if(s(),null!==t){for(o||(o=[]);o.length<e;)o.push(null);o[e]=t}c()}function addName(e){s(),a||(a=new Map);let t=a.get(e);return void 0===t&&(t=u.length,u.push(e),a.set(e,t)),c(),t}function addMapping(e,t,n,r,i,o){h.assert(e>=b,"generatedLine cannot backtrack"),h.assert(t>=0,"generatedCharacter cannot be negative"),h.assert(void 0===n||n>=0,"sourceIndex cannot be negative"),h.assert(void 0===r||r>=0,"sourceLine cannot be negative"),h.assert(void 0===i||i>=0,"sourceCharacter cannot be negative"),s(),(function isNewGeneratedPosition(e,t){return!P||b!==e||C!==t}(e,t)||function isBacktrackingSourcePosition(e,t,n){return void 0!==e&&void 0!==t&&void 0!==n&&E===e&&(N>t||N===t&&k>n)}(n,r,i))&&(commitPendingMapping(),b=e,C=t,D=!1,I=!1,P=!0),void 0!==n&&void 0!==r&&void 0!==i&&(E=n,N=r,k=i,D=!0,void 0!==o&&(F=o,I=!0)),c()}function appendMappingCharCode(e){m.push(e),m.length>=1024&&flushMappingBuffer()}function commitPendingMapping(){if(P&&function shouldCommitMapping(){return!v||f!==b||g!==C||y!==E||T!==N||S!==k||x!==F}()){if(s(),f<b){do{appendMappingCharCode(59),f++}while(f<b);g=0}else h.assertEqual(f,b,"generatedLine cannot backtrack"),v&&appendMappingCharCode(44);appendBase64VLQ(C-g),g=C,D&&(appendBase64VLQ(E-y),y=E,appendBase64VLQ(N-T),T=N,appendBase64VLQ(k-S),S=k,I&&(appendBase64VLQ(F-x),x=F)),v=!0,c()}}function flushMappingBuffer(){m.length>0&&(_+=String.fromCharCode.apply(void 0,m),m.length=0)}function toJSON(){return commitPendingMapping(),flushMappingBuffer(),{version:3,file:t,sourceRoot:n,sources:d,names:u,mappings:_,sourcesContent:o}}function appendBase64VLQ(e){e<0?e=1+(-e<<1):e<<=1;do{let t=31&e;(e>>=5)>0&&(t|=32),appendMappingCharCode(base64FormatEncode(t))}while(e>0)}}var la=/\/\/[@#] source[M]appingURL=(.+)\r?\n?$/,da=/^\/\/[@#] source[M]appingURL=(.+)\r?\n?$/,pa=/^\s*(\/\/[@#] .*)?$/;function getLineInfo(e,t){return{getLineCount:()=>t.length,getLineText:n=>e.substring(t[n],t[n+1])}}function tryGetSourceMappingURL(e){for(let t=e.getLineCount()-1;t>=0;t--){const n=e.getLineText(t),r=da.exec(n);if(r)return r[1].trimEnd();if(!n.match(pa))break}}function isStringOrNull(e){return"string"==typeof e||null===e}function tryParseRawSourceMap(e){try{const t=JSON.parse(e);if(function isRawSourceMap(e){return null!==e&&"object"==typeof e&&3===e.version&&"string"==typeof e.file&&"string"==typeof e.mappings&&isArray(e.sources)&&every(e.sources,isString)&&(void 0===e.sourceRoot||null===e.sourceRoot||"string"==typeof e.sourceRoot)&&(void 0===e.sourcesContent||null===e.sourcesContent||isArray(e.sourcesContent)&&every(e.sourcesContent,isStringOrNull))&&(void 0===e.names||null===e.names||isArray(e.names)&&every(e.names,isString))}(t))return t}catch{}}function decodeMappings(e){let t,n=!1,r=0,i=0,o=0,a=0,s=0,c=0,l=0;return{get pos(){return r},get error(){return t},get state(){return captureMapping(!0,!0)},next(){for(;!n&&r<e.length;){const t=e.charCodeAt(r);if(59===t){i++,o=0,r++;continue}if(44===t){r++;continue}let d=!1,p=!1;if(o+=base64VLQFormatDecode(),hasReportedError())return stopIterating();if(o<0)return setErrorAndStopIterating("Invalid generatedCharacter found");if(!isSourceMappingSegmentEnd()){if(d=!0,a+=base64VLQFormatDecode(),hasReportedError())return stopIterating();if(a<0)return setErrorAndStopIterating("Invalid sourceIndex found");if(isSourceMappingSegmentEnd())return setErrorAndStopIterating("Unsupported Format: No entries after sourceIndex");if(s+=base64VLQFormatDecode(),hasReportedError())return stopIterating();if(s<0)return setErrorAndStopIterating("Invalid sourceLine found");if(isSourceMappingSegmentEnd())return setErrorAndStopIterating("Unsupported Format: No entries after sourceLine");if(c+=base64VLQFormatDecode(),hasReportedError())return stopIterating();if(c<0)return setErrorAndStopIterating("Invalid sourceCharacter found");if(!isSourceMappingSegmentEnd()){if(p=!0,l+=base64VLQFormatDecode(),hasReportedError())return stopIterating();if(l<0)return setErrorAndStopIterating("Invalid nameIndex found");if(!isSourceMappingSegmentEnd())return setErrorAndStopIterating("Unsupported Error Format: Entries after nameIndex")}}return{value:captureMapping(d,p),done:n}}return stopIterating()},[Symbol.iterator](){return this}};function captureMapping(e,t){return{generatedLine:i,generatedCharacter:o,sourceIndex:e?a:void 0,sourceLine:e?s:void 0,sourceCharacter:e?c:void 0,nameIndex:t?l:void 0}}function stopIterating(){return n=!0,{value:void 0,done:!0}}function setError(e){void 0===t&&(t=e)}function setErrorAndStopIterating(e){return setError(e),stopIterating()}function hasReportedError(){return void 0!==t}function isSourceMappingSegmentEnd(){return r===e.length||44===e.charCodeAt(r)||59===e.charCodeAt(r)}function base64VLQFormatDecode(){let t=!0,n=0,i=0;for(;t;r++){if(r>=e.length)return setError("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;const o=base64FormatDecode(e.charCodeAt(r));if(-1===o)return setError("Invalid character in VLQ"),-1;t=!!(32&o),i|=(31&o)<<n,n+=5}return 1&i?(i>>=1,i=-i):i>>=1,i}}function sameMapping(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex}function isSourceMapping(e){return void 0!==e.sourceIndex&&void 0!==e.sourceLine&&void 0!==e.sourceCharacter}function base64FormatEncode(e){return e>=0&&e<26?65+e:e>=26&&e<52?97+e-26:e>=52&&e<62?48+e-52:62===e?43:63===e?47:h.fail(`${e}: not a base64 value`)}function base64FormatDecode(e){return e>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:43===e?62:47===e?63:-1}function isSourceMappedPosition(e){return void 0!==e.sourceIndex&&void 0!==e.sourcePosition}function sameMappedPosition(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function compareSourcePositions(e,t){return h.assert(e.sourceIndex===t.sourceIndex),compareValues(e.sourcePosition,t.sourcePosition)}function compareGeneratedPositions(e,t){return compareValues(e.generatedPosition,t.generatedPosition)}function getSourcePositionOfMapping(e){return e.sourcePosition}function getGeneratedPositionOfMapping(e){return e.generatedPosition}function createDocumentPositionMapper(e,t,n){const r=getDirectoryPath(n),i=t.sourceRoot?getNormalizedAbsolutePath(t.sourceRoot,r):r,o=getNormalizedAbsolutePath(t.file,r),a=e.getSourceFileLike(o),s=t.sources.map(e=>getNormalizedAbsolutePath(e,i)),c=new Map(s.map((t,n)=>[e.getCanonicalFileName(t),n]));let d,p,u;return{getSourcePosition:function getSourcePosition(e){const t=function getGeneratedMappings(){if(void 0===p){const e=[];for(const t of getDecodedMappings())e.push(t);p=sortAndDeduplicate(e,compareGeneratedPositions,sameMappedPosition)}return p}();if(!some(t))return e;let n=binarySearchKey(t,e.pos,getGeneratedPositionOfMapping,compareValues);n<0&&(n=~n);const r=t[n];if(void 0===r||!isSourceMappedPosition(r))return e;return{fileName:s[r.sourceIndex],pos:r.sourcePosition}},getGeneratedPosition:function getGeneratedPosition(t){const n=c.get(e.getCanonicalFileName(t.fileName));if(void 0===n)return t;const r=function getSourceMappings(e){if(void 0===u){const e=[];for(const t of getDecodedMappings()){if(!isSourceMappedPosition(t))continue;let n=e[t.sourceIndex];n||(e[t.sourceIndex]=n=[]),n.push(t)}u=e.map(e=>sortAndDeduplicate(e,compareSourcePositions,sameMappedPosition))}return u[e]}(n);if(!some(r))return t;let i=binarySearchKey(r,t.pos,getSourcePositionOfMapping,compareValues);i<0&&(i=~i);const a=r[i];if(void 0===a||a.sourceIndex!==n)return t;return{fileName:o,pos:a.generatedPosition}}};function processMapping(n){const r=void 0!==a?getPositionOfLineAndCharacter(a,n.generatedLine,n.generatedCharacter,!0):-1;let i,o;if(isSourceMapping(n)){const r=e.getSourceFileLike(s[n.sourceIndex]);i=t.sources[n.sourceIndex],o=void 0!==r?getPositionOfLineAndCharacter(r,n.sourceLine,n.sourceCharacter,!0):-1}return{generatedPosition:r,source:i,sourceIndex:n.sourceIndex,sourcePosition:o,nameIndex:n.nameIndex}}function getDecodedMappings(){if(void 0===d){const n=decodeMappings(t.mappings),r=arrayFrom(n,processMapping);void 0!==n.error?(e.log&&e.log(`Encountered error while decoding sourcemap: ${n.error}`),d=l):d=r}return d}}var ua={getSourcePosition:identity,getGeneratedPosition:identity};function getOriginalNodeId(e){return(e=getOriginalNode(e))?getNodeId(e):0}function containsDefaultReference(e){return!!e&&(!(!isNamedImports(e)&&!isNamedExports(e))&&some(e.elements,isNamedDefaultReference))}function isNamedDefaultReference(e){return moduleExportNameIsDefault(e.propertyName||e.name)}function chainBundle(e,t){return function transformSourceFileOrBundle(n){return 308===n.kind?t(n):function transformBundle(n){return e.factory.createBundle(map(n.sourceFiles,t))}(n)}}function getExportNeedsImportStarHelper(e){return!!getNamespaceDeclarationNode(e)}function getImportNeedsImportStarHelper(e){if(getNamespaceDeclarationNode(e))return!0;const t=e.importClause&&e.importClause.namedBindings;if(!t)return!1;if(!isNamedImports(t))return!1;let n=0;for(const e of t.elements)isNamedDefaultReference(e)&&n++;return n>0&&n!==t.elements.length||!!(t.elements.length-n)&&isDefaultImport(e)}function getImportNeedsImportDefaultHelper(e){return!getImportNeedsImportStarHelper(e)&&(isDefaultImport(e)||!!e.importClause&&isNamedImports(e.importClause.namedBindings)&&containsDefaultReference(e.importClause.namedBindings))}function collectExternalModuleInfo(e,t){const n=e.getEmitResolver(),r=e.getCompilerOptions(),i=[],o=new _a,a=[],s=new Map,c=new Set;let l,d,p=!1,u=!1,m=!1,_=!1;for(const n of t.statements)switch(n.kind){case 273:i.push(n),!m&&getImportNeedsImportStarHelper(n)&&(m=!0),!_&&getImportNeedsImportDefaultHelper(n)&&(_=!0);break;case 272:284===n.moduleReference.kind&&i.push(n);break;case 279:if(n.moduleSpecifier)if(n.exportClause)if(i.push(n),isNamedExports(n.exportClause))addExportedNamesForExportDeclaration(n),_||(_=containsDefaultReference(n.exportClause));else{const e=n.exportClause.name,t=moduleExportNameTextUnescaped(e);s.get(t)||(multiMapSparseArrayAdd(a,getOriginalNodeId(n),e),s.set(t,!0),l=append(l,e)),m=!0}else i.push(n),u=!0;else addExportedNamesForExportDeclaration(n);break;case 278:n.isExportEquals&&!d&&(d=n);break;case 244:if(hasSyntacticModifier(n,32))for(const e of n.declarationList.declarations)l=collectExportedVariableInfo(e,s,l,a);break;case 263:hasSyntacticModifier(n,32)&&addExportedFunctionDeclaration(n,void 0,hasSyntacticModifier(n,2048));break;case 264:if(hasSyntacticModifier(n,32))if(hasSyntacticModifier(n,2048))p||(multiMapSparseArrayAdd(a,getOriginalNodeId(n),e.factory.getDeclarationName(n)),p=!0);else{const e=n.name;e&&!s.get(idText(e))&&(multiMapSparseArrayAdd(a,getOriginalNodeId(n),e),s.set(idText(e),!0),l=append(l,e))}}const f=createExternalHelpersImportDeclarationIfNeeded(e.factory,e.getEmitHelperFactory(),t,r,u,m,_);return f&&i.unshift(f),{externalImports:i,exportSpecifiers:o,exportEquals:d,hasExportStarsToExportValues:u,exportedBindings:a,exportedNames:l,exportedFunctions:c,externalHelpersImportDeclaration:f};function addExportedNamesForExportDeclaration(e){for(const t of cast(e.exportClause,isNamedExports).elements){const r=moduleExportNameTextUnescaped(t.name);if(!s.get(r)){const i=t.propertyName||t.name;if(11!==i.kind){e.moduleSpecifier||o.add(i,t);const r=n.getReferencedImportDeclaration(i)||n.getReferencedValueDeclaration(i);if(r){if(263===r.kind){addExportedFunctionDeclaration(r,t.name,moduleExportNameIsDefault(t.name));continue}multiMapSparseArrayAdd(a,getOriginalNodeId(r),t.name)}}s.set(r,!0),l=append(l,t.name)}}}function addExportedFunctionDeclaration(t,n,r){if(c.add(getOriginalNode(t,isFunctionDeclaration)),r)p||(multiMapSparseArrayAdd(a,getOriginalNodeId(t),n??e.factory.getDeclarationName(t)),p=!0);else{n??(n=t.name);const e=moduleExportNameTextUnescaped(n);s.get(e)||(multiMapSparseArrayAdd(a,getOriginalNodeId(t),n),s.set(e,!0))}}}function collectExportedVariableInfo(e,t,n,r){if(isBindingPattern(e.name))for(const i of e.name.elements)isOmittedExpression(i)||(n=collectExportedVariableInfo(i,t,n,r));else if(!isGeneratedIdentifier(e.name)){const i=idText(e.name);t.get(i)||(t.set(i,!0),n=append(n,e.name),isLocalName(e.name)&&multiMapSparseArrayAdd(r,getOriginalNodeId(e),e.name))}return n}function multiMapSparseArrayAdd(e,t,n){let r=e[t];return r?r.push(n):e[t]=r=[n],r}var ma=class _IdentifierNameMap{constructor(){this._map=new Map}get size(){return this._map.size}has(e){return this._map.has(_IdentifierNameMap.toKey(e))}get(e){return this._map.get(_IdentifierNameMap.toKey(e))}set(e,t){return this._map.set(_IdentifierNameMap.toKey(e),t),this}delete(e){var t;return(null==(t=this._map)?void 0:t.delete(_IdentifierNameMap.toKey(e)))??!1}clear(){this._map.clear()}values(){return this._map.values()}static toKey(e){if(isGeneratedPrivateIdentifier(e)||isGeneratedIdentifier(e)){const t=e.emitNode.autoGenerate;if(4==(7&t.flags)){const n=getNodeForGeneratedName(e),r=isMemberName(n)&&n!==e?_IdentifierNameMap.toKey(n):`(generated@${getNodeId(n)})`;return formatGeneratedName(!1,t.prefix,r,t.suffix,_IdentifierNameMap.toKey)}{const e=`(auto@${t.id})`;return formatGeneratedName(!1,t.prefix,e,t.suffix,_IdentifierNameMap.toKey)}}return isPrivateIdentifier(e)?idText(e).slice(1):idText(e)}},_a=class extends ma{add(e,t){let n=this.get(e);return n?n.push(t):this.set(e,n=[t]),n}remove(e,t){const n=this.get(e);n&&(unorderedRemoveItem(n,t),n.length||this.delete(e))}};function isSimpleCopiableExpression(e){return isStringLiteralLike(e)||9===e.kind||isKeyword(e.kind)||isIdentifier(e)}function isSimpleInlineableExpression(e){return!isIdentifier(e)&&isSimpleCopiableExpression(e)}function isCompoundAssignment(e){return e>=65&&e<=79}function getNonAssignmentOperatorForCompoundAssignment(e){switch(e){case 65:return 40;case 66:return 41;case 67:return 42;case 68:return 43;case 69:return 44;case 70:return 45;case 71:return 48;case 72:return 49;case 73:return 50;case 74:return 51;case 75:return 52;case 79:return 53;case 76:return 57;case 77:return 56;case 78:return 61}}function getSuperCallFromStatement(e){if(!isExpressionStatement(e))return;const t=skipParentheses(e.expression);return isSuperCall(t)?t:void 0}function findSuperStatementIndexPathWorker(e,t,n){for(let r=t;r<e.length;r+=1){const t=e[r];if(getSuperCallFromStatement(t))return n.unshift(r),!0;if(isTryStatement(t)&&findSuperStatementIndexPathWorker(t.tryBlock.statements,0,n))return n.unshift(r),!0}return!1}function findSuperStatementIndexPath(e,t){const n=[];return findSuperStatementIndexPathWorker(e,t,n),n}function getProperties(e,t,n){return filter(e.members,e=>function isInitializedOrStaticProperty(e,t,n){return isPropertyDeclaration(e)&&(!!e.initializer||!t)&&hasStaticModifier(e)===n}(e,t,n))}function isStaticPropertyDeclarationOrClassStaticBlockDeclaration(e){return function isStaticPropertyDeclaration(e){return isPropertyDeclaration(e)&&hasStaticModifier(e)}(e)||isClassStaticBlockDeclaration(e)}function getStaticPropertiesAndClassStaticBlock(e){return filter(e.members,isStaticPropertyDeclarationOrClassStaticBlockDeclaration)}function isInitializedProperty(e){return 173===e.kind&&void 0!==e.initializer}function isNonStaticMethodOrAccessorWithPrivateName(e){return!isStatic(e)&&(isMethodOrAccessor(e)||isAutoAccessorPropertyDeclaration(e))&&isPrivateIdentifier(e.name)}function getDecoratorsOfParameters(e){let t;if(e){const n=e.parameters,r=n.length>0&¶meterIsThisKeyword(n[0]),i=r?1:0,o=r?n.length-1:n.length;for(let e=0;e<o;e++){const r=n[e+i];(t||hasDecorators(r))&&(t||(t=new Array(o)),t[e]=getDecorators(r))}}return t}function getAllDecoratorsOfClass(e,t){const n=getDecorators(e),r=t?getDecoratorsOfParameters(getFirstConstructorWithBody(e)):void 0;if(some(n)||some(r))return{decorators:n,parameters:r}}function getAllDecoratorsOfClassElement(e,t,n){switch(e.kind){case 178:case 179:return n?function getAllDecoratorsOfAccessors(e,t,n){if(!e.body)return;const{firstAccessor:r,secondAccessor:i,getAccessor:o,setAccessor:a}=getAllAccessorDeclarations(t.members,e),s=hasDecorators(r)?r:i&&hasDecorators(i)?i:void 0;if(!s||e!==s)return;const c=getDecorators(s),l=n?getDecoratorsOfParameters(a):void 0;if(!some(c)&&!some(l))return;return{decorators:c,parameters:l,getDecorators:o&&getDecorators(o),setDecorators:a&&getDecorators(a)}}(e,t,!0):getAllDecoratorsOfMethod(e,!1);case 175:return getAllDecoratorsOfMethod(e,n);case 173:return function getAllDecoratorsOfProperty(e){const t=getDecorators(e);if(!some(t))return;return{decorators:t}}(e);default:return}}function getAllDecoratorsOfMethod(e,t){if(!e.body)return;const n=getDecorators(e),r=t?getDecoratorsOfParameters(e):void 0;return some(n)||some(r)?{decorators:n,parameters:r}:void 0}function newPrivateEnvironment(e){return{data:e}}function getPrivateIdentifier(e,t){var n,r;return isGeneratedPrivateIdentifier(t)?null==(n=null==e?void 0:e.generatedIdentifiers)?void 0:n.get(getNodeForGeneratedName(t)):null==(r=null==e?void 0:e.identifiers)?void 0:r.get(t.escapedText)}function setPrivateIdentifier(e,t,n){isGeneratedPrivateIdentifier(t)?(e.generatedIdentifiers??(e.generatedIdentifiers=new Map),e.generatedIdentifiers.set(getNodeForGeneratedName(t),n)):(e.identifiers??(e.identifiers=new Map),e.identifiers.set(t.escapedText,n))}function accessPrivateIdentifier(e,t){return function walkUpLexicalEnvironments(e,t){for(;e;){const n=t(e);if(void 0!==n)return n;e=e.previous}}(e,e=>getPrivateIdentifier(e.privateEnv,t))}function isSimpleParameter(e){return!e.initializer&&isIdentifier(e.name)}function isSimpleParameterList(e){return every(e,isSimpleParameter)}function rewriteModuleSpecifier(e,t){if(!e||!isStringLiteral(e)||!shouldRewriteModuleSpecifier(e.text,t))return e;const n=changeExtension(e.text,getOutputExtension(e.text,t));return n!==e.text?setOriginalNode(setTextRange(Wr.createStringLiteral(n,e.singleQuote),e),e):e}var fa=(e=>(e[e.All=0]="All",e[e.ObjectRest=1]="ObjectRest",e))(fa||{});function flattenDestructuringAssignment(e,t,n,r,i,o){let a,s,c=e;if(isDestructuringAssignment(e))for(a=e.right;isEmptyArrayLiteral(e.left)||isEmptyObjectLiteral(e.left);){if(!isDestructuringAssignment(a))return h.checkDefined(visitNode(a,t,isExpression));c=e=a,a=e.right}const l={context:n,level:r,downlevelIteration:!!n.getCompilerOptions().downlevelIteration,hoistTempVariables:!0,emitExpression,emitBindingOrAssignment:function emitBindingOrAssignment(e,r,i,a){h.assertNode(e,o?isIdentifier:isExpression);const s=o?o(e,r,i):setTextRange(n.factory.createAssignment(h.checkDefined(visitNode(e,t,isExpression)),r),i);s.original=a,emitExpression(s)},createArrayBindingOrAssignmentPattern:e=>function makeArrayAssignmentPattern(e,t){return h.assertEachNode(t,isArrayBindingOrAssignmentElement),e.createArrayLiteralExpression(map(t,e.converters.convertToArrayAssignmentElement))}(n.factory,e),createObjectBindingOrAssignmentPattern:e=>function makeObjectAssignmentPattern(e,t){return h.assertEachNode(t,isObjectBindingOrAssignmentElement),e.createObjectLiteralExpression(map(t,e.converters.convertToObjectAssignmentElement))}(n.factory,e),createArrayBindingOrAssignmentElement:makeAssignmentElement,visitor:t};if(a&&(a=visitNode(a,t,isExpression),h.assert(a),isIdentifier(a)&&bindingOrAssignmentElementAssignsToName(e,a.escapedText)||bindingOrAssignmentElementContainsNonLiteralComputedName(e)?a=ensureIdentifier(l,a,!1,c):i?a=ensureIdentifier(l,a,!0,c):nodeIsSynthesized(e)&&(c=a)),flattenBindingOrAssignmentElement(l,e,a,c,isDestructuringAssignment(e)),a&&i){if(!some(s))return a;s.push(a)}return n.factory.inlineExpressions(s)||n.factory.createOmittedExpression();function emitExpression(e){s=append(s,e)}}function bindingOrAssignmentElementAssignsToName(e,t){const n=getTargetOfBindingOrAssignmentElement(e);return isBindingOrAssignmentPattern(n)?function bindingOrAssignmentPatternAssignsToName(e,t){const n=getElementsOfBindingOrAssignmentPattern(e);for(const e of n)if(bindingOrAssignmentElementAssignsToName(e,t))return!0;return!1}(n,t):!!isIdentifier(n)&&n.escapedText===t}function bindingOrAssignmentElementContainsNonLiteralComputedName(e){const t=tryGetPropertyNameOfBindingOrAssignmentElement(e);if(t&&isComputedPropertyName(t)&&!isLiteralExpression(t.expression))return!0;const n=getTargetOfBindingOrAssignmentElement(e);return!!n&&isBindingOrAssignmentPattern(n)&&function bindingOrAssignmentPatternContainsNonLiteralComputedName(e){return!!forEach(getElementsOfBindingOrAssignmentPattern(e),bindingOrAssignmentElementContainsNonLiteralComputedName)}(n)}function flattenDestructuringBinding(e,t,n,r,i,o=!1,a){let s;const c=[],l=[],d={context:n,level:r,downlevelIteration:!!n.getCompilerOptions().downlevelIteration,hoistTempVariables:o,emitExpression:function emitExpression(e){s=append(s,e)},emitBindingOrAssignment,createArrayBindingOrAssignmentPattern:e=>function makeArrayBindingPattern(e,t){return h.assertEachNode(t,isArrayBindingElement),e.createArrayBindingPattern(t)}(n.factory,e),createObjectBindingOrAssignmentPattern:e=>function makeObjectBindingPattern(e,t){return h.assertEachNode(t,isBindingElement),e.createObjectBindingPattern(t)}(n.factory,e),createArrayBindingOrAssignmentElement:e=>function makeBindingElement(e,t){return e.createBindingElement(void 0,void 0,t)}(n.factory,e),visitor:t};if(isVariableDeclaration(e)){let t=getInitializerOfBindingOrAssignmentElement(e);t&&(isIdentifier(t)&&bindingOrAssignmentElementAssignsToName(e,t.escapedText)||bindingOrAssignmentElementContainsNonLiteralComputedName(e))&&(t=ensureIdentifier(d,h.checkDefined(visitNode(t,d.visitor,isExpression)),!1,t),e=n.factory.updateVariableDeclaration(e,e.name,void 0,void 0,t))}if(flattenBindingOrAssignmentElement(d,e,i,e,a),s){const e=n.factory.createTempVariable(void 0);if(o){const t=n.factory.inlineExpressions(s);s=void 0,emitBindingOrAssignment(e,t,void 0,void 0)}else{n.hoistVariableDeclaration(e);const t=last(c);t.pendingExpressions=append(t.pendingExpressions,n.factory.createAssignment(e,t.value)),addRange(t.pendingExpressions,s),t.value=e}}for(const{pendingExpressions:e,name:t,value:r,location:i,original:o}of c){const a=n.factory.createVariableDeclaration(t,void 0,void 0,e?n.factory.inlineExpressions(append(e,r)):r);a.original=o,setTextRange(a,i),l.push(a)}return l;function emitBindingOrAssignment(e,t,r,i){h.assertNode(e,isBindingName),s&&(t=n.factory.inlineExpressions(append(s,t)),s=void 0),c.push({pendingExpressions:s,name:e,value:t,location:r,original:i})}}function flattenBindingOrAssignmentElement(e,t,n,r,i){const o=getTargetOfBindingOrAssignmentElement(t);if(!i){const i=visitNode(getInitializerOfBindingOrAssignmentElement(t),e.visitor,isExpression);i?n?(n=function createDefaultValueCheck(e,t,n,r){return t=ensureIdentifier(e,t,!0,r),e.context.factory.createConditionalExpression(e.context.factory.createTypeCheck(t,"undefined"),void 0,n,void 0,t)}(e,n,i,r),!isSimpleInlineableExpression(i)&&isBindingOrAssignmentPattern(o)&&(n=ensureIdentifier(e,n,!0,r))):n=i:n||(n=e.context.factory.createVoidZero())}isObjectBindingOrAssignmentPattern(o)?function flattenObjectBindingOrAssignmentPattern(e,t,n,r,i){const o=getElementsOfBindingOrAssignmentPattern(n),a=o.length;if(1!==a){r=ensureIdentifier(e,r,!isDeclarationBindingElement(t)||0!==a,i)}let s,c;for(let t=0;t<a;t++){const l=o[t];if(getRestIndicatorOfBindingOrAssignmentElement(l)){if(t===a-1){s&&(e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(s),r,i,n),s=void 0);const t=e.context.getEmitHelperFactory().createRestHelper(r,o,c,n);flattenBindingOrAssignmentElement(e,l,t,l)}}else{const t=getPropertyNameOfBindingOrAssignmentElement(l);if(!(e.level>=1)||98304&l.transformFlags||98304&getTargetOfBindingOrAssignmentElement(l).transformFlags||isComputedPropertyName(t)){s&&(e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(s),r,i,n),s=void 0);const o=createDestructuringPropertyAccess(e,r,t);isComputedPropertyName(t)&&(c=append(c,o.argumentExpression)),flattenBindingOrAssignmentElement(e,l,o,l)}else s=append(s,visitNode(l,e.visitor,isBindingOrAssignmentElement))}}s&&e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(s),r,i,n)}(e,t,o,n,r):isArrayBindingOrAssignmentPattern(o)?function flattenArrayBindingOrAssignmentPattern(e,t,n,r,i){const o=getElementsOfBindingOrAssignmentPattern(n),a=o.length;if(e.level<1&&e.downlevelIteration)r=ensureIdentifier(e,setTextRange(e.context.getEmitHelperFactory().createReadHelper(r,a>0&&getRestIndicatorOfBindingOrAssignmentElement(o[a-1])?void 0:a),i),!1,i);else if(1!==a&&(e.level<1||0===a)||every(o,isOmittedExpression)){r=ensureIdentifier(e,r,!isDeclarationBindingElement(t)||0!==a,i)}let s,c;for(let t=0;t<a;t++){const n=o[t];if(e.level>=1)if(65536&n.transformFlags||e.hasTransformedPriorElement&&!isSimpleBindingOrAssignmentElement(n)){e.hasTransformedPriorElement=!0;const t=e.context.factory.createTempVariable(void 0);e.hoistTempVariables&&e.context.hoistVariableDeclaration(t),c=append(c,[t,n]),s=append(s,e.createArrayBindingOrAssignmentElement(t))}else s=append(s,n);else{if(isOmittedExpression(n))continue;if(getRestIndicatorOfBindingOrAssignmentElement(n)){if(t===a-1){const i=e.context.factory.createArraySliceCall(r,t);flattenBindingOrAssignmentElement(e,n,i,n)}}else{const i=e.context.factory.createElementAccessExpression(r,t);flattenBindingOrAssignmentElement(e,n,i,n)}}}s&&e.emitBindingOrAssignment(e.createArrayBindingOrAssignmentPattern(s),r,i,n);if(c)for(const[t,n]of c)flattenBindingOrAssignmentElement(e,n,t,n)}(e,t,o,n,r):e.emitBindingOrAssignment(o,n,r,t)}function isSimpleBindingOrAssignmentElement(e){const t=getTargetOfBindingOrAssignmentElement(e);if(!t||isOmittedExpression(t))return!0;const n=tryGetPropertyNameOfBindingOrAssignmentElement(e);if(n&&!isPropertyNameLiteral(n))return!1;const r=getInitializerOfBindingOrAssignmentElement(e);return!(r&&!isSimpleInlineableExpression(r))&&(isBindingOrAssignmentPattern(t)?every(getElementsOfBindingOrAssignmentPattern(t),isSimpleBindingOrAssignmentElement):isIdentifier(t))}function createDestructuringPropertyAccess(e,t,n){const{factory:r}=e.context;if(isComputedPropertyName(n)){const r=ensureIdentifier(e,h.checkDefined(visitNode(n.expression,e.visitor,isExpression)),!1,n);return e.context.factory.createElementAccessExpression(t,r)}if(isStringOrNumericLiteralLike(n)||isBigIntLiteral(n)){const i=r.cloneNode(n);return e.context.factory.createElementAccessExpression(t,i)}{const r=e.context.factory.createIdentifier(idText(n));return e.context.factory.createPropertyAccessExpression(t,r)}}function ensureIdentifier(e,t,n,r){if(isIdentifier(t)&&n)return t;{const n=e.context.factory.createTempVariable(void 0);return e.hoistTempVariables?(e.context.hoistVariableDeclaration(n),e.emitExpression(setTextRange(e.context.factory.createAssignment(n,t),r))):e.emitBindingOrAssignment(n,t,r,void 0),n}}function makeAssignmentElement(e){return e}function isClassThisAssignmentBlock(e){var t;if(!isClassStaticBlockDeclaration(e)||1!==e.body.statements.length)return!1;const n=e.body.statements[0];return isExpressionStatement(n)&&isAssignmentExpression(n.expression,!0)&&isIdentifier(n.expression.left)&&(null==(t=e.emitNode)?void 0:t.classThis)===n.expression.left&&110===n.expression.right.kind}function classHasClassThisAssignment(e){var t;return!!(null==(t=e.emitNode)?void 0:t.classThis)&&some(e.members,isClassThisAssignmentBlock)}function injectClassThisAssignmentIfMissing(e,t,n,r){if(classHasClassThisAssignment(t))return t;const i=function createClassThisAssignmentBlock(e,t,n=e.createThis()){const r=e.createAssignment(t,n),i=e.createExpressionStatement(r),o=e.createBlock([i],!1),a=e.createClassStaticBlockDeclaration(o);return getOrCreateEmitNode(a).classThis=t,a}(e,n,r);t.name&&setSourceMapRange(i.body.statements[0],t.name);const o=e.createNodeArray([i,...t.members]);setTextRange(o,t.members);const a=isClassDeclaration(t)?e.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,o):e.updateClassExpression(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,o);return getOrCreateEmitNode(a).classThis=n,a}function getAssignedNameOfIdentifier(e,t,n){const r=getOriginalNode(skipOuterExpressions(n));return(isClassDeclaration(r)||isFunctionDeclaration(r))&&!r.name&&hasSyntacticModifier(r,2048)?e.createStringLiteral("default"):e.createStringLiteralFromNode(t)}function getAssignedNameOfPropertyName(e,t,n){const{factory:r}=e;if(void 0!==n){return{assignedName:r.createStringLiteral(n),name:t}}if(isPropertyNameLiteral(t)||isPrivateIdentifier(t)){return{assignedName:r.createStringLiteralFromNode(t),name:t}}if(isPropertyNameLiteral(t.expression)&&!isIdentifier(t.expression)){return{assignedName:r.createStringLiteralFromNode(t.expression),name:t}}const i=r.getGeneratedNameForNode(t);e.hoistVariableDeclaration(i);const o=e.getEmitHelperFactory().createPropKeyHelper(t.expression),a=r.createAssignment(i,o);return{assignedName:i,name:r.updateComputedPropertyName(t,a)}}function isClassNamedEvaluationHelperBlock(e){var t;if(!isClassStaticBlockDeclaration(e)||1!==e.body.statements.length)return!1;const n=e.body.statements[0];return isExpressionStatement(n)&&isCallToHelper(n.expression,"___setFunctionName")&&n.expression.arguments.length>=2&&n.expression.arguments[1]===(null==(t=e.emitNode)?void 0:t.assignedName)}function classHasExplicitlyAssignedName(e){var t;return!!(null==(t=e.emitNode)?void 0:t.assignedName)&&some(e.members,isClassNamedEvaluationHelperBlock)}function classHasDeclaredOrExplicitlyAssignedName(e){return!!e.name||classHasExplicitlyAssignedName(e)}function injectClassNamedEvaluationHelperBlockIfMissing(e,t,n,r){if(classHasExplicitlyAssignedName(t))return t;const{factory:i}=e,o=function createClassNamedEvaluationHelperBlock(e,t,n=e.factory.createThis()){const{factory:r}=e,i=e.getEmitHelperFactory().createSetFunctionNameHelper(n,t),o=r.createExpressionStatement(i),a=r.createBlock([o],!1),s=r.createClassStaticBlockDeclaration(a);return getOrCreateEmitNode(s).assignedName=t,s}(e,n,r);t.name&&setSourceMapRange(o.body.statements[0],t.name);const a=findIndex(t.members,isClassThisAssignmentBlock)+1,s=t.members.slice(0,a),c=t.members.slice(a),l=i.createNodeArray([...s,o,...c]);return setTextRange(l,t.members),getOrCreateEmitNode(t=isClassDeclaration(t)?i.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,l):i.updateClassExpression(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,l)).assignedName=n,t}function finishTransformNamedEvaluation(e,t,n,r){if(r&&isStringLiteral(n)&&isEmptyStringLiteral(n))return t;const{factory:i}=e,o=skipOuterExpressions(t),a=isClassExpression(o)?cast(injectClassNamedEvaluationHelperBlockIfMissing(e,o,n),isClassExpression):e.getEmitHelperFactory().createSetFunctionNameHelper(o,n);return i.restoreOuterExpressions(t,a)}function transformNamedEvaluation(e,t,n,r){switch(t.kind){case 304:return function transformNamedEvaluationOfPropertyAssignment(e,t,n,r){const{factory:i}=e,{assignedName:o,name:a}=getAssignedNameOfPropertyName(e,t.name,r),s=finishTransformNamedEvaluation(e,t.initializer,o,n);return i.updatePropertyAssignment(t,a,s)}(e,t,n,r);case 305:return function transformNamedEvaluationOfShorthandAssignmentProperty(e,t,n,r){const{factory:i}=e,o=void 0!==r?i.createStringLiteral(r):getAssignedNameOfIdentifier(i,t.name,t.objectAssignmentInitializer),a=finishTransformNamedEvaluation(e,t.objectAssignmentInitializer,o,n);return i.updateShorthandPropertyAssignment(t,t.name,a)}(e,t,n,r);case 261:return function transformNamedEvaluationOfVariableDeclaration(e,t,n,r){const{factory:i}=e,o=void 0!==r?i.createStringLiteral(r):getAssignedNameOfIdentifier(i,t.name,t.initializer),a=finishTransformNamedEvaluation(e,t.initializer,o,n);return i.updateVariableDeclaration(t,t.name,t.exclamationToken,t.type,a)}(e,t,n,r);case 170:return function transformNamedEvaluationOfParameterDeclaration(e,t,n,r){const{factory:i}=e,o=void 0!==r?i.createStringLiteral(r):getAssignedNameOfIdentifier(i,t.name,t.initializer),a=finishTransformNamedEvaluation(e,t.initializer,o,n);return i.updateParameterDeclaration(t,t.modifiers,t.dotDotDotToken,t.name,t.questionToken,t.type,a)}(e,t,n,r);case 209:return function transformNamedEvaluationOfBindingElement(e,t,n,r){const{factory:i}=e,o=void 0!==r?i.createStringLiteral(r):getAssignedNameOfIdentifier(i,t.name,t.initializer),a=finishTransformNamedEvaluation(e,t.initializer,o,n);return i.updateBindingElement(t,t.dotDotDotToken,t.propertyName,t.name,a)}(e,t,n,r);case 173:return function transformNamedEvaluationOfPropertyDeclaration(e,t,n,r){const{factory:i}=e,{assignedName:o,name:a}=getAssignedNameOfPropertyName(e,t.name,r),s=finishTransformNamedEvaluation(e,t.initializer,o,n);return i.updatePropertyDeclaration(t,t.modifiers,a,t.questionToken??t.exclamationToken,t.type,s)}(e,t,n,r);case 227:return function transformNamedEvaluationOfAssignmentExpression(e,t,n,r){const{factory:i}=e,o=void 0!==r?i.createStringLiteral(r):getAssignedNameOfIdentifier(i,t.left,t.right),a=finishTransformNamedEvaluation(e,t.right,o,n);return i.updateBinaryExpression(t,t.left,t.operatorToken,a)}(e,t,n,r);case 278:return function transformNamedEvaluationOfExportAssignment(e,t,n,r){const{factory:i}=e,o=void 0!==r?i.createStringLiteral(r):i.createStringLiteral(t.isExportEquals?"":"default"),a=finishTransformNamedEvaluation(e,t.expression,o,n);return i.updateExportAssignment(t,t.modifiers,a)}(e,t,n,r)}}var ga=(e=>(e[e.LiftRestriction=0]="LiftRestriction",e[e.All=1]="All",e))(ga||{});function processTaggedTemplateExpression(e,t,n,r,i,o){const a=visitNode(t.tag,n,isExpression);h.assert(a);const s=[void 0],c=[],l=[],d=t.template;if(0===o&&!hasInvalidEscape(d))return visitEachChild(t,n,e);const{factory:p}=e;if(isNoSubstitutionTemplateLiteral(d))c.push(createTemplateCooked(p,d)),l.push(getRawLiteral(p,d,r));else{c.push(createTemplateCooked(p,d.head)),l.push(getRawLiteral(p,d.head,r));for(const e of d.templateSpans)c.push(createTemplateCooked(p,e.literal)),l.push(getRawLiteral(p,e.literal,r)),s.push(h.checkDefined(visitNode(e.expression,n,isExpression)))}const u=e.getEmitHelperFactory().createTemplateObjectHelper(p.createArrayLiteralExpression(c),p.createArrayLiteralExpression(l));if(isExternalModule(r)){const e=p.createUniqueName("templateObject");i(e),s[0]=p.createLogicalOr(e,p.createAssignment(e,u))}else s[0]=u;return p.createCallExpression(a,void 0,s)}function createTemplateCooked(e,t){return 26656&t.templateFlags?e.createVoidZero():e.createStringLiteral(t.text)}function getRawLiteral(e,t,n){let r=t.rawText;if(void 0===r){h.assertIsDefined(n,"Template literal node is missing 'rawText' and does not have a source file. Possibly bad transform."),r=getSourceTextOfNodeFromSourceFile(n,t);const e=15===t.kind||18===t.kind;r=r.substring(1,r.length-(e?1:2))}return r=r.replace(/\r\n?/g,"\n"),setTextRange(e.createStringLiteral(r),t)}var ya=!1;function transformTypeScript(e){const{factory:t,getEmitHelperFactory:n,startLexicalEnvironment:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:a}=e,s=e.getEmitResolver(),c=e.getCompilerOptions(),l=zn(c),d=Vn(c),p=!!c.experimentalDecorators,u=c.emitDecoratorMetadata?createRuntimeTypeSerializer(e):void 0,m=e.onEmitNode,_=e.onSubstituteNode;let f,g,y,T,S;e.onEmitNode=function onEmitNode(e,t,n){const r=x,i=f;isSourceFile(t)&&(f=t);2&v&&function isTransformedModuleDeclaration(e){return 268===getOriginalNode(e).kind}(t)&&(x|=2);8&v&&function isTransformedEnumDeclaration(e){return 267===getOriginalNode(e).kind}(t)&&(x|=8);m(e,t,n),x=r,f=i},e.onSubstituteNode=function onSubstituteNode(e,n){if(n=_(e,n),1===e)return function substituteExpression(e){switch(e.kind){case 80:return function substituteExpressionIdentifier(e){return trySubstituteNamespaceExportedName(e)||e}(e);case 212:return function substitutePropertyAccessExpression(e){return substituteConstantValue(e)}(e);case 213:return function substituteElementAccessExpression(e){return substituteConstantValue(e)}(e)}return e}(n);if(isShorthandPropertyAssignment(n))return function substituteShorthandPropertyAssignment(e){if(2&v){const n=e.name,r=trySubstituteNamespaceExportedName(n);if(r){if(e.objectAssignmentInitializer){const i=t.createAssignment(r,e.objectAssignmentInitializer);return setTextRange(t.createPropertyAssignment(n,i),e)}return setTextRange(t.createPropertyAssignment(n,r),e)}}return e}(n);return n},e.enableSubstitution(212),e.enableSubstitution(213);let x,v=0;return function transformSourceFileOrBundle(e){if(309===e.kind)return function transformBundle(e){return t.createBundle(e.sourceFiles.map(transformSourceFile))}(e);return transformSourceFile(e)};function transformSourceFile(t){if(t.isDeclarationFile)return t;f=t;const n=saveStateAndInvoke(t,visitSourceFile);return addEmitHelpers(n,e.readEmitHelpers()),f=void 0,n}function saveStateAndInvoke(e,t){const n=T,r=S;!function onBeforeVisitNode(e){switch(e.kind){case 308:case 270:case 269:case 242:T=e,S=void 0;break;case 264:case 263:if(hasSyntacticModifier(e,128))break;e.name?recordEmittedDeclarationInScope(e):h.assert(264===e.kind||hasSyntacticModifier(e,2048))}}(e);const i=t(e);return T!==n&&(S=r),T=n,i}function visitor(e){return saveStateAndInvoke(e,visitorWorker)}function visitorWorker(e){return 1&e.transformFlags?visitTypeScript(e):e}function sourceElementVisitor(e){return saveStateAndInvoke(e,sourceElementVisitorWorker)}function sourceElementVisitorWorker(n){switch(n.kind){case 273:case 272:case 278:case 279:return function visitElidableStatement(n){if(function isElisionBlocked(e){const t=getParseTreeNode(e);if(t===e||isExportAssignment(e))return!1;if(!t||t.kind!==e.kind)return!0;switch(e.kind){case 273:if(h.assertNode(t,isImportDeclaration),e.importClause!==t.importClause)return!0;if(e.attributes!==t.attributes)return!0;break;case 272:if(h.assertNode(t,isImportEqualsDeclaration),e.name!==t.name)return!0;if(e.isTypeOnly!==t.isTypeOnly)return!0;if(e.moduleReference!==t.moduleReference&&(isEntityName(e.moduleReference)||isEntityName(t.moduleReference)))return!0;break;case 279:if(h.assertNode(t,isExportDeclaration),e.exportClause!==t.exportClause)return!0;if(e.attributes!==t.attributes)return!0}return!1}(n))return 1&n.transformFlags?visitEachChild(n,visitor,e):n;switch(n.kind){case 273:return function visitImportDeclaration(e){if(!e.importClause)return e;if(e.importClause.isTypeOnly)return;const n=visitNode(e.importClause,visitImportClause,isImportClause);return n?t.updateImportDeclaration(e,void 0,n,e.moduleSpecifier,e.attributes):void 0}(n);case 272:return visitImportEqualsDeclaration(n);case 278:return function visitExportAssignment(t){return c.verbatimModuleSyntax||s.isValueAliasDeclaration(t)?visitEachChild(t,visitor,e):void 0}(n);case 279:return function visitExportDeclaration(e){if(e.isTypeOnly)return;if(!e.exportClause||isNamespaceExport(e.exportClause))return t.updateExportDeclaration(e,e.modifiers,e.isTypeOnly,e.exportClause,e.moduleSpecifier,e.attributes);const n=!!c.verbatimModuleSyntax,r=visitNode(e.exportClause,e=>function visitNamedExportBindings(e,n){return isNamespaceExport(e)?function visitNamespaceExports(e){return t.updateNamespaceExport(e,h.checkDefined(visitNode(e.name,visitor,isIdentifier)))}(e):function visitNamedExports(e,n){const r=visitNodes2(e.elements,visitExportSpecifier,isExportSpecifier);return n||some(r)?t.updateNamedExports(e,r):void 0}(e,n)}(e,n),isNamedExportBindings);return r?t.updateExportDeclaration(e,void 0,e.isTypeOnly,r,e.moduleSpecifier,e.attributes):void 0}(n);default:h.fail("Unhandled ellided statement")}}(n);default:return visitorWorker(n)}}function namespaceElementVisitor(e){return saveStateAndInvoke(e,namespaceElementVisitorWorker)}function namespaceElementVisitorWorker(e){if(279!==e.kind&&273!==e.kind&&274!==e.kind&&(272!==e.kind||284!==e.moduleReference.kind))return 1&e.transformFlags||hasSyntacticModifier(e,32)?visitTypeScript(e):e}function getClassElementVisitor(n){return r=>saveStateAndInvoke(r,r=>function classElementVisitorWorker(n,r){switch(n.kind){case 177:return function visitConstructor(n){if(!shouldEmitFunctionLikeDeclaration(n))return;return t.updateConstructorDeclaration(n,void 0,visitParameterList(n.parameters,visitor,e),function transformConstructorBody(n,r){const a=r&&filter(r.parameters,e=>isParameterPropertyDeclaration(e,r));if(!some(a))return visitFunctionBody(n,visitor,e);let s=[];i();const c=t.copyPrologue(n.statements,s,!1,visitor),l=findSuperStatementIndexPath(n.statements,c),d=mapDefined(a,transformParameterWithPropertyAssignment);l.length?transformConstructorBodyWorker(s,n.statements,c,l,0,d):(addRange(s,d),addRange(s,visitNodes2(n.statements,visitor,isStatement,c)));s=t.mergeLexicalEnvironment(s,o());const p=t.createBlock(setTextRange(t.createNodeArray(s),n.statements),!0);return setTextRange(p,n),setOriginalNode(p,n),p}(n.body,n))}(n);case 173:return function visitPropertyDeclaration(e,n){const r=33554432&e.flags||hasSyntacticModifier(e,64);if(r&&(!p||!hasDecorators(e)))return;let i=isClassLike(n)?visitNodes2(e.modifiers,r?modifierElidingVisitor:visitor,isModifierLike):visitNodes2(e.modifiers,decoratorElidingVisitor,isModifierLike);if(i=injectClassElementTypeMetadata(i,e,n),r)return t.updatePropertyDeclaration(e,concatenate(i,t.createModifiersFromModifierFlags(128)),h.checkDefined(visitNode(e.name,visitor,isPropertyName)),void 0,void 0,void 0);return t.updatePropertyDeclaration(e,i,visitPropertyNameOfClassElement(e),void 0,void 0,visitNode(e.initializer,visitor,isExpression))}(n,r);case 178:return visitGetAccessor(n,r);case 179:return visitSetAccessor(n,r);case 175:return visitMethodDeclaration(n,r);case 176:return visitEachChild(n,visitor,e);case 241:return n;case 182:return;default:return h.failBadSyntaxKind(n)}}(r,n))}function getObjectLiteralElementVisitor(e){return t=>saveStateAndInvoke(t,t=>function objectLiteralElementVisitorWorker(e,t){switch(e.kind){case 304:case 305:case 306:return visitor(e);case 178:return visitGetAccessor(e,t);case 179:return visitSetAccessor(e,t);case 175:return visitMethodDeclaration(e,t);default:return h.failBadSyntaxKind(e)}}(t,e))}function decoratorElidingVisitor(e){return isDecorator(e)?void 0:visitor(e)}function modifierElidingVisitor(e){return isModifier(e)?void 0:visitor(e)}function modifierVisitor(e){if(!isDecorator(e)&&!(28895&modifierToFlag(e.kind)||g&&95===e.kind))return e}function visitTypeScript(n){if(isStatement(n)&&hasSyntacticModifier(n,128))return t.createNotEmittedStatement(n);switch(n.kind){case 95:case 90:return g?void 0:n;case 125:case 123:case 124:case 128:case 164:case 87:case 138:case 148:case 103:case 147:case 189:case 190:case 191:case 192:case 188:case 183:case 169:case 133:case 159:case 136:case 154:case 150:case 146:case 116:case 155:case 186:case 185:case 187:case 184:case 193:case 194:case 195:case 197:case 198:case 199:case 200:case 201:case 202:case 182:case 271:return;case 266:case 265:return t.createNotEmittedStatement(n);case 264:return function visitClassDeclaration(n){const r=function getClassFacts(e){let t=0;some(getProperties(e,!0,!0))&&(t|=1);const n=getEffectiveBaseTypeNode(e);n&&106!==skipOuterExpressions(n.expression).kind&&(t|=64);classOrConstructorParameterIsDecorated(p,e)&&(t|=2);childIsDecorated(p,e)&&(t|=4);isExportOfNamespace(e)?t|=8:!function isDefaultExternalModuleExport(e){return isExternalModuleExport(e)&&hasSyntacticModifier(e,2048)}(e)?isNamedExternalModuleExport(e)&&(t|=16):t|=32;return t}(n),i=l<=1&&!!(7&r);if(!function isClassLikeDeclarationWithTypeScriptSyntax(e){return hasDecorators(e)||some(e.typeParameters)||some(e.heritageClauses,hasTypeScriptClassSyntax)||some(e.members,hasTypeScriptClassSyntax)}(n)&&!classOrConstructorParameterIsDecorated(p,n)&&!isExportOfNamespace(n))return t.updateClassDeclaration(n,visitNodes2(n.modifiers,modifierVisitor,isModifier),n.name,void 0,visitNodes2(n.heritageClauses,visitor,isHeritageClause),visitNodes2(n.members,getClassElementVisitor(n),isClassElement));i&&e.startLexicalEnvironment();const o=i||8&r;let a=visitNodes2(n.modifiers,o?modifierElidingVisitor:visitor,isModifierLike);2&r&&(a=injectClassTypeMetadata(a,n));const s=o&&!n.name||4&r||1&r,c=s?n.name??t.getGeneratedNameForNode(n):n.name,d=t.updateClassDeclaration(n,a,c,void 0,visitNodes2(n.heritageClauses,visitor,isHeritageClause),transformClassMembers(n));let u,m=getEmitFlags(n);1&r&&(m|=64);if(setEmitFlags(d,m),i){const r=[d],i=createTokenRange(skipTrivia(f.text,n.members.end),20),o=t.getInternalName(n),a=t.createPartiallyEmittedExpression(o);setTextRangeEnd(a,i.end),setEmitFlags(a,3072);const s=t.createReturnStatement(a);setTextRangePos(s,i.pos),setEmitFlags(s,3840),r.push(s),insertStatementsAfterStandardPrologue(r,e.endLexicalEnvironment());const c=t.createImmediatelyInvokedArrowFunction(r);setInternalEmitFlags(c,1);const l=t.createVariableDeclaration(t.getLocalName(n,!1,!1),void 0,void 0,c);setOriginalNode(l,n);const p=t.createVariableStatement(void 0,t.createVariableDeclarationList([l],1));setOriginalNode(p,n),setCommentRange(p,n),setSourceMapRange(p,moveRangePastDecorators(n)),startOnNewLine(p),u=p}else u=d;if(o){if(8&r)return[u,createExportMemberAssignmentStatement(n)];if(32&r)return[u,t.createExportDefault(t.getLocalName(n,!1,!0))];if(16&r)return[u,t.createExternalModuleExport(t.getDeclarationName(n,!1,!0))]}return u}(n);case 232:return function visitClassExpression(e){let n=visitNodes2(e.modifiers,modifierElidingVisitor,isModifierLike);classOrConstructorParameterIsDecorated(p,e)&&(n=injectClassTypeMetadata(n,e));return t.updateClassExpression(e,n,e.name,void 0,visitNodes2(e.heritageClauses,visitor,isHeritageClause),transformClassMembers(e))}(n);case 299:return function visitHeritageClause(t){if(119===t.token)return;return visitEachChild(t,visitor,e)}(n);case 234:return function visitExpressionWithTypeArguments(e){return t.updateExpressionWithTypeArguments(e,h.checkDefined(visitNode(e.expression,visitor,isLeftHandSideExpression)),void 0)}(n);case 211:return function visitObjectLiteralExpression(e){return t.updateObjectLiteralExpression(e,visitNodes2(e.properties,getObjectLiteralElementVisitor(e),isObjectLiteralElementLike))}(n);case 177:case 173:case 175:case 178:case 179:case 176:return h.fail("Class and object literal elements must be visited with their respective visitors");case 263:return function visitFunctionDeclaration(n){if(!shouldEmitFunctionLikeDeclaration(n))return t.createNotEmittedStatement(n);const r=t.updateFunctionDeclaration(n,visitNodes2(n.modifiers,modifierVisitor,isModifier),n.asteriskToken,n.name,void 0,visitParameterList(n.parameters,visitor,e),void 0,visitFunctionBody(n.body,visitor,e)||t.createBlock([]));if(isExportOfNamespace(n)){const e=[r];return function addExportMemberAssignment(e,t){e.push(createExportMemberAssignmentStatement(t))}(e,n),e}return r}(n);case 219:return function visitFunctionExpression(n){if(!shouldEmitFunctionLikeDeclaration(n))return t.createOmittedExpression();const r=t.updateFunctionExpression(n,visitNodes2(n.modifiers,modifierVisitor,isModifier),n.asteriskToken,n.name,void 0,visitParameterList(n.parameters,visitor,e),void 0,visitFunctionBody(n.body,visitor,e)||t.createBlock([]));return r}(n);case 220:return function visitArrowFunction(n){const r=t.updateArrowFunction(n,visitNodes2(n.modifiers,modifierVisitor,isModifier),void 0,visitParameterList(n.parameters,visitor,e),void 0,n.equalsGreaterThanToken,visitFunctionBody(n.body,visitor,e));return r}(n);case 170:return function visitParameter(e){if(parameterIsThisKeyword(e))return;const n=t.updateParameterDeclaration(e,visitNodes2(e.modifiers,e=>isDecorator(e)?visitor(e):void 0,isModifierLike),e.dotDotDotToken,h.checkDefined(visitNode(e.name,visitor,isBindingName)),void 0,void 0,visitNode(e.initializer,visitor,isExpression));n!==e&&(setCommentRange(n,e),setTextRange(n,moveRangePastModifiers(e)),setSourceMapRange(n,moveRangePastModifiers(e)),setEmitFlags(n.name,64));return n}(n);case 218:return function visitParenthesizedExpression(n){const r=skipOuterExpressions(n.expression,-55);if(isAssertionExpression(r)||isSatisfiesExpression(r)){const e=visitNode(n.expression,visitor,isExpression);return h.assert(e),t.createPartiallyEmittedExpression(e,n)}return visitEachChild(n,visitor,e)}(n);case 217:case 235:return function visitAssertionExpression(e){const n=visitNode(e.expression,visitor,isExpression);return h.assert(n),t.createPartiallyEmittedExpression(n,e)}(n);case 239:return function visitSatisfiesExpression(e){const n=visitNode(e.expression,visitor,isExpression);return h.assert(n),t.createPartiallyEmittedExpression(n,e)}(n);case 214:return function visitCallExpression(e){return t.updateCallExpression(e,h.checkDefined(visitNode(e.expression,visitor,isExpression)),void 0,visitNodes2(e.arguments,visitor,isExpression))}(n);case 215:return function visitNewExpression(e){return t.updateNewExpression(e,h.checkDefined(visitNode(e.expression,visitor,isExpression)),void 0,visitNodes2(e.arguments,visitor,isExpression))}(n);case 216:return function visitTaggedTemplateExpression(e){return t.updateTaggedTemplateExpression(e,h.checkDefined(visitNode(e.tag,visitor,isExpression)),void 0,h.checkDefined(visitNode(e.template,visitor,isTemplateLiteral)))}(n);case 236:return function visitNonNullExpression(e){const n=visitNode(e.expression,visitor,isLeftHandSideExpression);return h.assert(n),t.createPartiallyEmittedExpression(n,e)}(n);case 267:return function visitEnumDeclaration(e){if(!function shouldEmitEnumDeclaration(e){return!isEnumConst(e)||er(c)}(e))return t.createNotEmittedStatement(e);const n=[];let i=4;const a=addVarForEnumOrModuleDeclaration(n,e);a&&(4===d&&T===f||(i|=1024));const s=getNamespaceParameterName(e),l=getNamespaceContainerName(e),p=isExportOfNamespace(e)?t.getExternalModuleOrNamespaceExportName(y,e,!1,!0):t.getDeclarationName(e,!1,!0);let u=t.createLogicalOr(p,t.createAssignment(p,t.createObjectLiteralExpression()));if(isExportOfNamespace(e)){const n=t.getLocalName(e,!1,!0);u=t.createAssignment(n,u)}const m=t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,s)],void 0,function transformEnumBody(e,n){const i=y;y=n;const a=[];r();const s=map(e.members,transformEnumMember);return insertStatementsAfterStandardPrologue(a,o()),addRange(a,s),y=i,t.createBlock(setTextRange(t.createNodeArray(a),e.members),!0)}(e,l)),void 0,[u]));setOriginalNode(m,e),a&&(setSyntheticLeadingComments(m,void 0),setSyntheticTrailingComments(m,void 0));return setTextRange(m,e),addEmitFlags(m,i),n.push(m),n}(n);case 244:return function visitVariableStatement(n){if(isExportOfNamespace(n)){const e=getInitializedVariables(n.declarationList);if(0===e.length)return;return setTextRange(t.createExpressionStatement(t.inlineExpressions(map(e,transformInitializedVariable))),n)}return visitEachChild(n,visitor,e)}(n);case 261:return function visitVariableDeclaration(e){const n=t.updateVariableDeclaration(e,h.checkDefined(visitNode(e.name,visitor,isBindingName)),void 0,void 0,visitNode(e.initializer,visitor,isExpression));e.type&&setTypeNode(n.name,e.type);return n}(n);case 268:return visitModuleDeclaration(n);case 272:return visitImportEqualsDeclaration(n);case 286:return function visitJsxSelfClosingElement(e){return t.updateJsxSelfClosingElement(e,h.checkDefined(visitNode(e.tagName,visitor,isJsxTagNameExpression)),void 0,h.checkDefined(visitNode(e.attributes,visitor,isJsxAttributes)))}(n);case 287:return function visitJsxJsxOpeningElement(e){return t.updateJsxOpeningElement(e,h.checkDefined(visitNode(e.tagName,visitor,isJsxTagNameExpression)),void 0,h.checkDefined(visitNode(e.attributes,visitor,isJsxAttributes)))}(n);default:return visitEachChild(n,visitor,e)}}function visitSourceFile(n){const r=getStrictOptionValue(c,"alwaysStrict")&&!(isExternalModule(n)&&d>=5)&&!isJsonSourceFile(n);return t.updateSourceFile(n,visitLexicalEnvironment(n.statements,sourceElementVisitor,e,0,r))}function hasTypeScriptClassSyntax(e){return!!(8192&e.transformFlags)}function transformClassMembers(e){const n=visitNodes2(e.members,getClassElementVisitor(e),isClassElement);let r;const i=getFirstConstructorWithBody(e),o=i&&filter(i.parameters,e=>isParameterPropertyDeclaration(e,i));if(o)for(const e of o){const n=t.createPropertyDeclaration(void 0,e.name,void 0,void 0,void 0);setOriginalNode(n,e),r=append(r,n)}return r?(r=addRange(r,n),setTextRange(t.createNodeArray(r),e.members)):n}function injectClassTypeMetadata(e,n){const r=getTypeMetadata(n,n);if(some(r)){const n=[];addRange(n,takeWhile(e,isExportOrDefaultModifier)),addRange(n,filter(e,isDecorator)),addRange(n,r),addRange(n,filter(skipWhile(e,isExportOrDefaultModifier),isModifier)),e=setTextRange(t.createNodeArray(n),e)}return e}function injectClassElementTypeMetadata(e,n,r){if(isClassLike(r)&&classElementOrClassElementParameterIsDecorated(p,n,r)){const i=getTypeMetadata(n,r);if(some(i)){const n=[];addRange(n,filter(e,isDecorator)),addRange(n,i),addRange(n,filter(e,isModifier)),e=setTextRange(t.createNodeArray(n),e)}}return e}function getTypeMetadata(e,r){if(p)return ya?function getNewTypeMetadata(e,r){if(u){let i;if(shouldAddTypeMetadata(e)){i=append(i,t.createPropertyAssignment("type",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(39),u.serializeTypeOfNode({currentLexicalScope:T,currentNameScope:r},e,r))))}if(shouldAddParamTypesMetadata(e)){i=append(i,t.createPropertyAssignment("paramTypes",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(39),u.serializeParameterTypesOfNode({currentLexicalScope:T,currentNameScope:r},e,r))))}if(shouldAddReturnTypeMetadata(e)){i=append(i,t.createPropertyAssignment("returnType",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(39),u.serializeReturnTypeOfNode({currentLexicalScope:T,currentNameScope:r},e))))}if(i){const e=n().createMetadataHelper("design:typeinfo",t.createObjectLiteralExpression(i,!0));return[t.createDecorator(e)]}}}(e,r):function getOldTypeMetadata(e,r){if(u){let i;if(shouldAddTypeMetadata(e)){const o=n().createMetadataHelper("design:type",u.serializeTypeOfNode({currentLexicalScope:T,currentNameScope:r},e,r));i=append(i,t.createDecorator(o))}if(shouldAddParamTypesMetadata(e)){const o=n().createMetadataHelper("design:paramtypes",u.serializeParameterTypesOfNode({currentLexicalScope:T,currentNameScope:r},e,r));i=append(i,t.createDecorator(o))}if(shouldAddReturnTypeMetadata(e)){const o=n().createMetadataHelper("design:returntype",u.serializeReturnTypeOfNode({currentLexicalScope:T,currentNameScope:r},e));i=append(i,t.createDecorator(o))}return i}}(e,r)}function shouldAddTypeMetadata(e){const t=e.kind;return 175===t||178===t||179===t||173===t}function shouldAddReturnTypeMetadata(e){return 175===e.kind}function shouldAddParamTypesMetadata(e){switch(e.kind){case 264:case 232:return void 0!==getFirstConstructorWithBody(e);case 175:case 178:case 179:return!0}return!1}function visitPropertyNameOfClassElement(e){const n=e.name;if(p&&isComputedPropertyName(n)&&hasDecorators(e)){const e=visitNode(n.expression,visitor,isExpression);h.assert(e);if(!isSimpleInlineableExpression(skipPartiallyEmittedExpressions(e))){const r=t.getGeneratedNameForNode(n);return a(r),t.updateComputedPropertyName(n,t.createAssignment(r,e))}}return h.checkDefined(visitNode(n,visitor,isPropertyName))}function shouldEmitFunctionLikeDeclaration(e){return!nodeIsMissing(e.body)}function transformConstructorBodyWorker(e,n,r,i,o,a){const s=i[o],c=n[s];if(addRange(e,visitNodes2(n,visitor,isStatement,r,s-r)),isTryStatement(c)){const n=[];transformConstructorBodyWorker(n,c.tryBlock.statements,0,i,o+1,a);setTextRange(t.createNodeArray(n),c.tryBlock.statements),e.push(t.updateTryStatement(c,t.updateBlock(c.tryBlock,n),visitNode(c.catchClause,visitor,isCatchClause),visitNode(c.finallyBlock,visitor,isBlock)))}else addRange(e,visitNodes2(n,visitor,isStatement,s,1)),addRange(e,a);addRange(e,visitNodes2(n,visitor,isStatement,s+1))}function transformParameterWithPropertyAssignment(e){const n=e.name;if(!isIdentifier(n))return;const r=setParent(setTextRange(t.cloneNode(n),n),n.parent);setEmitFlags(r,3168);const i=setParent(setTextRange(t.cloneNode(n),n),n.parent);return setEmitFlags(i,3072),startOnNewLine(removeAllComments(setTextRange(setOriginalNode(t.createExpressionStatement(t.createAssignment(setTextRange(t.createPropertyAccessExpression(t.createThis(),r),e.name),i)),e),moveRangePos(e,-1))))}function visitMethodDeclaration(n,r){if(!(1&n.transformFlags))return n;if(!shouldEmitFunctionLikeDeclaration(n))return;let i=isClassLike(r)?visitNodes2(n.modifiers,visitor,isModifierLike):visitNodes2(n.modifiers,decoratorElidingVisitor,isModifierLike);return i=injectClassElementTypeMetadata(i,n,r),t.updateMethodDeclaration(n,i,n.asteriskToken,visitPropertyNameOfClassElement(n),void 0,void 0,visitParameterList(n.parameters,visitor,e),void 0,visitFunctionBody(n.body,visitor,e))}function shouldEmitAccessorDeclaration(e){return!(nodeIsMissing(e.body)&&hasSyntacticModifier(e,64))}function visitGetAccessor(n,r){if(!(1&n.transformFlags))return n;if(!shouldEmitAccessorDeclaration(n))return;let i=isClassLike(r)?visitNodes2(n.modifiers,visitor,isModifierLike):visitNodes2(n.modifiers,decoratorElidingVisitor,isModifierLike);return i=injectClassElementTypeMetadata(i,n,r),t.updateGetAccessorDeclaration(n,i,visitPropertyNameOfClassElement(n),visitParameterList(n.parameters,visitor,e),void 0,visitFunctionBody(n.body,visitor,e)||t.createBlock([]))}function visitSetAccessor(n,r){if(!(1&n.transformFlags))return n;if(!shouldEmitAccessorDeclaration(n))return;let i=isClassLike(r)?visitNodes2(n.modifiers,visitor,isModifierLike):visitNodes2(n.modifiers,decoratorElidingVisitor,isModifierLike);return i=injectClassElementTypeMetadata(i,n,r),t.updateSetAccessorDeclaration(n,i,visitPropertyNameOfClassElement(n),visitParameterList(n.parameters,visitor,e),visitFunctionBody(n.body,visitor,e)||t.createBlock([]))}function transformInitializedVariable(n){const r=n.name;return isBindingPattern(r)?flattenDestructuringAssignment(n,visitor,e,0,!1,createNamespaceExportExpression):setTextRange(t.createAssignment(getNamespaceMemberNameWithSourceMapsAndWithoutComments(r),h.checkDefined(visitNode(n.initializer,visitor,isExpression))),n)}function transformEnumMember(n){const r=function getExpressionForPropertyName(e,n){const r=e.name;return isPrivateIdentifier(r)?t.createIdentifier(""):isComputedPropertyName(r)?n&&!isSimpleInlineableExpression(r.expression)?t.getGeneratedNameForNode(r):r.expression:isIdentifier(r)?t.createStringLiteral(idText(r)):t.cloneNode(r)}(n,!1),i=s.getEnumMemberValue(n),o=function transformEnumMemberDeclarationValue(n,r){return void 0!==r?"string"==typeof r?t.createStringLiteral(r):r<0?t.createPrefixUnaryExpression(41,t.createNumericLiteral(-r)):t.createNumericLiteral(r):(function enableSubstitutionForNonQualifiedEnumMembers(){8&v||(v|=8,e.enableSubstitution(80))}(),n.initializer?h.checkDefined(visitNode(n.initializer,visitor,isExpression)):t.createVoidZero())}(n,null==i?void 0:i.value),a=t.createAssignment(t.createElementAccessExpression(y,r),o),c="string"==typeof(null==i?void 0:i.value)||(null==i?void 0:i.isSyntacticallyString)?a:t.createAssignment(t.createElementAccessExpression(y,a),r);return setTextRange(t.createExpressionStatement(setTextRange(c,n)),n)}function recordEmittedDeclarationInScope(e){S||(S=new Map);const t=declaredNameInScope(e);S.has(t)||S.set(t,e)}function declaredNameInScope(e){return h.assertNode(e.name,isIdentifier),e.name.escapedText}function addVarForEnumOrModuleDeclaration(e,n){const r=t.createVariableDeclaration(t.getLocalName(n,!1,!0)),i=308===T.kind?0:1,o=t.createVariableStatement(visitNodes2(n.modifiers,modifierVisitor,isModifier),t.createVariableDeclarationList([r],i));return setOriginalNode(r,n),setSyntheticLeadingComments(r,void 0),setSyntheticTrailingComments(r,void 0),setOriginalNode(o,n),recordEmittedDeclarationInScope(n),!!function isFirstEmittedDeclarationInScope(e){if(S){const t=declaredNameInScope(e);return S.get(t)===e}return!0}(n)&&(267===n.kind?setSourceMapRange(o.declarationList,n):setSourceMapRange(o,n),setCommentRange(o,n),addEmitFlags(o,2048),e.push(o),!0)}function visitModuleDeclaration(n){if(!function shouldEmitModuleDeclaration(e){const t=getParseTreeNode(e,isModuleDeclaration);return!t||isInstantiatedModule(t,er(c))}(n))return t.createNotEmittedStatement(n);h.assertNode(n.name,isIdentifier,"A TypeScript namespace should have an Identifier name."),function enableSubstitutionForNamespaceExports(){2&v||(v|=2,e.enableSubstitution(80),e.enableSubstitution(305),e.enableEmitNotification(268))}();const i=[];let a=4;const s=addVarForEnumOrModuleDeclaration(i,n);s&&(4===d&&T===f||(a|=1024));const l=getNamespaceParameterName(n),p=getNamespaceContainerName(n),u=isExportOfNamespace(n)?t.getExternalModuleOrNamespaceExportName(y,n,!1,!0):t.getDeclarationName(n,!1,!0);let m=t.createLogicalOr(u,t.createAssignment(u,t.createObjectLiteralExpression()));if(isExportOfNamespace(n)){const e=t.getLocalName(n,!1,!0);m=t.createAssignment(e,m)}const _=t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,l)],void 0,function transformModuleBody(e,n){const i=y,a=g,s=S;y=n,g=e,S=void 0;const c=[];let l,d;if(r(),e.body)if(269===e.body.kind)saveStateAndInvoke(e.body,e=>addRange(c,visitNodes2(e.statements,namespaceElementVisitor,isStatement))),l=e.body.statements,d=e.body;else{const t=visitModuleDeclaration(e.body);t&&(isArray(t)?addRange(c,t):c.push(t));l=moveRangePos(getInnerMostModuleDeclarationFromDottedModule(e).body.statements,-1)}insertStatementsAfterStandardPrologue(c,o()),y=i,g=a,S=s;const p=t.createBlock(setTextRange(t.createNodeArray(c),l),!0);setTextRange(p,d),e.body&&269===e.body.kind||setEmitFlags(p,3072|getEmitFlags(p));return p}(n,p)),void 0,[m]));return setOriginalNode(_,n),s&&(setSyntheticLeadingComments(_,void 0),setSyntheticTrailingComments(_,void 0)),setTextRange(_,n),addEmitFlags(_,a),i.push(_),i}function getInnerMostModuleDeclarationFromDottedModule(e){if(268===e.body.kind){return getInnerMostModuleDeclarationFromDottedModule(e.body)||e.body}}function visitImportClause(e){h.assert(156!==e.phaseModifier);const n=shouldEmitAliasDeclaration(e)?e.name:void 0,r=visitNode(e.namedBindings,visitNamedImportBindings,isNamedImportBindings);return n||r?t.updateImportClause(e,e.phaseModifier,n,r):void 0}function visitNamedImportBindings(e){if(275===e.kind)return shouldEmitAliasDeclaration(e)?e:void 0;{const n=c.verbatimModuleSyntax,r=visitNodes2(e.elements,visitImportSpecifier,isImportSpecifier);return n||some(r)?t.updateNamedImports(e,r):void 0}}function visitImportSpecifier(e){return!e.isTypeOnly&&shouldEmitAliasDeclaration(e)?e:void 0}function visitExportSpecifier(e){return e.isTypeOnly||!c.verbatimModuleSyntax&&!s.isValueAliasDeclaration(e)?void 0:e}function visitImportEqualsDeclaration(n){if(n.isTypeOnly)return;if(isExternalModuleImportEqualsDeclaration(n)){if(!shouldEmitAliasDeclaration(n))return;return visitEachChild(n,visitor,e)}if(!function shouldEmitImportEqualsDeclaration(e){return shouldEmitAliasDeclaration(e)||!isExternalModule(f)&&s.isTopLevelValueImportEqualsWithEntityName(e)}(n))return;const r=createExpressionFromEntityName(t,n.moduleReference);return setEmitFlags(r,7168),isNamedExternalModuleExport(n)||!isExportOfNamespace(n)?setOriginalNode(setTextRange(t.createVariableStatement(visitNodes2(n.modifiers,modifierVisitor,isModifier),t.createVariableDeclarationList([setOriginalNode(t.createVariableDeclaration(n.name,void 0,void 0,r),n)])),n),n):setOriginalNode(function createNamespaceExport(e,n,r){return setTextRange(t.createExpressionStatement(t.createAssignment(t.getNamespaceMemberName(y,e,!1,!0),n)),r)}(n.name,r,n),n)}function isExportOfNamespace(e){return void 0!==g&&hasSyntacticModifier(e,32)}function isExternalModuleExport(e){return void 0===g&&hasSyntacticModifier(e,32)}function isNamedExternalModuleExport(e){return isExternalModuleExport(e)&&!hasSyntacticModifier(e,2048)}function createExportMemberAssignmentStatement(e){const n=t.createAssignment(t.getExternalModuleOrNamespaceExportName(y,e,!1,!0),t.getLocalName(e));setSourceMapRange(n,createRange(e.name?e.name.pos:e.pos,e.end));const r=t.createExpressionStatement(n);return setSourceMapRange(r,createRange(-1,e.end)),r}function createNamespaceExportExpression(e,n,r){return setTextRange(t.createAssignment(getNamespaceMemberNameWithSourceMapsAndWithoutComments(e),n),r)}function getNamespaceMemberNameWithSourceMapsAndWithoutComments(e){return t.getNamespaceMemberName(y,e,!1,!0)}function getNamespaceParameterName(e){const n=t.getGeneratedNameForNode(e);return setSourceMapRange(n,e.name),n}function getNamespaceContainerName(e){return t.getGeneratedNameForNode(e)}function trySubstituteNamespaceExportedName(e){if(v&x&&!isGeneratedIdentifier(e)&&!isLocalName(e)){const n=s.getReferencedExportContainer(e,!1);if(n&&308!==n.kind){if(2&x&&268===n.kind||8&x&&267===n.kind)return setTextRange(t.createPropertyAccessExpression(t.getGeneratedNameForNode(n),e),e)}}}function substituteConstantValue(e){const n=function tryGetConstEnumValue(e){if(Kn(c))return;return isPropertyAccessExpression(e)||isElementAccessExpression(e)?s.getConstantValue(e):void 0}(e);if(void 0!==n){setConstantValue(e,n);const r="string"==typeof n?t.createStringLiteral(n):n<0?t.createPrefixUnaryExpression(41,t.createNumericLiteral(-n)):t.createNumericLiteral(n);if(!c.removeComments){addSyntheticTrailingComment(r,3,` ${function safeMultiLineComment(e){return e.replace(/\*\//g,"*_/")}(getTextOfNode(getOriginalNode(e,isAccessExpression)))} `)}return r}return e}function shouldEmitAliasDeclaration(e){return c.verbatimModuleSyntax||isInJSFile(e)||s.isReferencedAliasDeclaration(e)}}function transformClassFields(e){const{factory:t,getEmitHelperFactory:n,hoistVariableDeclaration:r,endLexicalEnvironment:i,startLexicalEnvironment:o,resumeLexicalEnvironment:a,addBlockScopedVariable:s}=e,c=e.getEmitResolver(),l=e.getCompilerOptions(),d=zn(l),p=ir(l),u=!!l.experimentalDecorators,m=!p,_=p&&d<9,f=m||_,g=d<9,y=d<99?-1:p?0:3,T=d<9,S=T&&d>=2,x=f||g||-1===y,v=e.onSubstituteNode;e.onSubstituteNode=function onSubstituteNode(e,n){if(n=v(e,n),1===e)return function substituteExpression(e){switch(e.kind){case 80:return function substituteExpressionIdentifier(e){return function trySubstituteClassAlias(e){if(1&P&&c.hasNodeCheckFlag(e,536870912)){const n=c.getReferencedValueDeclaration(e);if(n){const r=C[n.id];if(r){const n=t.cloneNode(r);return setSourceMapRange(n,e),setCommentRange(n,e),n}}}return}(e)||e}(e);case 110:return function substituteThisExpression(e){if(2&P&&(null==k?void 0:k.data)&&!I.has(e)){const{facts:n,classConstructor:r,classThis:i}=k.data,o=w?i??r:r;if(o)return setTextRange(setOriginalNode(t.cloneNode(o),e),e);if(1&n&&u)return t.createParenthesizedExpression(t.createVoidZero())}return e}(e)}return e}(n);return n};const b=e.onEmitNode;e.onEmitNode=function onEmitNode(e,t,n){const r=getOriginalNode(t),i=D.get(r);if(i){const o=k,a=L;return k=i,L=w,w=!(isClassStaticBlockDeclaration(r)&&32&getInternalEmitFlags(r)),b(e,t,n),w=L,L=a,void(k=o)}switch(t.kind){case 219:if(isArrowFunction(r)||524288&getEmitFlags(t))break;case 263:case 177:case 178:case 179:case 175:case 173:{const r=k,i=L;return k=void 0,L=w,w=!1,b(e,t,n),w=L,L=i,void(k=r)}case 168:{const r=k,i=w;return k=null==k?void 0:k.previous,w=L,b(e,t,n),w=i,void(k=r)}}b(e,t,n)};let C,E,N,k,F=!1,P=0;const D=new Map,I=new Set;let A,O,w=!1,L=!1;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile)return t;if(k=void 0,F=!!(32&getInternalEmitFlags(t)),!x&&!F)return t;const n=visitEachChild(t,visitor,e);return addEmitHelpers(n,e.readEmitHelpers()),n});function modifierVisitor(e){return 129===e.kind?shouldTransformAutoAccessorsInCurrentClass()?void 0:e:tryCast(e,isModifier)}function visitor(n){if(!(16777216&n.transformFlags||134234112&n.transformFlags))return n;switch(n.kind){case 264:return function visitClassDeclaration(e){return visitInNewClassLexicalEnvironment(e,visitClassDeclarationInNewClassLexicalEnvironment)}(n);case 232:return function visitClassExpression(e){return visitInNewClassLexicalEnvironment(e,visitClassExpressionInNewClassLexicalEnvironment)}(n);case 176:case 173:return h.fail("Use `classElementVisitor` instead.");case 304:return function visitPropertyAssignment(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t));return visitEachChild(t,visitor,e)}(n);case 244:return function visitVariableStatement(t){const n=N;N=[];const r=visitEachChild(t,visitor,e),i=some(N)?[r,...N]:r;return N=n,i}(n);case 261:return function visitVariableDeclaration(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t));return visitEachChild(t,visitor,e)}(n);case 170:return function visitParameterDeclaration(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t));return visitEachChild(t,visitor,e)}(n);case 209:return function visitBindingElement(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t));return visitEachChild(t,visitor,e)}(n);case 278:return function visitExportAssignment(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t,!0,t.isExportEquals?"":"default"));return visitEachChild(t,visitor,e)}(n);case 81:return function visitPrivateIdentifier(e){if(!g)return e;if(isStatement(e.parent))return e;return setOriginalNode(t.createIdentifier(""),e)}(n);case 212:return function visitPropertyAccessExpression(n){if(isPrivateIdentifier(n.name)){const e=accessPrivateIdentifier2(n.name);if(e)return setTextRange(setOriginalNode(createPrivateIdentifierAccess(e,n.expression),n),n)}if(S&&O&&isSuperProperty(n)&&isIdentifier(n.name)&&isStaticPropertyDeclarationOrClassStaticBlock(O)&&(null==k?void 0:k.data)){const{classConstructor:e,superClassReference:r,facts:i}=k.data;if(1&i)return visitInvalidSuperProperty(n);if(e&&r){const i=t.createReflectGetCall(r,t.createStringLiteralFromNode(n.name),e);return setOriginalNode(i,n.expression),setTextRange(i,n.expression),i}}return visitEachChild(n,visitor,e)}(n);case 213:return function visitElementAccessExpression(n){if(S&&O&&isSuperProperty(n)&&isStaticPropertyDeclarationOrClassStaticBlock(O)&&(null==k?void 0:k.data)){const{classConstructor:e,superClassReference:r,facts:i}=k.data;if(1&i)return visitInvalidSuperProperty(n);if(e&&r){const i=t.createReflectGetCall(r,visitNode(n.argumentExpression,visitor,isExpression),e);return setOriginalNode(i,n.expression),setTextRange(i,n.expression),i}}return visitEachChild(n,visitor,e)}(n);case 225:case 226:return visitPreOrPostfixUnaryExpression(n,!1);case 227:return visitBinaryExpression(n,!1);case 218:return visitParenthesizedExpression(n,!1);case 214:return function visitCallExpression(n){var i;if(isPrivateIdentifierPropertyAccessExpression(n.expression)&&accessPrivateIdentifier2(n.expression.name)){const{thisArg:e,target:i}=t.createCallBinding(n.expression,r,d);return isCallChain(n)?t.updateCallChain(n,t.createPropertyAccessChain(visitNode(i,visitor,isExpression),n.questionDotToken,"call"),void 0,void 0,[visitNode(e,visitor,isExpression),...visitNodes2(n.arguments,visitor,isExpression)]):t.updateCallExpression(n,t.createPropertyAccessExpression(visitNode(i,visitor,isExpression),"call"),void 0,[visitNode(e,visitor,isExpression),...visitNodes2(n.arguments,visitor,isExpression)])}if(S&&O&&isSuperProperty(n.expression)&&isStaticPropertyDeclarationOrClassStaticBlock(O)&&(null==(i=null==k?void 0:k.data)?void 0:i.classConstructor)){const e=t.createFunctionCallCall(visitNode(n.expression,visitor,isExpression),k.data.classConstructor,visitNodes2(n.arguments,visitor,isExpression));return setOriginalNode(e,n),setTextRange(e,n),e}return visitEachChild(n,visitor,e)}(n);case 245:return function visitExpressionStatement(e){return t.updateExpressionStatement(e,visitNode(e.expression,discardedValueVisitor,isExpression))}(n);case 216:return function visitTaggedTemplateExpression(n){var i;if(isPrivateIdentifierPropertyAccessExpression(n.tag)&&accessPrivateIdentifier2(n.tag.name)){const{thisArg:e,target:i}=t.createCallBinding(n.tag,r,d);return t.updateTaggedTemplateExpression(n,t.createCallExpression(t.createPropertyAccessExpression(visitNode(i,visitor,isExpression),"bind"),void 0,[visitNode(e,visitor,isExpression)]),void 0,visitNode(n.template,visitor,isTemplateLiteral))}if(S&&O&&isSuperProperty(n.tag)&&isStaticPropertyDeclarationOrClassStaticBlock(O)&&(null==(i=null==k?void 0:k.data)?void 0:i.classConstructor)){const e=t.createFunctionBindCall(visitNode(n.tag,visitor,isExpression),k.data.classConstructor,[]);return setOriginalNode(e,n),setTextRange(e,n),t.updateTaggedTemplateExpression(n,e,void 0,visitNode(n.template,visitor,isTemplateLiteral))}return visitEachChild(n,visitor,e)}(n);case 249:return function visitForStatement(n){return t.updateForStatement(n,visitNode(n.initializer,discardedValueVisitor,isForInitializer),visitNode(n.condition,visitor,isExpression),visitNode(n.incrementor,discardedValueVisitor,isExpression),visitIterationBody(n.statement,visitor,e))}(n);case 110:return function visitThisExpression(e){if(T&&O&&isClassStaticBlockDeclaration(O)&&(null==k?void 0:k.data)){const{classThis:t,classConstructor:n}=k.data;return t??n??e}return e}(n);case 263:case 219:return setCurrentClassElementAnd(void 0,fallbackVisitor,n);case 177:case 175:case 178:case 179:return setCurrentClassElementAnd(n,fallbackVisitor,n);default:return fallbackVisitor(n)}}function fallbackVisitor(t){return visitEachChild(t,visitor,e)}function discardedValueVisitor(e){switch(e.kind){case 225:case 226:return visitPreOrPostfixUnaryExpression(e,!0);case 227:return visitBinaryExpression(e,!0);case 357:return function visitCommaListExpression(e,n){const r=n?visitCommaListElements(e.elements,discardedValueVisitor):visitCommaListElements(e.elements,visitor,discardedValueVisitor);return t.updateCommaListExpression(e,r)}(e,!0);case 218:return visitParenthesizedExpression(e,!0);default:return visitor(e)}}function heritageClauseVisitor(n){switch(n.kind){case 299:return visitEachChild(n,heritageClauseVisitor,e);case 234:return function visitExpressionWithTypeArgumentsInHeritageClause(n){var i;if(4&((null==(i=null==k?void 0:k.data)?void 0:i.facts)||0)){const e=t.createTempVariable(r,!0);return getClassLexicalEnvironment().superClassReference=e,t.updateExpressionWithTypeArguments(n,t.createAssignment(e,visitNode(n.expression,visitor,isExpression)),void 0)}return visitEachChild(n,visitor,e)}(n);default:return visitor(n)}}function assignmentTargetVisitor(e){switch(e.kind){case 211:case 210:return visitAssignmentPattern(e);default:return visitor(e)}}function classElementVisitor(e){switch(e.kind){case 177:return setCurrentClassElementAnd(e,visitConstructorDeclaration,e);case 178:case 179:case 175:return setCurrentClassElementAnd(e,visitMethodOrAccessorDeclaration,e);case 173:return setCurrentClassElementAnd(e,visitPropertyDeclaration,e);case 176:return setCurrentClassElementAnd(e,visitClassStaticBlockDeclaration,e);case 168:return visitComputedPropertyName(e);case 241:return e;default:return isModifierLike(e)?modifierVisitor(e):visitor(e)}}function propertyNameVisitor(e){return 168===e.kind?visitComputedPropertyName(e):visitor(e)}function accessorFieldResultVisitor(e){switch(e.kind){case 173:return transformFieldInitializer(e);case 178:case 179:return classElementVisitor(e);default:h.assertMissingNode(e,"Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration")}}function visitComputedPropertyName(e){const n=visitNode(e.expression,visitor,isExpression);return t.updateComputedPropertyName(e,function injectPendingExpressions(e){return some(E)&&(isParenthesizedExpression(e)?(E.push(e.expression),e=t.updateParenthesizedExpression(e,t.inlineExpressions(E))):(E.push(e),e=t.inlineExpressions(E)),E=void 0),e}(n))}function visitConstructorDeclaration(e){return A?transformConstructor(e,A):fallbackVisitor(e)}function shouldTransformClassElementToWeakMap(e){return!!g||!!(hasStaticModifier(e)&&32&getInternalEmitFlags(e))}function visitMethodOrAccessorDeclaration(n){if(h.assert(!hasDecorators(n)),!isPrivateIdentifierClassElementDeclaration(n)||!shouldTransformClassElementToWeakMap(n))return visitEachChild(n,classElementVisitor,e);const r=accessPrivateIdentifier2(n.name);if(h.assert(r,"Undeclared private name for property declaration."),!r.isValid)return n;const i=function getHoistedFunctionName(e){h.assert(isPrivateIdentifier(e.name));const t=accessPrivateIdentifier2(e.name);if(h.assert(t,"Undeclared private name for property declaration."),"m"===t.kind)return t.methodName;if("a"===t.kind){if(isGetAccessor(e))return t.getterName;if(isSetAccessor(e))return t.setterName}}(n);i&&getPendingExpressions().push(t.createAssignment(i,t.createFunctionExpression(filter(n.modifiers,e=>isModifier(e)&&!isStaticModifier(e)&&!isAccessorModifier(e)),n.asteriskToken,i,void 0,visitParameterList(n.parameters,visitor,e),void 0,visitFunctionBody(n.body,visitor,e))))}function setCurrentClassElementAnd(e,t,n){if(e!==O){const r=O;O=e;const i=t(n);return O=r,i}return t(n)}function transformAutoAccessor(e){const n=getCommentRange(e),i=getSourceMapRange(e),o=e.name;let a=o,s=o;if(isComputedPropertyName(o)&&!isSimpleInlineableExpression(o.expression)){const e=findComputedPropertyNameCacheAssignment(o);if(e)a=t.updateComputedPropertyName(o,visitNode(o.expression,visitor,isExpression)),s=t.updateComputedPropertyName(o,e.left);else{const e=t.createTempVariable(r);setSourceMapRange(e,o.expression);const n=visitNode(o.expression,visitor,isExpression),i=t.createAssignment(e,n);setSourceMapRange(i,o.expression),a=t.updateComputedPropertyName(o,i),s=t.updateComputedPropertyName(o,e)}}const c=visitNodes2(e.modifiers,modifierVisitor,isModifier),l=createAccessorPropertyBackingField(t,e,c,e.initializer);setOriginalNode(l,e),setEmitFlags(l,3072),setSourceMapRange(l,i);const d=isStatic(e)?function tryGetClassThis(){const e=getClassLexicalEnvironment();return e.classThis??e.classConstructor??(null==A?void 0:A.name)}()??t.createThis():t.createThis(),p=createAccessorPropertyGetRedirector(t,e,c,a,d);setOriginalNode(p,e),setCommentRange(p,n),setSourceMapRange(p,i);const u=t.createModifiersFromModifierFlags(modifiersToFlags(c)),m=createAccessorPropertySetRedirector(t,e,u,s,d);return setOriginalNode(m,e),setEmitFlags(m,3072),setSourceMapRange(m,i),visitArray([l,p,m],accessorFieldResultVisitor,isClassElement)}function transformPublicFieldInitializer(e){if(f&&!isAutoAccessorPropertyDeclaration(e)){const n=function getPropertyNameExpressionIfNeeded(e,n){if(isComputedPropertyName(e)){const i=findComputedPropertyNameCacheAssignment(e),o=visitNode(e.expression,visitor,isExpression),a=skipPartiallyEmittedExpressions(o),l=isSimpleInlineableExpression(a);if(!(!!i||isAssignmentExpression(a)&&isGeneratedIdentifier(a.left))&&!l&&n){const n=t.getGeneratedNameForNode(e);return c.hasNodeCheckFlag(e,32768)?s(n):r(n),t.createAssignment(n,o)}return l||isIdentifier(a)?void 0:o}}(e.name,!!e.initializer||p);if(n&&getPendingExpressions().push(...flattenCommaList(n)),isStatic(e)&&!g){const n=transformPropertyOrClassStaticBlock(e,t.createThis());if(n){const r=t.createClassStaticBlockDeclaration(t.createBlock([n]));return setOriginalNode(r,e),setCommentRange(r,e),setCommentRange(n,{pos:-1,end:-1}),setSyntheticLeadingComments(n,void 0),setSyntheticTrailingComments(n,void 0),r}}return}return t.updatePropertyDeclaration(e,visitNodes2(e.modifiers,modifierVisitor,isModifier),visitNode(e.name,propertyNameVisitor,isPropertyName),void 0,void 0,visitNode(e.initializer,visitor,isExpression))}function transformFieldInitializer(n){return h.assert(!hasDecorators(n),"Decorators should already have been transformed and elided."),isPrivateIdentifierClassElementDeclaration(n)?function transformPrivateFieldInitializer(n){if(shouldTransformClassElementToWeakMap(n)){const e=accessPrivateIdentifier2(n.name);if(h.assert(e,"Undeclared private name for property declaration."),!e.isValid)return n;if(e.isStatic&&!g){const e=transformPropertyOrClassStaticBlock(n,t.createThis());if(e)return t.createClassStaticBlockDeclaration(t.createBlock([e],!0))}return}return m&&!isStatic(n)&&(null==k?void 0:k.data)&&16&k.data.facts?t.updatePropertyDeclaration(n,visitNodes2(n.modifiers,visitor,isModifierLike),n.name,void 0,void 0,void 0):(isNamedEvaluation(n,isAnonymousClassNeedingAssignedName)&&(n=transformNamedEvaluation(e,n)),t.updatePropertyDeclaration(n,visitNodes2(n.modifiers,modifierVisitor,isModifier),visitNode(n.name,propertyNameVisitor,isPropertyName),void 0,void 0,visitNode(n.initializer,visitor,isExpression)))}(n):transformPublicFieldInitializer(n)}function shouldTransformAutoAccessorsInCurrentClass(){return-1===y||3===y&&!!(null==k?void 0:k.data)&&!!(16&k.data.facts)}function visitPropertyDeclaration(e){return isAutoAccessorPropertyDeclaration(e)&&(shouldTransformAutoAccessorsInCurrentClass()||hasStaticModifier(e)&&32&getInternalEmitFlags(e))?transformAutoAccessor(e):transformFieldInitializer(e)}function ensureDynamicThisIfNeeded(e){if(function shouldForceDynamicThis(){return!!O&&hasStaticModifier(O)&&isAccessor(O)&&isAutoAccessorPropertyDeclaration(getOriginalNode(O))}()){const t=skipOuterExpressions(e);110===t.kind&&I.add(t)}}function createPrivateIdentifierAccess(e,t){return ensureDynamicThisIfNeeded(t=visitNode(t,visitor,isExpression)),createPrivateIdentifierAccessHelper(e,t)}function createPrivateIdentifierAccessHelper(e,t){switch(setCommentRange(t,moveRangePos(t,-1)),e.kind){case"a":return n().createClassPrivateFieldGetHelper(t,e.brandCheckIdentifier,e.kind,e.getterName);case"m":return n().createClassPrivateFieldGetHelper(t,e.brandCheckIdentifier,e.kind,e.methodName);case"f":return n().createClassPrivateFieldGetHelper(t,e.brandCheckIdentifier,e.kind,e.isStatic?e.variableName:void 0);case"untransformed":return h.fail("Access helpers should not be created for untransformed private elements");default:h.assertNever(e,"Unknown private element type")}}function visitPreOrPostfixUnaryExpression(n,i){if(46===n.operator||47===n.operator){const e=skipParentheses(n.operand);if(isPrivateIdentifierPropertyAccessExpression(e)){let o;if(o=accessPrivateIdentifier2(e.name)){const a=visitNode(e.expression,visitor,isExpression);ensureDynamicThisIfNeeded(a);const{readExpression:s,initializeExpression:c}=createCopiableReceiverExpr(a);let l=createPrivateIdentifierAccess(o,s);const d=isPrefixUnaryExpression(n)||i?void 0:t.createTempVariable(r);return l=expandPreOrPostfixIncrementOrDecrementExpression(t,n,l,r,d),l=createPrivateIdentifierAssignment(o,c||s,l,64),setOriginalNode(l,n),setTextRange(l,n),d&&(l=t.createComma(l,d),setTextRange(l,n)),l}}else if(S&&O&&isSuperProperty(e)&&isStaticPropertyDeclarationOrClassStaticBlock(O)&&(null==k?void 0:k.data)){const{classConstructor:o,superClassReference:a,facts:s}=k.data;if(1&s){const r=visitInvalidSuperProperty(e);return isPrefixUnaryExpression(n)?t.updatePrefixUnaryExpression(n,r):t.updatePostfixUnaryExpression(n,r)}if(o&&a){let s,c;if(isPropertyAccessExpression(e)?isIdentifier(e.name)&&(c=s=t.createStringLiteralFromNode(e.name)):isSimpleInlineableExpression(e.argumentExpression)?c=s=e.argumentExpression:(c=t.createTempVariable(r),s=t.createAssignment(c,visitNode(e.argumentExpression,visitor,isExpression))),s&&c){let l=t.createReflectGetCall(a,c,o);setTextRange(l,e);const d=i?void 0:t.createTempVariable(r);return l=expandPreOrPostfixIncrementOrDecrementExpression(t,n,l,r,d),l=t.createReflectSetCall(a,s,l,o),setOriginalNode(l,n),setTextRange(l,n),d&&(l=t.createComma(l,d),setTextRange(l,n)),l}}}}return visitEachChild(n,visitor,e)}function createCopiableReceiverExpr(e){const n=nodeIsSynthesized(e)?e:t.cloneNode(e);if(110===e.kind&&I.has(e)&&I.add(n),isSimpleInlineableExpression(e))return{readExpression:n,initializeExpression:void 0};const i=t.createTempVariable(r);return{readExpression:i,initializeExpression:t.createAssignment(i,n)}}function transformClassStaticBlockDeclaration(e){if(k&&D.set(getOriginalNode(e),k),g){if(isClassThisAssignmentBlock(e)){const t=visitNode(e.body.statements[0].expression,visitor,isExpression);if(isAssignmentExpression(t,!0)&&t.left===t.right)return;return t}if(isClassNamedEvaluationHelperBlock(e))return visitNode(e.body.statements[0].expression,visitor,isExpression);o();let n=setCurrentClassElementAnd(e,e=>visitNodes2(e,visitor,isStatement),e.body.statements);n=t.mergeLexicalEnvironment(n,i());const r=t.createImmediatelyInvokedArrowFunction(n);return setOriginalNode(skipParentheses(r.expression),e),addEmitFlags(skipParentheses(r.expression),4),setOriginalNode(r,e),setTextRange(r,e),r}}function isAnonymousClassNeedingAssignedName(e){if(isClassExpression(e)&&!e.name){const t=getStaticPropertiesAndClassStaticBlock(e);if(some(t,isClassNamedEvaluationHelperBlock))return!1;return(g||!!getInternalEmitFlags(e))&&some(t,e=>isClassStaticBlockDeclaration(e)||isPrivateIdentifierClassElementDeclaration(e)||f&&isInitializedProperty(e))}return!1}function visitBinaryExpression(i,o){if(isDestructuringAssignment(i)){const e=E;E=void 0,i=t.updateBinaryExpression(i,visitNode(i.left,assignmentTargetVisitor,isExpression),i.operatorToken,visitNode(i.right,visitor,isExpression));const n=some(E)?t.inlineExpressions(compact([...E,i])):i;return E=e,n}if(isAssignmentExpression(i)){isNamedEvaluation(i,isAnonymousClassNeedingAssignedName)&&(i=transformNamedEvaluation(e,i),h.assertNode(i,isAssignmentExpression));const n=skipOuterExpressions(i.left,9);if(isPrivateIdentifierPropertyAccessExpression(n)){const e=accessPrivateIdentifier2(n.name);if(e)return setTextRange(setOriginalNode(createPrivateIdentifierAssignment(e,n.expression,i.right,i.operatorToken.kind),i),i)}else if(S&&O&&isSuperProperty(i.left)&&isStaticPropertyDeclarationOrClassStaticBlock(O)&&(null==k?void 0:k.data)){const{classConstructor:e,superClassReference:n,facts:a}=k.data;if(1&a)return t.updateBinaryExpression(i,visitInvalidSuperProperty(i.left),i.operatorToken,visitNode(i.right,visitor,isExpression));if(e&&n){let a=isElementAccessExpression(i.left)?visitNode(i.left.argumentExpression,visitor,isExpression):isIdentifier(i.left.name)?t.createStringLiteralFromNode(i.left.name):void 0;if(a){let s=visitNode(i.right,visitor,isExpression);if(isCompoundAssignment(i.operatorToken.kind)){let o=a;isSimpleInlineableExpression(a)||(o=t.createTempVariable(r),a=t.createAssignment(o,a));const c=t.createReflectGetCall(n,o,e);setOriginalNode(c,i.left),setTextRange(c,i.left),s=t.createBinaryExpression(c,getNonAssignmentOperatorForCompoundAssignment(i.operatorToken.kind),s),setTextRange(s,i)}const c=o?void 0:t.createTempVariable(r);return c&&(s=t.createAssignment(c,s),setTextRange(c,i)),s=t.createReflectSetCall(n,a,s,e),setOriginalNode(s,i),setTextRange(s,i),c&&(s=t.createComma(s,c),setTextRange(s,i)),s}}}}return function isPrivateIdentifierInExpression(e){return isPrivateIdentifier(e.left)&&103===e.operatorToken.kind}(i)?function transformPrivateIdentifierInInExpression(t){const r=accessPrivateIdentifier2(t.left);if(r){const e=visitNode(t.right,visitor,isExpression);return setOriginalNode(n().createClassPrivateFieldInHelper(r.brandCheckIdentifier,e),t)}return visitEachChild(t,visitor,e)}(i):visitEachChild(i,visitor,e)}function visitParenthesizedExpression(e,n){const r=n?discardedValueVisitor:visitor,i=visitNode(e.expression,r,isExpression);return t.updateParenthesizedExpression(e,i)}function createPrivateIdentifierAssignment(e,r,i,o){if(r=visitNode(r,visitor,isExpression),i=visitNode(i,visitor,isExpression),ensureDynamicThisIfNeeded(r),isCompoundAssignment(o)){const{readExpression:n,initializeExpression:a}=createCopiableReceiverExpr(r);r=a||n,i=t.createBinaryExpression(createPrivateIdentifierAccessHelper(e,n),getNonAssignmentOperatorForCompoundAssignment(o),i)}switch(setCommentRange(r,moveRangePos(r,-1)),e.kind){case"a":return n().createClassPrivateFieldSetHelper(r,e.brandCheckIdentifier,i,e.kind,e.setterName);case"m":return n().createClassPrivateFieldSetHelper(r,e.brandCheckIdentifier,i,e.kind,void 0);case"f":return n().createClassPrivateFieldSetHelper(r,e.brandCheckIdentifier,i,e.kind,e.isStatic?e.variableName:void 0);case"untransformed":return h.fail("Access helpers should not be created for untransformed private elements");default:h.assertNever(e,"Unknown private element type")}}function getPrivateInstanceMethodsAndAccessors(e){return filter(e.members,isNonStaticMethodOrAccessorWithPrivateName)}function visitInNewClassLexicalEnvironment(n,r){var i;const o=A,a=E,s=k;A=n,E=void 0,function startClassLexicalEnvironment(){k={previous:k,data:void 0}}();const l=32&getInternalEmitFlags(n);if(g||l){const e=getNameOfDeclaration(n);if(e&&isIdentifier(e))getPrivateIdentifierEnvironment().data.className=e;else if((null==(i=n.emitNode)?void 0:i.assignedName)&&isStringLiteral(n.emitNode.assignedName))if(n.emitNode.assignedName.textSourceNode&&isIdentifier(n.emitNode.assignedName.textSourceNode))getPrivateIdentifierEnvironment().data.className=n.emitNode.assignedName.textSourceNode;else if(isIdentifierText(n.emitNode.assignedName.text,d)){const e=t.createIdentifier(n.emitNode.assignedName.text);getPrivateIdentifierEnvironment().data.className=e}}if(g){const e=getPrivateInstanceMethodsAndAccessors(n);some(e)&&(getPrivateIdentifierEnvironment().data.weakSetName=createHoistedVariableForClass("instances",e[0].name))}const p=function getClassFacts(e){var t;let n=0;const r=getOriginalNode(e);isClassLike(r)&&classOrConstructorParameterIsDecorated(u,r)&&(n|=1),g&&(classHasClassThisAssignment(e)||classHasExplicitlyAssignedName(e))&&(n|=2);let i=!1,o=!1,a=!1,s=!1;for(const r of e.members)isStatic(r)?(r.name&&(isPrivateIdentifier(r.name)||isAutoAccessorPropertyDeclaration(r))&&g?n|=2:!isAutoAccessorPropertyDeclaration(r)||-1!==y||e.name||(null==(t=e.emitNode)?void 0:t.classThis)||(n|=2),(isPropertyDeclaration(r)||isClassStaticBlockDeclaration(r))&&(T&&16384&r.transformFlags&&(n|=8,1&n||(n|=2)),S&&134217728&r.transformFlags&&(1&n||(n|=6)))):hasAbstractModifier(getOriginalNode(r))||(isAutoAccessorPropertyDeclaration(r)?(s=!0,a||(a=isPrivateIdentifierClassElementDeclaration(r))):isPrivateIdentifierClassElementDeclaration(r)?(a=!0,c.hasNodeCheckFlag(r,262144)&&(n|=2)):isPropertyDeclaration(r)&&(i=!0,o||(o=!!r.initializer)));return(_&&i||m&&o||g&&a||g&&s&&-1===y)&&(n|=16),n}(n);p&&(getClassLexicalEnvironment().facts=p),8&p&&function enableSubstitutionForClassStaticThisOrSuperReference(){2&P||(P|=2,e.enableSubstitution(110),e.enableEmitNotification(263),e.enableEmitNotification(219),e.enableEmitNotification(177),e.enableEmitNotification(178),e.enableEmitNotification(179),e.enableEmitNotification(175),e.enableEmitNotification(173),e.enableEmitNotification(168))}();const f=r(n,p);return function endClassLexicalEnvironment(){k=null==k?void 0:k.previous}(),h.assert(k===s),A=o,E=a,f}function visitClassDeclarationInNewClassLexicalEnvironment(e,n){var i,o;let a;if(2&n)if(g&&(null==(i=e.emitNode)?void 0:i.classThis))getClassLexicalEnvironment().classConstructor=e.emitNode.classThis,a=t.createAssignment(e.emitNode.classThis,t.getInternalName(e));else{const n=t.createTempVariable(r,!0);getClassLexicalEnvironment().classConstructor=t.cloneNode(n),a=t.createAssignment(n,t.getInternalName(e))}(null==(o=e.emitNode)?void 0:o.classThis)&&(getClassLexicalEnvironment().classThis=e.emitNode.classThis);const s=c.hasNodeCheckFlag(e,262144),l=hasSyntacticModifier(e,32),d=hasSyntacticModifier(e,2048);let p=visitNodes2(e.modifiers,modifierVisitor,isModifier);const u=visitNodes2(e.heritageClauses,heritageClauseVisitor,isHeritageClause),{members:_,prologue:f}=transformClassMembers(e),y=[];if(a&&getPendingExpressions().unshift(a),some(E)&&y.push(t.createExpressionStatement(t.inlineExpressions(E))),m||g||32&getInternalEmitFlags(e)){const n=getStaticPropertiesAndClassStaticBlock(e);some(n)&&addPropertyOrClassStaticBlockStatements(y,n,t.getInternalName(e))}y.length>0&&l&&d&&(p=visitNodes2(p,e=>isExportOrDefaultModifier(e)?void 0:e,isModifier),y.push(t.createExportAssignment(void 0,!1,t.getLocalName(e,!1,!0))));const h=getClassLexicalEnvironment().classConstructor;s&&h&&(enableSubstitutionForClassAliases(),C[getOriginalNodeId(e)]=h);const T=t.updateClassDeclaration(e,p,e.name,void 0,u,_);return y.unshift(T),f&&y.unshift(t.createExpressionStatement(f)),y}function visitClassExpressionInNewClassLexicalEnvironment(e,n){var i,o,a;const l=!!(1&n),d=getStaticPropertiesAndClassStaticBlock(e),p=c.hasNodeCheckFlag(e,262144),u=c.hasNodeCheckFlag(e,32768);let m;function createClassTempVar(){var n;if(g&&(null==(n=e.emitNode)?void 0:n.classThis))return getClassLexicalEnvironment().classConstructor=e.emitNode.classThis;const i=t.createTempVariable(u?s:r,!0);return getClassLexicalEnvironment().classConstructor=t.cloneNode(i),i}(null==(i=e.emitNode)?void 0:i.classThis)&&(getClassLexicalEnvironment().classThis=e.emitNode.classThis),2&n&&(m??(m=createClassTempVar()));const _=visitNodes2(e.modifiers,modifierVisitor,isModifier),y=visitNodes2(e.heritageClauses,heritageClauseVisitor,isHeritageClause),{members:T,prologue:S}=transformClassMembers(e),x=t.updateClassExpression(e,_,e.name,void 0,y,T),v=[];S&&v.push(S);if((g||32&getInternalEmitFlags(e))&&some(d,e=>isClassStaticBlockDeclaration(e)||isPrivateIdentifierClassElementDeclaration(e)||f&&isInitializedProperty(e))||some(E))if(l)h.assertIsDefined(N,"Decorated classes transformed by TypeScript are expected to be within a variable declaration."),some(E)&&addRange(N,map(E,t.createExpressionStatement)),some(d)&&addPropertyOrClassStaticBlockStatements(N,d,(null==(o=e.emitNode)?void 0:o.classThis)??t.getInternalName(e)),m?v.push(t.createAssignment(m,x)):g&&(null==(a=e.emitNode)?void 0:a.classThis)?v.push(t.createAssignment(e.emitNode.classThis,x)):v.push(x);else{if(m??(m=createClassTempVar()),p){enableSubstitutionForClassAliases();const n=t.cloneNode(m);n.emitNode.autoGenerate.flags&=-9,C[getOriginalNodeId(e)]=n}v.push(t.createAssignment(m,x)),addRange(v,E),addRange(v,function generateInitializedPropertyExpressionsOrClassStaticBlock(e,t){const n=[];for(const r of e){const e=isClassStaticBlockDeclaration(r)?setCurrentClassElementAnd(r,transformClassStaticBlockDeclaration,r):setCurrentClassElementAnd(r,()=>transformProperty(r,t),void 0);e&&(startOnNewLine(e),setOriginalNode(e,r),addEmitFlags(e,3072&getEmitFlags(r)),setSourceMapRange(e,moveRangePastModifiers(r)),setCommentRange(e,r),n.push(e))}return n}(d,m)),v.push(t.cloneNode(m))}else v.push(x);return v.length>1&&(addEmitFlags(x,131072),v.forEach(startOnNewLine)),t.inlineExpressions(v)}function visitClassStaticBlockDeclaration(t){if(!g)return visitEachChild(t,visitor,e)}function transformClassMembers(e){const n=!!(32&getInternalEmitFlags(e));if(g||F){for(const t of e.members)if(isPrivateIdentifierClassElementDeclaration(t))if(shouldTransformClassElementToWeakMap(t))addPrivateIdentifierToEnvironment(t,t.name,addPrivateIdentifierClassElementToEnvironment);else{setPrivateIdentifier(getPrivateIdentifierEnvironment(),t.name,{kind:"untransformed"})}if(g&&some(getPrivateInstanceMethodsAndAccessors(e))&&function createBrandCheckWeakSetForPrivateMethods(){const{weakSetName:e}=getPrivateIdentifierEnvironment().data;h.assert(e,"weakSetName should be set in private identifier environment"),getPendingExpressions().push(t.createAssignment(e,t.createNewExpression(t.createIdentifier("WeakSet"),void 0,[])))}(),shouldTransformAutoAccessorsInCurrentClass())for(const r of e.members)if(isAutoAccessorPropertyDeclaration(r)){const e=t.getGeneratedPrivateNameForNode(r.name,void 0,"_accessor_storage");if(g||n&&hasStaticModifier(r))addPrivateIdentifierToEnvironment(r,e,addPrivateIdentifierPropertyDeclarationToEnvironment);else{setPrivateIdentifier(getPrivateIdentifierEnvironment(),e,{kind:"untransformed"})}}}let i,o,a,s=visitNodes2(e.members,classElementVisitor,isClassElement);if(some(s,isConstructorDeclaration)||(i=transformConstructor(void 0,e)),!g&&some(E)){let e=t.createExpressionStatement(t.inlineExpressions(E));if(134234112&e.transformFlags){const n=t.createTempVariable(r),i=t.createArrowFunction(void 0,void 0,[],void 0,void 0,t.createBlock([e]));o=t.createAssignment(n,i),e=t.createExpressionStatement(t.createCallExpression(n,void 0,[]))}const n=t.createBlock([e]);a=t.createClassStaticBlockDeclaration(n),E=void 0}if(i||a){let n;const r=find(s,isClassThisAssignmentBlock),o=find(s,isClassNamedEvaluationHelperBlock);n=append(n,r),n=append(n,o),n=append(n,i),n=append(n,a);n=addRange(n,r||o?filter(s,e=>e!==r&&e!==o):s),s=setTextRange(t.createNodeArray(n),e.members)}return{members:s,prologue:o}}function transformConstructor(n,r){if(n=visitNode(n,visitor,isConstructorDeclaration),!((null==k?void 0:k.data)&&16&k.data.facts))return n;const o=getEffectiveBaseTypeNode(r),s=!(!o||106===skipOuterExpressions(o.expression).kind),c=visitParameterList(n?n.parameters:void 0,visitor,e),l=function transformConstructorBody(n,r,o){var s;const c=getProperties(n,!1,!1);let l=c;p||(l=filter(l,e=>!!e.initializer||isPrivateIdentifier(e.name)||hasAccessorModifier(e)));const d=getPrivateInstanceMethodsAndAccessors(n),u=some(l)||some(d);if(!r&&!u)return visitFunctionBody(void 0,visitor,e);a();const m=!r&&o;let _=0,f=[];const y=[],T=t.createThis();if(function addInstanceMethodStatements(e,n,r){if(!g||!some(n))return;const{weakSetName:i}=getPrivateIdentifierEnvironment().data;h.assert(i,"weakSetName should be set in private identifier environment"),e.push(t.createExpressionStatement(function createPrivateInstanceMethodInitializer(e,t,n){return e.createCallExpression(e.createPropertyAccessExpression(n,"add"),void 0,[t])}(t,r,i)))}(y,d,T),r){const e=filter(c,e=>isParameterPropertyDeclaration(getOriginalNode(e),r)),t=filter(l,e=>!isParameterPropertyDeclaration(getOriginalNode(e),r));addPropertyOrClassStaticBlockStatements(y,e,T),addPropertyOrClassStaticBlockStatements(y,t,T)}else addPropertyOrClassStaticBlockStatements(y,l,T);if(null==r?void 0:r.body){_=t.copyPrologue(r.body.statements,f,!1,visitor);const e=findSuperStatementIndexPath(r.body.statements,_);if(e.length)transformConstructorBodyWorker(f,r.body.statements,_,e,0,y,r);else{for(;_<r.body.statements.length;){if(!isParameterPropertyDeclaration(getOriginalNode(r.body.statements[_]),r))break;_++}addRange(f,y),addRange(f,visitNodes2(r.body.statements,visitor,isStatement,_))}}else m&&f.push(t.createExpressionStatement(t.createCallExpression(t.createSuper(),void 0,[t.createSpreadElement(t.createIdentifier("arguments"))]))),addRange(f,y);if(f=t.mergeLexicalEnvironment(f,i()),0===f.length&&!r)return;const S=(null==r?void 0:r.body)&&r.body.statements.length>=f.length?r.body.multiLine??f.length>0:f.length>0;return setTextRange(t.createBlock(setTextRange(t.createNodeArray(f),(null==(s=null==r?void 0:r.body)?void 0:s.statements)??n.members),S),null==r?void 0:r.body)}(r,n,s);return l?n?(h.assert(c),t.updateConstructorDeclaration(n,void 0,c,l)):startOnNewLine(setOriginalNode(setTextRange(t.createConstructorDeclaration(void 0,c??[],l),n||r),n)):n}function transformConstructorBodyWorker(e,n,r,i,o,a,s){const c=i[o],l=n[c];if(addRange(e,visitNodes2(n,visitor,isStatement,r,c-r)),r=c+1,isTryStatement(l)){const n=[];transformConstructorBodyWorker(n,l.tryBlock.statements,0,i,o+1,a,s);setTextRange(t.createNodeArray(n),l.tryBlock.statements),e.push(t.updateTryStatement(l,t.updateBlock(l.tryBlock,n),visitNode(l.catchClause,visitor,isCatchClause),visitNode(l.finallyBlock,visitor,isBlock)))}else{for(addRange(e,visitNodes2(n,visitor,isStatement,c,1));r<n.length;){if(!isParameterPropertyDeclaration(getOriginalNode(n[r]),s))break;r++}addRange(e,a)}addRange(e,visitNodes2(n,visitor,isStatement,r))}function addPropertyOrClassStaticBlockStatements(e,t,n){for(const r of t){if(isStatic(r)&&!g)continue;const t=transformPropertyOrClassStaticBlock(r,n);t&&e.push(t)}}function transformPropertyOrClassStaticBlock(e,n){const r=isClassStaticBlockDeclaration(e)?setCurrentClassElementAnd(e,transformClassStaticBlockDeclaration,e):transformProperty(e,n);if(!r)return;const i=t.createExpressionStatement(r);setOriginalNode(i,e),addEmitFlags(i,3072&getEmitFlags(e)),setCommentRange(i,e);const o=getOriginalNode(e);return isParameter(o)?(setSourceMapRange(i,o),removeAllComments(i)):setSourceMapRange(i,moveRangePastModifiers(e)),setSyntheticLeadingComments(r,void 0),setSyntheticTrailingComments(r,void 0),hasAccessorModifier(o)&&addEmitFlags(i,3072),i}function transformProperty(n,r){var i;const o=O,a=function transformPropertyWorker(n,r){const i=!p;isNamedEvaluation(n,isAnonymousClassNeedingAssignedName)&&(n=transformNamedEvaluation(e,n));const o=hasAccessorModifier(n)?t.getGeneratedPrivateNameForNode(n.name):isComputedPropertyName(n.name)&&!isSimpleInlineableExpression(n.name.expression)?t.updateComputedPropertyName(n.name,t.getGeneratedNameForNode(n.name)):n.name;hasStaticModifier(n)&&(O=n);if(isPrivateIdentifier(o)&&shouldTransformClassElementToWeakMap(n)){const e=accessPrivateIdentifier2(o);if(e)return"f"===e.kind?e.isStatic?function createPrivateStaticFieldInitializer(e,t,n){return e.createAssignment(t,e.createObjectLiteralExpression([e.createPropertyAssignment("value",n||e.createVoidZero())]))}(t,e.variableName,visitNode(n.initializer,visitor,isExpression)):function createPrivateInstanceFieldInitializer(e,t,n,r){return e.createCallExpression(e.createPropertyAccessExpression(r,"set"),void 0,[t,n||e.createVoidZero()])}(t,r,visitNode(n.initializer,visitor,isExpression),e.brandCheckIdentifier):void 0;h.fail("Undeclared private name for property declaration.")}if((isPrivateIdentifier(o)||hasStaticModifier(n))&&!n.initializer)return;const a=getOriginalNode(n);if(hasSyntacticModifier(a,64))return;let s=visitNode(n.initializer,visitor,isExpression);if(isParameterPropertyDeclaration(a,a.parent)&&isIdentifier(o)){const e=t.cloneNode(o);s?(isParenthesizedExpression(s)&&isCommaExpression(s.expression)&&isCallToHelper(s.expression.left,"___runInitializers")&&isVoidExpression(s.expression.right)&&isNumericLiteral(s.expression.right.expression)&&(s=s.expression.left),s=t.inlineExpressions([s,e])):s=e,setEmitFlags(o,3168),setSourceMapRange(e,a.name),setEmitFlags(e,3072)}else s??(s=t.createVoidZero());if(i||isPrivateIdentifier(o)){const e=createMemberAccessForPropertyName(t,r,o,o);addEmitFlags(e,1024);return t.createAssignment(e,s)}{const e=isComputedPropertyName(o)?o.expression:isIdentifier(o)?t.createStringLiteral(unescapeLeadingUnderscores(o.escapedText)):o,n=t.createPropertyDescriptor({value:s,configurable:!0,writable:!0,enumerable:!0});return t.createObjectDefinePropertyCall(r,e,n)}}(n,r);return a&&hasStaticModifier(n)&&(null==(i=null==k?void 0:k.data)?void 0:i.facts)&&(setOriginalNode(a,n),addEmitFlags(a,4),setSourceMapRange(a,getSourceMapRange(n.name)),D.set(getOriginalNode(n),k)),O=o,a}function enableSubstitutionForClassAliases(){1&P||(P|=1,e.enableSubstitution(80),C=[])}function visitInvalidSuperProperty(e){return isPropertyAccessExpression(e)?t.updatePropertyAccessExpression(e,t.createVoidZero(),e.name):t.updateElementAccessExpression(e,t.createVoidZero(),visitNode(e.argumentExpression,visitor,isExpression))}function getClassLexicalEnvironment(){return h.assert(k),k.data??(k.data={facts:0,classConstructor:void 0,classThis:void 0,superClassReference:void 0})}function getPrivateIdentifierEnvironment(){return h.assert(k),k.privateEnv??(k.privateEnv=newPrivateEnvironment({className:void 0,weakSetName:void 0}))}function getPendingExpressions(){return E??(E=[])}function addPrivateIdentifierClassElementToEnvironment(e,t,n,r,i,o,a){isAutoAccessorPropertyDeclaration(e)?function addPrivateIdentifierAutoAccessorPropertyDeclarationToEnvironment(e,t,n,r,i,o,a){const s=createHoistedVariableForPrivateName(t,"_get"),c=createHoistedVariableForPrivateName(t,"_set"),l=i?h.checkDefined(n.classThis??n.classConstructor,"classConstructor should be set in private identifier environment"):h.checkDefined(r.data.weakSetName,"weakSetName should be set in private identifier environment");setPrivateIdentifier(r,t,{kind:"a",getterName:s,setterName:c,brandCheckIdentifier:l,isStatic:i,isValid:o})}(0,t,n,r,i,o):isPropertyDeclaration(e)?addPrivateIdentifierPropertyDeclarationToEnvironment(e,t,n,r,i,o,a):isMethodDeclaration(e)?function addPrivateIdentifierMethodDeclarationToEnvironment(e,t,n,r,i,o,a){const s=createHoistedVariableForPrivateName(t),c=i?h.checkDefined(n.classThis??n.classConstructor,"classConstructor should be set in private identifier environment"):h.checkDefined(r.data.weakSetName,"weakSetName should be set in private identifier environment");setPrivateIdentifier(r,t,{kind:"m",methodName:s,brandCheckIdentifier:c,isStatic:i,isValid:o})}(0,t,n,r,i,o):isGetAccessorDeclaration(e)?function addPrivateIdentifierGetAccessorDeclarationToEnvironment(e,t,n,r,i,o,a){const s=createHoistedVariableForPrivateName(t,"_get"),c=i?h.checkDefined(n.classThis??n.classConstructor,"classConstructor should be set in private identifier environment"):h.checkDefined(r.data.weakSetName,"weakSetName should be set in private identifier environment");"a"!==(null==a?void 0:a.kind)||a.isStatic!==i||a.getterName?setPrivateIdentifier(r,t,{kind:"a",getterName:s,setterName:void 0,brandCheckIdentifier:c,isStatic:i,isValid:o}):a.getterName=s}(0,t,n,r,i,o,a):isSetAccessorDeclaration(e)&&function addPrivateIdentifierSetAccessorDeclarationToEnvironment(e,t,n,r,i,o,a){const s=createHoistedVariableForPrivateName(t,"_set"),c=i?h.checkDefined(n.classThis??n.classConstructor,"classConstructor should be set in private identifier environment"):h.checkDefined(r.data.weakSetName,"weakSetName should be set in private identifier environment");"a"!==(null==a?void 0:a.kind)||a.isStatic!==i||a.setterName?setPrivateIdentifier(r,t,{kind:"a",getterName:void 0,setterName:s,brandCheckIdentifier:c,isStatic:i,isValid:o}):a.setterName=s}(0,t,n,r,i,o,a)}function addPrivateIdentifierPropertyDeclarationToEnvironment(e,n,r,i,o,a,s){if(o){setPrivateIdentifier(i,n,{kind:"f",isStatic:!0,brandCheckIdentifier:h.checkDefined(r.classThis??r.classConstructor,"classConstructor should be set in private identifier environment"),variableName:createHoistedVariableForPrivateName(n),isValid:a})}else{const e=createHoistedVariableForPrivateName(n);setPrivateIdentifier(i,n,{kind:"f",isStatic:!1,brandCheckIdentifier:e,isValid:a}),getPendingExpressions().push(t.createAssignment(e,t.createNewExpression(t.createIdentifier("WeakMap"),void 0,[])))}}function addPrivateIdentifierToEnvironment(e,t,n){const r=getClassLexicalEnvironment(),i=getPrivateIdentifierEnvironment(),o=getPrivateIdentifier(i,t),a=hasStaticModifier(e),s=!function isReservedPrivateName(e){return!isGeneratedPrivateIdentifier(e)&&"#constructor"===e.escapedText}(t)&&void 0===o;n(e,t,r,i,a,s,o)}function createHoistedVariableForClass(e,n,i){const{className:o}=getPrivateIdentifierEnvironment().data,a=o?{prefix:"_",node:o,suffix:"_"}:"_",l="object"==typeof e?t.getGeneratedNameForNode(e,24,a,i):"string"==typeof e?t.createUniqueName(e,16,a,i):t.createTempVariable(void 0,!0,a,i);return c.hasNodeCheckFlag(n,32768)?s(l):r(l),l}function createHoistedVariableForPrivateName(e,t){const n=tryGetTextOfPropertyName(e);return createHoistedVariableForClass((null==n?void 0:n.substring(1))??e,e,t)}function accessPrivateIdentifier2(e){const t=accessPrivateIdentifier(k,e);return"untransformed"===(null==t?void 0:t.kind)?void 0:t}function visitDestructuringAssignmentTarget(n){if(isObjectLiteralExpression(n)||isArrayLiteralExpression(n))return visitAssignmentPattern(n);if(isPrivateIdentifierPropertyAccessExpression(n))return function wrapPrivateIdentifierForDestructuringTarget(n){const i=t.getGeneratedNameForNode(n),o=accessPrivateIdentifier2(n.name);if(!o)return visitEachChild(n,visitor,e);let a=n.expression;return(isThisProperty(n)||isSuperProperty(n)||!isSimpleCopiableExpression(n.expression))&&(a=t.createTempVariable(r,!0),getPendingExpressions().push(t.createBinaryExpression(a,64,visitNode(n.expression,visitor,isExpression)))),t.createAssignmentTargetWrapper(i,createPrivateIdentifierAssignment(o,a,i,64))}(n);if(S&&O&&isSuperProperty(n)&&isStaticPropertyDeclarationOrClassStaticBlock(O)&&(null==k?void 0:k.data)){const{classConstructor:e,superClassReference:r,facts:i}=k.data;if(1&i)return visitInvalidSuperProperty(n);if(e&&r){const i=isElementAccessExpression(n)?visitNode(n.argumentExpression,visitor,isExpression):isIdentifier(n.name)?t.createStringLiteralFromNode(n.name):void 0;if(i){const n=t.createTempVariable(void 0);return t.createAssignmentTargetWrapper(n,t.createReflectSetCall(r,i,n,e))}}}return visitEachChild(n,visitor,e)}function visitAssignmentElement(n){if(isNamedEvaluation(n,isAnonymousClassNeedingAssignedName)&&(n=transformNamedEvaluation(e,n)),isAssignmentExpression(n,!0)){const e=visitDestructuringAssignmentTarget(n.left),r=visitNode(n.right,visitor,isExpression);return t.updateBinaryExpression(n,e,n.operatorToken,r)}return visitDestructuringAssignmentTarget(n)}function visitArrayAssignmentElement(n){if(isArrayBindingOrAssignmentElement(n)){if(isSpreadElement(n))return function visitAssignmentRestElement(n){if(isLeftHandSideExpression(n.expression)){const e=visitDestructuringAssignmentTarget(n.expression);return t.updateSpreadElement(n,e)}return visitEachChild(n,visitor,e)}(n);if(!isOmittedExpression(n))return visitAssignmentElement(n)}return visitEachChild(n,visitor,e)}function visitObjectAssignmentElement(n){return h.assertNode(n,isObjectBindingOrAssignmentElement),isSpreadAssignment(n)?function visitAssignmentRestProperty(n){if(isLeftHandSideExpression(n.expression)){const e=visitDestructuringAssignmentTarget(n.expression);return t.updateSpreadAssignment(n,e)}return visitEachChild(n,visitor,e)}(n):isShorthandPropertyAssignment(n)?function visitShorthandAssignmentProperty(t){return isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t)),visitEachChild(t,visitor,e)}(n):isPropertyAssignment(n)?function visitAssignmentProperty(n){const r=visitNode(n.name,visitor,isPropertyName);if(isAssignmentExpression(n.initializer,!0)){const e=visitAssignmentElement(n.initializer);return t.updatePropertyAssignment(n,r,e)}if(isLeftHandSideExpression(n.initializer)){const e=visitDestructuringAssignmentTarget(n.initializer);return t.updatePropertyAssignment(n,r,e)}return visitEachChild(n,visitor,e)}(n):visitEachChild(n,visitor,e)}function visitAssignmentPattern(e){return isArrayLiteralExpression(e)?t.updateArrayLiteralExpression(e,visitNodes2(e.elements,visitArrayAssignmentElement,isExpression)):t.updateObjectLiteralExpression(e,visitNodes2(e.properties,visitObjectAssignmentElement,isObjectLiteralElementLike))}}function isStaticPropertyDeclarationOrClassStaticBlock(e){return isClassStaticBlockDeclaration(e)||function isStaticPropertyDeclaration2(e){return isPropertyDeclaration(e)&&hasStaticModifier(e)}(e)}function createRuntimeTypeSerializer(e){const{factory:t,hoistVariableDeclaration:n}=e,r=e.getEmitResolver(),i=e.getCompilerOptions(),o=zn(i),a=getStrictOptionValue(i,"strictNullChecks");let s,c;return{serializeTypeNode:(e,t)=>setSerializerContextAnd(e,serializeTypeNode,t),serializeTypeOfNode:(e,t,n)=>setSerializerContextAnd(e,serializeTypeOfNode,t,n),serializeParameterTypesOfNode:(e,t,n)=>setSerializerContextAnd(e,serializeParameterTypesOfNode,t,n),serializeReturnTypeOfNode:(e,t)=>setSerializerContextAnd(e,serializeReturnTypeOfNode,t)};function setSerializerContextAnd(e,t,n,r){const i=s,o=c;s=e.currentLexicalScope,c=e.currentNameScope;const a=void 0===r?t(n):t(n,r);return s=i,c=o,a}function serializeTypeOfNode(e,n){switch(e.kind){case 173:case 170:return serializeTypeNode(e.type);case 179:case 178:return serializeTypeNode(function getAccessorTypeNode(e,t){const n=getAllAccessorDeclarations(t.members,e);return n.setAccessor&&getSetAccessorTypeAnnotationNode(n.setAccessor)||n.getAccessor&&getEffectiveReturnTypeNode(n.getAccessor)}(e,n));case 264:case 232:case 175:return t.createIdentifier("Function");default:return t.createVoidZero()}}function serializeParameterTypesOfNode(e,n){const r=isClassLike(e)?getFirstConstructorWithBody(e):isFunctionLike(e)&&nodeIsPresent(e.body)?e:void 0,i=[];if(r){const e=function getParametersOfDecoratedDeclaration(e,t){if(t&&178===e.kind){const{setAccessor:n}=getAllAccessorDeclarations(t.members,e);if(n)return n.parameters}return e.parameters}(r,n),t=e.length;for(let r=0;r<t;r++){const t=e[r];0===r&&isIdentifier(t.name)&&"this"===t.name.escapedText||(t.dotDotDotToken?i.push(serializeTypeNode(getRestParameterElementType(t.type))):i.push(serializeTypeOfNode(t,n)))}}return t.createArrayLiteralExpression(i)}function serializeReturnTypeOfNode(e){return isFunctionLike(e)&&e.type?serializeTypeNode(e.type):isAsyncFunction(e)?t.createIdentifier("Promise"):t.createVoidZero()}function serializeTypeNode(e){if(void 0===e)return t.createIdentifier("Object");switch((e=skipTypeParentheses(e)).kind){case 116:case 157:case 146:return t.createVoidZero();case 185:case 186:return t.createIdentifier("Function");case 189:case 190:return t.createIdentifier("Array");case 183:return e.assertsModifier?t.createVoidZero():t.createIdentifier("Boolean");case 136:return t.createIdentifier("Boolean");case 204:case 154:return t.createIdentifier("String");case 151:return t.createIdentifier("Object");case 202:return serializeLiteralOfLiteralTypeNode(e.literal);case 150:return t.createIdentifier("Number");case 163:return getGlobalConstructor("BigInt",7);case 155:return getGlobalConstructor("Symbol",2);case 184:return function serializeTypeReferenceNode(e){const i=r.getTypeReferenceSerializationKind(e.typeName,c??s);switch(i){case 0:if(findAncestor(e,e=>e.parent&&isConditionalTypeNode(e.parent)&&(e.parent.trueType===e||e.parent.falseType===e)))return t.createIdentifier("Object");const r=serializeEntityNameAsExpressionFallback(e.typeName),o=t.createTempVariable(n);return t.createConditionalExpression(t.createTypeCheck(t.createAssignment(o,r),"function"),void 0,o,void 0,t.createIdentifier("Object"));case 1:return serializeEntityNameAsExpression(e.typeName);case 2:return t.createVoidZero();case 4:return getGlobalConstructor("BigInt",7);case 6:return t.createIdentifier("Boolean");case 3:return t.createIdentifier("Number");case 5:return t.createIdentifier("String");case 7:return t.createIdentifier("Array");case 8:return getGlobalConstructor("Symbol",2);case 10:return t.createIdentifier("Function");case 9:return t.createIdentifier("Promise");case 11:return t.createIdentifier("Object");default:return h.assertNever(i)}}(e);case 194:return serializeUnionOrIntersectionConstituents(e.types,!0);case 193:return serializeUnionOrIntersectionConstituents(e.types,!1);case 195:return serializeUnionOrIntersectionConstituents([e.trueType,e.falseType],!1);case 199:if(148===e.operator)return serializeTypeNode(e.type);break;case 187:case 200:case 201:case 188:case 133:case 159:case 198:case 206:case 313:case 314:case 318:case 319:case 320:break;case 315:case 316:case 317:return serializeTypeNode(e.type);default:return h.failBadSyntaxKind(e)}return t.createIdentifier("Object")}function serializeLiteralOfLiteralTypeNode(e){switch(e.kind){case 11:case 15:return t.createIdentifier("String");case 225:{const t=e.operand;switch(t.kind){case 9:case 10:return serializeLiteralOfLiteralTypeNode(t);default:return h.failBadSyntaxKind(t)}}case 9:return t.createIdentifier("Number");case 10:return getGlobalConstructor("BigInt",7);case 112:case 97:return t.createIdentifier("Boolean");case 106:return t.createVoidZero();default:return h.failBadSyntaxKind(e)}}function serializeUnionOrIntersectionConstituents(e,n){let r;for(let i of e){if(i=skipTypeParentheses(i),146===i.kind){if(n)return t.createVoidZero();continue}if(159===i.kind){if(!n)return t.createIdentifier("Object");continue}if(133===i.kind)return t.createIdentifier("Object");if(!a&&(isLiteralTypeNode(i)&&106===i.literal.kind||157===i.kind))continue;const e=serializeTypeNode(i);if(isIdentifier(e)&&"Object"===e.escapedText)return e;if(r){if(!equateSerializedTypeNodes(r,e))return t.createIdentifier("Object")}else r=e}return r??t.createVoidZero()}function equateSerializedTypeNodes(e,t){return isGeneratedIdentifier(e)?isGeneratedIdentifier(t):isIdentifier(e)?isIdentifier(t)&&e.escapedText===t.escapedText:isPropertyAccessExpression(e)?isPropertyAccessExpression(t)&&equateSerializedTypeNodes(e.expression,t.expression)&&equateSerializedTypeNodes(e.name,t.name):isVoidExpression(e)?isVoidExpression(t)&&isNumericLiteral(e.expression)&&"0"===e.expression.text&&isNumericLiteral(t.expression)&&"0"===t.expression.text:isStringLiteral(e)?isStringLiteral(t)&&e.text===t.text:isTypeOfExpression(e)?isTypeOfExpression(t)&&equateSerializedTypeNodes(e.expression,t.expression):isParenthesizedExpression(e)?isParenthesizedExpression(t)&&equateSerializedTypeNodes(e.expression,t.expression):isConditionalExpression(e)?isConditionalExpression(t)&&equateSerializedTypeNodes(e.condition,t.condition)&&equateSerializedTypeNodes(e.whenTrue,t.whenTrue)&&equateSerializedTypeNodes(e.whenFalse,t.whenFalse):!!isBinaryExpression(e)&&(isBinaryExpression(t)&&e.operatorToken.kind===t.operatorToken.kind&&equateSerializedTypeNodes(e.left,t.left)&&equateSerializedTypeNodes(e.right,t.right))}function createCheckedValue(e,n){return t.createLogicalAnd(t.createStrictInequality(t.createTypeOfExpression(e),t.createStringLiteral("undefined")),n)}function serializeEntityNameAsExpressionFallback(e){if(80===e.kind){const t=serializeEntityNameAsExpression(e);return createCheckedValue(t,t)}if(80===e.left.kind)return createCheckedValue(serializeEntityNameAsExpression(e.left),serializeEntityNameAsExpression(e));const r=serializeEntityNameAsExpressionFallback(e.left),i=t.createTempVariable(n);return t.createLogicalAnd(t.createLogicalAnd(r.left,t.createStrictInequality(t.createAssignment(i,r.right),t.createVoidZero())),t.createPropertyAccessExpression(i,e.right))}function serializeEntityNameAsExpression(e){switch(e.kind){case 80:const n=setParent(setTextRange(Di.cloneNode(e),e),e.parent);return n.original=void 0,setParent(n,getParseTreeNode(s)),n;case 167:return function serializeQualifiedNameAsExpression(e){return t.createPropertyAccessExpression(serializeEntityNameAsExpression(e.left),e.right)}(e)}}function getGlobalConstructor(e,n){return o<n?function getGlobalConstructorWithFallback(e){return t.createConditionalExpression(t.createTypeCheck(t.createIdentifier(e),"function"),void 0,t.createIdentifier(e),void 0,t.createIdentifier("Object"))}(e):t.createIdentifier(e)}}function transformLegacyDecorators(e){const{factory:t,getEmitHelperFactory:n,hoistVariableDeclaration:r}=e,i=e.getEmitResolver(),o=e.getCompilerOptions(),a=zn(o),s=e.onSubstituteNode;let c;return e.onSubstituteNode=function onSubstituteNode(e,n){if(n=s(e,n),1===e)return function substituteExpression(e){if(80===e.kind)return function substituteExpressionIdentifier(e){return function trySubstituteClassAlias(e){if(c&&i.hasNodeCheckFlag(e,536870912)){const n=i.getReferencedValueDeclaration(e);if(n){const r=c[n.id];if(r){const n=t.cloneNode(r);return setSourceMapRange(n,e),setCommentRange(n,e),n}}}return}(e)??e}(e);return e}(n);return n},chainBundle(e,function transformSourceFile(t){const n=visitEachChild(t,visitor,e);return addEmitHelpers(n,e.readEmitHelpers()),n});function modifierVisitor(e){return isDecorator(e)?void 0:e}function visitor(o){if(!(33554432&o.transformFlags))return o;switch(o.kind){case 171:return;case 264:return function visitClassDeclaration(o){if(!classOrConstructorParameterIsDecorated(!0,o)&&!childIsDecorated(!0,o))return visitEachChild(o,visitor,e);const s=classOrConstructorParameterIsDecorated(!0,o)?function transformClassDeclarationWithClassDecorators(o,s){const l=hasSyntacticModifier(o,32),d=hasSyntacticModifier(o,2048),p=visitNodes2(o.modifiers,e=>isExportOrDefaultModifier(e)||isDecorator(e)?void 0:e,isModifierLike),u=moveRangePastModifiers(o),m=function getClassAliasIfNeeded(n){if(i.hasNodeCheckFlag(n,262144)){!function enableSubstitutionForClassAliases(){c||(e.enableSubstitution(80),c=[])}();const i=t.createUniqueName(n.name&&!isGeneratedIdentifier(n.name)?idText(n.name):"default");return c[getOriginalNodeId(n)]=i,r(i),i}}(o),_=a<2?t.getInternalName(o,!1,!0):t.getLocalName(o,!1,!0),f=visitNodes2(o.heritageClauses,visitor,isHeritageClause);let g=visitNodes2(o.members,visitor,isClassElement),y=[];({members:g,decorationStatements:y}=transformDecoratorsOfClassElements(o,g));const h=a>=9&&!!m&&some(g,e=>isPropertyDeclaration(e)&&hasSyntacticModifier(e,256)||isClassStaticBlockDeclaration(e));h&&(g=setTextRange(t.createNodeArray([t.createClassStaticBlockDeclaration(t.createBlock([t.createExpressionStatement(t.createAssignment(m,t.createThis()))])),...g]),g));const T=t.createClassExpression(p,s&&isGeneratedIdentifier(s)?void 0:s,void 0,f,g);setOriginalNode(T,o),setTextRange(T,u);const S=m&&!h?t.createAssignment(m,T):T,x=t.createVariableDeclaration(_,void 0,void 0,S);setOriginalNode(x,o);const v=t.createVariableDeclarationList([x],1),b=t.createVariableStatement(void 0,v);setOriginalNode(b,o),setTextRange(b,u),setCommentRange(b,o);const C=[b];if(addRange(C,y),function addConstructorDecorationStatement(e,r){const i=function generateConstructorDecorationExpression(e){const r=getAllDecoratorsOfClass(e,!0),i=transformAllDecoratorsOfDeclaration(r);if(!i)return;const o=c&&c[getOriginalNodeId(e)],s=a<2?t.getInternalName(e,!1,!0):t.getDeclarationName(e,!1,!0),l=n().createDecorateHelper(i,s),d=t.createAssignment(s,o?t.createAssignment(o,l):l);return setEmitFlags(d,3072),setSourceMapRange(d,moveRangePastModifiers(e)),d}(r);i&&e.push(setOriginalNode(t.createExpressionStatement(i),r))}(C,o),l)if(d){const e=t.createExportDefault(_);C.push(e)}else{const e=t.createExternalModuleExport(t.getDeclarationName(o));C.push(e)}return C}(o,o.name):function transformClassDeclarationWithoutClassDecorators(e,n){const r=visitNodes2(e.modifiers,modifierVisitor,isModifier),i=visitNodes2(e.heritageClauses,visitor,isHeritageClause);let o=visitNodes2(e.members,visitor,isClassElement),a=[];({members:o,decorationStatements:a}=transformDecoratorsOfClassElements(e,o));const s=t.updateClassDeclaration(e,r,n,void 0,i,o);return addRange([s],a)}(o,o.name);return singleOrMany(s)}(o);case 232:return function visitClassExpression(e){return t.updateClassExpression(e,visitNodes2(e.modifiers,modifierVisitor,isModifier),e.name,void 0,visitNodes2(e.heritageClauses,visitor,isHeritageClause),visitNodes2(e.members,visitor,isClassElement))}(o);case 177:return function visitConstructorDeclaration(e){return t.updateConstructorDeclaration(e,visitNodes2(e.modifiers,modifierVisitor,isModifier),visitNodes2(e.parameters,visitor,isParameter),visitNode(e.body,visitor,isBlock))}(o);case 175:return function visitMethodDeclaration(e){return finishClassElement(t.updateMethodDeclaration(e,visitNodes2(e.modifiers,modifierVisitor,isModifier),e.asteriskToken,h.checkDefined(visitNode(e.name,visitor,isPropertyName)),void 0,void 0,visitNodes2(e.parameters,visitor,isParameter),void 0,visitNode(e.body,visitor,isBlock)),e)}(o);case 179:return function visitSetAccessorDeclaration(e){return finishClassElement(t.updateSetAccessorDeclaration(e,visitNodes2(e.modifiers,modifierVisitor,isModifier),h.checkDefined(visitNode(e.name,visitor,isPropertyName)),visitNodes2(e.parameters,visitor,isParameter),visitNode(e.body,visitor,isBlock)),e)}(o);case 178:return function visitGetAccessorDeclaration(e){return finishClassElement(t.updateGetAccessorDeclaration(e,visitNodes2(e.modifiers,modifierVisitor,isModifier),h.checkDefined(visitNode(e.name,visitor,isPropertyName)),visitNodes2(e.parameters,visitor,isParameter),void 0,visitNode(e.body,visitor,isBlock)),e)}(o);case 173:return function visitPropertyDeclaration(e){if(33554432&e.flags||hasSyntacticModifier(e,128))return;return finishClassElement(t.updatePropertyDeclaration(e,visitNodes2(e.modifiers,modifierVisitor,isModifier),h.checkDefined(visitNode(e.name,visitor,isPropertyName)),void 0,void 0,visitNode(e.initializer,visitor,isExpression)),e)}(o);case 170:return function visitParameterDeclaration(e){const n=t.updateParameterDeclaration(e,elideNodes(t,e.modifiers),e.dotDotDotToken,h.checkDefined(visitNode(e.name,visitor,isBindingName)),void 0,void 0,visitNode(e.initializer,visitor,isExpression));n!==e&&(setCommentRange(n,e),setTextRange(n,moveRangePastModifiers(e)),setSourceMapRange(n,moveRangePastModifiers(e)),setEmitFlags(n.name,64));return n}(o);default:return visitEachChild(o,visitor,e)}}function decoratorContainsPrivateIdentifierInExpression(e){return!!(536870912&e.transformFlags)}function parameterDecoratorsContainPrivateIdentifierInExpression(e){return some(e,decoratorContainsPrivateIdentifierInExpression)}function transformDecoratorsOfClassElements(e,n){let r=[];return addClassElementDecorationStatements(r,e,!1),addClassElementDecorationStatements(r,e,!0),function hasClassElementWithDecoratorContainingPrivateIdentifierInExpression(e){for(const t of e.members){if(!canHaveDecorators(t))continue;const n=getAllDecoratorsOfClassElement(t,e,!0);if(some(null==n?void 0:n.decorators,decoratorContainsPrivateIdentifierInExpression))return!0;if(some(null==n?void 0:n.parameters,parameterDecoratorsContainPrivateIdentifierInExpression))return!0}return!1}(e)&&(n=setTextRange(t.createNodeArray([...n,t.createClassStaticBlockDeclaration(t.createBlock(r,!0))]),n),r=void 0),{decorationStatements:r,members:n}}function finishClassElement(e,t){return e!==t&&(setCommentRange(e,t),setSourceMapRange(e,moveRangePastModifiers(t))),e}function isSyntheticMetadataDecorator(e){return isCallToHelper(e.expression,"___metadata")}function transformAllDecoratorsOfDeclaration(e){if(!e)return;const{false:t,true:n}=groupBy(e.decorators,isSyntheticMetadataDecorator),r=[];return addRange(r,map(t,transformDecorator)),addRange(r,flatMap(e.parameters,transformDecoratorsOfParameter)),addRange(r,map(n,transformDecorator)),r}function addClassElementDecorationStatements(e,n,r){addRange(e,map(function generateClassElementDecorationExpressions(e,t){const n=function getDecoratedClassElements(e,t){return filter(e.members,n=>function isDecoratedClassElement(e,t,n){return nodeOrChildIsDecorated(!0,e,n)&&t===isStatic(e)}(n,t,e))}(e,t);let r;for(const t of n)r=append(r,generateClassElementDecorationExpression(e,t));return r}(n,r),e=>t.createExpressionStatement(e)))}function generateClassElementDecorationExpression(e,r){const i=transformAllDecoratorsOfDeclaration(getAllDecoratorsOfClassElement(r,e,!0));if(!i)return;const o=function getClassMemberPrefix(e,n){return isStatic(n)?t.getDeclarationName(e):function getClassPrototype(e){return t.createPropertyAccessExpression(t.getDeclarationName(e),"prototype")}(e)}(e,r),a=function getExpressionForPropertyName(e,n){const r=e.name;return isPrivateIdentifier(r)?t.createIdentifier(""):isComputedPropertyName(r)?n&&!isSimpleInlineableExpression(r.expression)?t.getGeneratedNameForNode(r):r.expression:isIdentifier(r)?t.createStringLiteral(idText(r)):t.cloneNode(r)}(r,!hasSyntacticModifier(r,128)),s=isPropertyDeclaration(r)&&!hasAccessorModifier(r)?t.createVoidZero():t.createNull(),c=n().createDecorateHelper(i,o,a,s);return setEmitFlags(c,3072),setSourceMapRange(c,moveRangePastModifiers(r)),c}function transformDecorator(e){return h.checkDefined(visitNode(e.expression,visitor,isExpression))}function transformDecoratorsOfParameter(e,t){let r;if(e){r=[];for(const i of e){const e=n().createParamHelper(transformDecorator(i),t);setTextRange(e,i.expression),setEmitFlags(e,3072),r.push(e)}}return r}}function transformESDecorators(e){const{factory:t,getEmitHelperFactory:n,startLexicalEnvironment:r,endLexicalEnvironment:i,hoistVariableDeclaration:o}=e,a=zn(e.getCompilerOptions());let s,c,l,d,p,u;return chainBundle(e,function transformSourceFile(t){s=void 0,u=!1;const n=visitEachChild(t,visitor,e);addEmitHelpers(n,e.readEmitHelpers()),u&&(addInternalEmitFlags(n,32),u=!1);return n});function updateState(){switch(c=void 0,l=void 0,d=void 0,null==s?void 0:s.kind){case"class":c=s.classInfo;break;case"class-element":c=s.next.classInfo,l=s.classThis,d=s.classSuper;break;case"name":const e=s.next.next.next;"class-element"===(null==e?void 0:e.kind)&&(c=e.next.classInfo,l=e.classThis,d=e.classSuper)}}function enterClass(e){s={kind:"class",next:s,classInfo:e,savedPendingExpressions:p},p=void 0,updateState()}function exitClass(){h.assert("class"===(null==s?void 0:s.kind),"Incorrect value for top.kind.",()=>`Expected top.kind to be 'class' but got '${null==s?void 0:s.kind}' instead.`),p=s.savedPendingExpressions,s=s.next,updateState()}function enterClassElement(e){var t,n;h.assert("class"===(null==s?void 0:s.kind),"Incorrect value for top.kind.",()=>`Expected top.kind to be 'class' but got '${null==s?void 0:s.kind}' instead.`),s={kind:"class-element",next:s},(isClassStaticBlockDeclaration(e)||isPropertyDeclaration(e)&&hasStaticModifier(e))&&(s.classThis=null==(t=s.next.classInfo)?void 0:t.classThis,s.classSuper=null==(n=s.next.classInfo)?void 0:n.classSuper),updateState()}function exitClassElement(){var e;h.assert("class-element"===(null==s?void 0:s.kind),"Incorrect value for top.kind.",()=>`Expected top.kind to be 'class-element' but got '${null==s?void 0:s.kind}' instead.`),h.assert("class"===(null==(e=s.next)?void 0:e.kind),"Incorrect value for top.next.kind.",()=>{var e;return`Expected top.next.kind to be 'class' but got '${null==(e=s.next)?void 0:e.kind}' instead.`}),s=s.next,updateState()}function enterName(){h.assert("class-element"===(null==s?void 0:s.kind),"Incorrect value for top.kind.",()=>`Expected top.kind to be 'class-element' but got '${null==s?void 0:s.kind}' instead.`),s={kind:"name",next:s},updateState()}function exitName(){h.assert("name"===(null==s?void 0:s.kind),"Incorrect value for top.kind.",()=>`Expected top.kind to be 'name' but got '${null==s?void 0:s.kind}' instead.`),s=s.next,updateState()}function visitor(n){if(!function shouldVisitNode(e){return!!(33554432&e.transformFlags)||!!l&&!!(16384&e.transformFlags)||!!l&&!!d&&!!(134217728&e.transformFlags)}(n))return n;switch(n.kind){case 171:return h.fail("Use `modifierVisitor` instead.");case 264:return function visitClassDeclaration(n){if(isDecoratedClassLike(n)){const r=[],i=getOriginalNode(n,isClassLike)??n,o=i.name?t.createStringLiteralFromNode(i.name):t.createStringLiteral("default"),a=hasSyntacticModifier(n,32),s=hasSyntacticModifier(n,2048);if(n.name||(n=injectClassNamedEvaluationHelperBlockIfMissing(e,n,o)),a&&s){const e=transformClassLike(n);if(n.name){const i=t.createVariableDeclaration(t.getLocalName(n),void 0,void 0,e);setOriginalNode(i,n);const o=t.createVariableDeclarationList([i],1),a=t.createVariableStatement(void 0,o);r.push(a);const s=t.createExportDefault(t.getDeclarationName(n));setOriginalNode(s,n),setCommentRange(s,getCommentRange(n)),setSourceMapRange(s,moveRangePastDecorators(n)),r.push(s)}else{const i=t.createExportDefault(e);setOriginalNode(i,n),setCommentRange(i,getCommentRange(n)),setSourceMapRange(i,moveRangePastDecorators(n)),r.push(i)}}else{h.assertIsDefined(n.name,"A class declaration that is not a default export must have a name.");const e=transformClassLike(n),i=a?e=>isExportModifier(e)?void 0:modifierVisitor(e):modifierVisitor,o=visitNodes2(n.modifiers,i,isModifier),s=t.getLocalName(n,!1,!0),c=t.createVariableDeclaration(s,void 0,void 0,e);setOriginalNode(c,n);const l=t.createVariableDeclarationList([c],1),d=t.createVariableStatement(o,l);if(setOriginalNode(d,n),setCommentRange(d,getCommentRange(n)),r.push(d),a){const e=t.createExternalModuleExport(s);setOriginalNode(e,n),r.push(e)}}return singleOrMany(r)}{const e=visitNodes2(n.modifiers,modifierVisitor,isModifier),r=visitNodes2(n.heritageClauses,visitor,isHeritageClause);enterClass(void 0);const i=visitNodes2(n.members,classElementVisitor,isClassElement);return exitClass(),t.updateClassDeclaration(n,e,n.name,void 0,r,i)}}(n);case 232:return function visitClassExpression(e){if(isDecoratedClassLike(e)){const t=transformClassLike(e);return setOriginalNode(t,e),t}{const n=visitNodes2(e.modifiers,modifierVisitor,isModifier),r=visitNodes2(e.heritageClauses,visitor,isHeritageClause);enterClass(void 0);const i=visitNodes2(e.members,classElementVisitor,isClassElement);return exitClass(),t.updateClassExpression(e,n,e.name,void 0,r,i)}}(n);case 177:case 173:case 176:return h.fail("Not supported outside of a class. Use 'classElementVisitor' instead.");case 170:return function visitParameterDeclaration(n){isNamedEvaluation(n,isAnonymousClassNeedingAssignedName)&&(n=transformNamedEvaluation(e,n,canIgnoreEmptyStringLiteralInAssignedName(n.initializer)));const r=t.updateParameterDeclaration(n,void 0,n.dotDotDotToken,visitNode(n.name,visitor,isBindingName),void 0,void 0,visitNode(n.initializer,visitor,isExpression));r!==n&&(setCommentRange(r,n),setTextRange(r,moveRangePastModifiers(n)),setSourceMapRange(r,moveRangePastModifiers(n)),setEmitFlags(r.name,64));return r}(n);case 227:return visitBinaryExpression(n,!1);case 304:return function visitPropertyAssignment(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t,canIgnoreEmptyStringLiteralInAssignedName(t.initializer)));return visitEachChild(t,visitor,e)}(n);case 261:return function visitVariableDeclaration(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t,canIgnoreEmptyStringLiteralInAssignedName(t.initializer)));return visitEachChild(t,visitor,e)}(n);case 209:return function visitBindingElement(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t,canIgnoreEmptyStringLiteralInAssignedName(t.initializer)));return visitEachChild(t,visitor,e)}(n);case 278:return function visitExportAssignment(t){isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t,canIgnoreEmptyStringLiteralInAssignedName(t.expression)));return visitEachChild(t,visitor,e)}(n);case 110:return function visitThisExpression(e){return l??e}(n);case 249:return function visitForStatement(n){return t.updateForStatement(n,visitNode(n.initializer,discardedValueVisitor,isForInitializer),visitNode(n.condition,visitor,isExpression),visitNode(n.incrementor,discardedValueVisitor,isExpression),visitIterationBody(n.statement,visitor,e))}(n);case 245:return function visitExpressionStatement(t){return visitEachChild(t,discardedValueVisitor,e)}(n);case 357:return visitCommaListExpression(n,!1);case 218:return visitParenthesizedExpression(n,!1);case 356:return function visitPartiallyEmittedExpression(e,n){const r=n?discardedValueVisitor:visitor,i=visitNode(e.expression,r,isExpression);return t.updatePartiallyEmittedExpression(e,i)}(n,!1);case 214:return function visitCallExpression(n){if(isSuperProperty(n.expression)&&l){const e=visitNode(n.expression,visitor,isExpression),r=visitNodes2(n.arguments,visitor,isExpression),i=t.createFunctionCallCall(e,l,r);return setOriginalNode(i,n),setTextRange(i,n),i}return visitEachChild(n,visitor,e)}(n);case 216:return function visitTaggedTemplateExpression(n){if(isSuperProperty(n.tag)&&l){const e=visitNode(n.tag,visitor,isExpression),r=t.createFunctionBindCall(e,l,[]);setOriginalNode(r,n),setTextRange(r,n);const i=visitNode(n.template,visitor,isTemplateLiteral);return t.updateTaggedTemplateExpression(n,r,void 0,i)}return visitEachChild(n,visitor,e)}(n);case 225:case 226:return visitPreOrPostfixUnaryExpression(n,!1);case 212:return function visitPropertyAccessExpression(n){if(isSuperProperty(n)&&isIdentifier(n.name)&&l&&d){const e=t.createStringLiteralFromNode(n.name),r=t.createReflectGetCall(d,e,l);return setOriginalNode(r,n.expression),setTextRange(r,n.expression),r}return visitEachChild(n,visitor,e)}(n);case 213:return function visitElementAccessExpression(n){if(isSuperProperty(n)&&l&&d){const e=visitNode(n.argumentExpression,visitor,isExpression),r=t.createReflectGetCall(d,e,l);return setOriginalNode(r,n.expression),setTextRange(r,n.expression),r}return visitEachChild(n,visitor,e)}(n);case 168:return visitComputedPropertyName(n);case 175:case 179:case 178:case 219:case 263:{!function enterOther(){"other"===(null==s?void 0:s.kind)?(h.assert(!p),s.depth++):(s={kind:"other",next:s,depth:0,savedPendingExpressions:p},p=void 0,updateState())}();const t=visitEachChild(n,fallbackVisitor,e);return function exitOther(){h.assert("other"===(null==s?void 0:s.kind),"Incorrect value for top.kind.",()=>`Expected top.kind to be 'other' but got '${null==s?void 0:s.kind}' instead.`),s.depth>0?(h.assert(!p),s.depth--):(p=s.savedPendingExpressions,s=s.next,updateState())}(),t}default:return visitEachChild(n,fallbackVisitor,e)}}function fallbackVisitor(e){if(171!==e.kind)return visitor(e)}function modifierVisitor(e){if(171!==e.kind)return e}function classElementVisitor(a){switch(a.kind){case 177:return function visitConstructorDeclaration(e){enterClassElement(e);const n=visitNodes2(e.modifiers,modifierVisitor,isModifier),r=visitNodes2(e.parameters,visitor,isParameter);let i;if(e.body&&c){const n=prepareConstructor(c.class,c);if(n){const r=[],o=t.copyPrologue(e.body.statements,r,!1,visitor),a=findSuperStatementIndexPath(e.body.statements,o);a.length>0?transformConstructorBodyWorker(r,e.body.statements,o,a,0,n):(addRange(r,n),addRange(r,visitNodes2(e.body.statements,visitor,isStatement))),i=t.createBlock(r,!0),setOriginalNode(i,e.body),setTextRange(i,e.body)}}return i??(i=visitNode(e.body,visitor,isBlock)),exitClassElement(),t.updateConstructorDeclaration(e,n,r,i)}(a);case 175:return function visitMethodDeclaration(e){enterClassElement(e);const{modifiers:n,name:r,descriptorName:i}=partialTransformClassElement(e,c,createMethodDescriptorObject);if(i)return exitClassElement(),finishClassElement(function createMethodDescriptorForwarder(e,n,r){return e=visitNodes2(e,e=>isStaticModifier(e)?e:void 0,isModifier),t.createGetAccessorDeclaration(e,n,[],void 0,t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(r,t.createIdentifier("value")))]))}(n,r,i),e);{const i=visitNodes2(e.parameters,visitor,isParameter),o=visitNode(e.body,visitor,isBlock);return exitClassElement(),finishClassElement(t.updateMethodDeclaration(e,n,e.asteriskToken,r,void 0,void 0,i,void 0,o),e)}}(a);case 178:return function visitGetAccessorDeclaration(e){enterClassElement(e);const{modifiers:n,name:r,descriptorName:i}=partialTransformClassElement(e,c,createGetAccessorDescriptorObject);if(i)return exitClassElement(),finishClassElement(createGetAccessorDescriptorForwarder(n,r,i),e);{const i=visitNodes2(e.parameters,visitor,isParameter),o=visitNode(e.body,visitor,isBlock);return exitClassElement(),finishClassElement(t.updateGetAccessorDeclaration(e,n,r,i,void 0,o),e)}}(a);case 179:return function visitSetAccessorDeclaration(e){enterClassElement(e);const{modifiers:n,name:r,descriptorName:i}=partialTransformClassElement(e,c,createSetAccessorDescriptorObject);if(i)return exitClassElement(),finishClassElement(createSetAccessorDescriptorForwarder(n,r,i),e);{const i=visitNodes2(e.parameters,visitor,isParameter),o=visitNode(e.body,visitor,isBlock);return exitClassElement(),finishClassElement(t.updateSetAccessorDeclaration(e,n,r,i,o),e)}}(a);case 173:return function visitPropertyDeclaration(a){isNamedEvaluation(a,isAnonymousClassNeedingAssignedName)&&(a=transformNamedEvaluation(e,a,canIgnoreEmptyStringLiteralInAssignedName(a.initializer)));enterClassElement(a),h.assert(!isAmbientPropertyDeclaration(a),"Not yet implemented.");const{modifiers:s,name:l,initializersName:d,extraInitializersName:p,descriptorName:u,thisArg:m}=partialTransformClassElement(a,c,hasAccessorModifier(a)?createAccessorPropertyDescriptorObject:void 0);r();let _=visitNode(a.initializer,visitor,isExpression);d&&(_=n().createRunInitializersHelper(m??t.createThis(),d,_??t.createVoidZero()));isStatic(a)&&c&&_&&(c.hasStaticInitializers=!0);const f=i();some(f)&&(_=t.createImmediatelyInvokedArrowFunction([...f,t.createReturnStatement(_)]));c&&(isStatic(a)?(_=injectPendingInitializers(c,!0,_),p&&(c.pendingStaticInitializers??(c.pendingStaticInitializers=[]),c.pendingStaticInitializers.push(n().createRunInitializersHelper(c.classThis??t.createThis(),p)))):(_=injectPendingInitializers(c,!1,_),p&&(c.pendingInstanceInitializers??(c.pendingInstanceInitializers=[]),c.pendingInstanceInitializers.push(n().createRunInitializersHelper(t.createThis(),p)))));if(exitClassElement(),hasAccessorModifier(a)&&u){const e=getCommentRange(a),n=getSourceMapRange(a),r=a.name;let i=r,c=r;if(isComputedPropertyName(r)&&!isSimpleInlineableExpression(r.expression)){const e=findComputedPropertyNameCacheAssignment(r);if(e)i=t.updateComputedPropertyName(r,visitNode(r.expression,visitor,isExpression)),c=t.updateComputedPropertyName(r,e.left);else{const e=t.createTempVariable(o);setSourceMapRange(e,r.expression);const n=visitNode(r.expression,visitor,isExpression),a=t.createAssignment(e,n);setSourceMapRange(a,r.expression),i=t.updateComputedPropertyName(r,a),c=t.updateComputedPropertyName(r,e)}}const l=visitNodes2(s,e=>129!==e.kind?e:void 0,isModifier),d=createAccessorPropertyBackingField(t,a,l,_);setOriginalNode(d,a),setEmitFlags(d,3072),setSourceMapRange(d,n),setSourceMapRange(d.name,a.name);const p=createGetAccessorDescriptorForwarder(l,i,u);setOriginalNode(p,a),setCommentRange(p,e),setSourceMapRange(p,n);const m=createSetAccessorDescriptorForwarder(l,c,u);return setOriginalNode(m,a),setEmitFlags(m,3072),setSourceMapRange(m,n),[d,p,m]}return finishClassElement(t.updatePropertyDeclaration(a,s,l,void 0,void 0,_),a)}(a);case 176:return function visitClassStaticBlockDeclaration(n){let r;if(enterClassElement(n),isClassNamedEvaluationHelperBlock(n))r=visitEachChild(n,visitor,e);else if(isClassThisAssignmentBlock(n)){const t=l;l=void 0,r=visitEachChild(n,visitor,e),l=t}else if(r=n=visitEachChild(n,visitor,e),c&&(c.hasStaticInitializers=!0,some(c.pendingStaticInitializers))){const e=[];for(const n of c.pendingStaticInitializers){const r=t.createExpressionStatement(n);setSourceMapRange(r,getSourceMapRange(n)),e.push(r)}const n=t.createBlock(e,!0);r=[t.createClassStaticBlockDeclaration(n),r],c.pendingStaticInitializers=void 0}return exitClassElement(),r}(a);default:return visitor(a)}}function discardedValueVisitor(e){switch(e.kind){case 225:case 226:return visitPreOrPostfixUnaryExpression(e,!0);case 227:return visitBinaryExpression(e,!0);case 357:return visitCommaListExpression(e,!0);case 218:return visitParenthesizedExpression(e,!0);default:return visitor(e)}}function createHelperVariable(e,n){return t.createUniqueName(`${function getHelperVariableName(e){let t=e.name&&isIdentifier(e.name)&&!isGeneratedIdentifier(e.name)?idText(e.name):e.name&&isPrivateIdentifier(e.name)&&!isGeneratedIdentifier(e.name)?idText(e.name).slice(1):e.name&&isStringLiteral(e.name)&&isIdentifierText(e.name.text,99)?e.name.text:isClassLike(e)?"class":"member";return isGetAccessor(e)&&(t=`get_${t}`),isSetAccessor(e)&&(t=`set_${t}`),e.name&&isPrivateIdentifier(e.name)&&(t=`private_${t}`),isStatic(e)&&(t=`static_${t}`),"_"+t}(e)}_${n}`,24)}function createLet(e,n){return t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(e,void 0,void 0,n)],1))}function transformClassLike(o){r(),!classHasDeclaredOrExplicitlyAssignedName(o)&&classOrConstructorParameterIsDecorated(!1,o)&&(o=injectClassNamedEvaluationHelperBlockIfMissing(e,o,t.createStringLiteral("")));const a=t.getLocalName(o,!1,!1,!0),s=function createClassInfo(e){const r=t.createUniqueName("_metadata",48);let i,o,a,s,c,l=!1,d=!1,p=!1;if(nodeIsDecorated(!1,e)){const n=some(e.members,e=>(isPrivateIdentifierClassElementDeclaration(e)||isAutoAccessorPropertyDeclaration(e))&&hasStaticModifier(e));a=t.createUniqueName("_classThis",n?24:48)}for(const r of e.members){if(isMethodOrAccessor(r)&&nodeOrChildIsDecorated(!1,r,e))if(hasStaticModifier(r)){if(!o){o=t.createUniqueName("_staticExtraInitializers",48);const r=n().createRunInitializersHelper(a??t.createThis(),o);setSourceMapRange(r,e.name??moveRangePastDecorators(e)),s??(s=[]),s.push(r)}}else{if(!i){i=t.createUniqueName("_instanceExtraInitializers",48);const r=n().createRunInitializersHelper(t.createThis(),i);setSourceMapRange(r,e.name??moveRangePastDecorators(e)),c??(c=[]),c.push(r)}i??(i=t.createUniqueName("_instanceExtraInitializers",48))}if(isClassStaticBlockDeclaration(r)?isClassNamedEvaluationHelperBlock(r)||(l=!0):isPropertyDeclaration(r)&&(hasStaticModifier(r)?l||(l=!!r.initializer||hasDecorators(r)):d||(d=!isAmbientPropertyDeclaration(r))),(isPrivateIdentifierClassElementDeclaration(r)||isAutoAccessorPropertyDeclaration(r))&&hasStaticModifier(r)&&(p=!0),o&&i&&l&&d&&p)break}return{class:e,classThis:a,metadataReference:r,instanceMethodExtraInitializersName:i,staticMethodExtraInitializersName:o,hasStaticInitializers:l,hasNonAmbientInstanceFields:d,hasStaticPrivateClassElements:p,pendingStaticInitializers:s,pendingInstanceInitializers:c}}(o),c=[];let l,d,m,_,f=!1;const g=transformAllDecoratorsOfDeclaration(getAllDecoratorsOfClass(o,!1));g&&(s.classDecoratorsName=t.createUniqueName("_classDecorators",48),s.classDescriptorName=t.createUniqueName("_classDescriptor",48),s.classExtraInitializersName=t.createUniqueName("_classExtraInitializers",48),h.assertIsDefined(s.classThis),c.push(createLet(s.classDecoratorsName,t.createArrayLiteralExpression(g)),createLet(s.classDescriptorName),createLet(s.classExtraInitializersName,t.createArrayLiteralExpression()),createLet(s.classThis)),s.hasStaticPrivateClassElements&&(f=!0,u=!0));const y=getHeritageClause(o.heritageClauses,96),T=y&&firstOrUndefined(y.types),S=T&&visitNode(T.expression,visitor,isExpression);if(S){s.classSuper=t.createUniqueName("_classSuper",48);const e=skipOuterExpressions(S),n=isClassExpression(e)&&!e.name||isFunctionExpression(e)&&!e.name||isArrowFunction(e)?t.createComma(t.createNumericLiteral(0),S):S;c.push(createLet(s.classSuper,n));const r=t.updateExpressionWithTypeArguments(T,s.classSuper,void 0),i=t.updateHeritageClause(y,[r]);_=t.createNodeArray([i])}const x=s.classThis??t.createThis();enterClass(s),l=append(l,function createMetadata(e,n){const r=t.createVariableDeclaration(e,void 0,void 0,t.createConditionalExpression(t.createLogicalAnd(t.createTypeCheck(t.createIdentifier("Symbol"),"function"),t.createPropertyAccessExpression(t.createIdentifier("Symbol"),"metadata")),t.createToken(58),t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"create"),void 0,[n?createSymbolMetadataReference(n):t.createNull()]),t.createToken(59),t.createVoidZero()));return t.createVariableStatement(void 0,t.createVariableDeclarationList([r],2))}(s.metadataReference,s.classSuper));let v=o.members;if(v=visitNodes2(v,e=>isConstructorDeclaration(e)?e:classElementVisitor(e),isClassElement),v=visitNodes2(v,e=>isConstructorDeclaration(e)?classElementVisitor(e):e,isClassElement),p){let n;for(let r of p){r=visitNode(r,function thisVisitor(r){return 16384&r.transformFlags?110===r.kind?(n||(n=t.createUniqueName("_outerThis",16),c.unshift(createLet(n,t.createThis()))),n):visitEachChild(r,thisVisitor,e):r},isExpression);l=append(l,t.createExpressionStatement(r))}p=void 0}if(exitClass(),some(s.pendingInstanceInitializers)&&!getFirstConstructorWithBody(o)){const e=prepareConstructor(o,s);if(e){const n=getEffectiveBaseTypeNode(o),r=[];if(!(!n||106===skipOuterExpressions(n.expression).kind)){const e=t.createSpreadElement(t.createIdentifier("arguments")),n=t.createCallExpression(t.createSuper(),void 0,[e]);r.push(t.createExpressionStatement(n))}addRange(r,e);const i=t.createBlock(r,!0);m=t.createConstructorDeclaration(void 0,[],i)}}if(s.staticMethodExtraInitializersName&&c.push(createLet(s.staticMethodExtraInitializersName,t.createArrayLiteralExpression())),s.instanceMethodExtraInitializersName&&c.push(createLet(s.instanceMethodExtraInitializersName,t.createArrayLiteralExpression())),s.memberInfos&&forEachEntry(s.memberInfos,(e,n)=>{isStatic(n)&&(c.push(createLet(e.memberDecoratorsName)),e.memberInitializersName&&c.push(createLet(e.memberInitializersName,t.createArrayLiteralExpression())),e.memberExtraInitializersName&&c.push(createLet(e.memberExtraInitializersName,t.createArrayLiteralExpression())),e.memberDescriptorName&&c.push(createLet(e.memberDescriptorName)))}),s.memberInfos&&forEachEntry(s.memberInfos,(e,n)=>{isStatic(n)||(c.push(createLet(e.memberDecoratorsName)),e.memberInitializersName&&c.push(createLet(e.memberInitializersName,t.createArrayLiteralExpression())),e.memberExtraInitializersName&&c.push(createLet(e.memberExtraInitializersName,t.createArrayLiteralExpression())),e.memberDescriptorName&&c.push(createLet(e.memberDescriptorName)))}),l=addRange(l,s.staticNonFieldDecorationStatements),l=addRange(l,s.nonStaticNonFieldDecorationStatements),l=addRange(l,s.staticFieldDecorationStatements),l=addRange(l,s.nonStaticFieldDecorationStatements),s.classDescriptorName&&s.classDecoratorsName&&s.classExtraInitializersName&&s.classThis){l??(l=[]);const e=t.createPropertyAssignment("value",x),r=t.createObjectLiteralExpression([e]),i=t.createAssignment(s.classDescriptorName,r),c=t.createPropertyAccessExpression(x,"name"),d=n().createESDecorateHelper(t.createNull(),i,s.classDecoratorsName,{kind:"class",name:c,metadata:s.metadataReference},t.createNull(),s.classExtraInitializersName),p=t.createExpressionStatement(d);setSourceMapRange(p,moveRangePastDecorators(o)),l.push(p);const u=t.createPropertyAccessExpression(s.classDescriptorName,"value"),m=t.createAssignment(s.classThis,u),_=t.createAssignment(a,m);l.push(t.createExpressionStatement(_))}if(l.push(function createSymbolMetadata(e,n){const r=t.createObjectDefinePropertyCall(e,t.createPropertyAccessExpression(t.createIdentifier("Symbol"),"metadata"),t.createPropertyDescriptor({configurable:!0,writable:!0,enumerable:!0,value:n},!0));return setEmitFlags(t.createIfStatement(n,t.createExpressionStatement(r)),1)}(x,s.metadataReference)),some(s.pendingStaticInitializers)){for(const e of s.pendingStaticInitializers){const n=t.createExpressionStatement(e);setSourceMapRange(n,getSourceMapRange(e)),d=append(d,n)}s.pendingStaticInitializers=void 0}if(s.classExtraInitializersName){const e=n().createRunInitializersHelper(x,s.classExtraInitializersName),r=t.createExpressionStatement(e);setSourceMapRange(r,o.name??moveRangePastDecorators(o)),d=append(d,r)}l&&d&&!s.hasStaticInitializers&&(addRange(l,d),d=void 0);const b=l&&t.createClassStaticBlockDeclaration(t.createBlock(l,!0));b&&f&&setInternalEmitFlags(b,32);const C=d&&t.createClassStaticBlockDeclaration(t.createBlock(d,!0));if(b||m||C){const e=[],n=v.findIndex(isClassNamedEvaluationHelperBlock);b?(addRange(e,v,0,n+1),e.push(b),addRange(e,v,n+1)):addRange(e,v),m&&e.push(m),C&&e.push(C),v=setTextRange(t.createNodeArray(e),v)}const E=i();let N;if(g){N=t.createClassExpression(void 0,void 0,void 0,_,v),s.classThis&&(N=injectClassThisAssignmentIfMissing(t,N,s.classThis));const e=t.createVariableDeclaration(a,void 0,void 0,N),n=t.createVariableDeclarationList([e]),r=s.classThis?t.createAssignment(a,s.classThis):a;c.push(t.createVariableStatement(void 0,n),t.createReturnStatement(r))}else N=t.createClassExpression(void 0,o.name,void 0,_,v),c.push(t.createReturnStatement(N));if(f){addInternalEmitFlags(N,32);for(const e of N.members)(isPrivateIdentifierClassElementDeclaration(e)||isAutoAccessorPropertyDeclaration(e))&&hasStaticModifier(e)&&addInternalEmitFlags(e,32)}return setOriginalNode(N,o),t.createImmediatelyInvokedArrowFunction(t.mergeLexicalEnvironment(c,E))}function isDecoratedClassLike(e){return classOrConstructorParameterIsDecorated(!1,e)||childIsDecorated(!1,e)}function prepareConstructor(e,n){if(some(n.pendingInstanceInitializers)){const e=[];return e.push(t.createExpressionStatement(t.inlineExpressions(n.pendingInstanceInitializers))),n.pendingInstanceInitializers=void 0,e}}function transformConstructorBodyWorker(e,n,r,i,o,a){const s=i[o],c=n[s];if(addRange(e,visitNodes2(n,visitor,isStatement,r,s-r)),isTryStatement(c)){const n=[];transformConstructorBodyWorker(n,c.tryBlock.statements,0,i,o+1,a);setTextRange(t.createNodeArray(n),c.tryBlock.statements),e.push(t.updateTryStatement(c,t.updateBlock(c.tryBlock,n),visitNode(c.catchClause,visitor,isCatchClause),visitNode(c.finallyBlock,visitor,isBlock)))}else addRange(e,visitNodes2(n,visitor,isStatement,s,1)),addRange(e,a);addRange(e,visitNodes2(n,visitor,isStatement,s+1))}function finishClassElement(e,t){return e!==t&&(setCommentRange(e,t),setSourceMapRange(e,moveRangePastDecorators(t))),e}function partialTransformClassElement(e,r,i){let a,s,c,l,d,u;if(!r){const t=visitNodes2(e.modifiers,modifierVisitor,isModifier);return enterName(),s=visitPropertyName(e.name),exitName(),{modifiers:t,referencedName:a,name:s,initializersName:c,descriptorName:u,thisArg:d}}const m=transformAllDecoratorsOfDeclaration(getAllDecoratorsOfClassElement(e,r.class,!1)),_=visitNodes2(e.modifiers,modifierVisitor,isModifier);if(m){const f=createHelperVariable(e,"decorators"),g=t.createArrayLiteralExpression(m),y=t.createAssignment(f,g),T={memberDecoratorsName:f};r.memberInfos??(r.memberInfos=new Map),r.memberInfos.set(e,T),p??(p=[]),p.push(y);const S=isMethodOrAccessor(e)||isAutoAccessorPropertyDeclaration(e)?isStatic(e)?r.staticNonFieldDecorationStatements??(r.staticNonFieldDecorationStatements=[]):r.nonStaticNonFieldDecorationStatements??(r.nonStaticNonFieldDecorationStatements=[]):isPropertyDeclaration(e)&&!isAutoAccessorPropertyDeclaration(e)?isStatic(e)?r.staticFieldDecorationStatements??(r.staticFieldDecorationStatements=[]):r.nonStaticFieldDecorationStatements??(r.nonStaticFieldDecorationStatements=[]):h.fail(),x=isGetAccessorDeclaration(e)?"getter":isSetAccessorDeclaration(e)?"setter":isMethodDeclaration(e)?"method":isAutoAccessorPropertyDeclaration(e)?"accessor":isPropertyDeclaration(e)?"field":h.fail();let v;if(isIdentifier(e.name)||isPrivateIdentifier(e.name))v={computed:!1,name:e.name};else if(isPropertyNameLiteral(e.name))v={computed:!0,name:t.createStringLiteralFromNode(e.name)};else{const r=e.name.expression;isPropertyNameLiteral(r)&&!isIdentifier(r)?v={computed:!0,name:t.createStringLiteralFromNode(r)}:(enterName(),({referencedName:a,name:s}=function visitReferencedPropertyName(e){if(isPropertyNameLiteral(e)||isPrivateIdentifier(e)){return{referencedName:t.createStringLiteralFromNode(e),name:visitNode(e,visitor,isPropertyName)}}if(isPropertyNameLiteral(e.expression)&&!isIdentifier(e.expression)){return{referencedName:t.createStringLiteralFromNode(e.expression),name:visitNode(e,visitor,isPropertyName)}}const r=t.getGeneratedNameForNode(e);o(r);const i=n().createPropKeyHelper(visitNode(e.expression,visitor,isExpression)),a=t.createAssignment(r,i),s=t.updateComputedPropertyName(e,injectPendingExpressions(a));return{referencedName:r,name:s}}(e.name)),v={computed:!0,name:a},exitName())}const b={kind:x,name:v,static:isStatic(e),private:isPrivateIdentifier(e.name),access:{get:isPropertyDeclaration(e)||isGetAccessorDeclaration(e)||isMethodDeclaration(e),set:isPropertyDeclaration(e)||isSetAccessorDeclaration(e)},metadata:r.metadataReference};if(isMethodOrAccessor(e)){const o=isStatic(e)?r.staticMethodExtraInitializersName:r.instanceMethodExtraInitializersName;let a;h.assertIsDefined(o),isPrivateIdentifierClassElementDeclaration(e)&&i&&(a=i(e,visitNodes2(_,e=>tryCast(e,isAsyncModifier),isModifier)),T.memberDescriptorName=u=createHelperVariable(e,"descriptor"),a=t.createAssignment(u,a));const s=n().createESDecorateHelper(t.createThis(),a??t.createNull(),f,b,t.createNull(),o),c=t.createExpressionStatement(s);setSourceMapRange(c,moveRangePastDecorators(e)),S.push(c)}else if(isPropertyDeclaration(e)){let o;c=T.memberInitializersName??(T.memberInitializersName=createHelperVariable(e,"initializers")),l=T.memberExtraInitializersName??(T.memberExtraInitializersName=createHelperVariable(e,"extraInitializers")),isStatic(e)&&(d=r.classThis),isPrivateIdentifierClassElementDeclaration(e)&&hasAccessorModifier(e)&&i&&(o=i(e,void 0),T.memberDescriptorName=u=createHelperVariable(e,"descriptor"),o=t.createAssignment(u,o));const a=n().createESDecorateHelper(isAutoAccessorPropertyDeclaration(e)?t.createThis():t.createNull(),o??t.createNull(),f,b,c,l),s=t.createExpressionStatement(a);setSourceMapRange(s,moveRangePastDecorators(e)),S.push(s)}}return void 0===s&&(enterName(),s=visitPropertyName(e.name),exitName()),some(_)||!isMethodDeclaration(e)&&!isPropertyDeclaration(e)||setEmitFlags(s,1024),{modifiers:_,referencedName:a,name:s,initializersName:c,extraInitializersName:l,descriptorName:u,thisArg:d}}function isAnonymousClassNeedingAssignedName(e){return isClassExpression(e)&&!e.name&&isDecoratedClassLike(e)}function canIgnoreEmptyStringLiteralInAssignedName(e){const t=skipOuterExpressions(e);return isClassExpression(t)&&!t.name&&!classOrConstructorParameterIsDecorated(!1,t)}function visitBinaryExpression(n,r){if(isDestructuringAssignment(n)){const e=visitAssignmentPattern(n.left),r=visitNode(n.right,visitor,isExpression);return t.updateBinaryExpression(n,e,n.operatorToken,r)}if(isAssignmentExpression(n)){if(isNamedEvaluation(n,isAnonymousClassNeedingAssignedName))return visitEachChild(n=transformNamedEvaluation(e,n,canIgnoreEmptyStringLiteralInAssignedName(n.right)),visitor,e);if(isSuperProperty(n.left)&&l&&d){let e=isElementAccessExpression(n.left)?visitNode(n.left.argumentExpression,visitor,isExpression):isIdentifier(n.left.name)?t.createStringLiteralFromNode(n.left.name):void 0;if(e){let i=visitNode(n.right,visitor,isExpression);if(isCompoundAssignment(n.operatorToken.kind)){let r=e;isSimpleInlineableExpression(e)||(r=t.createTempVariable(o),e=t.createAssignment(r,e));const a=t.createReflectGetCall(d,r,l);setOriginalNode(a,n.left),setTextRange(a,n.left),i=t.createBinaryExpression(a,getNonAssignmentOperatorForCompoundAssignment(n.operatorToken.kind),i),setTextRange(i,n)}const a=r?void 0:t.createTempVariable(o);return a&&(i=t.createAssignment(a,i),setTextRange(a,n)),i=t.createReflectSetCall(d,e,i,l),setOriginalNode(i,n),setTextRange(i,n),a&&(i=t.createComma(i,a),setTextRange(i,n)),i}}}if(28===n.operatorToken.kind){const e=visitNode(n.left,discardedValueVisitor,isExpression),i=visitNode(n.right,r?discardedValueVisitor:visitor,isExpression);return t.updateBinaryExpression(n,e,n.operatorToken,i)}return visitEachChild(n,visitor,e)}function visitPreOrPostfixUnaryExpression(n,r){if(46===n.operator||47===n.operator){const e=skipParentheses(n.operand);if(isSuperProperty(e)&&l&&d){let i=isElementAccessExpression(e)?visitNode(e.argumentExpression,visitor,isExpression):isIdentifier(e.name)?t.createStringLiteralFromNode(e.name):void 0;if(i){let e=i;isSimpleInlineableExpression(i)||(e=t.createTempVariable(o),i=t.createAssignment(e,i));let a=t.createReflectGetCall(d,e,l);setOriginalNode(a,n),setTextRange(a,n);const s=r?void 0:t.createTempVariable(o);return a=expandPreOrPostfixIncrementOrDecrementExpression(t,n,a,o,s),a=t.createReflectSetCall(d,i,a,l),setOriginalNode(a,n),setTextRange(a,n),s&&(a=t.createComma(a,s),setTextRange(a,n)),a}}}return visitEachChild(n,visitor,e)}function visitCommaListExpression(e,n){const r=n?visitCommaListElements(e.elements,discardedValueVisitor):visitCommaListElements(e.elements,visitor,discardedValueVisitor);return t.updateCommaListExpression(e,r)}function visitPropertyName(e){return isComputedPropertyName(e)?visitComputedPropertyName(e):visitNode(e,visitor,isPropertyName)}function visitComputedPropertyName(e){let n=visitNode(e.expression,visitor,isExpression);return isSimpleInlineableExpression(n)||(n=injectPendingExpressions(n)),t.updateComputedPropertyName(e,n)}function visitDestructuringAssignmentTarget(n){if(isObjectLiteralExpression(n)||isArrayLiteralExpression(n))return visitAssignmentPattern(n);if(isSuperProperty(n)&&l&&d){const e=isElementAccessExpression(n)?visitNode(n.argumentExpression,visitor,isExpression):isIdentifier(n.name)?t.createStringLiteralFromNode(n.name):void 0;if(e){const r=t.createTempVariable(void 0),i=t.createAssignmentTargetWrapper(r,t.createReflectSetCall(d,e,r,l));return setOriginalNode(i,n),setTextRange(i,n),i}}return visitEachChild(n,visitor,e)}function visitAssignmentElement(n){if(isAssignmentExpression(n,!0)){isNamedEvaluation(n,isAnonymousClassNeedingAssignedName)&&(n=transformNamedEvaluation(e,n,canIgnoreEmptyStringLiteralInAssignedName(n.right)));const r=visitDestructuringAssignmentTarget(n.left),i=visitNode(n.right,visitor,isExpression);return t.updateBinaryExpression(n,r,n.operatorToken,i)}return visitDestructuringAssignmentTarget(n)}function visitArrayAssignmentElement(n){return h.assertNode(n,isArrayBindingOrAssignmentElement),isSpreadElement(n)?function visitAssignmentRestElement(n){if(isLeftHandSideExpression(n.expression)){const e=visitDestructuringAssignmentTarget(n.expression);return t.updateSpreadElement(n,e)}return visitEachChild(n,visitor,e)}(n):isOmittedExpression(n)?visitEachChild(n,visitor,e):visitAssignmentElement(n)}function visitObjectAssignmentElement(n){return h.assertNode(n,isObjectBindingOrAssignmentElement),isSpreadAssignment(n)?function visitAssignmentRestProperty(n){if(isLeftHandSideExpression(n.expression)){const e=visitDestructuringAssignmentTarget(n.expression);return t.updateSpreadAssignment(n,e)}return visitEachChild(n,visitor,e)}(n):isShorthandPropertyAssignment(n)?function visitShorthandAssignmentProperty(t){return isNamedEvaluation(t,isAnonymousClassNeedingAssignedName)&&(t=transformNamedEvaluation(e,t,canIgnoreEmptyStringLiteralInAssignedName(t.objectAssignmentInitializer))),visitEachChild(t,visitor,e)}(n):isPropertyAssignment(n)?function visitAssignmentProperty(n){const r=visitNode(n.name,visitor,isPropertyName);if(isAssignmentExpression(n.initializer,!0)){const e=visitAssignmentElement(n.initializer);return t.updatePropertyAssignment(n,r,e)}if(isLeftHandSideExpression(n.initializer)){const e=visitDestructuringAssignmentTarget(n.initializer);return t.updatePropertyAssignment(n,r,e)}return visitEachChild(n,visitor,e)}(n):visitEachChild(n,visitor,e)}function visitAssignmentPattern(e){if(isArrayLiteralExpression(e)){const n=visitNodes2(e.elements,visitArrayAssignmentElement,isExpression);return t.updateArrayLiteralExpression(e,n)}{const n=visitNodes2(e.properties,visitObjectAssignmentElement,isObjectLiteralElementLike);return t.updateObjectLiteralExpression(e,n)}}function visitParenthesizedExpression(e,n){const r=n?discardedValueVisitor:visitor,i=visitNode(e.expression,r,isExpression);return t.updateParenthesizedExpression(e,i)}function injectPendingExpressionsCommon(e,n){return some(e)&&(n?isParenthesizedExpression(n)?(e.push(n.expression),n=t.updateParenthesizedExpression(n,t.inlineExpressions(e))):(e.push(n),n=t.inlineExpressions(e)):n=t.inlineExpressions(e)),n}function injectPendingExpressions(e){const t=injectPendingExpressionsCommon(p,e);return h.assertIsDefined(t),t!==e&&(p=void 0),t}function injectPendingInitializers(e,t,n){const r=injectPendingExpressionsCommon(t?e.pendingStaticInitializers:e.pendingInstanceInitializers,n);return r!==n&&(t?e.pendingStaticInitializers=void 0:e.pendingInstanceInitializers=void 0),r}function transformAllDecoratorsOfDeclaration(e){if(!e)return;const t=[];return addRange(t,map(e.decorators,transformDecorator)),t}function transformDecorator(e){const n=visitNode(e.expression,visitor,isExpression);setEmitFlags(n,3072);if(isAccessExpression(skipOuterExpressions(n))){const{target:e,thisArg:r}=t.createCallBinding(n,o,a,!0);return t.restoreOuterExpressions(n,t.createFunctionBindCall(e,r,[]))}return n}function createDescriptorMethod(e,r,i,o,a,s,c){const l=t.createFunctionExpression(i,o,void 0,void 0,s,void 0,c??t.createBlock([]));setOriginalNode(l,e),setSourceMapRange(l,moveRangePastDecorators(e)),setEmitFlags(l,3072);const d="get"===a||"set"===a?a:void 0,p=t.createStringLiteralFromNode(r,void 0),u=n().createSetFunctionNameHelper(l,p,d),m=t.createPropertyAssignment(t.createIdentifier(a),u);return setOriginalNode(m,e),setSourceMapRange(m,moveRangePastDecorators(e)),setEmitFlags(m,3072),m}function createMethodDescriptorObject(e,n){return t.createObjectLiteralExpression([createDescriptorMethod(e,e.name,n,e.asteriskToken,"value",visitNodes2(e.parameters,visitor,isParameter),visitNode(e.body,visitor,isBlock))])}function createGetAccessorDescriptorObject(e,n){return t.createObjectLiteralExpression([createDescriptorMethod(e,e.name,n,void 0,"get",[],visitNode(e.body,visitor,isBlock))])}function createSetAccessorDescriptorObject(e,n){return t.createObjectLiteralExpression([createDescriptorMethod(e,e.name,n,void 0,"set",visitNodes2(e.parameters,visitor,isParameter),visitNode(e.body,visitor,isBlock))])}function createAccessorPropertyDescriptorObject(e,n){return t.createObjectLiteralExpression([createDescriptorMethod(e,e.name,n,void 0,"get",[],t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(t.createThis(),t.getGeneratedPrivateNameForNode(e.name)))])),createDescriptorMethod(e,e.name,n,void 0,"set",[t.createParameterDeclaration(void 0,void 0,"value")],t.createBlock([t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createThis(),t.getGeneratedPrivateNameForNode(e.name)),t.createIdentifier("value")))]))])}function createGetAccessorDescriptorForwarder(e,n,r){return e=visitNodes2(e,e=>isStaticModifier(e)?e:void 0,isModifier),t.createGetAccessorDeclaration(e,n,[],void 0,t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(r,t.createIdentifier("get")),t.createThis(),[]))]))}function createSetAccessorDescriptorForwarder(e,n,r){return e=visitNodes2(e,e=>isStaticModifier(e)?e:void 0,isModifier),t.createSetAccessorDeclaration(e,n,[t.createParameterDeclaration(void 0,void 0,"value")],t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(r,t.createIdentifier("set")),t.createThis(),[t.createIdentifier("value")]))]))}function createSymbolMetadataReference(e){return t.createBinaryExpression(t.createElementAccessExpression(e,t.createPropertyAccessExpression(t.createIdentifier("Symbol"),"metadata")),61,t.createNull())}}function transformES2017(e){const{factory:t,getEmitHelperFactory:n,resumeLexicalEnvironment:r,endLexicalEnvironment:i,hoistVariableDeclaration:o}=e,a=e.getEmitResolver(),s=e.getCompilerOptions(),c=zn(s);let l,d,p,u,m=0,_=0;const f=[];let g=0;const y=e.onEmitNode,T=e.onSubstituteNode;return e.onEmitNode=function onEmitNode(e,t,n){if(1&m&&function isSuperContainer(e){const t=e.kind;return 264===t||177===t||175===t||178===t||179===t}(t)){const r=(a.hasNodeCheckFlag(t,128)?128:0)|(a.hasNodeCheckFlag(t,256)?256:0);if(r!==_){const i=_;return _=r,y(e,t,n),void(_=i)}}else if(m&&f[getNodeId(t)]){const r=_;return _=0,y(e,t,n),void(_=r)}y(e,t,n)},e.onSubstituteNode=function onSubstituteNode(e,n){if(n=T(e,n),1===e&&_)return function substituteExpression(e){switch(e.kind){case 212:return substitutePropertyAccessExpression(e);case 213:return substituteElementAccessExpression(e);case 214:return function substituteCallExpression(e){const n=e.expression;if(isSuperProperty(n)){const r=isPropertyAccessExpression(n)?substitutePropertyAccessExpression(n):substituteElementAccessExpression(n);return t.createCallExpression(t.createPropertyAccessExpression(r,"call"),void 0,[t.createThis(),...e.arguments])}return e}(e)}return e}(n);return n},chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile)return t;setContextFlag(1,!1),setContextFlag(2,!isEffectiveStrictModeSourceFile(t,s));const n=visitEachChild(t,visitor,e);return addEmitHelpers(n,e.readEmitHelpers()),n});function setContextFlag(e,t){g=t?g|e:g&~e}function inContext(e){return 0!==(g&e)}function doWithContext(e,t,n){const r=e&~g;if(r){setContextFlag(r,!0);const e=t(n);return setContextFlag(r,!1),e}return t(n)}function visitDefault(t){return visitEachChild(t,visitor,e)}function argumentsVisitor(t){switch(t.kind){case 219:case 263:case 175:case 178:case 179:case 177:return t;case 170:case 209:case 261:break;case 80:if(u&&a.isArgumentsLocalBinding(t))return u}return visitEachChild(t,argumentsVisitor,e)}function visitor(n){if(!(256&n.transformFlags))return u?argumentsVisitor(n):n;switch(n.kind){case 134:return;case 224:return function visitAwaitExpression(n){if(function inTopLevelContext(){return!inContext(1)}())return visitEachChild(n,visitor,e);return setOriginalNode(setTextRange(t.createYieldExpression(void 0,visitNode(n.expression,visitor,isExpression)),n),n)}(n);case 175:return doWithContext(3,visitMethodDeclaration,n);case 263:return doWithContext(3,visitFunctionDeclaration,n);case 219:return doWithContext(3,visitFunctionExpression,n);case 220:return doWithContext(1,visitArrowFunction,n);case 212:return d&&isPropertyAccessExpression(n)&&108===n.expression.kind&&d.add(n.name.escapedText),visitEachChild(n,visitor,e);case 213:return d&&108===n.expression.kind&&(p=!0),visitEachChild(n,visitor,e);case 178:return doWithContext(3,visitGetAccessorDeclaration,n);case 179:return doWithContext(3,visitSetAccessorDeclaration,n);case 177:return doWithContext(3,visitConstructorDeclaration,n);case 264:case 232:return doWithContext(3,visitDefault,n);default:return visitEachChild(n,visitor,e)}}function asyncBodyVisitor(n){if(isNodeWithPossibleHoistedDeclaration(n))switch(n.kind){case 244:return function visitVariableStatementInAsyncBody(n){if(isVariableDeclarationListWithCollidingName(n.declarationList)){const e=visitVariableDeclarationListWithCollidingNames(n.declarationList,!1);return e?t.createExpressionStatement(e):void 0}return visitEachChild(n,visitor,e)}(n);case 249:return function visitForStatementInAsyncBody(n){const r=n.initializer;return t.updateForStatement(n,isVariableDeclarationListWithCollidingName(r)?visitVariableDeclarationListWithCollidingNames(r,!1):visitNode(n.initializer,visitor,isForInitializer),visitNode(n.condition,visitor,isExpression),visitNode(n.incrementor,visitor,isExpression),visitIterationBody(n.statement,asyncBodyVisitor,e))}(n);case 250:return function visitForInStatementInAsyncBody(n){return t.updateForInStatement(n,isVariableDeclarationListWithCollidingName(n.initializer)?visitVariableDeclarationListWithCollidingNames(n.initializer,!0):h.checkDefined(visitNode(n.initializer,visitor,isForInitializer)),h.checkDefined(visitNode(n.expression,visitor,isExpression)),visitIterationBody(n.statement,asyncBodyVisitor,e))}(n);case 251:return function visitForOfStatementInAsyncBody(n){return t.updateForOfStatement(n,visitNode(n.awaitModifier,visitor,isAwaitKeyword),isVariableDeclarationListWithCollidingName(n.initializer)?visitVariableDeclarationListWithCollidingNames(n.initializer,!0):h.checkDefined(visitNode(n.initializer,visitor,isForInitializer)),h.checkDefined(visitNode(n.expression,visitor,isExpression)),visitIterationBody(n.statement,asyncBodyVisitor,e))}(n);case 300:return function visitCatchClauseInAsyncBody(t){const n=new Set;let r;if(recordDeclarationName(t.variableDeclaration,n),n.forEach((e,t)=>{l.has(t)&&(r||(r=new Set(l)),r.delete(t))}),r){const n=l;l=r;const i=visitEachChild(t,asyncBodyVisitor,e);return l=n,i}return visitEachChild(t,asyncBodyVisitor,e)}(n);case 242:case 256:case 270:case 297:case 298:case 259:case 247:case 248:case 246:case 255:case 257:return visitEachChild(n,asyncBodyVisitor,e);default:return h.assertNever(n,"Unhandled node.")}return visitor(n)}function visitConstructorDeclaration(n){const r=u;u=void 0;const i=t.updateConstructorDeclaration(n,visitNodes2(n.modifiers,visitor,isModifier),visitParameterList(n.parameters,visitor,e),transformMethodBody(n));return u=r,i}function visitMethodDeclaration(n){let r;const i=getFunctionFlags(n),o=u;u=void 0;const a=t.updateMethodDeclaration(n,visitNodes2(n.modifiers,visitor,isModifierLike),n.asteriskToken,n.name,void 0,void 0,r=2&i?transformAsyncFunctionParameterList(n):visitParameterList(n.parameters,visitor,e),void 0,2&i?transformAsyncFunctionBody(n,r):transformMethodBody(n));return u=o,a}function visitGetAccessorDeclaration(n){const r=u;u=void 0;const i=t.updateGetAccessorDeclaration(n,visitNodes2(n.modifiers,visitor,isModifierLike),n.name,visitParameterList(n.parameters,visitor,e),void 0,transformMethodBody(n));return u=r,i}function visitSetAccessorDeclaration(n){const r=u;u=void 0;const i=t.updateSetAccessorDeclaration(n,visitNodes2(n.modifiers,visitor,isModifierLike),n.name,visitParameterList(n.parameters,visitor,e),transformMethodBody(n));return u=r,i}function visitFunctionDeclaration(n){let r;const i=u;u=void 0;const o=getFunctionFlags(n),a=t.updateFunctionDeclaration(n,visitNodes2(n.modifiers,visitor,isModifierLike),n.asteriskToken,n.name,void 0,r=2&o?transformAsyncFunctionParameterList(n):visitParameterList(n.parameters,visitor,e),void 0,2&o?transformAsyncFunctionBody(n,r):visitFunctionBody(n.body,visitor,e));return u=i,a}function visitFunctionExpression(n){let r;const i=u;u=void 0;const o=getFunctionFlags(n),a=t.updateFunctionExpression(n,visitNodes2(n.modifiers,visitor,isModifier),n.asteriskToken,n.name,void 0,r=2&o?transformAsyncFunctionParameterList(n):visitParameterList(n.parameters,visitor,e),void 0,2&o?transformAsyncFunctionBody(n,r):visitFunctionBody(n.body,visitor,e));return u=i,a}function visitArrowFunction(n){let r;const i=getFunctionFlags(n);return t.updateArrowFunction(n,visitNodes2(n.modifiers,visitor,isModifier),void 0,r=2&i?transformAsyncFunctionParameterList(n):visitParameterList(n.parameters,visitor,e),void 0,n.equalsGreaterThanToken,2&i?transformAsyncFunctionBody(n,r):visitFunctionBody(n.body,visitor,e))}function recordDeclarationName({name:e},t){if(isIdentifier(e))t.add(e.escapedText);else for(const n of e.elements)isOmittedExpression(n)||recordDeclarationName(n,t)}function isVariableDeclarationListWithCollidingName(e){return!!e&&isVariableDeclarationList(e)&&!(7&e.flags)&&e.declarations.some(collidesWithParameterName)}function visitVariableDeclarationListWithCollidingNames(e,n){!function hoistVariableDeclarationList(e){forEach(e.declarations,hoistVariable)}(e);const r=getInitializedVariables(e);return 0===r.length?n?visitNode(t.converters.convertToAssignmentElementTarget(e.declarations[0].name),visitor,isExpression):void 0:t.inlineExpressions(map(r,transformInitializedVariable))}function hoistVariable({name:e}){if(isIdentifier(e))o(e);else for(const t of e.elements)isOmittedExpression(t)||hoistVariable(t)}function transformInitializedVariable(e){const n=setSourceMapRange(t.createAssignment(t.converters.convertToAssignmentElementTarget(e.name),e.initializer),e);return h.checkDefined(visitNode(n,visitor,isExpression))}function collidesWithParameterName({name:e}){if(isIdentifier(e))return l.has(e.escapedText);for(const t of e.elements)if(!isOmittedExpression(t)&&collidesWithParameterName(t))return!0;return!1}function transformMethodBody(n){h.assertIsDefined(n.body);const r=d,i=p;d=new Set,p=!1;let o=visitFunctionBody(n.body,visitor,e);const s=getOriginalNode(n,isFunctionLikeDeclaration);if(c>=2&&(a.hasNodeCheckFlag(n,256)||a.hasNodeCheckFlag(n,128))&&!!(3&~getFunctionFlags(s))){if(enableSubstitutionForAsyncMethodsWithSuper(),d.size){const e=createSuperAccessVariableStatement(t,a,n,d);f[getNodeId(e)]=!0;const r=o.statements.slice();insertStatementsAfterStandardPrologue(r,[e]),o=t.updateBlock(o,r)}p&&(a.hasNodeCheckFlag(n,256)?addEmitHelper(o,Si):a.hasNodeCheckFlag(n,128)&&addEmitHelper(o,Ti))}return d=r,p=i,o}function createCaptureArgumentsStatement(){h.assert(u);const e=t.createVariableDeclaration(u,void 0,void 0,t.createIdentifier("arguments")),n=t.createVariableStatement(void 0,[e]);return startOnNewLine(n),addEmitFlags(n,2097152),n}function transformAsyncFunctionParameterList(n){if(isSimpleParameterList(n.parameters))return visitParameterList(n.parameters,visitor,e);const r=[];for(const e of n.parameters){if(e.initializer||e.dotDotDotToken){if(220===n.kind){const e=t.createParameterDeclaration(void 0,t.createToken(26),t.createUniqueName("args",8));r.push(e)}break}const i=t.createParameterDeclaration(void 0,void 0,t.getGeneratedNameForNode(e.name,8));r.push(i)}const i=t.createNodeArray(r);return setTextRange(i,n.parameters),i}function transformAsyncFunctionBody(o,s){const m=isSimpleParameterList(o.parameters)?void 0:visitParameterList(o.parameters,visitor,e);r();const _=getOriginalNode(o,isFunctionLike).type,g=c<2?function getPromiseConstructor(e){const t=e&&getEntityNameFromTypeNode(e);if(t&&isEntityName(t)){const e=a.getTypeReferenceSerializationKind(t);if(1===e||0===e)return t}return}(_):void 0,y=220===o.kind,T=u,S=a.hasNodeCheckFlag(o,512)&&!u;let x;if(S&&(u=t.createUniqueName("arguments")),m)if(y){const e=[];h.assert(s.length<=o.parameters.length);for(let n=0;n<o.parameters.length;n++){h.assert(n<s.length);const r=o.parameters[n],i=s[n];if(h.assertNode(i.name,isIdentifier),r.initializer||r.dotDotDotToken){h.assert(n===s.length-1),e.push(t.createSpreadElement(i.name));break}e.push(i.name)}x=t.createArrayLiteralExpression(e)}else x=t.createIdentifier("arguments");const v=l;l=new Set;for(const e of o.parameters)recordDeclarationName(e,l);const b=d,C=p;y||(d=new Set,p=!1);const E=function inHasLexicalThisContext(){return inContext(2)}();let N,k=function transformAsyncFunctionBodyWorker(e,n){return isBlock(e)?t.updateBlock(e,visitNodes2(e.statements,asyncBodyVisitor,isStatement,n)):t.converters.convertToFunctionBlock(h.checkDefined(visitNode(e,asyncBodyVisitor,isConciseBody)))}(o.body);if(k=t.updateBlock(k,t.mergeLexicalEnvironment(k.statements,i())),y){if(N=n().createAwaiterHelper(E,x,g,m,k),S){const e=t.converters.convertToFunctionBlock(N);N=t.updateBlock(e,t.mergeLexicalEnvironment(e.statements,[createCaptureArgumentsStatement()]))}}else{const e=[];e.push(t.createReturnStatement(n().createAwaiterHelper(E,x,g,m,k)));const r=c>=2&&(a.hasNodeCheckFlag(o,256)||a.hasNodeCheckFlag(o,128));if(r&&(enableSubstitutionForAsyncMethodsWithSuper(),d.size)){const n=createSuperAccessVariableStatement(t,a,o,d);f[getNodeId(n)]=!0,insertStatementsAfterStandardPrologue(e,[n])}S&&insertStatementsAfterStandardPrologue(e,[createCaptureArgumentsStatement()]);const i=t.createBlock(e,!0);setTextRange(i,o.body),r&&p&&(a.hasNodeCheckFlag(o,256)?addEmitHelper(i,Si):a.hasNodeCheckFlag(o,128)&&addEmitHelper(i,Ti)),N=i}return l=v,y||(d=b,p=C,u=T),N}function enableSubstitutionForAsyncMethodsWithSuper(){1&m||(m|=1,e.enableSubstitution(214),e.enableSubstitution(212),e.enableSubstitution(213),e.enableEmitNotification(264),e.enableEmitNotification(175),e.enableEmitNotification(178),e.enableEmitNotification(179),e.enableEmitNotification(177),e.enableEmitNotification(244))}function substitutePropertyAccessExpression(e){return 108===e.expression.kind?setTextRange(t.createPropertyAccessExpression(t.createUniqueName("_super",48),e.name),e):e}function substituteElementAccessExpression(e){return 108===e.expression.kind?function createSuperElementAccessInAsyncMethod(e,n){return setTextRange(256&_?t.createPropertyAccessExpression(t.createCallExpression(t.createUniqueName("_superIndex",48),void 0,[e]),"value"):t.createCallExpression(t.createUniqueName("_superIndex",48),void 0,[e]),n)}(e.argumentExpression,e):e}}function createSuperAccessVariableStatement(e,t,n,r){const i=t.hasNodeCheckFlag(n,256),o=[];return r.forEach((t,n)=>{const r=unescapeLeadingUnderscores(n),a=[];a.push(e.createPropertyAssignment("get",e.createArrowFunction(void 0,void 0,[],void 0,void 0,setEmitFlags(e.createPropertyAccessExpression(setEmitFlags(e.createSuper(),8),r),8)))),i&&a.push(e.createPropertyAssignment("set",e.createArrowFunction(void 0,void 0,[e.createParameterDeclaration(void 0,void 0,"v",void 0,void 0,void 0)],void 0,void 0,e.createAssignment(setEmitFlags(e.createPropertyAccessExpression(setEmitFlags(e.createSuper(),8),r),8),e.createIdentifier("v"))))),o.push(e.createPropertyAssignment(r,e.createObjectLiteralExpression(a)))}),e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.createUniqueName("_super",48),void 0,void 0,e.createCallExpression(e.createPropertyAccessExpression(e.createIdentifier("Object"),"create"),void 0,[e.createNull(),e.createObjectLiteralExpression(o,!0)]))],2))}function transformES2018(e){const{factory:t,getEmitHelperFactory:n,resumeLexicalEnvironment:r,endLexicalEnvironment:i,hoistVariableDeclaration:o}=e,a=e.getEmitResolver(),s=e.getCompilerOptions(),c=zn(s),l=e.onEmitNode;e.onEmitNode=function onEmitNode(e,t,n){if(1&T&&function isSuperContainer(e){const t=e.kind;return 264===t||177===t||175===t||178===t||179===t}(t)){const r=(a.hasNodeCheckFlag(t,128)?128:0)|(a.hasNodeCheckFlag(t,256)?256:0);if(r!==S){const i=S;return S=r,l(e,t,n),void(S=i)}}else if(T&&v[getNodeId(t)]){const r=S;return S=0,l(e,t,n),void(S=r)}l(e,t,n)};const d=e.onSubstituteNode;e.onSubstituteNode=function onSubstituteNode(e,n){if(n=d(e,n),1===e&&S)return function substituteExpression(e){switch(e.kind){case 212:return substitutePropertyAccessExpression(e);case 213:return substituteElementAccessExpression(e);case 214:return function substituteCallExpression(e){const n=e.expression;if(isSuperProperty(n)){const r=isPropertyAccessExpression(n)?substitutePropertyAccessExpression(n):substituteElementAccessExpression(n);return t.createCallExpression(t.createPropertyAccessExpression(r,"call"),void 0,[t.createThis(),...e.arguments])}return e}(e)}return e}(n);return n};let p,u,m,_,f,g,y=!1,T=0,S=0,x=0;const v=[];return chainBundle(e,function transformSourceFile(n){if(n.isDeclarationFile)return n;m=n;const r=function visitSourceFile(n){const r=enterSubtree(2,isEffectiveStrictModeSourceFile(n,s)?0:1);y=!1;const i=visitEachChild(n,visitor,e),o=concatenate(i.statements,_&&[t.createVariableStatement(void 0,t.createVariableDeclarationList(_))]),a=t.updateSourceFile(i,setTextRange(t.createNodeArray(o),n.statements));return exitSubtree(r),a}(n);return addEmitHelpers(r,e.readEmitHelpers()),m=void 0,_=void 0,r});function enterSubtree(e,t){const n=x;return x=3&(x&~e|t),n}function exitSubtree(e){x=e}function recordTaggedTemplateString(e){_=append(_,t.createVariableDeclaration(e))}function visitor(e){return visitorWorker(e,!1)}function visitorWithUnusedExpressionResult(e){return visitorWorker(e,!0)}function visitorNoAsyncModifier(e){if(134!==e.kind)return e}function doWithHierarchyFacts(e,t,n,r){if(function affectsSubtree(e,t){return x!==(x&~e|t)}(n,r)){const i=enterSubtree(n,r),o=e(t);return exitSubtree(i),o}return e(t)}function visitDefault(t){return visitEachChild(t,visitor,e)}function visitorWorker(r,i){if(!(128&r.transformFlags))return r;switch(r.kind){case 224:return function visitAwaitExpression(r){if(2&p&&1&p)return setOriginalNode(setTextRange(t.createYieldExpression(void 0,n().createAwaitHelper(visitNode(r.expression,visitor,isExpression))),r),r);return visitEachChild(r,visitor,e)}(r);case 230:return function visitYieldExpression(r){if(2&p&&1&p){if(r.asteriskToken){const e=visitNode(h.checkDefined(r.expression),visitor,isExpression);return setOriginalNode(setTextRange(t.createYieldExpression(void 0,n().createAwaitHelper(t.updateYieldExpression(r,r.asteriskToken,setTextRange(n().createAsyncDelegatorHelper(setTextRange(n().createAsyncValuesHelper(e),e)),e)))),r),r)}return setOriginalNode(setTextRange(t.createYieldExpression(void 0,createDownlevelAwait(r.expression?visitNode(r.expression,visitor,isExpression):t.createVoidZero())),r),r)}return visitEachChild(r,visitor,e)}(r);case 254:return function visitReturnStatement(n){if(2&p&&1&p)return t.updateReturnStatement(n,createDownlevelAwait(n.expression?visitNode(n.expression,visitor,isExpression):t.createVoidZero()));return visitEachChild(n,visitor,e)}(r);case 257:return function visitLabeledStatement(n){if(2&p){const e=unwrapInnermostStatementOfLabel(n);return 251===e.kind&&e.awaitModifier?visitForOfStatement(e,n):t.restoreEnclosingLabel(visitNode(e,visitor,isStatement,t.liftToBlock),n)}return visitEachChild(n,visitor,e)}(r);case 211:return function visitObjectLiteralExpression(r){if(65536&r.transformFlags){const e=function chunkObjectLiteralElements(e){let n;const r=[];for(const i of e)if(306===i.kind){n&&(r.push(t.createObjectLiteralExpression(n)),n=void 0);const e=i.expression;r.push(visitNode(e,visitor,isExpression))}else n=append(n,304===i.kind?t.createPropertyAssignment(i.name,visitNode(i.initializer,visitor,isExpression)):visitNode(i,visitor,isObjectLiteralElementLike));n&&r.push(t.createObjectLiteralExpression(n));return r}(r.properties);e.length&&211!==e[0].kind&&e.unshift(t.createObjectLiteralExpression());let i=e[0];if(e.length>1){for(let t=1;t<e.length;t++)i=n().createAssignHelper([i,e[t]]);return i}return n().createAssignHelper(e)}return visitEachChild(r,visitor,e)}(r);case 227:return function visitBinaryExpression(n,r){if(isDestructuringAssignment(n)&&containsObjectRestOrSpread(n.left))return flattenDestructuringAssignment(n,visitor,e,1,!r);if(28===n.operatorToken.kind)return t.updateBinaryExpression(n,visitNode(n.left,visitorWithUnusedExpressionResult,isExpression),n.operatorToken,visitNode(n.right,r?visitorWithUnusedExpressionResult:visitor,isExpression));return visitEachChild(n,visitor,e)}(r,i);case 357:return function visitCommaListExpression(n,r){if(r)return visitEachChild(n,visitorWithUnusedExpressionResult,e);let i;for(let e=0;e<n.elements.length;e++){const t=n.elements[e],r=visitNode(t,e<n.elements.length-1?visitorWithUnusedExpressionResult:visitor,isExpression);(i||r!==t)&&(i||(i=n.elements.slice(0,e)),i.push(r))}const o=i?setTextRange(t.createNodeArray(i),n.elements):n.elements;return t.updateCommaListExpression(n,o)}(r,i);case 300:return function visitCatchClause(n){if(n.variableDeclaration&&isBindingPattern(n.variableDeclaration.name)&&65536&n.variableDeclaration.name.transformFlags){const r=t.getGeneratedNameForNode(n.variableDeclaration.name),i=flattenDestructuringBinding(t.updateVariableDeclaration(n.variableDeclaration,n.variableDeclaration.name,void 0,void 0,r),visitor,e,1);let o=visitNode(n.block,visitor,isBlock);return some(i)&&(o=t.updateBlock(o,[t.createVariableStatement(void 0,i),...o.statements])),t.updateCatchClause(n,t.updateVariableDeclaration(n.variableDeclaration,r,void 0,void 0,void 0),o)}return visitEachChild(n,visitor,e)}(r);case 244:return function visitVariableStatement(t){if(hasSyntacticModifier(t,32)){const n=y;y=!0;const r=visitEachChild(t,visitor,e);return y=n,r}return visitEachChild(t,visitor,e)}(r);case 261:return function visitVariableDeclaration(e){if(y){const t=y;y=!1;const n=visitVariableDeclarationWorker(e,!0);return y=t,n}return visitVariableDeclarationWorker(e,!1)}(r);case 247:case 248:case 250:return doWithHierarchyFacts(visitDefault,r,0,2);case 251:return visitForOfStatement(r,void 0);case 249:return doWithHierarchyFacts(visitForStatement,r,0,2);case 223:return function visitVoidExpression(t){return visitEachChild(t,visitorWithUnusedExpressionResult,e)}(r);case 177:return doWithHierarchyFacts(visitConstructorDeclaration,r,2,1);case 175:return doWithHierarchyFacts(visitMethodDeclaration,r,2,1);case 178:return doWithHierarchyFacts(visitGetAccessorDeclaration,r,2,1);case 179:return doWithHierarchyFacts(visitSetAccessorDeclaration,r,2,1);case 263:return doWithHierarchyFacts(visitFunctionDeclaration,r,2,1);case 219:return doWithHierarchyFacts(visitFunctionExpression,r,2,1);case 220:return doWithHierarchyFacts(visitArrowFunction,r,2,0);case 170:return visitParameter(r);case 245:return function visitExpressionStatement(t){return visitEachChild(t,visitorWithUnusedExpressionResult,e)}(r);case 218:return function visitParenthesizedExpression(t,n){return visitEachChild(t,n?visitorWithUnusedExpressionResult:visitor,e)}(r,i);case 216:return function visitTaggedTemplateExpression(t){return processTaggedTemplateExpression(e,t,visitor,m,recordTaggedTemplateString,0)}(r);case 212:return f&&isPropertyAccessExpression(r)&&108===r.expression.kind&&f.add(r.name.escapedText),visitEachChild(r,visitor,e);case 213:return f&&108===r.expression.kind&&(g=!0),visitEachChild(r,visitor,e);case 264:case 232:return doWithHierarchyFacts(visitDefault,r,2,1);default:return visitEachChild(r,visitor,e)}}function visitVariableDeclarationWorker(t,n){return isBindingPattern(t.name)&&65536&t.name.transformFlags?flattenDestructuringBinding(t,visitor,e,1,void 0,n):visitEachChild(t,visitor,e)}function visitForStatement(n){return t.updateForStatement(n,visitNode(n.initializer,visitorWithUnusedExpressionResult,isForInitializer),visitNode(n.condition,visitor,isExpression),visitNode(n.incrementor,visitorWithUnusedExpressionResult,isExpression),visitIterationBody(n.statement,visitor,e))}function visitForOfStatement(r,i){const a=enterSubtree(0,2);(65536&r.initializer.transformFlags||isAssignmentPattern(r.initializer)&&containsObjectRestOrSpread(r.initializer))&&(r=function transformForOfStatementWithObjectRest(e){const n=skipParentheses(e.initializer);if(isVariableDeclarationList(n)||isAssignmentPattern(n)){let r,i;const o=t.createTempVariable(void 0),a=[createForOfBindingStatement(t,n,o)];return isBlock(e.statement)?(addRange(a,e.statement.statements),r=e.statement,i=e.statement.statements):e.statement&&(append(a,e.statement),r=e.statement,i=e.statement),t.updateForOfStatement(e,e.awaitModifier,setTextRange(t.createVariableDeclarationList([setTextRange(t.createVariableDeclaration(o),e.initializer)],1),e.initializer),e.expression,setTextRange(t.createBlock(setTextRange(t.createNodeArray(a),i),!0),r))}return e}(r));const s=r.awaitModifier?function transformForAwaitOfStatement(r,i,a){const s=visitNode(r.expression,visitor,isExpression),c=isIdentifier(s)?t.getGeneratedNameForNode(s):t.createTempVariable(void 0),l=isIdentifier(s)?t.getGeneratedNameForNode(c):t.createTempVariable(void 0),d=t.createTempVariable(void 0),p=t.createTempVariable(o),u=t.createUniqueName("e"),m=t.getGeneratedNameForNode(u),_=t.createTempVariable(void 0),f=setTextRange(n().createAsyncValuesHelper(s),r.expression),g=t.createCallExpression(t.createPropertyAccessExpression(c,"next"),void 0,[]),y=t.createPropertyAccessExpression(l,"done"),h=t.createPropertyAccessExpression(l,"value"),T=t.createFunctionCallCall(_,c,[]);o(u),o(_);const S=2&a?t.inlineExpressions([t.createAssignment(u,t.createVoidZero()),f]):f,x=setEmitFlags(setTextRange(t.createForStatement(setEmitFlags(setTextRange(t.createVariableDeclarationList([t.createVariableDeclaration(d,void 0,void 0,t.createTrue()),setTextRange(t.createVariableDeclaration(c,void 0,void 0,S),r.expression),t.createVariableDeclaration(l)]),r.expression),4194304),t.inlineExpressions([t.createAssignment(l,createDownlevelAwait(g)),t.createAssignment(p,y),t.createLogicalNot(p)]),t.createAssignment(d,t.createTrue()),function convertForOfStatementHead(n,r,i){const a=t.createTempVariable(o),s=t.createAssignment(a,r),c=t.createExpressionStatement(s);setSourceMapRange(c,n.expression);const l=t.createAssignment(i,t.createFalse()),d=t.createExpressionStatement(l);setSourceMapRange(d,n.expression);const p=[c,d],u=createForOfBindingStatement(t,n.initializer,a);let m,_;p.push(visitNode(u,visitor,isStatement));const f=visitIterationBody(n.statement,visitor,e);isBlock(f)?(addRange(p,f.statements),m=f,_=f.statements):p.push(f);return setTextRange(t.createBlock(setTextRange(t.createNodeArray(p),_),!0),m)}(r,h,d)),r),512);return setOriginalNode(x,r),t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(x,i)]),t.createCatchClause(t.createVariableDeclaration(m),setEmitFlags(t.createBlock([t.createExpressionStatement(t.createAssignment(u,t.createObjectLiteralExpression([t.createPropertyAssignment("error",m)])))]),1)),t.createBlock([t.createTryStatement(t.createBlock([setEmitFlags(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(t.createLogicalNot(d),t.createLogicalNot(p)),t.createAssignment(_,t.createPropertyAccessExpression(c,"return"))),t.createExpressionStatement(createDownlevelAwait(T))),1)]),void 0,setEmitFlags(t.createBlock([setEmitFlags(t.createIfStatement(u,t.createThrowStatement(t.createPropertyAccessExpression(u,"error"))),1)]),1))]))}(r,i,a):t.restoreEnclosingLabel(visitEachChild(r,visitor,e),i);return exitSubtree(a),s}function createDownlevelAwait(e){return 1&p?t.createYieldExpression(void 0,n().createAwaitHelper(e)):t.createAwaitExpression(e)}function parameterVisitor(e){return h.assertNode(e,isParameter),visitParameter(e)}function visitParameter(n){return(null==u?void 0:u.has(n))?t.updateParameterDeclaration(n,void 0,n.dotDotDotToken,isBindingPattern(n.name)?t.getGeneratedNameForNode(n):n.name,void 0,void 0,void 0):65536&n.transformFlags?t.updateParameterDeclaration(n,void 0,n.dotDotDotToken,t.getGeneratedNameForNode(n),void 0,void 0,visitNode(n.initializer,visitor,isExpression)):visitEachChild(n,visitor,e)}function collectParametersWithPrecedingObjectRestOrSpread(e){let t;for(const n of e.parameters)t?t.add(n):65536&n.transformFlags&&(t=new Set);return t}function visitConstructorDeclaration(n){const r=p,i=u;p=getFunctionFlags(n),u=collectParametersWithPrecedingObjectRestOrSpread(n);const o=t.updateConstructorDeclaration(n,n.modifiers,visitParameterList(n.parameters,parameterVisitor,e),transformFunctionBody2(n));return p=r,u=i,o}function visitGetAccessorDeclaration(n){const r=p,i=u;p=getFunctionFlags(n),u=collectParametersWithPrecedingObjectRestOrSpread(n);const o=t.updateGetAccessorDeclaration(n,n.modifiers,visitNode(n.name,visitor,isPropertyName),visitParameterList(n.parameters,parameterVisitor,e),void 0,transformFunctionBody2(n));return p=r,u=i,o}function visitSetAccessorDeclaration(n){const r=p,i=u;p=getFunctionFlags(n),u=collectParametersWithPrecedingObjectRestOrSpread(n);const o=t.updateSetAccessorDeclaration(n,n.modifiers,visitNode(n.name,visitor,isPropertyName),visitParameterList(n.parameters,parameterVisitor,e),transformFunctionBody2(n));return p=r,u=i,o}function visitMethodDeclaration(n){const r=p,i=u;p=getFunctionFlags(n),u=collectParametersWithPrecedingObjectRestOrSpread(n);const o=t.updateMethodDeclaration(n,1&p?visitNodes2(n.modifiers,visitorNoAsyncModifier,isModifierLike):n.modifiers,2&p?void 0:n.asteriskToken,visitNode(n.name,visitor,isPropertyName),visitNode(void 0,visitor,isQuestionToken),void 0,2&p&&1&p?transformAsyncGeneratorFunctionParameterList(n):visitParameterList(n.parameters,parameterVisitor,e),void 0,2&p&&1&p?transformAsyncGeneratorFunctionBody(n):transformFunctionBody2(n));return p=r,u=i,o}function visitFunctionDeclaration(n){const r=p,i=u;p=getFunctionFlags(n),u=collectParametersWithPrecedingObjectRestOrSpread(n);const o=t.updateFunctionDeclaration(n,1&p?visitNodes2(n.modifiers,visitorNoAsyncModifier,isModifier):n.modifiers,2&p?void 0:n.asteriskToken,n.name,void 0,2&p&&1&p?transformAsyncGeneratorFunctionParameterList(n):visitParameterList(n.parameters,parameterVisitor,e),void 0,2&p&&1&p?transformAsyncGeneratorFunctionBody(n):transformFunctionBody2(n));return p=r,u=i,o}function visitArrowFunction(n){const r=p,i=u;p=getFunctionFlags(n),u=collectParametersWithPrecedingObjectRestOrSpread(n);const o=t.updateArrowFunction(n,n.modifiers,void 0,visitParameterList(n.parameters,parameterVisitor,e),void 0,n.equalsGreaterThanToken,transformFunctionBody2(n));return p=r,u=i,o}function visitFunctionExpression(n){const r=p,i=u;p=getFunctionFlags(n),u=collectParametersWithPrecedingObjectRestOrSpread(n);const o=t.updateFunctionExpression(n,1&p?visitNodes2(n.modifiers,visitorNoAsyncModifier,isModifier):n.modifiers,2&p?void 0:n.asteriskToken,n.name,void 0,2&p&&1&p?transformAsyncGeneratorFunctionParameterList(n):visitParameterList(n.parameters,parameterVisitor,e),void 0,2&p&&1&p?transformAsyncGeneratorFunctionBody(n):transformFunctionBody2(n));return p=r,u=i,o}function transformAsyncGeneratorFunctionParameterList(n){if(isSimpleParameterList(n.parameters))return visitParameterList(n.parameters,visitor,e);const r=[];for(const e of n.parameters){if(e.initializer||e.dotDotDotToken)break;const n=t.createParameterDeclaration(void 0,void 0,t.getGeneratedNameForNode(e.name,8));r.push(n)}const i=t.createNodeArray(r);return setTextRange(i,n.parameters),i}function transformAsyncGeneratorFunctionBody(o){const s=isSimpleParameterList(o.parameters)?void 0:visitParameterList(o.parameters,visitor,e);r();const l=f,d=g;f=new Set,g=!1;const p=[];let u=t.updateBlock(o.body,visitNodes2(o.body.statements,visitor,isStatement));u=t.updateBlock(u,t.mergeLexicalEnvironment(u.statements,appendObjectRestAssignmentsIfNeeded(i(),o)));const m=t.createReturnStatement(n().createAsyncGeneratorHelper(t.createFunctionExpression(void 0,t.createToken(42),o.name&&t.getGeneratedNameForNode(o.name),void 0,s??[],void 0,u),!!(1&x))),_=c>=2&&(a.hasNodeCheckFlag(o,256)||a.hasNodeCheckFlag(o,128));if(_){!function enableSubstitutionForAsyncMethodsWithSuper(){1&T||(T|=1,e.enableSubstitution(214),e.enableSubstitution(212),e.enableSubstitution(213),e.enableEmitNotification(264),e.enableEmitNotification(175),e.enableEmitNotification(178),e.enableEmitNotification(179),e.enableEmitNotification(177),e.enableEmitNotification(244))}();const n=createSuperAccessVariableStatement(t,a,o,f);v[getNodeId(n)]=!0,insertStatementsAfterStandardPrologue(p,[n])}p.push(m);const y=t.updateBlock(o.body,p);return _&&g&&(a.hasNodeCheckFlag(o,256)?addEmitHelper(y,Si):a.hasNodeCheckFlag(o,128)&&addEmitHelper(y,Ti)),f=l,g=d,y}function transformFunctionBody2(e){r();let n=0;const o=[],a=visitNode(e.body,visitor,isConciseBody)??t.createBlock([]);isBlock(a)&&(n=t.copyPrologue(a.statements,o,!1,visitor)),addRange(o,appendObjectRestAssignmentsIfNeeded(void 0,e));const s=i();if(n>0||some(o)||some(s)){const e=t.converters.convertToFunctionBlock(a,!0);return insertStatementsAfterStandardPrologue(o,s),addRange(o,e.statements.slice(n)),t.updateBlock(e,setTextRange(t.createNodeArray(o),e.statements))}return a}function appendObjectRestAssignmentsIfNeeded(n,r){let i=!1;for(const o of r.parameters)if(i){if(isBindingPattern(o.name)){if(o.name.elements.length>0){const r=flattenDestructuringBinding(o,visitor,e,0,t.getGeneratedNameForNode(o));if(some(r)){const e=t.createVariableDeclarationList(r),i=t.createVariableStatement(void 0,e);setEmitFlags(i,2097152),n=append(n,i)}}else if(o.initializer){const e=t.getGeneratedNameForNode(o),r=visitNode(o.initializer,visitor,isExpression),i=t.createAssignment(e,r),a=t.createExpressionStatement(i);setEmitFlags(a,2097152),n=append(n,a)}}else if(o.initializer){const e=t.cloneNode(o.name);setTextRange(e,o.name),setEmitFlags(e,96);const r=visitNode(o.initializer,visitor,isExpression);addEmitFlags(r,3168);const i=t.createAssignment(e,r);setTextRange(i,o),setEmitFlags(i,3072);const a=t.createBlock([t.createExpressionStatement(i)]);setTextRange(a,o),setEmitFlags(a,3905);const s=t.createTypeCheck(t.cloneNode(o.name),"undefined"),c=t.createIfStatement(s,a);startOnNewLine(c),setTextRange(c,o),setEmitFlags(c,2101056),n=append(n,c)}}else if(65536&o.transformFlags){i=!0;const r=flattenDestructuringBinding(o,visitor,e,1,t.getGeneratedNameForNode(o),!1,!0);if(some(r)){const e=t.createVariableDeclarationList(r),i=t.createVariableStatement(void 0,e);setEmitFlags(i,2097152),n=append(n,i)}}return n}function substitutePropertyAccessExpression(e){return 108===e.expression.kind?setTextRange(t.createPropertyAccessExpression(t.createUniqueName("_super",48),e.name),e):e}function substituteElementAccessExpression(e){return 108===e.expression.kind?function createSuperElementAccessInAsyncMethod(e,n){return setTextRange(256&S?t.createPropertyAccessExpression(t.createCallExpression(t.createIdentifier("_superIndex"),void 0,[e]),"value"):t.createCallExpression(t.createIdentifier("_superIndex"),void 0,[e]),n)}(e.argumentExpression,e):e}}function transformES2019(e){const t=e.factory;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile)return t;return visitEachChild(t,visitor,e)});function visitor(n){return 64&n.transformFlags?300===n.kind?function visitCatchClause(n){if(!n.variableDeclaration)return t.updateCatchClause(n,t.createVariableDeclaration(t.createTempVariable(void 0)),visitNode(n.block,visitor,isBlock));return visitEachChild(n,visitor,e)}(n):visitEachChild(n,visitor,e):n}}function transformES2020(e){const{factory:t,hoistVariableDeclaration:n}=e;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile)return t;return visitEachChild(t,visitor,e)});function visitor(r){if(!(32&r.transformFlags))return r;switch(r.kind){case 214:{const e=visitNonOptionalCallExpression(r,!1);return h.assertNotNode(e,isSyntheticReference),e}case 212:case 213:if(isOptionalChain(r)){const e=visitOptionalExpression(r,!1,!1);return h.assertNotNode(e,isSyntheticReference),e}return visitEachChild(r,visitor,e);case 227:return 61===r.operatorToken.kind?function transformNullishCoalescingExpression(e){let r=visitNode(e.left,visitor,isExpression),i=r;isSimpleCopiableExpression(r)||(i=t.createTempVariable(n),r=t.createAssignment(i,r));return setTextRange(t.createConditionalExpression(createNotNullCondition(r,i),void 0,i,void 0,visitNode(e.right,visitor,isExpression)),e)}(r):visitEachChild(r,visitor,e);case 221:return function visitDeleteExpression(e){return isOptionalChain(skipParentheses(e.expression))?setOriginalNode(visitNonOptionalExpression(e.expression,!1,!0),e):t.updateDeleteExpression(e,visitNode(e.expression,visitor,isExpression))}(r);default:return visitEachChild(r,visitor,e)}}function visitNonOptionalParenthesizedExpression(e,n,r){const i=visitNonOptionalExpression(e.expression,n,r);return isSyntheticReference(i)?t.createSyntheticReferenceExpression(t.updateParenthesizedExpression(e,i.expression),i.thisArg):t.updateParenthesizedExpression(e,i)}function visitNonOptionalCallExpression(n,r){if(isOptionalChain(n))return visitOptionalExpression(n,r,!1);if(isParenthesizedExpression(n.expression)&&isOptionalChain(skipParentheses(n.expression))){const e=visitNonOptionalParenthesizedExpression(n.expression,!0,!1),r=visitNodes2(n.arguments,visitor,isExpression);return isSyntheticReference(e)?setTextRange(t.createFunctionCallCall(e.expression,e.thisArg,r),n):t.updateCallExpression(n,e,void 0,r)}return visitEachChild(n,visitor,e)}function visitNonOptionalExpression(e,r,i){switch(e.kind){case 218:return visitNonOptionalParenthesizedExpression(e,r,i);case 212:case 213:return function visitNonOptionalPropertyOrElementAccessExpression(e,r,i){if(isOptionalChain(e))return visitOptionalExpression(e,r,i);let o,a=visitNode(e.expression,visitor,isExpression);return h.assertNotNode(a,isSyntheticReference),r&&(isSimpleCopiableExpression(a)?o=a:(o=t.createTempVariable(n),a=t.createAssignment(o,a))),a=212===e.kind?t.updatePropertyAccessExpression(e,a,visitNode(e.name,visitor,isIdentifier)):t.updateElementAccessExpression(e,a,visitNode(e.argumentExpression,visitor,isExpression)),o?t.createSyntheticReferenceExpression(a,o):a}(e,r,i);case 214:return visitNonOptionalCallExpression(e,r);default:return visitNode(e,visitor,isExpression)}}function visitOptionalExpression(e,r,i){const{expression:o,chain:a}=function flattenChain(e){h.assertNotNode(e,isNonNullChain);const t=[e];for(;!e.questionDotToken&&!isTaggedTemplateExpression(e);)e=cast(skipPartiallyEmittedExpressions(e.expression),isOptionalChain),h.assertNotNode(e,isNonNullChain),t.unshift(e);return{expression:e.expression,chain:t}}(e),s=visitNonOptionalExpression(skipPartiallyEmittedExpressions(o),isCallChain(a[0]),!1);let c=isSyntheticReference(s)?s.thisArg:void 0,l=isSyntheticReference(s)?s.expression:s,d=t.restoreOuterExpressions(o,l,8);isSimpleCopiableExpression(l)||(l=t.createTempVariable(n),d=t.createAssignment(l,d));let p,u=l;for(let e=0;e<a.length;e++){const i=a[e];switch(i.kind){case 212:case 213:e===a.length-1&&r&&(isSimpleCopiableExpression(u)?p=u:(p=t.createTempVariable(n),u=t.createAssignment(p,u))),u=212===i.kind?t.createPropertyAccessExpression(u,visitNode(i.name,visitor,isIdentifier)):t.createElementAccessExpression(u,visitNode(i.argumentExpression,visitor,isExpression));break;case 214:0===e&&c?(isGeneratedIdentifier(c)||(c=t.cloneNode(c),addEmitFlags(c,3072)),u=t.createFunctionCallCall(u,108===c.kind?t.createThis():c,visitNodes2(i.arguments,visitor,isExpression))):u=t.createCallExpression(u,void 0,visitNodes2(i.arguments,visitor,isExpression))}setOriginalNode(u,i)}const m=i?t.createConditionalExpression(createNotNullCondition(d,l,!0),void 0,t.createTrue(),void 0,t.createDeleteExpression(u)):t.createConditionalExpression(createNotNullCondition(d,l,!0),void 0,t.createVoidZero(),void 0,u);return setTextRange(m,e),p?t.createSyntheticReferenceExpression(m,p):m}function createNotNullCondition(e,n,r){return t.createBinaryExpression(t.createBinaryExpression(e,t.createToken(r?37:38),t.createNull()),t.createToken(r?57:56),t.createBinaryExpression(n,t.createToken(r?37:38),t.createVoidZero()))}}function transformES2021(e){const{hoistVariableDeclaration:t,factory:n}=e;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile)return t;return visitEachChild(t,visitor,e)});function visitor(r){return 16&r.transformFlags?isLogicalOrCoalescingAssignmentExpression(r)?function transformLogicalAssignment(e){const r=getNonAssignmentOperatorForCompoundAssignment(e.operatorToken.kind);let i=skipParentheses(visitNode(e.left,visitor,isLeftHandSideExpression)),o=i;const a=skipParentheses(visitNode(e.right,visitor,isExpression));if(isAccessExpression(i)){const e=isSimpleCopiableExpression(i.expression),r=e?i.expression:n.createTempVariable(t),a=e?i.expression:n.createAssignment(r,i.expression);if(isPropertyAccessExpression(i))o=n.createPropertyAccessExpression(r,i.name),i=n.createPropertyAccessExpression(a,i.name);else{const e=isSimpleCopiableExpression(i.argumentExpression),s=e?i.argumentExpression:n.createTempVariable(t);o=n.createElementAccessExpression(r,s),i=n.createElementAccessExpression(a,e?i.argumentExpression:n.createAssignment(s,i.argumentExpression))}}return n.createBinaryExpression(i,r,n.createParenthesizedExpression(n.createAssignment(o,a)))}(r):visitEachChild(r,visitor,e):r}}function transformESNext(e){const{factory:t,getEmitHelperFactory:n,hoistVariableDeclaration:r,startLexicalEnvironment:i,endLexicalEnvironment:o}=e;let a,s,c,l;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile)return t;const n=visitNode(t,visitor,isSourceFile);return addEmitHelpers(n,e.readEmitHelpers()),s=void 0,a=void 0,c=void 0,n});function visitor(n){if(!(4&n.transformFlags))return n;switch(n.kind){case 308:return function visitSourceFile(n){const r=getUsingKindOfStatements(n.statements);if(r){i(),a=new ma,s=[];const e=countPrologueStatements(n.statements),c=[];addRange(c,visitArray(n.statements,visitor,isStatement,0,e));let d=e;for(;d<n.statements.length;){if(0!==getUsingKind(n.statements[d])){d>e&&addRange(c,visitNodes2(n.statements,visitor,isStatement,e,d-e));break}d++}h.assert(d<n.statements.length,"Should have encountered at least one 'using' statement.");const p=createEnvBinding(),u=transformUsingDeclarations(n.statements,d,n.statements.length,p,c);return a.size&&append(c,t.createExportDeclaration(void 0,!1,t.createNamedExports(arrayFrom(a.values())))),addRange(c,o()),s.length&&c.push(t.createVariableStatement(t.createModifiersFromModifierFlags(32),t.createVariableDeclarationList(s,1))),addRange(c,createDownlevelUsingStatements(u,p,2===r)),l&&c.push(t.createExportAssignment(void 0,!0,l)),t.updateSourceFile(n,c)}return visitEachChild(n,visitor,e)}(n);case 242:return function visitBlock(n){const r=getUsingKindOfStatements(n.statements);if(r){const e=countPrologueStatements(n.statements),i=createEnvBinding();return t.updateBlock(n,[...visitArray(n.statements,visitor,isStatement,0,e),...createDownlevelUsingStatements(transformUsingDeclarations(n.statements,e,n.statements.length,i,void 0),i,2===r)])}return visitEachChild(n,visitor,e)}(n);case 249:return function visitForStatement(n){if(n.initializer&&isUsingVariableDeclarationList(n.initializer))return visitNode(t.createBlock([t.createVariableStatement(void 0,n.initializer),t.updateForStatement(n,void 0,n.condition,n.incrementor,n.statement)]),visitor,isStatement);return visitEachChild(n,visitor,e)}(n);case 251:return function visitForOfStatement(n){if(isUsingVariableDeclarationList(n.initializer)){const e=n.initializer,r=firstOrUndefined(e.declarations)||t.createVariableDeclaration(t.createTempVariable(void 0)),i=2===getUsingKindOfVariableDeclarationList(e),o=t.getGeneratedNameForNode(r.name),a=t.updateVariableDeclaration(r,r.name,void 0,void 0,o),s=t.createVariableDeclarationList([a],i?6:4),c=t.createVariableStatement(void 0,s);return visitNode(t.updateForOfStatement(n,n.awaitModifier,t.createVariableDeclarationList([t.createVariableDeclaration(o)],2),n.expression,isBlock(n.statement)?t.updateBlock(n.statement,[c,...n.statement.statements]):t.createBlock([c,n.statement],!0)),visitor,isStatement)}return visitEachChild(n,visitor,e)}(n);case 256:return function visitSwitchStatement(n){const r=function getUsingKindOfCaseOrDefaultClauses(e){let t=0;for(const n of e){const e=getUsingKindOfStatements(n.statements);if(2===e)return 2;e>t&&(t=e)}return t}(n.caseBlock.clauses);if(r){const i=createEnvBinding();return createDownlevelUsingStatements([t.updateSwitchStatement(n,visitNode(n.expression,visitor,isExpression),t.updateCaseBlock(n.caseBlock,n.caseBlock.clauses.map(n=>function visitCaseOrDefaultClause(n,r){if(0!==getUsingKindOfStatements(n.statements))return isCaseClause(n)?t.updateCaseClause(n,visitNode(n.expression,visitor,isExpression),transformUsingDeclarations(n.statements,0,n.statements.length,r,void 0)):t.updateDefaultClause(n,transformUsingDeclarations(n.statements,0,n.statements.length,r,void 0));return visitEachChild(n,visitor,e)}(n,i))))],i,2===r)}return visitEachChild(n,visitor,e)}(n);default:return visitEachChild(n,visitor,e)}}function transformUsingDeclarations(i,o,a,s,d){const p=[];for(let r=o;r<a;r++){const o=i[r],a=getUsingKind(o);if(a){h.assertNode(o,isVariableStatement);const r=[];for(let i of o.declarationList.declarations){if(!isIdentifier(i.name)){r.length=0;break}isNamedEvaluation(i)&&(i=transformNamedEvaluation(e,i));const o=visitNode(i.initializer,visitor,isExpression)??t.createVoidZero();r.push(t.updateVariableDeclaration(i,i.name,void 0,void 0,n().createAddDisposableResourceHelper(s,o,2===a)))}if(r.length){const e=t.createVariableDeclarationList(r,2);setOriginalNode(e,o.declarationList),setTextRange(e,o.declarationList),hoistOrAppendNode(t.updateVariableStatement(o,void 0,e));continue}}const c=visitor(o);isArray(c)?c.forEach(hoistOrAppendNode):c&&hoistOrAppendNode(c)}return p;function hoistOrAppendNode(n){h.assertNode(n,isStatement),append(p,function hoist(n){if(!d)return n;switch(n.kind){case 273:case 272:case 279:case 263:return function hoistImportOrExportOrHoistedDeclaration(e,t){return void t.push(e)}(n,d);case 278:return function hoistExportAssignment(n){return n.isExportEquals?function hoistExportEquals(e){if(l)return e;l=t.createUniqueName("_default",56),r(l);const n=t.createAssignment(l,e.expression);return t.createExpressionStatement(n)}(n):function hoistExportDefault(n){if(c)return n;c=t.createUniqueName("_default",56),hoistBindingIdentifier(c,!0,"default",n);let r=n.expression,i=skipOuterExpressions(r);isNamedEvaluation(i)&&(i=transformNamedEvaluation(e,i,!1,"default"),r=t.restoreOuterExpressions(r,i));const o=t.createAssignment(c,r);return t.createExpressionStatement(o)}(n)}(n);case 264:return function hoistClassDeclaration(n){if(!n.name&&c)return n;const r=hasSyntacticModifier(n,32),i=hasSyntacticModifier(n,2048);let o=t.converters.convertToClassExpression(n);n.name&&(hoistBindingIdentifier(t.getLocalName(n),r&&!i,void 0,n),o=t.createAssignment(t.getDeclarationName(n),o),isNamedEvaluation(o)&&(o=transformNamedEvaluation(e,o,!1)),setOriginalNode(o,n),setSourceMapRange(o,n),setCommentRange(o,n));i&&!c&&(c=t.createUniqueName("_default",56),hoistBindingIdentifier(c,!0,"default",n),o=t.createAssignment(c,o),isNamedEvaluation(o)&&(o=transformNamedEvaluation(e,o,!1,"default")),setOriginalNode(o,n));return t.createExpressionStatement(o)}(n);case 244:return function hoistVariableStatement(e){let n;const r=hasSyntacticModifier(e,32);for(const t of e.declarationList.declarations)hoistBindingElement(t,r,t),t.initializer&&(n=append(n,hoistInitializedVariable(t)));if(n){const r=t.createExpressionStatement(t.inlineExpressions(n));return setOriginalNode(r,e),setCommentRange(r,e),setSourceMapRange(r,e),r}return}(n)}return n}(n))}}function hoistInitializedVariable(e){let n;h.assertIsDefined(e.initializer),isIdentifier(e.name)?(n=t.cloneNode(e.name),setEmitFlags(n,-114689&getEmitFlags(n))):n=t.converters.convertToAssignmentPattern(e.name);const r=t.createAssignment(n,e.initializer);return setOriginalNode(r,e),setCommentRange(r,e),setSourceMapRange(r,e),r}function hoistBindingElement(e,t,n){if(isBindingPattern(e.name))for(const r of e.name.elements)isOmittedExpression(r)||hoistBindingElement(r,t,n);else hoistBindingIdentifier(e.name,t,void 0,n)}function hoistBindingIdentifier(e,n,i,o){const c=isGeneratedIdentifier(e)?e:t.cloneNode(e);if(n){if(void 0===i&&!isLocalName(c)){const e=t.createVariableDeclaration(c);return o&&setOriginalNode(e,o),void s.push(e)}const e=void 0!==i?c:void 0,n=void 0!==i?i:c,r=t.createExportSpecifier(!1,e,n);o&&setOriginalNode(r,o),a.set(c,r)}r(c)}function createEnvBinding(){return t.createUniqueName("env")}function createDownlevelUsingStatements(e,r,i){const o=[],a=t.createObjectLiteralExpression([t.createPropertyAssignment("stack",t.createArrayLiteralExpression()),t.createPropertyAssignment("error",t.createVoidZero()),t.createPropertyAssignment("hasError",t.createFalse())]),s=t.createVariableDeclaration(r,void 0,void 0,a),c=t.createVariableDeclarationList([s],2),l=t.createVariableStatement(void 0,c);o.push(l);const d=t.createBlock(e,!0),p=t.createUniqueName("e"),u=t.createCatchClause(p,t.createBlock([t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(r,"error"),p)),t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(r,"hasError"),t.createTrue()))],!0));let m;if(i){const e=t.createUniqueName("result");m=t.createBlock([t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(e,void 0,void 0,n().createDisposeResourcesHelper(r))],2)),t.createIfStatement(e,t.createExpressionStatement(t.createAwaitExpression(e)))],!0)}else m=t.createBlock([t.createExpressionStatement(n().createDisposeResourcesHelper(r))],!0);const _=t.createTryStatement(d,u,m);return o.push(_),o}}function countPrologueStatements(e){for(let t=0;t<e.length;t++)if(!isPrologueDirective(e[t])&&!isCustomPrologue(e[t]))return t;return 0}function isUsingVariableDeclarationList(e){return isVariableDeclarationList(e)&&0!==getUsingKindOfVariableDeclarationList(e)}function getUsingKindOfVariableDeclarationList(e){return 6==(7&e.flags)?2:4==(7&e.flags)?1:0}function getUsingKind(e){return isVariableStatement(e)?function getUsingKindOfVariableStatement(e){return getUsingKindOfVariableDeclarationList(e.declarationList)}(e):0}function getUsingKindOfStatements(e){let t=0;for(const n of e){const e=getUsingKind(n);if(2===e)return 2;e>t&&(t=e)}return t}function transformJsx(e){const{factory:t,getEmitHelperFactory:n}=e,r=e.getCompilerOptions();let i,o;return chainBundle(e,function transformSourceFile(n){if(n.isDeclarationFile)return n;i=n,o={},o.importSpecifier=getJSXImplicitImportBase(r,n);let a=visitEachChild(n,visitor,e);addEmitHelpers(a,e.readEmitHelpers());let s=a.statements;o.filenameDeclaration&&(s=insertStatementAfterCustomPrologue(s.slice(),t.createVariableStatement(void 0,t.createVariableDeclarationList([o.filenameDeclaration],2))));if(o.utilizedImplicitRuntimeImports)for(const[e,r]of arrayFrom(o.utilizedImplicitRuntimeImports.entries()))if(isExternalModule(n)){const n=t.createImportDeclaration(void 0,t.createImportClause(void 0,void 0,t.createNamedImports(arrayFrom(r.values()))),t.createStringLiteral(e),void 0);setParentRecursive(n,!1),s=insertStatementAfterCustomPrologue(s.slice(),n)}else if(isExternalOrCommonJsModule(n)){const n=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createObjectBindingPattern(arrayFrom(r.values(),e=>t.createBindingElement(void 0,e.propertyName,e.name))),void 0,void 0,t.createCallExpression(t.createIdentifier("require"),void 0,[t.createStringLiteral(e)]))],2));setParentRecursive(n,!1),s=insertStatementAfterCustomPrologue(s.slice(),n)}s!==a.statements&&(a=t.updateSourceFile(a,s));return o=void 0,a});function getCurrentFileNameExpression(){if(o.filenameDeclaration)return o.filenameDeclaration.name;const e=t.createVariableDeclaration(t.createUniqueName("_jsxFileName",48),void 0,void 0,t.createStringLiteral(i.fileName));return o.filenameDeclaration=e,o.filenameDeclaration.name}function getJsxFactoryCallee(e){const t=function getJsxFactoryCalleePrimitive(e){return 5===r.jsx?"jsxDEV":e?"jsxs":"jsx"}(e);return getImplicitImportForName(t)}function getImplicitImportForName(e){var n,i;const a="createElement"===e?o.importSpecifier:getJSXRuntimeImport(o.importSpecifier,r),s=null==(i=null==(n=o.utilizedImplicitRuntimeImports)?void 0:n.get(a))?void 0:i.get(e);if(s)return s.name;o.utilizedImplicitRuntimeImports||(o.utilizedImplicitRuntimeImports=new Map);let c=o.utilizedImplicitRuntimeImports.get(a);c||(c=new Map,o.utilizedImplicitRuntimeImports.set(a,c));const l=t.createUniqueName(`_${e}`,112),d=t.createImportSpecifier(!1,t.createIdentifier(e),l);return setIdentifierGeneratedImportReference(l,d),c.set(e,d),l}function visitor(t){return 2&t.transformFlags?function visitorWorker(t){switch(t.kind){case 285:return visitJsxElement(t,!1);case 286:return visitJsxSelfClosingElement(t,!1);case 289:return visitJsxFragment(t,!1);case 295:return visitJsxExpression(t);default:return visitEachChild(t,visitor,e)}}(t):t}function transformJsxChildToExpression(e){switch(e.kind){case 12:return function visitJsxText(e){const n=function fixupWhitespaceAndDecodeEntities(e){let t,n=0,r=-1;for(let i=0;i<e.length;i++){const o=e.charCodeAt(i);isLineBreak(o)?(-1!==n&&-1!==r&&(t=addLineOfJsxText(t,e.substr(n,r-n+1))),n=-1):isWhiteSpaceSingleLine(o)||(r=i,-1===n&&(n=i))}return-1!==n?addLineOfJsxText(t,e.substr(n)):t}(e.text);return void 0===n?void 0:t.createStringLiteral(n)}(e);case 295:return visitJsxExpression(e);case 285:return visitJsxElement(e,!0);case 286:return visitJsxSelfClosingElement(e,!0);case 289:return visitJsxFragment(e,!0);default:return h.failBadSyntaxKind(e)}}function hasProto(e){return e.properties.some(e=>isPropertyAssignment(e)&&(isIdentifier(e.name)&&"__proto__"===idText(e.name)||isStringLiteral(e.name)&&"__proto__"===e.name.text))}function shouldUseCreateElement(e){return void 0===o.importSpecifier||function hasKeyAfterPropsSpread(e){let t=!1;for(const n of e.attributes.properties)if(!isJsxSpreadAttribute(n)||isObjectLiteralExpression(n.expression)&&!n.expression.properties.some(isSpreadAssignment)){if(t&&isJsxAttribute(n)&&isIdentifier(n.name)&&"key"===n.name.escapedText)return!0}else t=!0;return!1}(e)}function visitJsxElement(e,t){return(shouldUseCreateElement(e.openingElement)?visitJsxOpeningLikeElementCreateElement:visitJsxOpeningLikeElementJSX)(e.openingElement,e.children,t,e)}function visitJsxSelfClosingElement(e,t){return(shouldUseCreateElement(e)?visitJsxOpeningLikeElementCreateElement:visitJsxOpeningLikeElementJSX)(e,void 0,t,e)}function visitJsxFragment(e,t){return(void 0===o.importSpecifier?visitJsxOpeningFragmentCreateElement:visitJsxOpeningFragmentJSX)(e.openingFragment,e.children,t,e)}function convertJsxChildrenToChildrenPropAssignment(e){const n=getSemanticJsxChildren(e);if(1===length(n)&&!n[0].dotDotDotToken){const e=transformJsxChildToExpression(n[0]);return e&&t.createPropertyAssignment("children",e)}const r=mapDefined(e,transformJsxChildToExpression);return length(r)?t.createPropertyAssignment("children",t.createArrayLiteralExpression(r)):void 0}function visitJsxOpeningLikeElementJSX(e,n,r,i){const o=getTagName(e),a=n&&n.length?convertJsxChildrenToChildrenPropAssignment(n):void 0,s=find(e.attributes.properties,e=>!!e.name&&isIdentifier(e.name)&&"key"===e.name.escapedText),c=s?filter(e.attributes.properties,e=>e!==s):e.attributes.properties;return visitJsxOpeningLikeElementOrFragmentJSX(o,length(c)?transformJsxAttributesToObjectProps(c,a):t.createObjectLiteralExpression(a?[a]:l),s,n||l,r,i)}function visitJsxOpeningLikeElementOrFragmentJSX(e,n,o,a,s,c){var l;const d=getSemanticJsxChildren(a),p=length(d)>1||!!(null==(l=d[0])?void 0:l.dotDotDotToken),u=[e,n];if(o&&u.push(transformJsxAttributeInitializer(o.initializer)),5===r.jsx){const e=getOriginalNode(i);if(e&&isSourceFile(e)){void 0===o&&u.push(t.createVoidZero()),u.push(p?t.createTrue():t.createFalse());const n=getLineAndCharacterOfPosition(e,c.pos);u.push(t.createObjectLiteralExpression([t.createPropertyAssignment("fileName",getCurrentFileNameExpression()),t.createPropertyAssignment("lineNumber",t.createNumericLiteral(n.line+1)),t.createPropertyAssignment("columnNumber",t.createNumericLiteral(n.character+1))])),u.push(t.createThis())}}const m=setTextRange(t.createCallExpression(getJsxFactoryCallee(p),void 0,u),c);return s&&startOnNewLine(m),m}function visitJsxOpeningLikeElementCreateElement(n,a,s,c){const l=getTagName(n),d=n.attributes.properties,p=length(d)?transformJsxAttributesToObjectProps(d):t.createNull(),u=void 0===o.importSpecifier?createJsxFactoryExpression(t,e.getEmitResolver().getJsxFactoryEntity(i),r.reactNamespace,n):getImplicitImportForName("createElement"),m=createExpressionForJsxElement(t,u,l,p,mapDefined(a,transformJsxChildToExpression),c);return s&&startOnNewLine(m),m}function visitJsxOpeningFragmentJSX(e,n,r,i){let o;if(n&&n.length){const e=function convertJsxChildrenToChildrenPropObject(e){const n=convertJsxChildrenToChildrenPropAssignment(e);return n&&t.createObjectLiteralExpression([n])}(n);e&&(o=e)}return visitJsxOpeningLikeElementOrFragmentJSX(function getImplicitJsxFragmentReference(){return getImplicitImportForName("Fragment")}(),o||t.createObjectLiteralExpression([]),void 0,n,r,i)}function visitJsxOpeningFragmentCreateElement(n,o,a,s){const c=createExpressionForJsxFragment(t,e.getEmitResolver().getJsxFactoryEntity(i),e.getEmitResolver().getJsxFragmentFactoryEntity(i),r.reactNamespace,mapDefined(o,transformJsxChildToExpression),n,s);return a&&startOnNewLine(c),c}function transformJsxAttributesToObjectProps(e,i){const o=zn(r);return o&&o>=5?t.createObjectLiteralExpression(function transformJsxAttributesToProps(e,n){const r=flatten(spanMap(e,isJsxSpreadAttribute,(e,n)=>flatten(map(e,e=>n?function transformJsxSpreadAttributeToProps(e){return isObjectLiteralExpression(e.expression)&&!hasProto(e.expression)?sameMap(e.expression.properties,e=>h.checkDefined(visitNode(e,visitor,isObjectLiteralElementLike))):t.createSpreadAssignment(h.checkDefined(visitNode(e.expression,visitor,isExpression)))}(e):transformJsxAttributeToObjectLiteralElement(e)))));n&&r.push(n);return r}(e,i)):function transformJsxAttributesToExpression(e,r){const i=[];let o=[];for(const t of e)if(isJsxSpreadAttribute(t)){if(isObjectLiteralExpression(t.expression)&&!hasProto(t.expression)){for(const e of t.expression.properties)isSpreadAssignment(e)?(finishObjectLiteralIfNeeded(),i.push(h.checkDefined(visitNode(e.expression,visitor,isExpression)))):o.push(h.checkDefined(visitNode(e,visitor)));continue}finishObjectLiteralIfNeeded(),i.push(h.checkDefined(visitNode(t.expression,visitor,isExpression)))}else o.push(transformJsxAttributeToObjectLiteralElement(t));r&&o.push(r);finishObjectLiteralIfNeeded(),i.length&&!isObjectLiteralExpression(i[0])&&i.unshift(t.createObjectLiteralExpression());return singleOrUndefined(i)||n().createAssignHelper(i);function finishObjectLiteralIfNeeded(){o.length&&(i.push(t.createObjectLiteralExpression(o)),o=[])}}(e,i)}function transformJsxAttributeToObjectLiteralElement(e){const n=function getAttributeName(e){const n=e.name;if(isIdentifier(n)){const e=idText(n);return/^[A-Z_]\w*$/i.test(e)?n:t.createStringLiteral(e)}return t.createStringLiteral(idText(n.namespace)+":"+idText(n.name))}(e),r=transformJsxAttributeInitializer(e.initializer);return t.createPropertyAssignment(n,r)}function transformJsxAttributeInitializer(e){if(void 0===e)return t.createTrue();if(11===e.kind){const n=void 0!==e.singleQuote?e.singleQuote:!isStringDoubleQuoted(e,i);return setTextRange(t.createStringLiteral(function tryDecodeEntities(e){const t=decodeEntities(e);return t===e?void 0:t}(e.text)||e.text,n),e)}return 295===e.kind?void 0===e.expression?t.createTrue():h.checkDefined(visitNode(e.expression,visitor,isExpression)):isJsxElement(e)?visitJsxElement(e,!1):isJsxSelfClosingElement(e)?visitJsxSelfClosingElement(e,!1):isJsxFragment(e)?visitJsxFragment(e,!1):h.failBadSyntaxKind(e)}function addLineOfJsxText(e,t){const n=decodeEntities(t);return void 0===e?n:e+" "+n}function decodeEntities(e){return e.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g,(e,t,n,r,i,o,a)=>{if(i)return utf16EncodeAsString(parseInt(i,10));if(o)return utf16EncodeAsString(parseInt(o,16));{const t=ha.get(a);return t?utf16EncodeAsString(t):e}})}function getTagName(e){if(285===e.kind)return getTagName(e.openingElement);{const n=e.tagName;return isIdentifier(n)&&isIntrinsicJsxName(n.escapedText)?t.createStringLiteral(idText(n)):isJsxNamespacedName(n)?t.createStringLiteral(idText(n.namespace)+":"+idText(n.name)):createExpressionFromEntityName(t,n)}}function visitJsxExpression(e){const n=visitNode(e.expression,visitor,isExpression);return e.dotDotDotToken?t.createSpreadElement(n):n}}var ha=new Map(Object.entries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}));function transformES2016(e){const{factory:t,hoistVariableDeclaration:n}=e;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile)return t;return visitEachChild(t,visitor,e)});function visitor(r){return 512&r.transformFlags?227===r.kind?function visitBinaryExpression(r){switch(r.operatorToken.kind){case 68:return function visitExponentiationAssignmentExpression(e){let r,i;const o=visitNode(e.left,visitor,isExpression),a=visitNode(e.right,visitor,isExpression);if(isElementAccessExpression(o)){const e=t.createTempVariable(n),a=t.createTempVariable(n);r=setTextRange(t.createElementAccessExpression(setTextRange(t.createAssignment(e,o.expression),o.expression),setTextRange(t.createAssignment(a,o.argumentExpression),o.argumentExpression)),o),i=setTextRange(t.createElementAccessExpression(e,a),o)}else if(isPropertyAccessExpression(o)){const e=t.createTempVariable(n);r=setTextRange(t.createPropertyAccessExpression(setTextRange(t.createAssignment(e,o.expression),o.expression),o.name),o),i=setTextRange(t.createPropertyAccessExpression(e,o.name),o)}else r=o,i=o;return setTextRange(t.createAssignment(r,setTextRange(t.createGlobalMethodCall("Math","pow",[i,a]),e)),e)}(r);case 43:return function visitExponentiationExpression(e){const n=visitNode(e.left,visitor,isExpression),r=visitNode(e.right,visitor,isExpression);return setTextRange(t.createGlobalMethodCall("Math","pow",[n,r]),e)}(r);default:return visitEachChild(r,visitor,e)}}(r):visitEachChild(r,visitor,e):r}}function createSpreadSegment(e,t){return{kind:e,expression:t}}function transformES2015(e){const{factory:t,getEmitHelperFactory:n,startLexicalEnvironment:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:a}=e,s=e.getCompilerOptions(),c=e.getEmitResolver(),l=e.onSubstituteNode,d=e.onEmitNode;let u,m,_,f,g;function recordTaggedTemplateString(e){f=append(f,t.createVariableDeclaration(e))}e.onEmitNode=function onEmitNode(e,t,n){if(1&y&&isFunctionLike(t)){const r=enterSubtree(32670,16&getEmitFlags(t)?81:65);return d(e,t,n),void exitSubtree(r,0,0)}d(e,t,n)},e.onSubstituteNode=function onSubstituteNode(e,n){if(n=l(e,n),1===e)return function substituteExpression(e){switch(e.kind){case 80:return function substituteExpressionIdentifier(e){if(2&y&&!isInternalName(e)){const n=c.getReferencedDeclarationWithCollidingName(e);if(n&&(!isClassLike(n)||!function isPartOfClassBody(e,t){let n=getParseTreeNode(t);if(!n||n===e||n.end<=e.pos||n.pos>=e.end)return!1;const r=getEnclosingBlockScopeContainer(e);for(;n;){if(n===r||n===e)return!1;if(isClassElement(n)&&n.parent===e)return!0;n=n.parent}return!1}(n,e)))return setTextRange(t.getGeneratedNameForNode(getNameOfDeclaration(n)),e)}return e}(e);case 110:return function substituteThisKeyword(e){if(1&y&&16&_)return setTextRange(createCapturedThis(),e);return e}(e)}return e}(n);if(isIdentifier(n))return function substituteIdentifier(e){if(2&y&&!isInternalName(e)){const n=getParseTreeNode(e,isIdentifier);if(n&&function isNameOfDeclarationWithCollidingName(e){switch(e.parent.kind){case 209:case 264:case 267:case 261:return e.parent.name===e&&c.isDeclarationWithCollidingName(e.parent)}return!1}(n))return setTextRange(t.getGeneratedNameForNode(n),e)}return e}(n);return n};let y=0;return chainBundle(e,function transformSourceFile(n){if(n.isDeclarationFile)return n;u=n,m=n.text;const i=function visitSourceFile(e){const n=enterSubtree(8064,64),i=[],a=[];r();const s=t.copyPrologue(e.statements,i,!1,visitor);addRange(a,visitNodes2(e.statements,visitor,isStatement,s)),f&&a.push(t.createVariableStatement(void 0,t.createVariableDeclarationList(f)));return t.mergeLexicalEnvironment(i,o()),insertCaptureThisForNodeIfNeeded(i,e),exitSubtree(n,0,0),t.updateSourceFile(e,setTextRange(t.createNodeArray(concatenate(i,a)),e.statements))}(n);return addEmitHelpers(i,e.readEmitHelpers()),u=void 0,m=void 0,f=void 0,_=0,i});function enterSubtree(e,t){const n=_;return _=32767&(_&~e|t),n}function exitSubtree(e,t,n){_=-32768&(_&~t|n)|e}function isReturnVoidStatementInConstructorWithCapturedSuper(e){return!!(8192&_)&&254===e.kind&&!e.expression}function shouldVisitNode(e){return!!(1024&e.transformFlags)||void 0!==g||8192&_&&function isOrMayContainReturnCompletion(e){return 4194304&e.transformFlags&&(isReturnStatement(e)||isIfStatement(e)||isWithStatement(e)||isSwitchStatement(e)||isCaseBlock(e)||isCaseClause(e)||isDefaultClause(e)||isTryStatement(e)||isCatchClause(e)||isLabeledStatement(e)||isIterationStatement(e,!1)||isBlock(e))}(e)||isIterationStatement(e,!1)&&shouldConvertIterationStatement(e)||!!(1&getInternalEmitFlags(e))}function visitor(e){return shouldVisitNode(e)?visitorWorker(e,!1):e}function visitorWithUnusedExpressionResult(e){return shouldVisitNode(e)?visitorWorker(e,!0):e}function classWrapperStatementVisitor(e){if(shouldVisitNode(e)){const t=getOriginalNode(e);if(isPropertyDeclaration(t)&&hasStaticModifier(t)){const t=enterSubtree(32670,16449),n=visitorWorker(e,!1);return exitSubtree(t,229376,0),n}return visitorWorker(e,!1)}return e}function callExpressionVisitor(e){return 108===e.kind?visitSuperKeyword(e,!0):visitor(e)}function visitorWorker(n,r){switch(n.kind){case 126:return;case 264:return function visitClassDeclaration(e){const n=t.createVariableDeclaration(t.getLocalName(e,!0),void 0,void 0,transformClassLikeDeclarationToExpression(e));setOriginalNode(n,e);const r=[],i=t.createVariableStatement(void 0,t.createVariableDeclarationList([n]));if(setOriginalNode(i,e),setTextRange(i,e),startOnNewLine(i),r.push(i),hasSyntacticModifier(e,32)){const n=hasSyntacticModifier(e,2048)?t.createExportDefault(t.getLocalName(e)):t.createExternalModuleExport(t.getLocalName(e));setOriginalNode(n,i),r.push(n)}return singleOrMany(r)}(n);case 232:return function visitClassExpression(e){return transformClassLikeDeclarationToExpression(e)}(n);case 170:return function visitParameter(e){return e.dotDotDotToken?void 0:isBindingPattern(e.name)?setOriginalNode(setTextRange(t.createParameterDeclaration(void 0,void 0,t.getGeneratedNameForNode(e),void 0,void 0,void 0),e),e):e.initializer?setOriginalNode(setTextRange(t.createParameterDeclaration(void 0,void 0,e.name,void 0,void 0,void 0),e),e):e}(n);case 263:return function visitFunctionDeclaration(n){const r=g;g=void 0;const i=enterSubtree(32670,65),o=visitParameterList(n.parameters,visitor,e),a=transformFunctionBody2(n),s=32768&_?t.getLocalName(n):n.name;return exitSubtree(i,229376,0),g=r,t.updateFunctionDeclaration(n,visitNodes2(n.modifiers,visitor,isModifier),n.asteriskToken,s,void 0,o,void 0,a)}(n);case 220:return function visitArrowFunction(n){16384&n.transformFlags&&!(16384&_)&&(_|=131072);const r=g;g=void 0;const i=enterSubtree(15232,66),o=t.createFunctionExpression(void 0,void 0,void 0,void 0,visitParameterList(n.parameters,visitor,e),void 0,transformFunctionBody2(n));return setTextRange(o,n),setOriginalNode(o,n),setEmitFlags(o,16),exitSubtree(i,0,0),g=r,o}(n);case 219:return function visitFunctionExpression(n){const r=524288&getEmitFlags(n)?enterSubtree(32662,69):enterSubtree(32670,65),i=g;g=void 0;const o=visitParameterList(n.parameters,visitor,e),a=transformFunctionBody2(n),s=32768&_?t.getLocalName(n):n.name;return exitSubtree(r,229376,0),g=i,t.updateFunctionExpression(n,void 0,n.asteriskToken,s,void 0,o,void 0,a)}(n);case 261:return visitVariableDeclaration(n);case 80:return visitIdentifier(n);case 262:return function visitVariableDeclarationList(n){if(7&n.flags||524288&n.transformFlags){7&n.flags&&enableSubstitutionsForBlockScopedBindings();const e=visitNodes2(n.declarations,1&n.flags?visitVariableDeclarationInLetDeclarationList:visitVariableDeclaration,isVariableDeclaration),r=t.createVariableDeclarationList(e);return setOriginalNode(r,n),setTextRange(r,n),setCommentRange(r,n),524288&n.transformFlags&&(isBindingPattern(n.declarations[0].name)||isBindingPattern(last(n.declarations).name))&&setSourceMapRange(r,function getRangeUnion(e){let t=-1,n=-1;for(const r of e)t=-1===t?r.pos:-1===r.pos?t:Math.min(t,r.pos),n=Math.max(n,r.end);return createRange(t,n)}(e)),r}return visitEachChild(n,visitor,e)}(n);case 256:return function visitSwitchStatement(t){if(void 0!==g){const n=g.allowedNonLabeledJumps;g.allowedNonLabeledJumps|=2;const r=visitEachChild(t,visitor,e);return g.allowedNonLabeledJumps=n,r}return visitEachChild(t,visitor,e)}(n);case 270:return function visitCaseBlock(t){const n=enterSubtree(7104,0),r=visitEachChild(t,visitor,e);return exitSubtree(n,0,0),r}(n);case 242:return function visitBlock(t,n){if(n)return visitEachChild(t,visitor,e);const r=256&_?enterSubtree(7104,512):enterSubtree(6976,128),i=visitEachChild(t,visitor,e);return exitSubtree(r,0,0),i}(n,!1);case 253:case 252:return function visitBreakOrContinueStatement(n){if(g){const e=253===n.kind?2:4;if(!(n.label&&g.labels&&g.labels.get(idText(n.label))||!n.label&&g.allowedNonLabeledJumps&e)){let e;const r=n.label;r?253===n.kind?(e=`break-${r.escapedText}`,setLabeledJump(g,!0,idText(r),e)):(e=`continue-${r.escapedText}`,setLabeledJump(g,!1,idText(r),e)):253===n.kind?(g.nonLocalJumps|=2,e="break"):(g.nonLocalJumps|=4,e="continue");let i=t.createStringLiteral(e);if(g.loopOutParameters.length){const e=g.loopOutParameters;let n;for(let r=0;r<e.length;r++){const i=copyOutParameter(e[r],1);n=0===r?i:t.createBinaryExpression(n,28,i)}i=t.createBinaryExpression(n,28,i)}return t.createReturnStatement(i)}}return visitEachChild(n,visitor,e)}(n);case 257:return function visitLabeledStatement(e){g&&!g.labels&&(g.labels=new Map);const n=unwrapInnermostStatementOfLabel(e,g&&recordLabel);return isIterationStatement(n,!1)?function visitIterationStatement(e,t){switch(e.kind){case 247:case 248:return visitDoOrWhileStatement(e,t);case 249:return visitForStatement(e,t);case 250:return visitForInStatement(e,t);case 251:return visitForOfStatement(e,t)}}(n,e):t.restoreEnclosingLabel(visitNode(n,visitor,isStatement,t.liftToBlock)??setTextRange(t.createEmptyStatement(),n),e,g&&resetLabel)}(n);case 247:case 248:return visitDoOrWhileStatement(n,void 0);case 249:return visitForStatement(n,void 0);case 250:return visitForInStatement(n,void 0);case 251:return visitForOfStatement(n,void 0);case 245:return function visitExpressionStatement(t){return visitEachChild(t,visitorWithUnusedExpressionResult,e)}(n);case 211:return function visitObjectLiteralExpression(n){const r=n.properties;let i=-1,o=!1;for(let e=0;e<r.length;e++){const t=r[e];if(1048576&t.transformFlags&&4&_||(o=168===h.checkDefined(t.name).kind)){i=e;break}}if(i<0)return visitEachChild(n,visitor,e);const s=t.createTempVariable(a),c=[],l=t.createAssignment(s,setEmitFlags(t.createObjectLiteralExpression(visitNodes2(r,visitor,isObjectLiteralElementLike,0,i),n.multiLine),o?131072:0));n.multiLine&&startOnNewLine(l);return c.push(l),function addObjectLiteralMembers(e,t,n,r){const i=t.properties,o=i.length;for(let a=r;a<o;a++){const r=i[a];switch(r.kind){case 178:case 179:const i=getAllAccessorDeclarations(t.properties,r);r===i.firstAccessor&&e.push(transformAccessorsToExpression(n,i,t,!!t.multiLine));break;case 175:e.push(transformObjectLiteralMethodDeclarationToExpression(r,n,t,t.multiLine));break;case 304:e.push(transformPropertyAssignmentToExpression(r,n,t.multiLine));break;case 305:e.push(transformShorthandPropertyAssignmentToExpression(r,n,t.multiLine));break;default:h.failBadSyntaxKind(t)}}}(c,n,s,i),c.push(n.multiLine?startOnNewLine(setParent(setTextRange(t.cloneNode(s),s),s.parent)):s),t.inlineExpressions(c)}(n);case 300:return function visitCatchClause(n){const r=enterSubtree(7104,0);let i;if(h.assert(!!n.variableDeclaration,"Catch clause variable should always be present when downleveling ES2015."),isBindingPattern(n.variableDeclaration.name)){const r=t.createTempVariable(void 0),o=t.createVariableDeclaration(r);setTextRange(o,n.variableDeclaration);const a=flattenDestructuringBinding(n.variableDeclaration,visitor,e,0,r),s=t.createVariableDeclarationList(a);setTextRange(s,n.variableDeclaration);const c=t.createVariableStatement(void 0,s);i=t.updateCatchClause(n,o,function addStatementToStartOfBlock(e,n){const r=visitNodes2(e.statements,visitor,isStatement);return t.updateBlock(e,[n,...r])}(n.block,c))}else i=visitEachChild(n,visitor,e);return exitSubtree(r,0,0),i}(n);case 305:return function visitShorthandPropertyAssignment(e){return setTextRange(t.createPropertyAssignment(e.name,visitIdentifier(t.cloneNode(e.name))),e)}(n);case 168:return function visitComputedPropertyName(t){return visitEachChild(t,visitor,e)}(n);case 210:return function visitArrayLiteralExpression(t){if(some(t.elements,isSpreadElement))return transformAndSpreadElements(t.elements,!1,!!t.multiLine,!!t.elements.hasTrailingComma);return visitEachChild(t,visitor,e)}(n);case 214:return function visitCallExpression(n){if(1&getInternalEmitFlags(n))return function visitTypeScriptClassWrapper(e){const n=cast(cast(skipOuterExpressions(e.expression),isArrowFunction).body,isBlock),isVariableStatementWithInitializer=e=>isVariableStatement(e)&&!!first(e.declarationList.declarations).initializer,r=g;g=void 0;const i=visitNodes2(n.statements,classWrapperStatementVisitor,isStatement);g=r;const o=filter(i,isVariableStatementWithInitializer),a=filter(i,e=>!isVariableStatementWithInitializer(e)),s=cast(first(o),isVariableStatement).declarationList.declarations[0],c=skipOuterExpressions(s.initializer);let l=tryCast(c,isAssignmentExpression);!l&&isBinaryExpression(c)&&28===c.operatorToken.kind&&(l=tryCast(c.left,isAssignmentExpression));const d=cast(l?skipOuterExpressions(l.right):c,isCallExpression),u=cast(skipOuterExpressions(d.expression),isFunctionExpression),m=u.body.statements;let _=0,f=-1;const y=[];if(l){const e=tryCast(m[_],isExpressionStatement);e&&(y.push(e),_++),y.push(m[_]),_++,y.push(t.createExpressionStatement(t.createAssignment(l.left,cast(s.name,isIdentifier))))}for(;!isReturnStatement(p(m,f));)f--;addRange(y,m,_,f),f<-1&&addRange(y,m,f+1);const h=tryCast(p(m,f),isReturnStatement);for(const e of a)isReturnStatement(e)&&(null==h?void 0:h.expression)&&!isIdentifier(h.expression)?y.push(h):y.push(e);return addRange(y,o,1),t.restoreOuterExpressions(e.expression,t.restoreOuterExpressions(s.initializer,t.restoreOuterExpressions(l&&l.right,t.updateCallExpression(d,t.restoreOuterExpressions(d.expression,t.updateFunctionExpression(u,void 0,void 0,void 0,void 0,u.parameters,void 0,t.updateBlock(u.body,y))),void 0,d.arguments))))}(n);const r=skipOuterExpressions(n.expression);if(108===r.kind||isSuperProperty(r)||some(n.arguments,isSpreadElement))return function visitCallExpressionWithPotentialCapturedThisAssignment(n,r){if(32768&n.transformFlags||108===n.expression.kind||isSuperProperty(skipOuterExpressions(n.expression))){const{target:e,thisArg:i}=t.createCallBinding(n.expression,a);let o;if(108===n.expression.kind&&setEmitFlags(i,8),o=32768&n.transformFlags?t.createFunctionApplyCall(h.checkDefined(visitNode(e,callExpressionVisitor,isExpression)),108===n.expression.kind?i:h.checkDefined(visitNode(i,visitor,isExpression)),transformAndSpreadElements(n.arguments,!0,!1,!1)):setTextRange(t.createFunctionCallCall(h.checkDefined(visitNode(e,callExpressionVisitor,isExpression)),108===n.expression.kind?i:h.checkDefined(visitNode(i,visitor,isExpression)),visitNodes2(n.arguments,visitor,isExpression)),n),108===n.expression.kind){const e=t.createLogicalOr(o,createActualThis());o=r?t.createAssignment(createCapturedThis(),e):e}return setOriginalNode(o,n)}isSuperCall(n)&&(_|=131072);return visitEachChild(n,visitor,e)}(n,!0);return t.updateCallExpression(n,h.checkDefined(visitNode(n.expression,callExpressionVisitor,isExpression)),void 0,visitNodes2(n.arguments,visitor,isExpression))}(n);case 215:return function visitNewExpression(n){if(some(n.arguments,isSpreadElement)){const{target:e,thisArg:r}=t.createCallBinding(t.createPropertyAccessExpression(n.expression,"bind"),a);return t.createNewExpression(t.createFunctionApplyCall(h.checkDefined(visitNode(e,visitor,isExpression)),r,transformAndSpreadElements(t.createNodeArray([t.createVoidZero(),...n.arguments]),!0,!1,!1)),void 0,[])}return visitEachChild(n,visitor,e)}(n);case 218:return function visitParenthesizedExpression(t,n){return visitEachChild(t,n?visitorWithUnusedExpressionResult:visitor,e)}(n,r);case 227:return visitBinaryExpression(n,r);case 357:return function visitCommaListExpression(n,r){if(r)return visitEachChild(n,visitorWithUnusedExpressionResult,e);let i;for(let e=0;e<n.elements.length;e++){const t=n.elements[e],r=visitNode(t,e<n.elements.length-1?visitorWithUnusedExpressionResult:visitor,isExpression);(i||r!==t)&&(i||(i=n.elements.slice(0,e)),h.assert(r),i.push(r))}const o=i?setTextRange(t.createNodeArray(i),n.elements):n.elements;return t.updateCommaListExpression(n,o)}(n,r);case 15:case 16:case 17:case 18:return function visitTemplateLiteral(e){return setTextRange(t.createStringLiteral(e.text),e)}(n);case 11:return function visitStringLiteral(e){if(e.hasExtendedUnicodeEscape)return setTextRange(t.createStringLiteral(e.text),e);return e}(n);case 9:return function visitNumericLiteral(e){if(384&e.numericLiteralFlags)return setTextRange(t.createNumericLiteral(e.text),e);return e}(n);case 216:return function visitTaggedTemplateExpression(t){return processTaggedTemplateExpression(e,t,visitor,u,recordTaggedTemplateString,1)}(n);case 229:return function visitTemplateExpression(e){let n=t.createStringLiteral(e.head.text);for(const r of e.templateSpans){const e=[h.checkDefined(visitNode(r.expression,visitor,isExpression))];r.literal.text.length>0&&e.push(t.createStringLiteral(r.literal.text)),n=t.createCallExpression(t.createPropertyAccessExpression(n,"concat"),void 0,e)}return setTextRange(n,e)}(n);case 230:return function visitYieldExpression(t){return visitEachChild(t,visitor,e)}(n);case 231:return function visitSpreadElement(e){return visitNode(e.expression,visitor,isExpression)}(n);case 108:return visitSuperKeyword(n,!1);case 110:return function visitThisKeyword(e){_|=65536,2&_&&!(16384&_)&&(_|=131072);if(g)return 2&_?(g.containsLexicalThis=!0,e):g.thisName||(g.thisName=t.createUniqueName("this"));return e}(n);case 237:return function visitMetaProperty(e){if(105===e.keywordToken&&"target"===e.name.escapedText)return _|=32768,t.createUniqueName("_newTarget",48);return e}(n);case 175:return function visitMethodDeclaration(e){h.assert(!isComputedPropertyName(e.name));const n=transformFunctionLikeToExpression(e,moveRangePos(e,-1),void 0,void 0);return setEmitFlags(n,1024|getEmitFlags(n)),setTextRange(t.createPropertyAssignment(e.name,n),e)}(n);case 178:case 179:return function visitAccessorDeclaration(n){h.assert(!isComputedPropertyName(n.name));const r=g;g=void 0;const i=enterSubtree(32670,65);let o;const a=visitParameterList(n.parameters,visitor,e),s=transformFunctionBody2(n);o=178===n.kind?t.updateGetAccessorDeclaration(n,n.modifiers,n.name,a,n.type,s):t.updateSetAccessorDeclaration(n,n.modifiers,n.name,a,s);return exitSubtree(i,229376,0),g=r,o}(n);case 244:return function visitVariableStatement(n){const r=enterSubtree(0,hasSyntacticModifier(n,32)?32:0);let i;if(!g||7&n.declarationList.flags||function isVariableStatementOfTypeScriptClassWrapper(e){return 1===e.declarationList.declarations.length&&!!e.declarationList.declarations[0].initializer&&!!(1&getInternalEmitFlags(e.declarationList.declarations[0].initializer))}(n))i=visitEachChild(n,visitor,e);else{let r;for(const i of n.declarationList.declarations)if(hoistVariableDeclarationDeclaredInConvertedLoop(g,i),i.initializer){let n;isBindingPattern(i.name)?n=flattenDestructuringAssignment(i,visitor,e,0):(n=t.createBinaryExpression(i.name,64,h.checkDefined(visitNode(i.initializer,visitor,isExpression))),setTextRange(n,i)),r=append(r,n)}i=r?setTextRange(t.createExpressionStatement(t.inlineExpressions(r)),n):void 0}return exitSubtree(r,0,0),i}(n);case 254:return function visitReturnStatement(n){if(g)return g.nonLocalJumps|=8,isReturnVoidStatementInConstructorWithCapturedSuper(n)&&(n=returnCapturedThis(n)),t.createReturnStatement(t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier("value"),n.expression?h.checkDefined(visitNode(n.expression,visitor,isExpression)):t.createVoidZero())]));if(isReturnVoidStatementInConstructorWithCapturedSuper(n))return returnCapturedThis(n);return visitEachChild(n,visitor,e)}(n);case 223:return function visitVoidExpression(t){return visitEachChild(t,visitorWithUnusedExpressionResult,e)}(n);default:return visitEachChild(n,visitor,e)}}function returnCapturedThis(e){return setOriginalNode(t.createReturnStatement(createCapturedThis()),e)}function createCapturedThis(){return t.createUniqueName("_this",48)}function visitIdentifier(e){return g&&c.isArgumentsLocalBinding(e)?g.argumentsName||(g.argumentsName=t.createUniqueName("arguments")):256&e.flags?setOriginalNode(setTextRange(t.createIdentifier(unescapeLeadingUnderscores(e.escapedText)),e),e):e}function transformClassLikeDeclarationToExpression(a){a.name&&enableSubstitutionsForBlockScopedBindings();const s=getClassExtendsHeritageElement(a),c=t.createFunctionExpression(void 0,void 0,void 0,void 0,s?[t.createParameterDeclaration(void 0,void 0,createSyntheticSuper())]:[],void 0,function transformClassBody(a,s){const c=[],l=t.getInternalName(a),d=isIdentifierANonContextualKeyword(l)?t.getGeneratedNameForNode(l):l;r(),function addExtendsHelperIfNeeded(e,r,i){i&&e.push(setTextRange(t.createExpressionStatement(n().createExtendsHelper(t.getInternalName(r))),i))}(c,a,s),function addConstructor(n,r,a,s){const c=g;g=void 0;const l=enterSubtree(32662,73),d=getFirstConstructorWithBody(r),p=function hasSynthesizedDefaultSuperCall(e,t){if(!e||!t)return!1;if(some(e.parameters))return!1;const n=firstOrUndefined(e.body.statements);if(!n||!nodeIsSynthesized(n)||245!==n.kind)return!1;const r=n.expression;if(!nodeIsSynthesized(r)||214!==r.kind)return!1;const i=r.expression;if(!nodeIsSynthesized(i)||108!==i.kind)return!1;const o=singleOrUndefined(r.arguments);if(!o||!nodeIsSynthesized(o)||231!==o.kind)return!1;const a=o.expression;return isIdentifier(a)&&"arguments"===a.escapedText}(d,void 0!==s),u=t.createFunctionDeclaration(void 0,void 0,a,void 0,function transformConstructorParameters(t,n){return visitParameterList(t&&!n?t.parameters:void 0,visitor,e)||[]}(d,p),void 0,function transformConstructorBody(e,n,r,a){const s=!!r&&106!==skipOuterExpressions(r.expression).kind;if(!e)return function createDefaultConstructorBody(e,n){const r=[];i(),t.mergeLexicalEnvironment(r,o()),n&&r.push(t.createReturnStatement(function createDefaultSuperCallOrThis(){return t.createLogicalOr(t.createLogicalAnd(t.createStrictInequality(createSyntheticSuper(),t.createNull()),t.createFunctionApplyCall(createSyntheticSuper(),createActualThis(),t.createIdentifier("arguments"))),createActualThis())}()));const a=t.createNodeArray(r);setTextRange(a,e.members);const s=t.createBlock(a,!0);return setTextRange(s,e),setEmitFlags(s,3072),s}(n,s);const c=[],l=[];i();const d=t.copyStandardPrologue(e.body.statements,c,0);(a||containsSuperCall(e.body))&&(_|=8192);addRange(l,visitNodes2(e.body.statements,visitor,isStatement,d));const p=s||8192&_;addDefaultValueAssignmentsIfNeeded2(c,e),addRestParameterIfNeeded(c,e,a),insertCaptureNewTargetIfNeeded(c,e),p?insertCaptureThisForNode(c,e,createActualThis()):insertCaptureThisForNodeIfNeeded(c,e);t.mergeLexicalEnvironment(c,o()),p&&!isSufficientlyCoveredByReturnStatements(e.body)&&l.push(t.createReturnStatement(createCapturedThis()));const u=t.createBlock(setTextRange(t.createNodeArray([...c,...l]),e.body.statements),!0);return setTextRange(u,e.body),function simplifyConstructor(e,n,r){const i=e;e=function simplifyConstructorInlineSuperInThisCaptureVariable(e){for(let n=0;n<e.statements.length-1;n++){const r=e.statements[n];if(!isThisCapturingVariableStatement(r))continue;const i=r.declarationList.declarations[0];if(110!==i.initializer.kind)continue;const o=n;let a=n+1;for(;a<e.statements.length;){const t=e.statements[a];if(isExpressionStatement(t)&&isTransformedSuperCallLike(skipOuterExpressions(t.expression)))break;if(!isUninitializedVariableStatement(t))return e;a++}const s=e.statements[a];let c=s.expression;isThisCapturingAssignment(c)&&(c=c.right);const l=t.updateVariableDeclaration(i,i.name,void 0,void 0,c),d=t.updateVariableDeclarationList(r.declarationList,[l]),p=t.createVariableStatement(r.modifiers,d);setOriginalNode(p,s),setTextRange(p,s);const u=t.createNodeArray([...e.statements.slice(0,o),...e.statements.slice(o+1,a),p,...e.statements.slice(a+1)]);return setTextRange(u,e.statements),t.updateBlock(e,u)}return e}(e),e=function simplifyConstructorInlineSuperReturn(e,n){for(const t of n.statements)if(134217728&t.transformFlags&&!getSuperCallFromStatement(t))return e;const r=!(16384&n.transformFlags||65536&_||131072&_);for(let n=e.statements.length-1;n>0;n--){const i=e.statements[n];if(isReturnStatement(i)&&i.expression&&isCapturedThis(i.expression)){const i=e.statements[n-1];let o;if(isExpressionStatement(i)&&isThisCapturingTransformedSuperCallWithFallback(skipOuterExpressions(i.expression)))o=i.expression;else if(r&&isThisCapturingVariableStatement(i)){const e=i.declarationList.declarations[0];isTransformedSuperCallLike(skipOuterExpressions(e.initializer))&&(o=t.createAssignment(createCapturedThis(),e.initializer))}if(!o)break;const a=t.createReturnStatement(o);setOriginalNode(a,i),setTextRange(a,i);const s=t.createNodeArray([...e.statements.slice(0,n-1),a,...e.statements.slice(n+1)]);return setTextRange(s,e.statements),t.updateBlock(e,s)}}return e}(e,n),e!==i&&(e=function simplifyConstructorElideUnusedThisCapture(e,n){if(16384&n.transformFlags||65536&_||131072&_)return e;for(const t of n.statements)if(134217728&t.transformFlags&&!getSuperCallFromStatement(t))return e;return t.updateBlock(e,visitNodes2(e.statements,elideUnusedThisCaptureWorker,isStatement))}(e,n));r&&(e=function complicateConstructorInjectSuperPresenceCheck(e){return t.updateBlock(e,visitNodes2(e.statements,injectSuperPresenceCheckWorker,isStatement))}(e));return e}(u,e.body,a)}(d,r,s,p));setTextRange(u,d||r),s&&setEmitFlags(u,16);n.push(u),exitSubtree(l,229376,0),g=c}(c,a,d,s),function addClassMembers(e,t){for(const n of t.members)switch(n.kind){case 241:e.push(transformSemicolonClassElementToStatement(n));break;case 175:e.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(t,n),n,t));break;case 178:case 179:const r=getAllAccessorDeclarations(t.members,n);n===r.firstAccessor&&e.push(transformAccessorsToStatement(getClassMemberPrefix(t,n),r,t));break;case 177:case 176:break;default:h.failBadSyntaxKind(n,u&&u.fileName)}}(c,a);const p=createTokenRange(skipTrivia(m,a.members.end),20),f=t.createPartiallyEmittedExpression(d);setTextRangeEnd(f,p.end),setEmitFlags(f,3072);const y=t.createReturnStatement(f);setTextRangePos(y,p.pos),setEmitFlags(y,3840),c.push(y),insertStatementsAfterStandardPrologue(c,o());const T=t.createBlock(setTextRange(t.createNodeArray(c),a.members),!0);return setEmitFlags(T,3072),T}(a,s));setEmitFlags(c,131072&getEmitFlags(a)|1048576);const l=t.createPartiallyEmittedExpression(c);setTextRangeEnd(l,a.end),setEmitFlags(l,3072);const d=t.createPartiallyEmittedExpression(l);setTextRangeEnd(d,skipTrivia(m,a.pos)),setEmitFlags(d,3072);const p=t.createParenthesizedExpression(t.createCallExpression(d,void 0,s?[h.checkDefined(visitNode(s.expression,visitor,isExpression))]:[]));return addSyntheticLeadingComment(p,3,"* @class "),p}function isUninitializedVariableStatement(e){return isVariableStatement(e)&&every(e.declarationList.declarations,e=>isIdentifier(e.name)&&!e.initializer)}function containsSuperCall(e){if(isSuperCall(e))return!0;if(!(134217728&e.transformFlags))return!1;switch(e.kind){case 220:case 219:case 263:case 177:case 176:return!1;case 178:case 179:case 175:case 173:{const t=e;return!!isComputedPropertyName(t.name)&&!!forEachChild(t.name,containsSuperCall)}}return!!forEachChild(e,containsSuperCall)}function isCapturedThis(e){return isGeneratedIdentifier(e)&&"_this"===idText(e)}function isSyntheticSuper(e){return isGeneratedIdentifier(e)&&"_super"===idText(e)}function isThisCapturingVariableStatement(e){return isVariableStatement(e)&&1===e.declarationList.declarations.length&&function isThisCapturingVariableDeclaration(e){return isVariableDeclaration(e)&&isCapturedThis(e.name)&&!!e.initializer}(e.declarationList.declarations[0])}function isThisCapturingAssignment(e){return isAssignmentExpression(e,!0)&&isCapturedThis(e.left)}function isTransformedSuperCall(e){return isCallExpression(e)&&isPropertyAccessExpression(e.expression)&&isSyntheticSuper(e.expression.expression)&&isIdentifier(e.expression.name)&&("call"===idText(e.expression.name)||"apply"===idText(e.expression.name))&&e.arguments.length>=1&&110===e.arguments[0].kind}function isTransformedSuperCallWithFallback(e){return isBinaryExpression(e)&&57===e.operatorToken.kind&&110===e.right.kind&&isTransformedSuperCall(e.left)}function isImplicitSuperCall(e){return isBinaryExpression(e)&&56===e.operatorToken.kind&&isBinaryExpression(e.left)&&38===e.left.operatorToken.kind&&isSyntheticSuper(e.left.left)&&106===e.left.right.kind&&isTransformedSuperCall(e.right)&&"apply"===idText(e.right.expression.name)}function isImplicitSuperCallWithFallback(e){return isBinaryExpression(e)&&57===e.operatorToken.kind&&110===e.right.kind&&isImplicitSuperCall(e.left)}function isThisCapturingTransformedSuperCallWithFallback(e){return isThisCapturingAssignment(e)&&isTransformedSuperCallWithFallback(e.right)}function isTransformedSuperCallLike(e){return isTransformedSuperCall(e)||isTransformedSuperCallWithFallback(e)||isThisCapturingTransformedSuperCallWithFallback(e)||isImplicitSuperCall(e)||isImplicitSuperCallWithFallback(e)||function isThisCapturingImplicitSuperCallWithFallback(e){return isThisCapturingAssignment(e)&&isImplicitSuperCallWithFallback(e.right)}(e)}function elideUnusedThisCaptureWorker(e){if(isThisCapturingVariableStatement(e)){if(110===e.declarationList.declarations[0].initializer.kind)return}else if(isThisCapturingAssignment(e))return t.createPartiallyEmittedExpression(e.right,e);switch(e.kind){case 220:case 219:case 263:case 177:case 176:return e;case 178:case 179:case 175:case 173:{const n=e;return isComputedPropertyName(n.name)?t.replacePropertyName(n,visitEachChild(n.name,elideUnusedThisCaptureWorker,void 0)):e}}return visitEachChild(e,elideUnusedThisCaptureWorker,void 0)}function injectSuperPresenceCheckWorker(e){if(isTransformedSuperCall(e)&&2===e.arguments.length&&isIdentifier(e.arguments[1])&&"arguments"===idText(e.arguments[1]))return t.createLogicalAnd(t.createStrictInequality(createSyntheticSuper(),t.createNull()),e);switch(e.kind){case 220:case 219:case 263:case 177:case 176:return e;case 178:case 179:case 175:case 173:{const n=e;return isComputedPropertyName(n.name)?t.replacePropertyName(n,visitEachChild(n.name,injectSuperPresenceCheckWorker,void 0)):e}}return visitEachChild(e,injectSuperPresenceCheckWorker,void 0)}function isSufficientlyCoveredByReturnStatements(e){if(254===e.kind)return!0;if(246===e.kind){const t=e;if(t.elseStatement)return isSufficientlyCoveredByReturnStatements(t.thenStatement)&&isSufficientlyCoveredByReturnStatements(t.elseStatement)}else if(242===e.kind){const t=lastOrUndefined(e.statements);if(t&&isSufficientlyCoveredByReturnStatements(t))return!0}return!1}function createActualThis(){return setEmitFlags(t.createThis(),8)}function hasDefaultValueOrBindingPattern(e){return void 0!==e.initializer||isBindingPattern(e.name)}function addDefaultValueAssignmentsIfNeeded2(e,t){if(!some(t.parameters,hasDefaultValueOrBindingPattern))return!1;let n=!1;for(const r of t.parameters){const{name:t,initializer:i,dotDotDotToken:o}=r;o||(isBindingPattern(t)?n=insertDefaultValueAssignmentForBindingPattern(e,r,t,i)||n:i&&(insertDefaultValueAssignmentForInitializer(e,r,t,i),n=!0))}return n}function insertDefaultValueAssignmentForBindingPattern(n,r,i,o){return i.elements.length>0?(insertStatementAfterCustomPrologue(n,setEmitFlags(t.createVariableStatement(void 0,t.createVariableDeclarationList(flattenDestructuringBinding(r,visitor,e,0,t.getGeneratedNameForNode(r)))),2097152)),!0):!!o&&(insertStatementAfterCustomPrologue(n,setEmitFlags(t.createExpressionStatement(t.createAssignment(t.getGeneratedNameForNode(r),h.checkDefined(visitNode(o,visitor,isExpression)))),2097152)),!0)}function insertDefaultValueAssignmentForInitializer(e,n,r,i){i=h.checkDefined(visitNode(i,visitor,isExpression));const o=t.createIfStatement(t.createTypeCheck(t.cloneNode(r),"undefined"),setEmitFlags(setTextRange(t.createBlock([t.createExpressionStatement(setEmitFlags(setTextRange(t.createAssignment(setEmitFlags(setParent(setTextRange(t.cloneNode(r),r),r.parent),96),setEmitFlags(i,3168|getEmitFlags(i))),n),3072))]),n),3905));startOnNewLine(o),setTextRange(o,n),setEmitFlags(o,2101056),insertStatementAfterCustomPrologue(e,o)}function addRestParameterIfNeeded(n,r,i){const o=[],a=lastOrUndefined(r.parameters);if(!function shouldAddRestParameter(e,t){return!(!e||!e.dotDotDotToken||t)}(a,i))return!1;const s=80===a.name.kind?setParent(setTextRange(t.cloneNode(a.name),a.name),a.name.parent):t.createTempVariable(void 0);setEmitFlags(s,96);const c=80===a.name.kind?t.cloneNode(a.name):s,l=r.parameters.length-1,d=t.createLoopVariable();o.push(setEmitFlags(setTextRange(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(s,void 0,void 0,t.createArrayLiteralExpression([]))])),a),2097152));const p=t.createForStatement(setTextRange(t.createVariableDeclarationList([t.createVariableDeclaration(d,void 0,void 0,t.createNumericLiteral(l))]),a),setTextRange(t.createLessThan(d,t.createPropertyAccessExpression(t.createIdentifier("arguments"),"length")),a),setTextRange(t.createPostfixIncrement(d),a),t.createBlock([startOnNewLine(setTextRange(t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(c,0===l?d:t.createSubtract(d,t.createNumericLiteral(l))),t.createElementAccessExpression(t.createIdentifier("arguments"),d))),a))]));return setEmitFlags(p,2097152),startOnNewLine(p),o.push(p),80!==a.name.kind&&o.push(setEmitFlags(setTextRange(t.createVariableStatement(void 0,t.createVariableDeclarationList(flattenDestructuringBinding(a,visitor,e,0,c))),a),2097152)),insertStatementsAfterCustomPrologue(n,o),!0}function insertCaptureThisForNodeIfNeeded(e,n){return!!(131072&_&&220!==n.kind)&&(insertCaptureThisForNode(e,n,t.createThis()),!0)}function insertCaptureThisForNode(n,r,i){!function enableSubstitutionsForCapturedThis(){1&y||(y|=1,e.enableSubstitution(110),e.enableEmitNotification(177),e.enableEmitNotification(175),e.enableEmitNotification(178),e.enableEmitNotification(179),e.enableEmitNotification(220),e.enableEmitNotification(219),e.enableEmitNotification(263))}();const o=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(createCapturedThis(),void 0,void 0,i)]));setEmitFlags(o,2100224),setSourceMapRange(o,r),insertStatementAfterCustomPrologue(n,o)}function insertCaptureNewTargetIfNeeded(e,n){if(32768&_){let r;switch(n.kind){case 220:return e;case 175:case 178:case 179:r=t.createVoidZero();break;case 177:r=t.createPropertyAccessExpression(setEmitFlags(t.createThis(),8),"constructor");break;case 263:case 219:r=t.createConditionalExpression(t.createLogicalAnd(setEmitFlags(t.createThis(),8),t.createBinaryExpression(setEmitFlags(t.createThis(),8),104,t.getLocalName(n))),void 0,t.createPropertyAccessExpression(setEmitFlags(t.createThis(),8),"constructor"),void 0,t.createVoidZero());break;default:return h.failBadSyntaxKind(n)}const i=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_newTarget",48),void 0,void 0,r)]));setEmitFlags(i,2100224),insertStatementAfterCustomPrologue(e,i)}return e}function transformSemicolonClassElementToStatement(e){return setTextRange(t.createEmptyStatement(),e)}function transformClassMethodDeclarationToStatement(n,r,i){const o=getCommentRange(r),a=getSourceMapRange(r),s=transformFunctionLikeToExpression(r,r,void 0,i),c=visitNode(r.name,visitor,isPropertyName);let l;if(h.assert(c),!isPrivateIdentifier(c)&&ir(e.getCompilerOptions())){const e=isComputedPropertyName(c)?c.expression:isIdentifier(c)?t.createStringLiteral(unescapeLeadingUnderscores(c.escapedText)):c;l=t.createObjectDefinePropertyCall(n,e,t.createPropertyDescriptor({value:s,enumerable:!1,writable:!0,configurable:!0}))}else{const e=createMemberAccessForPropertyName(t,n,c,r.name);l=t.createAssignment(e,s)}setEmitFlags(s,3072),setSourceMapRange(s,a);const d=setTextRange(t.createExpressionStatement(l),r);return setOriginalNode(d,r),setCommentRange(d,o),setEmitFlags(d,96),d}function transformAccessorsToStatement(e,n,r){const i=t.createExpressionStatement(transformAccessorsToExpression(e,n,r,!1));return setEmitFlags(i,3072),setSourceMapRange(i,getSourceMapRange(n.firstAccessor)),i}function transformAccessorsToExpression(e,{firstAccessor:n,getAccessor:r,setAccessor:i},o,a){const s=setParent(setTextRange(t.cloneNode(e),e),e.parent);setEmitFlags(s,3136),setSourceMapRange(s,n.name);const c=visitNode(n.name,visitor,isPropertyName);if(h.assert(c),isPrivateIdentifier(c))return h.failBadSyntaxKind(c,"Encountered unhandled private identifier while transforming ES2015.");const l=createExpressionForPropertyName(t,c);setEmitFlags(l,3104),setSourceMapRange(l,n.name);const d=[];if(r){const e=transformFunctionLikeToExpression(r,void 0,void 0,o);setSourceMapRange(e,getSourceMapRange(r)),setEmitFlags(e,1024);const n=t.createPropertyAssignment("get",e);setCommentRange(n,getCommentRange(r)),d.push(n)}if(i){const e=transformFunctionLikeToExpression(i,void 0,void 0,o);setSourceMapRange(e,getSourceMapRange(i)),setEmitFlags(e,1024);const n=t.createPropertyAssignment("set",e);setCommentRange(n,getCommentRange(i)),d.push(n)}d.push(t.createPropertyAssignment("enumerable",r||i?t.createFalse():t.createTrue()),t.createPropertyAssignment("configurable",t.createTrue()));const p=t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"defineProperty"),void 0,[s,l,t.createObjectLiteralExpression(d,!0)]);return a&&startOnNewLine(p),p}function transformFunctionLikeToExpression(n,r,i,o){const a=g;g=void 0;const s=o&&isClassLike(o)&&!isStatic(n)?enterSubtree(32670,73):enterSubtree(32670,65),c=visitParameterList(n.parameters,visitor,e),l=transformFunctionBody2(n);return 32768&_&&!i&&(263===n.kind||219===n.kind)&&(i=t.getGeneratedNameForNode(n)),exitSubtree(s,229376,0),g=a,setOriginalNode(setTextRange(t.createFunctionExpression(void 0,n.asteriskToken,i,void 0,c,void 0,l),r),n)}function transformFunctionBody2(e){let n,r,a=!1,s=!1;const c=[],l=[],d=e.body;let p;if(i(),isBlock(d)&&(p=t.copyStandardPrologue(d.statements,c,0,!1),p=t.copyCustomPrologue(d.statements,l,p,visitor,isHoistedFunction),p=t.copyCustomPrologue(d.statements,l,p,visitor,isHoistedVariableStatement)),a=addDefaultValueAssignmentsIfNeeded2(l,e)||a,a=addRestParameterIfNeeded(l,e,!1)||a,isBlock(d))p=t.copyCustomPrologue(d.statements,l,p,visitor),n=d.statements,addRange(l,visitNodes2(d.statements,visitor,isStatement,p)),!a&&d.multiLine&&(a=!0);else{h.assert(220===e.kind),n=moveRangeEnd(d,-1);const i=e.equalsGreaterThanToken;nodeIsSynthesized(i)||nodeIsSynthesized(d)||(rangeEndIsOnSameLineAsRangeStart(i,d,u)?s=!0:a=!0);const o=visitNode(d,visitor,isExpression),c=t.createReturnStatement(o);setTextRange(c,d),moveSyntheticComments(c,d),setEmitFlags(c,2880),l.push(c),r=d}if(t.mergeLexicalEnvironment(c,o()),insertCaptureNewTargetIfNeeded(c,e),insertCaptureThisForNodeIfNeeded(c,e),some(c)&&(a=!0),l.unshift(...c),isBlock(d)&&arrayIsEqualTo(l,d.statements))return d;const m=t.createBlock(setTextRange(t.createNodeArray(l),n),a);return setTextRange(m,e.body),!a&&s&&setEmitFlags(m,1),r&&setTokenSourceMapRange(m,20,r),setOriginalNode(m,e.body),m}function visitBinaryExpression(n,r){return isDestructuringAssignment(n)?flattenDestructuringAssignment(n,visitor,e,0,!r):28===n.operatorToken.kind?t.updateBinaryExpression(n,h.checkDefined(visitNode(n.left,visitorWithUnusedExpressionResult,isExpression)),n.operatorToken,h.checkDefined(visitNode(n.right,r?visitorWithUnusedExpressionResult:visitor,isExpression))):visitEachChild(n,visitor,e)}function visitVariableDeclarationInLetDeclarationList(n){return isBindingPattern(n.name)?visitVariableDeclaration(n):!n.initializer&&function shouldEmitExplicitInitializerForLetDeclaration(e){const t=c.hasNodeCheckFlag(e,16384),n=c.hasNodeCheckFlag(e,32768);return!(64&_||t&&n&&512&_)&&!(4096&_)&&(!c.isDeclarationWithCollidingName(e)||n&&!t&&!(6144&_))}(n)?t.updateVariableDeclaration(n,n.name,void 0,void 0,t.createVoidZero()):visitEachChild(n,visitor,e)}function visitVariableDeclaration(t){const n=enterSubtree(32,0);let r;return r=isBindingPattern(t.name)?flattenDestructuringBinding(t,visitor,e,0,void 0,!!(32&n)):visitEachChild(t,visitor,e),exitSubtree(n,0,0),r}function recordLabel(e){g.labels.set(idText(e.label),!0)}function resetLabel(e){g.labels.set(idText(e.label),!1)}function visitIterationStatementWithFacts(n,i,a,s,c){const l=enterSubtree(n,i),d=function convertIterationStatementBodyIfNecessary(n,i,a,s){if(!shouldConvertIterationStatement(n)){let r;g&&(r=g.allowedNonLabeledJumps,g.allowedNonLabeledJumps=6);const o=s?s(n,i,void 0,a):t.restoreEnclosingLabel(isForStatement(n)?function visitEachChildOfForStatement2(e){return t.updateForStatement(e,visitNode(e.initializer,visitorWithUnusedExpressionResult,isForInitializer),visitNode(e.condition,visitor,isExpression),visitNode(e.incrementor,visitorWithUnusedExpressionResult,isExpression),h.checkDefined(visitNode(e.statement,visitor,isStatement,t.liftToBlock)))}(n):visitEachChild(n,visitor,e),i,g&&resetLabel);return g&&(g.allowedNonLabeledJumps=r),o}const c=function createConvertedLoopState(e){let t;switch(e.kind){case 249:case 250:case 251:const n=e.initializer;n&&262===n.kind&&(t=n)}const n=[],r=[];if(t&&7&getCombinedNodeFlags(t)){const i=shouldConvertInitializerOfForStatement(e)||shouldConvertConditionOfForStatement(e)||shouldConvertIncrementorOfForStatement(e);for(const o of t.declarations)processLoopVariableDeclaration(e,o,n,r,i)}const i={loopParameters:n,loopOutParameters:r};g&&(g.argumentsName&&(i.argumentsName=g.argumentsName),g.thisName&&(i.thisName=g.thisName),g.hoistedLocalVariables&&(i.hoistedLocalVariables=g.hoistedLocalVariables));return i}(n),l=[],d=g;g=c;const p=shouldConvertInitializerOfForStatement(n)?function createFunctionForInitializerOfForStatement(e,n){const r=t.createUniqueName("_loop_init"),i=!!(1048576&e.initializer.transformFlags);let o=0;n.containsLexicalThis&&(o|=16);i&&4&_&&(o|=524288);const a=[];a.push(t.createVariableStatement(void 0,e.initializer)),copyOutParameters(n.loopOutParameters,2,1,a);const s=t.createVariableStatement(void 0,setEmitFlags(t.createVariableDeclarationList([t.createVariableDeclaration(r,void 0,void 0,setEmitFlags(t.createFunctionExpression(void 0,i?t.createToken(42):void 0,void 0,void 0,void 0,void 0,h.checkDefined(visitNode(t.createBlock(a,!0),visitor,isBlock))),o))]),4194304)),c=t.createVariableDeclarationList(map(n.loopOutParameters,createOutVariable));return{functionName:r,containsYield:i,functionDeclaration:s,part:c}}(n,c):void 0,u=shouldConvertBodyOfIterationStatement(n)?function createFunctionForBodyOfIterationStatement(e,n,i){const a=t.createUniqueName("_loop");r();const s=visitNode(e.statement,visitor,isStatement,t.liftToBlock),c=o(),l=[];(shouldConvertConditionOfForStatement(e)||shouldConvertIncrementorOfForStatement(e))&&(n.conditionVariable=t.createUniqueName("inc"),e.incrementor?l.push(t.createIfStatement(n.conditionVariable,t.createExpressionStatement(h.checkDefined(visitNode(e.incrementor,visitor,isExpression))),t.createExpressionStatement(t.createAssignment(n.conditionVariable,t.createTrue())))):l.push(t.createIfStatement(t.createLogicalNot(n.conditionVariable),t.createExpressionStatement(t.createAssignment(n.conditionVariable,t.createTrue())))),shouldConvertConditionOfForStatement(e)&&l.push(t.createIfStatement(t.createPrefixUnaryExpression(54,h.checkDefined(visitNode(e.condition,visitor,isExpression))),h.checkDefined(visitNode(t.createBreakStatement(),visitor,isStatement)))));h.assert(s),isBlock(s)?addRange(l,s.statements):l.push(s);copyOutParameters(n.loopOutParameters,1,1,l),insertStatementsAfterStandardPrologue(l,c);const d=t.createBlock(l,!0);isBlock(s)&&setOriginalNode(d,s);const p=!!(1048576&e.statement.transformFlags);let u=1048576;n.containsLexicalThis&&(u|=16);p&&4&_&&(u|=524288);const m=t.createVariableStatement(void 0,setEmitFlags(t.createVariableDeclarationList([t.createVariableDeclaration(a,void 0,void 0,setEmitFlags(t.createFunctionExpression(void 0,p?t.createToken(42):void 0,void 0,void 0,n.loopParameters,void 0,d),u))]),4194304)),f=function generateCallToConvertedLoop(e,n,r,i){const o=[],a=!(-5&n.nonLocalJumps||n.labeledNonLocalBreaks||n.labeledNonLocalContinues),s=t.createCallExpression(e,void 0,map(n.loopParameters,e=>e.name)),c=i?t.createYieldExpression(t.createToken(42),setEmitFlags(s,8388608)):s;if(a)o.push(t.createExpressionStatement(c)),copyOutParameters(n.loopOutParameters,1,0,o);else{const e=t.createUniqueName("state"),i=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(e,void 0,void 0,c)]));if(o.push(i),copyOutParameters(n.loopOutParameters,1,0,o),8&n.nonLocalJumps){let n;r?(r.nonLocalJumps|=8,n=t.createReturnStatement(e)):n=t.createReturnStatement(t.createPropertyAccessExpression(e,"value")),o.push(t.createIfStatement(t.createTypeCheck(e,"object"),n))}if(2&n.nonLocalJumps&&o.push(t.createIfStatement(t.createStrictEquality(e,t.createStringLiteral("break")),t.createBreakStatement())),n.labeledNonLocalBreaks||n.labeledNonLocalContinues){const i=[];processLabeledJumps(n.labeledNonLocalBreaks,!0,e,r,i),processLabeledJumps(n.labeledNonLocalContinues,!1,e,r,i),o.push(t.createSwitchStatement(e,t.createCaseBlock(i)))}}return o}(a,n,i,p);return{functionName:a,containsYield:p,functionDeclaration:m,part:f}}(n,c,d):void 0;g=d,p&&l.push(p.functionDeclaration);u&&l.push(u.functionDeclaration);(function addExtraDeclarationsForConvertedLoop(e,n,r){let i;n.argumentsName&&(r?r.argumentsName=n.argumentsName:(i||(i=[])).push(t.createVariableDeclaration(n.argumentsName,void 0,void 0,t.createIdentifier("arguments"))));n.thisName&&(r?r.thisName=n.thisName:(i||(i=[])).push(t.createVariableDeclaration(n.thisName,void 0,void 0,t.createIdentifier("this"))));if(n.hoistedLocalVariables)if(r)r.hoistedLocalVariables=n.hoistedLocalVariables;else{i||(i=[]);for(const e of n.hoistedLocalVariables)i.push(t.createVariableDeclaration(e))}if(n.loopOutParameters.length){i||(i=[]);for(const e of n.loopOutParameters)i.push(t.createVariableDeclaration(e.outParamName))}n.conditionVariable&&(i||(i=[]),i.push(t.createVariableDeclaration(n.conditionVariable,void 0,void 0,t.createFalse())));i&&e.push(t.createVariableStatement(void 0,t.createVariableDeclarationList(i)))})(l,c,d),p&&l.push(function generateCallToConvertedLoopInitializer(e,n){const r=t.createCallExpression(e,void 0,[]),i=n?t.createYieldExpression(t.createToken(42),setEmitFlags(r,8388608)):r;return t.createExpressionStatement(i)}(p.functionName,p.containsYield));let m;if(u)if(s)m=s(n,i,u.part,a);else{const e=convertIterationStatementCore(n,p,t.createBlock(u.part,!0));m=t.restoreEnclosingLabel(e,i,g&&resetLabel)}else{const e=convertIterationStatementCore(n,p,h.checkDefined(visitNode(n.statement,visitor,isStatement,t.liftToBlock)));m=t.restoreEnclosingLabel(e,i,g&&resetLabel)}return l.push(m),l}(a,s,l,c);return exitSubtree(l,0,0),d}function visitDoOrWhileStatement(e,t){return visitIterationStatementWithFacts(0,1280,e,t)}function visitForStatement(e,t){return visitIterationStatementWithFacts(5056,3328,e,t)}function visitForInStatement(e,t){return visitIterationStatementWithFacts(3008,5376,e,t)}function visitForOfStatement(e,t){return visitIterationStatementWithFacts(3008,5376,e,t,s.downlevelIteration?convertForOfStatementForIterable:convertForOfStatementForArray)}function convertForOfStatementHead(n,r,i){const o=[],a=n.initializer;if(isVariableDeclarationList(a)){7&n.initializer.flags&&enableSubstitutionsForBlockScopedBindings();const i=firstOrUndefined(a.declarations);if(i&&isBindingPattern(i.name)){const a=flattenDestructuringBinding(i,visitor,e,0,r),s=setTextRange(t.createVariableDeclarationList(a),n.initializer);setOriginalNode(s,n.initializer),setSourceMapRange(s,createRange(a[0].pos,last(a).end)),o.push(t.createVariableStatement(void 0,s))}else o.push(setTextRange(t.createVariableStatement(void 0,setOriginalNode(setTextRange(t.createVariableDeclarationList([t.createVariableDeclaration(i?i.name:t.createTempVariable(void 0),void 0,void 0,r)]),moveRangePos(a,-1)),a)),moveRangeEnd(a,-1)))}else{const e=t.createAssignment(a,r);isDestructuringAssignment(e)?o.push(t.createExpressionStatement(visitBinaryExpression(e,!0))):(setTextRangeEnd(e,a.end),o.push(setTextRange(t.createExpressionStatement(h.checkDefined(visitNode(e,visitor,isExpression))),moveRangeEnd(a,-1))))}if(i)return createSyntheticBlockForConvertedStatements(addRange(o,i));{const e=visitNode(n.statement,visitor,isStatement,t.liftToBlock);return h.assert(e),isBlock(e)?t.updateBlock(e,setTextRange(t.createNodeArray(concatenate(o,e.statements)),e.statements)):(o.push(e),createSyntheticBlockForConvertedStatements(o))}}function createSyntheticBlockForConvertedStatements(e){return setEmitFlags(t.createBlock(t.createNodeArray(e),!0),864)}function convertForOfStatementForArray(e,n,r){const i=visitNode(e.expression,visitor,isExpression);h.assert(i);const o=t.createLoopVariable(),a=isIdentifier(i)?t.getGeneratedNameForNode(i):t.createTempVariable(void 0);setEmitFlags(i,96|getEmitFlags(i));const s=setTextRange(t.createForStatement(setEmitFlags(setTextRange(t.createVariableDeclarationList([setTextRange(t.createVariableDeclaration(o,void 0,void 0,t.createNumericLiteral(0)),moveRangePos(e.expression,-1)),setTextRange(t.createVariableDeclaration(a,void 0,void 0,i),e.expression)]),e.expression),4194304),setTextRange(t.createLessThan(o,t.createPropertyAccessExpression(a,"length")),e.expression),setTextRange(t.createPostfixIncrement(o),e.expression),convertForOfStatementHead(e,t.createElementAccessExpression(a,o),r)),e);return setEmitFlags(s,512),setTextRange(s,e),t.restoreEnclosingLabel(s,n,g&&resetLabel)}function convertForOfStatementForIterable(e,r,i,o){const s=visitNode(e.expression,visitor,isExpression);h.assert(s);const c=isIdentifier(s)?t.getGeneratedNameForNode(s):t.createTempVariable(void 0),l=isIdentifier(s)?t.getGeneratedNameForNode(c):t.createTempVariable(void 0),d=t.createUniqueName("e"),p=t.getGeneratedNameForNode(d),u=t.createTempVariable(void 0),m=setTextRange(n().createValuesHelper(s),e.expression),_=t.createCallExpression(t.createPropertyAccessExpression(c,"next"),void 0,[]);a(d),a(u);const f=1024&o?t.inlineExpressions([t.createAssignment(d,t.createVoidZero()),m]):m,y=setEmitFlags(setTextRange(t.createForStatement(setEmitFlags(setTextRange(t.createVariableDeclarationList([setTextRange(t.createVariableDeclaration(c,void 0,void 0,f),e.expression),t.createVariableDeclaration(l,void 0,void 0,_)]),e.expression),4194304),t.createLogicalNot(t.createPropertyAccessExpression(l,"done")),t.createAssignment(l,_),convertForOfStatementHead(e,t.createPropertyAccessExpression(l,"value"),i)),e),512);return t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(y,r,g&&resetLabel)]),t.createCatchClause(t.createVariableDeclaration(p),setEmitFlags(t.createBlock([t.createExpressionStatement(t.createAssignment(d,t.createObjectLiteralExpression([t.createPropertyAssignment("error",p)])))]),1)),t.createBlock([t.createTryStatement(t.createBlock([setEmitFlags(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(l,t.createLogicalNot(t.createPropertyAccessExpression(l,"done"))),t.createAssignment(u,t.createPropertyAccessExpression(c,"return"))),t.createExpressionStatement(t.createFunctionCallCall(u,c,[]))),1)]),void 0,setEmitFlags(t.createBlock([setEmitFlags(t.createIfStatement(d,t.createThrowStatement(t.createPropertyAccessExpression(d,"error"))),1)]),1))]))}function shouldConvertPartOfIterationStatement(e){return c.hasNodeCheckFlag(e,8192)}function shouldConvertInitializerOfForStatement(e){return isForStatement(e)&&!!e.initializer&&shouldConvertPartOfIterationStatement(e.initializer)}function shouldConvertConditionOfForStatement(e){return isForStatement(e)&&!!e.condition&&shouldConvertPartOfIterationStatement(e.condition)}function shouldConvertIncrementorOfForStatement(e){return isForStatement(e)&&!!e.incrementor&&shouldConvertPartOfIterationStatement(e.incrementor)}function shouldConvertIterationStatement(e){return shouldConvertBodyOfIterationStatement(e)||shouldConvertInitializerOfForStatement(e)}function shouldConvertBodyOfIterationStatement(e){return c.hasNodeCheckFlag(e,4096)}function hoistVariableDeclarationDeclaredInConvertedLoop(e,t){e.hoistedLocalVariables||(e.hoistedLocalVariables=[]),function visit(t){if(80===t.kind)e.hoistedLocalVariables.push(t);else for(const e of t.elements)isOmittedExpression(e)||visit(e.name)}(t.name)}function convertIterationStatementCore(e,n,r){switch(e.kind){case 249:return function convertForStatement(e,n,r){const i=e.condition&&shouldConvertPartOfIterationStatement(e.condition),o=i||e.incrementor&&shouldConvertPartOfIterationStatement(e.incrementor);return t.updateForStatement(e,visitNode(n?n.part:e.initializer,visitorWithUnusedExpressionResult,isForInitializer),visitNode(i?void 0:e.condition,visitor,isExpression),visitNode(o?void 0:e.incrementor,visitorWithUnusedExpressionResult,isExpression),r)}(e,n,r);case 250:return function convertForInStatement(e,n){return t.updateForInStatement(e,h.checkDefined(visitNode(e.initializer,visitor,isForInitializer)),h.checkDefined(visitNode(e.expression,visitor,isExpression)),n)}(e,r);case 251:return function convertForOfStatement(e,n){return t.updateForOfStatement(e,void 0,h.checkDefined(visitNode(e.initializer,visitor,isForInitializer)),h.checkDefined(visitNode(e.expression,visitor,isExpression)),n)}(e,r);case 247:return function convertDoStatement(e,n){return t.updateDoStatement(e,n,h.checkDefined(visitNode(e.expression,visitor,isExpression)))}(e,r);case 248:return function convertWhileStatement(e,n){return t.updateWhileStatement(e,h.checkDefined(visitNode(e.expression,visitor,isExpression)),n)}(e,r);default:return h.failBadSyntaxKind(e,"IterationStatement expected")}}function createOutVariable(e){return t.createVariableDeclaration(e.originalName,void 0,void 0,e.outParamName)}function copyOutParameter(e,n){const r=0===n?e.outParamName:e.originalName,i=0===n?e.originalName:e.outParamName;return t.createBinaryExpression(i,64,r)}function copyOutParameters(e,n,r,i){for(const o of e)o.flags&n&&i.push(t.createExpressionStatement(copyOutParameter(o,r)))}function setLabeledJump(e,t,n,r){t?(e.labeledNonLocalBreaks||(e.labeledNonLocalBreaks=new Map),e.labeledNonLocalBreaks.set(n,r)):(e.labeledNonLocalContinues||(e.labeledNonLocalContinues=new Map),e.labeledNonLocalContinues.set(n,r))}function processLabeledJumps(e,n,r,i,o){e&&e.forEach((e,a)=>{const s=[];if(!i||i.labels&&i.labels.get(a)){const e=t.createIdentifier(a);s.push(n?t.createBreakStatement(e):t.createContinueStatement(e))}else setLabeledJump(i,n,a,e),s.push(t.createReturnStatement(r));o.push(t.createCaseClause(t.createStringLiteral(e),s))})}function processLoopVariableDeclaration(e,n,r,i,o){const a=n.name;if(isBindingPattern(a))for(const t of a.elements)isOmittedExpression(t)||processLoopVariableDeclaration(e,t,r,i,o);else{r.push(t.createParameterDeclaration(void 0,void 0,a));const s=c.hasNodeCheckFlag(n,65536);if(s||o){const r=t.createUniqueName("out_"+idText(a));let o=0;s&&(o|=1),isForStatement(e)&&(e.initializer&&c.isBindingCapturedByNode(e.initializer,n)&&(o|=2),(e.condition&&c.isBindingCapturedByNode(e.condition,n)||e.incrementor&&c.isBindingCapturedByNode(e.incrementor,n))&&(o|=1)),i.push({flags:o,originalName:a,outParamName:r})}}}function transformPropertyAssignmentToExpression(e,n,r){const i=t.createAssignment(createMemberAccessForPropertyName(t,n,h.checkDefined(visitNode(e.name,visitor,isPropertyName))),h.checkDefined(visitNode(e.initializer,visitor,isExpression)));return setTextRange(i,e),r&&startOnNewLine(i),i}function transformShorthandPropertyAssignmentToExpression(e,n,r){const i=t.createAssignment(createMemberAccessForPropertyName(t,n,h.checkDefined(visitNode(e.name,visitor,isPropertyName))),t.cloneNode(e.name));return setTextRange(i,e),r&&startOnNewLine(i),i}function transformObjectLiteralMethodDeclarationToExpression(e,n,r,i){const o=t.createAssignment(createMemberAccessForPropertyName(t,n,h.checkDefined(visitNode(e.name,visitor,isPropertyName))),transformFunctionLikeToExpression(e,e,void 0,r));return setTextRange(o,e),i&&startOnNewLine(o),o}function transformAndSpreadElements(e,r,i,o){const a=e.length,c=flatten(spanMap(e,partitionSpread,(e,t,n,r)=>t(e,i,o&&r===a)));if(1===c.length){const e=c[0];if(r&&!s.downlevelIteration||isPackedArrayLiteral(e.expression)||isCallToHelper(e.expression,"___spreadArray"))return e.expression}const l=n(),d=0!==c[0].kind;let p=d?t.createArrayLiteralExpression():c[0].expression;for(let e=d?0:1;e<c.length;e++){const t=c[e];p=l.createSpreadArrayHelper(p,t.expression,1===t.kind&&!r)}return p}function partitionSpread(e){return isSpreadElement(e)?visitSpanOfSpreads:visitSpanOfNonSpreads}function visitSpanOfSpreads(e){return map(e,visitExpressionOfSpread)}function visitExpressionOfSpread(e){h.assertNode(e,isSpreadElement);let t=visitNode(e.expression,visitor,isExpression);h.assert(t);const r=isCallToHelper(t,"___read");let i=r||isPackedArrayLiteral(t)?2:1;return!s.downlevelIteration||1!==i||isArrayLiteralExpression(t)||r||(t=n().createReadHelper(t,void 0),i=2),createSpreadSegment(i,t)}function visitSpanOfNonSpreads(e,n,r){return createSpreadSegment(0,t.createArrayLiteralExpression(visitNodes2(t.createNodeArray(e,r),visitor,isExpression),n))}function createSyntheticSuper(){return t.createUniqueName("_super",48)}function visitSuperKeyword(e,n){const r=8&_&&!n?t.createPropertyAccessExpression(setOriginalNode(createSyntheticSuper(),e),"prototype"):createSyntheticSuper();return setOriginalNode(r,e),setCommentRange(r,e),setSourceMapRange(r,e),r}function enableSubstitutionsForBlockScopedBindings(){2&y||(y|=2,e.enableSubstitution(80))}function getClassMemberPrefix(e,n){return isStatic(n)?t.getInternalName(e):t.createPropertyAccessExpression(t.getInternalName(e),"prototype")}}function transformGenerators(e){const{factory:t,getEmitHelperFactory:n,resumeLexicalEnvironment:r,endLexicalEnvironment:i,hoistFunctionDeclaration:o,hoistVariableDeclaration:a}=e,s=e.getCompilerOptions(),c=zn(s),l=e.getEmitResolver(),d=e.onSubstituteNode;let p,u,m,_,f,g,y,T,S,x;e.onSubstituteNode=function onSubstituteNode(e,n){if(n=d(e,n),1===e)return function substituteExpression(e){if(isIdentifier(e))return function substituteExpressionIdentifier(e){if(!isGeneratedIdentifier(e)&&p&&p.has(idText(e))){const n=getOriginalNode(e);if(isIdentifier(n)&&n.parent){const r=l.getReferencedValueDeclaration(n);if(r){const n=u[getOriginalNodeId(r)];if(n){const r=setParent(setTextRange(t.cloneNode(n),n),n.parent);return setSourceMapRange(r,e),setCommentRange(r,e),r}}}}return e}(e);return e}(n);return n};let v,b,C,E,N,k,F,P,D,I,A,O,w=1,L=0,M=0;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile||!(2048&t.transformFlags))return t;const n=visitEachChild(t,visitor,e);return addEmitHelpers(n,e.readEmitHelpers()),n});function visitor(t){const n=t.transformFlags;return _?function visitJavaScriptInStatementContainingYield(t){switch(t.kind){case 247:return function visitDoStatement(t){return _?(beginScriptLoopBlock(),t=visitEachChild(t,visitor,e),endLoopBlock(),t):visitEachChild(t,visitor,e)}(t);case 248:return function visitWhileStatement(t){return _?(beginScriptLoopBlock(),t=visitEachChild(t,visitor,e),endLoopBlock(),t):visitEachChild(t,visitor,e)}(t);case 256:return function visitSwitchStatement(t){_&&function beginScriptSwitchBlock(){beginBlock({kind:2,isScript:!0,breakLabel:-1})}();t=visitEachChild(t,visitor,e),_&&endSwitchBlock();return t}(t);case 257:return function visitLabeledStatement(t){_&&function beginScriptLabeledBlock(e){beginBlock({kind:4,isScript:!0,labelText:e,breakLabel:-1})}(idText(t.label));t=visitEachChild(t,visitor,e),_&&endLabeledBlock();return t}(t);default:return visitJavaScriptInGeneratorFunctionBody(t)}}(t):m?visitJavaScriptInGeneratorFunctionBody(t):isFunctionLikeDeclaration(t)&&t.asteriskToken?function visitGenerator(e){switch(e.kind){case 263:return visitFunctionDeclaration(e);case 219:return visitFunctionExpression(e);default:return h.failBadSyntaxKind(e)}}(t):2048&n?visitEachChild(t,visitor,e):t}function visitJavaScriptInGeneratorFunctionBody(r){switch(r.kind){case 263:return visitFunctionDeclaration(r);case 219:return visitFunctionExpression(r);case 178:case 179:return function visitAccessorDeclaration(t){const n=m,r=_;return m=!1,_=!1,t=visitEachChild(t,visitor,e),m=n,_=r,t}(r);case 244:return function visitVariableStatement(e){if(1048576&e.transformFlags)return void transformAndEmitVariableDeclarationList(e.declarationList);{if(2097152&getEmitFlags(e))return e;for(const t of e.declarationList.declarations)a(t.name);const n=getInitializedVariables(e.declarationList);if(0===n.length)return;return setSourceMapRange(t.createExpressionStatement(t.inlineExpressions(map(n,transformInitializedVariable))),e)}}(r);case 249:return function visitForStatement(n){_&&beginScriptLoopBlock();const r=n.initializer;if(r&&isVariableDeclarationList(r)){for(const e of r.declarations)a(e.name);const i=getInitializedVariables(r);n=t.updateForStatement(n,i.length>0?t.inlineExpressions(map(i,transformInitializedVariable)):void 0,visitNode(n.condition,visitor,isExpression),visitNode(n.incrementor,visitor,isExpression),visitIterationBody(n.statement,visitor,e))}else n=visitEachChild(n,visitor,e);_&&endLoopBlock();return n}(r);case 250:return function visitForInStatement(n){_&&beginScriptLoopBlock();const r=n.initializer;if(isVariableDeclarationList(r)){for(const e of r.declarations)a(e.name);n=t.updateForInStatement(n,r.declarations[0].name,h.checkDefined(visitNode(n.expression,visitor,isExpression)),h.checkDefined(visitNode(n.statement,visitor,isStatement,t.liftToBlock)))}else n=visitEachChild(n,visitor,e);_&&endLoopBlock();return n}(r);case 253:return function visitBreakStatement(t){if(_){const e=findBreakTarget(t.label&&idText(t.label));if(e>0)return createInlineBreak(e,t)}return visitEachChild(t,visitor,e)}(r);case 252:return function visitContinueStatement(t){if(_){const e=findContinueTarget(t.label&&idText(t.label));if(e>0)return createInlineBreak(e,t)}return visitEachChild(t,visitor,e)}(r);case 254:return function visitReturnStatement(e){return function createInlineReturn(e,n){return setTextRange(t.createReturnStatement(t.createArrayLiteralExpression(e?[createInstruction(2),e]:[createInstruction(2)])),n)}(visitNode(e.expression,visitor,isExpression),e)}(r);default:return 1048576&r.transformFlags?function visitJavaScriptContainingYield(r){switch(r.kind){case 227:return function visitBinaryExpression(n){const r=getExpressionAssociativity(n);switch(r){case 0:return function visitLeftAssociativeBinaryExpression(n){if(containsYield(n.right))return isLogicalOperator(n.operatorToken.kind)?function visitLogicalBinaryExpression(e){const t=defineLabel(),n=declareLocal();emitAssignment(n,h.checkDefined(visitNode(e.left,visitor,isExpression)),e.left),56===e.operatorToken.kind?emitBreakWhenFalse(t,n,e.left):emitBreakWhenTrue(t,n,e.left);return emitAssignment(n,h.checkDefined(visitNode(e.right,visitor,isExpression)),e.right),markLabel(t),n}(n):28===n.operatorToken.kind?visitCommaExpression(n):t.updateBinaryExpression(n,cacheExpression(h.checkDefined(visitNode(n.left,visitor,isExpression))),n.operatorToken,h.checkDefined(visitNode(n.right,visitor,isExpression)));return visitEachChild(n,visitor,e)}(n);case 1:return function visitRightAssociativeBinaryExpression(n){const{left:r,right:i}=n;if(containsYield(i)){let e;switch(r.kind){case 212:e=t.updatePropertyAccessExpression(r,cacheExpression(h.checkDefined(visitNode(r.expression,visitor,isLeftHandSideExpression))),r.name);break;case 213:e=t.updateElementAccessExpression(r,cacheExpression(h.checkDefined(visitNode(r.expression,visitor,isLeftHandSideExpression))),cacheExpression(h.checkDefined(visitNode(r.argumentExpression,visitor,isExpression))));break;default:e=h.checkDefined(visitNode(r,visitor,isExpression))}const o=n.operatorToken.kind;return isCompoundAssignment(o)?setTextRange(t.createAssignment(e,setTextRange(t.createBinaryExpression(cacheExpression(e),getNonAssignmentOperatorForCompoundAssignment(o),h.checkDefined(visitNode(i,visitor,isExpression))),n)),n):t.updateBinaryExpression(n,e,n.operatorToken,h.checkDefined(visitNode(i,visitor,isExpression)))}return visitEachChild(n,visitor,e)}(n);default:return h.assertNever(r)}}(r);case 357:return function visitCommaListExpression(e){let n=[];for(const r of e.elements)isBinaryExpression(r)&&28===r.operatorToken.kind?n.push(visitCommaExpression(r)):(containsYield(r)&&n.length>0&&(emitWorker(1,[t.createExpressionStatement(t.inlineExpressions(n))]),n=[]),n.push(h.checkDefined(visitNode(r,visitor,isExpression))));return t.inlineExpressions(n)}(r);case 228:return function visitConditionalExpression(t){if(containsYield(t.whenTrue)||containsYield(t.whenFalse)){const e=defineLabel(),n=defineLabel(),r=declareLocal();return emitBreakWhenFalse(e,h.checkDefined(visitNode(t.condition,visitor,isExpression)),t.condition),emitAssignment(r,h.checkDefined(visitNode(t.whenTrue,visitor,isExpression)),t.whenTrue),emitBreak(n),markLabel(e),emitAssignment(r,h.checkDefined(visitNode(t.whenFalse,visitor,isExpression)),t.whenFalse),markLabel(n),r}return visitEachChild(t,visitor,e)}(r);case 230:return function visitYieldExpression(e){const r=defineLabel(),i=visitNode(e.expression,visitor,isExpression);if(e.asteriskToken){!function emitYieldStar(e,t){emitWorker(7,[e],t)}(8388608&getEmitFlags(e.expression)?i:setTextRange(n().createValuesHelper(i),e),e)}else!function emitYield(e,t){emitWorker(6,[e],t)}(i,e);return markLabel(r),function createGeneratorResume(e){return setTextRange(t.createCallExpression(t.createPropertyAccessExpression(E,"sent"),void 0,[]),e)}(e)}(r);case 210:return function visitArrayLiteralExpression(e){return visitElements(e.elements,void 0,void 0,e.multiLine)}(r);case 211:return function visitObjectLiteralExpression(e){const n=e.properties,r=e.multiLine,i=countInitialNodesWithoutYield(n),o=declareLocal();emitAssignment(o,t.createObjectLiteralExpression(visitNodes2(n,visitor,isObjectLiteralElementLike,0,i),r));const a=reduceLeft(n,reduceProperty,[],i);return a.push(r?startOnNewLine(setParent(setTextRange(t.cloneNode(o),o),o.parent)):o),t.inlineExpressions(a);function reduceProperty(n,i){containsYield(i)&&n.length>0&&(emitStatement(t.createExpressionStatement(t.inlineExpressions(n))),n=[]);const a=visitNode(createExpressionForObjectLiteralElementLike(t,e,i,o),visitor,isExpression);return a&&(r&&startOnNewLine(a),n.push(a)),n}}(r);case 213:return function visitElementAccessExpression(n){if(containsYield(n.argumentExpression))return t.updateElementAccessExpression(n,cacheExpression(h.checkDefined(visitNode(n.expression,visitor,isLeftHandSideExpression))),h.checkDefined(visitNode(n.argumentExpression,visitor,isExpression)));return visitEachChild(n,visitor,e)}(r);case 214:return function visitCallExpression(n){if(!isImportCall(n)&&forEach(n.arguments,containsYield)){const{target:e,thisArg:r}=t.createCallBinding(n.expression,a,c,!0);return setOriginalNode(setTextRange(t.createFunctionApplyCall(cacheExpression(h.checkDefined(visitNode(e,visitor,isLeftHandSideExpression))),r,visitElements(n.arguments)),n),n)}return visitEachChild(n,visitor,e)}(r);case 215:return function visitNewExpression(n){if(forEach(n.arguments,containsYield)){const{target:e,thisArg:r}=t.createCallBinding(t.createPropertyAccessExpression(n.expression,"bind"),a);return setOriginalNode(setTextRange(t.createNewExpression(t.createFunctionApplyCall(cacheExpression(h.checkDefined(visitNode(e,visitor,isExpression))),r,visitElements(n.arguments,t.createVoidZero())),void 0,[]),n),n)}return visitEachChild(n,visitor,e)}(r);default:return visitEachChild(r,visitor,e)}}(r):4196352&r.transformFlags?visitEachChild(r,visitor,e):r}}function visitFunctionDeclaration(n){if(n.asteriskToken)n=setOriginalNode(setTextRange(t.createFunctionDeclaration(n.modifiers,void 0,n.name,void 0,visitParameterList(n.parameters,visitor,e),void 0,transformGeneratorFunctionBody(n.body)),n),n);else{const t=m,r=_;m=!1,_=!1,n=visitEachChild(n,visitor,e),m=t,_=r}return m?void o(n):n}function visitFunctionExpression(n){if(n.asteriskToken)n=setOriginalNode(setTextRange(t.createFunctionExpression(void 0,void 0,n.name,void 0,visitParameterList(n.parameters,visitor,e),void 0,transformGeneratorFunctionBody(n.body)),n),n);else{const t=m,r=_;m=!1,_=!1,n=visitEachChild(n,visitor,e),m=t,_=r}return n}function transformGeneratorFunctionBody(e){const o=[],a=m,s=_,c=f,l=g,d=y,p=T,u=S,h=x,R=w,B=v,j=b,J=C,W=E;m=!0,_=!1,f=void 0,g=void 0,y=void 0,T=void 0,S=void 0,x=void 0,w=1,v=void 0,b=void 0,C=void 0,E=t.createTempVariable(void 0),r();const U=t.copyPrologue(e.statements,o,!1,visitor);transformAndEmitStatements(e.statements,U);const z=function build2(){L=0,M=0,N=void 0,k=!1,F=!1,P=void 0,D=void 0,I=void 0,A=void 0,O=void 0;const e=function buildStatements(){if(v){for(let e=0;e<v.length;e++)writeOperation(e);flushFinalLabel(v.length)}else flushFinalLabel(0);if(P){const e=t.createPropertyAccessExpression(E,"label");return[startOnNewLine(t.createSwitchStatement(e,t.createCaseBlock(P)))]}if(D)return D;return[]}();return n().createGeneratorHelper(setEmitFlags(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,E)],void 0,t.createBlock(e,e.length>0)),1048576))}();return insertStatementsAfterStandardPrologue(o,i()),o.push(t.createReturnStatement(z)),m=a,_=s,f=c,g=l,y=d,T=p,S=u,x=h,w=R,v=B,b=j,C=J,E=W,setTextRange(t.createBlock(o,e.multiLine),e)}function visitCommaExpression(e){let n=[];return visit(e.left),visit(e.right),t.inlineExpressions(n);function visit(e){isBinaryExpression(e)&&28===e.operatorToken.kind?(visit(e.left),visit(e.right)):(containsYield(e)&&n.length>0&&(emitWorker(1,[t.createExpressionStatement(t.inlineExpressions(n))]),n=[]),n.push(h.checkDefined(visitNode(e,visitor,isExpression))))}}function visitElements(e,n,r,i){const o=countInitialNodesWithoutYield(e);let a;if(o>0){a=declareLocal();const r=visitNodes2(e,visitor,isExpression,0,o);emitAssignment(a,t.createArrayLiteralExpression(n?[n,...r]:r)),n=void 0}const s=reduceLeft(e,function reduceElement(e,r){if(containsYield(r)&&e.length>0){const r=void 0!==a;a||(a=declareLocal()),emitAssignment(a,r?t.createArrayConcatCall(a,[t.createArrayLiteralExpression(e,i)]):t.createArrayLiteralExpression(n?[n,...e]:e,i)),n=void 0,e=[]}return e.push(h.checkDefined(visitNode(r,visitor,isExpression))),e},[],o);return a?t.createArrayConcatCall(a,[t.createArrayLiteralExpression(s,i)]):setTextRange(t.createArrayLiteralExpression(n?[n,...s]:s,i),r)}function transformAndEmitStatements(e,t=0){const n=e.length;for(let r=t;r<n;r++)transformAndEmitStatement(e[r])}function transformAndEmitEmbeddedStatement(e){isBlock(e)?transformAndEmitStatements(e.statements):transformAndEmitStatement(e)}function transformAndEmitStatement(n){const r=_;_||(_=containsYield(n)),function transformAndEmitStatementWorker(n){switch(n.kind){case 242:return function transformAndEmitBlock(e){containsYield(e)?transformAndEmitStatements(e.statements):emitStatement(visitNode(e,visitor,isStatement))}(n);case 245:return function transformAndEmitExpressionStatement(e){emitStatement(visitNode(e,visitor,isStatement))}(n);case 246:return function transformAndEmitIfStatement(e){if(containsYield(e))if(containsYield(e.thenStatement)||containsYield(e.elseStatement)){const t=defineLabel(),n=e.elseStatement?defineLabel():void 0;emitBreakWhenFalse(e.elseStatement?n:t,h.checkDefined(visitNode(e.expression,visitor,isExpression)),e.expression),transformAndEmitEmbeddedStatement(e.thenStatement),e.elseStatement&&(emitBreak(t),markLabel(n),transformAndEmitEmbeddedStatement(e.elseStatement)),markLabel(t)}else emitStatement(visitNode(e,visitor,isStatement));else emitStatement(visitNode(e,visitor,isStatement))}(n);case 247:return function transformAndEmitDoStatement(e){if(containsYield(e)){const t=defineLabel(),n=defineLabel();beginLoopBlock(t),markLabel(n),transformAndEmitEmbeddedStatement(e.statement),markLabel(t),emitBreakWhenTrue(n,h.checkDefined(visitNode(e.expression,visitor,isExpression))),endLoopBlock()}else emitStatement(visitNode(e,visitor,isStatement))}(n);case 248:return function transformAndEmitWhileStatement(e){if(containsYield(e)){const t=defineLabel(),n=beginLoopBlock(t);markLabel(t),emitBreakWhenFalse(n,h.checkDefined(visitNode(e.expression,visitor,isExpression))),transformAndEmitEmbeddedStatement(e.statement),emitBreak(t),endLoopBlock()}else emitStatement(visitNode(e,visitor,isStatement))}(n);case 249:return function transformAndEmitForStatement(e){if(containsYield(e)){const n=defineLabel(),r=defineLabel(),i=beginLoopBlock(r);if(e.initializer){const n=e.initializer;isVariableDeclarationList(n)?transformAndEmitVariableDeclarationList(n):emitStatement(setTextRange(t.createExpressionStatement(h.checkDefined(visitNode(n,visitor,isExpression))),n))}markLabel(n),e.condition&&emitBreakWhenFalse(i,h.checkDefined(visitNode(e.condition,visitor,isExpression))),transformAndEmitEmbeddedStatement(e.statement),markLabel(r),e.incrementor&&emitStatement(setTextRange(t.createExpressionStatement(h.checkDefined(visitNode(e.incrementor,visitor,isExpression))),e.incrementor)),emitBreak(n),endLoopBlock()}else emitStatement(visitNode(e,visitor,isStatement))}(n);case 250:return function transformAndEmitForInStatement(e){if(containsYield(e)){const n=declareLocal(),r=declareLocal(),i=declareLocal(),o=t.createLoopVariable(),s=e.initializer;a(o),emitAssignment(n,h.checkDefined(visitNode(e.expression,visitor,isExpression))),emitAssignment(r,t.createArrayLiteralExpression()),emitStatement(t.createForInStatement(i,n,t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(r,"push"),void 0,[i])))),emitAssignment(o,t.createNumericLiteral(0));const c=defineLabel(),l=defineLabel(),d=beginLoopBlock(l);let p;if(markLabel(c),emitBreakWhenFalse(d,t.createLessThan(o,t.createPropertyAccessExpression(r,"length"))),emitAssignment(i,t.createElementAccessExpression(r,o)),emitBreakWhenFalse(l,t.createBinaryExpression(i,103,n)),isVariableDeclarationList(s)){for(const e of s.declarations)a(e.name);p=t.cloneNode(s.declarations[0].name)}else p=h.checkDefined(visitNode(s,visitor,isExpression)),h.assert(isLeftHandSideExpression(p));emitAssignment(p,i),transformAndEmitEmbeddedStatement(e.statement),markLabel(l),emitStatement(t.createExpressionStatement(t.createPostfixIncrement(o))),emitBreak(c),endLoopBlock()}else emitStatement(visitNode(e,visitor,isStatement))}(n);case 252:return function transformAndEmitContinueStatement(e){const t=findContinueTarget(e.label?idText(e.label):void 0);t>0?emitBreak(t,e):emitStatement(e)}(n);case 253:return function transformAndEmitBreakStatement(e){const t=findBreakTarget(e.label?idText(e.label):void 0);t>0?emitBreak(t,e):emitStatement(e)}(n);case 254:return function transformAndEmitReturnStatement(e){!function emitReturn(e,t){emitWorker(8,[e],t)}(visitNode(e.expression,visitor,isExpression),e)}(n);case 255:return function transformAndEmitWithStatement(e){containsYield(e)?(!function beginWithBlock(e){const t=defineLabel(),n=defineLabel();markLabel(t),beginBlock({kind:1,expression:e,startLabel:t,endLabel:n})}(cacheExpression(h.checkDefined(visitNode(e.expression,visitor,isExpression)))),transformAndEmitEmbeddedStatement(e.statement),function endWithBlock(){h.assert(1===peekBlockKind());markLabel(endBlock().endLabel)}()):emitStatement(visitNode(e,visitor,isStatement))}(n);case 256:return function transformAndEmitSwitchStatement(e){if(containsYield(e.caseBlock)){const n=e.caseBlock,r=n.clauses.length,i=function beginSwitchBlock(){const e=defineLabel();return beginBlock({kind:2,isScript:!1,breakLabel:e}),e}(),o=cacheExpression(h.checkDefined(visitNode(e.expression,visitor,isExpression))),a=[];let s=-1;for(let e=0;e<r;e++){const t=n.clauses[e];a.push(defineLabel()),298===t.kind&&-1===s&&(s=e)}let c=0,l=[];for(;c<r;){let e=0;for(let i=c;i<r;i++){const r=n.clauses[i];if(297===r.kind){if(containsYield(r.expression)&&l.length>0)break;l.push(t.createCaseClause(h.checkDefined(visitNode(r.expression,visitor,isExpression)),[createInlineBreak(a[i],r.expression)]))}else e++}l.length&&(emitStatement(t.createSwitchStatement(o,t.createCaseBlock(l))),c+=l.length,l=[]),e>0&&(c+=e,e=0)}emitBreak(s>=0?a[s]:i);for(let e=0;e<r;e++)markLabel(a[e]),transformAndEmitStatements(n.clauses[e].statements);endSwitchBlock()}else emitStatement(visitNode(e,visitor,isStatement))}(n);case 257:return function transformAndEmitLabeledStatement(e){containsYield(e)?(!function beginLabeledBlock(e){const t=defineLabel();beginBlock({kind:4,isScript:!1,labelText:e,breakLabel:t})}(idText(e.label)),transformAndEmitEmbeddedStatement(e.statement),endLabeledBlock()):emitStatement(visitNode(e,visitor,isStatement))}(n);case 258:return function transformAndEmitThrowStatement(e){!function emitThrow(e,t){emitWorker(9,[e],t)}(h.checkDefined(visitNode(e.expression??t.createVoidZero(),visitor,isExpression)),e)}(n);case 259:return function transformAndEmitTryStatement(n){containsYield(n)?(!function beginExceptionBlock(){const e=defineLabel(),t=defineLabel();return markLabel(e),beginBlock({kind:0,state:0,startLabel:e,endLabel:t}),emitNop(),t}(),transformAndEmitEmbeddedStatement(n.tryBlock),n.catchClause&&(!function beginCatchBlock(n){let r;if(h.assert(0===peekBlockKind()),isGeneratedIdentifier(n.name))r=n.name,a(n.name);else{const t=idText(n.name);r=declareLocal(t),p||(p=new Map,u=[],e.enableSubstitution(80)),p.set(t,!0),u[getOriginalNodeId(n)]=r}const i=peekBlock();h.assert(i.state<1);emitBreak(i.endLabel);const o=defineLabel();markLabel(o),i.state=1,i.catchVariable=r,i.catchLabel=o,emitAssignment(r,t.createCallExpression(t.createPropertyAccessExpression(E,"sent"),void 0,[])),emitNop()}(n.catchClause.variableDeclaration),transformAndEmitEmbeddedStatement(n.catchClause.block)),n.finallyBlock&&(!function beginFinallyBlock(){h.assert(0===peekBlockKind());const e=peekBlock();h.assert(e.state<2);emitBreak(e.endLabel);const t=defineLabel();markLabel(t),e.state=2,e.finallyLabel=t}(),transformAndEmitEmbeddedStatement(n.finallyBlock)),function endExceptionBlock(){h.assert(0===peekBlockKind());const e=endBlock();e.state<2?emitBreak(e.endLabel):function emitEndfinally(){emitWorker(10)}();markLabel(e.endLabel),emitNop(),e.state=3}()):emitStatement(visitEachChild(n,visitor,e))}(n);default:return emitStatement(visitNode(n,visitor,isStatement))}}(n),_=r}function transformAndEmitVariableDeclarationList(e){for(const n of e.declarations){const e=t.cloneNode(n.name);setCommentRange(e,n.name),a(e)}const n=getInitializedVariables(e),r=n.length;let i=0,o=[];for(;i<r;){for(let e=i;e<r;e++){const t=n[e];if(containsYield(t.initializer)&&o.length>0)break;o.push(transformInitializedVariable(t))}o.length&&(emitStatement(t.createExpressionStatement(t.inlineExpressions(o))),i+=o.length,o=[])}}function transformInitializedVariable(e){return setSourceMapRange(t.createAssignment(setSourceMapRange(t.cloneNode(e.name),e.name),h.checkDefined(visitNode(e.initializer,visitor,isExpression))),e)}function containsYield(e){return!!e&&!!(1048576&e.transformFlags)}function countInitialNodesWithoutYield(e){const t=e.length;for(let n=0;n<t;n++)if(containsYield(e[n]))return n;return-1}function cacheExpression(e){if(isGeneratedIdentifier(e)||8192&getEmitFlags(e))return e;const n=t.createTempVariable(a);return emitAssignment(n,e,e),n}function declareLocal(e){const n=e?t.createUniqueName(e):t.createTempVariable(void 0);return a(n),n}function defineLabel(){S||(S=[]);const e=w;return w++,S[e]=-1,e}function markLabel(e){h.assert(void 0!==S,"No labels were defined."),S[e]=v?v.length:0}function beginBlock(e){f||(f=[],y=[],g=[],T=[]);const t=y.length;return y[t]=0,g[t]=v?v.length:0,f[t]=e,T.push(e),t}function endBlock(){const e=peekBlock();if(void 0===e)return h.fail("beginBlock was never called.");const t=y.length;return y[t]=1,g[t]=v?v.length:0,f[t]=e,T.pop(),e}function peekBlock(){return lastOrUndefined(T)}function peekBlockKind(){const e=peekBlock();return e&&e.kind}function beginScriptLoopBlock(){beginBlock({kind:3,isScript:!0,breakLabel:-1,continueLabel:-1})}function beginLoopBlock(e){const t=defineLabel();return beginBlock({kind:3,isScript:!1,breakLabel:t,continueLabel:e}),t}function endLoopBlock(){h.assert(3===peekBlockKind());const e=endBlock(),t=e.breakLabel;e.isScript||markLabel(t)}function endSwitchBlock(){h.assert(2===peekBlockKind());const e=endBlock(),t=e.breakLabel;e.isScript||markLabel(t)}function endLabeledBlock(){h.assert(4===peekBlockKind());const e=endBlock();e.isScript||markLabel(e.breakLabel)}function supportsUnlabeledBreak(e){return 2===e.kind||3===e.kind}function supportsLabeledBreakOrContinue(e){return 4===e.kind}function supportsUnlabeledContinue(e){return 3===e.kind}function hasImmediateContainingLabeledBlock(e,t){for(let n=t;n>=0;n--){const t=T[n];if(!supportsLabeledBreakOrContinue(t))break;if(t.labelText===e)return!0}return!1}function findBreakTarget(e){if(T)if(e)for(let t=T.length-1;t>=0;t--){const n=T[t];if(supportsLabeledBreakOrContinue(n)&&n.labelText===e)return n.breakLabel;if(supportsUnlabeledBreak(n)&&hasImmediateContainingLabeledBlock(e,t-1))return n.breakLabel}else for(let e=T.length-1;e>=0;e--){const t=T[e];if(supportsUnlabeledBreak(t))return t.breakLabel}return 0}function findContinueTarget(e){if(T)if(e)for(let t=T.length-1;t>=0;t--){const n=T[t];if(supportsUnlabeledContinue(n)&&hasImmediateContainingLabeledBlock(e,t-1))return n.continueLabel}else for(let e=T.length-1;e>=0;e--){const t=T[e];if(supportsUnlabeledContinue(t))return t.continueLabel}return 0}function createLabel(e){if(void 0!==e&&e>0){void 0===x&&(x=[]);const n=t.createNumericLiteral(Number.MAX_SAFE_INTEGER);return void 0===x[e]?x[e]=[n]:x[e].push(n),n}return t.createOmittedExpression()}function createInstruction(e){const n=t.createNumericLiteral(e);return addSyntheticTrailingComment(n,3,function getInstructionName(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return}}(e)),n}function createInlineBreak(e,n){return h.assertLessThan(0,e,"Invalid label"),setTextRange(t.createReturnStatement(t.createArrayLiteralExpression([createInstruction(3),createLabel(e)])),n)}function emitNop(){emitWorker(0)}function emitStatement(e){e?emitWorker(1,[e]):emitNop()}function emitAssignment(e,t,n){emitWorker(2,[e,t],n)}function emitBreak(e,t){emitWorker(3,[e],t)}function emitBreakWhenTrue(e,t,n){emitWorker(4,[e,t],n)}function emitBreakWhenFalse(e,t,n){emitWorker(5,[e,t],n)}function emitWorker(e,t,n){void 0===v&&(v=[],b=[],C=[]),void 0===S&&markLabel(defineLabel());const r=v.length;v[r]=e,b[r]=t,C[r]=n}function flushLabel(){D&&(appendLabel(!k),k=!1,F=!1,M++)}function flushFinalLabel(e){(function isFinalLabelReachable(e){if(!F)return!0;if(!S||!x)return!1;for(let t=0;t<S.length;t++)if(S[t]===e&&x[t])return!0;return!1})(e)&&(tryEnterLabel(e),O=void 0,writeReturn(void 0,void 0)),D&&P&&appendLabel(!1),function updateLabelExpressions(){if(void 0!==x&&void 0!==N)for(let e=0;e<N.length;e++){const t=N[e];if(void 0!==t)for(const n of t){const t=x[n];if(void 0!==t)for(const n of t)n.text=String(e)}}}()}function appendLabel(e){if(P||(P=[]),D){if(O)for(let e=O.length-1;e>=0;e--){const n=O[e];D=[t.createWithStatement(n.expression,t.createBlock(D))]}if(A){const{startLabel:e,catchLabel:n,finallyLabel:r,endLabel:i}=A;D.unshift(t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createPropertyAccessExpression(E,"trys"),"push"),void 0,[t.createArrayLiteralExpression([createLabel(e),createLabel(n),createLabel(r),createLabel(i)])]))),A=void 0}e&&D.push(t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(E,"label"),t.createNumericLiteral(M+1))))}P.push(t.createCaseClause(t.createNumericLiteral(M),D||[])),D=void 0}function tryEnterLabel(e){if(S)for(let t=0;t<S.length;t++)S[t]===e&&(flushLabel(),void 0===N&&(N=[]),void 0===N[M]?N[M]=[t]:N[M].push(t))}function writeOperation(e){if(tryEnterLabel(e),function tryEnterOrLeaveBlock(e){if(f)for(;L<y.length&&g[L]<=e;L++){const e=f[L],t=y[L];switch(e.kind){case 0:0===t?(I||(I=[]),D||(D=[]),I.push(A),A=e):1===t&&(A=I.pop());break;case 1:0===t?(O||(O=[]),O.push(e)):1===t&&O.pop()}}}(e),k)return;k=!1,F=!1;const n=v[e];if(0===n)return;if(10===n)return function writeEndfinally(){k=!0,writeStatement(t.createReturnStatement(t.createArrayLiteralExpression([createInstruction(7)])))}();const r=b[e];if(1===n)return writeStatement(r[0]);const i=C[e];switch(n){case 2:return function writeAssign(e,n,r){writeStatement(setTextRange(t.createExpressionStatement(t.createAssignment(e,n)),r))}(r[0],r[1],i);case 3:return function writeBreak(e,n){k=!0,writeStatement(setEmitFlags(setTextRange(t.createReturnStatement(t.createArrayLiteralExpression([createInstruction(3),createLabel(e)])),n),768))}(r[0],i);case 4:return function writeBreakWhenTrue(e,n,r){writeStatement(setEmitFlags(t.createIfStatement(n,setEmitFlags(setTextRange(t.createReturnStatement(t.createArrayLiteralExpression([createInstruction(3),createLabel(e)])),r),768)),1))}(r[0],r[1],i);case 5:return function writeBreakWhenFalse(e,n,r){writeStatement(setEmitFlags(t.createIfStatement(t.createLogicalNot(n),setEmitFlags(setTextRange(t.createReturnStatement(t.createArrayLiteralExpression([createInstruction(3),createLabel(e)])),r),768)),1))}(r[0],r[1],i);case 6:return function writeYield(e,n){k=!0,writeStatement(setEmitFlags(setTextRange(t.createReturnStatement(t.createArrayLiteralExpression(e?[createInstruction(4),e]:[createInstruction(4)])),n),768))}(r[0],i);case 7:return function writeYieldStar(e,n){k=!0,writeStatement(setEmitFlags(setTextRange(t.createReturnStatement(t.createArrayLiteralExpression([createInstruction(5),e])),n),768))}(r[0],i);case 8:return writeReturn(r[0],i);case 9:return function writeThrow(e,n){k=!0,F=!0,writeStatement(setTextRange(t.createThrowStatement(e),n))}(r[0],i)}}function writeStatement(e){e&&(D?D.push(e):D=[e])}function writeReturn(e,n){k=!0,F=!0,writeStatement(setEmitFlags(setTextRange(t.createReturnStatement(t.createArrayLiteralExpression(e?[createInstruction(2),e]:[createInstruction(2)])),n),768))}}function transformModule(e){const{factory:t,getEmitHelperFactory:n,startLexicalEnvironment:r,endLexicalEnvironment:i,hoistVariableDeclaration:o}=e,a=e.getCompilerOptions(),s=e.getEmitResolver(),c=e.getEmitHost(),d=zn(a),p=Vn(a),u=e.onSubstituteNode,m=e.onEmitNode;e.onSubstituteNode=function onSubstituteNode(e,n){if((n=u(e,n)).id&&T[n.id])return n;if(1===e)return function substituteExpression(e){switch(e.kind){case 80:return substituteExpressionIdentifier(e);case 214:return function substituteCallExpression(e){if(isIdentifier(e.expression)){const n=substituteExpressionIdentifier(e.expression);if(T[getNodeId(n)]=!0,!(isIdentifier(n)||8192&getEmitFlags(e.expression)))return addInternalEmitFlags(t.updateCallExpression(e,n,void 0,e.arguments),16)}return e}(e);case 216:return function substituteTaggedTemplateExpression(e){if(isIdentifier(e.tag)){const n=substituteExpressionIdentifier(e.tag);if(T[getNodeId(n)]=!0,!(isIdentifier(n)||8192&getEmitFlags(e.tag)))return addInternalEmitFlags(t.updateTaggedTemplateExpression(e,n,void 0,e.template),16)}return e}(e);case 227:return function substituteBinaryExpression(e){if(isAssignmentOperator(e.operatorToken.kind)&&isIdentifier(e.left)&&(!isGeneratedIdentifier(e.left)||isFileLevelReservedGeneratedIdentifier(e.left))&&!isLocalName(e.left)){const t=getExports(e.left);if(t){let n=e;for(const r of t)T[getNodeId(n)]=!0,n=createExportExpression(r,n,e);return n}}return e}(e)}return e}(n);if(isShorthandPropertyAssignment(n))return function substituteShorthandPropertyAssignment(e){const n=e.name,r=substituteExpressionIdentifier(n);if(r!==n){if(e.objectAssignmentInitializer){const i=t.createAssignment(r,e.objectAssignmentInitializer);return setTextRange(t.createPropertyAssignment(n,i),e)}return setTextRange(t.createPropertyAssignment(n,r),e)}return e}(n);return n},e.onEmitNode=function onEmitNode(e,t,n){308===t.kind?(f=t,g=_[getOriginalNodeId(f)],m(e,t,n),f=void 0,g=void 0):m(e,t,n)},e.enableSubstitution(214),e.enableSubstitution(216),e.enableSubstitution(80),e.enableSubstitution(227),e.enableSubstitution(305),e.enableEmitNotification(308);const _=[];let f,g,y;const T=[];let S;return chainBundle(e,function transformSourceFile(t){if(t.isDeclarationFile||!(isEffectiveExternalModule(t,a)||8388608&t.transformFlags||isJsonSourceFile(t)&&hasJsonModuleEmitEnabled(a)&&a.outFile))return t;f=t,g=collectExternalModuleInfo(e,t),_[getOriginalNodeId(t)]=g,a.rewriteRelativeImportExtensions&&forEachDynamicImportOrRequireCall(t,!1,!1,e=>{isStringLiteralLike(e.arguments[0])&&!shouldRewriteModuleSpecifier(e.arguments[0].text,a)||(y=append(y,e))});const n=function getTransformModuleDelegate(e){switch(e){case 2:return transformAMDModule;case 3:return transformUMDModule;default:return transformCommonJSModule}}(p)(t);return f=void 0,g=void 0,S=!1,n});function shouldEmitUnderscoreUnderscoreESModule(){return!(hasJSFileExtension(f.fileName)&&f.commonJsModuleIndicator&&(!f.externalModuleIndicator||!0===f.externalModuleIndicator))&&!(g.exportEquals||!isExternalModule(f))}function transformCommonJSModule(n){r();const o=[],s=getStrictOptionValue(a,"alwaysStrict")||isExternalModule(f),c=t.copyPrologue(n.statements,o,s&&!isJsonSourceFile(n),topLevelVisitor);if(shouldEmitUnderscoreUnderscoreESModule()&&append(o,createUnderscoreUnderscoreESModule()),some(g.exportedNames)){const e=50;for(let n=0;n<g.exportedNames.length;n+=e)append(o,t.createExpressionStatement(reduceLeft(g.exportedNames.slice(n,n+e),(e,n)=>11===n.kind?t.createAssignment(t.createElementAccessExpression(t.createIdentifier("exports"),t.createStringLiteral(n.text)),e):t.createAssignment(t.createPropertyAccessExpression(t.createIdentifier("exports"),t.createIdentifier(idText(n))),e),t.createVoidZero())))}for(const e of g.exportedFunctions)appendExportsOfHoistedDeclaration(o,e);append(o,visitNode(g.externalHelpersImportDeclaration,topLevelVisitor,isStatement)),addRange(o,visitNodes2(n.statements,topLevelVisitor,isStatement,c)),addExportEqualsIfNeeded(o,!1),insertStatementsAfterStandardPrologue(o,i());const l=t.updateSourceFile(n,setTextRange(t.createNodeArray(o),n.statements));return addEmitHelpers(l,e.readEmitHelpers()),l}function transformAMDModule(n){const r=t.createIdentifier("define"),i=tryGetModuleNameFromFile(t,n,c,a),o=isJsonSourceFile(n)&&n,{aliasedModuleNames:s,unaliasedModuleNames:d,importAliasNames:p}=collectAsynchronousDependencies(n,!0),u=t.updateSourceFile(n,setTextRange(t.createNodeArray([t.createExpressionStatement(t.createCallExpression(r,void 0,[...i?[i]:[],t.createArrayLiteralExpression(o?l:[t.createStringLiteral("require"),t.createStringLiteral("exports"),...s,...d]),o?o.statements.length?o.statements[0].expression:t.createObjectLiteralExpression():t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,"require"),t.createParameterDeclaration(void 0,void 0,"exports"),...p],void 0,transformAsynchronousModuleBody(n))]))]),n.statements));return addEmitHelpers(u,e.readEmitHelpers()),u}function transformUMDModule(n){const{aliasedModuleNames:r,unaliasedModuleNames:i,importAliasNames:o}=collectAsynchronousDependencies(n,!1),s=tryGetModuleNameFromFile(t,n,c,a),l=t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,"factory")],void 0,setTextRange(t.createBlock([t.createIfStatement(t.createLogicalAnd(t.createTypeCheck(t.createIdentifier("module"),"object"),t.createTypeCheck(t.createPropertyAccessExpression(t.createIdentifier("module"),"exports"),"object")),t.createBlock([t.createVariableStatement(void 0,[t.createVariableDeclaration("v",void 0,void 0,t.createCallExpression(t.createIdentifier("factory"),void 0,[t.createIdentifier("require"),t.createIdentifier("exports")]))]),setEmitFlags(t.createIfStatement(t.createStrictInequality(t.createIdentifier("v"),t.createIdentifier("undefined")),t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createIdentifier("module"),"exports"),t.createIdentifier("v")))),1)]),t.createIfStatement(t.createLogicalAnd(t.createTypeCheck(t.createIdentifier("define"),"function"),t.createPropertyAccessExpression(t.createIdentifier("define"),"amd")),t.createBlock([t.createExpressionStatement(t.createCallExpression(t.createIdentifier("define"),void 0,[...s?[s]:[],t.createArrayLiteralExpression([t.createStringLiteral("require"),t.createStringLiteral("exports"),...r,...i]),t.createIdentifier("factory")]))])))],!0),void 0)),d=t.updateSourceFile(n,setTextRange(t.createNodeArray([t.createExpressionStatement(t.createCallExpression(l,void 0,[t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,"require"),t.createParameterDeclaration(void 0,void 0,"exports"),...o],void 0,transformAsynchronousModuleBody(n))]))]),n.statements));return addEmitHelpers(d,e.readEmitHelpers()),d}function collectAsynchronousDependencies(e,n){const r=[],i=[],o=[];for(const n of e.amdDependencies)n.name?(r.push(t.createStringLiteral(n.path)),o.push(t.createParameterDeclaration(void 0,void 0,n.name))):i.push(t.createStringLiteral(n.path));for(const e of g.externalImports){const l=getExternalModuleNameLiteral(t,e,f,c,s,a),d=getLocalNameForExternalImport(t,e,f);l&&(n&&d?(setEmitFlags(d,8),r.push(l),o.push(t.createParameterDeclaration(void 0,void 0,d))):i.push(l))}return{aliasedModuleNames:r,unaliasedModuleNames:i,importAliasNames:o}}function getAMDImportExpressionForImport(e){if(isImportEqualsDeclaration(e)||isExportDeclaration(e)||!getExternalModuleNameLiteral(t,e,f,c,s,a))return;const n=getLocalNameForExternalImport(t,e,f),r=getHelperExpressionForImport(e,n);return r!==n?t.createExpressionStatement(t.createAssignment(n,r)):void 0}function transformAsynchronousModuleBody(e){r();const n=[],o=t.copyPrologue(e.statements,n,!0,topLevelVisitor);shouldEmitUnderscoreUnderscoreESModule()&&append(n,createUnderscoreUnderscoreESModule()),some(g.exportedNames)&&append(n,t.createExpressionStatement(reduceLeft(g.exportedNames,(e,n)=>11===n.kind?t.createAssignment(t.createElementAccessExpression(t.createIdentifier("exports"),t.createStringLiteral(n.text)),e):t.createAssignment(t.createPropertyAccessExpression(t.createIdentifier("exports"),t.createIdentifier(idText(n))),e),t.createVoidZero())));for(const e of g.exportedFunctions)appendExportsOfHoistedDeclaration(n,e);append(n,visitNode(g.externalHelpersImportDeclaration,topLevelVisitor,isStatement)),2===p&&addRange(n,mapDefined(g.externalImports,getAMDImportExpressionForImport)),addRange(n,visitNodes2(e.statements,topLevelVisitor,isStatement,o)),addExportEqualsIfNeeded(n,!0),insertStatementsAfterStandardPrologue(n,i());const a=t.createBlock(n,!0);return S&&addEmitHelper(a,Ta),a}function addExportEqualsIfNeeded(e,n){if(g.exportEquals){const r=visitNode(g.exportEquals.expression,visitor,isExpression);if(r)if(n){const n=t.createReturnStatement(r);setTextRange(n,g.exportEquals),setEmitFlags(n,3840),e.push(n)}else{const n=t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createIdentifier("module"),"exports"),r));setTextRange(n,g.exportEquals),setEmitFlags(n,3072),e.push(n)}}}function topLevelVisitor(e){switch(e.kind){case 273:return function visitTopLevelImportDeclaration(e){let n;const r=getNamespaceDeclarationNode(e);if(2!==p){if(!e.importClause)return setOriginalNode(setTextRange(t.createExpressionStatement(createRequireCall2(e)),e),e);{const i=[];r&&!isDefaultImport(e)?i.push(t.createVariableDeclaration(t.cloneNode(r.name),void 0,void 0,getHelperExpressionForImport(e,createRequireCall2(e)))):(i.push(t.createVariableDeclaration(t.getGeneratedNameForNode(e),void 0,void 0,getHelperExpressionForImport(e,createRequireCall2(e)))),r&&isDefaultImport(e)&&i.push(t.createVariableDeclaration(t.cloneNode(r.name),void 0,void 0,t.getGeneratedNameForNode(e)))),n=append(n,setOriginalNode(setTextRange(t.createVariableStatement(void 0,t.createVariableDeclarationList(i,d>=2?2:0)),e),e))}}else r&&isDefaultImport(e)&&(n=append(n,t.createVariableStatement(void 0,t.createVariableDeclarationList([setOriginalNode(setTextRange(t.createVariableDeclaration(t.cloneNode(r.name),void 0,void 0,t.getGeneratedNameForNode(e)),e),e)],d>=2?2:0))));return n=function appendExportsOfImportDeclaration(e,t){if(g.exportEquals)return e;const n=t.importClause;if(!n)return e;const r=new ma;n.name&&(e=appendExportsOfDeclaration(e,r,n));const i=n.namedBindings;if(i)switch(i.kind){case 275:e=appendExportsOfDeclaration(e,r,i);break;case 276:for(const t of i.elements)e=appendExportsOfDeclaration(e,r,t,!0)}return e}(n,e),singleOrMany(n)}(e);case 272:return function visitTopLevelImportEqualsDeclaration(e){let n;h.assert(isExternalModuleImportEqualsDeclaration(e),"import= for internal module references should be handled in an earlier transformer."),2!==p?n=hasSyntacticModifier(e,32)?append(n,setOriginalNode(setTextRange(t.createExpressionStatement(createExportExpression(e.name,createRequireCall2(e))),e),e)):append(n,setOriginalNode(setTextRange(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.cloneNode(e.name),void 0,void 0,createRequireCall2(e))],d>=2?2:0)),e),e)):hasSyntacticModifier(e,32)&&(n=append(n,setOriginalNode(setTextRange(t.createExpressionStatement(createExportExpression(t.getExportName(e),t.getLocalName(e))),e),e)));return n=function appendExportsOfImportEqualsDeclaration(e,t){if(g.exportEquals)return e;return appendExportsOfDeclaration(e,new ma,t)}(n,e),singleOrMany(n)}(e);case 279:return function visitTopLevelExportDeclaration(e){if(!e.moduleSpecifier)return;const r=t.getGeneratedNameForNode(e);if(e.exportClause&&isNamedExports(e.exportClause)){const i=[];2!==p&&i.push(setOriginalNode(setTextRange(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(r,void 0,void 0,createRequireCall2(e))])),e),e));for(const o of e.exportClause.elements){const s=o.propertyName||o.name,c=!!Gn(a)&&!(2&getInternalEmitFlags(e))&&moduleExportNameIsDefault(s)?n().createImportDefaultHelper(r):r,l=11===s.kind?t.createElementAccessExpression(c,s):t.createPropertyAccessExpression(c,s);i.push(setOriginalNode(setTextRange(t.createExpressionStatement(createExportExpression(11===o.name.kind?t.cloneNode(o.name):t.getExportName(o),l,void 0,!0)),o),o))}return singleOrMany(i)}if(e.exportClause){const i=[];return i.push(setOriginalNode(setTextRange(t.createExpressionStatement(createExportExpression(t.cloneNode(e.exportClause.name),function getHelperExpressionForExport(e,t){if(!Gn(a)||2&getInternalEmitFlags(e))return t;if(getExportNeedsImportStarHelper(e))return n().createImportStarHelper(t);return t}(e,2!==p?createRequireCall2(e):isExportNamespaceAsDefaultDeclaration(e)||11===e.exportClause.name.kind?r:t.createIdentifier(idText(e.exportClause.name))))),e),e)),singleOrMany(i)}return setOriginalNode(setTextRange(t.createExpressionStatement(n().createExportStarHelper(2!==p?createRequireCall2(e):r)),e),e)}(e);case 278:return function visitTopLevelExportAssignment(e){if(e.isExportEquals)return;return createExportStatement(t.createIdentifier("default"),visitNode(e.expression,visitor,isExpression),e,!0)}(e);default:return topLevelNestedVisitor(e)}}function topLevelNestedVisitor(n){switch(n.kind){case 244:return function visitVariableStatement(n){let r,i,o;if(hasSyntacticModifier(n,32)){let e,a=!1;for(const r of n.declarationList.declarations)if(isIdentifier(r.name)&&isLocalName(r.name))if(e||(e=visitNodes2(n.modifiers,modifierVisitor,isModifier)),r.initializer){i=append(i,t.updateVariableDeclaration(r,r.name,void 0,void 0,createExportExpression(r.name,visitNode(r.initializer,visitor,isExpression))))}else i=append(i,r);else if(r.initializer)if(!isBindingPattern(r.name)&&(isArrowFunction(r.initializer)||isFunctionExpression(r.initializer)||isClassExpression(r.initializer))){const e=t.createAssignment(setTextRange(t.createPropertyAccessExpression(t.createIdentifier("exports"),r.name),r.name),t.createIdentifier(getTextOfIdentifierOrLiteral(r.name)));i=append(i,t.createVariableDeclaration(r.name,r.exclamationToken,r.type,visitNode(r.initializer,visitor,isExpression))),o=append(o,e),a=!0}else o=append(o,transformInitializedVariable(r));if(i&&(r=append(r,t.updateVariableStatement(n,e,t.updateVariableDeclarationList(n.declarationList,i)))),o){const e=setOriginalNode(setTextRange(t.createExpressionStatement(t.inlineExpressions(o)),n),n);a&&removeAllComments(e),r=append(r,e)}}else r=append(r,visitEachChild(n,visitor,e));return r=function appendExportsOfVariableStatement(e,t){return appendExportsOfVariableDeclarationList(e,t.declarationList,!1)}(r,n),singleOrMany(r)}(n);case 263:return function visitFunctionDeclaration(n){let r;r=hasSyntacticModifier(n,32)?append(r,setOriginalNode(setTextRange(t.createFunctionDeclaration(visitNodes2(n.modifiers,modifierVisitor,isModifier),n.asteriskToken,t.getDeclarationName(n,!0,!0),void 0,visitNodes2(n.parameters,visitor,isParameter),void 0,visitEachChild(n.body,visitor,e)),n),n)):append(r,visitEachChild(n,visitor,e));return singleOrMany(r)}(n);case 264:return function visitClassDeclaration(n){let r;r=hasSyntacticModifier(n,32)?append(r,setOriginalNode(setTextRange(t.createClassDeclaration(visitNodes2(n.modifiers,modifierVisitor,isModifierLike),t.getDeclarationName(n,!0,!0),void 0,visitNodes2(n.heritageClauses,visitor,isHeritageClause),visitNodes2(n.members,visitor,isClassElement)),n),n)):append(r,visitEachChild(n,visitor,e));return r=appendExportsOfHoistedDeclaration(r,n),singleOrMany(r)}(n);case 249:return visitForStatement(n,!0);case 250:return function visitForInStatement(n){if(isVariableDeclarationList(n.initializer)&&!(7&n.initializer.flags)){const r=appendExportsOfVariableDeclarationList(void 0,n.initializer,!0);if(some(r)){const i=visitNode(n.initializer,discardedValueVisitor,isForInitializer),o=visitNode(n.expression,visitor,isExpression),a=visitIterationBody(n.statement,topLevelNestedVisitor,e),s=isBlock(a)?t.updateBlock(a,[...r,...a.statements]):t.createBlock([...r,a],!0);return t.updateForInStatement(n,i,o,s)}}return t.updateForInStatement(n,visitNode(n.initializer,discardedValueVisitor,isForInitializer),visitNode(n.expression,visitor,isExpression),visitIterationBody(n.statement,topLevelNestedVisitor,e))}(n);case 251:return function visitForOfStatement(n){if(isVariableDeclarationList(n.initializer)&&!(7&n.initializer.flags)){const r=appendExportsOfVariableDeclarationList(void 0,n.initializer,!0),i=visitNode(n.initializer,discardedValueVisitor,isForInitializer),o=visitNode(n.expression,visitor,isExpression);let a=visitIterationBody(n.statement,topLevelNestedVisitor,e);return some(r)&&(a=isBlock(a)?t.updateBlock(a,[...r,...a.statements]):t.createBlock([...r,a],!0)),t.updateForOfStatement(n,n.awaitModifier,i,o,a)}return t.updateForOfStatement(n,n.awaitModifier,visitNode(n.initializer,discardedValueVisitor,isForInitializer),visitNode(n.expression,visitor,isExpression),visitIterationBody(n.statement,topLevelNestedVisitor,e))}(n);case 247:return function visitDoStatement(n){return t.updateDoStatement(n,visitIterationBody(n.statement,topLevelNestedVisitor,e),visitNode(n.expression,visitor,isExpression))}(n);case 248:return function visitWhileStatement(n){return t.updateWhileStatement(n,visitNode(n.expression,visitor,isExpression),visitIterationBody(n.statement,topLevelNestedVisitor,e))}(n);case 257:return function visitLabeledStatement(e){return t.updateLabeledStatement(e,e.label,visitNode(e.statement,topLevelNestedVisitor,isStatement,t.liftToBlock)??setTextRange(t.createEmptyStatement(),e.statement))}(n);case 255:return function visitWithStatement(e){return t.updateWithStatement(e,visitNode(e.expression,visitor,isExpression),h.checkDefined(visitNode(e.statement,topLevelNestedVisitor,isStatement,t.liftToBlock)))}(n);case 246:return function visitIfStatement(e){return t.updateIfStatement(e,visitNode(e.expression,visitor,isExpression),visitNode(e.thenStatement,topLevelNestedVisitor,isStatement,t.liftToBlock)??t.createBlock([]),visitNode(e.elseStatement,topLevelNestedVisitor,isStatement,t.liftToBlock))}(n);case 256:return function visitSwitchStatement(e){return t.updateSwitchStatement(e,visitNode(e.expression,visitor,isExpression),h.checkDefined(visitNode(e.caseBlock,topLevelNestedVisitor,isCaseBlock)))}(n);case 270:return function visitCaseBlock(e){return t.updateCaseBlock(e,visitNodes2(e.clauses,topLevelNestedVisitor,isCaseOrDefaultClause))}(n);case 297:return function visitCaseClause(e){return t.updateCaseClause(e,visitNode(e.expression,visitor,isExpression),visitNodes2(e.statements,topLevelNestedVisitor,isStatement))}(n);case 298:return function visitDefaultClause(t){return visitEachChild(t,topLevelNestedVisitor,e)}(n);case 259:return function visitTryStatement(t){return visitEachChild(t,topLevelNestedVisitor,e)}(n);case 300:return function visitCatchClause(e){return t.updateCatchClause(e,e.variableDeclaration,h.checkDefined(visitNode(e.block,topLevelNestedVisitor,isBlock)))}(n);case 242:return function visitBlock(t){return t=visitEachChild(t,topLevelNestedVisitor,e),t}(n);default:return visitor(n)}}function visitorWorker(r,i){if(!(276828160&r.transformFlags||(null==y?void 0:y.length)))return r;switch(r.kind){case 249:return visitForStatement(r,!1);case 245:return function visitExpressionStatement(e){return t.updateExpressionStatement(e,visitNode(e.expression,discardedValueVisitor,isExpression))}(r);case 218:return function visitParenthesizedExpression(e,n){return t.updateParenthesizedExpression(e,visitNode(e.expression,n?discardedValueVisitor:visitor,isExpression))}(r,i);case 356:return function visitPartiallyEmittedExpression(e,n){return t.updatePartiallyEmittedExpression(e,visitNode(e.expression,n?discardedValueVisitor:visitor,isExpression))}(r,i);case 214:const l=r===firstOrUndefined(y);if(l&&y.shift(),isImportCall(r)&&c.shouldTransformImportCall(f))return function visitImportCallExpression(r,i){if(0===p&&d>=7)return visitEachChild(r,visitor,e);const l=getExternalModuleNameLiteral(t,r,f,c,s,a),u=visitNode(firstOrUndefined(r.arguments),visitor,isExpression),m=!l||u&&isStringLiteral(u)&&u.text===l.text?u&&i?isStringLiteral(u)?rewriteModuleSpecifier(u,a):n().createRewriteRelativeImportExtensionsHelper(u):u:l,_=!!(16384&r.transformFlags);switch(a.module){case 2:return createImportCallExpressionAMD(m,_);case 3:return function createImportCallExpressionUMD(e,n){if(S=!0,isSimpleCopiableExpression(e)){const r=isGeneratedIdentifier(e)?e:isStringLiteral(e)?t.createStringLiteralFromNode(e):setEmitFlags(setTextRange(t.cloneNode(e),e),3072);return t.createConditionalExpression(t.createIdentifier("__syncRequire"),void 0,createImportCallExpressionCommonJS(e),void 0,createImportCallExpressionAMD(r,n))}{const r=t.createTempVariable(o);return t.createComma(t.createAssignment(r,e),t.createConditionalExpression(t.createIdentifier("__syncRequire"),void 0,createImportCallExpressionCommonJS(r,!0),void 0,createImportCallExpressionAMD(r,n)))}}(m??t.createVoidZero(),_);default:return createImportCallExpressionCommonJS(m)}}(r,l);if(l)return function shimOrRewriteImportOrRequireCall(e){return t.updateCallExpression(e,e.expression,void 0,visitNodes2(e.arguments,t=>t===e.arguments[0]?isStringLiteralLike(t)?rewriteModuleSpecifier(t,a):n().createRewriteRelativeImportExtensionsHelper(t):visitor(t),isExpression))}(r);break;case 227:if(isDestructuringAssignment(r))return function visitDestructuringAssignment(t,n){if(destructuringNeedsFlattening(t.left))return flattenDestructuringAssignment(t,visitor,e,0,!n,createAllExportExpressions);return visitEachChild(t,visitor,e)}(r,i);break;case 225:case 226:return function visitPreOrPostfixUnaryExpression(n,r){if((46===n.operator||47===n.operator)&&isIdentifier(n.operand)&&!isGeneratedIdentifier(n.operand)&&!isLocalName(n.operand)&&!isDeclarationNameOfEnumOrNamespace(n.operand)){const e=getExports(n.operand);if(e){let i,a=visitNode(n.operand,visitor,isExpression);isPrefixUnaryExpression(n)?a=t.updatePrefixUnaryExpression(n,a):(a=t.updatePostfixUnaryExpression(n,a),r||(i=t.createTempVariable(o),a=t.createAssignment(i,a),setTextRange(a,n)),a=t.createComma(a,t.cloneNode(n.operand)),setTextRange(a,n));for(const t of e)T[getNodeId(a)]=!0,a=createExportExpression(t,a),setTextRange(a,n);return i&&(T[getNodeId(a)]=!0,a=t.createComma(a,i),setTextRange(a,n)),a}}return visitEachChild(n,visitor,e)}(r,i)}return visitEachChild(r,visitor,e)}function visitor(e){return visitorWorker(e,!1)}function discardedValueVisitor(e){return visitorWorker(e,!0)}function destructuringNeedsFlattening(e){if(isObjectLiteralExpression(e))for(const t of e.properties)switch(t.kind){case 304:if(destructuringNeedsFlattening(t.initializer))return!0;break;case 305:if(destructuringNeedsFlattening(t.name))return!0;break;case 306:if(destructuringNeedsFlattening(t.expression))return!0;break;case 175:case 178:case 179:return!1;default:h.assertNever(t,"Unhandled object member kind")}else if(isArrayLiteralExpression(e)){for(const t of e.elements)if(isSpreadElement(t)){if(destructuringNeedsFlattening(t.expression))return!0}else if(destructuringNeedsFlattening(t))return!0}else if(isIdentifier(e))return length(getExports(e))>(isExportName(e)?1:0);return!1}function visitForStatement(n,r){if(r&&n.initializer&&isVariableDeclarationList(n.initializer)&&!(7&n.initializer.flags)){const i=appendExportsOfVariableDeclarationList(void 0,n.initializer,!1);if(i){const o=[],a=visitNode(n.initializer,discardedValueVisitor,isVariableDeclarationList),s=t.createVariableStatement(void 0,a);o.push(s),addRange(o,i);const c=visitNode(n.condition,visitor,isExpression),l=visitNode(n.incrementor,discardedValueVisitor,isExpression),d=visitIterationBody(n.statement,r?topLevelNestedVisitor:visitor,e);return o.push(t.updateForStatement(n,void 0,c,l,d)),o}}return t.updateForStatement(n,visitNode(n.initializer,discardedValueVisitor,isForInitializer),visitNode(n.condition,visitor,isExpression),visitNode(n.incrementor,discardedValueVisitor,isExpression),visitIterationBody(n.statement,r?topLevelNestedVisitor:visitor,e))}function createImportCallExpressionAMD(e,r){const i=t.createUniqueName("resolve"),o=t.createUniqueName("reject"),s=[t.createParameterDeclaration(void 0,void 0,i),t.createParameterDeclaration(void 0,void 0,o)],c=t.createBlock([t.createExpressionStatement(t.createCallExpression(t.createIdentifier("require"),void 0,[t.createArrayLiteralExpression([e||t.createOmittedExpression()]),i,o]))]);let l;d>=2?l=t.createArrowFunction(void 0,void 0,s,void 0,void 0,c):(l=t.createFunctionExpression(void 0,void 0,void 0,void 0,s,void 0,c),r&&setEmitFlags(l,16));const p=t.createNewExpression(t.createIdentifier("Promise"),void 0,[l]);return Gn(a)?t.createCallExpression(t.createPropertyAccessExpression(p,t.createIdentifier("then")),void 0,[n().createImportStarCallbackHelper()]):p}function createImportCallExpressionCommonJS(e,r){const i=e&&!isSimpleInlineableExpression(e)&&!r,o=t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Promise"),"resolve"),void 0,i?d>=2?[t.createTemplateExpression(t.createTemplateHead(""),[t.createTemplateSpan(e,t.createTemplateTail(""))])]:[t.createCallExpression(t.createPropertyAccessExpression(t.createStringLiteral(""),"concat"),void 0,[e])]:[]);let s=t.createCallExpression(t.createIdentifier("require"),void 0,i?[t.createIdentifier("s")]:e?[e]:[]);Gn(a)&&(s=n().createImportStarHelper(s));const c=i?[t.createParameterDeclaration(void 0,void 0,"s")]:[];let l;l=d>=2?t.createArrowFunction(void 0,void 0,c,void 0,void 0,s):t.createFunctionExpression(void 0,void 0,void 0,void 0,c,void 0,t.createBlock([t.createReturnStatement(s)]));return t.createCallExpression(t.createPropertyAccessExpression(o,"then"),void 0,[l])}function getHelperExpressionForImport(e,t){return!Gn(a)||2&getInternalEmitFlags(e)?t:getImportNeedsImportStarHelper(e)?n().createImportStarHelper(t):getImportNeedsImportDefaultHelper(e)?n().createImportDefaultHelper(t):t}function createRequireCall2(e){const n=getExternalModuleNameLiteral(t,e,f,c,s,a),r=[];return n&&r.push(rewriteModuleSpecifier(n,a)),t.createCallExpression(t.createIdentifier("require"),void 0,r)}function createAllExportExpressions(e,n,r){const i=getExports(e);if(i){let o=isExportName(e)?n:t.createAssignment(e,n);for(const e of i)setEmitFlags(o,8),o=createExportExpression(e,o,r);return o}return t.createAssignment(e,n)}function transformInitializedVariable(n){return isBindingPattern(n.name)?flattenDestructuringAssignment(visitNode(n,visitor,isInitializedVariable),visitor,e,0,!1,createAllExportExpressions):t.createAssignment(setTextRange(t.createPropertyAccessExpression(t.createIdentifier("exports"),n.name),n.name),n.initializer?visitNode(n.initializer,visitor,isExpression):t.createVoidZero())}function appendExportsOfVariableDeclarationList(e,t,n){if(g.exportEquals)return e;for(const r of t.declarations)e=appendExportsOfBindingElement(e,r,n);return e}function appendExportsOfBindingElement(e,t,n){if(g.exportEquals)return e;if(isBindingPattern(t.name))for(const r of t.name.elements)isOmittedExpression(r)||(e=appendExportsOfBindingElement(e,r,n));else isGeneratedIdentifier(t.name)||isVariableDeclaration(t)&&!t.initializer&&!n||(e=appendExportsOfDeclaration(e,new ma,t));return e}function appendExportsOfHoistedDeclaration(e,n){if(g.exportEquals)return e;const r=new ma;if(hasSyntacticModifier(n,32)){e=appendExportStatement(e,r,hasSyntacticModifier(n,2048)?t.createIdentifier("default"):t.getDeclarationName(n),t.getLocalName(n),n)}return n.name&&(e=appendExportsOfDeclaration(e,r,n)),e}function appendExportsOfDeclaration(e,n,r,i){const o=t.getDeclarationName(r),a=g.exportSpecifiers.get(o);if(a)for(const t of a)e=appendExportStatement(e,n,t.name,o,t.name,void 0,i);return e}function appendExportStatement(e,t,n,r,i,o,a){if(11!==n.kind){if(t.has(n))return e;t.set(n,!0)}return e=append(e,createExportStatement(n,r,i,o,a))}function createUnderscoreUnderscoreESModule(){const e=t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"defineProperty"),void 0,[t.createIdentifier("exports"),t.createStringLiteral("__esModule"),t.createObjectLiteralExpression([t.createPropertyAssignment("value",t.createTrue())])]));return setEmitFlags(e,2097152),e}function createExportStatement(e,n,r,i,o){const a=setTextRange(t.createExpressionStatement(createExportExpression(e,n,void 0,o)),r);return startOnNewLine(a),i||setEmitFlags(a,3072),a}function createExportExpression(e,n,r,i){return setTextRange(i?t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"defineProperty"),void 0,[t.createIdentifier("exports"),t.createStringLiteralFromNode(e),t.createObjectLiteralExpression([t.createPropertyAssignment("enumerable",t.createTrue()),t.createPropertyAssignment("get",t.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,t.createBlock([t.createReturnStatement(n)])))])]):t.createAssignment(11===e.kind?t.createElementAccessExpression(t.createIdentifier("exports"),t.cloneNode(e)):t.createPropertyAccessExpression(t.createIdentifier("exports"),t.cloneNode(e)),n),r)}function modifierVisitor(e){switch(e.kind){case 95:case 90:return}return e}function substituteExpressionIdentifier(e){var n,r;if(8192&getEmitFlags(e)){const n=getExternalHelpersModuleName(f);return n?t.createPropertyAccessExpression(n,e):e}if((!isGeneratedIdentifier(e)||64&e.emitNode.autoGenerate.flags)&&!isLocalName(e)){const i=s.getReferencedExportContainer(e,isExportName(e));if(i&&308===i.kind)return setTextRange(t.createPropertyAccessExpression(t.createIdentifier("exports"),t.cloneNode(e)),e);const o=s.getReferencedImportDeclaration(e);if(o){if(isImportClause(o))return setTextRange(t.createPropertyAccessExpression(t.getGeneratedNameForNode(o.parent),t.createIdentifier("default")),e);if(isImportSpecifier(o)){const i=o.propertyName||o.name,a=t.getGeneratedNameForNode((null==(r=null==(n=o.parent)?void 0:n.parent)?void 0:r.parent)||o);return setTextRange(11===i.kind?t.createElementAccessExpression(a,t.cloneNode(i)):t.createPropertyAccessExpression(a,t.cloneNode(i)),e)}}}return e}function getExports(e){if(isGeneratedIdentifier(e)){if(isFileLevelReservedGeneratedIdentifier(e)){const t=null==g?void 0:g.exportSpecifiers.get(e);if(t){const e=[];for(const n of t)e.push(n.name);return e}}}else{const t=s.getReferencedImportDeclaration(e);if(t)return null==g?void 0:g.exportedBindings[getOriginalNodeId(t)];const n=new Set,r=s.getReferencedValueDeclarations(e);if(r){for(const e of r){const t=null==g?void 0:g.exportedBindings[getOriginalNodeId(e)];if(t)for(const e of t)n.add(e)}if(n.size)return arrayFrom(n)}}}}var Ta={name:"typescript:dynamicimport-sync-require",scoped:!0,text:'\n var __syncRequire = typeof module === "object" && typeof module.exports === "object";'};function transformSystemModule(e){const{factory:t,startLexicalEnvironment:n,endLexicalEnvironment:r,hoistVariableDeclaration:i}=e,o=e.getCompilerOptions(),a=e.getEmitResolver(),s=e.getEmitHost(),c=e.onSubstituteNode,l=e.onEmitNode;e.onSubstituteNode=function onSubstituteNode(e,n){if(function isSubstitutionPrevented(e){return x&&e.id&&x[e.id]}(n=c(e,n)))return n;if(1===e)return function substituteExpression(e){switch(e.kind){case 80:return function substituteExpressionIdentifier(e){var n,r;if(8192&getEmitFlags(e)){const n=getExternalHelpersModuleName(_);return n?t.createPropertyAccessExpression(n,e):e}if(!isGeneratedIdentifier(e)&&!isLocalName(e)){const i=a.getReferencedImportDeclaration(e);if(i){if(isImportClause(i))return setTextRange(t.createPropertyAccessExpression(t.getGeneratedNameForNode(i.parent),t.createIdentifier("default")),e);if(isImportSpecifier(i)){const o=i.propertyName||i.name,a=t.getGeneratedNameForNode((null==(r=null==(n=i.parent)?void 0:n.parent)?void 0:r.parent)||i);return setTextRange(11===o.kind?t.createElementAccessExpression(a,t.cloneNode(o)):t.createPropertyAccessExpression(a,t.cloneNode(o)),e)}}}return e}(e);case 227:return function substituteBinaryExpression(e){if(isAssignmentOperator(e.operatorToken.kind)&&isIdentifier(e.left)&&(!isGeneratedIdentifier(e.left)||isFileLevelReservedGeneratedIdentifier(e.left))&&!isLocalName(e.left)){const t=getExports(e.left);if(t){let n=e;for(const e of t)n=createExportExpression(e,preventSubstitution(n));return n}}return e}(e);case 237:return function substituteMetaProperty(e){if(isImportMeta(e))return t.createPropertyAccessExpression(y,t.createIdentifier("meta"));return e}(e)}return e}(n);if(4===e)return function substituteUnspecified(e){if(305===e.kind)return function substituteShorthandPropertyAssignment(e){var n,r;const i=e.name;if(!isGeneratedIdentifier(i)&&!isLocalName(i)){const o=a.getReferencedImportDeclaration(i);if(o){if(isImportClause(o))return setTextRange(t.createPropertyAssignment(t.cloneNode(i),t.createPropertyAccessExpression(t.getGeneratedNameForNode(o.parent),t.createIdentifier("default"))),e);if(isImportSpecifier(o)){const a=o.propertyName||o.name,s=t.getGeneratedNameForNode((null==(r=null==(n=o.parent)?void 0:n.parent)?void 0:r.parent)||o);return setTextRange(t.createPropertyAssignment(t.cloneNode(i),11===a.kind?t.createElementAccessExpression(s,t.cloneNode(a)):t.createPropertyAccessExpression(s,t.cloneNode(a))),e)}}}return e}(e);return e}(n);return n},e.onEmitNode=function onEmitNode(e,t,n){if(308===t.kind){const r=getOriginalNodeId(t);_=t,f=d[r],g=p[r],x=u[r],y=m[r],x&&delete u[r],l(e,t,n),_=void 0,f=void 0,g=void 0,y=void 0,x=void 0}else l(e,t,n)},e.enableSubstitution(80),e.enableSubstitution(305),e.enableSubstitution(227),e.enableSubstitution(237),e.enableEmitNotification(308);const d=[],p=[],u=[],m=[];let _,f,g,y,T,S,x;return chainBundle(e,function transformSourceFile(i){if(i.isDeclarationFile||!(isEffectiveExternalModule(i,o)||8388608&i.transformFlags))return i;const c=getOriginalNodeId(i);_=i,S=i,f=d[c]=collectExternalModuleInfo(e,i),g=t.createUniqueName("exports"),p[c]=g,y=m[c]=t.createUniqueName("context");const l=function collectDependencyGroups(e){const n=new Map,r=[];for(const i of e){const e=getExternalModuleNameLiteral(t,i,_,s,a,o);if(e){const t=e.text,o=n.get(t);void 0!==o?r[o].externalImports.push(i):(n.set(t,r.length),r.push({name:e,externalImports:[i]}))}}return r}(f.externalImports),v=function createSystemModuleBody(e,i){const a=[];n();const s=getStrictOptionValue(o,"alwaysStrict")||isExternalModule(_),c=t.copyPrologue(e.statements,a,s,topLevelVisitor);a.push(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration("__moduleName",void 0,void 0,t.createLogicalAnd(y,t.createPropertyAccessExpression(y,"id")))]))),visitNode(f.externalHelpersImportDeclaration,topLevelVisitor,isStatement);const l=visitNodes2(e.statements,topLevelVisitor,isStatement,c);addRange(a,T),insertStatementsAfterStandardPrologue(a,r());const d=function addExportStarIfNeeded(e){if(!f.hasExportStarsToExportValues)return;if(!some(f.exportedNames)&&0===f.exportedFunctions.size&&0===f.exportSpecifiers.size){let t=!1;for(const e of f.externalImports)if(279===e.kind&&e.exportClause){t=!0;break}if(!t){const t=createExportStarFunction(void 0);return e.push(t),t.name}}const n=[];if(f.exportedNames)for(const e of f.exportedNames)moduleExportNameIsDefault(e)||n.push(t.createPropertyAssignment(t.createStringLiteralFromNode(e),t.createTrue()));for(const e of f.exportedFunctions)hasSyntacticModifier(e,2048)||(h.assert(!!e.name),n.push(t.createPropertyAssignment(t.createStringLiteralFromNode(e.name),t.createTrue())));const r=t.createUniqueName("exportedNames");e.push(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(r,void 0,void 0,t.createObjectLiteralExpression(n,!0))])));const i=createExportStarFunction(r);return e.push(i),i.name}(a),p=2097152&e.transformFlags?t.createModifiersFromModifierFlags(1024):void 0,u=t.createObjectLiteralExpression([t.createPropertyAssignment("setters",createSettersArray(d,i)),t.createPropertyAssignment("execute",t.createFunctionExpression(p,void 0,void 0,void 0,[],void 0,t.createBlock(l,!0)))],!0);return a.push(t.createReturnStatement(u)),t.createBlock(a,!0)}(i,l),b=t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,g),t.createParameterDeclaration(void 0,void 0,y)],void 0,v),C=tryGetModuleNameFromFile(t,i,s,o),E=t.createArrayLiteralExpression(map(l,e=>e.name)),N=setEmitFlags(t.updateSourceFile(i,setTextRange(t.createNodeArray([t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("System"),"register"),void 0,C?[C,E,b]:[E,b]))]),i.statements)),2048);o.outFile||moveEmitHelpers(N,v,e=>!e.scoped);x&&(u[c]=x,x=void 0);return _=void 0,f=void 0,g=void 0,y=void 0,T=void 0,S=void 0,N});function createExportStarFunction(e){const n=t.createUniqueName("exportStar"),r=t.createIdentifier("m"),i=t.createIdentifier("n"),o=t.createIdentifier("exports");let a=t.createStrictInequality(i,t.createStringLiteral("default"));return e&&(a=t.createLogicalAnd(a,t.createLogicalNot(t.createCallExpression(t.createPropertyAccessExpression(e,"hasOwnProperty"),void 0,[i])))),t.createFunctionDeclaration(void 0,void 0,n,void 0,[t.createParameterDeclaration(void 0,void 0,r)],void 0,t.createBlock([t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(o,void 0,void 0,t.createObjectLiteralExpression([]))])),t.createForInStatement(t.createVariableDeclarationList([t.createVariableDeclaration(i)]),r,t.createBlock([setEmitFlags(t.createIfStatement(a,t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(o,i),t.createElementAccessExpression(r,i)))),1)])),t.createExpressionStatement(t.createCallExpression(g,void 0,[o]))],!0))}function createSettersArray(e,n){const r=[];for(const i of n){const n=forEach(i.externalImports,e=>getLocalNameForExternalImport(t,e,_)),o=n?t.getGeneratedNameForNode(n):t.createUniqueName(""),a=[];for(const n of i.externalImports){const r=getLocalNameForExternalImport(t,n,_);switch(n.kind){case 273:if(!n.importClause)break;case 272:h.assert(void 0!==r),a.push(t.createExpressionStatement(t.createAssignment(r,o))),hasSyntacticModifier(n,32)&&a.push(t.createExpressionStatement(t.createCallExpression(g,void 0,[t.createStringLiteral(idText(r)),o])));break;case 279:if(h.assert(void 0!==r),n.exportClause)if(isNamedExports(n.exportClause)){const e=[];for(const r of n.exportClause.elements)e.push(t.createPropertyAssignment(t.createStringLiteral(moduleExportNameTextUnescaped(r.name)),t.createElementAccessExpression(o,t.createStringLiteral(moduleExportNameTextUnescaped(r.propertyName||r.name)))));a.push(t.createExpressionStatement(t.createCallExpression(g,void 0,[t.createObjectLiteralExpression(e,!0)])))}else a.push(t.createExpressionStatement(t.createCallExpression(g,void 0,[t.createStringLiteral(moduleExportNameTextUnescaped(n.exportClause.name)),o])));else a.push(t.createExpressionStatement(t.createCallExpression(e,void 0,[o])))}}r.push(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,o)],void 0,t.createBlock(a,!0)))}return t.createArrayLiteralExpression(r,!0)}function topLevelVisitor(e){switch(e.kind){case 273:return function visitImportDeclaration(e){let n;e.importClause&&i(getLocalNameForExternalImport(t,e,_));return singleOrMany(function appendExportsOfImportDeclaration(e,t){if(f.exportEquals)return e;const n=t.importClause;if(!n)return e;n.name&&(e=appendExportsOfDeclaration(e,n));const r=n.namedBindings;if(r)switch(r.kind){case 275:e=appendExportsOfDeclaration(e,r);break;case 276:for(const t of r.elements)e=appendExportsOfDeclaration(e,t)}return e}(n,e))}(e);case 272:return function visitImportEqualsDeclaration(e){let n;return h.assert(isExternalModuleImportEqualsDeclaration(e),"import= for internal module references should be handled in an earlier transformer."),i(getLocalNameForExternalImport(t,e,_)),singleOrMany(function appendExportsOfImportEqualsDeclaration(e,t){if(f.exportEquals)return e;return appendExportsOfDeclaration(e,t)}(n,e))}(e);case 279:return function visitExportDeclaration(e){return void h.assertIsDefined(e)}(e);case 278:return function visitExportAssignment(e){if(e.isExportEquals)return;const n=visitNode(e.expression,visitor,isExpression);return createExportStatement(t.createIdentifier("default"),n,!0)}(e);default:return topLevelNestedVisitor(e)}}function visitVariableStatement(e){if(!shouldHoistVariableDeclarationList(e.declarationList))return visitNode(e,visitor,isStatement);let n;if(isVarUsing(e.declarationList)||isVarAwaitUsing(e.declarationList)){const r=visitNodes2(e.modifiers,modifierVisitor,isModifierLike),i=[];for(const n of e.declarationList.declarations)i.push(t.updateVariableDeclaration(n,t.getGeneratedNameForNode(n.name),void 0,void 0,transformInitializedVariable(n,!1)));const o=t.updateVariableDeclarationList(e.declarationList,i);n=append(n,t.updateVariableStatement(e,r,o))}else{let r;const i=hasSyntacticModifier(e,32);for(const t of e.declarationList.declarations)t.initializer?r=append(r,transformInitializedVariable(t,i)):hoistBindingElement(t);r&&(n=append(n,setTextRange(t.createExpressionStatement(t.inlineExpressions(r)),e)))}return n=function appendExportsOfVariableStatement(e,t,n){if(f.exportEquals)return e;for(const r of t.declarationList.declarations)(r.initializer||n)&&(e=appendExportsOfBindingElement(e,r,n));return e}(n,e,!1),singleOrMany(n)}function hoistBindingElement(e){if(isBindingPattern(e.name))for(const t of e.name.elements)isOmittedExpression(t)||hoistBindingElement(t);else i(t.cloneNode(e.name))}function shouldHoistVariableDeclarationList(e){return!(4194304&getEmitFlags(e)||308!==S.kind&&7&getOriginalNode(e).flags)}function transformInitializedVariable(t,n){const r=n?createExportedVariableAssignment:createNonExportedVariableAssignment;return isBindingPattern(t.name)?flattenDestructuringAssignment(t,visitor,e,0,!1,r):t.initializer?r(t.name,visitNode(t.initializer,visitor,isExpression)):t.name}function createExportedVariableAssignment(e,t,n){return createVariableAssignment(e,t,n,!0)}function createNonExportedVariableAssignment(e,t,n){return createVariableAssignment(e,t,n,!1)}function createVariableAssignment(e,n,r,o){return i(t.cloneNode(e)),o?createExportExpression(e,preventSubstitution(setTextRange(t.createAssignment(e,n),r))):preventSubstitution(setTextRange(t.createAssignment(e,n),r))}function appendExportsOfBindingElement(e,n,r){if(f.exportEquals)return e;if(isBindingPattern(n.name))for(const t of n.name.elements)isOmittedExpression(t)||(e=appendExportsOfBindingElement(e,t,r));else if(!isGeneratedIdentifier(n.name)){let i;r&&(e=appendExportStatement(e,n.name,t.getLocalName(n)),i=idText(n.name)),e=appendExportsOfDeclaration(e,n,i)}return e}function appendExportsOfHoistedDeclaration(e,n){if(f.exportEquals)return e;let r;if(hasSyntacticModifier(n,32)){const i=hasSyntacticModifier(n,2048)?t.createStringLiteral("default"):n.name;e=appendExportStatement(e,i,t.getLocalName(n)),r=getTextOfIdentifierOrLiteral(i)}return n.name&&(e=appendExportsOfDeclaration(e,n,r)),e}function appendExportsOfDeclaration(e,n,r){if(f.exportEquals)return e;const i=t.getDeclarationName(n),o=f.exportSpecifiers.get(i);if(o)for(const t of o)moduleExportNameTextUnescaped(t.name)!==r&&(e=appendExportStatement(e,t.name,i));return e}function appendExportStatement(e,t,n,r){return e=append(e,createExportStatement(t,n,r))}function createExportStatement(e,n,r){const i=t.createExpressionStatement(createExportExpression(e,n));return startOnNewLine(i),r||setEmitFlags(i,3072),i}function createExportExpression(e,n){const r=isIdentifier(e)?t.createStringLiteralFromNode(e):e;return setEmitFlags(n,3072|getEmitFlags(n)),setCommentRange(t.createCallExpression(g,void 0,[r,n]),n)}function topLevelNestedVisitor(n){switch(n.kind){case 244:return visitVariableStatement(n);case 263:return function visitFunctionDeclaration(n){T=hasSyntacticModifier(n,32)?append(T,t.updateFunctionDeclaration(n,visitNodes2(n.modifiers,modifierVisitor,isModifierLike),n.asteriskToken,t.getDeclarationName(n,!0,!0),void 0,visitNodes2(n.parameters,visitor,isParameter),void 0,visitNode(n.body,visitor,isBlock))):append(T,visitEachChild(n,visitor,e)),T=appendExportsOfHoistedDeclaration(T,n)}(n);case 264:return function visitClassDeclaration(e){let n;const r=t.getLocalName(e);return i(r),n=append(n,setTextRange(t.createExpressionStatement(t.createAssignment(r,setTextRange(t.createClassExpression(visitNodes2(e.modifiers,modifierVisitor,isModifierLike),e.name,void 0,visitNodes2(e.heritageClauses,visitor,isHeritageClause),visitNodes2(e.members,visitor,isClassElement)),e))),e)),n=appendExportsOfHoistedDeclaration(n,e),singleOrMany(n)}(n);case 249:return visitForStatement(n,!0);case 250:return function visitForInStatement(n){const r=S;return S=n,n=t.updateForInStatement(n,visitForInitializer(n.initializer),visitNode(n.expression,visitor,isExpression),visitIterationBody(n.statement,topLevelNestedVisitor,e)),S=r,n}(n);case 251:return function visitForOfStatement(n){const r=S;return S=n,n=t.updateForOfStatement(n,n.awaitModifier,visitForInitializer(n.initializer),visitNode(n.expression,visitor,isExpression),visitIterationBody(n.statement,topLevelNestedVisitor,e)),S=r,n}(n);case 247:return function visitDoStatement(n){return t.updateDoStatement(n,visitIterationBody(n.statement,topLevelNestedVisitor,e),visitNode(n.expression,visitor,isExpression))}(n);case 248:return function visitWhileStatement(n){return t.updateWhileStatement(n,visitNode(n.expression,visitor,isExpression),visitIterationBody(n.statement,topLevelNestedVisitor,e))}(n);case 257:return function visitLabeledStatement(e){return t.updateLabeledStatement(e,e.label,visitNode(e.statement,topLevelNestedVisitor,isStatement,t.liftToBlock)??t.createExpressionStatement(t.createIdentifier("")))}(n);case 255:return function visitWithStatement(e){return t.updateWithStatement(e,visitNode(e.expression,visitor,isExpression),h.checkDefined(visitNode(e.statement,topLevelNestedVisitor,isStatement,t.liftToBlock)))}(n);case 246:return function visitIfStatement(e){return t.updateIfStatement(e,visitNode(e.expression,visitor,isExpression),visitNode(e.thenStatement,topLevelNestedVisitor,isStatement,t.liftToBlock)??t.createBlock([]),visitNode(e.elseStatement,topLevelNestedVisitor,isStatement,t.liftToBlock))}(n);case 256:return function visitSwitchStatement(e){return t.updateSwitchStatement(e,visitNode(e.expression,visitor,isExpression),h.checkDefined(visitNode(e.caseBlock,topLevelNestedVisitor,isCaseBlock)))}(n);case 270:return function visitCaseBlock(e){const n=S;return S=e,e=t.updateCaseBlock(e,visitNodes2(e.clauses,topLevelNestedVisitor,isCaseOrDefaultClause)),S=n,e}(n);case 297:return function visitCaseClause(e){return t.updateCaseClause(e,visitNode(e.expression,visitor,isExpression),visitNodes2(e.statements,topLevelNestedVisitor,isStatement))}(n);case 298:return function visitDefaultClause(t){return visitEachChild(t,topLevelNestedVisitor,e)}(n);case 259:return function visitTryStatement(t){return visitEachChild(t,topLevelNestedVisitor,e)}(n);case 300:return function visitCatchClause(e){const n=S;return S=e,e=t.updateCatchClause(e,e.variableDeclaration,h.checkDefined(visitNode(e.block,topLevelNestedVisitor,isBlock))),S=n,e}(n);case 242:return function visitBlock(t){const n=S;return S=t,t=visitEachChild(t,topLevelNestedVisitor,e),S=n,t}(n);default:return visitor(n)}}function visitForStatement(n,r){const i=S;return S=n,n=t.updateForStatement(n,visitNode(n.initializer,r?visitForInitializer:discardedValueVisitor,isForInitializer),visitNode(n.condition,visitor,isExpression),visitNode(n.incrementor,discardedValueVisitor,isExpression),visitIterationBody(n.statement,r?topLevelNestedVisitor:visitor,e)),S=i,n}function visitForInitializer(e){if(function shouldHoistForInitializer(e){return isVariableDeclarationList(e)&&shouldHoistVariableDeclarationList(e)}(e)){let n;for(const t of e.declarations)n=append(n,transformInitializedVariable(t,!1)),t.initializer||hoistBindingElement(t);return n?t.inlineExpressions(n):t.createOmittedExpression()}return visitNode(e,discardedValueVisitor,isForInitializer)}function visitorWorker(n,r){if(!(276828160&n.transformFlags))return n;switch(n.kind){case 249:return visitForStatement(n,!1);case 245:return function visitExpressionStatement(e){return t.updateExpressionStatement(e,visitNode(e.expression,discardedValueVisitor,isExpression))}(n);case 218:return function visitParenthesizedExpression(e,n){return t.updateParenthesizedExpression(e,visitNode(e.expression,n?discardedValueVisitor:visitor,isExpression))}(n,r);case 356:return function visitPartiallyEmittedExpression(e,n){return t.updatePartiallyEmittedExpression(e,visitNode(e.expression,n?discardedValueVisitor:visitor,isExpression))}(n,r);case 227:if(isDestructuringAssignment(n))return function visitDestructuringAssignment(t,n){if(hasExportedReferenceInDestructuringTarget(t.left))return flattenDestructuringAssignment(t,visitor,e,0,!n);return visitEachChild(t,visitor,e)}(n,r);break;case 214:if(isImportCall(n))return function visitImportCallExpression(e){const n=getExternalModuleNameLiteral(t,e,_,s,a,o),r=visitNode(firstOrUndefined(e.arguments),visitor,isExpression),i=!n||r&&isStringLiteral(r)&&r.text===n.text?r:n;return t.createCallExpression(t.createPropertyAccessExpression(y,t.createIdentifier("import")),void 0,i?[i]:[])}(n);break;case 225:case 226:return function visitPrefixOrPostfixUnaryExpression(n,r){if((46===n.operator||47===n.operator)&&isIdentifier(n.operand)&&!isGeneratedIdentifier(n.operand)&&!isLocalName(n.operand)&&!isDeclarationNameOfEnumOrNamespace(n.operand)){const e=getExports(n.operand);if(e){let o,a=visitNode(n.operand,visitor,isExpression);isPrefixUnaryExpression(n)?a=t.updatePrefixUnaryExpression(n,a):(a=t.updatePostfixUnaryExpression(n,a),r||(o=t.createTempVariable(i),a=t.createAssignment(o,a),setTextRange(a,n)),a=t.createComma(a,t.cloneNode(n.operand)),setTextRange(a,n));for(const t of e)a=createExportExpression(t,preventSubstitution(a));return o&&(a=t.createComma(a,o),setTextRange(a,n)),a}}return visitEachChild(n,visitor,e)}(n,r)}return visitEachChild(n,visitor,e)}function visitor(e){return visitorWorker(e,!1)}function discardedValueVisitor(e){return visitorWorker(e,!0)}function hasExportedReferenceInDestructuringTarget(e){if(isAssignmentExpression(e,!0))return hasExportedReferenceInDestructuringTarget(e.left);if(isSpreadElement(e))return hasExportedReferenceInDestructuringTarget(e.expression);if(isObjectLiteralExpression(e))return some(e.properties,hasExportedReferenceInDestructuringTarget);if(isArrayLiteralExpression(e))return some(e.elements,hasExportedReferenceInDestructuringTarget);if(isShorthandPropertyAssignment(e))return hasExportedReferenceInDestructuringTarget(e.name);if(isPropertyAssignment(e))return hasExportedReferenceInDestructuringTarget(e.initializer);if(isIdentifier(e)){const t=a.getReferencedExportContainer(e);return void 0!==t&&308===t.kind}return!1}function modifierVisitor(e){switch(e.kind){case 95:case 90:return}return e}function getExports(e){let n;const r=function getReferencedDeclaration(e){if(!isGeneratedIdentifier(e)){const t=a.getReferencedImportDeclaration(e);if(t)return t;const n=a.getReferencedValueDeclaration(e);if(n&&(null==f?void 0:f.exportedBindings[getOriginalNodeId(n)]))return n;const r=a.getReferencedValueDeclarations(e);if(r)for(const e of r)if(e!==n&&(null==f?void 0:f.exportedBindings[getOriginalNodeId(e)]))return e;return n}}(e);if(r){const i=a.getReferencedExportContainer(e,!1);i&&308===i.kind&&(n=append(n,t.getDeclarationName(r))),n=addRange(n,null==f?void 0:f.exportedBindings[getOriginalNodeId(r)])}else if(isGeneratedIdentifier(e)&&isFileLevelReservedGeneratedIdentifier(e)){const t=null==f?void 0:f.exportSpecifiers.get(e);if(t){const e=[];for(const n of t)e.push(n.name);return e}}return n}function preventSubstitution(e){return void 0===x&&(x=[]),x[getNodeId(e)]=!0,e}}function transformECMAScriptModule(e){const{factory:t,getEmitHelperFactory:n}=e,r=e.getEmitHost(),i=e.getEmitResolver(),o=e.getCompilerOptions(),a=zn(o),s=e.onEmitNode,c=e.onSubstituteNode;e.onEmitNode=function onEmitNode(e,t,n){isSourceFile(t)?((isExternalModule(t)||Kn(o))&&o.importHelpers&&(p=new Map),u=t,s(e,t,n),u=void 0,p=void 0):s(e,t,n)},e.onSubstituteNode=function onSubstituteNode(e,n){if((n=c(e,n)).id&&l.has(n.id))return n;if(isIdentifier(n)&&8192&getEmitFlags(n))return function substituteHelperName(e){const n=u&&getExternalHelpersModuleName(u);if(n)return l.add(getNodeId(e)),t.createPropertyAccessExpression(n,e);if(p){const n=idText(e);let r=p.get(n);return r||p.set(n,r=t.createUniqueName(n,48)),r}return e}(n);return n},e.enableEmitNotification(308),e.enableSubstitution(80);const l=new Set;let d,p,u,m;return chainBundle(e,function transformSourceFile(r){if(r.isDeclarationFile)return r;if(isExternalModule(r)||Kn(o)){u=r,m=void 0,o.rewriteRelativeImportExtensions&&(4194304&u.flags||isInJSFile(r))&&forEachDynamicImportOrRequireCall(r,!1,!1,e=>{isStringLiteralLike(e.arguments[0])&&!shouldRewriteModuleSpecifier(e.arguments[0].text,o)||(d=append(d,e))});let i=function updateExternalModule(r){const i=createExternalHelpersImportDeclarationIfNeeded(t,n(),r,o);if(i){const e=[],n=t.copyPrologue(r.statements,e);return addRange(e,visitArray([i],visitor,isStatement)),addRange(e,visitNodes2(r.statements,visitor,isStatement,n)),t.updateSourceFile(r,setTextRange(t.createNodeArray(e),r.statements))}return visitEachChild(r,visitor,e)}(r);return addEmitHelpers(i,e.readEmitHelpers()),u=void 0,m&&(i=t.updateSourceFile(i,setTextRange(t.createNodeArray(insertStatementsAfterCustomPrologue(i.statements.slice(),m)),i.statements))),!isExternalModule(r)||200===Vn(o)||some(i.statements,isExternalModuleIndicator)?i:t.updateSourceFile(i,setTextRange(t.createNodeArray([...i.statements,createEmptyExports(t)]),i.statements))}return r});function visitor(r){switch(r.kind){case 272:return Vn(o)>=100?function visitImportEqualsDeclaration(e){let n;return h.assert(isExternalModuleImportEqualsDeclaration(e),"import= for internal module references should be handled in an earlier transformer."),n=append(n,setOriginalNode(setTextRange(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.cloneNode(e.name),void 0,void 0,createRequireCall2(e))],a>=2?2:0)),e),e)),n=function appendExportsOfImportEqualsDeclaration(e,n){hasSyntacticModifier(n,32)&&(e=append(e,t.createExportDeclaration(void 0,n.isTypeOnly,t.createNamedExports([t.createExportSpecifier(!1,void 0,idText(n.name))]))));return e}(n,e),singleOrMany(n)}(r):void 0;case 278:return function visitExportAssignment(e){if(e.isExportEquals){if(200===Vn(o)){return setOriginalNode(t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createIdentifier("module"),"exports"),e.expression)),e)}return}return e}(r);case 279:return function visitExportDeclaration(e){const n=rewriteModuleSpecifier(e.moduleSpecifier,o);if(void 0!==o.module&&o.module>5||!e.exportClause||!isNamespaceExport(e.exportClause)||!e.moduleSpecifier)return e.moduleSpecifier&&n!==e.moduleSpecifier?t.updateExportDeclaration(e,e.modifiers,e.isTypeOnly,e.exportClause,n,e.attributes):e;const r=e.exportClause.name,i=t.getGeneratedNameForNode(r),a=t.createImportDeclaration(void 0,t.createImportClause(void 0,void 0,t.createNamespaceImport(i)),n,e.attributes);setOriginalNode(a,e.exportClause);const s=isExportNamespaceAsDefaultDeclaration(e)?t.createExportDefault(i):t.createExportDeclaration(void 0,!1,t.createNamedExports([t.createExportSpecifier(!1,i,r)]));return setOriginalNode(s,e),[a,s]}(r);case 273:return function visitImportDeclaration(e){if(!o.rewriteRelativeImportExtensions)return e;const n=rewriteModuleSpecifier(e.moduleSpecifier,o);if(n===e.moduleSpecifier)return e;return t.updateImportDeclaration(e,e.modifiers,e.importClause,n,e.attributes)}(r);case 214:if(r===(null==d?void 0:d[0]))return function visitImportOrRequireCall(e){return t.updateCallExpression(e,e.expression,e.typeArguments,[isStringLiteralLike(e.arguments[0])?rewriteModuleSpecifier(e.arguments[0],o):n().createRewriteRelativeImportExtensionsHelper(e.arguments[0]),...e.arguments.slice(1)])}(d.shift());default:if((null==d?void 0:d.length)&&rangeContainsRange(r,d[0]))return visitEachChild(r,visitor,e)}return r}function createRequireCall2(e){const n=getExternalModuleNameLiteral(t,e,h.checkDefined(u),r,i,o),s=[];if(n&&s.push(rewriteModuleSpecifier(n,o)),200===Vn(o))return t.createCallExpression(t.createIdentifier("require"),void 0,s);if(!m){const e=t.createUniqueName("_createRequire",48),n=t.createImportDeclaration(void 0,t.createImportClause(void 0,void 0,t.createNamedImports([t.createImportSpecifier(!1,t.createIdentifier("createRequire"),e)])),t.createStringLiteral("module"),void 0),r=t.createUniqueName("__require",48),i=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(r,void 0,void 0,t.createCallExpression(t.cloneNode(e),void 0,[t.createPropertyAccessExpression(t.createMetaProperty(102,t.createIdentifier("meta")),t.createIdentifier("url"))]))],a>=2?2:0));m=[n,i]}const c=m[1].declarationList.declarations[0].name;return h.assertNode(c,isIdentifier),t.createCallExpression(t.cloneNode(c),void 0,s)}}function transformImpliedNodeFormatDependentModule(e){const t=e.onSubstituteNode,n=e.onEmitNode,r=transformECMAScriptModule(e),i=e.onSubstituteNode,o=e.onEmitNode;e.onSubstituteNode=t,e.onEmitNode=n;const a=transformModule(e),s=e.onSubstituteNode,c=e.onEmitNode,getEmitModuleFormatOfFile2=t=>e.getEmitHost().getEmitModuleFormatOfFile(t);let l;return e.onSubstituteNode=function onSubstituteNode(e,n){return isSourceFile(n)?(l=n,t(e,n)):l?getEmitModuleFormatOfFile2(l)>=5?i(e,n):s(e,n):t(e,n)},e.onEmitNode=function onEmitNode(e,t,r){isSourceFile(t)&&(l=t);if(!l)return n(e,t,r);if(getEmitModuleFormatOfFile2(l)>=5)return o(e,t,r);return c(e,t,r)},e.enableSubstitution(308),e.enableEmitNotification(308),function transformSourceFileOrBundle(t){return 308===t.kind?transformSourceFile(t):function transformBundle(t){return e.factory.createBundle(map(t.sourceFiles,transformSourceFile))}(t)};function transformSourceFile(e){if(e.isDeclarationFile)return e;l=e;const t=function getModuleTransformForFile(e){return getEmitModuleFormatOfFile2(e)>=5?r:a}(e)(e);return l=void 0,h.assert(isSourceFile(t)),t}}function canProduceDiagnostics(e){return isVariableDeclaration(e)||isPropertyDeclaration(e)||isPropertySignature(e)||isBindingElement(e)||isSetAccessor(e)||isGetAccessor(e)||isConstructSignatureDeclaration(e)||isCallSignatureDeclaration(e)||isMethodDeclaration(e)||isMethodSignature(e)||isFunctionDeclaration(e)||isParameter(e)||isTypeParameterDeclaration(e)||isExpressionWithTypeArguments(e)||isImportEqualsDeclaration(e)||isTypeAliasDeclaration(e)||isConstructorDeclaration(e)||isIndexSignatureDeclaration(e)||isPropertyAccessExpression(e)||isElementAccessExpression(e)||isBinaryExpression(e)||isJSDocTypeAlias(e)}function createGetSymbolAccessibilityDiagnosticForNodeName(e){return isSetAccessor(e)||isGetAccessor(e)?function getAccessorNameVisibilityError(t){const n=function getAccessorNameVisibilityDiagnosticMessage(t){return isStatic(e)?t.errorModuleName?2===t.accessibility?Ot.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:264===e.parent.kind?t.errorModuleName?2===t.accessibility?Ot.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?Ot.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:Ot.Property_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:e,typeName:e.name}:void 0}:isMethodSignature(e)||isMethodDeclaration(e)?function getMethodNameVisibilityError(t){const n=function getMethodNameVisibilityDiagnosticMessage(t){return isStatic(e)?t.errorModuleName?2===t.accessibility?Ot.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:264===e.parent.kind?t.errorModuleName?2===t.accessibility?Ot.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Public_method_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?Ot.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:Ot.Method_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:e,typeName:e.name}:void 0}:createGetSymbolAccessibilityDiagnosticForNode(e)}function createGetSymbolAccessibilityDiagnosticForNode(e){return isVariableDeclaration(e)||isPropertyDeclaration(e)||isPropertySignature(e)||isPropertyAccessExpression(e)||isElementAccessExpression(e)||isBinaryExpression(e)||isBindingElement(e)||isConstructorDeclaration(e)?getVariableDeclarationTypeVisibilityError:isSetAccessor(e)||isGetAccessor(e)?function getAccessorDeclarationTypeVisibilityError(t){let n;n=179===e.kind?isStatic(e)?t.errorModuleName?Ot.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?Ot.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:isStatic(e)?t.errorModuleName?2===t.accessibility?Ot.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?2===t.accessibility?Ot.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:n,errorNode:e.name,typeName:e.name}}:isConstructSignatureDeclaration(e)||isCallSignatureDeclaration(e)||isMethodDeclaration(e)||isMethodSignature(e)||isFunctionDeclaration(e)||isIndexSignatureDeclaration(e)?function getReturnTypeVisibilityError(t){let n;switch(e.kind){case 181:n=t.errorModuleName?Ot.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:Ot.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 180:n=t.errorModuleName?Ot.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:Ot.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 182:n=t.errorModuleName?Ot.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:Ot.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 175:case 174:n=isStatic(e)?t.errorModuleName?2===t.accessibility?Ot.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:Ot.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:Ot.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:264===e.parent.kind?t.errorModuleName?2===t.accessibility?Ot.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:Ot.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:Ot.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:t.errorModuleName?Ot.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:Ot.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 263:n=t.errorModuleName?2===t.accessibility?Ot.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:Ot.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:Ot.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return h.fail("This is unknown kind for signature: "+e.kind)}return{diagnosticMessage:n,errorNode:e.name||e}}:isParameter(e)?isParameterPropertyDeclaration(e,e.parent)&&hasSyntacticModifier(e.parent,2)?getVariableDeclarationTypeVisibilityError:function getParameterDeclarationTypeVisibilityError(t){const n=function getParameterDeclarationTypeVisibilityDiagnosticMessage(t){switch(e.parent.kind){case 177:return t.errorModuleName?2===t.accessibility?Ot.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 181:case 186:return t.errorModuleName?Ot.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 180:return t.errorModuleName?Ot.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 182:return t.errorModuleName?Ot.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 175:case 174:return isStatic(e.parent)?t.errorModuleName?2===t.accessibility?Ot.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:264===e.parent.parent.kind?t.errorModuleName?2===t.accessibility?Ot.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?Ot.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 263:case 185:return t.errorModuleName?2===t.accessibility?Ot.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 179:case 178:return t.errorModuleName?2===t.accessibility?Ot.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:Ot.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return h.fail(`Unknown parent for parameter: ${h.formatSyntaxKind(e.parent.kind)}`)}}(t);return void 0!==n?{diagnosticMessage:n,errorNode:e,typeName:e.name}:void 0}:isTypeParameterDeclaration(e)?function getTypeParameterConstraintVisibilityError(){let t;switch(e.parent.kind){case 264:t=Ot.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 265:t=Ot.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 201:t=Ot.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 186:case 181:t=Ot.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 180:t=Ot.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 175:case 174:t=isStatic(e.parent)?Ot.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:264===e.parent.parent.kind?Ot.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:Ot.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 185:case 263:t=Ot.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 196:t=Ot.Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1;break;case 266:t=Ot.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return h.fail("This is unknown parent for type parameter: "+e.parent.kind)}return{diagnosticMessage:t,errorNode:e,typeName:e.name}}:isExpressionWithTypeArguments(e)?function getHeritageClauseVisibilityError(){let t;t=isClassDeclaration(e.parent.parent)?isHeritageClause(e.parent)&&119===e.parent.token?Ot.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.parent.parent.name?Ot.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:Ot.extends_clause_of_exported_class_has_or_is_using_private_name_0:Ot.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:t,errorNode:e,typeName:getNameOfDeclaration(e.parent.parent)}}:isImportEqualsDeclaration(e)?function getImportEntityNameVisibilityError(){return{diagnosticMessage:Ot.Import_declaration_0_is_using_private_name_1,errorNode:e,typeName:e.name}}:isTypeAliasDeclaration(e)||isJSDocTypeAlias(e)?function getTypeAliasDeclarationVisibilityError(t){return{diagnosticMessage:t.errorModuleName?Ot.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:Ot.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:isJSDocTypeAlias(e)?h.checkDefined(e.typeExpression):e.type,typeName:isJSDocTypeAlias(e)?getNameOfDeclaration(e):e.name}}:h.assertNever(e,`Attempted to set a declaration diagnostic context for unhandled node kind: ${h.formatSyntaxKind(e.kind)}`);function getVariableDeclarationTypeVisibilityError(t){const n=function getVariableDeclarationTypeVisibilityDiagnosticMessage(t){return 261===e.kind||209===e.kind?t.errorModuleName?2===t.accessibility?Ot.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:Ot.Exported_variable_0_has_or_is_using_private_name_1:173===e.kind||212===e.kind||213===e.kind||227===e.kind||172===e.kind||170===e.kind&&hasSyntacticModifier(e.parent,2)?isStatic(e)?t.errorModuleName?2===t.accessibility?Ot.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:264===e.parent.kind||170===e.kind?t.errorModuleName?2===t.accessibility?Ot.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:Ot.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:Ot.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?Ot.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:Ot.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}(t);return void 0!==n?{diagnosticMessage:n,errorNode:e,typeName:e.name}:void 0}}function createGetIsolatedDeclarationErrors(e){const t={220:Ot.Add_a_return_type_to_the_function_expression,219:Ot.Add_a_return_type_to_the_function_expression,175:Ot.Add_a_return_type_to_the_method,178:Ot.Add_a_return_type_to_the_get_accessor_declaration,179:Ot.Add_a_type_to_parameter_of_the_set_accessor_declaration,263:Ot.Add_a_return_type_to_the_function_declaration,181:Ot.Add_a_return_type_to_the_function_declaration,170:Ot.Add_a_type_annotation_to_the_parameter_0,261:Ot.Add_a_type_annotation_to_the_variable_0,173:Ot.Add_a_type_annotation_to_the_property_0,172:Ot.Add_a_type_annotation_to_the_property_0,278:Ot.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it},n={219:Ot.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,263:Ot.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,220:Ot.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,175:Ot.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,181:Ot.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,178:Ot.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations,179:Ot.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations,170:Ot.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations,261:Ot.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations,173:Ot.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations,172:Ot.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations,168:Ot.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations,306:Ot.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations,305:Ot.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations,210:Ot.Only_const_arrays_can_be_inferred_with_isolatedDeclarations,278:Ot.Default_exports_can_t_be_inferred_with_isolatedDeclarations,231:Ot.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations};return function getDiagnostic2(r){if(findAncestor(r,isHeritageClause))return createDiagnosticForNode(r,Ot.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations);if((isPartOfTypeNode(r)||isTypeQueryNode(r.parent))&&(isEntityName(r)||isEntityNameExpression(r)))return function createEntityInTypeNodeError(e){const t=createDiagnosticForNode(e,Ot.Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations,getTextOfNode(e,!1));return addParentDeclarationRelatedInfo(e,t),t}(r);switch(h.type(r),r.kind){case 178:case 179:return createAccessorTypeError(r);case 168:case 305:case 306:return function createObjectLiteralError(e){const t=createDiagnosticForNode(e,n[e.kind]);return addParentDeclarationRelatedInfo(e,t),t}(r);case 210:case 231:return function createArrayLiteralError(e){const t=createDiagnosticForNode(e,n[e.kind]);return addParentDeclarationRelatedInfo(e,t),t}(r);case 175:case 181:case 219:case 220:case 263:return function createReturnTypeError(e){const r=createDiagnosticForNode(e,n[e.kind]);return addParentDeclarationRelatedInfo(e,r),addRelatedInfo(r,createDiagnosticForNode(e,t[e.kind])),r}(r);case 209:return function createBindingElementError(e){return createDiagnosticForNode(e,Ot.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations)}(r);case 173:case 261:return function createVariableOrPropertyError(e){const r=createDiagnosticForNode(e,n[e.kind]),i=getTextOfNode(e.name,!1);return addRelatedInfo(r,createDiagnosticForNode(e,t[e.kind],i)),r}(r);case 170:return function createParameterError(r){if(isSetAccessor(r.parent))return createAccessorTypeError(r.parent);const i=e.requiresAddingImplicitUndefined(r,r.parent);if(!i&&r.initializer)return createExpressionError(r.initializer);const o=i?Ot.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations:n[r.kind],a=createDiagnosticForNode(r,o),s=getTextOfNode(r.name,!1);return addRelatedInfo(a,createDiagnosticForNode(r,t[r.kind],s)),a}(r);case 304:return createExpressionError(r.initializer);case 232:return function createClassExpressionError(e){return createExpressionError(e,Ot.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations)}(r);default:return createExpressionError(r)}};function findNearestDeclaration(e){const t=findAncestor(e,e=>isExportAssignment(e)||isStatement(e)||isVariableDeclaration(e)||isPropertyDeclaration(e)||isParameter(e));if(t)return isExportAssignment(t)?t:isReturnStatement(t)?findAncestor(t,e=>isFunctionLikeDeclaration(e)&&!isConstructorDeclaration(e)):isStatement(t)?void 0:t}function createAccessorTypeError(e){const{getAccessor:r,setAccessor:i}=getAllAccessorDeclarations(e.symbol.declarations,e),o=createDiagnosticForNode((isSetAccessor(e)?e.parameters[0]:e)??e,n[e.kind]);return i&&addRelatedInfo(o,createDiagnosticForNode(i,t[i.kind])),r&&addRelatedInfo(o,createDiagnosticForNode(r,t[r.kind])),o}function addParentDeclarationRelatedInfo(e,n){const r=findNearestDeclaration(e);if(r){const e=isExportAssignment(r)||!r.name?"":getTextOfNode(r.name,!1);addRelatedInfo(n,createDiagnosticForNode(r,t[r.kind],e))}return n}function createExpressionError(e,r){const i=findNearestDeclaration(e);let o;if(i){const a=isExportAssignment(i)||!i.name?"":getTextOfNode(i.name,!1);i===findAncestor(e.parent,e=>isExportAssignment(e)||(isStatement(e)?"quit":!isParenthesizedExpression(e)&&!isTypeAssertionExpression(e)&&!isAsExpression(e)))?(o=createDiagnosticForNode(e,r??n[i.kind]),addRelatedInfo(o,createDiagnosticForNode(i,t[i.kind],a))):(o=createDiagnosticForNode(e,r??Ot.Expression_type_can_t_be_inferred_with_isolatedDeclarations),addRelatedInfo(o,createDiagnosticForNode(i,t[i.kind],a)),addRelatedInfo(o,createDiagnosticForNode(e,Ot.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)))}else o=createDiagnosticForNode(e,r??Ot.Expression_type_can_t_be_inferred_with_isolatedDeclarations);return o}}function getDeclarationDiagnostics(e,t,n){const r=e.getCompilerOptions();return contains(filter(getSourceFilesToEmit(e,n),isSourceFileNotJson),n)?transformNodes(t,e,Wr,r,[n],[transformDeclarations],!1).diagnostics:void 0}var Sa=531469,xa=8;function transformDeclarations(e){const throwDiagnostic=()=>h.fail("Diagnostic emitted without context");let t,n,r,i,o=throwDiagnostic,a=!0,s=!1,c=!1,d=!1,p=!1;const{factory:u}=e,m=e.getEmitHost();let restoreFallbackNode=()=>{};const _={trackSymbol:function trackSymbol(e,t,n){if(262144&e.flags)return!1;return handleSymbolAccessibilityError(v.isSymbolAccessible(e,t,n,!0))},reportInaccessibleThisError:function reportInaccessibleThisError(){(f||g)&&e.addDiagnostic(createDiagnosticForNode(f||g,Ot.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,errorDeclarationNameWithFallback(),"this"))},reportInaccessibleUniqueSymbolError:function reportInaccessibleUniqueSymbolError(){(f||g)&&e.addDiagnostic(createDiagnosticForNode(f||g,Ot.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,errorDeclarationNameWithFallback(),"unique symbol"))},reportCyclicStructureError:function reportCyclicStructureError(){(f||g)&&e.addDiagnostic(createDiagnosticForNode(f||g,Ot.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,errorDeclarationNameWithFallback()))},reportPrivateInBaseOfClassExpression:function reportPrivateInBaseOfClassExpression(t){(f||g)&&e.addDiagnostic(addRelatedInfo(createDiagnosticForNode(f||g,Ot.Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected,t),...isVariableDeclaration((f||g).parent)?[createDiagnosticForNode(f||g,Ot.Add_a_type_annotation_to_the_variable_0,errorDeclarationNameWithFallback())]:[]))},reportLikelyUnsafeImportRequiredError:function reportLikelyUnsafeImportRequiredError(t){(f||g)&&e.addDiagnostic(createDiagnosticForNode(f||g,Ot.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,errorDeclarationNameWithFallback(),t))},reportTruncationError:function reportTruncationError(){(f||g)&&e.addDiagnostic(createDiagnosticForNode(f||g,Ot.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))},moduleResolverHost:m,reportNonlocalAugmentation:function reportNonlocalAugmentation(t,n,r){var i;const o=null==(i=n.declarations)?void 0:i.find(e=>getSourceFileOfNode(e)===t),a=filter(r.declarations,e=>getSourceFileOfNode(e)!==t);if(o&&a)for(const t of a)e.addDiagnostic(addRelatedInfo(createDiagnosticForNode(t,Ot.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized),createDiagnosticForNode(o,Ot.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file)))},reportNonSerializableProperty:function reportNonSerializableProperty(t){(f||g)&&e.addDiagnostic(createDiagnosticForNode(f||g,Ot.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized,t))},reportInferenceFallback,pushErrorFallbackNode(e){const t=g,n=restoreFallbackNode;restoreFallbackNode=()=>{restoreFallbackNode=n,g=t},g=e},popErrorFallbackNode(){restoreFallbackNode()}};let f,g,y,T,S,x;const v=e.getEmitResolver(),b=e.getCompilerOptions(),C=createGetIsolatedDeclarationErrors(v),{stripInternal:E,isolatedDeclarations:N}=b;return function transformRoot(l){if(308===l.kind&&l.isDeclarationFile)return l;if(309===l.kind){s=!0,T=[],S=[],x=[];let _=!1;const f=u.createBundle(map(l.sourceFiles,s=>{if(s.isDeclarationFile)return;if(_=_||s.hasNoDefaultLib,y=s,t=s,n=void 0,i=!1,r=new Map,o=throwDiagnostic,d=!1,p=!1,collectFileReferences(s),isExternalOrCommonJsModule(s)||isJsonSourceFile(s)){c=!1,a=!1;const t=isSourceFileJS(s)?u.createNodeArray(transformDeclarationsForJS(s)):visitNodes2(s.statements,visitDeclarationStatements,isStatement);return u.updateSourceFile(s,[u.createModuleDeclaration([u.createModifier(138)],u.createStringLiteral(getResolvedExternalModuleName(e.getEmitHost(),s)),u.createModuleBlock(setTextRange(u.createNodeArray(transformAndReplaceLatePaintedStatements(t)),s.statements)))],!0,[],[],!1,[])}a=!0;const l=isSourceFileJS(s)?u.createNodeArray(transformDeclarationsForJS(s)):visitNodes2(s.statements,visitDeclarationStatements,isStatement);return u.updateSourceFile(s,transformAndReplaceLatePaintedStatements(l),!0,[],[],!1,[])})),g=getDirectoryPath(normalizeSlashes(getOutputPathsFor(l,m,!0).declarationFilePath));return f.syntheticFileReferences=getReferencedFiles(g),f.syntheticTypeReferences=getTypeReferences(),f.syntheticLibReferences=getLibReferences(),f.hasNoDefaultLib=_,f}let _;if(a=!0,d=!1,p=!1,t=l,y=l,o=throwDiagnostic,s=!1,c=!1,i=!1,n=void 0,r=new Map,T=[],S=[],x=[],collectFileReferences(y),isSourceFileJS(y))_=u.createNodeArray(transformDeclarationsForJS(l));else{const e=visitNodes2(l.statements,visitDeclarationStatements,isStatement);_=setTextRange(u.createNodeArray(transformAndReplaceLatePaintedStatements(e)),l.statements),isExternalModule(l)&&(!c||d&&!p)&&(_=setTextRange(u.createNodeArray([..._,createEmptyExports(u)]),_))}const f=getDirectoryPath(normalizeSlashes(getOutputPathsFor(l,m,!0).declarationFilePath));return u.updateSourceFile(l,_,!0,getReferencedFiles(f),getTypeReferences(),l.hasNoDefaultLib,getLibReferences());function collectFileReferences(e){T=concatenate(T,map(e.referencedFiles,t=>[e,t])),S=concatenate(S,e.typeReferenceDirectives),x=concatenate(x,e.libReferenceDirectives)}function copyFileReferenceAsSynthetic(e){const t={...e};return t.pos=-1,t.end=-1,t}function getTypeReferences(){return mapDefined(S,e=>{if(e.preserve)return copyFileReferenceAsSynthetic(e)})}function getLibReferences(){return mapDefined(x,e=>{if(e.preserve)return copyFileReferenceAsSynthetic(e)})}function getReferencedFiles(e){return mapDefined(T,([t,n])=>{if(!n.preserve)return;const r=m.getSourceFileFromReference(t,n);if(!r)return;let i;if(r.isDeclarationFile)i=r.fileName;else{if(s&&contains(l.sourceFiles,r))return;const e=getOutputPathsFor(r,m,!0);i=e.declarationFilePath||e.jsFilePath||r.fileName}if(!i)return;const o=getRelativePathToDirectoryOrUrl(e,i,m.getCurrentDirectory(),m.getCanonicalFileName,!1),a=copyFileReferenceAsSynthetic(n);return a.fileName=o,a})}};function reportExpandoFunctionErrors(t){v.getPropertiesOfContainerFunction(t).forEach(t=>{if(isExpandoPropertyDeclaration(t.valueDeclaration)){const n=isBinaryExpression(t.valueDeclaration)?t.valueDeclaration.left:t.valueDeclaration;e.addDiagnostic(createDiagnosticForNode(n,Ot.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function))}})}function reportInferenceFallback(t){N&&!isSourceFileJS(y)&&getSourceFileOfNode(t)===y&&(isVariableDeclaration(t)&&v.isExpandoFunctionDeclaration(t)?reportExpandoFunctionErrors(t):e.addDiagnostic(C(t)))}function handleSymbolAccessibilityError(t){if(0===t.accessibility){if(t.aliasesToMakeVisible)if(n)for(const e of t.aliasesToMakeVisible)pushIfUnique(n,e);else n=t.aliasesToMakeVisible}else if(3!==t.accessibility){const n=o(t);if(n)return n.typeName?e.addDiagnostic(createDiagnosticForNode(t.errorNode||n.errorNode,n.diagnosticMessage,getTextOfNode(n.typeName),t.errorSymbolName,t.errorModuleName)):e.addDiagnostic(createDiagnosticForNode(t.errorNode||n.errorNode,n.diagnosticMessage,t.errorSymbolName,t.errorModuleName)),!0}return!1}function errorDeclarationNameWithFallback(){return f?declarationNameToString(f):g&&getNameOfDeclaration(g)?declarationNameToString(getNameOfDeclaration(g)):g&&isExportAssignment(g)?g.isExportEquals?"export=":"default":"(Missing)"}function transformDeclarationsForJS(e){const t=o;o=t=>t.errorNode&&canProduceDiagnostics(t.errorNode)?createGetSymbolAccessibilityDiagnosticForNode(t.errorNode)(t):{diagnosticMessage:t.errorModuleName?Ot.Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:Ot.Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit,errorNode:t.errorNode||e};const n=v.getDeclarationStatementsForSourceFile(e,Sa,xa,_);return o=t,n}function filterBindingPatternInitializers(e){return 80===e.kind?e:208===e.kind?u.updateArrayBindingPattern(e,visitNodes2(e.elements,visitBindingElement,isArrayBindingElement)):u.updateObjectBindingPattern(e,visitNodes2(e.elements,visitBindingElement,isBindingElement));function visitBindingElement(e){return 233===e.kind?e:(e.propertyName&&isComputedPropertyName(e.propertyName)&&isEntityNameExpression(e.propertyName.expression)&&checkEntityNameVisibility(e.propertyName.expression,t),u.updateBindingElement(e,e.dotDotDotToken,e.propertyName,filterBindingPatternInitializers(e.name),void 0))}}function ensureParameter(e,t){let n;i||(n=o,o=createGetSymbolAccessibilityDiagnosticForNode(e));const r=u.updateParameterDeclaration(e,function maskModifiers(e,t,n,r){return e.createModifiersFromModifierFlags(maskModifierFlags(t,n,r))}(u,e,t),e.dotDotDotToken,filterBindingPatternInitializers(e.name),v.isOptionalParameter(e)?e.questionToken||u.createToken(58):void 0,ensureType(e,!0),ensureNoInitializer(e));return i||(o=n),r}function shouldPrintWithInitializer(e){return canHaveLiteralInitializer(e)&&!!e.initializer&&v.isLiteralConstDeclaration(getParseTreeNode(e))}function ensureNoInitializer(e){if(shouldPrintWithInitializer(e)){return isPrimitiveLiteralValue(unwrapParenthesizedExpression(e.initializer))||reportInferenceFallback(e),v.createLiteralConstValue(getParseTreeNode(e,canHaveLiteralInitializer),_)}}function ensureType(e,n){if(!n&&hasEffectiveModifier(e,2))return;if(shouldPrintWithInitializer(e))return;if(!isExportAssignment(e)&&!isBindingElement(e)&&e.type&&(!isParameter(e)||!v.requiresAddingImplicitUndefined(e,t)))return visitNode(e.type,visitDeclarationSubtree,isTypeNode);const r=f;let a,s;return f=e.name,i||(a=o,canProduceDiagnostics(e)&&(o=createGetSymbolAccessibilityDiagnosticForNode(e))),hasInferredType(e)?s=v.createTypeOfDeclaration(e,t,Sa,xa,_):isFunctionLike(e)?s=v.createReturnTypeOfSignatureDeclaration(e,t,Sa,xa,_):h.assertNever(e),f=r,i||(o=a),s??u.createKeywordTypeNode(133)}function isDeclarationAndNotVisible(e){switch((e=getParseTreeNode(e)).kind){case 263:case 268:case 265:case 264:case 266:case 267:return!v.isDeclarationVisible(e);case 261:return!getBindingNameVisible(e);case 272:case 273:case 279:case 278:return!1;case 176:return!0}return!1}function getBindingNameVisible(e){return!isOmittedExpression(e)&&(isBindingPattern(e.name)?some(e.name.elements,getBindingNameVisible):v.isDeclarationVisible(e))}function updateParamsList(e,t,n){if(hasEffectiveModifier(e,2))return u.createNodeArray();const r=map(t,e=>ensureParameter(e,n));return r?u.createNodeArray(r,t.hasTrailingComma):u.createNodeArray()}function updateAccessorParamsList(e,t){let n;if(!t){const t=getThisParameter(e);t&&(n=[ensureParameter(t)])}if(isSetAccessorDeclaration(e)){let r;if(!t){const t=getSetAccessorValueParameter(e);t&&(r=ensureParameter(t))}r||(r=u.createParameterDeclaration(void 0,void 0,"value")),n=append(n,r)}return u.createNodeArray(n||l)}function ensureTypeParams(e,t){return hasEffectiveModifier(e,2)?void 0:visitNodes2(t,visitDeclarationSubtree,isTypeParameterDeclaration)}function isEnclosingDeclaration(e){return isSourceFile(e)||isTypeAliasDeclaration(e)||isModuleDeclaration(e)||isClassDeclaration(e)||isInterfaceDeclaration(e)||isFunctionLike(e)||isIndexSignatureDeclaration(e)||isMappedTypeNode(e)}function checkEntityNameVisibility(e,t){handleSymbolAccessibilityError(v.isEntityNameVisible(e,t))}function preserveJsDoc(e,t){return hasJSDocNodes(e)&&hasJSDocNodes(t)&&(e.jsDoc=t.jsDoc),setCommentRange(e,getCommentRange(t))}function rewriteModuleSpecifier2(t,n){if(n){if(c=c||268!==t.kind&&206!==t.kind,isStringLiteralLike(n)&&s){const n=getExternalModuleNameFromDeclaration(e.getEmitHost(),v,t);if(n)return u.createStringLiteral(n)}return n}}function tryGetResolutionModeOverride(e){const t=getResolutionModeOverride(e);return e&&void 0!==t?e:void 0}function transformAndReplaceLatePaintedStatements(e){for(;length(n);){const e=n.shift();if(!isLateVisibilityPaintedStatement(e))return h.fail(`Late replaced statement was found which is not handled by the declaration transformer!: ${h.formatSyntaxKind(e.kind)}`);const t=a;a=e.parent&&isSourceFile(e.parent)&&!(isExternalModule(e.parent)&&s);const i=transformTopLevelDeclaration(e);a=t,r.set(getOriginalNodeId(e),i)}return visitNodes2(e,function visitLateVisibilityMarkedStatements(e){if(isLateVisibilityPaintedStatement(e)){const t=getOriginalNodeId(e);if(r.has(t)){const n=r.get(t);return r.delete(t),n&&((isArray(n)?some(n,needsScopeMarker):needsScopeMarker(n))&&(d=!0),isSourceFile(e.parent)&&(isArray(n)?some(n,isExternalModuleIndicator):isExternalModuleIndicator(n))&&(c=!0)),n}}return e},isStatement)}function visitDeclarationSubtree(n){if(shouldStripInternal(n))return;if(isDeclaration(n)){if(isDeclarationAndNotVisible(n))return;if(hasDynamicName(n))if(N){if(!v.isDefinitelyReferenceToGlobalSymbolObject(n.name.expression)){if(isClassDeclaration(n.parent)||isObjectLiteralExpression(n.parent))return void e.addDiagnostic(createDiagnosticForNode(n,Ot.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations));if((isInterfaceDeclaration(n.parent)||isTypeLiteralNode(n.parent))&&!isEntityNameExpression(n.name.expression))return void e.addDiagnostic(createDiagnosticForNode(n,Ot.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations))}}else if(!v.isLateBound(getParseTreeNode(n))||!isEntityNameExpression(n.name.expression))return}if(isFunctionLike(n)&&v.isImplementationOfOverload(n))return;if(isSemicolonClassElement(n))return;let r;isEnclosingDeclaration(n)&&(r=t,t=n);const a=o,s=canProduceDiagnostics(n),c=i;let l=(188===n.kind||201===n.kind)&&266!==n.parent.kind;if((isMethodDeclaration(n)||isMethodSignature(n))&&hasEffectiveModifier(n,2)){if(n.symbol&&n.symbol.declarations&&n.symbol.declarations[0]!==n)return;return cleanup(u.createPropertyDeclaration(ensureModifiers(n),n.name,void 0,void 0,void 0))}if(s&&!i&&(o=createGetSymbolAccessibilityDiagnosticForNode(n)),isTypeQueryNode(n)&&checkEntityNameVisibility(n.exprName,t),l&&(i=!0),function isProcessedComponent(e){switch(e.kind){case 181:case 177:case 175:case 178:case 179:case 173:case 172:case 174:case 180:case 182:case 261:case 169:case 234:case 184:case 195:case 185:case 186:case 206:return!0}return!1}(n))switch(n.kind){case 234:{(isEntityName(n.expression)||isEntityNameExpression(n.expression))&&checkEntityNameVisibility(n.expression,t);const r=visitEachChild(n,visitDeclarationSubtree,e);return cleanup(u.updateExpressionWithTypeArguments(r,r.expression,r.typeArguments))}case 184:{checkEntityNameVisibility(n.typeName,t);const r=visitEachChild(n,visitDeclarationSubtree,e);return cleanup(u.updateTypeReferenceNode(r,r.typeName,r.typeArguments))}case 181:return cleanup(u.updateConstructSignature(n,ensureTypeParams(n,n.typeParameters),updateParamsList(n,n.parameters),ensureType(n)));case 177:return cleanup(u.createConstructorDeclaration(ensureModifiers(n),updateParamsList(n,n.parameters,0),void 0));case 175:if(isPrivateIdentifier(n.name))return cleanup(void 0);return cleanup(u.createMethodDeclaration(ensureModifiers(n),void 0,n.name,n.questionToken,ensureTypeParams(n,n.typeParameters),updateParamsList(n,n.parameters),ensureType(n),void 0));case 178:return isPrivateIdentifier(n.name)?cleanup(void 0):cleanup(u.updateGetAccessorDeclaration(n,ensureModifiers(n),n.name,updateAccessorParamsList(n,hasEffectiveModifier(n,2)),ensureType(n),void 0));case 179:return isPrivateIdentifier(n.name)?cleanup(void 0):cleanup(u.updateSetAccessorDeclaration(n,ensureModifiers(n),n.name,updateAccessorParamsList(n,hasEffectiveModifier(n,2)),void 0));case 173:return isPrivateIdentifier(n.name)?cleanup(void 0):cleanup(u.updatePropertyDeclaration(n,ensureModifiers(n),n.name,n.questionToken,ensureType(n),ensureNoInitializer(n)));case 172:return isPrivateIdentifier(n.name)?cleanup(void 0):cleanup(u.updatePropertySignature(n,ensureModifiers(n),n.name,n.questionToken,ensureType(n)));case 174:return isPrivateIdentifier(n.name)?cleanup(void 0):cleanup(u.updateMethodSignature(n,ensureModifiers(n),n.name,n.questionToken,ensureTypeParams(n,n.typeParameters),updateParamsList(n,n.parameters),ensureType(n)));case 180:return cleanup(u.updateCallSignature(n,ensureTypeParams(n,n.typeParameters),updateParamsList(n,n.parameters),ensureType(n)));case 182:return cleanup(u.updateIndexSignature(n,ensureModifiers(n),updateParamsList(n,n.parameters),visitNode(n.type,visitDeclarationSubtree,isTypeNode)||u.createKeywordTypeNode(133)));case 261:return isBindingPattern(n.name)?recreateBindingPattern(n.name):(l=!0,i=!0,cleanup(u.updateVariableDeclaration(n,n.name,void 0,ensureType(n),ensureNoInitializer(n))));case 169:return function isPrivateMethodTypeParameter(e){return 175===e.parent.kind&&hasEffectiveModifier(e.parent,2)}(n)&&(n.default||n.constraint)?cleanup(u.updateTypeParameterDeclaration(n,n.modifiers,n.name,void 0,void 0)):cleanup(visitEachChild(n,visitDeclarationSubtree,e));case 195:{const e=visitNode(n.checkType,visitDeclarationSubtree,isTypeNode),r=visitNode(n.extendsType,visitDeclarationSubtree,isTypeNode),i=t;t=n.trueType;const o=visitNode(n.trueType,visitDeclarationSubtree,isTypeNode);t=i;const a=visitNode(n.falseType,visitDeclarationSubtree,isTypeNode);return h.assert(e),h.assert(r),h.assert(o),h.assert(a),cleanup(u.updateConditionalTypeNode(n,e,r,o,a))}case 185:return cleanup(u.updateFunctionTypeNode(n,visitNodes2(n.typeParameters,visitDeclarationSubtree,isTypeParameterDeclaration),updateParamsList(n,n.parameters),h.checkDefined(visitNode(n.type,visitDeclarationSubtree,isTypeNode))));case 186:return cleanup(u.updateConstructorTypeNode(n,ensureModifiers(n),visitNodes2(n.typeParameters,visitDeclarationSubtree,isTypeParameterDeclaration),updateParamsList(n,n.parameters),h.checkDefined(visitNode(n.type,visitDeclarationSubtree,isTypeNode))));case 206:return isLiteralImportTypeNode(n)?cleanup(u.updateImportTypeNode(n,u.updateLiteralTypeNode(n.argument,rewriteModuleSpecifier2(n,n.argument.literal)),n.attributes,n.qualifier,visitNodes2(n.typeArguments,visitDeclarationSubtree,isTypeNode),n.isTypeOf)):cleanup(n);default:h.assertNever(n,`Attempted to process unhandled node kind: ${h.formatSyntaxKind(n.kind)}`)}return isTupleTypeNode(n)&&getLineAndCharacterOfPosition(y,n.pos).line===getLineAndCharacterOfPosition(y,n.end).line&&setEmitFlags(n,1),cleanup(visitEachChild(n,visitDeclarationSubtree,e));function cleanup(e){return e&&s&&hasDynamicName(n)&&function checkName(e){let n;i||(n=o,o=createGetSymbolAccessibilityDiagnosticForNodeName(e));f=e.name,h.assert(hasDynamicName(e));checkEntityNameVisibility(e.name.expression,t),i||(o=n);f=void 0}(n),isEnclosingDeclaration(n)&&(t=r),s&&!i&&(o=a),l&&(i=c),e===n?e:e&&setOriginalNode(preserveJsDoc(e,n),n)}}function visitDeclarationStatements(e){if(!function isPreservedDeclarationStatement(e){switch(e.kind){case 263:case 268:case 272:case 265:case 264:case 266:case 267:case 244:case 273:case 279:case 278:return!0}return!1}(e))return;if(shouldStripInternal(e))return;switch(e.kind){case 279:return isSourceFile(e.parent)&&(c=!0),p=!0,u.updateExportDeclaration(e,e.modifiers,e.isTypeOnly,e.exportClause,rewriteModuleSpecifier2(e,e.moduleSpecifier),tryGetResolutionModeOverride(e.attributes));case 278:if(isSourceFile(e.parent)&&(c=!0),p=!0,80===e.expression.kind)return e;{const t=u.createUniqueName("_default",16);o=()=>({diagnosticMessage:Ot.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:e}),g=e;const n=ensureType(e),r=u.createVariableDeclaration(t,void 0,n,void 0);g=void 0;const i=u.createVariableStatement(a?[u.createModifier(138)]:[],u.createVariableDeclarationList([r],2));return preserveJsDoc(i,e),removeAllComments(e),[i,u.updateExportAssignment(e,e.modifiers,t)]}}const t=transformTopLevelDeclaration(e);return r.set(getOriginalNodeId(e),t),e}function stripExportModifiers(e){if(isImportEqualsDeclaration(e)||hasEffectiveModifier(e,2048)||!canHaveModifiers(e))return e;const t=u.createModifiersFromModifierFlags(131039&getEffectiveModifierFlags(e));return u.replaceModifiers(e,t)}function updateModuleDeclarationAndKeyword(e,t,n,r){const i=u.updateModuleDeclaration(e,t,n,r);if(isAmbientModule(i)||32&i.flags)return i;const o=u.createModuleDeclaration(i.modifiers,i.name,i.body,32|i.flags);return setOriginalNode(o,i),setTextRange(o,i),o}function transformTopLevelDeclaration(i){if(n)for(;orderedRemoveItem(n,i););if(shouldStripInternal(i))return;switch(i.kind){case 272:return function transformImportEqualsDeclaration(e){if(v.isDeclarationVisible(e)){if(284===e.moduleReference.kind){const t=getExternalModuleImportEqualsDeclarationExpression(e);return u.updateImportEqualsDeclaration(e,e.modifiers,e.isTypeOnly,e.name,u.updateExternalModuleReference(e.moduleReference,rewriteModuleSpecifier2(e,t)))}{const n=o;return o=createGetSymbolAccessibilityDiagnosticForNode(e),checkEntityNameVisibility(e.moduleReference,t),o=n,e}}}(i);case 273:return function transformImportDeclaration(t){if(!t.importClause)return u.updateImportDeclaration(t,t.modifiers,t.importClause,rewriteModuleSpecifier2(t,t.moduleSpecifier),tryGetResolutionModeOverride(t.attributes));const n=166===t.importClause.phaseModifier?void 0:t.importClause.phaseModifier,r=t.importClause&&t.importClause.name&&v.isDeclarationVisible(t.importClause)?t.importClause.name:void 0;if(!t.importClause.namedBindings)return r&&u.updateImportDeclaration(t,t.modifiers,u.updateImportClause(t.importClause,n,r,void 0),rewriteModuleSpecifier2(t,t.moduleSpecifier),tryGetResolutionModeOverride(t.attributes));if(275===t.importClause.namedBindings.kind){const e=v.isDeclarationVisible(t.importClause.namedBindings)?t.importClause.namedBindings:void 0;return r||e?u.updateImportDeclaration(t,t.modifiers,u.updateImportClause(t.importClause,n,r,e),rewriteModuleSpecifier2(t,t.moduleSpecifier),tryGetResolutionModeOverride(t.attributes)):void 0}const i=mapDefined(t.importClause.namedBindings.elements,e=>v.isDeclarationVisible(e)?e:void 0);return i&&i.length||r?u.updateImportDeclaration(t,t.modifiers,u.updateImportClause(t.importClause,n,r,i&&i.length?u.updateNamedImports(t.importClause.namedBindings,i):void 0),rewriteModuleSpecifier2(t,t.moduleSpecifier),tryGetResolutionModeOverride(t.attributes)):v.isImportRequiredByAugmentation(t)?(N&&e.addDiagnostic(createDiagnosticForNode(t,Ot.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)),u.updateImportDeclaration(t,t.modifiers,void 0,rewriteModuleSpecifier2(t,t.moduleSpecifier),tryGetResolutionModeOverride(t.attributes))):void 0}(i)}if(isDeclaration(i)&&isDeclarationAndNotVisible(i))return;if(isJSDocImportTag(i))return;if(isFunctionLike(i)&&v.isImplementationOfOverload(i))return;let s;isEnclosingDeclaration(i)&&(s=t,t=i);const l=canProduceDiagnostics(i),m=o;l&&(o=createGetSymbolAccessibilityDiagnosticForNode(i));const y=a;switch(i.kind){case 266:{a=!1;const e=cleanup(u.updateTypeAliasDeclaration(i,ensureModifiers(i),i.name,visitNodes2(i.typeParameters,visitDeclarationSubtree,isTypeParameterDeclaration),h.checkDefined(visitNode(i.type,visitDeclarationSubtree,isTypeNode))));return a=y,e}case 265:return cleanup(u.updateInterfaceDeclaration(i,ensureModifiers(i),i.name,ensureTypeParams(i,i.typeParameters),transformHeritageClauses(i.heritageClauses),visitNodes2(i.members,visitDeclarationSubtree,isTypeElement)));case 263:{const e=cleanup(u.updateFunctionDeclaration(i,ensureModifiers(i),void 0,i.name,ensureTypeParams(i,i.typeParameters),updateParamsList(i,i.parameters),ensureType(i),void 0));if(e&&v.isExpandoFunctionDeclaration(i)&&function shouldEmitFunctionProperties(e){var t;if(e.body)return!0;const n=null==(t=e.symbol.declarations)?void 0:t.filter(e=>isFunctionDeclaration(e)&&!e.body);return!n||n.indexOf(e)===n.length-1}(i)){const n=v.getPropertiesOfContainerFunction(i);N&&reportExpandoFunctionErrors(i);const r=Di.createModuleDeclaration(void 0,e.name||u.createIdentifier("_default"),u.createModuleBlock([]),32);setParent(r,t),r.locals=createSymbolTable(n),r.symbol=n[0].parent;const a=[];let s=mapDefined(n,e=>{if(!isExpandoPropertyDeclaration(e.valueDeclaration))return;const t=unescapeLeadingUnderscores(e.escapedName);if(!isIdentifierText(t,99))return;o=createGetSymbolAccessibilityDiagnosticForNode(e.valueDeclaration);const n=v.createTypeOfDeclaration(e.valueDeclaration,r,Sa,2|xa,_);o=m;const i=isStringANonContextualKeyword(t),s=i?u.getGeneratedNameForNode(e.valueDeclaration):u.createIdentifier(t);i&&a.push([s,t]);const c=u.createVariableDeclaration(s,void 0,n,void 0);return u.createVariableStatement(i?void 0:[u.createToken(95)],u.createVariableDeclarationList([c]))});a.length?s.push(u.createExportDeclaration(void 0,!1,u.createNamedExports(map(a,([e,t])=>u.createExportSpecifier(!1,e,t))))):s=mapDefined(s,e=>u.replaceModifiers(e,0));const l=u.createModuleDeclaration(ensureModifiers(i),i.name,u.createModuleBlock(s),32);if(!hasEffectiveModifier(e,2048))return[e,l];const d=u.createModifiersFromModifierFlags(-2081&getEffectiveModifierFlags(e)|128),f=u.updateFunctionDeclaration(e,d,void 0,e.name,e.typeParameters,e.parameters,e.type,void 0),g=u.updateModuleDeclaration(l,d,l.name,l.body),y=u.createExportAssignment(void 0,!1,l.name);return isSourceFile(i.parent)&&(c=!0),p=!0,[f,g,y]}return e}case 268:{a=!1;const e=i.body;if(e&&269===e.kind){const t=d,n=p;p=!1,d=!1;let r=transformAndReplaceLatePaintedStatements(visitNodes2(e.statements,visitDeclarationStatements,isStatement));33554432&i.flags&&(d=!1),isGlobalScopeAugmentation(i)||function hasScopeMarker2(e){return some(e,isScopeMarker2)}(r)||p||(r=d?u.createNodeArray([...r,createEmptyExports(u)]):visitNodes2(r,stripExportModifiers,isStatement));const o=u.updateModuleBlock(e,r);a=y,d=t,p=n;const s=ensureModifiers(i);return cleanup(updateModuleDeclarationAndKeyword(i,s,isExternalModuleAugmentation(i)?rewriteModuleSpecifier2(i,i.name):i.name,o))}{a=y;const t=ensureModifiers(i);a=!1,visitNode(e,visitDeclarationStatements);const n=getOriginalNodeId(e),o=r.get(n);return r.delete(n),cleanup(updateModuleDeclarationAndKeyword(i,t,i.name,o))}}case 264:{f=i.name,g=i;const e=u.createNodeArray(ensureModifiers(i)),n=ensureTypeParams(i,i.typeParameters),r=getFirstConstructorWithBody(i);let s;if(r){const e=o;s=compact(flatMap(r.parameters,e=>{if(hasSyntacticModifier(e,31)&&!shouldStripInternal(e))return o=createGetSymbolAccessibilityDiagnosticForNode(e),80===e.name.kind?preserveJsDoc(u.createPropertyDeclaration(ensureModifiers(e),e.name,e.questionToken,ensureType(e),ensureNoInitializer(e)),e):function walkBindingPattern(t){let n;for(const r of t.elements)isOmittedExpression(r)||(isBindingPattern(r.name)&&(n=concatenate(n,walkBindingPattern(r.name))),n=n||[],n.push(u.createPropertyDeclaration(ensureModifiers(e),r.name,void 0,ensureType(r),void 0)));return n}(e.name)})),o=e}const c=concatenate(concatenate(concatenate(some(i.members,e=>!!e.name&&isPrivateIdentifier(e.name))?[u.createPropertyDeclaration(void 0,u.createPrivateIdentifier("#private"),void 0,void 0,void 0)]:void 0,v.createLateBoundIndexSignatures(i,t,Sa,xa,_)),s),visitNodes2(i.members,visitDeclarationSubtree,isClassElement)),l=u.createNodeArray(c),d=getEffectiveBaseTypeNode(i);if(d&&!isEntityNameExpression(d.expression)&&106!==d.expression.kind){const t=i.name?unescapeLeadingUnderscores(i.name.escapedText):"default",r=u.createUniqueName(`${t}_base`,16);o=()=>({diagnosticMessage:Ot.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,errorNode:d,typeName:i.name});const s=u.createVariableDeclaration(r,void 0,v.createTypeOfExpression(d.expression,i,Sa,xa,_),void 0),c=u.createVariableStatement(a?[u.createModifier(138)]:[],u.createVariableDeclarationList([s],2)),p=u.createNodeArray(map(i.heritageClauses,e=>{if(96===e.token){const t=o;o=createGetSymbolAccessibilityDiagnosticForNode(e.types[0]);const n=u.updateHeritageClause(e,map(e.types,e=>u.updateExpressionWithTypeArguments(e,r,visitNodes2(e.typeArguments,visitDeclarationSubtree,isTypeNode))));return o=t,n}return u.updateHeritageClause(e,visitNodes2(u.createNodeArray(filter(e.types,e=>isEntityNameExpression(e.expression)||106===e.expression.kind)),visitDeclarationSubtree,isExpressionWithTypeArguments))}));return[c,cleanup(u.updateClassDeclaration(i,e,i.name,n,p,l))]}{const t=transformHeritageClauses(i.heritageClauses);return cleanup(u.updateClassDeclaration(i,e,i.name,n,t,l))}}case 244:return cleanup(function transformVariableStatement(e){if(!forEach(e.declarationList.declarations,getBindingNameVisible))return;const t=visitNodes2(e.declarationList.declarations,visitDeclarationSubtree,isVariableDeclaration);if(!length(t))return;const n=u.createNodeArray(ensureModifiers(e));let r;isVarUsing(e.declarationList)||isVarAwaitUsing(e.declarationList)?(r=u.createVariableDeclarationList(t,2),setOriginalNode(r,e.declarationList),setTextRange(r,e.declarationList),setCommentRange(r,e.declarationList)):r=u.updateVariableDeclarationList(e.declarationList,t);return u.updateVariableStatement(e,n,r)}(i));case 267:return cleanup(u.updateEnumDeclaration(i,u.createNodeArray(ensureModifiers(i)),i.name,u.createNodeArray(mapDefined(i.members,t=>{if(shouldStripInternal(t))return;const n=v.getEnumMemberValue(t),r=null==n?void 0:n.value;N&&t.initializer&&(null==n?void 0:n.hasExternalReferences)&&!isComputedPropertyName(t.name)&&e.addDiagnostic(createDiagnosticForNode(t,Ot.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations));const i=void 0===r?void 0:"string"==typeof r?u.createStringLiteral(r):r<0?u.createPrefixUnaryExpression(41,u.createNumericLiteral(-r)):u.createNumericLiteral(r);return preserveJsDoc(u.updateEnumMember(t,t.name,i),t)}))))}return h.assertNever(i,`Unhandled top-level node in declaration emit: ${h.formatSyntaxKind(i.kind)}`);function cleanup(e){return isEnclosingDeclaration(i)&&(t=s),l&&(o=m),268===i.kind&&(a=y),e===i?e:(g=void 0,f=void 0,e&&setOriginalNode(preserveJsDoc(e,i),i))}}function recreateBindingPattern(e){return flatten(mapDefined(e.elements,e=>function recreateBindingElement(e){if(233===e.kind)return;if(e.name){if(!getBindingNameVisible(e))return;return isBindingPattern(e.name)?recreateBindingPattern(e.name):u.createVariableDeclaration(e.name,void 0,ensureType(e),void 0)}}(e)))}function shouldStripInternal(e){return!!E&&!!e&&isInternalDeclaration(e,y)}function isScopeMarker2(e){return isExportAssignment(e)||isExportDeclaration(e)}function ensureModifiers(e){const t=getEffectiveModifierFlags(e),n=function ensureModifierFlags(e){let t=130030,n=a&&!function isAlwaysType(e){if(265===e.kind)return!0;return!1}(e)?128:0;const r=308===e.parent.kind;(!r||s&&r&&isExternalModule(e.parent))&&(t^=128,n=0);return maskModifierFlags(e,t,n)}(e);return t===n?visitArray(e.modifiers,e=>tryCast(e,isModifier),isModifier):u.createModifiersFromModifierFlags(n)}function transformHeritageClauses(e){return u.createNodeArray(filter(map(e,e=>u.updateHeritageClause(e,visitNodes2(u.createNodeArray(filter(e.types,t=>isEntityNameExpression(t.expression)||96===e.token&&106===t.expression.kind)),visitDeclarationSubtree,isExpressionWithTypeArguments))),e=>e.types&&!!e.types.length))}}function maskModifierFlags(e,t=131070,n=0){let r=getEffectiveModifierFlags(e)&t|n;return 2048&r&&!(32&r)&&(r^=32),2048&r&&128&r&&(r^=128),r}function canHaveLiteralInitializer(e){switch(e.kind){case 173:case 172:return!hasEffectiveModifier(e,2);case 170:case 261:return!0}return!1}var va={scriptTransformers:l,declarationTransformers:l};function getTransformers(e,t,n){return{scriptTransformers:getScriptTransformers(e,t,n),declarationTransformers:getDeclarationTransformers(t)}}function getScriptTransformers(e,t,n){if(n)return l;const r=zn(e),i=Vn(e),o=ir(e),a=[];return addRange(a,t&&map(t.before,wrapScriptTransformerFactory)),a.push(transformTypeScript),e.experimentalDecorators&&a.push(transformLegacyDecorators),getJSXTransformEnabled(e)&&a.push(transformJsx),r<99&&a.push(transformESNext),e.experimentalDecorators||!(r<99)&&o||a.push(transformESDecorators),a.push(transformClassFields),r<8&&a.push(transformES2021),r<7&&a.push(transformES2020),r<6&&a.push(transformES2019),r<5&&a.push(transformES2018),r<4&&a.push(transformES2017),r<3&&a.push(transformES2016),r<2&&(a.push(transformES2015),a.push(transformGenerators)),a.push(function getModuleTransformer(e){switch(e){case 200:return transformECMAScriptModule;case 99:case 7:case 6:case 5:case 100:case 101:case 102:case 199:case 1:return transformImpliedNodeFormatDependentModule;case 4:return transformSystemModule;default:return transformModule}}(i)),addRange(a,t&&map(t.after,wrapScriptTransformerFactory)),a}function getDeclarationTransformers(e){const t=[];return t.push(transformDeclarations),addRange(t,e&&map(e.afterDeclarations,wrapDeclarationTransformerFactory)),t}function wrapCustomTransformerFactory(e,t){return n=>{const r=e(n);return"function"==typeof r?t(n,r):function wrapCustomTransformer(e){return t=>isBundle(t)?e.transformBundle(t):e.transformSourceFile(t)}(r)}}function wrapScriptTransformerFactory(e){return wrapCustomTransformerFactory(e,chainBundle)}function wrapDeclarationTransformerFactory(e){return wrapCustomTransformerFactory(e,(e,t)=>t)}function noEmitSubstitution(e,t){return t}function noEmitNotification(e,t,n){n(e,t)}function transformNodes(e,t,n,r,i,o,a){var s,c;const l=new Array(359);let d,p,u,m,_,f=0,g=[],y=[],T=[],S=[],x=0,v=!1,b=[],C=0,E=noEmitSubstitution,N=noEmitNotification,k=0;const F=[],P={factory:n,getCompilerOptions:()=>r,getEmitResolver:()=>e,getEmitHost:()=>t,getEmitHelperFactory:memoize(()=>createEmitHelperFactory(P)),startLexicalEnvironment:function startLexicalEnvironment(){h.assert(k>0,"Cannot modify the lexical environment during initialization."),h.assert(k<2,"Cannot modify the lexical environment after transformation has completed."),h.assert(!v,"Lexical environment is suspended."),g[x]=d,y[x]=p,T[x]=u,S[x]=f,x++,d=void 0,p=void 0,u=void 0,f=0},suspendLexicalEnvironment:function suspendLexicalEnvironment(){h.assert(k>0,"Cannot modify the lexical environment during initialization."),h.assert(k<2,"Cannot modify the lexical environment after transformation has completed."),h.assert(!v,"Lexical environment is already suspended."),v=!0},resumeLexicalEnvironment:function resumeLexicalEnvironment(){h.assert(k>0,"Cannot modify the lexical environment during initialization."),h.assert(k<2,"Cannot modify the lexical environment after transformation has completed."),h.assert(v,"Lexical environment is not suspended."),v=!1},endLexicalEnvironment:function endLexicalEnvironment(){let e;if(h.assert(k>0,"Cannot modify the lexical environment during initialization."),h.assert(k<2,"Cannot modify the lexical environment after transformation has completed."),h.assert(!v,"Lexical environment is suspended."),d||p||u){if(p&&(e=[...p]),d){const t=n.createVariableStatement(void 0,n.createVariableDeclarationList(d));setEmitFlags(t,2097152),e?e.push(t):e=[t]}u&&(e=e?[...e,...u]:[...u])}x--,d=g[x],p=y[x],u=T[x],f=S[x],0===x&&(g=[],y=[],T=[],S=[]);return e},setLexicalEnvironmentFlags:function setLexicalEnvironmentFlags(e,t){f=t?f|e:f&~e},getLexicalEnvironmentFlags:function getLexicalEnvironmentFlags(){return f},hoistVariableDeclaration:function hoistVariableDeclaration(e){h.assert(k>0,"Cannot modify the lexical environment during initialization."),h.assert(k<2,"Cannot modify the lexical environment after transformation has completed.");const t=setEmitFlags(n.createVariableDeclaration(e),128);d?d.push(t):d=[t];1&f&&(f|=2)},hoistFunctionDeclaration:function hoistFunctionDeclaration(e){h.assert(k>0,"Cannot modify the lexical environment during initialization."),h.assert(k<2,"Cannot modify the lexical environment after transformation has completed."),setEmitFlags(e,2097152),p?p.push(e):p=[e]},addInitializationStatement:function addInitializationStatement(e){h.assert(k>0,"Cannot modify the lexical environment during initialization."),h.assert(k<2,"Cannot modify the lexical environment after transformation has completed."),setEmitFlags(e,2097152),u?u.push(e):u=[e]},startBlockScope:function startBlockScope(){h.assert(k>0,"Cannot start a block scope during initialization."),h.assert(k<2,"Cannot start a block scope after transformation has completed."),b[C]=m,C++,m=void 0},endBlockScope:function endBlockScope(){h.assert(k>0,"Cannot end a block scope during initialization."),h.assert(k<2,"Cannot end a block scope after transformation has completed.");const e=some(m)?[n.createVariableStatement(void 0,n.createVariableDeclarationList(m.map(e=>n.createVariableDeclaration(e)),1))]:void 0;C--,m=b[C],0===C&&(b=[]);return e},addBlockScopedVariable:function addBlockScopedVariable(e){h.assert(C>0,"Cannot add a block scoped variable outside of an iteration body."),(m||(m=[])).push(e)},requestEmitHelper:function requestEmitHelper(e){if(h.assert(k>0,"Cannot modify the transformation context during initialization."),h.assert(k<2,"Cannot modify the transformation context after transformation has completed."),h.assert(!e.scoped,"Cannot request a scoped emit helper."),e.dependencies)for(const t of e.dependencies)requestEmitHelper(t);_=append(_,e)},readEmitHelpers:function readEmitHelpers(){h.assert(k>0,"Cannot modify the transformation context during initialization."),h.assert(k<2,"Cannot modify the transformation context after transformation has completed.");const e=_;return _=void 0,e},enableSubstitution:function enableSubstitution(e){h.assert(k<2,"Cannot modify the transformation context after transformation has completed."),l[e]|=1},enableEmitNotification:function enableEmitNotification(e){h.assert(k<2,"Cannot modify the transformation context after transformation has completed."),l[e]|=2},isSubstitutionEnabled,isEmitNotificationEnabled,get onSubstituteNode(){return E},set onSubstituteNode(e){h.assert(k<1,"Cannot modify transformation hooks after initialization has completed."),h.assert(void 0!==e,"Value must not be 'undefined'"),E=e},get onEmitNode(){return N},set onEmitNode(e){h.assert(k<1,"Cannot modify transformation hooks after initialization has completed."),h.assert(void 0!==e,"Value must not be 'undefined'"),N=e},addDiagnostic(e){F.push(e)}};for(const e of i)disposeEmitNodes(getSourceFileOfNode(getParseTreeNode(e)));mark("beforeTransform");const D=o.map(e=>e(P)),transformation=e=>{for(const t of D)e=t(e);return e};k=1;const I=[];for(const e of i)null==(s=J)||s.push(J.Phase.Emit,"transformNodes",308===e.kind?{path:e.path}:{kind:e.kind,pos:e.pos,end:e.end}),I.push((a?transformation:transformRoot)(e)),null==(c=J)||c.pop();return k=2,mark("afterTransform"),measure("transformTime","beforeTransform","afterTransform"),{transformed:I,substituteNode:function substituteNode(e,t){return h.assert(k<3,"Cannot substitute a node after the result is disposed."),t&&isSubstitutionEnabled(t)&&E(e,t)||t},emitNodeWithNotification:function emitNodeWithNotification(e,t,n){h.assert(k<3,"Cannot invoke TransformationResult callbacks after the result is disposed."),t&&(isEmitNotificationEnabled(t)?N(e,t,n):n(e,t))},isEmitNotificationEnabled,dispose:function dispose(){if(k<3){for(const e of i)disposeEmitNodes(getSourceFileOfNode(getParseTreeNode(e)));d=void 0,g=void 0,p=void 0,y=void 0,E=void 0,N=void 0,_=void 0,k=3}},diagnostics:F};function transformRoot(e){return!e||isSourceFile(e)&&e.isDeclarationFile?e:transformation(e)}function isSubstitutionEnabled(e){return!(!(1&l[e.kind])||8&getEmitFlags(e))}function isEmitNotificationEnabled(e){return!!(2&l[e.kind])||!!(4&getEmitFlags(e))}}var ba={factory:Wr,getCompilerOptions:()=>({}),getEmitResolver:notImplemented,getEmitHost:notImplemented,getEmitHelperFactory:notImplemented,startLexicalEnvironment:noop,resumeLexicalEnvironment:noop,suspendLexicalEnvironment:noop,endLexicalEnvironment:returnUndefined,setLexicalEnvironmentFlags:noop,getLexicalEnvironmentFlags:()=>0,hoistVariableDeclaration:noop,hoistFunctionDeclaration:noop,addInitializationStatement:noop,startBlockScope:noop,endBlockScope:returnUndefined,addBlockScopedVariable:noop,requestEmitHelper:noop,readEmitHelpers:notImplemented,enableSubstitution:noop,enableEmitNotification:noop,isSubstitutionEnabled:notImplemented,isEmitNotificationEnabled:notImplemented,onSubstituteNode:noEmitSubstitution,onEmitNode:noEmitNotification,addDiagnostic:noop},Ca=function createBracketsMap(){const e=[];return e[1024]=["{","}"],e[2048]=["(",")"],e[4096]=["<",">"],e[8192]=["[","]"],e}();function isBuildInfoFile(e){return fileExtensionIs(e,".tsbuildinfo")}function forEachEmittedFile(e,t,n,r=!1,i,o){const a=isArray(n)?n:getSourceFilesToEmit(e,n,r),s=e.getCompilerOptions();if(!i)if(s.outFile){if(a.length){const n=Wr.createBundle(a),i=t(getOutputPathsFor(n,e,r),n);if(i)return i}}else for(const n of a){const i=t(getOutputPathsFor(n,e,r),n);if(i)return i}if(o){const e=getTsBuildInfoEmitOutputFilePath(s);if(e)return t({buildInfoPath:e},void 0)}}function getTsBuildInfoEmitOutputFilePath(e){const t=e.configFilePath;if(!function canEmitTsBuildInfo(e){return tr(e)||!!e.tscBuild}(e))return;if(e.tsBuildInfoFile)return e.tsBuildInfoFile;const n=e.outFile;let r;if(n)r=removeFileExtension(n);else{if(!t)return;const n=removeFileExtension(t);r=e.outDir?e.rootDir?resolvePath(e.outDir,getRelativePathFromDirectory(e.rootDir,n,!0)):combinePaths(e.outDir,getBaseFileName(n)):n}return r+".tsbuildinfo"}function getOutputPathsForBundle(e,t){const n=e.outFile,r=e.emitDeclarationOnly?void 0:n,i=r&&getSourceMapFilePath(r,e),o=t||Zn(e)?removeFileExtension(n)+".d.ts":void 0;return{jsFilePath:r,sourceMapFilePath:i,declarationFilePath:o,declarationMapPath:o&&nr(e)?o+".map":void 0}}function getOutputPathsFor(e,t,n){const r=t.getCompilerOptions();if(309===e.kind)return getOutputPathsForBundle(r,n);{const i=getOwnEmitOutputFilePath(e.fileName,t,getOutputExtension(e.fileName,r)),o=isJsonSourceFile(e),a=o&&0===comparePaths(e.fileName,i,t.getCurrentDirectory(),!t.useCaseSensitiveFileNames()),s=r.emitDeclarationOnly||a?void 0:i,c=!s||isJsonSourceFile(e)?void 0:getSourceMapFilePath(s,r),l=n||Zn(r)&&!o?getDeclarationEmitOutputFilePath(e.fileName,t):void 0;return{jsFilePath:s,sourceMapFilePath:c,declarationFilePath:l,declarationMapPath:l&&nr(r)?l+".map":void 0}}}function getSourceMapFilePath(e,t){return t.sourceMap&&!t.inlineSourceMap?e+".map":void 0}function getOutputExtension(e,t){return fileExtensionIs(e,".json")?".json":1===t.jsx&&fileExtensionIsOneOf(e,[".jsx",".tsx"])?".jsx":fileExtensionIsOneOf(e,[".mts",".mjs"])?".mjs":fileExtensionIsOneOf(e,[".cts",".cjs"])?".cjs":".js"}function getOutputPathWithoutChangingExt(e,t,n,r){return n?resolvePath(n,getRelativePathFromDirectory(r(),e,t)):e}function getOutputDeclarationFileName(e,t,n,r=()=>getCommonSourceDirectoryOfConfig(t,n)){return getOutputDeclarationFileNameWorker(e,t.options,n,r)}function getOutputDeclarationFileNameWorker(e,t,n,r){return changeExtension(getOutputPathWithoutChangingExt(e,n,t.declarationDir||t.outDir,r),getDeclarationEmitExtensionForPath(e))}function getOutputJSFileName(e,t,n,r=()=>getCommonSourceDirectoryOfConfig(t,n)){if(t.options.emitDeclarationOnly)return;const i=fileExtensionIs(e,".json"),o=getOutputJSFileNameWorker(e,t.options,n,r);return i&&0===comparePaths(e,o,h.checkDefined(t.options.configFilePath),n)?void 0:o}function getOutputJSFileNameWorker(e,t,n,r){return changeExtension(getOutputPathWithoutChangingExt(e,n,t.outDir,r),getOutputExtension(e,t))}function createAddOutput(){let e;return{addOutput:function addOutput(t){t&&(e||(e=[])).push(t)},getOutputs:function getOutputs(){return e||l}}}function getSingleOutputFileNames(e,t){const{jsFilePath:n,sourceMapFilePath:r,declarationFilePath:i,declarationMapPath:o}=getOutputPathsForBundle(e.options,!1);t(n),t(r),t(i),t(o)}function getOwnOutputFileNames(e,t,n,r,i){if(isDeclarationFileName(t))return;const o=getOutputJSFileName(t,e,n,i);if(r(o),!fileExtensionIs(t,".json")&&(o&&e.options.sourceMap&&r(`${o}.map`),Zn(e.options))){const o=getOutputDeclarationFileName(t,e,n,i);r(o),e.options.declarationMap&&r(`${o}.map`)}}function getCommonSourceDirectory(e,t,n,r,i){let o;return e.rootDir?(o=getNormalizedAbsolutePath(e.rootDir,n),null==i||i(e.rootDir)):e.composite&&e.configFilePath?(o=getDirectoryPath(normalizeSlashes(e.configFilePath)),null==i||i(o)):o=computeCommonSourceDirectoryOfFilenames(t(),n,r),o&&o[o.length-1]!==Ft&&(o+=Ft),o}function getCommonSourceDirectoryOfConfig({options:e,fileNames:t},n){return getCommonSourceDirectory(e,()=>filter(t,t=>!(e.noEmitForJsFiles&&fileExtensionIsOneOf(t,yr)||isDeclarationFileName(t))),getDirectoryPath(normalizeSlashes(h.checkDefined(e.configFilePath))),createGetCanonicalFileName(!n))}function getAllProjectOutputs(e,t){const{addOutput:n,getOutputs:r}=createAddOutput();if(e.options.outFile)getSingleOutputFileNames(e,n);else{const r=memoize(()=>getCommonSourceDirectoryOfConfig(e,t));for(const i of e.fileNames)getOwnOutputFileNames(e,i,t,n,r)}return n(getTsBuildInfoEmitOutputFilePath(e.options)),r()}function getOutputFileNames(e,t,n){t=normalizePath(t),h.assert(contains(e.fileNames,t),"Expected fileName to be present in command line");const{addOutput:r,getOutputs:i}=createAddOutput();return e.options.outFile?getSingleOutputFileNames(e,r):getOwnOutputFileNames(e,t,n,r),i()}function getFirstProjectOutput(e,t){if(e.options.outFile){const{jsFilePath:t,declarationFilePath:n}=getOutputPathsForBundle(e.options,!1);return h.checkDefined(t||n,`project ${e.options.configFilePath} expected to have at least one output`)}const n=memoize(()=>getCommonSourceDirectoryOfConfig(e,t));for(const r of e.fileNames){if(isDeclarationFileName(r))continue;const i=getOutputJSFileName(r,e,t,n);if(i)return i;if(!fileExtensionIs(r,".json")&&Zn(e.options))return getOutputDeclarationFileName(r,e,t,n)}const r=getTsBuildInfoEmitOutputFilePath(e.options);return r||h.fail(`project ${e.options.configFilePath} expected to have at least one output`)}function emitResolverSkipsTypeChecking(e,t){return!!t&&!!e}function emitFiles(e,t,n,{scriptTransformers:r,declarationTransformers:i},o,a,c,l){var d=t.getCompilerOptions(),p=d.sourceMap||d.inlineSourceMap||nr(d)?[]:void 0,u=d.listEmittedFiles?[]:void 0,m=createDiagnosticCollection(),_=getNewLineCharacter(d),f=createTextWriter(_),{enter:g,exit:y}=createTimer("printTime","beforePrint","afterPrint"),T=!1;return g(),forEachEmittedFile(t,function emitSourceFileOrBundle({jsFilePath:a,sourceMapFilePath:l,declarationFilePath:p,declarationMapPath:_,buildInfoPath:f},g){var y,S,x,v,b,C;null==(y=J)||y.push(J.Phase.Emit,"emitJsFileOrBundle",{jsFilePath:a}),function emitJsFileOrBundle(n,i,a){if(!n||o||!i)return;if(t.isEmitBlocked(i)||d.noEmit)return void(T=!0);(isSourceFile(n)?[n]:filter(n.sourceFiles,isSourceFileNotJson)).forEach(t=>{!d.noCheck&&canIncludeBindAndCheckDiagnostics(t,d)||function markLinkedReferences(t){if(isSourceFileJS(t))return;forEachChildRecursively(t,t=>!isImportEqualsDeclaration(t)||32&getSyntacticModifierFlags(t)?isImportDeclaration(t)?"skip":void e.markLinkedReferences(t):"skip")}(t)});const s=transformNodes(e,t,Wr,d,[n],r,!1),c=createPrinter({removeComments:d.removeComments,newLine:d.newLine,noEmitHelpers:d.noEmitHelpers,module:Vn(d),moduleResolution:qn(d),target:zn(d),sourceMap:d.sourceMap,inlineSourceMap:d.inlineSourceMap,inlineSources:d.inlineSources,extendedDiagnostics:d.extendedDiagnostics},{hasGlobalName:e.hasGlobalName,onEmitNode:s.emitNodeWithNotification,isEmitNotificationEnabled:s.isEmitNotificationEnabled,substituteNode:s.substituteNode});h.assert(1===s.transformed.length,"Should only see one output from the transform"),printSourceFileOrBundle(i,a,s,c,d),s.dispose(),u&&(u.push(i),a&&u.push(a))}(g,a,l),null==(S=J)||S.pop(),null==(x=J)||x.push(J.Phase.Emit,"emitDeclarationFileOrBundle",{declarationFilePath:p}),function emitDeclarationFileOrBundle(n,r,a){if(!n||0===o)return;if(!r)return void((o||d.emitDeclarationOnly)&&(T=!0));const s=isSourceFile(n)?[n]:n.sourceFiles,l=c?s:filter(s,isSourceFileNotJson),p=d.outFile?[Wr.createBundle(l)]:l;l.forEach(e=>{(o&&!Zn(d)||d.noCheck||emitResolverSkipsTypeChecking(o,c)||!canIncludeBindAndCheckDiagnostics(e,d))&&collectLinkedAliases(e)});const _=transformNodes(e,t,Wr,d,p,i,!1);if(length(_.diagnostics))for(const e of _.diagnostics)m.add(e);const f=!!_.diagnostics&&!!_.diagnostics.length||!!t.isEmitBlocked(r)||!!d.noEmit;if(T=T||f,!f||c){h.assert(1===_.transformed.length,"Should only see one output from the decl transform");const t={removeComments:d.removeComments,newLine:d.newLine,noEmitHelpers:!0,module:d.module,moduleResolution:d.moduleResolution,target:d.target,sourceMap:2!==o&&d.declarationMap,inlineSourceMap:d.inlineSourceMap,extendedDiagnostics:d.extendedDiagnostics,onlyPrintJsDocStyle:!0,omitBraceSourceMapPositions:!0},n=printSourceFileOrBundle(r,a,_,createPrinter(t,{hasGlobalName:e.hasGlobalName,onEmitNode:_.emitNodeWithNotification,isEmitNotificationEnabled:_.isEmitNotificationEnabled,substituteNode:_.substituteNode}),{sourceMap:t.sourceMap,sourceRoot:d.sourceRoot,mapRoot:d.mapRoot,extendedDiagnostics:d.extendedDiagnostics});u&&(n&&u.push(r),a&&u.push(a))}_.dispose()}(g,p,_),null==(v=J)||v.pop(),null==(b=J)||b.push(J.Phase.Emit,"emitBuildInfo",{buildInfoPath:f}),function emitBuildInfo(e){if(!e||n)return;if(t.isEmitBlocked(e))return void(T=!0);const r=t.getBuildInfo()||{version:s};writeFile(t,m,e,getBuildInfoText(r),!1,void 0,{buildInfo:r}),null==u||u.push(e)}(f),null==(C=J)||C.pop()},getSourceFilesToEmit(t,n,c),c,a,!n&&!l),y(),{emitSkipped:T,diagnostics:m.getDiagnostics(),emittedFiles:u,sourceMaps:p};function collectLinkedAliases(t){isExportAssignment(t)?80===t.expression.kind&&e.collectLinkedAliases(t.expression,!0):isExportSpecifier(t)?e.collectLinkedAliases(t.propertyName||t.name,!0):forEachChild(t,collectLinkedAliases)}function printSourceFileOrBundle(e,n,r,i,o){const a=r.transformed[0],s=309===a.kind?a:void 0,c=308===a.kind?a:void 0,l=s?s.sourceFiles:[c];let u,g;if(function shouldEmitSourceMaps(e,t){return(e.sourceMap||e.inlineSourceMap)&&(308!==t.kind||!fileExtensionIs(t.fileName,".json"))}(o,a)&&(u=createSourceMapGenerator(t,getBaseFileName(normalizeSlashes(e)),function getSourceRoot(e){const t=normalizeSlashes(e.sourceRoot||"");return t?ensureTrailingDirectorySeparator(t):t}(o),function getSourceMapDirectory(e,n,r){if(e.sourceRoot)return t.getCommonSourceDirectory();if(e.mapRoot){let n=normalizeSlashes(e.mapRoot);return r&&(n=getDirectoryPath(getSourceFilePathInNewDir(r.fileName,t,n))),0===getRootLength(n)&&(n=combinePaths(t.getCommonSourceDirectory(),n)),n}return getDirectoryPath(normalizePath(n))}(o,e,c),o)),s?i.writeBundle(s,f,u):i.writeFile(c,f,u),u){p&&p.push({inputSourceFileNames:u.getSources(),sourceMap:u.toJSON()});const r=function getSourceMappingURL(e,n,r,i,o){if(e.inlineSourceMap){const e=n.toString();return`data:application/json;base64,${base64encode(kt,e)}`}const a=getBaseFileName(normalizeSlashes(h.checkDefined(i)));if(e.mapRoot){let n=normalizeSlashes(e.mapRoot);return o&&(n=getDirectoryPath(getSourceFilePathInNewDir(o.fileName,t,n))),0===getRootLength(n)?(n=combinePaths(t.getCommonSourceDirectory(),n),encodeURI(getRelativePathToDirectoryOrUrl(getDirectoryPath(normalizePath(r)),combinePaths(n,a),t.getCurrentDirectory(),t.getCanonicalFileName,!0))):encodeURI(combinePaths(n,a))}return encodeURI(a)}(o,u,e,n,c);if(r&&(f.isAtStartOfLine()||f.rawWrite(_),g=f.getTextPos(),f.writeComment(`//# sourceMappingURL=${r}`)),n){const e=u.toString();writeFile(t,m,n,e,!1,l)}}else f.writeLine();const y=f.getText(),T={sourceMapUrlPos:g,diagnostics:r.diagnostics};return writeFile(t,m,e,y,!!d.emitBOM,l,T),f.clear(),!T.skippedDtsWrite}}function getBuildInfoText(e){return JSON.stringify(e)}function getBuildInfo(e,t){return readJsonOrUndefined(e,t)}var Ea={hasGlobalName:notImplemented,getReferencedExportContainer:notImplemented,getReferencedImportDeclaration:notImplemented,getReferencedDeclarationWithCollidingName:notImplemented,isDeclarationWithCollidingName:notImplemented,isValueAliasDeclaration:notImplemented,isReferencedAliasDeclaration:notImplemented,isTopLevelValueImportEqualsWithEntityName:notImplemented,hasNodeCheckFlag:notImplemented,isDeclarationVisible:notImplemented,isLateBound:e=>!1,collectLinkedAliases:notImplemented,markLinkedReferences:notImplemented,isImplementationOfOverload:notImplemented,requiresAddingImplicitUndefined:notImplemented,isExpandoFunctionDeclaration:notImplemented,getPropertiesOfContainerFunction:notImplemented,createTypeOfDeclaration:notImplemented,createReturnTypeOfSignatureDeclaration:notImplemented,createTypeOfExpression:notImplemented,createLiteralConstValue:notImplemented,isSymbolAccessible:notImplemented,isEntityNameVisible:notImplemented,getConstantValue:notImplemented,getEnumMemberValue:notImplemented,getReferencedValueDeclaration:notImplemented,getReferencedValueDeclarations:notImplemented,getTypeReferenceSerializationKind:notImplemented,isOptionalParameter:notImplemented,isArgumentsLocalBinding:notImplemented,getExternalModuleFileFromDeclaration:notImplemented,isLiteralConstDeclaration:notImplemented,getJsxFactoryEntity:notImplemented,getJsxFragmentFactoryEntity:notImplemented,isBindingCapturedByNode:notImplemented,getDeclarationStatementsForSourceFile:notImplemented,isImportRequiredByAugmentation:notImplemented,isDefinitelyReferenceToGlobalSymbolObject:notImplemented,createLateBoundIndexSignatures:notImplemented,symbolToDeclarations:notImplemented},Na=memoize(()=>createPrinter({})),ka=memoize(()=>createPrinter({removeComments:!0})),Fa=memoize(()=>createPrinter({removeComments:!0,neverAsciiEscape:!0})),Pa=memoize(()=>createPrinter({removeComments:!0,omitTrailingSemicolon:!0}));function createPrinter(e={},t={}){var n,r,i,o,a,s,c,l,d,p,u,m,_,f,g,y,T,S,x,v,b,C,E,N,k,F,{hasGlobalName:P,onEmitNode:D=noEmitNotification,isEmitNotificationEnabled:I,substituteNode:A=noEmitSubstitution,onBeforeEmitNode:O,onAfterEmitNode:w,onBeforeEmitNodeArray:L,onAfterEmitNodeArray:M,onBeforeEmitToken:R,onAfterEmitToken:B}=t,j=!!e.extendedDiagnostics,J=!!e.omitBraceSourceMapPositions,W=getNewLineCharacter(e),U=Vn(e),z=new Map,V=e.preserveSourceNewlines,q=function writeBase(e){T.write(e)},H=!0,K=-1,G=-1,$=-1,Q=-1,X=-1,Y=!1,Z=!!e.removeComments,{enter:ee,exit:te}=createTimerIf(j,"commentTime","beforeComment","afterComment"),re=Wr.parenthesizer,ie={select:e=>0===e?re.parenthesizeLeadingTypeArgument:void 0},oe=function createEmitBinaryExpression(){return createBinaryExpressionTrampoline(function onEnter(e,t){if(t){t.stackIndex++,t.preserveSourceNewlinesStack[t.stackIndex]=V,t.containerPosStack[t.stackIndex]=$,t.containerEndStack[t.stackIndex]=Q,t.declarationListContainerEndStack[t.stackIndex]=X;const n=t.shouldEmitCommentsStack[t.stackIndex]=shouldEmitComments(e),r=t.shouldEmitSourceMapsStack[t.stackIndex]=shouldEmitSourceMaps(e);null==O||O(e),n&&emitCommentsBeforeNode(e),r&&emitSourceMapsBeforeNode(e),beforeEmitNode(e)}else t={stackIndex:0,preserveSourceNewlinesStack:[void 0],containerPosStack:[-1],containerEndStack:[-1],declarationListContainerEndStack:[-1],shouldEmitCommentsStack:[!1],shouldEmitSourceMapsStack:[!1]};return t},function onLeft(e,t,n){return maybeEmitExpression(e,n,"left")},function onOperator(e,t,n){const r=28!==e.kind,i=getLinesBetweenNodes(n,n.left,e),o=getLinesBetweenNodes(n,e,n.right);writeLinesAndIndent(i,r),emitLeadingCommentsOfPosition(e.pos),writeTokenNode(e,103===e.kind?writeKeyword:writeOperator),emitTrailingCommentsOfPosition(e.end,!0),writeLinesAndIndent(o,!0)},function onRight(e,t,n){return maybeEmitExpression(e,n,"right")},function onExit(e,t){const n=getLinesBetweenNodes(e,e.left,e.operatorToken),r=getLinesBetweenNodes(e,e.operatorToken,e.right);if(decreaseIndentIf(n,r),t.stackIndex>0){const n=t.preserveSourceNewlinesStack[t.stackIndex],r=t.containerPosStack[t.stackIndex],i=t.containerEndStack[t.stackIndex],o=t.declarationListContainerEndStack[t.stackIndex],a=t.shouldEmitCommentsStack[t.stackIndex],s=t.shouldEmitSourceMapsStack[t.stackIndex];afterEmitNode(n),s&&emitSourceMapsAfterNode(e),a&&emitCommentsAfterNode(e,r,i,o),null==w||w(e),t.stackIndex--}},void 0);function maybeEmitExpression(e,t,n){const r="left"===n?re.getParenthesizeLeftSideOfBinaryForOperator(t.operatorToken.kind):re.getParenthesizeRightSideOfBinaryForOperator(t.operatorToken.kind);let i=getPipelinePhase(0,1,e);if(i===pipelineEmitWithSubstitution&&(h.assertIsDefined(k),i=getNextPipelinePhase(1,1,e=r(cast(k,isExpression))),k=void 0),(i===pipelineEmitWithComments||i===pipelineEmitWithSourceMaps||i===pipelineEmitWithHint)&&isBinaryExpression(e))return e;F=r,i(1,e)}}();return reset2(),{printNode:function printNode(e,t,n){switch(e){case 0:h.assert(isSourceFile(t),"Expected a SourceFile node.");break;case 2:h.assert(isIdentifier(t),"Expected an Identifier node.");break;case 1:h.assert(isExpression(t),"Expected an Expression node.")}switch(t.kind){case 308:return printFile(t);case 309:return printBundle(t)}return writeNode(e,t,n,beginPrint()),endPrint()},printList:function printList(e,t,n){return writeList(e,t,n,beginPrint()),endPrint()},printFile,printBundle,writeNode,writeList,writeFile:writeFile2,writeBundle};function printBundle(e){return writeBundle(e,beginPrint(),void 0),endPrint()}function printFile(e){return writeFile2(e,beginPrint(),void 0),endPrint()}function writeNode(e,t,n,r){const i=T;setWriter(r,void 0),print(e,t,n),reset2(),T=i}function writeList(e,t,n,r){const i=T;setWriter(r,void 0),n&&setSourceFile(n),emitList(void 0,t,e),reset2(),T=i}function writeBundle(e,t,n){x=!1;const r=T;setWriter(t,n),emitShebangIfNeeded(e),emitPrologueDirectivesIfNeeded(e),emitHelpers(e),function emitSyntheticTripleSlashReferencesIfNeeded(e){emitTripleSlashDirectives(!!e.hasNoDefaultLib,e.syntheticFileReferences||[],e.syntheticTypeReferences||[],e.syntheticLibReferences||[])}(e);for(const t of e.sourceFiles)print(0,t,t);reset2(),T=r}function writeFile2(e,t,n){x=!0;const r=T;setWriter(t,n),emitShebangIfNeeded(e),emitPrologueDirectivesIfNeeded(e),print(0,e,e),reset2(),T=r}function beginPrint(){return S||(S=createTextWriter(W))}function endPrint(){const e=S.getText();return S.clear(),e}function print(e,t,n){n&&setSourceFile(n),pipelineEmit(e,t,void 0)}function setSourceFile(e){n=e,E=void 0,N=void 0,e&&setSourceMapSource(e)}function setWriter(t,n){t&&e.omitTrailingSemicolon&&(t=getTrailingSemicolonDeferringWriter(t)),v=n,H=!(T=t)||!v}function reset2(){r=[],i=[],o=[],a=new Set,s=[],c=new Map,l=[],d=0,p=[],u=0,m=[],_=void 0,f=[],g=void 0,n=void 0,E=void 0,N=void 0,setWriter(void 0,void 0)}function getCurrentLineMap(){return E||(E=getLineStarts(h.checkDefined(n)))}function emit(e,t){void 0!==e&&pipelineEmit(4,e,t)}function emitIdentifierName(e){void 0!==e&&pipelineEmit(2,e,void 0)}function emitExpression(e,t){void 0!==e&&pipelineEmit(1,e,t)}function emitJsxAttributeValue(e){pipelineEmit(isStringLiteral(e)?6:4,e)}function beforeEmitNode(e){V&&4&getInternalEmitFlags(e)&&(V=!1)}function afterEmitNode(e){V=e}function pipelineEmit(e,t,n){F=n;getPipelinePhase(0,e,t)(e,t),F=void 0}function shouldEmitComments(e){return!Z&&!isSourceFile(e)}function shouldEmitSourceMaps(e){return!H&&!isSourceFile(e)&&!isInJsonFile(e)}function getPipelinePhase(e,t,n){switch(e){case 0:if(D!==noEmitNotification&&(!I||I(n)))return pipelineEmitWithNotification;case 1:if(A!==noEmitSubstitution&&(k=A(t,n)||n)!==n)return F&&(k=F(k)),pipelineEmitWithSubstitution;case 2:if(shouldEmitComments(n))return pipelineEmitWithComments;case 3:if(shouldEmitSourceMaps(n))return pipelineEmitWithSourceMaps;case 4:return pipelineEmitWithHint;default:return h.assertNever(e)}}function getNextPipelinePhase(e,t,n){return getPipelinePhase(e+1,t,n)}function pipelineEmitWithNotification(e,t){const n=getNextPipelinePhase(0,e,t);D(e,t,n)}function pipelineEmitWithHint(e,t){if(null==O||O(t),V){const n=V;beforeEmitNode(t),pipelineEmitWithHintWorker(e,t),afterEmitNode(n)}else pipelineEmitWithHintWorker(e,t);null==w||w(t),F=void 0}function pipelineEmitWithHintWorker(e,t,r=!0){if(r){const n=getSnippetElement(t);if(n)return function emitSnippetNode(e,t,n){switch(n.kind){case 1:!function emitPlaceholder(e,t,n){nonEscapingWrite(`\${${n.order}:`),pipelineEmitWithHintWorker(e,t,!1),nonEscapingWrite("}")}(e,t,n);break;case 0:!function emitTabStop(e,t,n){h.assert(243===t.kind,`A tab stop cannot be attached to a node of kind ${h.formatSyntaxKind(t.kind)}.`),h.assert(5!==e,"A tab stop cannot be attached to an embedded statement."),nonEscapingWrite(`$${n.order}`)}(e,t,n)}}(e,t,n)}if(0===e)return emitSourceFile(cast(t,isSourceFile));if(2===e)return emitIdentifier(cast(t,isIdentifier));if(6===e)return emitLiteral(cast(t,isStringLiteral),!0);if(3===e)return function emitMappedTypeParameter(e){emit(e.name),writeSpace(),writeKeyword("in"),writeSpace(),emit(e.constraint)}(cast(t,isTypeParameterDeclaration));if(7===e)return function emitImportTypeNodeAttributes(e){writePunctuation("{"),writeSpace(),writeKeyword(132===e.token?"assert":"with"),writePunctuation(":"),writeSpace();const t=e.elements;emitList(e,t,526226),writeSpace(),writePunctuation("}")}(cast(t,isImportAttributes));if(5===e)return h.assertNode(t,isEmptyStatement),emitEmptyStatement(!0);if(4===e){switch(t.kind){case 16:case 17:case 18:return emitLiteral(t,!1);case 80:return emitIdentifier(t);case 81:return emitPrivateIdentifier(t);case 167:return function emitQualifiedName(e){(function emitEntityName(e){80===e.kind?emitExpression(e):emit(e)})(e.left),writePunctuation("."),emit(e.right)}(t);case 168:return function emitComputedPropertyName(e){writePunctuation("["),emitExpression(e.expression,re.parenthesizeExpressionOfComputedPropertyName),writePunctuation("]")}(t);case 169:return function emitTypeParameter(e){emitModifierList(e,e.modifiers),emit(e.name),e.constraint&&(writeSpace(),writeKeyword("extends"),writeSpace(),emit(e.constraint));e.default&&(writeSpace(),writeOperator("="),writeSpace(),emit(e.default))}(t);case 170:return function emitParameter(e){emitDecoratorsAndModifiers(e,e.modifiers,!0),emit(e.dotDotDotToken),emitNodeWithWriter(e.name,writeParameter),emit(e.questionToken),e.parent&&318===e.parent.kind&&!e.name?emit(e.type):emitTypeAnnotation(e.type);emitInitializer(e.initializer,e.type?e.type.end:e.questionToken?e.questionToken.end:e.name?e.name.end:e.modifiers?e.modifiers.end:e.pos,e,re.parenthesizeExpressionForDisallowedComma)}(t);case 171:return function emitDecorator(e){writePunctuation("@"),emitExpression(e.expression,re.parenthesizeLeftSideOfAccess)}(t);case 172:return function emitPropertySignature(e){emitModifierList(e,e.modifiers),emitNodeWithWriter(e.name,writeProperty),emit(e.questionToken),emitTypeAnnotation(e.type),writeTrailingSemicolon()}(t);case 173:return function emitPropertyDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!0),emit(e.name),emit(e.questionToken),emit(e.exclamationToken),emitTypeAnnotation(e.type),emitInitializer(e.initializer,e.type?e.type.end:e.questionToken?e.questionToken.end:e.name.end,e),writeTrailingSemicolon()}(t);case 174:return function emitMethodSignature(e){emitModifierList(e,e.modifiers),emit(e.name),emit(e.questionToken),emitSignatureAndBody(e,emitSignatureHead,emitEmptyFunctionBody)}(t);case 175:return function emitMethodDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!0),emit(e.asteriskToken),emit(e.name),emit(e.questionToken),emitSignatureAndBody(e,emitSignatureHead,emitFunctionBody)}(t);case 176:return function emitClassStaticBlockDeclaration(e){writeKeyword("static"),pushNameGenerationScope(e),emitBlockFunctionBody(e.body),popNameGenerationScope(e)}(t);case 177:return function emitConstructor(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),writeKeyword("constructor"),emitSignatureAndBody(e,emitSignatureHead,emitFunctionBody)}(t);case 178:case 179:return function emitAccessorDeclaration(e){const t=emitDecoratorsAndModifiers(e,e.modifiers,!0),n=178===e.kind?139:153;emitTokenWithComment(n,t,writeKeyword,e),writeSpace(),emit(e.name),emitSignatureAndBody(e,emitSignatureHead,emitFunctionBody)}(t);case 180:return function emitCallSignature(e){emitSignatureAndBody(e,emitSignatureHead,emitEmptyFunctionBody)}(t);case 181:return function emitConstructSignature(e){writeKeyword("new"),writeSpace(),emitSignatureAndBody(e,emitSignatureHead,emitEmptyFunctionBody)}(t);case 182:return function emitIndexSignature(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),function emitParametersForIndexSignature(e,t){emitList(e,t,8848)}(e,e.parameters),emitTypeAnnotation(e.type),writeTrailingSemicolon()}(t);case 183:return function emitTypePredicate(e){e.assertsModifier&&(emit(e.assertsModifier),writeSpace());emit(e.parameterName),e.type&&(writeSpace(),writeKeyword("is"),writeSpace(),emit(e.type))}(t);case 184:return function emitTypeReference(e){emit(e.typeName),emitTypeArguments(e,e.typeArguments)}(t);case 185:return function emitFunctionType(e){emitSignatureAndBody(e,emitFunctionTypeHead,emitFunctionTypeBody)}(t);case 186:return function emitConstructorType(e){emitModifierList(e,e.modifiers),writeKeyword("new"),writeSpace(),emitSignatureAndBody(e,emitFunctionTypeHead,emitFunctionTypeBody)}(t);case 187:return function emitTypeQuery(e){writeKeyword("typeof"),writeSpace(),emit(e.exprName),emitTypeArguments(e,e.typeArguments)}(t);case 188:return function emitTypeLiteral(e){pushNameGenerationScope(e),forEach(e.members,generateMemberNames),writePunctuation("{");const t=1&getEmitFlags(e)?768:32897;emitList(e,e.members,524288|t),writePunctuation("}"),popNameGenerationScope(e)}(t);case 189:return function emitArrayType(e){emit(e.elementType,re.parenthesizeNonArrayTypeOfPostfixType),writePunctuation("["),writePunctuation("]")}(t);case 190:return function emitTupleType(e){emitTokenWithComment(23,e.pos,writePunctuation,e);const t=1&getEmitFlags(e)?528:657;emitList(e,e.elements,524288|t,re.parenthesizeElementTypeOfTupleType),emitTokenWithComment(24,e.elements.end,writePunctuation,e)}(t);case 191:return function emitOptionalType(e){emit(e.type,re.parenthesizeTypeOfOptionalType),writePunctuation("?")}(t);case 193:return function emitUnionType(e){emitList(e,e.types,516,re.parenthesizeConstituentTypeOfUnionType)}(t);case 194:return function emitIntersectionType(e){emitList(e,e.types,520,re.parenthesizeConstituentTypeOfIntersectionType)}(t);case 195:return function emitConditionalType(e){emit(e.checkType,re.parenthesizeCheckTypeOfConditionalType),writeSpace(),writeKeyword("extends"),writeSpace(),emit(e.extendsType,re.parenthesizeExtendsTypeOfConditionalType),writeSpace(),writePunctuation("?"),writeSpace(),emit(e.trueType),writeSpace(),writePunctuation(":"),writeSpace(),emit(e.falseType)}(t);case 196:return function emitInferType(e){writeKeyword("infer"),writeSpace(),emit(e.typeParameter)}(t);case 197:return function emitParenthesizedType(e){writePunctuation("("),emit(e.type),writePunctuation(")")}(t);case 234:return emitExpressionWithTypeArguments(t);case 198:return function emitThisType(){writeKeyword("this")}();case 199:return function emitTypeOperator(e){writeTokenText(e.operator,writeKeyword),writeSpace();const t=148===e.operator?re.parenthesizeOperandOfReadonlyTypeOperator:re.parenthesizeOperandOfTypeOperator;emit(e.type,t)}(t);case 200:return function emitIndexedAccessType(e){emit(e.objectType,re.parenthesizeNonArrayTypeOfPostfixType),writePunctuation("["),emit(e.indexType),writePunctuation("]")}(t);case 201:return function emitMappedType(e){const t=getEmitFlags(e);writePunctuation("{"),1&t?writeSpace():(writeLine(),increaseIndent());e.readonlyToken&&(emit(e.readonlyToken),148!==e.readonlyToken.kind&&writeKeyword("readonly"),writeSpace());writePunctuation("["),pipelineEmit(3,e.typeParameter),e.nameType&&(writeSpace(),writeKeyword("as"),writeSpace(),emit(e.nameType));writePunctuation("]"),e.questionToken&&(emit(e.questionToken),58!==e.questionToken.kind&&writePunctuation("?"));writePunctuation(":"),writeSpace(),emit(e.type),writeTrailingSemicolon(),1&t?writeSpace():(writeLine(),decreaseIndent());emitList(e,e.members,2),writePunctuation("}")}(t);case 202:return function emitLiteralType(e){emitExpression(e.literal)}(t);case 203:return function emitNamedTupleMember(e){emit(e.dotDotDotToken),emit(e.name),emit(e.questionToken),emitTokenWithComment(59,e.name.end,writePunctuation,e),writeSpace(),emit(e.type)}(t);case 204:return function emitTemplateType(e){emit(e.head),emitList(e,e.templateSpans,262144)}(t);case 205:return function emitTemplateTypeSpan(e){emit(e.type),emit(e.literal)}(t);case 206:return function emitImportTypeNode(e){e.isTypeOf&&(writeKeyword("typeof"),writeSpace());writeKeyword("import"),writePunctuation("("),emit(e.argument),e.attributes&&(writePunctuation(","),writeSpace(),pipelineEmit(7,e.attributes));writePunctuation(")"),e.qualifier&&(writePunctuation("."),emit(e.qualifier));emitTypeArguments(e,e.typeArguments)}(t);case 207:return function emitObjectBindingPattern(e){writePunctuation("{"),emitList(e,e.elements,525136),writePunctuation("}")}(t);case 208:return function emitArrayBindingPattern(e){writePunctuation("["),emitList(e,e.elements,524880),writePunctuation("]")}(t);case 209:return function emitBindingElement(e){emit(e.dotDotDotToken),e.propertyName&&(emit(e.propertyName),writePunctuation(":"),writeSpace());emit(e.name),emitInitializer(e.initializer,e.name.end,e,re.parenthesizeExpressionForDisallowedComma)}(t);case 240:return function emitTemplateSpan(e){emitExpression(e.expression),emit(e.literal)}(t);case 241:return function emitSemicolonClassElement(){writeTrailingSemicolon()}();case 242:return function emitBlock(e){emitBlockStatements(e,!e.multiLine&&isEmptyBlock(e))}(t);case 244:return function emitVariableStatement(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),emit(e.declarationList),writeTrailingSemicolon()}(t);case 243:return emitEmptyStatement(!1);case 245:return function emitExpressionStatement(e){emitExpression(e.expression,re.parenthesizeExpressionOfExpressionStatement),n&&isJsonSourceFile(n)&&!nodeIsSynthesized(e.expression)||writeTrailingSemicolon()}(t);case 246:return function emitIfStatement(e){const t=emitTokenWithComment(101,e.pos,writeKeyword,e);writeSpace(),emitTokenWithComment(21,t,writePunctuation,e),emitExpression(e.expression),emitTokenWithComment(22,e.expression.end,writePunctuation,e),emitEmbeddedStatement(e,e.thenStatement),e.elseStatement&&(writeLineOrSpace(e,e.thenStatement,e.elseStatement),emitTokenWithComment(93,e.thenStatement.end,writeKeyword,e),246===e.elseStatement.kind?(writeSpace(),emit(e.elseStatement)):emitEmbeddedStatement(e,e.elseStatement))}(t);case 247:return function emitDoStatement(e){emitTokenWithComment(92,e.pos,writeKeyword,e),emitEmbeddedStatement(e,e.statement),isBlock(e.statement)&&!V?writeSpace():writeLineOrSpace(e,e.statement,e.expression);emitWhileClause(e,e.statement.end),writeTrailingSemicolon()}(t);case 248:return function emitWhileStatement(e){emitWhileClause(e,e.pos),emitEmbeddedStatement(e,e.statement)}(t);case 249:return function emitForStatement(e){const t=emitTokenWithComment(99,e.pos,writeKeyword,e);writeSpace();let n=emitTokenWithComment(21,t,writePunctuation,e);emitForBinding(e.initializer),n=emitTokenWithComment(27,e.initializer?e.initializer.end:n,writePunctuation,e),emitExpressionWithLeadingSpace(e.condition),n=emitTokenWithComment(27,e.condition?e.condition.end:n,writePunctuation,e),emitExpressionWithLeadingSpace(e.incrementor),emitTokenWithComment(22,e.incrementor?e.incrementor.end:n,writePunctuation,e),emitEmbeddedStatement(e,e.statement)}(t);case 250:return function emitForInStatement(e){const t=emitTokenWithComment(99,e.pos,writeKeyword,e);writeSpace(),emitTokenWithComment(21,t,writePunctuation,e),emitForBinding(e.initializer),writeSpace(),emitTokenWithComment(103,e.initializer.end,writeKeyword,e),writeSpace(),emitExpression(e.expression),emitTokenWithComment(22,e.expression.end,writePunctuation,e),emitEmbeddedStatement(e,e.statement)}(t);case 251:return function emitForOfStatement(e){const t=emitTokenWithComment(99,e.pos,writeKeyword,e);writeSpace(),function emitWithTrailingSpace(e){e&&(emit(e),writeSpace())}(e.awaitModifier),emitTokenWithComment(21,t,writePunctuation,e),emitForBinding(e.initializer),writeSpace(),emitTokenWithComment(165,e.initializer.end,writeKeyword,e),writeSpace(),emitExpression(e.expression),emitTokenWithComment(22,e.expression.end,writePunctuation,e),emitEmbeddedStatement(e,e.statement)}(t);case 252:return function emitContinueStatement(e){emitTokenWithComment(88,e.pos,writeKeyword,e),emitWithLeadingSpace(e.label),writeTrailingSemicolon()}(t);case 253:return function emitBreakStatement(e){emitTokenWithComment(83,e.pos,writeKeyword,e),emitWithLeadingSpace(e.label),writeTrailingSemicolon()}(t);case 254:return function emitReturnStatement(e){emitTokenWithComment(107,e.pos,writeKeyword,e),emitExpressionWithLeadingSpace(e.expression&&parenthesizeExpressionForNoAsi(e.expression),parenthesizeExpressionForNoAsi),writeTrailingSemicolon()}(t);case 255:return function emitWithStatement(e){const t=emitTokenWithComment(118,e.pos,writeKeyword,e);writeSpace(),emitTokenWithComment(21,t,writePunctuation,e),emitExpression(e.expression),emitTokenWithComment(22,e.expression.end,writePunctuation,e),emitEmbeddedStatement(e,e.statement)}(t);case 256:return function emitSwitchStatement(e){const t=emitTokenWithComment(109,e.pos,writeKeyword,e);writeSpace(),emitTokenWithComment(21,t,writePunctuation,e),emitExpression(e.expression),emitTokenWithComment(22,e.expression.end,writePunctuation,e),writeSpace(),emit(e.caseBlock)}(t);case 257:return function emitLabeledStatement(e){emit(e.label),emitTokenWithComment(59,e.label.end,writePunctuation,e),writeSpace(),emit(e.statement)}(t);case 258:return function emitThrowStatement(e){emitTokenWithComment(111,e.pos,writeKeyword,e),emitExpressionWithLeadingSpace(parenthesizeExpressionForNoAsi(e.expression),parenthesizeExpressionForNoAsi),writeTrailingSemicolon()}(t);case 259:return function emitTryStatement(e){emitTokenWithComment(113,e.pos,writeKeyword,e),writeSpace(),emit(e.tryBlock),e.catchClause&&(writeLineOrSpace(e,e.tryBlock,e.catchClause),emit(e.catchClause));e.finallyBlock&&(writeLineOrSpace(e,e.catchClause||e.tryBlock,e.finallyBlock),emitTokenWithComment(98,(e.catchClause||e.tryBlock).end,writeKeyword,e),writeSpace(),emit(e.finallyBlock))}(t);case 260:return function emitDebuggerStatement(e){writeToken(89,e.pos,writeKeyword),writeTrailingSemicolon()}(t);case 261:return function emitVariableDeclaration(e){var t,n,r;emit(e.name),emit(e.exclamationToken),emitTypeAnnotation(e.type),emitInitializer(e.initializer,(null==(t=e.type)?void 0:t.end)??(null==(r=null==(n=e.name.emitNode)?void 0:n.typeNode)?void 0:r.end)??e.name.end,e,re.parenthesizeExpressionForDisallowedComma)}(t);case 262:return function emitVariableDeclarationList(e){if(isVarAwaitUsing(e))writeKeyword("await"),writeSpace(),writeKeyword("using");else{writeKeyword(isLet(e)?"let":isVarConst(e)?"const":isVarUsing(e)?"using":"var")}writeSpace(),emitList(e,e.declarations,528)}(t);case 263:return function emitFunctionDeclaration(e){emitFunctionDeclarationOrExpression(e)}(t);case 264:return function emitClassDeclaration(e){emitClassDeclarationOrExpression(e)}(t);case 265:return function emitInterfaceDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),writeKeyword("interface"),writeSpace(),emit(e.name),emitTypeParameters(e,e.typeParameters),emitList(e,e.heritageClauses,512),writeSpace(),writePunctuation("{"),pushNameGenerationScope(e),forEach(e.members,generateMemberNames),emitList(e,e.members,129),popNameGenerationScope(e),writePunctuation("}")}(t);case 266:return function emitTypeAliasDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),writeKeyword("type"),writeSpace(),emit(e.name),emitTypeParameters(e,e.typeParameters),writeSpace(),writePunctuation("="),writeSpace(),emit(e.type),writeTrailingSemicolon()}(t);case 267:return function emitEnumDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),writeKeyword("enum"),writeSpace(),emit(e.name),writeSpace(),writePunctuation("{"),emitList(e,e.members,145),writePunctuation("}")}(t);case 268:return function emitModuleDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),2048&~e.flags&&(writeKeyword(32&e.flags?"namespace":"module"),writeSpace());emit(e.name);let t=e.body;if(!t)return writeTrailingSemicolon();for(;t&&isModuleDeclaration(t);)writePunctuation("."),emit(t.name),t=t.body;writeSpace(),emit(t)}(t);case 269:return function emitModuleBlock(e){pushNameGenerationScope(e),forEach(e.statements,generateNames),emitBlockStatements(e,isEmptyBlock(e)),popNameGenerationScope(e)}(t);case 270:return function emitCaseBlock(e){emitTokenWithComment(19,e.pos,writePunctuation,e),emitList(e,e.clauses,129),emitTokenWithComment(20,e.clauses.end,writePunctuation,e,!0)}(t);case 271:return function emitNamespaceExportDeclaration(e){let t=emitTokenWithComment(95,e.pos,writeKeyword,e);writeSpace(),t=emitTokenWithComment(130,t,writeKeyword,e),writeSpace(),t=emitTokenWithComment(145,t,writeKeyword,e),writeSpace(),emit(e.name),writeTrailingSemicolon()}(t);case 272:return function emitImportEqualsDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),emitTokenWithComment(102,e.modifiers?e.modifiers.end:e.pos,writeKeyword,e),writeSpace(),e.isTypeOnly&&(emitTokenWithComment(156,e.pos,writeKeyword,e),writeSpace());emit(e.name),writeSpace(),emitTokenWithComment(64,e.name.end,writePunctuation,e),writeSpace(),function emitModuleReference(e){80===e.kind?emitExpression(e):emit(e)}(e.moduleReference),writeTrailingSemicolon()}(t);case 273:return function emitImportDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),emitTokenWithComment(102,e.modifiers?e.modifiers.end:e.pos,writeKeyword,e),writeSpace(),e.importClause&&(emit(e.importClause),writeSpace(),emitTokenWithComment(161,e.importClause.end,writeKeyword,e),writeSpace());emitExpression(e.moduleSpecifier),e.attributes&&emitWithLeadingSpace(e.attributes);writeTrailingSemicolon()}(t);case 274:return function emitImportClause(e){void 0!==e.phaseModifier&&(emitTokenWithComment(e.phaseModifier,e.pos,writeKeyword,e),writeSpace());emit(e.name),e.name&&e.namedBindings&&(emitTokenWithComment(28,e.name.end,writePunctuation,e),writeSpace());emit(e.namedBindings)}(t);case 275:return function emitNamespaceImport(e){const t=emitTokenWithComment(42,e.pos,writePunctuation,e);writeSpace(),emitTokenWithComment(130,t,writeKeyword,e),writeSpace(),emit(e.name)}(t);case 281:return function emitNamespaceExport(e){const t=emitTokenWithComment(42,e.pos,writePunctuation,e);writeSpace(),emitTokenWithComment(130,t,writeKeyword,e),writeSpace(),emit(e.name)}(t);case 276:return function emitNamedImports(e){emitNamedImportsOrExports(e)}(t);case 277:return function emitImportSpecifier(e){emitImportOrExportSpecifier(e)}(t);case 278:return function emitExportAssignment(e){const t=emitTokenWithComment(95,e.pos,writeKeyword,e);writeSpace(),e.isExportEquals?emitTokenWithComment(64,t,writeOperator,e):emitTokenWithComment(90,t,writeKeyword,e);writeSpace(),emitExpression(e.expression,e.isExportEquals?re.getParenthesizeRightSideOfBinaryForOperator(64):re.parenthesizeExpressionOfExportDefault),writeTrailingSemicolon()}(t);case 279:return function emitExportDeclaration(e){emitDecoratorsAndModifiers(e,e.modifiers,!1);let t=emitTokenWithComment(95,e.pos,writeKeyword,e);writeSpace(),e.isTypeOnly&&(t=emitTokenWithComment(156,t,writeKeyword,e),writeSpace());e.exportClause?emit(e.exportClause):t=emitTokenWithComment(42,t,writePunctuation,e);if(e.moduleSpecifier){writeSpace();emitTokenWithComment(161,e.exportClause?e.exportClause.end:t,writeKeyword,e),writeSpace(),emitExpression(e.moduleSpecifier)}e.attributes&&emitWithLeadingSpace(e.attributes);writeTrailingSemicolon()}(t);case 280:return function emitNamedExports(e){emitNamedImportsOrExports(e)}(t);case 282:return function emitExportSpecifier(e){emitImportOrExportSpecifier(e)}(t);case 301:return function emitImportAttributes(e){emitTokenWithComment(e.token,e.pos,writeKeyword,e),writeSpace();const t=e.elements;emitList(e,t,526226)}(t);case 302:return function emitImportAttribute(e){emit(e.name),writePunctuation(":"),writeSpace();const t=e.value;if(!(1024&getEmitFlags(t))){emitTrailingCommentsOfPosition(getCommentRange(t).pos)}emit(t)}(t);case 283:case 320:case 331:case 332:case 334:case 335:case 336:case 337:case 354:case 355:return;case 284:return function emitExternalModuleReference(e){writeKeyword("require"),writePunctuation("("),emitExpression(e.expression),writePunctuation(")")}(t);case 12:return function emitJsxText(e){T.writeLiteral(e.text)}(t);case 287:case 290:return function emitJsxOpeningElementOrFragment(e){if(writePunctuation("<"),isJsxOpeningElement(e)){const t=writeLineSeparatorsAndIndentBefore(e.tagName,e);emitJsxTagName(e.tagName),emitTypeArguments(e,e.typeArguments),e.attributes.properties&&e.attributes.properties.length>0&&writeSpace(),emit(e.attributes),writeLineSeparatorsAfter(e.attributes,e),decreaseIndentIf(t)}writePunctuation(">")}(t);case 288:case 291:return function emitJsxClosingElementOrFragment(e){writePunctuation("</"),isJsxClosingElement(e)&&emitJsxTagName(e.tagName);writePunctuation(">")}(t);case 292:return function emitJsxAttribute(e){emit(e.name),function emitNodeWithPrefix(e,t,n,r){n&&(t(e),r(n))}("=",writePunctuation,e.initializer,emitJsxAttributeValue)}(t);case 293:return function emitJsxAttributes(e){emitList(e,e.properties,262656)}(t);case 294:return function emitJsxSpreadAttribute(e){writePunctuation("{..."),emitExpression(e.expression),writePunctuation("}")}(t);case 295:return function emitJsxExpression(e){var t;if(e.expression||!Z&&!nodeIsSynthesized(e)&&function hasCommentsAtPosition(e){return function hasTrailingCommentsAtPosition(e){let t=!1;return forEachTrailingCommentRange((null==n?void 0:n.text)||"",e+1,()=>t=!0),t}(e)||function hasLeadingCommentsAtPosition(e){let t=!1;return forEachLeadingCommentRange((null==n?void 0:n.text)||"",e+1,()=>t=!0),t}(e)}(e.pos)){const r=n&&!nodeIsSynthesized(e)&&getLineAndCharacterOfPosition(n,e.pos).line!==getLineAndCharacterOfPosition(n,e.end).line;r&&T.increaseIndent();const i=emitTokenWithComment(19,e.pos,writePunctuation,e);emit(e.dotDotDotToken),emitExpression(e.expression),emitTokenWithComment(20,(null==(t=e.expression)?void 0:t.end)||i,writePunctuation,e),r&&T.decreaseIndent()}}(t);case 296:return function emitJsxNamespacedName(e){emitIdentifierName(e.namespace),writePunctuation(":"),emitIdentifierName(e.name)}(t);case 297:return function emitCaseClause(e){emitTokenWithComment(84,e.pos,writeKeyword,e),writeSpace(),emitExpression(e.expression,re.parenthesizeExpressionForDisallowedComma),emitCaseOrDefaultClauseRest(e,e.statements,e.expression.end)}(t);case 298:return function emitDefaultClause(e){const t=emitTokenWithComment(90,e.pos,writeKeyword,e);emitCaseOrDefaultClauseRest(e,e.statements,t)}(t);case 299:return function emitHeritageClause(e){writeSpace(),writeTokenText(e.token,writeKeyword),writeSpace(),emitList(e,e.types,528)}(t);case 300:return function emitCatchClause(e){const t=emitTokenWithComment(85,e.pos,writeKeyword,e);writeSpace(),e.variableDeclaration&&(emitTokenWithComment(21,t,writePunctuation,e),emit(e.variableDeclaration),emitTokenWithComment(22,e.variableDeclaration.end,writePunctuation,e),writeSpace());emit(e.block)}(t);case 304:return function emitPropertyAssignment(e){emit(e.name),writePunctuation(":"),writeSpace();const t=e.initializer;if(!(1024&getEmitFlags(t))){emitTrailingCommentsOfPosition(getCommentRange(t).pos)}emitExpression(t,re.parenthesizeExpressionForDisallowedComma)}(t);case 305:return function emitShorthandPropertyAssignment(e){emit(e.name),e.objectAssignmentInitializer&&(writeSpace(),writePunctuation("="),writeSpace(),emitExpression(e.objectAssignmentInitializer,re.parenthesizeExpressionForDisallowedComma))}(t);case 306:return function emitSpreadAssignment(e){e.expression&&(emitTokenWithComment(26,e.pos,writePunctuation,e),emitExpression(e.expression,re.parenthesizeExpressionForDisallowedComma))}(t);case 307:return function emitEnumMember(e){emit(e.name),emitInitializer(e.initializer,e.name.end,e,re.parenthesizeExpressionForDisallowedComma)}(t);case 308:return emitSourceFile(t);case 309:return h.fail("Bundles should be printed using printBundle");case 310:return emitJSDocTypeExpression(t);case 311:return function emitJSDocNameReference(e){writeSpace(),writePunctuation("{"),emit(e.name),writePunctuation("}")}(t);case 313:return writePunctuation("*");case 314:return writePunctuation("?");case 315:return function emitJSDocNullableType(e){writePunctuation("?"),emit(e.type)}(t);case 316:return function emitJSDocNonNullableType(e){writePunctuation("!"),emit(e.type)}(t);case 317:return function emitJSDocOptionalType(e){emit(e.type),writePunctuation("=")}(t);case 318:return function emitJSDocFunctionType(e){writeKeyword("function"),emitParameters(e,e.parameters),writePunctuation(":"),emit(e.type)}(t);case 192:case 319:return function emitRestOrJSDocVariadicType(e){writePunctuation("..."),emit(e.type)}(t);case 321:return function emitJSDoc(e){if(q("/**"),e.comment){const t=getTextOfJSDocComment(e.comment);if(t){const e=t.split(/\r\n?|\n/);for(const t of e)writeLine(),writeSpace(),writePunctuation("*"),writeSpace(),q(t)}}e.tags&&(1!==e.tags.length||345!==e.tags[0].kind||e.comment?emitList(e,e.tags,33):(writeSpace(),emit(e.tags[0])));writeSpace(),q("*/")}(t);case 323:return emitJSDocTypeLiteral(t);case 324:return emitJSDocSignature(t);case 328:case 333:case 338:return function emitJSDocSimpleTag(e){emitJSDocTagName(e.tagName),emitJSDocComment(e.comment)}(t);case 329:case 330:return function emitJSDocHeritageTag(e){emitJSDocTagName(e.tagName),writeSpace(),writePunctuation("{"),emit(e.class),writePunctuation("}"),emitJSDocComment(e.comment)}(t);case 339:return function emitJSDocCallbackTag(e){emitJSDocTagName(e.tagName),e.name&&(writeSpace(),emit(e.name));emitJSDocComment(e.comment),emitJSDocSignature(e.typeExpression)}(t);case 340:return function emitJSDocOverloadTag(e){emitJSDocComment(e.comment),emitJSDocSignature(e.typeExpression)}(t);case 342:case 349:return function emitJSDocPropertyLikeTag(e){emitJSDocTagName(e.tagName),emitJSDocTypeExpression(e.typeExpression),writeSpace(),e.isBracketed&&writePunctuation("[");emit(e.name),e.isBracketed&&writePunctuation("]");emitJSDocComment(e.comment)}(t);case 341:case 343:case 344:case 345:case 350:case 351:return function emitJSDocSimpleTypedTag(e){emitJSDocTagName(e.tagName),emitJSDocTypeExpression(e.typeExpression),emitJSDocComment(e.comment)}(t);case 346:return function emitJSDocTemplateTag(e){emitJSDocTagName(e.tagName),emitJSDocTypeExpression(e.constraint),writeSpace(),emitList(e,e.typeParameters,528),emitJSDocComment(e.comment)}(t);case 347:return function emitJSDocTypedefTag(e){emitJSDocTagName(e.tagName),e.typeExpression&&(310===e.typeExpression.kind?emitJSDocTypeExpression(e.typeExpression):(writeSpace(),writePunctuation("{"),q("Object"),e.typeExpression.isArrayType&&(writePunctuation("["),writePunctuation("]")),writePunctuation("}")));e.fullName&&(writeSpace(),emit(e.fullName));emitJSDocComment(e.comment),e.typeExpression&&323===e.typeExpression.kind&&emitJSDocTypeLiteral(e.typeExpression)}(t);case 348:return function emitJSDocSeeTag(e){emitJSDocTagName(e.tagName),emit(e.name),emitJSDocComment(e.comment)}(t);case 352:return function emitJSDocImportTag(e){emitJSDocTagName(e.tagName),writeSpace(),e.importClause&&(emit(e.importClause),writeSpace(),emitTokenWithComment(161,e.importClause.end,writeKeyword,e),writeSpace());emitExpression(e.moduleSpecifier),e.attributes&&emitWithLeadingSpace(e.attributes);emitJSDocComment(e.comment)}(t)}if(isExpression(t)&&(e=1,A!==noEmitSubstitution)){const n=A(e,t)||t;n!==t&&(t=n,F&&(t=F(t)))}}if(1===e)switch(t.kind){case 9:case 10:return function emitNumericOrBigIntLiteral(e){emitLiteral(e,!1)}(t);case 11:case 14:case 15:return emitLiteral(t,!1);case 80:return emitIdentifier(t);case 81:return emitPrivateIdentifier(t);case 210:return function emitArrayLiteralExpression(e){const t=e.elements,n=e.multiLine?65536:0;emitExpressionList(e,t,8914|n,re.parenthesizeExpressionForDisallowedComma)}(t);case 211:return function emitObjectLiteralExpression(e){pushNameGenerationScope(e),forEach(e.properties,generateMemberNames);const t=131072&getEmitFlags(e);t&&increaseIndent();const r=e.multiLine?65536:0,i=n&&n.languageVersion>=1&&!isJsonSourceFile(n)?64:0;emitList(e,e.properties,526226|i|r),t&&decreaseIndent();popNameGenerationScope(e)}(t);case 212:return function emitPropertyAccessExpression(e){emitExpression(e.expression,re.parenthesizeLeftSideOfAccess);const t=e.questionDotToken||setTextRangePosEnd(Wr.createToken(25),e.expression.end,e.name.pos),n=getLinesBetweenNodes(e,e.expression,t),r=getLinesBetweenNodes(e,t,e.name);writeLinesAndIndent(n,!1);const i=29!==t.kind&&function mayNeedDotDotForPropertyAccess(e){if(isNumericLiteral(e=skipPartiallyEmittedExpressions(e))){const t=getLiteralTextOfNode(e,void 0,!0,!1);return!(448&e.numericLiteralFlags||t.includes(tokenToString(25))||t.includes(String.fromCharCode(69))||t.includes(String.fromCharCode(101)))}if(isAccessExpression(e)){const t=getConstantValue(e);return"number"==typeof t&&isFinite(t)&&t>=0&&Math.floor(t)===t}}(e.expression)&&!T.hasTrailingComment()&&!T.hasTrailingWhitespace();i&&writePunctuation(".");e.questionDotToken?emit(t):emitTokenWithComment(t.kind,e.expression.end,writePunctuation,e);writeLinesAndIndent(r,!1),emit(e.name),decreaseIndentIf(n,r)}(t);case 213:return function emitElementAccessExpression(e){emitExpression(e.expression,re.parenthesizeLeftSideOfAccess),emit(e.questionDotToken),emitTokenWithComment(23,e.expression.end,writePunctuation,e),emitExpression(e.argumentExpression),emitTokenWithComment(24,e.argumentExpression.end,writePunctuation,e)}(t);case 214:return function emitCallExpression(e){const t=16&getInternalEmitFlags(e);t&&(writePunctuation("("),writeLiteral("0"),writePunctuation(","),writeSpace());emitExpression(e.expression,re.parenthesizeLeftSideOfAccess),t&&writePunctuation(")");emit(e.questionDotToken),emitTypeArguments(e,e.typeArguments),emitExpressionList(e,e.arguments,2576,re.parenthesizeExpressionForDisallowedComma)}(t);case 215:return function emitNewExpression(e){emitTokenWithComment(105,e.pos,writeKeyword,e),writeSpace(),emitExpression(e.expression,re.parenthesizeExpressionOfNew),emitTypeArguments(e,e.typeArguments),emitExpressionList(e,e.arguments,18960,re.parenthesizeExpressionForDisallowedComma)}(t);case 216:return function emitTaggedTemplateExpression(e){const t=16&getInternalEmitFlags(e);t&&(writePunctuation("("),writeLiteral("0"),writePunctuation(","),writeSpace());emitExpression(e.tag,re.parenthesizeLeftSideOfAccess),t&&writePunctuation(")");emitTypeArguments(e,e.typeArguments),writeSpace(),emitExpression(e.template)}(t);case 217:return function emitTypeAssertionExpression(e){writePunctuation("<"),emit(e.type),writePunctuation(">"),emitExpression(e.expression,re.parenthesizeOperandOfPrefixUnary)}(t);case 218:return function emitParenthesizedExpression(e){const t=emitTokenWithComment(21,e.pos,writePunctuation,e),n=writeLineSeparatorsAndIndentBefore(e.expression,e);emitExpression(e.expression,void 0),writeLineSeparatorsAfter(e.expression,e),decreaseIndentIf(n),emitTokenWithComment(22,e.expression?e.expression.end:t,writePunctuation,e)}(t);case 219:return function emitFunctionExpression(e){generateNameIfNeeded(e.name),emitFunctionDeclarationOrExpression(e)}(t);case 220:return function emitArrowFunction(e){emitModifierList(e,e.modifiers),emitSignatureAndBody(e,emitArrowFunctionHead,emitArrowFunctionBody)}(t);case 221:return function emitDeleteExpression(e){emitTokenWithComment(91,e.pos,writeKeyword,e),writeSpace(),emitExpression(e.expression,re.parenthesizeOperandOfPrefixUnary)}(t);case 222:return function emitTypeOfExpression(e){emitTokenWithComment(114,e.pos,writeKeyword,e),writeSpace(),emitExpression(e.expression,re.parenthesizeOperandOfPrefixUnary)}(t);case 223:return function emitVoidExpression(e){emitTokenWithComment(116,e.pos,writeKeyword,e),writeSpace(),emitExpression(e.expression,re.parenthesizeOperandOfPrefixUnary)}(t);case 224:return function emitAwaitExpression(e){emitTokenWithComment(135,e.pos,writeKeyword,e),writeSpace(),emitExpression(e.expression,re.parenthesizeOperandOfPrefixUnary)}(t);case 225:return function emitPrefixUnaryExpression(e){writeTokenText(e.operator,writeOperator),function shouldEmitWhitespaceBeforeOperand(e){const t=e.operand;return 225===t.kind&&(40===e.operator&&(40===t.operator||46===t.operator)||41===e.operator&&(41===t.operator||47===t.operator))}(e)&&writeSpace();emitExpression(e.operand,re.parenthesizeOperandOfPrefixUnary)}(t);case 226:return function emitPostfixUnaryExpression(e){emitExpression(e.operand,re.parenthesizeOperandOfPostfixUnary),writeTokenText(e.operator,writeOperator)}(t);case 227:return oe(t);case 228:return function emitConditionalExpression(e){const t=getLinesBetweenNodes(e,e.condition,e.questionToken),n=getLinesBetweenNodes(e,e.questionToken,e.whenTrue),r=getLinesBetweenNodes(e,e.whenTrue,e.colonToken),i=getLinesBetweenNodes(e,e.colonToken,e.whenFalse);emitExpression(e.condition,re.parenthesizeConditionOfConditionalExpression),writeLinesAndIndent(t,!0),emit(e.questionToken),writeLinesAndIndent(n,!0),emitExpression(e.whenTrue,re.parenthesizeBranchOfConditionalExpression),decreaseIndentIf(t,n),writeLinesAndIndent(r,!0),emit(e.colonToken),writeLinesAndIndent(i,!0),emitExpression(e.whenFalse,re.parenthesizeBranchOfConditionalExpression),decreaseIndentIf(r,i)}(t);case 229:return function emitTemplateExpression(e){emit(e.head),emitList(e,e.templateSpans,262144)}(t);case 230:return function emitYieldExpression(e){emitTokenWithComment(127,e.pos,writeKeyword,e),emit(e.asteriskToken),emitExpressionWithLeadingSpace(e.expression&&parenthesizeExpressionForNoAsi(e.expression),parenthesizeExpressionForNoAsiAndDisallowedComma)}(t);case 231:return function emitSpreadElement(e){emitTokenWithComment(26,e.pos,writePunctuation,e),emitExpression(e.expression,re.parenthesizeExpressionForDisallowedComma)}(t);case 232:return function emitClassExpression(e){generateNameIfNeeded(e.name),emitClassDeclarationOrExpression(e)}(t);case 233:case 283:case 354:return;case 235:return function emitAsExpression(e){emitExpression(e.expression,void 0),e.type&&(writeSpace(),writeKeyword("as"),writeSpace(),emit(e.type))}(t);case 236:return function emitNonNullExpression(e){emitExpression(e.expression,re.parenthesizeLeftSideOfAccess),writeOperator("!")}(t);case 234:return emitExpressionWithTypeArguments(t);case 239:return function emitSatisfiesExpression(e){emitExpression(e.expression,void 0),e.type&&(writeSpace(),writeKeyword("satisfies"),writeSpace(),emit(e.type))}(t);case 237:return function emitMetaProperty(e){writeToken(e.keywordToken,e.pos,writePunctuation),writePunctuation("."),emit(e.name)}(t);case 238:return h.fail("SyntheticExpression should never be printed.");case 285:return function emitJsxElement(e){emit(e.openingElement),emitList(e,e.children,262144),emit(e.closingElement)}(t);case 286:return function emitJsxSelfClosingElement(e){writePunctuation("<"),emitJsxTagName(e.tagName),emitTypeArguments(e,e.typeArguments),writeSpace(),emit(e.attributes),writePunctuation("/>")}(t);case 289:return function emitJsxFragment(e){emit(e.openingFragment),emitList(e,e.children,262144),emit(e.closingFragment)}(t);case 353:return h.fail("SyntaxList should not be printed");case 356:return function emitPartiallyEmittedExpression(e){const t=getEmitFlags(e);1024&t||e.pos===e.expression.pos||emitTrailingCommentsOfPosition(e.expression.pos);emitExpression(e.expression),2048&t||e.end===e.expression.end||emitLeadingCommentsOfPosition(e.expression.end)}(t);case 357:return function emitCommaList(e){emitExpressionList(e,e.elements,528,void 0)}(t);case 358:return h.fail("SyntheticReferenceExpression should not be printed")}return isKeyword(t.kind)?writeTokenNode(t,writeKeyword):isTokenKind(t.kind)?writeTokenNode(t,writePunctuation):void h.fail(`Unhandled SyntaxKind: ${h.formatSyntaxKind(t.kind)}.`)}function pipelineEmitWithSubstitution(e,t){const n=getNextPipelinePhase(1,e,t);h.assertIsDefined(k),t=k,k=void 0,n(e,t)}function emitHelpers(t){let r=!1;const i=309===t.kind?t:void 0;if(i&&0===U)return;const o=i?i.sourceFiles.length:1;for(let a=0;a<o;a++){const o=i?i.sourceFiles[a]:t,s=isSourceFile(o)?o:n,c=e.noEmitHelpers||!!s&&hasRecordedExternalHelpers(s),l=isSourceFile(o)&&!x,d=getSortedEmitHelpers(o);if(d)for(const e of d){if(e.scoped){if(i)continue}else{if(c)continue;if(l){if(z.get(e.name))continue;z.set(e.name,!0)}}"string"==typeof e.text?writeLines(e.text):writeLines(e.text(makeFileLevelOptimisticUniqueName)),r=!0}}return r}function getSortedEmitHelpers(e){const t=getEmitHelpers(e);return t&&toSorted(t,compareEmitHelpers)}function emitLiteral(t,n){const r=getLiteralTextOfNode(t,void 0,e.neverAsciiEscape,n);!e.sourceMap&&!e.inlineSourceMap||11!==t.kind&&!isTemplateLiteralKind(t.kind)?function writeStringLiteral(e){T.writeStringLiteral(e)}(r):writeLiteral(r)}function emitIdentifier(e){(e.symbol?writeSymbol:q)(getTextOfNode2(e,!1),e.symbol),emitList(e,getIdentifierTypeArguments(e),53776)}function emitPrivateIdentifier(e){q(getTextOfNode2(e,!1))}function emitFunctionTypeHead(e){emitTypeParameters(e,e.typeParameters),emitParametersForArrow(e,e.parameters),writeSpace(),writePunctuation("=>")}function emitFunctionTypeBody(e){writeSpace(),emit(e.type)}function emitArrowFunctionHead(e){emitTypeParameters(e,e.typeParameters),emitParametersForArrow(e,e.parameters),emitTypeAnnotation(e.type),writeSpace(),emit(e.equalsGreaterThanToken)}function emitArrowFunctionBody(e){isBlock(e.body)?emitBlockFunctionBody(e.body):(writeSpace(),emitExpression(e.body,re.parenthesizeConciseBodyOfArrowFunction))}function emitExpressionWithTypeArguments(e){emitExpression(e.expression,re.parenthesizeLeftSideOfAccess),emitTypeArguments(e,e.typeArguments)}function emitBlockStatements(e,t){emitTokenWithComment(19,e.pos,writePunctuation,e);const n=t||1&getEmitFlags(e)?768:129;emitList(e,e.statements,n),emitTokenWithComment(20,e.statements.end,writePunctuation,e,!!(1&n))}function emitEmptyStatement(e){e?writePunctuation(";"):writeTrailingSemicolon()}function emitWhileClause(e,t){const n=emitTokenWithComment(117,t,writeKeyword,e);writeSpace(),emitTokenWithComment(21,n,writePunctuation,e),emitExpression(e.expression),emitTokenWithComment(22,e.expression.end,writePunctuation,e)}function emitForBinding(e){void 0!==e&&(262===e.kind?emit(e):emitExpression(e))}function emitTokenWithComment(e,t,r,i,o){const a=getParseTreeNode(i),s=a&&a.kind===i.kind,c=t;if(s&&n&&(t=skipTrivia(n.text,t)),s&&i.pos!==c){const e=o&&n&&!positionsAreOnSameLine(c,t,n);e&&increaseIndent(),emitLeadingCommentsOfPosition(c),e&&decreaseIndent()}if(t=J||19!==e&&20!==e?writeTokenText(e,r,t):writeToken(e,t,r,i),s&&i.end!==t){const e=295===i.kind;emitTrailingCommentsOfPosition(t,!e,e)}return t}function commentWillEmitNewLine(e){return 2===e.kind||!!e.hasTrailingNewLine}function willEmitLeadingNewLine(e){if(!n)return!1;const t=getLeadingCommentRanges(n.text,e.pos);if(t){const t=getParseTreeNode(e);if(t&&isParenthesizedExpression(t.parent))return!0}return!!some(t,commentWillEmitNewLine)||(!!some(getSyntheticLeadingComments(e),commentWillEmitNewLine)||!!isPartiallyEmittedExpression(e)&&(!(e.pos===e.expression.pos||!some(getTrailingCommentRanges(n.text,e.expression.pos),commentWillEmitNewLine))||willEmitLeadingNewLine(e.expression)))}function parenthesizeExpressionForNoAsi(e){if(!Z)switch(e.kind){case 356:if(willEmitLeadingNewLine(e)){const t=getParseTreeNode(e);if(t&&isParenthesizedExpression(t)){const n=Wr.createParenthesizedExpression(e.expression);return setOriginalNode(n,e),setTextRange(n,t),n}return Wr.createParenthesizedExpression(e)}return Wr.updatePartiallyEmittedExpression(e,parenthesizeExpressionForNoAsi(e.expression));case 212:return Wr.updatePropertyAccessExpression(e,parenthesizeExpressionForNoAsi(e.expression),e.name);case 213:return Wr.updateElementAccessExpression(e,parenthesizeExpressionForNoAsi(e.expression),e.argumentExpression);case 214:return Wr.updateCallExpression(e,parenthesizeExpressionForNoAsi(e.expression),e.typeArguments,e.arguments);case 216:return Wr.updateTaggedTemplateExpression(e,parenthesizeExpressionForNoAsi(e.tag),e.typeArguments,e.template);case 226:return Wr.updatePostfixUnaryExpression(e,parenthesizeExpressionForNoAsi(e.operand));case 227:return Wr.updateBinaryExpression(e,parenthesizeExpressionForNoAsi(e.left),e.operatorToken,e.right);case 228:return Wr.updateConditionalExpression(e,parenthesizeExpressionForNoAsi(e.condition),e.questionToken,e.whenTrue,e.colonToken,e.whenFalse);case 235:return Wr.updateAsExpression(e,parenthesizeExpressionForNoAsi(e.expression),e.type);case 239:return Wr.updateSatisfiesExpression(e,parenthesizeExpressionForNoAsi(e.expression),e.type);case 236:return Wr.updateNonNullExpression(e,parenthesizeExpressionForNoAsi(e.expression))}return e}function parenthesizeExpressionForNoAsiAndDisallowedComma(e){return parenthesizeExpressionForNoAsi(re.parenthesizeExpressionForDisallowedComma(e))}function emitFunctionDeclarationOrExpression(e){emitDecoratorsAndModifiers(e,e.modifiers,!1),writeKeyword("function"),emit(e.asteriskToken),writeSpace(),emitIdentifierName(e.name),emitSignatureAndBody(e,emitSignatureHead,emitFunctionBody)}function emitSignatureAndBody(e,t,n){const r=131072&getEmitFlags(e);r&&increaseIndent(),pushNameGenerationScope(e),forEach(e.parameters,generateNames),t(e),n(e),popNameGenerationScope(e),r&&decreaseIndent()}function emitFunctionBody(e){const t=e.body;t?emitBlockFunctionBody(t):writeTrailingSemicolon()}function emitEmptyFunctionBody(e){writeTrailingSemicolon()}function emitSignatureHead(e){emitTypeParameters(e,e.typeParameters),emitParameters(e,e.parameters),emitTypeAnnotation(e.type)}function emitBlockFunctionBody(e){generateNames(e),null==O||O(e),writeSpace(),writePunctuation("{"),increaseIndent();const t=function shouldEmitBlockFunctionBodyOnSingleLine(e){if(1&getEmitFlags(e))return!0;if(e.multiLine)return!1;if(!nodeIsSynthesized(e)&&n&&!rangeIsOnSingleLine(e,n))return!1;if(getLeadingLineTerminatorCount(e,firstOrUndefined(e.statements),2)||getClosingLineTerminatorCount(e,lastOrUndefined(e.statements),2,e.statements))return!1;let t;for(const n of e.statements){if(getSeparatingLineTerminatorCount(t,n,2)>0)return!1;t=n}return!0}(e)?emitBlockFunctionBodyOnSingleLine:emitBlockFunctionBodyWorker;emitBodyWithDetachedComments(e,e.statements,t),decreaseIndent(),writeToken(20,e.statements.end,writePunctuation,e),null==w||w(e)}function emitBlockFunctionBodyOnSingleLine(e){emitBlockFunctionBodyWorker(e,!0)}function emitBlockFunctionBodyWorker(e,t){const n=emitPrologueDirectives(e.statements),r=T.getTextPos();emitHelpers(e),0===n&&r===T.getTextPos()&&t?(decreaseIndent(),emitList(e,e.statements,768),increaseIndent()):emitList(e,e.statements,1,void 0,n)}function emitClassDeclarationOrExpression(e){emitDecoratorsAndModifiers(e,e.modifiers,!0),emitTokenWithComment(86,moveRangePastModifiers(e).pos,writeKeyword,e),e.name&&(writeSpace(),emitIdentifierName(e.name));const t=131072&getEmitFlags(e);t&&increaseIndent(),emitTypeParameters(e,e.typeParameters),emitList(e,e.heritageClauses,0),writeSpace(),writePunctuation("{"),pushNameGenerationScope(e),forEach(e.members,generateMemberNames),emitList(e,e.members,129),popNameGenerationScope(e),writePunctuation("}"),t&&decreaseIndent()}function emitNamedImportsOrExports(e){writePunctuation("{"),emitList(e,e.elements,525136),writePunctuation("}")}function emitImportOrExportSpecifier(e){e.isTypeOnly&&(writeKeyword("type"),writeSpace()),e.propertyName&&(emit(e.propertyName),writeSpace(),emitTokenWithComment(130,e.propertyName.end,writeKeyword,e),writeSpace()),emit(e.name)}function emitJsxTagName(e){80===e.kind?emitExpression(e):emit(e)}function emitCaseOrDefaultClauseRest(e,t,r){let i=163969;1===t.length&&(!n||nodeIsSynthesized(e)||nodeIsSynthesized(t[0])||rangeStartPositionsAreOnSameLine(e,t[0],n))?(writeToken(59,r,writePunctuation,e),writeSpace(),i&=-130):emitTokenWithComment(59,r,writePunctuation,e),emitList(e,t,i)}function emitJSDocTypeLiteral(e){emitList(e,Wr.createNodeArray(e.jsDocPropertyTags),33)}function emitJSDocSignature(e){e.typeParameters&&emitList(e,Wr.createNodeArray(e.typeParameters),33),e.parameters&&emitList(e,Wr.createNodeArray(e.parameters),33),e.type&&(writeLine(),writeSpace(),writePunctuation("*"),writeSpace(),emit(e.type))}function emitJSDocTagName(e){writePunctuation("@"),emit(e)}function emitJSDocComment(e){const t=getTextOfJSDocComment(e);t&&(writeSpace(),q(t))}function emitJSDocTypeExpression(e){e&&(writeSpace(),writePunctuation("{"),emit(e.type),writePunctuation("}"))}function emitSourceFile(e){writeLine();const t=e.statements;0===t.length||!isPrologueDirective(t[0])||nodeIsSynthesized(t[0])?emitBodyWithDetachedComments(e,t,emitSourceFileWorker):emitSourceFileWorker(e)}function emitTripleSlashDirectives(e,t,r,i){if(e&&(writeComment('/// <reference no-default-lib="true"/>'),writeLine()),n&&n.moduleName&&(writeComment(`/// <amd-module name="${n.moduleName}" />`),writeLine()),n&&n.amdDependencies)for(const e of n.amdDependencies)e.name?writeComment(`/// <amd-dependency name="${e.name}" path="${e.path}" />`):writeComment(`/// <amd-dependency path="${e.path}" />`),writeLine();function writeDirectives(e,t){for(const n of t){const t=n.resolutionMode?`resolution-mode="${99===n.resolutionMode?"import":"require"}" `:"",r=n.preserve?'preserve="true" ':"";writeComment(`/// <reference ${e}="${n.fileName}" ${t}${r}/>`),writeLine()}}writeDirectives("path",t),writeDirectives("types",r),writeDirectives("lib",i)}function emitSourceFileWorker(e){const t=e.statements;pushNameGenerationScope(e),forEach(e.statements,generateNames),emitHelpers(e);const n=findIndex(t,e=>!isPrologueDirective(e));!function emitTripleSlashDirectivesIfNeeded(e){e.isDeclarationFile&&emitTripleSlashDirectives(e.hasNoDefaultLib,e.referencedFiles,e.typeReferenceDirectives,e.libReferenceDirectives)}(e),emitList(e,t,1,void 0,-1===n?t.length:n),popNameGenerationScope(e)}function emitPrologueDirectives(e,t,n){let r=!!t;for(let i=0;i<e.length;i++){const o=e[i];if(!isPrologueDirective(o))return i;(!n||!n.has(o.expression.text))&&(r&&(r=!1,setSourceFile(t)),writeLine(),emit(o),n&&n.add(o.expression.text))}return e.length}function emitPrologueDirectivesIfNeeded(e){if(isSourceFile(e))emitPrologueDirectives(e.statements,e);else{const t=new Set;for(const n of e.sourceFiles)emitPrologueDirectives(n.statements,n,t);setSourceFile(void 0)}}function emitShebangIfNeeded(e){if(isSourceFile(e)){const t=getShebang(e.text);if(t)return writeComment(t),writeLine(),!0}else for(const t of e.sourceFiles)if(emitShebangIfNeeded(t))return!0}function emitNodeWithWriter(e,t){if(!e)return;const n=q;q=t,emit(e),q=n}function emitDecoratorsAndModifiers(e,t,n){if(null==t?void 0:t.length){if(every(t,isModifier))return emitModifierList(e,t);if(every(t,isDecorator))return n?function emitDecoratorList(e,t){emitList(e,t,2146305);const n=lastOrUndefined(t);return n&&!positionIsSynthesized(n.end)?n.end:e.pos}(e,t):e.pos;let r,i;null==L||L(t);let o,a=0,s=0;for(;a<t.length;){for(;s<t.length;){if(o=t[s],i=isDecorator(o)?"decorators":"modifiers",void 0===r)r=i;else if(i!==r)break;s++}const c={pos:-1,end:-1};0===a&&(c.pos=t.pos),s===t.length-1&&(c.end=t.end),("modifiers"===r||n)&&emitNodeListItems(emit,e,t,"modifiers"===r?2359808:2146305,void 0,a,s-a,!1,c),a=s,r=i,s++}if(null==M||M(t),o&&!positionIsSynthesized(o.end))return o.end}return e.pos}function emitModifierList(e,t){emitList(e,t,2359808);const n=lastOrUndefined(t);return n&&!positionIsSynthesized(n.end)?n.end:e.pos}function emitTypeAnnotation(e){e&&(writePunctuation(":"),writeSpace(),emit(e))}function emitInitializer(e,t,n,r){e&&(writeSpace(),emitTokenWithComment(64,t,writeOperator,n),writeSpace(),emitExpression(e,r))}function emitWithLeadingSpace(e){e&&(writeSpace(),emit(e))}function emitExpressionWithLeadingSpace(e,t){e&&(writeSpace(),emitExpression(e,t))}function emitEmbeddedStatement(e,t){isBlock(t)||1&getEmitFlags(e)||V&&!getLeadingLineTerminatorCount(e,t,0)?(writeSpace(),emit(t)):(writeLine(),increaseIndent(),isEmptyStatement(t)?pipelineEmit(5,t):emit(t),decreaseIndent())}function emitTypeArguments(e,t){emitList(e,t,53776,ie)}function emitTypeParameters(e,t){if(isFunctionLike(e)&&e.typeArguments)return emitTypeArguments(e,e.typeArguments);emitList(e,t,53776|(isArrowFunction(e)?64:0))}function emitParameters(e,t){emitList(e,t,2576)}function emitParametersForArrow(e,t){!function canEmitSimpleArrowHead(e,t){const n=singleOrUndefined(t);return n&&n.pos===e.pos&&isArrowFunction(e)&&!e.type&&!some(e.modifiers)&&!some(e.typeParameters)&&!some(n.modifiers)&&!n.dotDotDotToken&&!n.questionToken&&!n.type&&!n.initializer&&isIdentifier(n.name)}(e,t)?emitParameters(e,t):emitList(e,t,528)}function writeDelimiter(e){switch(60&e){case 0:break;case 16:writePunctuation(",");break;case 4:writeSpace(),writePunctuation("|");break;case 32:writeSpace(),writePunctuation("*"),writeSpace();break;case 8:writeSpace(),writePunctuation("&")}}function emitList(e,t,n,r,i,o){emitNodeList(emit,e,t,n|(e&&2&getEmitFlags(e)?65536:0),r,i,o)}function emitExpressionList(e,t,n,r,i,o){emitNodeList(emitExpression,e,t,n,r,i,o)}function emitNodeList(e,t,r,i,o,a=0,s=(r?r.length-a:0)){if(void 0===r&&16384&i)return;const c=void 0===r||a>=r.length||0===s;if(c&&32768&i)return null==L||L(r),void(null==M||M(r));15360&i&&(writePunctuation(function getOpeningBracket(e){return Ca[15360&e][0]}(i)),c&&r&&emitTrailingCommentsOfPosition(r.pos,!0)),null==L||L(r),c?!(1&i)||V&&(!t||n&&rangeIsOnSingleLine(t,n))?256&i&&!(524288&i)&&writeSpace():writeLine():emitNodeListItems(e,t,r,i,o,a,s,r.hasTrailingComma,r),null==M||M(r),15360&i&&(c&&r&&emitLeadingCommentsOfPosition(r.end),writePunctuation(function getClosingBracket(e){return Ca[15360&e][1]}(i)))}function emitNodeListItems(e,t,n,r,i,o,a,s,c){const l=!(262144&r);let d=l;const p=getLeadingLineTerminatorCount(t,n[o],r);p?(writeLine(p),d=!1):256&r&&writeSpace(),128&r&&increaseIndent();const u=function getEmitListItem(e,t){return 1===e.length?emitListItemNoParenthesizer:"object"==typeof t?emitListItemWithParenthesizerRuleSelector:emitListItemWithParenthesizerRule}(e,i);let m,_=!1;for(let s=0;s<a;s++){const a=n[o+s];if(32&r)writeLine(),writeDelimiter(r);else if(m){if(60&r&&m.end!==(t?t.end:-1)){2048&getEmitFlags(m)||emitLeadingCommentsOfPosition(m.end)}writeDelimiter(r);const e=getSeparatingLineTerminatorCount(m,a,r);if(e>0){if(131&r||(increaseIndent(),_=!0),d&&60&r&&!positionIsSynthesized(a.pos)){emitTrailingCommentsOfPosition(getCommentRange(a).pos,!!(512&r),!0)}writeLine(e),d=!1}else m&&512&r&&writeSpace()}if(d){emitTrailingCommentsOfPosition(getCommentRange(a).pos)}else d=l;y=a.pos,u(a,e,i,s),_&&(decreaseIndent(),_=!1),m=a}const f=m?getEmitFlags(m):0,g=Z||!!(2048&f),h=s&&64&r&&16&r;h&&(m&&!g?emitTokenWithComment(28,m.end,writePunctuation,m):writePunctuation(",")),m&&(t?t.end:-1)!==m.end&&60&r&&!g&&emitLeadingCommentsOfPosition(h&&(null==c?void 0:c.end)?c.end:m.end),128&r&&decreaseIndent();const T=getClosingLineTerminatorCount(t,n[o+a-1],r,c);T?writeLine(T):2097408&r&&writeSpace()}function writeLiteral(e){T.writeLiteral(e)}function writeSymbol(e,t){T.writeSymbol(e,t)}function writePunctuation(e){T.writePunctuation(e)}function writeTrailingSemicolon(){T.writeTrailingSemicolon(";")}function writeKeyword(e){T.writeKeyword(e)}function writeOperator(e){T.writeOperator(e)}function writeParameter(e){T.writeParameter(e)}function writeComment(e){T.writeComment(e)}function writeSpace(){T.writeSpace(" ")}function writeProperty(e){T.writeProperty(e)}function nonEscapingWrite(e){T.nonEscapingWrite?T.nonEscapingWrite(e):T.write(e)}function writeLine(e=1){for(let t=0;t<e;t++)T.writeLine(t>0)}function increaseIndent(){T.increaseIndent()}function decreaseIndent(){T.decreaseIndent()}function writeToken(e,t,n,r){return H?writeTokenText(e,n,t):function emitTokenWithSourceMap(e,t,n,r,i){if(H||e&&isInJsonFile(e))return i(t,n,r);const o=e&&e.emitNode,a=o&&o.flags||0,s=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[t],c=s&&s.source||b;r=skipSourceTrivia(c,s?s.pos:r),!(256&a)&&r>=0&&emitSourcePos(c,r);r=i(t,n,r),s&&(r=s.end);!(512&a)&&r>=0&&emitSourcePos(c,r);return r}(r,e,n,t,writeTokenText)}function writeTokenNode(e,t){R&&R(e),t(tokenToString(e.kind)),B&&B(e)}function writeTokenText(e,t,n){const r=tokenToString(e);return t(r),n<0?n:n+r.length}function writeLineOrSpace(e,t,n){if(1&getEmitFlags(e))writeSpace();else if(V){const r=getLinesBetweenNodes(e,t,n);r?writeLine(r):writeSpace()}else writeLine()}function writeLines(e){const t=e.split(/\r\n?|\n/),n=guessIndentation(t);for(const e of t){const t=n?e.slice(n):e;t.length&&(writeLine(),q(t))}}function writeLinesAndIndent(e,t){e?(increaseIndent(),writeLine(e)):t&&writeSpace()}function decreaseIndentIf(e,t){e&&decreaseIndent(),t&&decreaseIndent()}function getLeadingLineTerminatorCount(e,t,r){if(2&r||V){if(65536&r)return 1;if(void 0===t)return!e||n&&rangeIsOnSingleLine(e,n)?0:1;if(t.pos===y)return 0;if(12===t.kind)return 0;if(n&&e&&!positionIsSynthesized(e.pos)&&!nodeIsSynthesized(t)&&(!t.parent||getOriginalNode(t.parent)===getOriginalNode(e)))return V?getEffectiveLines(r=>getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter(t.pos,e.pos,n,r)):rangeStartPositionsAreOnSameLine(e,t,n)?0:1;if(synthesizedNodeStartsOnNewLine(t,r))return 1}return 1&r?1:0}function getSeparatingLineTerminatorCount(e,t,r){if(2&r||V){if(void 0===e||void 0===t)return 0;if(12===t.kind)return 0;if(n&&!nodeIsSynthesized(e)&&!nodeIsSynthesized(t))return V&&function siblingNodePositionsAreComparable(e,t){if(t.pos<e.end)return!1;e=getOriginalNode(e),t=getOriginalNode(t);const n=e.parent;if(!n||n!==t.parent)return!1;const r=getContainingNodeArray(e),i=null==r?void 0:r.indexOf(e);return void 0!==i&&i>-1&&r.indexOf(t)===i+1}(e,t)?getEffectiveLines(r=>getLinesBetweenRangeEndAndRangeStart(e,t,n,r)):!V&&function originalNodesHaveSameParent(e,t){return(e=getOriginalNode(e)).parent&&e.parent===getOriginalNode(t).parent}(e,t)?rangeEndIsOnSameLineAsRangeStart(e,t,n)?0:1:65536&r?1:0;if(synthesizedNodeStartsOnNewLine(e,r)||synthesizedNodeStartsOnNewLine(t,r))return 1}else if(getStartsOnNewLine(t))return 1;return 1&r?1:0}function getClosingLineTerminatorCount(e,t,r,i){if(2&r||V){if(65536&r)return 1;if(void 0===t)return!e||n&&rangeIsOnSingleLine(e,n)?0:1;if(n&&e&&!positionIsSynthesized(e.pos)&&!nodeIsSynthesized(t)&&(!t.parent||t.parent===e)){if(V){const r=i&&!positionIsSynthesized(i.end)?i.end:t.end;return getEffectiveLines(t=>getLinesBetweenPositionAndNextNonWhitespaceCharacter(r,e.end,n,t))}return rangeEndPositionsAreOnSameLine(e,t,n)?0:1}if(synthesizedNodeStartsOnNewLine(t,r))return 1}return 1&r&&!(131072&r)?1:0}function getEffectiveLines(e){h.assert(!!V);const t=e(!0);return 0===t?e(!1):t}function writeLineSeparatorsAndIndentBefore(e,t){const n=V&&getLeadingLineTerminatorCount(t,e,0);return n&&writeLinesAndIndent(n,!1),!!n}function writeLineSeparatorsAfter(e,t){const n=V&&getClosingLineTerminatorCount(t,e,0,void 0);n&&writeLine(n)}function synthesizedNodeStartsOnNewLine(e,t){if(nodeIsSynthesized(e)){const n=getStartsOnNewLine(e);return void 0===n?!!(65536&t):n}return!!(65536&t)}function getLinesBetweenNodes(e,t,r){return 262144&getEmitFlags(e)?0:(e=skipSynthesizedParentheses(e),t=skipSynthesizedParentheses(t),getStartsOnNewLine(r=skipSynthesizedParentheses(r))?1:!n||nodeIsSynthesized(e)||nodeIsSynthesized(t)||nodeIsSynthesized(r)?0:V?getEffectiveLines(e=>getLinesBetweenRangeEndAndRangeStart(t,r,n,e)):rangeEndIsOnSameLineAsRangeStart(t,r,n)?0:1)}function isEmptyBlock(e){return 0===e.statements.length&&(!n||rangeEndIsOnSameLineAsRangeStart(e,e,n))}function skipSynthesizedParentheses(e){for(;218===e.kind&&nodeIsSynthesized(e);)e=e.expression;return e}function getTextOfNode2(e,t){if(isGeneratedIdentifier(e)||isGeneratedPrivateIdentifier(e))return generateName(e);if(isStringLiteral(e)&&e.textSourceNode)return getTextOfNode2(e.textSourceNode,t);const r=n,i=!!r&&!!e.parent&&!nodeIsSynthesized(e);if(isMemberName(e)){if(!i||getSourceFileOfNode(e)!==getOriginalNode(r))return idText(e)}else if(isJsxNamespacedName(e)){if(!i||getSourceFileOfNode(e)!==getOriginalNode(r))return getTextOfJsxNamespacedName(e)}else if(h.assertNode(e,isLiteralExpression),!i)return e.text;return getSourceTextOfNodeFromSourceFile(r,e,t)}function getLiteralTextOfNode(t,r=n,i,o){if(11===t.kind&&t.textSourceNode){const e=t.textSourceNode;if(isIdentifier(e)||isPrivateIdentifier(e)||isNumericLiteral(e)||isJsxNamespacedName(e)){const n=isNumericLiteral(e)?e.text:getTextOfNode2(e);return o?`"${escapeJsxAttributeString(n)}"`:i||16777216&getEmitFlags(t)?`"${escapeString(n)}"`:`"${escapeNonAsciiString(n)}"`}return getLiteralTextOfNode(e,getSourceFileOfNode(e),i,o)}return getLiteralText(t,r,(i?1:0)|(o?2:0)|(e.terminateUnterminatedLiterals?4:0)|(e.target&&e.target>=8?8:0))}function pushNameGenerationScope(e){l.push(d),d=0,f.push(g),e&&1048576&getEmitFlags(e)||(p.push(u),u=0,s.push(c),c=void 0,m.push(_))}function popNameGenerationScope(e){d=l.pop(),g=f.pop(),e&&1048576&getEmitFlags(e)||(u=p.pop(),c=s.pop(),_=m.pop())}function reserveNameInNestedScopes(e){_&&_!==lastOrUndefined(m)||(_=new Set),_.add(e)}function reservePrivateNameInNestedScopes(e){g&&g!==lastOrUndefined(f)||(g=new Set),g.add(e)}function generateNames(e){if(e)switch(e.kind){case 242:case 297:case 298:forEach(e.statements,generateNames);break;case 257:case 255:case 247:case 248:generateNames(e.statement);break;case 246:generateNames(e.thenStatement),generateNames(e.elseStatement);break;case 249:case 251:case 250:generateNames(e.initializer),generateNames(e.statement);break;case 256:generateNames(e.caseBlock);break;case 270:forEach(e.clauses,generateNames);break;case 259:generateNames(e.tryBlock),generateNames(e.catchClause),generateNames(e.finallyBlock);break;case 300:generateNames(e.variableDeclaration),generateNames(e.block);break;case 244:generateNames(e.declarationList);break;case 262:forEach(e.declarations,generateNames);break;case 261:case 170:case 209:case 264:case 275:case 281:generateNameIfNeeded(e.name);break;case 263:generateNameIfNeeded(e.name),1048576&getEmitFlags(e)&&(forEach(e.parameters,generateNames),generateNames(e.body));break;case 207:case 208:case 276:forEach(e.elements,generateNames);break;case 273:generateNames(e.importClause);break;case 274:generateNameIfNeeded(e.name),generateNames(e.namedBindings);break;case 277:generateNameIfNeeded(e.propertyName||e.name)}}function generateMemberNames(e){if(e)switch(e.kind){case 304:case 305:case 173:case 172:case 175:case 174:case 178:case 179:generateNameIfNeeded(e.name)}}function generateNameIfNeeded(e){e&&(isGeneratedIdentifier(e)||isGeneratedPrivateIdentifier(e)?generateName(e):isBindingPattern(e)&&generateNames(e))}function generateName(e){const t=e.emitNode.autoGenerate;if(4==(7&t.flags))return generateNameCached(getNodeForGeneratedName(e),isPrivateIdentifier(e),t.flags,t.prefix,t.suffix);{const n=t.id;return o[n]||(o[n]=function makeName(e){const t=e.emitNode.autoGenerate,n=formatGeneratedNamePart(t.prefix,generateName),r=formatGeneratedNamePart(t.suffix);switch(7&t.flags){case 1:return makeTempVariableName(0,!!(8&t.flags),isPrivateIdentifier(e),n,r);case 2:return h.assertNode(e,isIdentifier),makeTempVariableName(268435456,!!(8&t.flags),!1,n,r);case 3:return makeUniqueName2(idText(e),32&t.flags?isFileLevelUniqueNameInCurrentFile:isUniqueName,!!(16&t.flags),!!(8&t.flags),isPrivateIdentifier(e),n,r)}return h.fail(`Unsupported GeneratedIdentifierKind: ${h.formatEnum(7&t.flags,ne,!0)}.`)}(e))}}function generateNameCached(e,t,n,o,a){const s=getNodeId(e),c=t?i:r;return c[s]||(c[s]=generateNameForNode(e,t,n??0,formatGeneratedNamePart(o,generateName),formatGeneratedNamePart(a)))}function isUniqueName(e,t){return isFileLevelUniqueNameInCurrentFile(e,t)&&!function isReservedName(e,t){let n,r;t?(n=g,r=f):(n=_,r=m);if(null==n?void 0:n.has(e))return!0;for(let t=r.length-1;t>=0;t--)if(n!==r[t]&&(n=r[t],null==n?void 0:n.has(e)))return!0;return!1}(e,t)&&!a.has(e)}function isFileLevelUniqueNameInCurrentFile(e,t){return!n||isFileLevelUniqueName(n,e,P)}function setTempFlags(e,t){switch(e){case"":u=t;break;case"#":d=t;break;default:c??(c=new Map),c.set(e,t)}}function makeTempVariableName(e,t,n,r,i){r.length>0&&35===r.charCodeAt(0)&&(r=r.slice(1));const o=formatGeneratedName(n,r,"",i);let a=function getTempFlags(e){switch(e){case"":return u;case"#":return d;default:return(null==c?void 0:c.get(e))??0}}(o);if(e&&!(a&e)){const s=formatGeneratedName(n,r,268435456===e?"_i":"_n",i);if(isUniqueName(s,n))return a|=e,n?reservePrivateNameInNestedScopes(s):t&&reserveNameInNestedScopes(s),setTempFlags(o,a),s}for(;;){const e=268435455&a;if(a++,8!==e&&13!==e){const s=formatGeneratedName(n,r,e<26?"_"+String.fromCharCode(97+e):"_"+(e-26),i);if(isUniqueName(s,n))return n?reservePrivateNameInNestedScopes(s):t&&reserveNameInNestedScopes(s),setTempFlags(o,a),s}}}function makeUniqueName2(e,t=isUniqueName,n,r,i,o,s){if(e.length>0&&35===e.charCodeAt(0)&&(e=e.slice(1)),o.length>0&&35===o.charCodeAt(0)&&(o=o.slice(1)),n){const n=formatGeneratedName(i,o,e,s);if(t(n,i))return i?reservePrivateNameInNestedScopes(n):r?reserveNameInNestedScopes(n):a.add(n),n}95!==e.charCodeAt(e.length-1)&&(e+="_");let c=1;for(;;){const n=formatGeneratedName(i,o,e+c,s);if(t(n,i))return i?reservePrivateNameInNestedScopes(n):r?reserveNameInNestedScopes(n):a.add(n),n;c++}}function makeFileLevelOptimisticUniqueName(e){return makeUniqueName2(e,isFileLevelUniqueNameInCurrentFile,!0,!1,!1,"","")}function generateNameForModuleOrEnum(e){const t=getTextOfNode2(e.name);return function isUniqueLocalName(e,t){for(let n=t;n&&isNodeDescendantOf(n,t);n=n.nextContainer)if(canHaveLocals(n)&&n.locals){const t=n.locals.get(escapeLeadingUnderscores(e));if(t&&3257279&t.flags)return!1}return!0}(t,tryCast(e,canHaveLocals))?t:makeUniqueName2(t,isUniqueName,!1,!1,!1,"","")}function generateNameForExportDefault(){return makeUniqueName2("default",isUniqueName,!1,!1,!1,"","")}function generateNameForNode(e,t,n,r,i){switch(e.kind){case 80:case 81:return makeUniqueName2(getTextOfNode2(e),isUniqueName,!!(16&n),!!(8&n),t,r,i);case 268:case 267:return h.assert(!r&&!i&&!t),generateNameForModuleOrEnum(e);case 273:case 279:return h.assert(!r&&!i&&!t),function generateNameForImportOrExportDeclaration(e){const t=getExternalModuleName(e);return makeUniqueName2(isStringLiteral(t)?makeIdentifierFromModuleName(t.text):"module",isUniqueName,!1,!1,!1,"","")}(e);case 263:case 264:{h.assert(!r&&!i&&!t);const o=e.name;return o&&!isGeneratedIdentifier(o)?generateNameForNode(o,!1,n,r,i):generateNameForExportDefault()}case 278:return h.assert(!r&&!i&&!t),generateNameForExportDefault();case 232:return h.assert(!r&&!i&&!t),function generateNameForClassExpression(){return makeUniqueName2("class",isUniqueName,!1,!1,!1,"","")}();case 175:case 178:case 179:return function generateNameForMethodOrAccessor(e,t,n,r){return isIdentifier(e.name)?generateNameCached(e.name,t):makeTempVariableName(0,!1,t,n,r)}(e,t,r,i);case 168:return makeTempVariableName(0,!0,t,r,i);default:return makeTempVariableName(0,!1,t,r,i)}}function pipelineEmitWithComments(e,t){const n=getNextPipelinePhase(2,e,t),r=$,i=Q,o=X;emitCommentsBeforeNode(t),n(e,t),emitCommentsAfterNode(t,r,i,o)}function emitCommentsBeforeNode(e){const t=getEmitFlags(e),n=getCommentRange(e);!function emitLeadingCommentsOfNode(e,t,n,r){ee(),Y=!1;const i=n<0||!!(1024&t)||12===e.kind,o=r<0||!!(2048&t)||12===e.kind;(n>0||r>0)&&n!==r&&(i||emitLeadingComments(n,354!==e.kind),(!i||n>=0&&1024&t)&&($=n),(!o||r>=0&&2048&t)&&(Q=r,262===e.kind&&(X=r)));forEach(getSyntheticLeadingComments(e),emitLeadingSynthesizedComment),te()}(e,t,n.pos,n.end),4096&t&&(Z=!0)}function emitCommentsAfterNode(e,t,n,r){const i=getEmitFlags(e),o=getCommentRange(e);4096&i&&(Z=!1),emitTrailingCommentsOfNode(e,i,o.pos,o.end,t,n,r);const a=getTypeNode(e);a&&emitTrailingCommentsOfNode(e,i,a.pos,a.end,t,n,r)}function emitTrailingCommentsOfNode(e,t,n,r,i,o,a){ee();const s=r<0||!!(2048&t)||12===e.kind;forEach(getSyntheticTrailingComments(e),emitTrailingSynthesizedComment),(n>0||r>0)&&n!==r&&($=i,Q=o,X=a,s||354===e.kind||function emitTrailingComments(e){forEachTrailingCommentToEmit(e,emitTrailingComment)}(r)),te()}function emitLeadingSynthesizedComment(e){(e.hasLeadingNewline||2===e.kind)&&T.writeLine(),writeSynthesizedComment(e),e.hasTrailingNewLine||2===e.kind?T.writeLine():T.writeSpace(" ")}function emitTrailingSynthesizedComment(e){T.isAtStartOfLine()||T.writeSpace(" "),writeSynthesizedComment(e),e.hasTrailingNewLine&&T.writeLine()}function writeSynthesizedComment(e){const t=function formatSynthesizedComment(e){return 3===e.kind?`/*${e.text}*/`:`//${e.text}`}(e);writeCommentRange(t,3===e.kind?computeLineStarts(t):void 0,T,0,t.length,W)}function emitBodyWithDetachedComments(e,t,r){ee();const{pos:i,end:o}=t,a=getEmitFlags(e),s=Z||o<0||!!(2048&a);i<0||!!(1024&a)||function emitDetachedCommentsAndUpdateCommentsInfo(e){const t=n&&emitDetachedComments(n.text,getCurrentLineMap(),T,emitComment,e,W,Z);t&&(N?N.push(t):N=[t])}(t),te(),4096&a&&!Z?(Z=!0,r(e),Z=!1):r(e),ee(),s||(emitLeadingComments(t.end,!0),Y&&!T.isAtStartOfLine()&&T.writeLine()),te()}function emitLeadingComments(e,t){Y=!1,t?0===e&&(null==n?void 0:n.isDeclarationFile)?forEachLeadingCommentToEmit(e,emitNonTripleSlashLeadingComment):forEachLeadingCommentToEmit(e,emitLeadingComment):0===e&&forEachLeadingCommentToEmit(e,emitTripleSlashLeadingComment)}function emitTripleSlashLeadingComment(e,t,n,r,i){isTripleSlashComment(e,t)&&emitLeadingComment(e,t,n,r,i)}function emitNonTripleSlashLeadingComment(e,t,n,r,i){isTripleSlashComment(e,t)||emitLeadingComment(e,t,n,r,i)}function shouldWriteComment(t,n){return!e.onlyPrintJsDocStyle||(isJSDocLikeText(t,n)||isPinnedComment(t,n))}function emitLeadingComment(e,t,r,i,o){n&&shouldWriteComment(n.text,e)&&(Y||(emitNewLineBeforeLeadingCommentOfPosition(getCurrentLineMap(),T,o,e),Y=!0),emitPos(e),writeCommentRange(n.text,getCurrentLineMap(),T,e,t,W),emitPos(t),i?T.writeLine():3===r&&T.writeSpace(" "))}function emitLeadingCommentsOfPosition(e){Z||-1===e||emitLeadingComments(e,!0)}function emitTrailingComment(e,t,r,i){n&&shouldWriteComment(n.text,e)&&(T.isAtStartOfLine()||T.writeSpace(" "),emitPos(e),writeCommentRange(n.text,getCurrentLineMap(),T,e,t,W),emitPos(t),i&&T.writeLine())}function emitTrailingCommentsOfPosition(e,t,n){Z||(ee(),forEachTrailingCommentToEmit(e,t?emitTrailingComment:n?emitTrailingCommentOfPositionNoNewline:emitTrailingCommentOfPosition),te())}function emitTrailingCommentOfPositionNoNewline(e,t,r){n&&(emitPos(e),writeCommentRange(n.text,getCurrentLineMap(),T,e,t,W),emitPos(t),2===r&&T.writeLine())}function emitTrailingCommentOfPosition(e,t,r,i){n&&(emitPos(e),writeCommentRange(n.text,getCurrentLineMap(),T,e,t,W),emitPos(t),i?T.writeLine():T.writeSpace(" "))}function forEachLeadingCommentToEmit(e,t){!n||-1!==$&&e===$||(!function hasDetachedComments(e){return void 0!==N&&last(N).nodePos===e}(e)?forEachLeadingCommentRange(n.text,e,t,e):function forEachLeadingCommentWithoutDetachedComments(e){if(!n)return;const t=last(N).detachedCommentEndPos;N.length-1?N.pop():N=void 0;forEachLeadingCommentRange(n.text,t,e,t)}(t))}function forEachTrailingCommentToEmit(e,t){n&&(-1===Q||e!==Q&&e!==X)&&forEachTrailingCommentRange(n.text,e,t)}function emitComment(e,t,r,i,o,a){n&&shouldWriteComment(n.text,i)&&(emitPos(i),writeCommentRange(e,t,r,i,o,a),emitPos(o))}function isTripleSlashComment(e,t){return!!n&&isRecognizedTripleSlashComment(n.text,e,t)}function pipelineEmitWithSourceMaps(e,t){const n=getNextPipelinePhase(3,e,t);emitSourceMapsBeforeNode(t),n(e,t),emitSourceMapsAfterNode(t)}function emitSourceMapsBeforeNode(e){const t=getEmitFlags(e),n=getSourceMapRange(e),r=n.source||b;354!==e.kind&&!(32&t)&&n.pos>=0&&emitSourcePos(n.source||b,skipSourceTrivia(r,n.pos)),128&t&&(H=!0)}function emitSourceMapsAfterNode(e){const t=getEmitFlags(e),n=getSourceMapRange(e);128&t&&(H=!1),354!==e.kind&&!(64&t)&&n.end>=0&&emitSourcePos(n.source||b,n.end)}function skipSourceTrivia(e,t){return e.skipTrivia?e.skipTrivia(t):skipTrivia(e.text,t)}function emitPos(e){if(H||positionIsSynthesized(e)||isJsonSourceMapSource(b))return;const{line:t,character:n}=getLineAndCharacterOfPosition(b,e);v.addMapping(T.getLine(),T.getColumn(),K,t,n,void 0)}function emitSourcePos(e,t){if(e!==b){const n=b,r=K;setSourceMapSource(e),emitPos(t),function resetSourceMapSource(e,t){b=e,K=t}(n,r)}else emitPos(t)}function setSourceMapSource(t){H||(b=t,t!==C?isJsonSourceMapSource(t)||(K=v.addSource(t.fileName),e.inlineSources&&v.setSourceContent(K,t.text),C=t,G=K):K=G)}function isJsonSourceMapSource(e){return fileExtensionIs(e.fileName,".json")}}function emitListItemNoParenthesizer(e,t,n,r){t(e)}function emitListItemWithParenthesizerRuleSelector(e,t,n,r){t(e,n.select(r))}function emitListItemWithParenthesizerRule(e,t,n,r){t(e,n)}function createCachedDirectoryStructureHost(e,t,n){if(!e.getDirectories||!e.readDirectory)return;const r=new Map,i=createGetCanonicalFileName(n);return{useCaseSensitiveFileNames:n,fileExists:function fileExists(t){const n=getCachedFileSystemEntriesForBaseDir(toPath3(t));return n&&hasEntry(n.sortedAndCanonicalizedFiles,i(getBaseNameOfFileName(t)))||e.fileExists(t)},readFile:(t,n)=>e.readFile(t,n),directoryExists:e.directoryExists&&function directoryExists(t){const n=toPath3(t);return r.has(ensureTrailingDirectorySeparator(n))||e.directoryExists(t)},getDirectories:function getDirectories(t){const n=toPath3(t),r=tryReadDirectory2(t,n);if(r)return r.directories.slice();return e.getDirectories(t)},readDirectory:function readDirectory(r,i,o,a,s){const c=toPath3(r),d=tryReadDirectory2(r,c);let p;if(void 0!==d)return matchFiles(r,i,o,a,n,t,s,function getFileSystemEntries(e){const t=toPath3(e);if(t===c)return d||getFileSystemEntriesFromHost(e,t);const n=tryReadDirectory2(e,t);return void 0!==n?n||getFileSystemEntriesFromHost(e,t):Nr},realpath);return e.readDirectory(r,i,o,a,s);function getFileSystemEntriesFromHost(t,n){if(p&&n===c)return p;const r={files:map(e.readDirectory(t,void 0,void 0,["*.*"]),getBaseNameOfFileName)||l,directories:e.getDirectories(t)||l};return n===c&&(p=r),r}},createDirectory:e.createDirectory&&function createDirectory(t){const n=getCachedFileSystemEntriesForBaseDir(toPath3(t));if(n){const e=getBaseNameOfFileName(t),r=i(e);insertSorted(n.sortedAndCanonicalizedDirectories,r,compareStringsCaseSensitive)&&n.directories.push(e)}e.createDirectory(t)},writeFile:e.writeFile&&function writeFile2(t,n,r){const i=getCachedFileSystemEntriesForBaseDir(toPath3(t));i&&updateFilesOfFileSystemEntry(i,getBaseNameOfFileName(t),!0);return e.writeFile(t,n,r)},addOrDeleteFileOrDirectory:function addOrDeleteFileOrDirectory(t,n){if(void 0!==getCachedFileSystemEntries(n))return void clearCache();const r=getCachedFileSystemEntriesForBaseDir(n);if(!r)return void clearFirstAncestorEntry(n);if(!e.directoryExists)return void clearCache();const o=getBaseNameOfFileName(t),a={fileExists:e.fileExists(t),directoryExists:e.directoryExists(t)};a.directoryExists||hasEntry(r.sortedAndCanonicalizedDirectories,i(o))?clearCache():updateFilesOfFileSystemEntry(r,o,a.fileExists);return a},addOrDeleteFile:function addOrDeleteFile(e,t,n){if(1===n)return;const r=getCachedFileSystemEntriesForBaseDir(t);r?updateFilesOfFileSystemEntry(r,getBaseNameOfFileName(e),0===n):clearFirstAncestorEntry(t)},clearCache,realpath:e.realpath&&realpath};function toPath3(e){return toPath(e,t,i)}function getCachedFileSystemEntries(e){return r.get(ensureTrailingDirectorySeparator(e))}function getCachedFileSystemEntriesForBaseDir(e){const t=getCachedFileSystemEntries(getDirectoryPath(e));return t?(t.sortedAndCanonicalizedFiles||(t.sortedAndCanonicalizedFiles=t.files.map(i).sort(),t.sortedAndCanonicalizedDirectories=t.directories.map(i).sort()),t):t}function getBaseNameOfFileName(e){return getBaseFileName(normalizePath(e))}function tryReadDirectory2(t,n){const i=getCachedFileSystemEntries(n=ensureTrailingDirectorySeparator(n));if(i)return i;try{return function createCachedFileSystemEntries(t,n){var i;if(!e.realpath||ensureTrailingDirectorySeparator(toPath3(e.realpath(t)))===n){const i={files:map(e.readDirectory(t,void 0,void 0,["*.*"]),getBaseNameOfFileName)||[],directories:e.getDirectories(t)||[]};return r.set(ensureTrailingDirectorySeparator(n),i),i}if(null==(i=e.directoryExists)?void 0:i.call(e,t))return r.set(n,!1),!1}(t,n)}catch{return void h.assert(!r.has(ensureTrailingDirectorySeparator(n)))}}function hasEntry(e,t){return binarySearch(e,t,identity,compareStringsCaseSensitive)>=0}function realpath(t){return e.realpath?e.realpath(t):t}function clearFirstAncestorEntry(e){forEachAncestorDirectory(getDirectoryPath(e),e=>!!r.delete(ensureTrailingDirectorySeparator(e))||void 0)}function updateFilesOfFileSystemEntry(e,t,n){const r=e.sortedAndCanonicalizedFiles,o=i(t);if(n)insertSorted(r,o,compareStringsCaseSensitive)&&e.files.push(t);else{const t=binarySearch(r,o,identity,compareStringsCaseSensitive);if(t>=0){r.splice(t,1);const n=e.files.findIndex(e=>i(e)===o);e.files.splice(n,1)}}}function clearCache(){r.clear()}}var Da=(e=>(e[e.Update=0]="Update",e[e.RootNamesAndUpdate=1]="RootNamesAndUpdate",e[e.Full=2]="Full",e))(Da||{});function updateSharedExtendedConfigFileWatcher(e,t,n,r,i){var o;const a=arrayToMap((null==(o=null==t?void 0:t.configFile)?void 0:o.extendedSourceFiles)||l,i);n.forEach((t,n)=>{a.has(n)||(t.projects.delete(e),t.close())}),a.forEach((t,i)=>{const o=n.get(i);o?o.projects.add(e):n.set(i,{projects:new Set([e]),watcher:r(t,i),close:()=>{const e=n.get(i);e&&0===e.projects.size&&(e.watcher.close(),n.delete(i))}})})}function clearSharedExtendedConfigFileWatcher(e,t){t.forEach(t=>{t.projects.delete(e)&&t.close()})}function cleanExtendedConfigCache(e,t,n){e.delete(t)&&e.forEach(({extendedResult:r},i)=>{var o;(null==(o=r.extendedSourceFiles)?void 0:o.some(e=>n(e)===t))&&cleanExtendedConfigCache(e,i,n)})}function updateMissingFilePathsWatch(e,t,n){mutateMap(t,e.getMissingFilePaths(),{createNewValue:n,onDeleteValue:closeFileWatcher})}function updateWatchingWildcardDirectories(e,t,n){function createWildcardDirectoryWatcher(e,t){return{watcher:n(e,t),flags:t}}t?mutateMap(e,new Map(Object.entries(t)),{createNewValue:createWildcardDirectoryWatcher,onDeleteValue:closeFileWatcherOf,onExistingValue:function updateWildcardDirectoryWatcher(t,n,r){if(t.flags===n)return;t.watcher.close(),e.set(r,createWildcardDirectoryWatcher(r,n))}}):clearMap(e,closeFileWatcherOf)}function isIgnoredFileFromWildCardWatching({watchedDirPath:e,fileOrDirectory:t,fileOrDirectoryPath:n,configFileName:r,options:i,program:o,extraFileExtensions:a,currentDirectory:s,useCaseSensitiveFileNames:c,writeLog:l,toPath:d,getScriptKind:p}){const u=removeIgnoredPath(n);if(!u)return l(`Project: ${r} Detected ignored path: ${t}`),!0;if((n=u)===e)return!1;if(hasExtension(n)&&!isSupportedSourceFileName(t,i,a)&&!function isSupportedScriptKind(){if(!p)return!1;switch(p(t)){case 3:case 4:case 7:case 5:return!0;case 1:case 2:return rr(i);case 6:return Yn(i);case 0:return!1}}())return l(`Project: ${r} Detected file add/remove of non supported extension: ${t}`),!0;if(isExcludedFile(t,i.configFile.configFileSpecs,getNormalizedAbsolutePath(getDirectoryPath(r),s),c,s))return l(`Project: ${r} Detected excluded file: ${t}`),!0;if(!o)return!1;if(i.outFile||i.outDir)return!1;if(isDeclarationFileName(n)){if(i.declarationDir)return!1}else if(!fileExtensionIsOneOf(n,yr))return!1;const m=removeFileExtension(n),_=isArray(o)?void 0:isBuilderProgram(o)?o.getProgramOrUndefined():o,f=_||isArray(o)?void 0:o;return!(!hasSourceFile(m+".ts")&&!hasSourceFile(m+".tsx"))&&(l(`Project: ${r} Detected output file: ${t}`),!0);function hasSourceFile(e){return _?!!_.getSourceFileByPath(e):f?f.state.fileInfos.has(e):!!find(o,t=>d(t)===e)}}function isEmittedFileOfProgram(e,t){return!!e&&e.isEmittedFile(t)}var Ia=(e=>(e[e.None=0]="None",e[e.TriggerOnly=1]="TriggerOnly",e[e.Verbose=2]="Verbose",e))(Ia||{});function getWatchFactory(e,t,n,r){setSysLog(2===t?n:noop);const i={watchFile:(t,n,r,i)=>e.watchFile(t,n,r,i),watchDirectory:(t,n,r,i)=>e.watchDirectory(t,n,!!(1&r),i)},o=0!==t?{watchFile:createTriggerLoggingAddWatch("watchFile"),watchDirectory:createTriggerLoggingAddWatch("watchDirectory")}:void 0,a=2===t?{watchFile:function createFileWatcherWithLogging(e,t,i,a,s,c){n(`FileWatcher:: Added:: ${getWatchInfo(e,i,a,s,c,r)}`);const l=o.watchFile(e,t,i,a,s,c);return{close:()=>{n(`FileWatcher:: Close:: ${getWatchInfo(e,i,a,s,c,r)}`),l.close()}}},watchDirectory:function createDirectoryWatcherWithLogging(e,t,i,a,s,c){const l=`DirectoryWatcher:: Added:: ${getWatchInfo(e,i,a,s,c,r)}`;n(l);const d=B(),p=o.watchDirectory(e,t,i,a,s,c),u=B()-d;return n(`Elapsed:: ${u}ms ${l}`),{close:()=>{const t=`DirectoryWatcher:: Close:: ${getWatchInfo(e,i,a,s,c,r)}`;n(t);const o=B();p.close();const l=B()-o;n(`Elapsed:: ${l}ms ${t}`)}}}}:o||i,s=2===t?function createExcludeWatcherWithLogging(e,t,i,o,a){return n(`ExcludeWatcher:: Added:: ${getWatchInfo(e,t,i,o,a,r)}`),{close:()=>n(`ExcludeWatcher:: Close:: ${getWatchInfo(e,t,i,o,a,r)}`)}}:returnNoopFileWatcher;return{watchFile:createExcludeHandlingAddWatch("watchFile"),watchDirectory:createExcludeHandlingAddWatch("watchDirectory")};function createExcludeHandlingAddWatch(t){return(n,r,i,o,c,l)=>{var d;return matchesExclude(n,"watchFile"===t?null==o?void 0:o.excludeFiles:null==o?void 0:o.excludeDirectories,function useCaseSensitiveFileNames2(){return"boolean"==typeof e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames:e.useCaseSensitiveFileNames()}(),(null==(d=e.getCurrentDirectory)?void 0:d.call(e))||"")?s(n,i,o,c,l):a[t].call(void 0,n,r,i,o,c,l)}}function createTriggerLoggingAddWatch(e){return(t,o,a,s,c,l)=>i[e].call(void 0,t,(...i)=>{const d=`${"watchFile"===e?"FileWatcher":"DirectoryWatcher"}:: Triggered with ${i[0]} ${void 0!==i[1]?i[1]:""}:: ${getWatchInfo(t,a,s,c,l,r)}`;n(d);const p=B();o.call(void 0,...i);const u=B()-p;n(`Elapsed:: ${u}ms ${d}`)},a,s,c,l)}function getWatchInfo(e,t,n,r,i,o){return`WatchInfo: ${e} ${t} ${JSON.stringify(n)} ${o?o(r,i):void 0===i?r:`${r} ${i}`}`}}function getFallbackOptions(e){const t=null==e?void 0:e.fallbackPolling;return{watchFile:void 0!==t?t:1}}function closeFileWatcherOf(e){e.watcher.close()}function findConfigFile(e,t,n="tsconfig.json"){return forEachAncestorDirectory(e,e=>{const r=combinePaths(e,n);return t(r)?r:void 0})}function resolveTripleslashReference(e,t){const n=getDirectoryPath(t);return normalizePath(isRootedDiskPath(e)?e:combinePaths(n,e))}function computeCommonSourceDirectoryOfFilenames(e,t,n){let r;return forEach(e,e=>{const i=getNormalizedPathComponents(e,t);if(i.pop(),!r)return void(r=i);const o=Math.min(r.length,i.length);for(let e=0;e<o;e++)if(n(r[e])!==n(i[e])){if(0===e)return!0;r.length=e;break}i.length<r.length&&(r.length=i.length)})?"":r?getPathFromPathComponents(r):t}function createCompilerHost(e,t){return createCompilerHostWorker(e,t)}function createGetSourceFile(e,t){return(n,r,i)=>{let o;try{mark("beforeIORead"),o=e(n),mark("afterIORead"),measure("I/O Read","beforeIORead","afterIORead")}catch(e){i&&i(e.message),o=""}return void 0!==o?createSourceFile(n,o,r,t):void 0}}function createWriteFileMeasuringIO(e,t,n){return(r,i,o,a)=>{try{mark("beforeIOWrite"),writeFileEnsuringDirectories(r,i,o,e,t,n),mark("afterIOWrite"),measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){a&&a(e.message)}}}function createCompilerHostWorker(e,t,n=kt){const r=new Map,i=createGetCanonicalFileName(n.useCaseSensitiveFileNames);function getDefaultLibLocation(){return getDirectoryPath(normalizePath(n.getExecutingFilePath()))}const o=getNewLineCharacter(e),a=n.realpath&&(e=>n.realpath(e)),s={getSourceFile:createGetSourceFile(e=>s.readFile(e),t),getDefaultLibLocation,getDefaultLibFileName:e=>combinePaths(getDefaultLibLocation(),getDefaultLibFileName(e)),writeFile:createWriteFileMeasuringIO((e,t,r)=>n.writeFile(e,t,r),e=>(s.createDirectory||n.createDirectory)(e),e=>function directoryExists(e){return!!r.has(e)||!!(s.directoryExists||n.directoryExists)(e)&&(r.set(e,!0),!0)}(e)),getCurrentDirectory:memoize(()=>n.getCurrentDirectory()),useCaseSensitiveFileNames:()=>n.useCaseSensitiveFileNames,getCanonicalFileName:i,getNewLine:()=>o,fileExists:e=>n.fileExists(e),readFile:e=>n.readFile(e),trace:e=>n.write(e+o),directoryExists:e=>n.directoryExists(e),getEnvironmentVariable:e=>n.getEnvironmentVariable?n.getEnvironmentVariable(e):"",getDirectories:e=>n.getDirectories(e),realpath:a,readDirectory:(e,t,r,i,o)=>n.readDirectory(e,t,r,i,o),createDirectory:e=>n.createDirectory(e),createHash:maybeBind(n,n.createHash)};return s}function changeCompilerHostLikeToUseCache(e,t,n){const r=e.readFile,i=e.fileExists,o=e.directoryExists,a=e.createDirectory,s=e.writeFile,c=new Map,l=new Map,d=new Map,p=new Map,setReadFileCache=(t,n)=>{const i=r.call(e,n);return c.set(t,void 0!==i&&i),i};e.readFile=n=>{const i=t(n),o=c.get(i);return void 0!==o?!1!==o?o:void 0:fileExtensionIs(n,".json")||isBuildInfoFile(n)?setReadFileCache(i,n):r.call(e,n)};const u=n?(e,r,i,o)=>{const a=t(e),s="object"==typeof r?r.impliedNodeFormat:void 0,c=p.get(s),l=null==c?void 0:c.get(a);if(l)return l;const d=n(e,r,i,o);return d&&(isDeclarationFileName(e)||fileExtensionIs(e,".json"))&&p.set(s,(c||new Map).set(a,d)),d}:void 0;return e.fileExists=n=>{const r=t(n),o=l.get(r);if(void 0!==o)return o;const a=i.call(e,n);return l.set(r,!!a),a},s&&(e.writeFile=(n,r,...i)=>{const o=t(n);l.delete(o);const a=c.get(o);void 0!==a&&a!==r?(c.delete(o),p.forEach(e=>e.delete(o))):u&&p.forEach(e=>{const t=e.get(o);t&&t.text!==r&&e.delete(o)}),s.call(e,n,r,...i)}),o&&(e.directoryExists=n=>{const r=t(n),i=d.get(r);if(void 0!==i)return i;const a=o.call(e,n);return d.set(r,!!a),a},a&&(e.createDirectory=n=>{const r=t(n);d.delete(r),a.call(e,n)})),{originalReadFile:r,originalFileExists:i,originalDirectoryExists:o,originalCreateDirectory:a,originalWriteFile:s,getSourceFileWithCache:u,readFileWithCache:e=>{const n=t(e),r=c.get(n);return void 0!==r?!1!==r?r:void 0:setReadFileCache(n,e)}}}function getPreEmitDiagnostics(e,t,n){let r;return r=addRange(r,e.getConfigFileParsingDiagnostics()),r=addRange(r,e.getOptionsDiagnostics(n)),r=addRange(r,e.getSyntacticDiagnostics(t,n)),r=addRange(r,e.getGlobalDiagnostics(n)),r=addRange(r,e.getSemanticDiagnostics(t,n)),Zn(e.getCompilerOptions())&&(r=addRange(r,e.getDeclarationDiagnostics(t,n))),sortAndDeduplicateDiagnostics(r||l)}function formatDiagnostics(e,t){let n="";for(const r of e)n+=formatDiagnostic(r,t);return n}function formatDiagnostic(e,t){const n=`${diagnosticCategoryName(e)} TS${e.code}: ${flattenDiagnosticMessageText(e.messageText,t.getNewLine())}${t.getNewLine()}`;if(e.file){const{line:r,character:i}=getLineAndCharacterOfPosition(e.file,e.start);return`${convertToRelativePath(e.file.fileName,t.getCurrentDirectory(),e=>t.getCanonicalFileName(e))}(${r+1},${i+1}): `+n}return n}var Aa=(e=>(e.Grey="[90m",e.Red="[91m",e.Yellow="[93m",e.Blue="[94m",e.Cyan="[96m",e))(Aa||{}),Oa="[7m",wa=" ",La="[0m",Ma="...",Ra=" ",Ba=" ";function getCategoryFormat(e){switch(e){case 1:return"[91m";case 0:return"[93m";case 2:return h.fail("Should never get an Info diagnostic on the command line.");case 3:return"[94m"}}function formatColorAndReset(e,t){return t+e+La}function formatCodeSpan(e,t,n,r,i,o){const{line:a,character:s}=getLineAndCharacterOfPosition(e,t),{line:c,character:l}=getLineAndCharacterOfPosition(e,t+n),d=getLineAndCharacterOfPosition(e,e.text.length).line,p=c-a>=4;let u=(c+1+"").length;p&&(u=Math.max(Ma.length,u));let m="";for(let t=a;t<=c;t++){m+=o.getNewLine(),p&&a+1<t&&t<c-1&&(m+=r+formatColorAndReset(Ma.padStart(u),Oa)+wa+o.getNewLine(),t=c-1);const n=getPositionOfLineAndCharacter(e,t,0),_=t<d?getPositionOfLineAndCharacter(e,t+1,0):e.text.length;let f=e.text.slice(n,_);if(f=f.trimEnd(),f=f.replace(/\t/g," "),m+=r+formatColorAndReset((t+1+"").padStart(u),Oa)+wa,m+=f+o.getNewLine(),m+=r+formatColorAndReset("".padStart(u),Oa)+wa,m+=i,t===a){const e=t===c?l:void 0;m+=f.slice(0,s).replace(/\S/g," "),m+=f.slice(s,e).replace(/./g,"~")}else m+=t===c?f.slice(0,l).replace(/./g,"~"):f.replace(/./g,"~");m+=La}return m}function formatLocation(e,t,n,r=formatColorAndReset){const{line:i,character:o}=getLineAndCharacterOfPosition(e,t);let a="";return a+=r(n?convertToRelativePath(e.fileName,n.getCurrentDirectory(),e=>n.getCanonicalFileName(e)):e.fileName,"[96m"),a+=":",a+=r(`${i+1}`,"[93m"),a+=":",a+=r(`${o+1}`,"[93m"),a}function formatDiagnosticsWithColorAndContext(e,t){let n="";for(const r of e){if(r.file){const{file:e,start:i}=r;n+=formatLocation(e,i,t),n+=" - "}if(n+=formatColorAndReset(diagnosticCategoryName(r),getCategoryFormat(r.category)),n+=formatColorAndReset(` TS${r.code}: `,"[90m"),n+=flattenDiagnosticMessageText(r.messageText,t.getNewLine()),r.file&&r.code!==Ot.File_appears_to_be_binary.code&&(n+=t.getNewLine(),n+=formatCodeSpan(r.file,r.start,r.length,"",getCategoryFormat(r.category),t)),r.relatedInformation){n+=t.getNewLine();for(const{file:e,start:i,length:o,messageText:a}of r.relatedInformation)e&&(n+=t.getNewLine(),n+=Ra+formatLocation(e,i,t),n+=formatCodeSpan(e,i,o,Ba,"[96m",t)),n+=t.getNewLine(),n+=Ba+flattenDiagnosticMessageText(a,t.getNewLine())}n+=t.getNewLine()}return n}function flattenDiagnosticMessageText(e,t,n=0){if(isString(e))return e;if(void 0===e)return"";let r="";if(n){r+=t;for(let e=0;e<n;e++)r+=" "}if(r+=e.messageText,n++,e.next)for(const i of e.next)r+=flattenDiagnosticMessageText(i,t,n);return r}function getModeForFileReference(e,t){return(isString(e)?t:e.resolutionMode)||t}function getModeForResolutionAtIndex(e,t,n){return getModeForUsageLocationWorker(e,getModuleNameStringLiteralAt(e,t),n)}function isExclusivelyTypeOnlyImportOrExport(e){var t;return isExportDeclaration(e)?e.isTypeOnly:!!(null==(t=e.importClause)?void 0:t.isTypeOnly)}function getModeForUsageLocation(e,t,n){return getModeForUsageLocationWorker(e,t,n)}function getModeForUsageLocationWorker(e,t,n){if(isImportDeclaration(t.parent)||isExportDeclaration(t.parent)||isJSDocImportTag(t.parent)){if(isExclusivelyTypeOnlyImportOrExport(t.parent)){const e=getResolutionModeOverride(t.parent.attributes);if(e)return e}}if(t.parent.parent&&isImportTypeNode(t.parent.parent)){const e=getResolutionModeOverride(t.parent.parent.attributes);if(e)return e}if(n&&importSyntaxAffectsModuleResolution(n))return getEmitSyntaxForUsageLocationWorker(e,t,n)}function getEmitSyntaxForUsageLocationWorker(e,t,n){var r;if(!n)return;const i=null==(r=walkUpParenthesizedExpressions(t.parent))?void 0:r.parent;if(i&&isImportEqualsDeclaration(i)||isRequireCall(t.parent,!1))return 1;if(isImportCall(walkUpParenthesizedExpressions(t.parent)))return shouldTransformImportCallWorker(e,n)?1:99;const o=getEmitModuleFormatOfFileWorker(e,n);return 1===o?1:emitModuleKindIsNonNodeESM(o)||200===o?99:void 0}function getResolutionModeOverride(e,t){if(!e)return;if(1!==length(e.elements))return void(null==t||t(e,118===e.token?Ot.Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:Ot.Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require));const n=e.elements[0];if(isStringLiteralLike(n.name))if("resolution-mode"===n.name.text){if(isStringLiteralLike(n.value)){if("import"===n.value.text||"require"===n.value.text)return"import"===n.value.text?99:1;null==t||t(n.value,Ot.resolution_mode_should_be_either_require_or_import)}}else null==t||t(n.name,118===e.token?Ot.resolution_mode_is_the_only_valid_key_for_type_import_attributes:Ot.resolution_mode_is_the_only_valid_key_for_type_import_assertions)}var ja={resolvedModule:void 0,resolvedTypeReferenceDirective:void 0};function getModuleResolutionName(e){return e.text}var Ja={getName:getModuleResolutionName,getMode:(e,t,n)=>getModeForUsageLocation(t,e,n)};function createModuleResolutionLoader(e,t,n,r,i){return{nameAndMode:Ja,resolve:(o,a)=>resolveModuleName(o,e,n,r,i,t,a)}}function getTypeReferenceResolutionName(e){return isString(e)?e:e.fileName}var Wa={getName:getTypeReferenceResolutionName,getMode:(e,t,n)=>getModeForFileReference(e,t&&getDefaultResolutionModeForFileWorker(t,n))};function createTypeReferenceResolutionLoader(e,t,n,r,i){return{nameAndMode:Wa,resolve:(o,a)=>resolveTypeReferenceDirective(o,e,n,r,t,i,a)}}function loadWithModeAwareCache(e,t,n,r,i,o,a,s){if(0===e.length)return l;const c=[],d=new Map,p=s(t,n,r,o,a);for(const t of e){const e=p.nameAndMode.getName(t),o=p.nameAndMode.getMode(t,i,(null==n?void 0:n.commandLine.options)||r),a=createModeAwareCacheKey(e,o);let s=d.get(a);s||d.set(a,s=p.resolve(e,o)),c.push(s)}return c}var Ua="__inferred type names__.ts";function getInferredLibraryNameResolveFrom(e,t,n){return combinePaths(e.configFilePath?getDirectoryPath(e.configFilePath):t,`__lib_node_modules_lookup_${n}__.ts`)}function getLibraryNameFromLibFileName(e){const t=e.split(".");let n=t[1],r=2;for(;t[r]&&"d"!==t[r];)n+=(2===r?"/":"-")+t[r],r++;return"@typescript/lib-"+n}function isReferencedFile(e){switch(null==e?void 0:e.kind){case 3:case 4:case 5:case 7:return!0;default:return!1}}function isReferenceFileLocation(e){return void 0!==e.pos}function getReferencedFileLocation(e,t){var n,r,i,o;const a=h.checkDefined(e.getSourceFileByPath(t.file)),{kind:s,index:c}=t;let l,d,p;switch(s){case 3:const t=getModuleNameStringLiteralAt(a,c);if(p=null==(r=null==(n=e.getResolvedModuleFromModuleSpecifier(t,a))?void 0:n.resolvedModule)?void 0:r.packageId,-1===t.pos)return{file:a,packageId:p,text:t.text};l=skipTrivia(a.text,t.pos),d=t.end;break;case 4:({pos:l,end:d}=a.referencedFiles[c]);break;case 5:({pos:l,end:d}=a.typeReferenceDirectives[c]),p=null==(o=null==(i=e.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(a.typeReferenceDirectives[c],a))?void 0:i.resolvedTypeReferenceDirective)?void 0:o.packageId;break;case 7:({pos:l,end:d}=a.libReferenceDirectives[c]);break;default:return h.assertNever(s)}return{file:a,pos:l,end:d,packageId:p}}function isProgramUptoDate(e,t,n,r,i,o,a,s,c,l){if(!e||(null==s?void 0:s()))return!1;if(!arrayIsEqualTo(e.getRootFileNames(),t))return!1;let d;if(!arrayIsEqualTo(e.getProjectReferences(),l,function projectReferenceUptoDate(t,n,r){return projectReferenceIsEqualTo(t,n)&&resolvedProjectReferenceUptoDate(e.getResolvedProjectReferences()[r],t)}))return!1;if(e.getSourceFiles().some(function sourceFileNotUptoDate(e){return!function sourceFileVersionUptoDate(e){return e.version===r(e.resolvedPath,e.fileName)}(e)||o(e.path)}))return!1;const p=e.getMissingFilePaths();if(p&&forEachEntry(p,i))return!1;const u=e.getCompilerOptions();return!!compareDataObjects(u,n)&&((!e.resolvedLibReferences||!forEachEntry(e.resolvedLibReferences,(e,t)=>a(t)))&&(!u.configFile||!n.configFile||u.configFile.text===n.configFile.text));function resolvedProjectReferenceUptoDate(e,t){if(e){if(contains(d,e))return!0;const n=resolveProjectReferencePath(t),r=c(n);return!!r&&(e.commandLine.options.configFile===r.options.configFile&&(!!arrayIsEqualTo(e.commandLine.fileNames,r.fileNames)&&((d||(d=[])).push(e),!forEach(e.references,(t,n)=>!resolvedProjectReferenceUptoDate(t,e.commandLine.projectReferences[n])))))}const n=resolveProjectReferencePath(t);return!c(n)}}function getConfigFileParsingDiagnostics(e){return e.options.configFile?[...e.options.configFile.parseDiagnostics,...e.errors]:e.errors}function getImpliedNodeFormatForFile(e,t,n,r){const i=getImpliedNodeFormatForFileWorker(e,t,n,r);return"object"==typeof i?i.impliedNodeFormat:i}function getImpliedNodeFormatForFileWorker(e,t,n,r){const i=qn(r),o=3<=i&&i<=99||pathContainsNodeModules(e);return fileExtensionIsOneOf(e,[".d.mts",".mts",".mjs"])?99:fileExtensionIsOneOf(e,[".d.cts",".cts",".cjs"])?1:o&&fileExtensionIsOneOf(e,[".d.ts",".ts",".tsx",".js",".jsx"])?function lookupFromPackageJson(){const i=getTemporaryModuleResolutionState(t,n,r),o=[];i.failedLookupLocations=o,i.affectingLocations=o;const a=getPackageScopeForPath(getDirectoryPath(e),i);return{impliedNodeFormat:"module"===(null==a?void 0:a.contents.packageJsonContent.type)?99:1,packageJsonLocations:o,packageJsonScope:a}}():void 0}var za=new Set([Ot.Cannot_redeclare_block_scoped_variable_0.code,Ot.A_module_cannot_have_multiple_default_exports.code,Ot.Another_export_default_is_here.code,Ot.The_first_export_default_is_here.code,Ot.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module.code,Ot.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode.code,Ot.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here.code,Ot.constructor_is_a_reserved_word.code,Ot.delete_cannot_be_called_on_an_identifier_in_strict_mode.code,Ot.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode.code,Ot.Invalid_use_of_0_Modules_are_automatically_in_strict_mode.code,Ot.Invalid_use_of_0_in_strict_mode.code,Ot.A_label_is_not_allowed_here.code,Ot.with_statements_are_not_allowed_in_strict_mode.code,Ot.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code,Ot.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code,Ot.A_class_declaration_without_the_default_modifier_must_have_a_name.code,Ot.A_class_member_cannot_have_the_0_keyword.code,Ot.A_comma_expression_is_not_allowed_in_a_computed_property_name.code,Ot.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code,Ot.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,Ot.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,Ot.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code,Ot.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code,Ot.A_definite_assignment_assertion_is_not_permitted_in_this_context.code,Ot.A_destructuring_declaration_must_have_an_initializer.code,Ot.A_get_accessor_cannot_have_parameters.code,Ot.A_rest_element_cannot_contain_a_binding_pattern.code,Ot.A_rest_element_cannot_have_a_property_name.code,Ot.A_rest_element_cannot_have_an_initializer.code,Ot.A_rest_element_must_be_last_in_a_destructuring_pattern.code,Ot.A_rest_parameter_cannot_have_an_initializer.code,Ot.A_rest_parameter_must_be_last_in_a_parameter_list.code,Ot.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code,Ot.A_return_statement_cannot_be_used_inside_a_class_static_block.code,Ot.A_set_accessor_cannot_have_rest_parameter.code,Ot.A_set_accessor_must_have_exactly_one_parameter.code,Ot.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module.code,Ot.An_export_declaration_cannot_have_modifiers.code,Ot.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module.code,Ot.An_import_declaration_cannot_have_modifiers.code,Ot.An_object_member_cannot_be_declared_optional.code,Ot.Argument_of_dynamic_import_cannot_be_spread_element.code,Ot.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code,Ot.Cannot_redeclare_identifier_0_in_catch_clause.code,Ot.Catch_clause_variable_cannot_have_an_initializer.code,Ot.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code,Ot.Classes_can_only_extend_a_single_class.code,Ot.Classes_may_not_have_a_field_named_constructor.code,Ot.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code,Ot.Duplicate_label_0.code,Ot.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments.code,Ot.for_await_loops_cannot_be_used_inside_a_class_static_block.code,Ot.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code,Ot.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code,Ot.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code,Ot.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code,Ot.Jump_target_cannot_cross_function_boundary.code,Ot.Line_terminator_not_permitted_before_arrow.code,Ot.Modifiers_cannot_appear_here.code,Ot.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code,Ot.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code,Ot.Private_identifiers_are_not_allowed_outside_class_bodies.code,Ot.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,Ot.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code,Ot.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code,Ot.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code,Ot.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code,Ot.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code,Ot.Trailing_comma_not_allowed.code,Ot.Variable_declaration_list_cannot_be_empty.code,Ot._0_and_1_operations_cannot_be_mixed_without_parentheses.code,Ot._0_expected.code,Ot._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code,Ot._0_list_cannot_be_empty.code,Ot._0_modifier_already_seen.code,Ot._0_modifier_cannot_appear_on_a_constructor_declaration.code,Ot._0_modifier_cannot_appear_on_a_module_or_namespace_element.code,Ot._0_modifier_cannot_appear_on_a_parameter.code,Ot._0_modifier_cannot_appear_on_class_elements_of_this_kind.code,Ot._0_modifier_cannot_be_used_here.code,Ot._0_modifier_must_precede_1_modifier.code,Ot._0_declarations_can_only_be_declared_inside_a_block.code,Ot._0_declarations_must_be_initialized.code,Ot.extends_clause_already_seen.code,Ot.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code,Ot.Class_constructor_may_not_be_a_generator.code,Ot.Class_constructor_may_not_be_an_accessor.code,Ot.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,Ot.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,Ot.Private_field_0_must_be_declared_in_an_enclosing_class.code,Ot.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value.code]);function createProgram(e,t,n,r,i){var o,s,c,d,p,u,m,_,f,g,y,T,S,x,v,b;let C=isArray(e)?function createCreateProgramOptions(e,t,n,r,i,o){return{rootNames:e,options:t,host:n,oldProgram:r,configFileParsingDiagnostics:i,typeScriptVersion:o}}(e,t,n,r,i):e;const{rootNames:E,options:N,configFileParsingDiagnostics:F,projectReferences:P,typeScriptVersion:D,host:I}=C;let{oldProgram:A}=C;C=void 0,e=void 0;for(const e of ao)if(hasProperty(N,e.name)&&"string"==typeof N[e.name])throw new Error(`${e.name} is a string value; tsconfig JSON must be parsed with parseJsonSourceFileConfigFileContent or getParsedCommandLineOfConfigFile before passing to createProgram`);const O=memoize(()=>createOptionValueDiagnostic("ignoreDeprecations",Ot.Invalid_value_for_ignoreDeprecations));let w,L,M,R,B,j,W,U,z;const V=createProgramDiagnostics(getCompilerOptionsObjectLiteralSyntax);let q,H,K,G,$,Q,X,Y,Z;const ee="number"==typeof N.maxNodeModuleJsDepth?N.maxNodeModuleJsDepth:0;let te=0;const ne=new Map,re=new Map;null==(o=J)||o.push(J.Phase.Program,"createProgram",{configFilePath:N.configFilePath,rootDir:N.rootDir},!0),mark("beforeProgram");const ie=I||createCompilerHost(N),oe=parseConfigHostFromCompilerHostLike(ie);let ae=N.noLib;const le=memoize(()=>ie.getDefaultLibFileName(N)),de=ie.getDefaultLibLocation?ie.getDefaultLibLocation():getDirectoryPath(le());let pe=!1;const ue=ie.getCurrentDirectory(),me=getSupportedExtensions(N),_e=getSupportedExtensionsWithJsonIfResolveJsonModule(N,me),fe=new Map;let ge,ye,he,Te;const Se=ie.hasInvalidatedResolutions||returnFalse;let xe;if(ie.resolveModuleNameLiterals?(Te=ie.resolveModuleNameLiterals.bind(ie),he=null==(s=ie.getModuleResolutionCache)?void 0:s.call(ie)):ie.resolveModuleNames?(Te=(e,t,n,r,i,o)=>ie.resolveModuleNames(e.map(getModuleResolutionName),t,null==o?void 0:o.map(getModuleResolutionName),n,r,i).map(e=>e?void 0!==e.extension?{resolvedModule:e}:{resolvedModule:{...e,extension:extensionFromPath(e.resolvedFileName)}}:ja),he=null==(c=ie.getModuleResolutionCache)?void 0:c.call(ie)):(he=createModuleResolutionCache(ue,getCanonicalFileName,N),Te=(e,t,n,r,i)=>loadWithModeAwareCache(e,t,n,r,i,ie,he,createModuleResolutionLoader)),ie.resolveTypeReferenceDirectiveReferences)xe=ie.resolveTypeReferenceDirectiveReferences.bind(ie);else if(ie.resolveTypeReferenceDirectives)xe=(e,t,n,r,i)=>ie.resolveTypeReferenceDirectives(e.map(getTypeReferenceResolutionName),t,n,r,null==i?void 0:i.impliedNodeFormat).map(e=>({resolvedTypeReferenceDirective:e}));else{const e=createTypeReferenceDirectiveResolutionCache(ue,getCanonicalFileName,void 0,null==he?void 0:he.getPackageJsonInfoCache(),null==he?void 0:he.optionsToRedirectsKey);xe=(t,n,r,i,o)=>loadWithModeAwareCache(t,n,r,i,o,ie,e,createTypeReferenceResolutionLoader)}const ve=ie.hasInvalidatedLibResolutions||returnFalse;let be;if(ie.resolveLibrary)be=ie.resolveLibrary.bind(ie);else{const e=createModuleResolutionCache(ue,getCanonicalFileName,N,null==he?void 0:he.getPackageJsonInfoCache());be=(t,n,r)=>resolveLibrary(t,n,r,ie,e)}const Ce=new Map;let Ee,Ne=new Map,ke=createMultiMap();const Fe=new Map;let Pe=new Map;const De=ie.useCaseSensitiveFileNames()?new Map:void 0;let Ie,Ae,Oe,we;const Le=!!(null==(d=ie.useSourceOfProjectReferenceRedirect)?void 0:d.call(ie))&&!N.disableSourceOfProjectReferenceRedirect,{onProgramCreateComplete:Me,fileExists:Re,directoryExists:Be}=function updateHostForUseSourceOfProjectReferenceRedirect(e){let t;const n=e.compilerHost.fileExists,r=e.compilerHost.directoryExists,i=e.compilerHost.getDirectories,o=e.compilerHost.realpath;if(!e.useSourceOfProjectReferenceRedirect)return{onProgramCreateComplete:noop,fileExists};let a;e.compilerHost.fileExists=fileExists,r&&(a=e.compilerHost.directoryExists=n=>r.call(e.compilerHost,n)?(handleDirectoryCouldBeSymlink(n),!0):!!e.getResolvedProjectReferences()&&(t||(t=new Set,e.forEachResolvedProjectReference(n=>{const r=n.commandLine.options.outFile;if(r)t.add(getDirectoryPath(e.toPath(r)));else{const r=n.commandLine.options.declarationDir||n.commandLine.options.outDir;r&&t.add(e.toPath(r))}})),fileOrDirectoryExistsUsingSource(n,!1)));i&&(e.compilerHost.getDirectories=t=>!e.getResolvedProjectReferences()||r&&r.call(e.compilerHost,t)?i.call(e.compilerHost,t):[]);o&&(e.compilerHost.realpath=t=>{var n;return(null==(n=e.getSymlinkCache().getSymlinkedFiles())?void 0:n.get(e.toPath(t)))||o.call(e.compilerHost,t)});return{onProgramCreateComplete,fileExists,directoryExists:a};function onProgramCreateComplete(){e.compilerHost.fileExists=n,e.compilerHost.directoryExists=r,e.compilerHost.getDirectories=i}function fileExists(t){return!!n.call(e.compilerHost,t)||!!e.getResolvedProjectReferences()&&(!!isDeclarationFileName(t)&&fileOrDirectoryExistsUsingSource(t,!0))}function fileExistsIfProjectReferenceDts(t){const r=e.getRedirectFromOutput(e.toPath(t));return void 0!==r?!isString(r.source)||n.call(e.compilerHost,r.source):void 0}function directoryExistsIfProjectReferenceDeclDir(n){const r=e.toPath(n),i=`${r}${Ft}`;return forEachKey(t,e=>r===e||startsWith(e,i)||startsWith(r,`${e}/`))}function handleDirectoryCouldBeSymlink(t){var n;if(!e.getResolvedProjectReferences()||containsIgnoredPath(t))return;if(!o||!t.includes(Mo))return;const r=e.getSymlinkCache(),i=ensureTrailingDirectorySeparator(e.toPath(t));if(null==(n=r.getSymlinkedDirectories())?void 0:n.has(i))return;const a=normalizePath(o.call(e.compilerHost,t));let s;a!==t&&(s=ensureTrailingDirectorySeparator(e.toPath(a)))!==i?r.setSymlinkedDirectory(t,{real:ensureTrailingDirectorySeparator(a),realPath:s}):r.setSymlinkedDirectory(i,!1)}function fileOrDirectoryExistsUsingSource(t,n){var r;const i=n?fileExistsIfProjectReferenceDts:directoryExistsIfProjectReferenceDeclDir,o=i(t);if(void 0!==o)return o;const a=e.getSymlinkCache(),s=a.getSymlinkedDirectories();if(!s)return!1;const c=e.toPath(t);return!!c.includes(Mo)&&(!(!n||!(null==(r=a.getSymlinkedFiles())?void 0:r.has(c)))||(firstDefinedIterator(s.entries(),([r,o])=>{if(!o||!startsWith(c,r))return;const s=i(c.replace(r,o.realPath));if(n&&s){const n=getNormalizedAbsolutePath(t,e.compilerHost.getCurrentDirectory());a.setSymlinkedFile(c,`${o.real}${n.replace(new RegExp(r,"i"),"")}`)}return s})||!1))}}({compilerHost:ie,getSymlinkCache,useSourceOfProjectReferenceRedirect:Le,toPath:toPath3,getResolvedProjectReferences,getRedirectFromOutput,forEachResolvedProjectReference:forEachResolvedProjectReference2}),je=ie.readFile.bind(ie);null==(p=J)||p.push(J.Phase.Program,"shouldProgramCreateNewSourceFiles",{hasOldProgram:!!A});const Je=function shouldProgramCreateNewSourceFiles(e,t){return!!e&&optionsHaveChanges(e.getCompilerOptions(),t,to)}(A,N);let We;if(null==(u=J)||u.pop(),null==(m=J)||m.push(J.Phase.Program,"tryReuseStructureFromOldProgram",{}),We=function tryReuseStructureFromOldProgram(){var e;if(!A)return 0;const t=A.getCompilerOptions();if(changesAffectModuleResolution(t,N))return 0;if(!arrayIsEqualTo(A.getRootFileNames(),E))return 0;if(!function canReuseProjectReferences(){return!forEachProjectReference(A.getProjectReferences(),A.getResolvedProjectReferences(),(e,t,n)=>{const r=parseProjectReferenceConfigFile((t?t.commandLine.projectReferences:P)[n]);return e?!r||r.sourceFile!==e.sourceFile||!arrayIsEqualTo(e.commandLine.fileNames,r.commandLine.fileNames):void 0!==r},(e,t)=>!arrayIsEqualTo(e,t?getResolvedProjectReferenceByPath(t.sourceFile.path).commandLine.projectReferences:P,projectReferenceIsEqualTo))}())return 0;P&&(Ie=P.map(parseProjectReferenceConfigFile));const n=[],r=[];if(We=2,forEachEntry(A.getMissingFilePaths(),e=>ie.fileExists(e)))return 0;const i=A.getSourceFiles();let o;a=o||(o={}),a[a.Exists=0]="Exists",a[a.Modified=1]="Modified";var a;const s=new Map;for(const t of i){const i=getCreateSourceFileOptions(t.fileName,he,ie,N);let o,a=ie.getSourceFileByPath?ie.getSourceFileByPath(t.fileName,t.resolvedPath,i,void 0,Je):ie.getSourceFile(t.fileName,i,void 0,Je);if(!a)return 0;if(a.packageJsonLocations=(null==(e=i.packageJsonLocations)?void 0:e.length)?i.packageJsonLocations:void 0,a.packageJsonScope=i.packageJsonScope,h.assert(!a.redirectInfo,"Host should not return a redirect source file from `getSourceFile`"),t.redirectInfo){if(a!==t.redirectInfo.unredirected)return 0;o=!1,a=t}else if(A.redirectTargetsMap.has(t.path)){if(a!==t)return 0;o=!1}else o=a!==t;a.path=t.path,a.originalFileName=t.originalFileName,a.resolvedPath=t.resolvedPath,a.fileName=t.fileName;const c=A.sourceFileToPackageName.get(t.path);if(void 0!==c){const e=s.get(c),t=o?1:0;if(void 0!==e&&1===t||1===e)return 0;s.set(c,t)}o?(t.impliedNodeFormat!==a.impliedNodeFormat?We=1:arrayIsEqualTo(t.libReferenceDirectives,a.libReferenceDirectives,fileReferenceIsEqualTo)?t.hasNoDefaultLib!==a.hasNoDefaultLib?We=1:arrayIsEqualTo(t.referencedFiles,a.referencedFiles,fileReferenceIsEqualTo)?(collectExternalModuleReferences(a),arrayIsEqualTo(t.imports,a.imports,moduleNameIsEqualTo)&&arrayIsEqualTo(t.moduleAugmentations,a.moduleAugmentations,moduleNameIsEqualTo)?(12582912&t.flags)!=(12582912&a.flags)?We=1:arrayIsEqualTo(t.typeReferenceDirectives,a.typeReferenceDirectives,fileReferenceIsEqualTo)||(We=1):We=1):We=1:We=1,r.push(a)):Se(t.path)&&(We=1,r.push(a)),n.push(a)}if(2!==We)return We;for(const e of r){const t=getModuleNames(e),n=resolveModuleNamesReusingOldState(t,e);(Q??(Q=new Map)).set(e.path,n);const r=getCompilerOptionsForFile(e);hasChangesInResolutions(t,n,t=>A.getResolvedModule(e,t.text,getModeForUsageLocationWorker(e,t,r)),moduleResolutionIsEqualTo)&&(We=1);const i=e.typeReferenceDirectives,o=resolveTypeReferenceDirectiveNamesReusingOldState(i,e);(Y??(Y=new Map)).set(e.path,o);hasChangesInResolutions(i,o,t=>A.getResolvedTypeReferenceDirective(e,getTypeReferenceResolutionName(t),getModeForTypeReferenceDirectiveInFile(t,e)),typeDirectiveIsEqualTo)&&(We=1)}if(2!==We)return We;if(changesAffectingProgramStructure(t,N))return 1;if(A.resolvedLibReferences&&forEachEntry(A.resolvedLibReferences,(e,t)=>pathForLibFileWorker(t).actual!==e.actual))return 1;if(ie.hasChangedAutomaticTypeDirectiveNames){if(ie.hasChangedAutomaticTypeDirectiveNames())return 1}else if(q=getAutomaticTypeDirectiveNames(N,ie),!arrayIsEqualTo(A.getAutomaticTypeDirectiveNames(),q))return 1;Pe=A.getMissingFilePaths(),h.assert(n.length===A.getSourceFiles().length);for(const e of n)Fe.set(e.path,e);A.getFilesByNameMap().forEach((e,t)=>{e?e.path!==t?Fe.set(t,Fe.get(e.path)):A.isSourceFileFromExternalLibrary(e)&&re.set(e.path,!0):Fe.set(t,e)});const c=t.configFile&&t.configFile===N.configFile||!t.configFile&&!N.configFile&&!optionsHaveChanges(t,N,Qi);return V.reuseStateFromOldProgram(A.getProgramDiagnosticsContainer(),c),pe=c,M=n,q=A.getAutomaticTypeDirectiveNames(),H=A.getAutomaticTypeDirectiveResolutions(),Ne=A.sourceFileToPackageName,ke=A.redirectTargetsMap,Ee=A.usesUriStyleNodeCoreModules,$=A.resolvedModules,X=A.resolvedTypeReferenceDirectiveNames,K=A.resolvedLibReferences,Z=A.getCurrentPackagesMap(),2}(),null==(_=J)||_.pop(),2!==We){if(w=[],L=[],P&&(Ie||(Ie=P.map(parseProjectReferenceConfigFile)),E.length&&(null==Ie||Ie.forEach((e,t)=>{if(!e)return;const n=e.commandLine.options.outFile;if(Le){if(n||0===Vn(e.commandLine.options))for(const n of e.commandLine.fileNames)processProjectReferenceFile(n,{kind:1,index:t})}else if(n)processProjectReferenceFile(changeExtension(n,".d.ts"),{kind:2,index:t});else if(0===Vn(e.commandLine.options)){const n=memoize(()=>getCommonSourceDirectoryOfConfig(e.commandLine,!ie.useCaseSensitiveFileNames()));for(const r of e.commandLine.fileNames)isDeclarationFileName(r)||fileExtensionIs(r,".json")||processProjectReferenceFile(getOutputDeclarationFileName(r,e.commandLine,!ie.useCaseSensitiveFileNames(),n),{kind:2,index:t})}}))),null==(f=J)||f.push(J.Phase.Program,"processRootFiles",{count:E.length}),forEach(E,(e,t)=>processRootFile(e,!1,!1,{kind:0,index:t})),null==(g=J)||g.pop(),q??(q=E.length?getAutomaticTypeDirectiveNames(N,ie):l),H=createModeAwareCache(),q.length){null==(y=J)||y.push(J.Phase.Program,"processTypeReferences",{count:q.length});const e=combinePaths(N.configFilePath?getDirectoryPath(N.configFilePath):ue,Ua),t=resolveTypeReferenceDirectiveNamesReusingOldState(q,e);for(let e=0;e<q.length;e++)H.set(q[e],void 0,t[e]),processTypeReferenceDirective(q[e],void 0,t[e],{kind:8,typeReference:q[e],packageId:null==(S=null==(T=t[e])?void 0:T.resolvedTypeReferenceDirective)?void 0:S.packageId});null==(x=J)||x.pop()}if(E.length&&!ae){const e=le();!N.lib&&e?processRootFile(e,!0,!1,{kind:6}):forEach(N.lib,(e,t)=>{processRootFile(pathForLibFile(e),!0,!1,{kind:6,index:t})})}M=toSorted(w,function compareDefaultLibFiles(e,t){return compareValues(getDefaultLibFilePriority(e),getDefaultLibFilePriority(t))}).concat(L),w=void 0,L=void 0,W=void 0}if(A&&ie.onReleaseOldSourceFile){const e=A.getSourceFiles();for(const t of e){const e=getSourceFileByPath(t.resolvedPath);(Je||!e||e.impliedNodeFormat!==t.impliedNodeFormat||t.resolvedPath===t.path&&e.resolvedPath!==t.path)&&ie.onReleaseOldSourceFile(t,A.getCompilerOptions(),!!getSourceFileByPath(t.path),e)}ie.getParsedCommandLine||A.forEachResolvedProjectReference(e=>{getResolvedProjectReferenceByPath(e.sourceFile.path)||ie.onReleaseOldSourceFile(e.sourceFile,A.getCompilerOptions(),!1,void 0)})}A&&ie.onReleaseParsedCommandLine&&forEachProjectReference(A.getProjectReferences(),A.getResolvedProjectReferences(),(e,t,n)=>{const r=resolveProjectReferencePath((null==t?void 0:t.commandLine.projectReferences[n])||A.getProjectReferences()[n]);(null==Ae?void 0:Ae.has(toPath3(r)))||ie.onReleaseParsedCommandLine(r,e,A.getCompilerOptions())}),A=void 0,G=void 0,Q=void 0,Y=void 0;const Ue={getRootFileNames:()=>E,getSourceFile,getSourceFileByPath,getSourceFiles:()=>M,getMissingFilePaths:()=>Pe,getModuleResolutionCache:()=>he,getFilesByNameMap:()=>Fe,getCompilerOptions:()=>N,getSyntacticDiagnostics:function getSyntacticDiagnostics(e,t){return getDiagnosticsHelper(e,getSyntacticDiagnosticsForFile,t)},getOptionsDiagnostics:function getOptionsDiagnostics(){return sortAndDeduplicateDiagnostics(concatenate(V.getCombinedDiagnostics(Ue).getGlobalDiagnostics(),function getOptionsDiagnosticsOfConfigFile(){if(!N.configFile)return l;let e=V.getCombinedDiagnostics(Ue).getDiagnostics(N.configFile.fileName);return forEachResolvedProjectReference2(t=>{e=concatenate(e,V.getCombinedDiagnostics(Ue).getDiagnostics(t.sourceFile.fileName))}),e}()))},getGlobalDiagnostics:function getGlobalDiagnostics(){return E.length?sortAndDeduplicateDiagnostics(getTypeChecker().getGlobalDiagnostics().slice()):l},getSemanticDiagnostics:function getSemanticDiagnostics(e,t,n){return getDiagnosticsHelper(e,(e,t)=>function getSemanticDiagnosticsForFile(e,t,n){return concatenate(filterSemanticDiagnostics(getBindAndCheckDiagnosticsForFile(e,t,n),N),getProgramDiagnostics(e))}(e,t,n),t)},getCachedSemanticDiagnostics:function getCachedSemanticDiagnostics(e){return null==U?void 0:U.get(e.path)},getSuggestionDiagnostics:function getSuggestionDiagnostics(e,t){return runWithCancellationToken(()=>getTypeChecker().getSuggestionDiagnostics(e,t))},getDeclarationDiagnostics:function getDeclarationDiagnostics2(e,t){return getDiagnosticsHelper(e,getDeclarationDiagnosticsForFile,t)},getBindAndCheckDiagnostics:function getBindAndCheckDiagnostics(e,t){return getBindAndCheckDiagnosticsForFile(e,t,void 0)},getProgramDiagnostics,getTypeChecker,getClassifiableNames:function getClassifiableNames(){var e;if(!j){getTypeChecker(),j=new Set;for(const t of M)null==(e=t.classifiableNames)||e.forEach(e=>j.add(e))}return j},getCommonSourceDirectory:getCommonSourceDirectory2,emit:function emit(e,t,n,r,i,o,a){var s,c;null==(s=J)||s.push(J.Phase.Emit,"emit",{path:null==e?void 0:e.path},!0);const l=runWithCancellationToken(()=>function emitWorker(e,t,n,r,i,o,a,s){if(!a){const i=handleNoEmitOptions(e,t,n,r);if(i)return i}const c=getTypeChecker(),l=c.getEmitResolver(N.outFile?void 0:t,r,emitResolverSkipsTypeChecking(i,a));mark("beforeEmit");const d=c.runWithCancellationToken(r,()=>emitFiles(l,getEmitHost(n),t,getTransformers(N,o,i),i,!1,a,s));return mark("afterEmit"),measure("Emit","beforeEmit","afterEmit"),d}(Ue,e,t,n,r,i,o,a));return null==(c=J)||c.pop(),l},getCurrentDirectory:()=>ue,getNodeCount:()=>getTypeChecker().getNodeCount(),getIdentifierCount:()=>getTypeChecker().getIdentifierCount(),getSymbolCount:()=>getTypeChecker().getSymbolCount(),getTypeCount:()=>getTypeChecker().getTypeCount(),getInstantiationCount:()=>getTypeChecker().getInstantiationCount(),getRelationCacheSizes:()=>getTypeChecker().getRelationCacheSizes(),getFileProcessingDiagnostics:()=>V.getFileProcessingDiagnostics(),getAutomaticTypeDirectiveNames:()=>q,getAutomaticTypeDirectiveResolutions:()=>H,isSourceFileFromExternalLibrary,isSourceFileDefaultLibrary:function isSourceFileDefaultLibrary(e){if(!e.isDeclarationFile)return!1;if(e.hasNoDefaultLib)return!0;if(N.noLib)return!1;const t=ie.useCaseSensitiveFileNames()?equateStringsCaseSensitive:equateStringsCaseInsensitive;return N.lib?some(N.lib,n=>{const r=K.get(n);return!!r&&t(e.fileName,r.actual)}):t(e.fileName,le())},getModeForUsageLocation:getModeForUsageLocation2,getEmitSyntaxForUsageLocation:function getEmitSyntaxForUsageLocation(e,t){return getEmitSyntaxForUsageLocationWorker(e,t,getCompilerOptionsForFile(e))},getModeForResolutionAtIndex:getModeForResolutionAtIndex2,getSourceFileFromReference:function getSourceFileFromReference(e,t){return getSourceFileFromReferenceWorker(resolveTripleslashReference(t.fileName,e.fileName),getSourceFile)},getLibFileFromReference:function getLibFileFromReference(e){var t;const n=getLibFileNameFromLibReference(e),r=n&&(null==(t=null==K?void 0:K.get(n))?void 0:t.actual);return void 0!==r?getSourceFile(r):void 0},sourceFileToPackageName:Ne,redirectTargetsMap:ke,usesUriStyleNodeCoreModules:Ee,resolvedModules:$,resolvedTypeReferenceDirectiveNames:X,resolvedLibReferences:K,getProgramDiagnosticsContainer:()=>V,getResolvedModule,getResolvedModuleFromModuleSpecifier:function getResolvedModuleFromModuleSpecifier(e,t){return t??(t=getSourceFileOfNode(e)),h.assertIsDefined(t,"`moduleSpecifier` must have a `SourceFile` ancestor. Use `program.getResolvedModule` instead to provide the containing file and resolution mode."),getResolvedModule(t,e.text,getModeForUsageLocation2(t,e))},getResolvedTypeReferenceDirective,getResolvedTypeReferenceDirectiveFromTypeReferenceDirective:function getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(e,t){return getResolvedTypeReferenceDirective(t,e.fileName,getModeForTypeReferenceDirectiveInFile(e,t))},forEachResolvedModule,forEachResolvedTypeReferenceDirective,getCurrentPackagesMap:()=>Z,typesPackageExists:function typesPackageExists(e){return getPackagesMap().has(getTypesPackageName(e))},packageBundlesTypes:function packageBundlesTypes(e){return!!getPackagesMap().get(e)},isEmittedFile:function isEmittedFile(e){if(N.noEmit)return!1;const t=toPath3(e);if(getSourceFileByPath(t))return!1;const n=N.outFile;if(n)return isSameFile(t,n)||isSameFile(t,removeFileExtension(n)+".d.ts");if(N.declarationDir&&containsPath(N.declarationDir,t,ue,!ie.useCaseSensitiveFileNames()))return!0;if(N.outDir)return containsPath(N.outDir,t,ue,!ie.useCaseSensitiveFileNames());if(fileExtensionIsOneOf(t,yr)||isDeclarationFileName(t)){const e=removeFileExtension(t);return!!getSourceFileByPath(e+".ts")||!!getSourceFileByPath(e+".tsx")}return!1},getConfigFileParsingDiagnostics:function getConfigFileParsingDiagnostics2(){return F||l},getProjectReferences:function getProjectReferences(){return P},getResolvedProjectReferences,getRedirectFromSourceFile,getResolvedProjectReferenceByPath,forEachResolvedProjectReference:forEachResolvedProjectReference2,isSourceOfProjectReferenceRedirect,getRedirectFromOutput,getCompilerOptionsForFile,getDefaultResolutionModeForFile:getDefaultResolutionModeForFile2,getEmitModuleFormatOfFile:getEmitModuleFormatOfFile2,getImpliedNodeFormatForEmit:function getImpliedNodeFormatForEmit2(e){return getImpliedNodeFormatForEmitWorker(e,getCompilerOptionsForFile(e))},shouldTransformImportCall,emitBuildInfo:function emitBuildInfo(e){var t,n;null==(t=J)||t.push(J.Phase.Emit,"emitBuildInfo",{},!0),mark("beforeEmit");const r=emitFiles(Ea,getEmitHost(e),void 0,va,!1,!0);return mark("afterEmit"),measure("Emit","beforeEmit","afterEmit"),null==(n=J)||n.pop(),r},fileExists:Re,readFile:je,directoryExists:Be,getSymlinkCache,realpath:null==(v=ie.realpath)?void 0:v.bind(ie),useCaseSensitiveFileNames:()=>ie.useCaseSensitiveFileNames(),getCanonicalFileName,getFileIncludeReasons:()=>V.getFileReasons(),structureIsReused:We,writeFile:writeFile2,getGlobalTypingsCacheLocation:maybeBind(ie,ie.getGlobalTypingsCacheLocation)};return Me(),pe||function verifyCompilerOptions(){N.strictPropertyInitialization&&!getStrictOptionValue(N,"strictNullChecks")&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1,"strictPropertyInitialization","strictNullChecks");N.exactOptionalPropertyTypes&&!getStrictOptionValue(N,"strictNullChecks")&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1,"exactOptionalPropertyTypes","strictNullChecks");(N.isolatedModules||N.verbatimModuleSyntax)&&N.outFile&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_with_option_1,"outFile",N.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules");N.isolatedDeclarations&&(rr(N)&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_with_option_1,"allowJs","isolatedDeclarations"),Zn(N)||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"isolatedDeclarations","declaration","composite"));N.inlineSourceMap&&(N.sourceMap&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_with_option_1,"sourceMap","inlineSourceMap"),N.mapRoot&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_with_option_1,"mapRoot","inlineSourceMap"));N.composite&&(!1===N.declaration&&createDiagnosticForOptionName(Ot.Composite_projects_may_not_disable_declaration_emit,"declaration"),!1===N.incremental&&createDiagnosticForOptionName(Ot.Composite_projects_may_not_disable_incremental_compilation,"declaration"));const e=N.outFile;N.tsBuildInfoFile||!N.incremental||e||N.configFilePath||V.addConfigDiagnostic(createCompilerDiagnostic(Ot.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified));if(function verifyDeprecatedCompilerOptions(){function createDiagnostic(e,t,n,r,...i){if(n){const o=chainDiagnosticMessages(void 0,Ot.Use_0_instead,n);createDiagnosticForOption(!t,e,void 0,chainDiagnosticMessages(o,r,...i))}else createDiagnosticForOption(!t,e,void 0,r,...i)}checkDeprecations("5.0","5.5",createDiagnostic,e=>{0===N.target&&e("target","ES3"),N.noImplicitUseStrict&&e("noImplicitUseStrict"),N.keyofStringsOnly&&e("keyofStringsOnly"),N.suppressExcessPropertyErrors&&e("suppressExcessPropertyErrors"),N.suppressImplicitAnyIndexErrors&&e("suppressImplicitAnyIndexErrors"),N.noStrictGenericChecks&&e("noStrictGenericChecks"),N.charset&&e("charset"),N.out&&e("out",void 0,"outFile"),N.importsNotUsedAsValues&&e("importsNotUsedAsValues",void 0,"verbatimModuleSyntax"),N.preserveValueImports&&e("preserveValueImports",void 0,"verbatimModuleSyntax")})}(),function verifyProjectReferences(){const e=N.suppressOutputPathCheck?void 0:getTsBuildInfoEmitOutputFilePath(N);forEachProjectReference(P,Ie,(t,n,r)=>{const i=(n?n.commandLine.projectReferences:P)[r],o=n&&n.sourceFile;if(function verifyDeprecatedProjectReference(e,t,n){function createDiagnostic(e,r,i,o,...a){createDiagnosticForReference(t,n,o,...a)}checkDeprecations("5.0","5.5",createDiagnostic,t=>{e.prepend&&t("prepend")})}(i,o,r),!t)return void createDiagnosticForReference(o,r,Ot.File_0_not_found,i.path);const a=t.commandLine.options;if(!a.composite||a.noEmit){(n?n.commandLine.fileNames:E).length&&(a.composite||createDiagnosticForReference(o,r,Ot.Referenced_project_0_must_have_setting_composite_Colon_true,i.path),a.noEmit&&createDiagnosticForReference(o,r,Ot.Referenced_project_0_may_not_disable_emit,i.path))}!n&&e&&e===getTsBuildInfoEmitOutputFilePath(a)&&(createDiagnosticForReference(o,r,Ot.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1,e,i.path),fe.set(toPath3(e),!0))})}(),N.composite){const e=new Set(E.map(toPath3));for(const t of M)sourceFileMayBeEmitted(t,Ue)&&!e.has(t.path)&&V.addLazyConfigDiagnostic(t,Ot.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern,t.fileName,N.configFilePath||"")}if(N.paths)for(const e in N.paths)if(hasProperty(N.paths,e))if(hasZeroOrOneAsteriskCharacter(e)||createDiagnosticForOptionPaths(!0,e,Ot.Pattern_0_can_have_at_most_one_Asterisk_character,e),isArray(N.paths[e])){const t=N.paths[e].length;0===t&&createDiagnosticForOptionPaths(!1,e,Ot.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,e);for(let n=0;n<t;n++){const t=N.paths[e][n],r=typeof t;"string"===r?(hasZeroOrOneAsteriskCharacter(t)||createDiagnosticForOptionPathKeyValue(e,n,Ot.Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character,t,e),N.baseUrl||pathIsRelative(t)||pathIsAbsolute(t)||createDiagnosticForOptionPathKeyValue(e,n,Ot.Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash)):createDiagnosticForOptionPathKeyValue(e,n,Ot.Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2,t,e,r)}}else createDiagnosticForOptionPaths(!1,e,Ot.Substitutions_for_pattern_0_should_be_an_array,e);N.sourceMap||N.inlineSourceMap||(N.inlineSources&&createDiagnosticForOptionName(Ot.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,"inlineSources"),N.sourceRoot&&createDiagnosticForOptionName(Ot.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,"sourceRoot"));!N.mapRoot||N.sourceMap||N.declarationMap||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"mapRoot","sourceMap","declarationMap");N.declarationDir&&(Zn(N)||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"declarationDir","declaration","composite"),e&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_with_option_1,"declarationDir","outFile"));N.declarationMap&&!Zn(N)&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"declarationMap","declaration","composite");N.lib&&N.noLib&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_with_option_1,"lib","noLib");const t=zn(N),n=find(M,e=>isExternalModule(e)&&!e.isDeclarationFile);if(N.isolatedModules||N.verbatimModuleSyntax)0===N.module&&t<2&&N.isolatedModules&&createDiagnosticForOptionName(Ot.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher,"isolatedModules","target"),!1===N.preserveConstEnums&&createDiagnosticForOptionName(Ot.Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled,N.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules","preserveConstEnums");else if(n&&t<2&&0===N.module){const e=getErrorSpanForNode(n,"boolean"==typeof n.externalModuleIndicator?n:n.externalModuleIndicator);V.addConfigDiagnostic(createFileDiagnostic(n,e.start,e.length,Ot.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none))}if(e&&!N.emitDeclarationOnly)if(N.module&&2!==N.module&&4!==N.module)createDiagnosticForOptionName(Ot.Only_amd_and_system_modules_are_supported_alongside_0,"outFile","module");else if(void 0===N.module&&n){const e=getErrorSpanForNode(n,"boolean"==typeof n.externalModuleIndicator?n:n.externalModuleIndicator);V.addConfigDiagnostic(createFileDiagnostic(n,e.start,e.length,Ot.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system,"outFile"))}Yn(N)&&(1===qn(N)?createDiagnosticForOptionName(Ot.Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic,"resolveJsonModule"):hasJsonModuleEmitEnabled(N)||createDiagnosticForOptionName(Ot.Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd,"resolveJsonModule","module"));if(N.outDir||N.rootDir||N.sourceRoot||N.mapRoot||Zn(N)&&N.declarationDir){const e=getCommonSourceDirectory2();N.outDir&&""===e&&M.some(e=>getRootLength(e.fileName)>1)&&createDiagnosticForOptionName(Ot.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}N.checkJs&&!rr(N)&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs");N.emitDeclarationOnly&&(Zn(N)||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite"));N.emitDecoratorMetadata&&!N.experimentalDecorators&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators");N.jsxFactory?(N.reactNamespace&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory"),4!==N.jsx&&5!==N.jsx||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFactory",Wi.get(""+N.jsx)),parseIsolatedEntityName(N.jsxFactory,t)||createOptionValueDiagnostic("jsxFactory",Ot.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,N.jsxFactory)):N.reactNamespace&&!isIdentifierText(N.reactNamespace,t)&&createOptionValueDiagnostic("reactNamespace",Ot.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,N.reactNamespace);N.jsxFragmentFactory&&(N.jsxFactory||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_without_specifying_option_1,"jsxFragmentFactory","jsxFactory"),4!==N.jsx&&5!==N.jsx||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFragmentFactory",Wi.get(""+N.jsx)),parseIsolatedEntityName(N.jsxFragmentFactory,t)||createOptionValueDiagnostic("jsxFragmentFactory",Ot.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,N.jsxFragmentFactory));N.reactNamespace&&(4!==N.jsx&&5!==N.jsx||createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_when_option_jsx_is_1,"reactNamespace",Wi.get(""+N.jsx)));N.jsxImportSource&&2===N.jsx&&createDiagnosticForOptionName(Ot.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxImportSource",Wi.get(""+N.jsx));const r=Vn(N);N.verbatimModuleSyntax&&(2!==r&&3!==r&&4!==r||createDiagnosticForOptionName(Ot.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System,"verbatimModuleSyntax"));N.allowImportingTsExtensions&&!(N.noEmit||N.emitDeclarationOnly||N.rewriteRelativeImportExtensions)&&createOptionValueDiagnostic("allowImportingTsExtensions",Ot.Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set);const i=qn(N);N.resolvePackageJsonExports&&!moduleResolutionSupportsPackageJsonExportsAndImports(i)&&createDiagnosticForOptionName(Ot.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,"resolvePackageJsonExports");N.resolvePackageJsonImports&&!moduleResolutionSupportsPackageJsonExportsAndImports(i)&&createDiagnosticForOptionName(Ot.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,"resolvePackageJsonImports");N.customConditions&&!moduleResolutionSupportsPackageJsonExportsAndImports(i)&&createDiagnosticForOptionName(Ot.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,"customConditions");100!==i||emitModuleKindIsNonNodeESM(r)||200===r||createOptionValueDiagnostic("moduleResolution",Ot.Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later,"bundler");if($e[r]&&100<=r&&r<=199&&!(3<=i&&i<=99)){const e=$e[r],t=Ve[e]?e:"Node16";createOptionValueDiagnostic("moduleResolution",Ot.Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1,t,e)}else if(Ve[i]&&3<=i&&i<=99&&!(100<=r&&r<=199)){const e=Ve[i];createOptionValueDiagnostic("module",Ot.Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1,e,e)}if(!N.noEmit&&!N.suppressOutputPathCheck){const e=getEmitHost(),t=new Set;forEachEmittedFile(e,e=>{N.emitDeclarationOnly||verifyEmitFilePath(e.jsFilePath,t),verifyEmitFilePath(e.declarationFilePath,t)})}function verifyEmitFilePath(e,t){if(e){const n=toPath3(e);if(Fe.has(n)){let t;N.configFilePath||(t=chainDiagnosticMessages(void 0,Ot.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),t=chainDiagnosticMessages(t,Ot.Cannot_write_file_0_because_it_would_overwrite_input_file,e),blockEmittingOfFile(e,createCompilerDiagnosticFromMessageChain(t))}const r=ie.useCaseSensitiveFileNames()?n:toFileNameLowerCase(n);t.has(r)?blockEmittingOfFile(e,createCompilerDiagnostic(Ot.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,e)):t.add(r)}}}(),mark("afterProgram"),measure("Program","beforeProgram","afterProgram"),null==(b=J)||b.pop(),Ue;function getResolvedModule(e,t,n){var r;return null==(r=null==$?void 0:$.get(e.path))?void 0:r.get(t,n)}function getResolvedTypeReferenceDirective(e,t,n){var r;return null==(r=null==X?void 0:X.get(e.path))?void 0:r.get(t,n)}function forEachResolvedModule(e,t){forEachResolution($,e,t)}function forEachResolvedTypeReferenceDirective(e,t){forEachResolution(X,e,t)}function forEachResolution(e,t,n){var r;n?null==(r=null==e?void 0:e.get(n.path))||r.forEach((e,r,i)=>t(e,r,i,n.path)):null==e||e.forEach((e,n)=>e.forEach((e,r,i)=>t(e,r,i,n)))}function getPackagesMap(){return Z||(Z=new Map,forEachResolvedModule(({resolvedModule:e})=>{(null==e?void 0:e.packageId)&&Z.set(e.packageId.name,".d.ts"===e.extension||!!Z.get(e.packageId.name))}),Z)}function addResolutionDiagnostics(e){var t;(null==(t=e.resolutionDiagnostics)?void 0:t.length)&&V.addFileProcessingDiagnostic({kind:2,diagnostics:e.resolutionDiagnostics})}function addResolutionDiagnosticsFromResolutionOrCache(e,t,n,r){if(ie.resolveModuleNameLiterals||!ie.resolveModuleNames)return addResolutionDiagnostics(n);if(!he||isExternalModuleNameRelative(t))return;const i=getDirectoryPath(getNormalizedAbsolutePath(e.originalFileName,ue)),o=getRedirectReferenceForResolution(e),a=he.getFromNonRelativeNameCache(t,r,i,o);a&&addResolutionDiagnostics(a)}function resolveModuleNamesWorker(e,t,n){var r,i;const o=getNormalizedAbsolutePath(t.originalFileName,ue),a=getRedirectReferenceForResolution(t);null==(r=J)||r.push(J.Phase.Program,"resolveModuleNamesWorker",{containingFileName:o}),mark("beforeResolveModule");const s=Te(e,o,a,N,t,n);return mark("afterResolveModule"),measure("ResolveModule","beforeResolveModule","afterResolveModule"),null==(i=J)||i.pop(),s}function resolveTypeReferenceDirectiveNamesWorker(e,t,n){var r,i;const o=isString(t)?void 0:t,a=isString(t)?t:getNormalizedAbsolutePath(t.originalFileName,ue),s=o&&getRedirectReferenceForResolution(o);null==(r=J)||r.push(J.Phase.Program,"resolveTypeReferenceDirectiveNamesWorker",{containingFileName:a}),mark("beforeResolveTypeReference");const c=xe(e,a,s,N,o,n);return mark("afterResolveTypeReference"),measure("ResolveTypeReference","beforeResolveTypeReference","afterResolveTypeReference"),null==(i=J)||i.pop(),c}function getRedirectReferenceForResolution(e){var t,n;const r=getRedirectFromSourceFile(e.originalFileName);if(r||!isDeclarationFileName(e.originalFileName))return null==r?void 0:r.resolvedRef;const i=null==(t=getRedirectFromOutput(e.path))?void 0:t.resolvedRef;if(i)return i;if(!ie.realpath||!N.preserveSymlinks||!e.originalFileName.includes(Mo))return;const o=toPath3(ie.realpath(e.originalFileName));return o===e.path||null==(n=getRedirectFromOutput(o))?void 0:n.resolvedRef}function getDefaultLibFilePriority(e){if(containsPath(de,e.fileName,!1)){const t=getBaseFileName(e.fileName);if("lib.d.ts"===t||"lib.es6.d.ts"===t)return 0;const n=removeSuffix(removePrefix(t,"lib."),".d.ts"),r=zi.indexOf(n);if(-1!==r)return r+1}return zi.length+2}function toPath3(e){return toPath(e,ue,getCanonicalFileName)}function getCommonSourceDirectory2(){let e=V.getCommonSourceDirectory();if(void 0!==e)return e;const t=filter(M,e=>sourceFileMayBeEmitted(e,Ue));return e=getCommonSourceDirectory(N,()=>mapDefined(t,e=>e.isDeclarationFile?void 0:e.fileName),ue,getCanonicalFileName,e=>function checkSourceFilesBelongToPath(e,t){let n=!0;const r=ie.getCanonicalFileName(getNormalizedAbsolutePath(t,ue));for(const i of e)if(!i.isDeclarationFile){0!==ie.getCanonicalFileName(getNormalizedAbsolutePath(i.fileName,ue)).indexOf(r)&&(V.addLazyConfigDiagnostic(i,Ot.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files,i.fileName,t),n=!1)}return n}(t,e)),V.setCommonSourceDirectory(e),e}function resolveModuleNamesReusingOldState(e,t){return resolveNamesReusingOldState({entries:e,containingFile:t,containingSourceFile:t,redirectedReference:getRedirectReferenceForResolution(t),nameAndModeGetter:Ja,resolutionWorker:resolveModuleNamesWorker,getResolutionFromOldProgram:(e,n)=>null==A?void 0:A.getResolvedModule(t,e,n),getResolved:getResolvedModuleFromResolution,canReuseResolutionsInFile:()=>t===(null==A?void 0:A.getSourceFile(t.fileName))&&!Se(t.path),resolveToOwnAmbientModule:!0})}function resolveTypeReferenceDirectiveNamesReusingOldState(e,t){const n=isString(t)?void 0:t;return resolveNamesReusingOldState({entries:e,containingFile:t,containingSourceFile:n,redirectedReference:n&&getRedirectReferenceForResolution(n),nameAndModeGetter:Wa,resolutionWorker:resolveTypeReferenceDirectiveNamesWorker,getResolutionFromOldProgram:(e,t)=>{var r;return n?null==A?void 0:A.getResolvedTypeReferenceDirective(n,e,t):null==(r=null==A?void 0:A.getAutomaticTypeDirectiveResolutions())?void 0:r.get(e,t)},getResolved:getResolvedTypeReferenceDirectiveFromResolution,canReuseResolutionsInFile:()=>n?n===(null==A?void 0:A.getSourceFile(n.fileName))&&!Se(n.path):!Se(toPath3(t))})}function resolveNamesReusingOldState({entries:e,containingFile:t,containingSourceFile:n,redirectedReference:r,nameAndModeGetter:i,resolutionWorker:o,getResolutionFromOldProgram:a,getResolved:s,canReuseResolutionsInFile:c,resolveToOwnAmbientModule:d}){if(!e.length)return l;if(!(0!==We||d&&n.ambientModuleNames.length))return o(e,t,void 0);let p,u,m,_;const f=c();for(let c=0;c<e.length;c++){const l=e[c];if(f){const d=i.getName(l),p=a(d,i.getMode(l,n,(null==r?void 0:r.commandLine.options)??N)),u=p&&s(p);if(u){isTraceEnabled(N,ie)&&trace(ie,o===resolveModuleNamesWorker?u.packageId?Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:u.packageId?Ot.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:Ot.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2,d,n?getNormalizedAbsolutePath(n.originalFileName,ue):t,u.resolvedFileName,u.packageId&&packageIdToString(u.packageId)),(m??(m=new Array(e.length)))[c]=p,(_??(_=[])).push(l);continue}}if(d){const t=i.getName(l);if(contains(n.ambientModuleNames,t)){isTraceEnabled(N,ie)&&trace(ie,Ot.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1,t,getNormalizedAbsolutePath(n.originalFileName,ue)),(m??(m=new Array(e.length)))[c]=ja;continue}}(p??(p=[])).push(l),(u??(u=[])).push(c)}if(!p)return m;const g=o(p,t,_);return m?(g.forEach((e,t)=>m[u[t]]=e),m):g}function getEmitHost(e){return{getCanonicalFileName,getCommonSourceDirectory:Ue.getCommonSourceDirectory,getCompilerOptions:Ue.getCompilerOptions,getCurrentDirectory:()=>ue,getSourceFile:Ue.getSourceFile,getSourceFileByPath:Ue.getSourceFileByPath,getSourceFiles:Ue.getSourceFiles,isSourceFileFromExternalLibrary,getRedirectFromSourceFile,isSourceOfProjectReferenceRedirect,getSymlinkCache,writeFile:e||writeFile2,isEmitBlocked,shouldTransformImportCall,getEmitModuleFormatOfFile:getEmitModuleFormatOfFile2,getDefaultResolutionModeForFile:getDefaultResolutionModeForFile2,getModeForResolutionAtIndex:getModeForResolutionAtIndex2,readFile:e=>ie.readFile(e),fileExists:e=>{const t=toPath3(e);return!!getSourceFileByPath(t)||!Pe.has(t)&&ie.fileExists(e)},realpath:maybeBind(ie,ie.realpath),useCaseSensitiveFileNames:()=>ie.useCaseSensitiveFileNames(),getBuildInfo:()=>{var e;return null==(e=Ue.getBuildInfo)?void 0:e.call(Ue)},getSourceFileFromReference:(e,t)=>Ue.getSourceFileFromReference(e,t),redirectTargetsMap:ke,getFileIncludeReasons:Ue.getFileIncludeReasons,createHash:maybeBind(ie,ie.createHash),getModuleResolutionCache:()=>Ue.getModuleResolutionCache(),trace:maybeBind(ie,ie.trace),getGlobalTypingsCacheLocation:Ue.getGlobalTypingsCacheLocation}}function writeFile2(e,t,n,r,i,o){ie.writeFile(e,t,n,r,i,o)}function getResolvedProjectReferences(){return Ie}function isSourceFileFromExternalLibrary(e){return!!re.get(e.path)}function getTypeChecker(){return B||(B=createTypeChecker(Ue))}function isEmitBlocked(e){return fe.has(toPath3(e))}function getSourceFile(e){return getSourceFileByPath(toPath3(e))}function getSourceFileByPath(e){return Fe.get(e)||void 0}function getDiagnosticsHelper(e,t,n){return sortAndDeduplicateDiagnostics(e?t(e,n):flatMap(Ue.getSourceFiles(),e=>(n&&n.throwIfCancellationRequested(),t(e,n))))}function getProgramDiagnostics(e){var t;if(skipTypeChecking(e,N,Ue))return l;const n=V.getCombinedDiagnostics(Ue).getDiagnostics(e.fileName);return(null==(t=e.commentDirectives)?void 0:t.length)?getDiagnosticsWithPrecedingDirectives(e,e.commentDirectives,n).diagnostics:n}function getSyntacticDiagnosticsForFile(e){return isSourceFileJS(e)?(e.additionalSyntacticDiagnostics||(e.additionalSyntacticDiagnostics=function getJSSyntacticDiagnosticsForFile(e){return runWithCancellationToken(()=>{const t=[];return walk(e,e),forEachChildRecursively(e,walk,walkArray),t;function walk(e,n){switch(n.kind){case 170:case 173:case 175:if(n.questionToken===e)return t.push(createDiagnosticForNode2(e,Ot.The_0_modifier_can_only_be_used_in_TypeScript_files,"?")),"skip";case 174:case 177:case 178:case 179:case 219:case 263:case 220:case 261:if(n.type===e)return t.push(createDiagnosticForNode2(e,Ot.Type_annotations_can_only_be_used_in_TypeScript_files)),"skip"}switch(e.kind){case 274:if(e.isTypeOnly)return t.push(createDiagnosticForNode2(n,Ot._0_declarations_can_only_be_used_in_TypeScript_files,"import type")),"skip";break;case 279:if(e.isTypeOnly)return t.push(createDiagnosticForNode2(e,Ot._0_declarations_can_only_be_used_in_TypeScript_files,"export type")),"skip";break;case 277:case 282:if(e.isTypeOnly)return t.push(createDiagnosticForNode2(e,Ot._0_declarations_can_only_be_used_in_TypeScript_files,isImportSpecifier(e)?"import...type":"export...type")),"skip";break;case 272:return t.push(createDiagnosticForNode2(e,Ot.import_can_only_be_used_in_TypeScript_files)),"skip";case 278:if(e.isExportEquals)return t.push(createDiagnosticForNode2(e,Ot.export_can_only_be_used_in_TypeScript_files)),"skip";break;case 299:if(119===e.token)return t.push(createDiagnosticForNode2(e,Ot.implements_clauses_can_only_be_used_in_TypeScript_files)),"skip";break;case 265:const r=tokenToString(120);return h.assertIsDefined(r),t.push(createDiagnosticForNode2(e,Ot._0_declarations_can_only_be_used_in_TypeScript_files,r)),"skip";case 268:const i=32&e.flags?tokenToString(145):tokenToString(144);return h.assertIsDefined(i),t.push(createDiagnosticForNode2(e,Ot._0_declarations_can_only_be_used_in_TypeScript_files,i)),"skip";case 266:return t.push(createDiagnosticForNode2(e,Ot.Type_aliases_can_only_be_used_in_TypeScript_files)),"skip";case 177:case 175:case 263:return e.body?void 0:(t.push(createDiagnosticForNode2(e,Ot.Signature_declarations_can_only_be_used_in_TypeScript_files)),"skip");case 267:const o=h.checkDefined(tokenToString(94));return t.push(createDiagnosticForNode2(e,Ot._0_declarations_can_only_be_used_in_TypeScript_files,o)),"skip";case 236:return t.push(createDiagnosticForNode2(e,Ot.Non_null_assertions_can_only_be_used_in_TypeScript_files)),"skip";case 235:return t.push(createDiagnosticForNode2(e.type,Ot.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)),"skip";case 239:return t.push(createDiagnosticForNode2(e.type,Ot.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)),"skip";case 217:h.fail()}}function walkArray(e,n){if(canHaveIllegalDecorators(n)){const e=find(n.modifiers,isDecorator);e&&t.push(createDiagnosticForNode2(e,Ot.Decorators_are_not_valid_here))}else if(canHaveDecorators(n)&&n.modifiers){const e=findIndex(n.modifiers,isDecorator);if(e>=0)if(isParameter(n)&&!N.experimentalDecorators)t.push(createDiagnosticForNode2(n.modifiers[e],Ot.Decorators_are_not_valid_here));else if(isClassDeclaration(n)){const r=findIndex(n.modifiers,isExportModifier);if(r>=0){const i=findIndex(n.modifiers,isDefaultModifier);if(e>r&&i>=0&&e<i)t.push(createDiagnosticForNode2(n.modifiers[e],Ot.Decorators_are_not_valid_here));else if(r>=0&&e<r){const i=findIndex(n.modifiers,isDecorator,r);i>=0&&t.push(addRelatedInfo(createDiagnosticForNode2(n.modifiers[i],Ot.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),createDiagnosticForNode2(n.modifiers[e],Ot.Decorator_used_before_export_here)))}}}}switch(n.kind){case 264:case 232:case 175:case 177:case 178:case 179:case 219:case 263:case 220:if(e===n.typeParameters)return t.push(createDiagnosticForNodeArray2(e,Ot.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)),"skip";case 244:if(e===n.modifiers)return checkModifiers(n.modifiers,244===n.kind),"skip";break;case 173:if(e===n.modifiers){for(const n of e)isModifier(n)&&126!==n.kind&&129!==n.kind&&t.push(createDiagnosticForNode2(n,Ot.The_0_modifier_can_only_be_used_in_TypeScript_files,tokenToString(n.kind)));return"skip"}break;case 170:if(e===n.modifiers&&some(e,isModifier))return t.push(createDiagnosticForNodeArray2(e,Ot.Parameter_modifiers_can_only_be_used_in_TypeScript_files)),"skip";break;case 214:case 215:case 234:case 286:case 287:case 216:if(e===n.typeArguments)return t.push(createDiagnosticForNodeArray2(e,Ot.Type_arguments_can_only_be_used_in_TypeScript_files)),"skip"}}function checkModifiers(e,n){for(const r of e)switch(r.kind){case 87:if(n)continue;case 125:case 123:case 124:case 148:case 138:case 128:case 164:case 103:case 147:t.push(createDiagnosticForNode2(r,Ot.The_0_modifier_can_only_be_used_in_TypeScript_files,tokenToString(r.kind)))}}function createDiagnosticForNodeArray2(t,n,...r){const i=t.pos;return createFileDiagnostic(e,i,t.end-i,n,...r)}function createDiagnosticForNode2(t,n,...r){return createDiagnosticForNodeInSourceFile(e,t,n,...r)}})}(e)),concatenate(e.additionalSyntacticDiagnostics,e.parseDiagnostics)):e.parseDiagnostics}function runWithCancellationToken(e){try{return e()}catch(e){throw e instanceof se&&(B=void 0),e}}function getBindAndCheckDiagnosticsForFile(e,t,n){if(n)return getBindAndCheckDiagnosticsForFileNoCache(e,t,n);let r=null==U?void 0:U.get(e.path);return r||(U??(U=new Map)).set(e.path,r=getBindAndCheckDiagnosticsForFileNoCache(e,t)),r}function getBindAndCheckDiagnosticsForFileNoCache(e,t,n){return runWithCancellationToken(()=>{if(skipTypeChecking(e,N,Ue))return l;const r=getTypeChecker();h.assert(!!e.bindDiagnostics);const i=1===e.scriptKind||2===e.scriptKind,o=isPlainJsFile(e,N.checkJs),a=i&&isCheckJsEnabledForFile(e,N);let s=e.bindDiagnostics,c=r.getDiagnostics(e,t,n);return o&&(s=filter(s,e=>za.has(e.code)),c=filter(c,e=>za.has(e.code))),function getMergedBindAndCheckDiagnostics(e,t,n,...r){var i;const o=flatten(r);if(!t||!(null==(i=e.commentDirectives)?void 0:i.length))return o;const{diagnostics:a,directives:s}=getDiagnosticsWithPrecedingDirectives(e,e.commentDirectives,o);if(n)return a;for(const t of s.getUnusedExpectations())a.push(createDiagnosticForRange(e,t.range,Ot.Unused_ts_expect_error_directive));return a}(e,!o,!!n,s,c,a?e.jsDocDiagnostics:void 0)})}function getDiagnosticsWithPrecedingDirectives(e,t,n){const r=createCommentDirectivesMap(e,t),i=n.filter(e=>-1===function markPrecedingCommentDirectiveLine(e,t){const{file:n,start:r}=e;if(!n)return-1;const i=getLineStarts(n);let o=computeLineAndCharacterOfPosition(i,r).line-1;for(;o>=0;){if(t.markUsed(o))return o;const e=n.text.slice(i[o],i[o+1]).trim();if(""!==e&&!/^\s*\/\/.*$/.test(e))return-1;o--}return-1}(e,r));return{diagnostics:i,directives:r}}function getDeclarationDiagnosticsWorker(e,t){let n=null==z?void 0:z.get(e.path);return n||(z??(z=new Map)).set(e.path,n=function getDeclarationDiagnosticsForFileNoCache(e,t){return runWithCancellationToken(()=>{const n=getTypeChecker().getEmitResolver(e,t);return getDeclarationDiagnostics(getEmitHost(noop),n,e)||l})}(e,t)),n}function getDeclarationDiagnosticsForFile(e,t){return e.isDeclarationFile?l:getDeclarationDiagnosticsWorker(e,t)}function processRootFile(e,t,n,r){processSourceFile(normalizePath(e),t,n,void 0,r)}function fileReferenceIsEqualTo(e,t){return e.fileName===t.fileName}function moduleNameIsEqualTo(e,t){return 80===e.kind?80===t.kind&&e.escapedText===t.escapedText:11===t.kind&&e.text===t.text}function createSyntheticImport(e,t){const n=Wr.createStringLiteral(e),r=Wr.createImportDeclaration(void 0,void 0,n);return addInternalEmitFlags(r,2),setParent(n,r),setParent(r,t),n.flags&=-17,r.flags&=-17,n}function collectExternalModuleReferences(e){if(e.imports)return;const t=isSourceFileJS(e),n=isExternalModule(e);let r,i,o;if(t||!e.isDeclarationFile&&(Kn(N)||isExternalModule(e))){N.importHelpers&&(r=[createSyntheticImport(sn,e)]);const t=getJSXRuntimeImport(getJSXImplicitImportBase(N,e),N);t&&(r||(r=[])).push(createSyntheticImport(t,e))}for(const t of e.statements)collectModuleReferences(t,!1);return(4194304&e.flags||t)&&forEachDynamicImportOrRequireCall(e,!0,!0,(e,t)=>{setParentRecursive(e,!1),r=append(r,t)}),e.imports=r||l,e.moduleAugmentations=i||l,void(e.ambientModuleNames=o||l);function collectModuleReferences(t,a){if(isAnyImportOrReExport(t)){const n=getExternalModuleName(t);!(n&&isStringLiteral(n)&&n.text)||a&&isExternalModuleNameRelative(n.text)||(setParentRecursive(t,!1),r=append(r,n),Ee||0!==te||e.isDeclarationFile||(startsWith(n.text,"node:")&&!Dr.has(n.text)?Ee=!0:void 0===Ee&&Pr.has(n.text)&&(Ee=!1)))}else if(isModuleDeclaration(t)&&isAmbientModule(t)&&(a||hasSyntacticModifier(t,128)||e.isDeclarationFile)){t.name.parent=t;const r=getTextOfIdentifierOrLiteral(t.name);if(n||a&&!isExternalModuleNameRelative(r))(i||(i=[])).push(t.name);else if(!a){e.isDeclarationFile&&(o||(o=[])).push(r);const n=t.body;if(n)for(const e of n.statements)collectModuleReferences(e,!0)}}}}function getSourceFileFromReferenceWorker(e,t,n,r){if(hasExtension(e)){const i=ie.getCanonicalFileName(e);if(!N.allowNonTsExtensions&&!forEach(flatten(_e),e=>fileExtensionIs(i,e)))return void(n&&(hasJSFileExtension(i)?n(Ot.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option,e):n(Ot.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1,e,"'"+flatten(me).join("', '")+"'")));const o=t(e);if(n)if(o)isReferencedFile(r)&&i===ie.getCanonicalFileName(getSourceFileByPath(r.file).fileName)&&n(Ot.A_file_cannot_have_a_reference_to_itself);else{const t=getRedirectFromSourceFile(e);(null==t?void 0:t.outputDts)?n(Ot.Output_file_0_has_not_been_built_from_source_file_1,t.outputDts,e):n(Ot.File_0_not_found,e)}return o}{const r=N.allowNonTsExtensions&&t(e);if(r)return r;if(n&&N.allowNonTsExtensions)return void n(Ot.File_0_not_found,e);const i=forEach(me[0],n=>t(e+n));return n&&!i&&n(Ot.Could_not_resolve_the_path_0_with_the_extensions_Colon_1,e,"'"+flatten(me).join("', '")+"'"),i}}function processSourceFile(e,t,n,r,i){getSourceFileFromReferenceWorker(e,e=>findSourceFile(e,t,n,i,r),(e,...t)=>addFilePreprocessingFileExplainingDiagnostic(void 0,i,e,t),i)}function processProjectReferenceFile(e,t){return processSourceFile(e,!1,!1,void 0,t)}function reportFileNamesDifferOnlyInCasingError(e,t,n){!isReferencedFile(n)&&some(V.getFileReasons().get(t.path),isReferencedFile)?addFilePreprocessingFileExplainingDiagnostic(t,n,Ot.Already_included_file_name_0_differs_from_file_name_1_only_in_casing,[t.fileName,e]):addFilePreprocessingFileExplainingDiagnostic(t,n,Ot.File_name_0_differs_from_already_included_file_name_1_only_in_casing,[e,t.fileName])}function findSourceFile(e,t,n,r,i){var o,a;null==(o=J)||o.push(J.Phase.Program,"findSourceFile",{fileName:e,isDefaultLib:t||void 0,fileIncludeKind:ce[r.kind]});const s=function findSourceFileWorker(e,t,n,r,i){var o,a;const s=toPath3(e);if(Le){let o=getRedirectFromOutput(s);if(!o&&ie.realpath&&N.preserveSymlinks&&isDeclarationFileName(e)&&e.includes(Mo)){const t=toPath3(ie.realpath(e));t!==s&&(o=getRedirectFromOutput(t))}if(null==o?void 0:o.source){const a=findSourceFile(o.source,t,n,r,i);return a&&addFileToFilesByName(a,s,e,void 0),a}}const c=e;if(Fe.has(s)){const n=Fe.get(s),i=addFileIncludeReason(n||void 0,r,!0);if(n&&i&&!1!==N.forceConsistentCasingInFileNames){const t=n.fileName;toPath3(t)!==toPath3(e)&&(e=(null==(o=getRedirectFromSourceFile(e))?void 0:o.outputDts)||e);getNormalizedAbsolutePathWithoutRoot(t,ue)!==getNormalizedAbsolutePathWithoutRoot(e,ue)&&reportFileNamesDifferOnlyInCasingError(e,n,r)}return n&&re.get(n.path)&&0===te?(re.set(n.path,!1),N.noResolve||(processReferencedFiles(n,t),processTypeReferenceDirectives(n)),N.noLib||processLibReferenceDirectives(n),ne.set(n.path,!1),processImportedModules(n)):n&&ne.get(n.path)&&te<ee&&(ne.set(n.path,!1),processImportedModules(n)),n||void 0}let l;if(!Le){const t=getRedirectFromSourceFile(e);if(null==t?void 0:t.outputDts){if(t.resolvedRef.commandLine.options.outFile)return;e=t.outputDts,l=toPath3(t.outputDts)}}const d=getCreateSourceFileOptions(e,he,ie,N),p=ie.getSourceFile(e,d,t=>addFilePreprocessingFileExplainingDiagnostic(void 0,r,Ot.Cannot_read_file_0_Colon_1,[e,t]),Je);if(i){const t=packageIdToString(i),n=Ce.get(t);if(n){const t=function createRedirectedSourceFile(e,t,n,r,i,o,a){var s;const c=Di.createRedirectedSourceFile({redirectTarget:e,unredirected:t});return c.fileName=n,c.path=r,c.resolvedPath=i,c.originalFileName=o,c.packageJsonLocations=(null==(s=a.packageJsonLocations)?void 0:s.length)?a.packageJsonLocations:void 0,c.packageJsonScope=a.packageJsonScope,re.set(r,te>0),c}(n,p,e,s,toPath3(e),c,d);return ke.add(n.path,e),addFileToFilesByName(t,s,e,l),addFileIncludeReason(t,r,!1),Ne.set(s,packageIdToPackageName(i)),L.push(t),t}p&&(Ce.set(t,p),Ne.set(s,packageIdToPackageName(i)))}if(addFileToFilesByName(p,s,e,l),p){if(re.set(s,te>0),p.fileName=e,p.path=s,p.resolvedPath=toPath3(e),p.originalFileName=c,p.packageJsonLocations=(null==(a=d.packageJsonLocations)?void 0:a.length)?d.packageJsonLocations:void 0,p.packageJsonScope=d.packageJsonScope,addFileIncludeReason(p,r,!1),ie.useCaseSensitiveFileNames()){const t=toFileNameLowerCase(s),n=De.get(t);n?reportFileNamesDifferOnlyInCasingError(e,n,r):De.set(t,p)}ae=ae||p.hasNoDefaultLib&&!n,N.noResolve||(processReferencedFiles(p,t),processTypeReferenceDirectives(p)),N.noLib||processLibReferenceDirectives(p),processImportedModules(p),t?w.push(p):L.push(p),(W??(W=new Set)).add(p.path)}return p}(e,t,n,r,i);return null==(a=J)||a.pop(),s}function getCreateSourceFileOptions(e,t,n,r){const i=getImpliedNodeFormatForFileWorker(getNormalizedAbsolutePath(e,ue),null==t?void 0:t.getPackageJsonInfoCache(),n,r),o=zn(r),a=getSetExternalModuleIndicator(r);return"object"==typeof i?{...i,languageVersion:o,setExternalModuleIndicator:a,jsDocParsingMode:n.jsDocParsingMode}:{languageVersion:o,impliedNodeFormat:i,setExternalModuleIndicator:a,jsDocParsingMode:n.jsDocParsingMode}}function addFileIncludeReason(e,t,n){return!(!e||n&&isReferencedFile(t)&&(null==W?void 0:W.has(t.file)))&&(V.getFileReasons().add(e.path,t),!0)}function addFileToFilesByName(e,t,n,r){r?(updateFilesByNameMap(n,r,e),updateFilesByNameMap(n,t,e||!1)):updateFilesByNameMap(n,t,e)}function updateFilesByNameMap(e,t,n){Fe.set(t,n),void 0!==n?Pe.delete(t):Pe.set(t,e)}function getRedirectFromSourceFile(e){return null==Oe?void 0:Oe.get(toPath3(e))}function forEachResolvedProjectReference2(e){return forEachResolvedProjectReference(Ie,e)}function getRedirectFromOutput(e){return null==we?void 0:we.get(e)}function isSourceOfProjectReferenceRedirect(e){return Le&&!!getRedirectFromSourceFile(e)}function getResolvedProjectReferenceByPath(e){if(Ae)return Ae.get(e)||void 0}function processReferencedFiles(e,t){forEach(e.referencedFiles,(n,r)=>{processSourceFile(resolveTripleslashReference(n.fileName,e.fileName),t,!1,void 0,{kind:4,file:e.path,index:r})})}function processTypeReferenceDirectives(e){const t=e.typeReferenceDirectives;if(!t.length)return;const n=(null==Y?void 0:Y.get(e.path))||resolveTypeReferenceDirectiveNamesReusingOldState(t,e),r=createModeAwareCache();(X??(X=new Map)).set(e.path,r);for(let i=0;i<t.length;i++){const t=e.typeReferenceDirectives[i],o=n[i],a=t.fileName,s=getModeForTypeReferenceDirectiveInFile(t,e);r.set(a,s,o),processTypeReferenceDirective(a,s,o,{kind:5,file:e.path,index:i})}}function getCompilerOptionsForFile(e){var t;return(null==(t=getRedirectReferenceForResolution(e))?void 0:t.commandLine.options)||N}function processTypeReferenceDirective(e,t,n,r){var i,o;null==(i=J)||i.push(J.Phase.Program,"processTypeReferenceDirective",{directive:e,hasResolved:!!n.resolvedTypeReferenceDirective,refKind:r.kind,refPath:isReferencedFile(r)?r.file:void 0}),function processTypeReferenceDirectiveWorker(e,t,n,r){addResolutionDiagnostics(n);const{resolvedTypeReferenceDirective:i}=n;i?(i.isExternalLibraryImport&&te++,processSourceFile(i.resolvedFileName,!1,!1,i.packageId,r),i.isExternalLibraryImport&&te--):addFilePreprocessingFileExplainingDiagnostic(void 0,r,Ot.Cannot_find_type_definition_file_for_0,[e])}(e,0,n,r),null==(o=J)||o.pop()}function pathForLibFile(e){const t=null==K?void 0:K.get(e);if(t)return t.actual;const n=pathForLibFileWorker(e);return(K??(K=new Map)).set(e,n),n.actual}function pathForLibFileWorker(e){var t,n,r,i,o;const a=null==G?void 0:G.get(e);if(a)return a;if(!1===N.libReplacement){const t={resolution:{resolvedModule:void 0},actual:combinePaths(de,e)};return(G??(G=new Map)).set(e,t),t}if(0!==We&&A&&!ve(e)){const i=null==(t=A.resolvedLibReferences)?void 0:t.get(e);if(i){if(i.resolution&&isTraceEnabled(N,ie)){const t=getLibraryNameFromLibFileName(e),o=getInferredLibraryNameResolveFrom(N,ue,e);trace(ie,i.resolution.resolvedModule?i.resolution.resolvedModule.packageId?Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,t,getNormalizedAbsolutePath(o,ue),null==(n=i.resolution.resolvedModule)?void 0:n.resolvedFileName,(null==(r=i.resolution.resolvedModule)?void 0:r.packageId)&&packageIdToString(i.resolution.resolvedModule.packageId))}return(G??(G=new Map)).set(e,i),i}}const s=getLibraryNameFromLibFileName(e),c=getInferredLibraryNameResolveFrom(N,ue,e);null==(i=J)||i.push(J.Phase.Program,"resolveLibrary",{resolveFrom:c}),mark("beforeResolveLibrary");const l=be(s,c,N,e);mark("afterResolveLibrary"),measure("ResolveLibrary","beforeResolveLibrary","afterResolveLibrary"),null==(o=J)||o.pop();const d={resolution:l,actual:l.resolvedModule?l.resolvedModule.resolvedFileName:combinePaths(de,e)};return(G??(G=new Map)).set(e,d),d}function processLibReferenceDirectives(e){forEach(e.libReferenceDirectives,(t,n)=>{const r=getLibFileNameFromLibReference(t);r?processRootFile(pathForLibFile(r),!0,!0,{kind:7,file:e.path,index:n}):V.addFileProcessingDiagnostic({kind:0,reason:{kind:7,file:e.path,index:n}})})}function getCanonicalFileName(e){return ie.getCanonicalFileName(e)}function processImportedModules(e){if(collectExternalModuleReferences(e),e.imports.length||e.moduleAugmentations.length){const t=getModuleNames(e),n=(null==Q?void 0:Q.get(e.path))||resolveModuleNamesReusingOldState(t,e);h.assert(n.length===t.length);const r=getCompilerOptionsForFile(e),i=createModeAwareCache();($??($=new Map)).set(e.path,i);for(let o=0;o<t.length;o++){const a=n[o].resolvedModule,s=t[o].text,c=getModeForUsageLocationWorker(e,t[o],r);if(i.set(s,c,n[o]),addResolutionDiagnosticsFromResolutionOrCache(e,s,n[o],c),!a)continue;const l=a.isExternalLibraryImport,d=!resolutionExtensionIsTSOrJson(a.extension)&&!getRedirectFromSourceFile(a.resolvedFileName),p=l&&d&&(!a.originalPath||pathContainsNodeModules(a.resolvedFileName)),u=a.resolvedFileName;l&&te++;const m=p&&te>ee,_=u&&!getResolutionDiagnostic(r,a,e)&&!r.noResolve&&o<e.imports.length&&!m&&!(d&&!rr(r))&&(isInJSFile(e.imports[o])||!(16777216&e.imports[o].flags));m?ne.set(e.path,!0):_&&findSourceFile(u,!1,!1,{kind:3,file:e.path,index:o},a.packageId),l&&te--}}}function parseProjectReferenceConfigFile(e){Ae||(Ae=new Map);const t=resolveProjectReferencePath(e),n=toPath3(t),r=Ae.get(n);if(void 0!==r)return r||void 0;let i,o;if(ie.getParsedCommandLine){if(i=ie.getParsedCommandLine(t),!i)return addFileToFilesByName(void 0,n,t,void 0),void Ae.set(n,!1);o=h.checkDefined(i.options.configFile),h.assert(!o.path||o.path===n),addFileToFilesByName(o,n,t,void 0)}else{const e=getNormalizedAbsolutePath(getDirectoryPath(t),ue);if(o=ie.getSourceFile(t,100),addFileToFilesByName(o,n,t,void 0),void 0===o)return void Ae.set(n,!1);i=parseJsonSourceFileConfigFileContent(o,oe,e,void 0,t)}o.fileName=t,o.path=n,o.resolvedPath=n,o.originalFileName=t;const a={commandLine:i,sourceFile:o};if(Ae.set(n,a),N.configFile!==o){let e;Oe??(Oe=new Map),we??(we=new Map),i.options.outFile&&(e=changeExtension(i.options.outFile,".d.ts"),null==we||we.set(toPath3(e),{resolvedRef:a}));const t=memoize(()=>getCommonSourceDirectoryOfConfig(a.commandLine,!ie.useCaseSensitiveFileNames()));i.fileNames.forEach(n=>{if(isDeclarationFileName(n))return;const r=toPath3(n);let o;fileExtensionIs(n,".json")||(i.options.outFile?o=e:(o=getOutputDeclarationFileName(n,a.commandLine,!ie.useCaseSensitiveFileNames(),t),we.set(toPath3(o),{resolvedRef:a,source:n}))),Oe.set(r,{resolvedRef:a,outputDts:o})})}return i.projectReferences&&(a.references=i.projectReferences.map(parseProjectReferenceConfigFile)),a}function checkDeprecations(e,t,n,r){const i=new k(e),o=new k(t),s=new k(D||a),c=function getIgnoreDeprecationsVersion(){const e=N.ignoreDeprecations;if(e){if("5.0"===e)return new k(e);O()}return k.zero}(),l=!(1===o.compareTo(s)),d=!l&&-1===c.compareTo(i);(l||d)&&r((r,i,o)=>{l?void 0===i?n(r,i,o,Ot.Option_0_has_been_removed_Please_remove_it_from_your_configuration,r):n(r,i,o,Ot.Option_0_1_has_been_removed_Please_remove_it_from_your_configuration,r,i):void 0===i?n(r,i,o,Ot.Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error,r,t,e):n(r,i,o,Ot.Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error,r,i,t,e)})}function addFilePreprocessingFileExplainingDiagnostic(e,t,n,r){V.addFileProcessingDiagnostic({kind:1,file:e&&e.path,fileProcessingReason:t,diagnostic:n,args:r})}function createDiagnosticForOptionPathKeyValue(e,t,n,...r){let i=!0;forEachOptionPathsSyntax(o=>{isObjectLiteralExpression(o.initializer)&&forEachPropertyAssignment(o.initializer,e,e=>{const o=e.initializer;isArrayLiteralExpression(o)&&o.elements.length>t&&(V.addConfigDiagnostic(createDiagnosticForNodeInSourceFile(N.configFile,o.elements[t],n,...r)),i=!1)})}),i&&createCompilerOptionsDiagnostic(n,...r)}function createDiagnosticForOptionPaths(e,t,n,...r){let i=!0;forEachOptionPathsSyntax(o=>{isObjectLiteralExpression(o.initializer)&&createOptionDiagnosticInObjectLiteralSyntax(o.initializer,e,t,void 0,n,...r)&&(i=!1)}),i&&createCompilerOptionsDiagnostic(n,...r)}function forEachOptionPathsSyntax(e){return forEachOptionsSyntaxByName(getCompilerOptionsObjectLiteralSyntax(),"paths",e)}function createDiagnosticForOptionName(e,t,n,r){createDiagnosticForOption(!0,t,n,e,t,n,r)}function createOptionValueDiagnostic(e,t,...n){createDiagnosticForOption(!1,e,void 0,t,...n)}function createDiagnosticForReference(e,t,n,...r){const i=forEachTsConfigPropArray(e||N.configFile,"references",e=>isArrayLiteralExpression(e.initializer)?e.initializer:void 0);i&&i.elements.length>t?V.addConfigDiagnostic(createDiagnosticForNodeInSourceFile(e||N.configFile,i.elements[t],n,...r)):V.addConfigDiagnostic(createCompilerDiagnostic(n,...r))}function createDiagnosticForOption(e,t,n,r,...i){const o=getCompilerOptionsObjectLiteralSyntax();(!o||!createOptionDiagnosticInObjectLiteralSyntax(o,e,t,n,r,...i))&&createCompilerOptionsDiagnostic(r,...i)}function createCompilerOptionsDiagnostic(e,...t){const n=getCompilerOptionsPropertySyntax();n?"messageText"in e?V.addConfigDiagnostic(createDiagnosticForNodeFromMessageChain(N.configFile,n.name,e)):V.addConfigDiagnostic(createDiagnosticForNodeInSourceFile(N.configFile,n.name,e,...t)):"messageText"in e?V.addConfigDiagnostic(createCompilerDiagnosticFromMessageChain(e)):V.addConfigDiagnostic(createCompilerDiagnostic(e,...t))}function getCompilerOptionsObjectLiteralSyntax(){if(void 0===ge){const e=getCompilerOptionsPropertySyntax();ge=e&&tryCast(e.initializer,isObjectLiteralExpression)||!1}return ge||void 0}function getCompilerOptionsPropertySyntax(){return void 0===ye&&(ye=forEachPropertyAssignment(getTsConfigObjectLiteralExpression(N.configFile),"compilerOptions",identity)||!1),ye||void 0}function createOptionDiagnosticInObjectLiteralSyntax(e,t,n,r,i,...o){let a=!1;return forEachPropertyAssignment(e,n,e=>{"messageText"in i?V.addConfigDiagnostic(createDiagnosticForNodeFromMessageChain(N.configFile,t?e.name:e.initializer,i)):V.addConfigDiagnostic(createDiagnosticForNodeInSourceFile(N.configFile,t?e.name:e.initializer,i,...o)),a=!0},r),a}function blockEmittingOfFile(e,t){fe.set(toPath3(e),!0),V.addConfigDiagnostic(t)}function isSameFile(e,t){return 0===comparePaths(e,t,ue,!ie.useCaseSensitiveFileNames())}function getSymlinkCache(){return ie.getSymlinkCache?ie.getSymlinkCache():(R||(R=createSymlinkCache(ue,getCanonicalFileName)),M&&!R.hasProcessedResolutions()&&R.setSymlinksFromResolutions(forEachResolvedModule,forEachResolvedTypeReferenceDirective,H),R)}function getModeForUsageLocation2(e,t){return getModeForUsageLocationWorker(e,t,getCompilerOptionsForFile(e))}function getModeForResolutionAtIndex2(e,t){return getModeForUsageLocation2(e,getModuleNameStringLiteralAt(e,t))}function getDefaultResolutionModeForFile2(e){return getDefaultResolutionModeForFileWorker(e,getCompilerOptionsForFile(e))}function getEmitModuleFormatOfFile2(e){return getEmitModuleFormatOfFileWorker(e,getCompilerOptionsForFile(e))}function shouldTransformImportCall(e){return shouldTransformImportCallWorker(e,getCompilerOptionsForFile(e))}function getModeForTypeReferenceDirectiveInFile(e,t){return e.resolutionMode||getDefaultResolutionModeForFile2(t)}}function shouldTransformImportCallWorker(e,t){const n=Vn(t);return!(100<=n&&n<=199||200===n)&&getEmitModuleFormatOfFileWorker(e,t)<5}function getEmitModuleFormatOfFileWorker(e,t){return getImpliedNodeFormatForEmitWorker(e,t)??Vn(t)}function getImpliedNodeFormatForEmitWorker(e,t){var n,r;const i=Vn(t);return 100<=i&&i<=199?e.impliedNodeFormat:1!==e.impliedNodeFormat||"commonjs"!==(null==(n=e.packageJsonScope)?void 0:n.contents.packageJsonContent.type)&&!fileExtensionIsOneOf(e.fileName,[".cjs",".cts"])?99!==e.impliedNodeFormat||"module"!==(null==(r=e.packageJsonScope)?void 0:r.contents.packageJsonContent.type)&&!fileExtensionIsOneOf(e.fileName,[".mjs",".mts"])?void 0:99:1}function getDefaultResolutionModeForFileWorker(e,t){return importSyntaxAffectsModuleResolution(t)?getImpliedNodeFormatForEmitWorker(e,t):void 0}var Va={diagnostics:l,sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0};function handleNoEmitOptions(e,t,n,r){const i=e.getCompilerOptions();if(i.noEmit)return t?Va:e.emitBuildInfo(n,r);if(!i.noEmitOnError)return;let o,a=[...e.getOptionsDiagnostics(r),...e.getSyntacticDiagnostics(t,r),...e.getGlobalDiagnostics(r),...e.getSemanticDiagnostics(t,r)];if(0===a.length&&Zn(e.getCompilerOptions())&&(a=e.getDeclarationDiagnostics(void 0,r)),a.length){if(!t){const t=e.emitBuildInfo(n,r);t.diagnostics&&(a=[...a,...t.diagnostics]),o=t.emittedFiles}return{diagnostics:a,sourceMaps:void 0,emittedFiles:o,emitSkipped:!0}}}function filterSemanticDiagnostics(e,t){return filter(e,e=>!e.skippedOn||!t[e.skippedOn])}function parseConfigHostFromCompilerHostLike(e,t=e){return{fileExists:e=>t.fileExists(e),readDirectory:(e,n,r,i,o)=>(h.assertIsDefined(t.readDirectory,"'CompilerHost.readDirectory' must be implemented to correctly process 'projectReferences'"),t.readDirectory(e,n,r,i,o)),readFile:e=>t.readFile(e),directoryExists:maybeBind(t,t.directoryExists),getDirectories:maybeBind(t,t.getDirectories),realpath:maybeBind(t,t.realpath),useCaseSensitiveFileNames:e.useCaseSensitiveFileNames(),getCurrentDirectory:()=>e.getCurrentDirectory(),onUnRecoverableConfigFileDiagnostic:e.onUnRecoverableConfigFileDiagnostic||returnUndefined,trace:e.trace?t=>e.trace(t):void 0}}function resolveProjectReferencePath(e){return resolveConfigFileProjectName(e.path)}function getResolutionDiagnostic(e,{extension:t},{isDeclarationFile:n}){switch(t){case".ts":case".d.ts":case".mts":case".d.mts":case".cts":case".d.cts":return;case".tsx":return needJsx();case".jsx":return needJsx()||needAllowJs();case".js":case".mjs":case".cjs":return needAllowJs();case".json":return function needResolveJsonModule(){return Yn(e)?void 0:Ot.Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used}();default:return function needAllowArbitraryExtensions(){return n||e.allowArbitraryExtensions?void 0:Ot.Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set}()}function needJsx(){return e.jsx?void 0:Ot.Module_0_was_resolved_to_1_but_jsx_is_not_set}function needAllowJs(){return rr(e)||!getStrictOptionValue(e,"noImplicitAny")?void 0:Ot.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type}}function getModuleNames({imports:e,moduleAugmentations:t}){const n=e.map(e=>e);for(const e of t)11===e.kind&&n.push(e);return n}function getModuleNameStringLiteralAt({imports:e,moduleAugmentations:t},n){if(n<e.length)return e[n];let r=e.length;for(const e of t)if(11===e.kind){if(n===r)return e;r++}h.fail("should never ask for module name at index higher than possible module name")}function createProgramDiagnostics(e){let t,n,r,i,o,a,s,c=createMultiMap();return{addConfigDiagnostic(e){h.assert(void 0===t,"Cannot modify program diagnostic state after requesting combined diagnostics"),(i??(i=createDiagnosticCollection())).add(e)},addLazyConfigDiagnostic(e,n,...r){h.assert(void 0===t,"Cannot modify program diagnostic state after requesting combined diagnostics"),(o??(o=[])).push({file:e,diagnostic:n,args:r})},addFileProcessingDiagnostic(e){h.assert(void 0===t,"Cannot modify program diagnostic state after requesting combined diagnostics"),(n??(n=[])).push(e)},setCommonSourceDirectory(e){r=e},reuseStateFromOldProgram(e,t){c=e.getFileReasons(),n=e.getFileProcessingDiagnostics(),t&&(r=e.getCommonSourceDirectory(),i=e.getConfigDiagnostics(),o=e.getLazyConfigDiagnostics())},getFileProcessingDiagnostics:()=>n,getFileReasons:()=>c,getCommonSourceDirectory:()=>r,getConfigDiagnostics:()=>i,getLazyConfigDiagnostics:()=>o,getCombinedDiagnostics:e=>t||(t=createDiagnosticCollection(),null==i||i.getDiagnostics().forEach(e=>t.add(e)),null==n||n.forEach(n=>{switch(n.kind){case 1:return t.add(createDiagnosticExplainingFile(e,n.file&&e.getSourceFileByPath(n.file),n.fileProcessingReason,n.diagnostic,n.args||l));case 0:return t.add(function filePreprocessingLibreferenceDiagnostic(e,{reason:t}){const{file:n,pos:r,end:i}=getReferencedFileLocation(e,t),o=getLibNameFromLibReference(n.libReferenceDirectives[t.index]),a=getSpellingSuggestion(removeSuffix(removePrefix(o,"lib."),".d.ts"),zi,identity);return createFileDiagnostic(n,h.checkDefined(r),h.checkDefined(i)-r,a?Ot.Cannot_find_lib_definition_for_0_Did_you_mean_1:Ot.Cannot_find_lib_definition_for_0,o,a)}(e,n));case 2:return n.diagnostics.forEach(e=>t.add(e));default:h.assertNever(n)}}),null==o||o.forEach(({file:n,diagnostic:r,args:i})=>t.add(createDiagnosticExplainingFile(e,n,void 0,r,i))),a=void 0,s=void 0,t)};function createDiagnosticExplainingFile(t,n,r,i,o){let d,p,u,m,_,f;const g=n&&c.get(n.path);let y=isReferencedFile(r)?r:void 0,T=n&&(null==a?void 0:a.get(n.path));T?(T.fileIncludeReasonDetails?(d=new Set(g),null==g||g.forEach(populateRelatedInfo)):null==g||g.forEach(processReason),_=T.redirectInfo):(null==g||g.forEach(processReason),_=n&&explainIfFileIsRedirectAndImpliedFormat(n,t.getCompilerOptionsForFile(n))),r&&processReason(r);const S=(null==d?void 0:d.size)!==(null==g?void 0:g.length);y&&1===(null==d?void 0:d.size)&&(d=void 0),d&&T&&(T.details&&!S?f=chainDiagnosticMessages(T.details,i,...o??l):T.fileIncludeReasonDetails&&(S?p=cachedFileIncludeDetailsHasProcessedExtraReason()?append(T.fileIncludeReasonDetails.next.slice(0,g.length),p[0]):[...T.fileIncludeReasonDetails.next,p[0]]:cachedFileIncludeDetailsHasProcessedExtraReason()?p=T.fileIncludeReasonDetails.next.slice(0,g.length):m=T.fileIncludeReasonDetails)),f||(m||(m=d&&chainDiagnosticMessages(p,Ot.The_file_is_in_the_program_because_Colon)),f=chainDiagnosticMessages(_?m?[m,..._]:_:m,i,...o||l)),n&&(T?(!T.fileIncludeReasonDetails||!S&&m)&&(T.fileIncludeReasonDetails=m):(a??(a=new Map)).set(n.path,T={fileIncludeReasonDetails:m,redirectInfo:_}),T.details||S||(T.details=f.next));const x=y&&getReferencedFileLocation(t,y);return x&&isReferenceFileLocation(x)?createFileDiagnosticFromMessageChain(x.file,x.pos,x.end-x.pos,f,u):createCompilerDiagnosticFromMessageChain(f,u);function processReason(e){(null==d?void 0:d.has(e))||((d??(d=new Set)).add(e),(p??(p=[])).push(fileIncludeReasonToDiagnostics(t,e)),populateRelatedInfo(e))}function populateRelatedInfo(n){!y&&isReferencedFile(n)?y=n:y!==n&&(u=append(u,function getFileIncludeReasonToRelatedInformation(t,n){let r=null==s?void 0:s.get(n);void 0===r&&(s??(s=new Map)).set(n,r=function fileIncludeReasonToRelatedInformation(t,n){if(isReferencedFile(n)){const e=getReferencedFileLocation(t,n);let r;switch(n.kind){case 3:r=Ot.File_is_included_via_import_here;break;case 4:r=Ot.File_is_included_via_reference_here;break;case 5:r=Ot.File_is_included_via_type_library_reference_here;break;case 7:r=Ot.File_is_included_via_library_reference_here;break;default:h.assertNever(n)}return isReferenceFileLocation(e)?createFileDiagnostic(e.file,e.pos,e.end-e.pos,r):void 0}const r=t.getCurrentDirectory(),i=t.getRootFileNames(),o=t.getCompilerOptions();if(!o.configFile)return;let a,s;switch(n.kind){case 0:if(!o.configFile.configFileSpecs)return;const c=getNormalizedAbsolutePath(i[n.index],r),l=getMatchedFileSpec(t,c);if(l){a=getTsConfigPropArrayElementValue(o.configFile,"files",l),s=Ot.File_is_matched_by_files_list_specified_here;break}const d=getMatchedIncludeSpec(t,c);if(!d||!isString(d))return;a=getTsConfigPropArrayElementValue(o.configFile,"include",d),s=Ot.File_is_matched_by_include_pattern_specified_here;break;case 1:case 2:const p=t.getResolvedProjectReferences(),u=t.getProjectReferences(),m=h.checkDefined(null==p?void 0:p[n.index]),_=forEachProjectReference(u,p,(e,t,n)=>e===m?{sourceFile:(null==t?void 0:t.sourceFile)||o.configFile,index:n}:void 0);if(!_)return;const{sourceFile:f,index:g}=_,y=forEachTsConfigPropArray(f,"references",e=>isArrayLiteralExpression(e.initializer)?e.initializer:void 0);return y&&y.elements.length>g?createDiagnosticForNodeInSourceFile(f,y.elements[g],2===n.kind?Ot.File_is_output_from_referenced_project_specified_here:Ot.File_is_source_from_referenced_project_specified_here):void 0;case 8:if(!o.types)return;a=getOptionsSyntaxByArrayElementValue(e(),"types",n.typeReference),s=Ot.File_is_entry_point_of_type_library_specified_here;break;case 6:if(void 0!==n.index){a=getOptionsSyntaxByArrayElementValue(e(),"lib",o.lib[n.index]),s=Ot.File_is_library_specified_here;break}const T=getNameOfScriptTarget(zn(o));a=T?getOptionsSyntaxByValue(e(),"target",T):void 0,s=Ot.File_is_default_library_for_target_specified_here;break;default:h.assertNever(n)}return a&&createDiagnosticForNodeInSourceFile(o.configFile,a,s)}(t,n)??!1);return r||void 0}(t,n)))}function cachedFileIncludeDetailsHasProcessedExtraReason(){var e;return(null==(e=T.fileIncludeReasonDetails.next)?void 0:e.length)!==(null==g?void 0:g.length)}}}function getFileEmitOutput(e,t,n,r,i,o){const a=[],{emitSkipped:s,diagnostics:c}=e.emit(t,function writeFile2(e,t,n){a.push({name:e,writeByteOrderMark:n,text:t})},r,n,i,o);return{outputFiles:a,emitSkipped:s,diagnostics:c}}var qa,Ha=(e=>(e[e.ComputedDts=0]="ComputedDts",e[e.StoredSignatureAtEmit=1]="StoredSignatureAtEmit",e[e.UsedVersion=2]="UsedVersion",e))(Ha||{});(e=>{function createManyToManyPathMap(){return function create2(e,t,n){const r={getKeys:e=>t.get(e),getValues:t=>e.get(t),keys:()=>e.keys(),size:()=>e.size,deleteKey:r=>{(n||(n=new Set)).add(r);const i=e.get(r);return!!i&&(i.forEach(e=>deleteFromMultimap(t,e,r)),e.delete(r),!0)},set:(i,o)=>{null==n||n.delete(i);const a=e.get(i);return e.set(i,o),null==a||a.forEach(e=>{o.has(e)||deleteFromMultimap(t,e,i)}),o.forEach(e=>{(null==a?void 0:a.has(e))||function addToMultimap(e,t,n){let r=e.get(t);r||(r=new Set,e.set(t,r));r.add(n)}(t,e,i)}),r}};return r}(new Map,new Map,void 0)}function deleteFromMultimap(e,t,n){const r=e.get(t);return!!(null==r?void 0:r.delete(n))&&(r.size||e.delete(t),!0)}function getReferencedFilesFromImportLiteral(e,t){const n=e.getSymbolAtLocation(t);return n&&function getReferencedFilesFromImportedModuleSymbol(e){return mapDefined(e.declarations,e=>{var t;return null==(t=getSourceFileOfNode(e))?void 0:t.resolvedPath})}(n)}function getReferencedFileFromFileName(e,t,n,r){var i;return toPath((null==(i=e.getRedirectFromSourceFile(t))?void 0:i.outputDts)||t,n,r)}function getReferencedFiles(e,t,n){let r;if(t.imports&&t.imports.length>0){const n=e.getTypeChecker();for(const e of t.imports){const t=getReferencedFilesFromImportLiteral(n,e);null==t||t.forEach(addReferencedFile)}}const i=getDirectoryPath(t.resolvedPath);if(t.referencedFiles&&t.referencedFiles.length>0)for(const r of t.referencedFiles){addReferencedFile(getReferencedFileFromFileName(e,r.fileName,i,n))}if(e.forEachResolvedTypeReferenceDirective(({resolvedTypeReferenceDirective:t})=>{if(!t)return;const r=t.resolvedFileName;addReferencedFile(getReferencedFileFromFileName(e,r,i,n))},t),t.moduleAugmentations.length){const n=e.getTypeChecker();for(const e of t.moduleAugmentations){if(!isStringLiteral(e))continue;const t=n.getSymbolAtLocation(e);t&&addReferenceFromAmbientModule(t)}}for(const t of e.getTypeChecker().getAmbientModules())t.declarations&&t.declarations.length>1&&addReferenceFromAmbientModule(t);return r;function addReferenceFromAmbientModule(e){if(e.declarations)for(const n of e.declarations){const e=getSourceFileOfNode(n);e&&e!==t&&addReferencedFile(e.resolvedPath)}}function addReferencedFile(e){(r||(r=new Set)).add(e)}}function canReuseOldState(e,t){return t&&!t.referencedMap==!e}function createReferencedMap(e){return 0===e.module||e.outFile?void 0:createManyToManyPathMap()}function getFilesAffectedByWithOldState(e,t,n,r,i){const o=t.getSourceFileByPath(n);return o?updateShapeSignature(e,t,o,r,i)?(e.referencedMap?getFilesAffectedByUpdatedShapeWhenModuleEmit:getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(e,t,o,r,i):[o]:l}function computeDtsSignature(e,t,n,r,i){e.emit(t,(n,o,a,s,c,l)=>{h.assert(isDeclarationFileName(n),`File extension for signature expected to be dts: Got:: ${n}`),i(computeSignatureWithDiagnostics(e,t,o,r,l),c)},n,2,void 0,!0)}function updateShapeSignature(e,t,n,r,i,o=e.useFileVersionAsSignature){var a;if(null==(a=e.hasCalledUpdateShapeSignature)?void 0:a.has(n.resolvedPath))return!1;const s=e.fileInfos.get(n.resolvedPath),c=s.signature;let l;return n.isDeclarationFile||o||computeDtsSignature(t,n,r,i,t=>{l=t,i.storeSignatureInfo&&(e.signatureInfo??(e.signatureInfo=new Map)).set(n.resolvedPath,0)}),void 0===l&&(l=n.version,i.storeSignatureInfo&&(e.signatureInfo??(e.signatureInfo=new Map)).set(n.resolvedPath,2)),(e.oldSignatures||(e.oldSignatures=new Map)).set(n.resolvedPath,c||!1),(e.hasCalledUpdateShapeSignature||(e.hasCalledUpdateShapeSignature=new Set)).add(n.resolvedPath),s.signature=l,l!==c}function getAllFileNames(e,t){if(!e.allFileNames){const n=t.getSourceFiles();e.allFileNames=n===l?l:n.map(e=>e.fileName)}return e.allFileNames}function getReferencedByPaths(e,t){const n=e.referencedMap.getKeys(t);return n?arrayFrom(n.keys()):[]}function isFileAffectingGlobalScope(e){return function containsGlobalScopeAugmentation(e){return some(e.moduleAugmentations,e=>isGlobalScopeAugmentation(e.parent))}(e)||!isExternalOrCommonJsModule(e)&&!isJsonSourceFile(e)&&!function containsOnlyAmbientModules(e){for(const t of e.statements)if(!isModuleWithStringLiteralName(t))return!1;return!0}(e)}function getAllFilesExcludingDefaultLibraryFile(e,t,n){if(e.allFilesExcludingDefaultLibraryFile)return e.allFilesExcludingDefaultLibraryFile;let r;n&&addSourceFile(n);for(const e of t.getSourceFiles())e!==n&&addSourceFile(e);return e.allFilesExcludingDefaultLibraryFile=r||l,e.allFilesExcludingDefaultLibraryFile;function addSourceFile(e){t.isSourceFileDefaultLibrary(e)||(r||(r=[])).push(e)}}function getFilesAffectedByUpdatedShapeWhenNonModuleEmit(e,t,n){const r=t.getCompilerOptions();return r&&r.outFile?[n]:getAllFilesExcludingDefaultLibraryFile(e,t,n)}function getFilesAffectedByUpdatedShapeWhenModuleEmit(e,t,n,r,i){if(isFileAffectingGlobalScope(n))return getAllFilesExcludingDefaultLibraryFile(e,t,n);const o=t.getCompilerOptions();if(o&&(Kn(o)||o.outFile))return[n];const a=new Map;a.set(n.resolvedPath,n);const s=getReferencedByPaths(e,n.resolvedPath);for(;s.length>0;){const n=s.pop();if(!a.has(n)){const o=t.getSourceFileByPath(n);a.set(n,o),o&&updateShapeSignature(e,t,o,r,i)&&s.push(...getReferencedByPaths(e,o.resolvedPath))}}return arrayFrom(mapDefinedIterator(a.values(),e=>e))}e.createManyToManyPathMap=createManyToManyPathMap,e.canReuseOldState=canReuseOldState,e.createReferencedMap=createReferencedMap,e.create=function create(e,t,n){var r,i;const o=new Map,a=e.getCompilerOptions(),s=createReferencedMap(a),c=canReuseOldState(s,t);e.getTypeChecker();for(const n of e.getSourceFiles()){const l=h.checkDefined(n.version,"Program intended to be used with Builder should have source files with versions set"),d=c?null==(r=t.oldSignatures)?void 0:r.get(n.resolvedPath):void 0,p=void 0===d?c?null==(i=t.fileInfos.get(n.resolvedPath))?void 0:i.signature:void 0:d||void 0;if(s){const t=getReferencedFiles(e,n,e.getCanonicalFileName);t&&s.set(n.resolvedPath,t)}o.set(n.resolvedPath,{version:l,signature:p,affectsGlobalScope:a.outFile?void 0:isFileAffectingGlobalScope(n)||void 0,impliedFormat:n.impliedNodeFormat})}return{fileInfos:o,referencedMap:s,useFileVersionAsSignature:!n&&!c}},e.releaseCache=function releaseCache2(e){e.allFilesExcludingDefaultLibraryFile=void 0,e.allFileNames=void 0},e.getFilesAffectedBy=function getFilesAffectedBy(e,t,n,r,i){var o;const a=getFilesAffectedByWithOldState(e,t,n,r,i);return null==(o=e.oldSignatures)||o.clear(),a},e.getFilesAffectedByWithOldState=getFilesAffectedByWithOldState,e.updateSignatureOfFile=function updateSignatureOfFile(e,t,n){e.fileInfos.get(n).signature=t,(e.hasCalledUpdateShapeSignature||(e.hasCalledUpdateShapeSignature=new Set)).add(n)},e.computeDtsSignature=computeDtsSignature,e.updateShapeSignature=updateShapeSignature,e.getAllDependencies=function getAllDependencies(e,t,n){if(t.getCompilerOptions().outFile)return getAllFileNames(e,t);if(!e.referencedMap||isFileAffectingGlobalScope(n))return getAllFileNames(e,t);const r=new Set,i=[n.resolvedPath];for(;i.length;){const t=i.pop();if(!r.has(t)){r.add(t);const n=e.referencedMap.getValues(t);if(n)for(const e of n.keys())i.push(e)}}return arrayFrom(mapDefinedIterator(r.keys(),e=>{var n;return(null==(n=t.getSourceFileByPath(e))?void 0:n.fileName)??e}))},e.getReferencedByPaths=getReferencedByPaths,e.getAllFilesExcludingDefaultLibraryFile=getAllFilesExcludingDefaultLibraryFile})(qa||(qa={}));var Ka=(e=>(e[e.None=0]="None",e[e.Js=1]="Js",e[e.JsMap=2]="JsMap",e[e.JsInlineMap=4]="JsInlineMap",e[e.DtsErrors=8]="DtsErrors",e[e.DtsEmit=16]="DtsEmit",e[e.DtsMap=32]="DtsMap",e[e.Dts=24]="Dts",e[e.AllJs=7]="AllJs",e[e.AllDtsEmit=48]="AllDtsEmit",e[e.AllDts=56]="AllDts",e[e.All=63]="All",e))(Ka||{});function isBuilderProgramStateWithDefinedProgram(e){return void 0!==e.program}function getBuilderFileEmit(e){let t=1;return e.sourceMap&&(t|=2),e.inlineSourceMap&&(t|=4),Zn(e)&&(t|=24),e.declarationMap&&(t|=32),e.emitDeclarationOnly&&(t&=56),t}function getPendingEmitKind(e,t){const n=t&&(isNumber(t)?t:getBuilderFileEmit(t)),r=isNumber(e)?e:getBuilderFileEmit(e);if(n===r)return 0;if(!n||!r)return r;const i=n^r;let o=0;return 7&i&&(o=7&r),8&i&&(o|=8&r),48&i&&(o|=48&r),o}function createBuilderProgramState(e,t){var n,r;const i=qa.create(e,t,!1);i.program=e;const o=e.getCompilerOptions();i.compilerOptions=o;const a=o.outFile;i.semanticDiagnosticsPerFile=new Map,a&&o.composite&&(null==t?void 0:t.outSignature)&&a===t.compilerOptions.outFile&&(i.outSignature=t.outSignature&&getEmitSignatureFromOldSignature(o,t.compilerOptions,t.outSignature)),i.changedFilesSet=new Set,i.latestChangedDtsFile=o.composite?null==t?void 0:t.latestChangedDtsFile:void 0,i.checkPending=!!i.compilerOptions.noCheck||void 0;const s=qa.canReuseOldState(i.referencedMap,t),c=s?t.compilerOptions:void 0;let l=s&&!compilerOptionsAffectSemanticDiagnostics(o,c);const d=o.composite&&(null==t?void 0:t.emitSignatures)&&!a&&!compilerOptionsAffectDeclarationPath(o,t.compilerOptions);let p=!0;s?(null==(n=t.changedFilesSet)||n.forEach(e=>i.changedFilesSet.add(e)),!a&&(null==(r=t.affectedFilesPendingEmit)?void 0:r.size)&&(i.affectedFilesPendingEmit=new Map(t.affectedFilesPendingEmit),i.seenAffectedFiles=new Set),i.programEmitPending=t.programEmitPending,a&&i.changedFilesSet.size&&(l=!1,p=!1),i.hasErrorsFromOldState=t.hasErrors):i.buildInfoEmitPending=tr(o);const u=i.referencedMap,m=s?t.referencedMap:void 0,_=l&&!o.skipLibCheck==!c.skipLibCheck,f=_&&!o.skipDefaultLibCheck==!c.skipDefaultLibCheck;if(i.fileInfos.forEach((n,r)=>{var a;let c,g;if(!s||!(c=t.fileInfos.get(r))||c.version!==n.version||c.impliedFormat!==n.impliedFormat||!function hasSameKeys(e,t){return e===t||void 0!==e&&void 0!==t&&e.size===t.size&&!forEachKey(e,e=>!t.has(e))}(g=u&&u.getValues(r),m&&m.getValues(r))||g&&forEachKey(g,e=>!i.fileInfos.has(e)&&t.fileInfos.has(e)))addFileToChangeSet(r);else{const n=e.getSourceFileByPath(r),o=p?null==(a=t.emitDiagnosticsPerFile)?void 0:a.get(r):void 0;if(o&&(i.emitDiagnosticsPerFile??(i.emitDiagnosticsPerFile=new Map)).set(r,t.hasReusableDiagnostic?convertToDiagnostics(o,r,e):repopulateDiagnostics(o,e)),l){if(n.isDeclarationFile&&!_)return;if(n.hasNoDefaultLib&&!f)return;const o=t.semanticDiagnosticsPerFile.get(r);o&&(i.semanticDiagnosticsPerFile.set(r,t.hasReusableDiagnostic?convertToDiagnostics(o,r,e):repopulateDiagnostics(o,e)),(i.semanticDiagnosticsFromOldState??(i.semanticDiagnosticsFromOldState=new Set)).add(r))}}if(d){const e=t.emitSignatures.get(r);e&&(i.emitSignatures??(i.emitSignatures=new Map)).set(r,getEmitSignatureFromOldSignature(o,t.compilerOptions,e))}}),s&&forEachEntry(t.fileInfos,(e,t)=>!i.fileInfos.has(t)&&(!!e.affectsGlobalScope||(i.buildInfoEmitPending=!0,!!a))))qa.getAllFilesExcludingDefaultLibraryFile(i,e,void 0).forEach(e=>addFileToChangeSet(e.resolvedPath));else if(c){const t=compilerOptionsAffectEmit(o,c)?getBuilderFileEmit(o):getPendingEmitKind(o,c);0!==t&&(a?i.changedFilesSet.size||(i.programEmitPending=i.programEmitPending?i.programEmitPending|t:t):(e.getSourceFiles().forEach(e=>{i.changedFilesSet.has(e.resolvedPath)||addToAffectedFilesPendingEmit(i,e.resolvedPath,t)}),h.assert(!i.seenAffectedFiles||!i.seenAffectedFiles.size),i.seenAffectedFiles=i.seenAffectedFiles||new Set),i.buildInfoEmitPending=!0)}return s&&i.semanticDiagnosticsPerFile.size!==i.fileInfos.size&&t.checkPending!==i.checkPending&&(i.buildInfoEmitPending=!0),i;function addFileToChangeSet(e){i.changedFilesSet.add(e),a&&(l=!1,p=!1,i.semanticDiagnosticsFromOldState=void 0,i.semanticDiagnosticsPerFile.clear(),i.emitDiagnosticsPerFile=void 0),i.buildInfoEmitPending=!0,i.programEmitPending=void 0}}function getEmitSignatureFromOldSignature(e,t,n){return!!e.declarationMap==!!t.declarationMap?n:isString(n)?[n]:n[0]}function repopulateDiagnostics(e,t){return e.length?sameMap(e,e=>{if(isString(e.messageText))return e;const n=convertOrRepopulateDiagnosticMessageChain(e.messageText,e.file,t,e=>{var t;return null==(t=e.repopulateInfo)?void 0:t.call(e)});return n===e.messageText?e:{...e,messageText:n}}):e}function convertOrRepopulateDiagnosticMessageChain(e,t,n,r){const i=r(e);if(!0===i)return{...createModeMismatchDetails(t),next:convertOrRepopulateDiagnosticMessageChainArray(e.next,t,n,r)};if(i)return{...createModuleNotFoundChain(t,n,i.moduleReference,i.mode,i.packageName||i.moduleReference),next:convertOrRepopulateDiagnosticMessageChainArray(e.next,t,n,r)};const o=convertOrRepopulateDiagnosticMessageChainArray(e.next,t,n,r);return o===e.next?e:{...e,next:o}}function convertOrRepopulateDiagnosticMessageChainArray(e,t,n,r){return sameMap(e,e=>convertOrRepopulateDiagnosticMessageChain(e,t,n,r))}function convertToDiagnostics(e,t,n){if(!e.length)return l;let r;return e.map(e=>{const r=convertToDiagnosticRelatedInformation(e,t,n,toPathInBuildInfoDirectory);r.reportsUnnecessary=e.reportsUnnecessary,r.reportsDeprecated=e.reportDeprecated,r.source=e.source,r.skippedOn=e.skippedOn;const{relatedInformation:i}=e;return r.relatedInformation=i?i.length?i.map(e=>convertToDiagnosticRelatedInformation(e,t,n,toPathInBuildInfoDirectory)):[]:void 0,r});function toPathInBuildInfoDirectory(e){return r??(r=getDirectoryPath(getNormalizedAbsolutePath(getTsBuildInfoEmitOutputFilePath(n.getCompilerOptions()),n.getCurrentDirectory()))),toPath(e,r,n.getCanonicalFileName)}}function convertToDiagnosticRelatedInformation(e,t,n,r){const{file:i}=e,o=!1!==i?n.getSourceFileByPath(i?r(i):t):void 0;return{...e,file:o,messageText:isString(e.messageText)?e.messageText:convertOrRepopulateDiagnosticMessageChain(e.messageText,o,n,e=>e.info)}}function assertSourceFileOkWithoutNextAffectedCall(e,t){h.assert(!t||!e.affectedFiles||e.affectedFiles[e.affectedFilesIndex-1]!==t||!e.semanticDiagnosticsPerFile.has(t.resolvedPath))}function getNextAffectedFile(e,t,n){for(var r;;){const{affectedFiles:i}=e;if(i){const o=e.seenAffectedFiles;let a=e.affectedFilesIndex;for(;a<i.length;){const r=i[a];if(!o.has(r.resolvedPath))return e.affectedFilesIndex=a,addToAffectedFilesPendingEmit(e,r.resolvedPath,getBuilderFileEmit(e.compilerOptions)),handleDtsMayChangeOfAffectedFile(e,r,t,n),r;a++}e.changedFilesSet.delete(e.currentChangedFilePath),e.currentChangedFilePath=void 0,null==(r=e.oldSignatures)||r.clear(),e.affectedFiles=void 0}const o=e.changedFilesSet.keys().next();if(o.done)return;if(e.program.getCompilerOptions().outFile)return e.program;e.affectedFiles=qa.getFilesAffectedByWithOldState(e,e.program,o.value,t,n),e.currentChangedFilePath=o.value,e.affectedFilesIndex=0,e.seenAffectedFiles||(e.seenAffectedFiles=new Set)}}function clearAffectedFilesPendingEmit(e,t,n){var r,i;if(((null==(r=e.affectedFilesPendingEmit)?void 0:r.size)||e.programEmitPending)&&(t||n||(e.affectedFilesPendingEmit=void 0,e.programEmitPending=void 0),null==(i=e.affectedFilesPendingEmit)||i.forEach((t,r)=>{const i=n?55&t:7&t;i?e.affectedFilesPendingEmit.set(r,i):e.affectedFilesPendingEmit.delete(r)}),e.programEmitPending)){const t=n?55&e.programEmitPending:7&e.programEmitPending;e.programEmitPending=t||void 0}}function getPendingEmitKindWithSeen(e,t,n,r){let i=getPendingEmitKind(e,t);return n&&(i&=56),r&&(i&=8),i}function getBuilderFileEmitAllDts(e){return e?8:56}function removeDiagnosticsOfLibraryFiles(e){if(!e.cleanedDiagnosticsOfLibFiles){e.cleanedDiagnosticsOfLibFiles=!0;const t=e.program.getCompilerOptions();forEach(e.program.getSourceFiles(),n=>e.program.isSourceFileDefaultLibrary(n)&&!skipTypeCheckingIgnoringNoCheck(n,t,e.program)&&removeSemanticDiagnosticsOf(e,n.resolvedPath))}}function handleDtsMayChangeOfAffectedFile(e,t,n,r){if(removeSemanticDiagnosticsOf(e,t.resolvedPath),e.allFilesExcludingDefaultLibraryFile===e.affectedFiles)return removeDiagnosticsOfLibraryFiles(e),void qa.updateShapeSignature(e,e.program,t,n,r);e.compilerOptions.assumeChangesOnlyAffectDirectDependencies||function handleDtsMayChangeOfReferencingExportOfAffectedFile(e,t,n,r){var i,o;if(!e.referencedMap||!e.changedFilesSet.has(t.resolvedPath))return;if(!isChangedSignature(e,t.resolvedPath))return;if(Kn(e.compilerOptions)){const i=new Map;i.set(t.resolvedPath,!0);const o=qa.getReferencedByPaths(e,t.resolvedPath);for(;o.length>0;){const t=o.pop();if(!i.has(t)){if(i.set(t,!0),handleDtsMayChangeOfGlobalScope(e,t,!1,n,r))return;if(handleDtsMayChangeOf(e,t,!1,n,r),isChangedSignature(e,t)){const n=e.program.getSourceFileByPath(t);o.push(...qa.getReferencedByPaths(e,n.resolvedPath))}}}}const a=new Set,s=!!(null==(i=t.symbol)?void 0:i.exports)&&!!forEachEntry(t.symbol.exports,n=>{if(128&n.flags)return!0;const r=skipAlias(n,e.program.getTypeChecker());return r!==n&&(!!(128&r.flags)&&some(r.declarations,e=>getSourceFileOfNode(e)===t))});null==(o=e.referencedMap.getKeys(t.resolvedPath))||o.forEach(t=>{if(handleDtsMayChangeOfGlobalScope(e,t,s,n,r))return!0;const i=e.referencedMap.getKeys(t);return i&&forEachKey(i,t=>handleDtsMayChangeOfFileAndExportsOfFile(e,t,s,a,n,r))})}(e,t,n,r)}function handleDtsMayChangeOf(e,t,n,r,i){if(removeSemanticDiagnosticsOf(e,t),!e.changedFilesSet.has(t)){const o=e.program.getSourceFileByPath(t);o&&(qa.updateShapeSignature(e,e.program,o,r,i,!0),n?addToAffectedFilesPendingEmit(e,t,getBuilderFileEmit(e.compilerOptions)):Zn(e.compilerOptions)&&addToAffectedFilesPendingEmit(e,t,e.compilerOptions.declarationMap?56:24))}}function removeSemanticDiagnosticsOf(e,t){return!e.semanticDiagnosticsFromOldState||(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size)}function isChangedSignature(e,t){const n=h.checkDefined(e.oldSignatures).get(t)||void 0;return h.checkDefined(e.fileInfos.get(t)).signature!==n}function handleDtsMayChangeOfGlobalScope(e,t,n,r,i){var o;return!!(null==(o=e.fileInfos.get(t))?void 0:o.affectsGlobalScope)&&(qa.getAllFilesExcludingDefaultLibraryFile(e,e.program,void 0).forEach(t=>handleDtsMayChangeOf(e,t.resolvedPath,n,r,i)),removeDiagnosticsOfLibraryFiles(e),!0)}function handleDtsMayChangeOfFileAndExportsOfFile(e,t,n,r,i,o){var a;if(tryAddToSet(r,t)){if(handleDtsMayChangeOfGlobalScope(e,t,n,i,o))return!0;handleDtsMayChangeOf(e,t,n,i,o),null==(a=e.referencedMap.getKeys(t))||a.forEach(t=>handleDtsMayChangeOfFileAndExportsOfFile(e,t,n,r,i,o))}}function getSemanticDiagnosticsOfFile(e,t,n,r){return e.compilerOptions.noCheck?l:concatenate(function getBinderAndCheckerDiagnosticsOfFile(e,t,n,r){r??(r=e.semanticDiagnosticsPerFile);const i=t.resolvedPath,o=r.get(i);if(o)return filterSemanticDiagnostics(o,e.compilerOptions);const a=e.program.getBindAndCheckDiagnostics(t,n);return r.set(i,a),e.buildInfoEmitPending=!0,filterSemanticDiagnostics(a,e.compilerOptions)}(e,t,n,r),e.program.getProgramDiagnostics(t))}function isIncrementalBundleEmitBuildInfo(e){var t;return!!(null==(t=e.options)?void 0:t.outFile)}function isIncrementalBuildInfo(e){return!!e.fileNames}function ensureHasErrorsForState(e){void 0===e.hasErrors&&(tr(e.compilerOptions)?e.hasErrors=!some(e.program.getSourceFiles(),t=>{var n,r;const i=e.semanticDiagnosticsPerFile.get(t.resolvedPath);return void 0===i||!!i.length||!!(null==(r=null==(n=e.emitDiagnosticsPerFile)?void 0:n.get(t.resolvedPath))?void 0:r.length)})&&(hasSyntaxOrGlobalErrors(e)||some(e.program.getSourceFiles(),t=>!!e.program.getProgramDiagnostics(t).length)):e.hasErrors=some(e.program.getSourceFiles(),t=>{var n,r;const i=e.semanticDiagnosticsPerFile.get(t.resolvedPath);return!!(null==i?void 0:i.length)||!!(null==(r=null==(n=e.emitDiagnosticsPerFile)?void 0:n.get(t.resolvedPath))?void 0:r.length)})||hasSyntaxOrGlobalErrors(e))}function hasSyntaxOrGlobalErrors(e){return!!(e.program.getConfigFileParsingDiagnostics().length||e.program.getSyntacticDiagnostics().length||e.program.getOptionsDiagnostics().length||e.program.getGlobalDiagnostics().length)}function getBuildInfoEmitPending(e){return ensureHasErrorsForState(e),e.buildInfoEmitPending??(e.buildInfoEmitPending=!!e.hasErrorsFromOldState!=!!e.hasErrors)}var Ga=(e=>(e[e.SemanticDiagnosticsBuilderProgram=0]="SemanticDiagnosticsBuilderProgram",e[e.EmitAndSemanticDiagnosticsBuilderProgram=1]="EmitAndSemanticDiagnosticsBuilderProgram",e))(Ga||{});function getBuilderCreationParameters(e,t,n,r,i,o){let a,s,c;return void 0===e?(h.assert(void 0===t),a=n,c=r,h.assert(!!c),s=c.getProgram()):isArray(e)?(c=r,s=createProgram({rootNames:e,options:t,host:n,oldProgram:c&&c.getProgramOrUndefined(),configFileParsingDiagnostics:i,projectReferences:o}),a=n):(s=e,a=t,c=n,i=r),{host:a,newProgram:s,oldProgram:c,configFileParsingDiagnostics:i||l}}function getTextHandlingSourceMapForSignature(e,t){return void 0!==(null==t?void 0:t.sourceMapUrlPos)?e.substring(0,t.sourceMapUrlPos):e}function computeSignatureWithDiagnostics(e,t,n,r,i){var o;let a;return n=getTextHandlingSourceMapForSignature(n,i),(null==(o=null==i?void 0:i.diagnostics)?void 0:o.length)&&(n+=i.diagnostics.map(n=>`${function locationInfo(n){if(n.file.resolvedPath===t.resolvedPath)return`(${n.start},${n.length})`;void 0===a&&(a=getDirectoryPath(t.resolvedPath));return`${ensurePathIsNonModuleName(getRelativePathFromDirectory(a,n.file.resolvedPath,e.getCanonicalFileName))}(${n.start},${n.length})`}(n)}${ze[n.category]}${n.code}: ${flattenDiagnosticMessageText2(n.messageText)}`).join("\n")),(r.createHash??generateDjb2Hash)(n);function flattenDiagnosticMessageText2(e){return isString(e)?e:void 0===e?"":e.next?e.messageText+e.next.map(flattenDiagnosticMessageText2).join("\n"):e.messageText}}function createBuilderProgram(e,{newProgram:t,host:n,oldProgram:r,configFileParsingDiagnostics:i}){let o=r&&r.state;if(o&&t===o.program&&i===t.getConfigFileParsingDiagnostics())return t=void 0,o=void 0,r;const a=createBuilderProgramState(t,o);t.getBuildInfo=()=>function getBuildInfo2(e){var t,n;const r=e.program.getCurrentDirectory(),i=getDirectoryPath(getNormalizedAbsolutePath(getTsBuildInfoEmitOutputFilePath(e.compilerOptions),r)),o=e.latestChangedDtsFile?relativeToBuildInfoEnsuringAbsolutePath(e.latestChangedDtsFile):void 0,a=[],c=new Map,d=new Set(e.program.getRootFileNames().map(t=>toPath(t,r,e.program.getCanonicalFileName)));if(ensureHasErrorsForState(e),!tr(e.compilerOptions))return{root:arrayFrom(d,e=>relativeToBuildInfo(e)),errors:!!e.hasErrors||void 0,checkPending:e.checkPending,version:s};const p=[];if(e.compilerOptions.outFile){const t=arrayFrom(e.fileInfos.entries(),([e,t])=>(tryAddRoot(e,toFileId(e)),t.impliedFormat?{version:t.version,impliedFormat:t.impliedFormat,signature:void 0,affectsGlobalScope:void 0}:t.version));return{fileNames:a,fileInfos:t,root:p,resolvedRoot:toResolvedRoot(),options:toIncrementalBuildInfoCompilerOptions(e.compilerOptions),semanticDiagnosticsPerFile:e.changedFilesSet.size?void 0:toIncrementalBuildInfoDiagnostics(),emitDiagnosticsPerFile:toIncrementalBuildInfoEmitDiagnostics(),changeFileSet:toChangeFileSet(),outSignature:e.outSignature,latestChangedDtsFile:o,pendingEmit:e.programEmitPending?e.programEmitPending!==getBuilderFileEmit(e.compilerOptions)&&e.programEmitPending:void 0,errors:!!e.hasErrors||void 0,checkPending:e.checkPending,version:s}}let u,m,_;const f=arrayFrom(e.fileInfos.entries(),([t,n])=>{var r,i;const o=toFileId(t);tryAddRoot(t,o),h.assert(a[o-1]===relativeToBuildInfo(t));const s=null==(r=e.oldSignatures)?void 0:r.get(t),c=void 0!==s?s||void 0:n.signature;if(e.compilerOptions.composite){const n=e.program.getSourceFileByPath(t);if(!isJsonSourceFile(n)&&sourceFileMayBeEmitted(n,e.program)){const n=null==(i=e.emitSignatures)?void 0:i.get(t);n!==c&&(_=append(_,void 0===n?o:[o,isString(n)||n[0]!==c?n:l]))}}return n.version===c?n.affectsGlobalScope||n.impliedFormat?{version:n.version,signature:void 0,affectsGlobalScope:n.affectsGlobalScope,impliedFormat:n.impliedFormat}:n.version:void 0!==c?void 0===s?n:{version:n.version,signature:c,affectsGlobalScope:n.affectsGlobalScope,impliedFormat:n.impliedFormat}:{version:n.version,signature:!1,affectsGlobalScope:n.affectsGlobalScope,impliedFormat:n.impliedFormat}});let g;(null==(t=e.referencedMap)?void 0:t.size())&&(g=arrayFrom(e.referencedMap.keys()).sort(compareStringsCaseSensitive).map(t=>[toFileId(t),toFileIdListId(e.referencedMap.getValues(t))]));const y=toIncrementalBuildInfoDiagnostics();let T;if(null==(n=e.affectedFilesPendingEmit)?void 0:n.size){const t=getBuilderFileEmit(e.compilerOptions),n=new Set;for(const r of arrayFrom(e.affectedFilesPendingEmit.keys()).sort(compareStringsCaseSensitive))if(tryAddToSet(n,r)){const n=e.program.getSourceFileByPath(r);if(!n||!sourceFileMayBeEmitted(n,e.program))continue;const i=toFileId(r),o=e.affectedFilesPendingEmit.get(r);T=append(T,o===t?i:24===o?[i]:[i,o])}}return{fileNames:a,fileIdsList:u,fileInfos:f,root:p,resolvedRoot:toResolvedRoot(),options:toIncrementalBuildInfoCompilerOptions(e.compilerOptions),referencedMap:g,semanticDiagnosticsPerFile:y,emitDiagnosticsPerFile:toIncrementalBuildInfoEmitDiagnostics(),changeFileSet:toChangeFileSet(),affectedFilesPendingEmit:T,emitSignatures:_,latestChangedDtsFile:o,errors:!!e.hasErrors||void 0,checkPending:e.checkPending,version:s};function relativeToBuildInfoEnsuringAbsolutePath(e){return relativeToBuildInfo(getNormalizedAbsolutePath(e,r))}function relativeToBuildInfo(t){return ensurePathIsNonModuleName(getRelativePathFromDirectory(i,t,e.program.getCanonicalFileName))}function toFileId(e){let t=c.get(e);return void 0===t&&(a.push(relativeToBuildInfo(e)),c.set(e,t=a.length)),t}function toFileIdListId(e){const t=arrayFrom(e.keys(),toFileId).sort(compareValues),n=t.join();let r=null==m?void 0:m.get(n);return void 0===r&&(u=append(u,t),(m??(m=new Map)).set(n,r=u.length)),r}function tryAddRoot(t,n){const r=e.program.getSourceFile(t);if(!e.program.getFileIncludeReasons().get(r.path).some(e=>0===e.kind))return;if(!p.length)return p.push(n);const i=p[p.length-1],o=isArray(i);if(o&&i[1]===n-1)return i[1]=n;if(o||1===p.length||i!==n-1)return p.push(n);const a=p[p.length-2];return isNumber(a)&&a===i-1?(p[p.length-2]=[a,n],p.length=p.length-1):p.push(n)}function toResolvedRoot(){let t;return d.forEach(n=>{const r=e.program.getSourceFileByPath(n);r&&n!==r.resolvedPath&&(t=append(t,[toFileId(r.resolvedPath),toFileId(n)]))}),t}function toIncrementalBuildInfoCompilerOptions(e){let t;const{optionsNameMap:n}=getOptionsNameMap();for(const r of getOwnKeys(e).sort(compareStringsCaseSensitive)){const i=n.get(r.toLowerCase());(null==i?void 0:i.affectsBuildInfo)&&((t||(t={}))[r]=toReusableCompilerOptionValue(i,e[r]))}return t}function toReusableCompilerOptionValue(e,t){if(e)if(h.assert("listOrElement"!==e.type),"list"===e.type){const n=t;if(e.element.isFilePath&&n.length)return n.map(relativeToBuildInfoEnsuringAbsolutePath)}else if(e.isFilePath)return relativeToBuildInfoEnsuringAbsolutePath(t);return t}function toIncrementalBuildInfoDiagnostics(){let t;return e.fileInfos.forEach((n,r)=>{const i=e.semanticDiagnosticsPerFile.get(r);i?i.length&&(t=append(t,[toFileId(r),toReusableDiagnostic(i,r)])):e.changedFilesSet.has(r)||(t=append(t,toFileId(r)))}),t}function toIncrementalBuildInfoEmitDiagnostics(){var t;let n;if(!(null==(t=e.emitDiagnosticsPerFile)?void 0:t.size))return n;for(const t of arrayFrom(e.emitDiagnosticsPerFile.keys()).sort(compareStringsCaseSensitive)){const r=e.emitDiagnosticsPerFile.get(t);n=append(n,[toFileId(t),toReusableDiagnostic(r,t)])}return n}function toReusableDiagnostic(e,t){return h.assert(!!e.length),e.map(e=>{const n=toReusableDiagnosticRelatedInformation(e,t);n.reportsUnnecessary=e.reportsUnnecessary,n.reportDeprecated=e.reportsDeprecated,n.source=e.source,n.skippedOn=e.skippedOn;const{relatedInformation:r}=e;return n.relatedInformation=r?r.length?r.map(e=>toReusableDiagnosticRelatedInformation(e,t)):[]:void 0,n})}function toReusableDiagnosticRelatedInformation(e,t){const{file:n}=e;return{...e,file:!!n&&(n.resolvedPath===t?void 0:relativeToBuildInfo(n.resolvedPath)),messageText:isString(e.messageText)?e.messageText:toReusableDiagnosticMessageChain(e.messageText)}}function toReusableDiagnosticMessageChain(e){if(e.repopulateInfo)return{info:e.repopulateInfo(),next:toReusableDiagnosticMessageChainArray(e.next)};const t=toReusableDiagnosticMessageChainArray(e.next);return t===e.next?e:{...e,next:t}}function toReusableDiagnosticMessageChainArray(e){return e&&forEach(e,(t,n)=>{const r=toReusableDiagnosticMessageChain(t);if(t===r)return;const i=n>0?e.slice(0,n-1):[];i.push(r);for(let t=n+1;t<e.length;t++)i.push(toReusableDiagnosticMessageChain(e[t]));return i})||e}function toChangeFileSet(){let t;if(e.changedFilesSet.size)for(const n of arrayFrom(e.changedFilesSet.keys()).sort(compareStringsCaseSensitive))t=append(t,toFileId(n));return t}}(function toBuilderProgramStateWithDefinedProgram(e){return h.assert(isBuilderProgramStateWithDefinedProgram(e)),e}(a)),t=void 0,r=void 0,o=void 0;const c=createRedirectedBuilderProgram(a,i);return c.state=a,c.hasChangedEmitSignature=()=>!!a.hasChangedEmitSignature,c.getAllDependencies=e=>qa.getAllDependencies(a,h.checkDefined(a.program),e),c.getSemanticDiagnostics=function getSemanticDiagnostics(e,t){if(h.assert(isBuilderProgramStateWithDefinedProgram(a)),assertSourceFileOkWithoutNextAffectedCall(a,e),e)return getSemanticDiagnosticsOfFile(a,e,t);for(;;){const e=getSemanticDiagnosticsOfNextAffectedFile(t);if(!e)break;if(e.affected===a.program)return e.result}let n;for(const e of a.program.getSourceFiles())n=addRange(n,getSemanticDiagnosticsOfFile(a,e,t));a.checkPending&&!a.compilerOptions.noCheck&&(a.checkPending=void 0,a.buildInfoEmitPending=!0);return n||l},c.getDeclarationDiagnostics=function getDeclarationDiagnostics2(t,n){var r;if(h.assert(isBuilderProgramStateWithDefinedProgram(a)),1===e){let e,i;for(assertSourceFileOkWithoutNextAffectedCall(a,t);e=emitNextAffectedFileOrDtsErrors(void 0,n,void 0,void 0,!0);)t||(i=addRange(i,e.result.diagnostics));return(t?null==(r=a.emitDiagnosticsPerFile)?void 0:r.get(t.resolvedPath):i)||l}{const e=a.program.getDeclarationDiagnostics(t,n);return handleNonEmitBuilderWithEmitOrDtsErrors(t,void 0,!0,e),e}},c.emit=function emit(t,n,r,i,o){h.assert(isBuilderProgramStateWithDefinedProgram(a)),1===e&&assertSourceFileOkWithoutNextAffectedCall(a,t);const s=handleNoEmitOptions(c,t,n,r);if(s)return s;if(!t){if(1===e){let e,t,a=[],s=!1,c=[];for(;t=emitNextAffectedFile(n,r,i,o);)s=s||t.result.emitSkipped,e=addRange(e,t.result.diagnostics),c=addRange(c,t.result.emittedFiles),a=addRange(a,t.result.sourceMaps);return{emitSkipped:s,diagnostics:e||l,emittedFiles:c,sourceMaps:a}}clearAffectedFilesPendingEmit(a,i,!1)}const d=a.program.emit(t,getWriteFileCallback(n,o),r,i,o);return handleNonEmitBuilderWithEmitOrDtsErrors(t,i,!1,d.diagnostics),d},c.releaseProgram=()=>function releaseCache(e){qa.releaseCache(e),e.program=void 0}(a),0===e?c.getSemanticDiagnosticsOfNextAffectedFile=getSemanticDiagnosticsOfNextAffectedFile:1===e?(c.getSemanticDiagnosticsOfNextAffectedFile=getSemanticDiagnosticsOfNextAffectedFile,c.emitNextAffectedFile=emitNextAffectedFile,c.emitBuildInfo=function emitBuildInfo(e,t){if(h.assert(isBuilderProgramStateWithDefinedProgram(a)),getBuildInfoEmitPending(a)){const r=a.program.emitBuildInfo(e||maybeBind(n,n.writeFile),t);return a.buildInfoEmitPending=!1,r}return Va}):notImplemented(),c;function emitNextAffectedFileOrDtsErrors(e,t,r,i,o){var s,c,l,d;h.assert(isBuilderProgramStateWithDefinedProgram(a));let p=getNextAffectedFile(a,t,n);const u=getBuilderFileEmit(a.compilerOptions);let m,_=o?8:r?56&u:u;if(!p){if(a.compilerOptions.outFile){if(a.programEmitPending&&(_=getPendingEmitKindWithSeen(a.programEmitPending,a.seenProgramEmit,r,o),_&&(p=a.program)),!p&&(null==(s=a.emitDiagnosticsPerFile)?void 0:s.size)){const e=a.seenProgramEmit||0;if(!(e&getBuilderFileEmitAllDts(o))){a.seenProgramEmit=getBuilderFileEmitAllDts(o)|e;const t=[];return a.emitDiagnosticsPerFile.forEach(e=>addRange(t,e)),{result:{emitSkipped:!0,diagnostics:t},affected:a.program}}}}else{const e=function getNextAffectedFilePendingEmit(e,t,n){var r;if(null==(r=e.affectedFilesPendingEmit)?void 0:r.size)return forEachEntry(e.affectedFilesPendingEmit,(r,i)=>{var o;const a=e.program.getSourceFileByPath(i);if(!a||!sourceFileMayBeEmitted(a,e.program))return void e.affectedFilesPendingEmit.delete(i);const s=getPendingEmitKindWithSeen(r,null==(o=e.seenEmittedFiles)?void 0:o.get(a.resolvedPath),t,n);return s?{affectedFile:a,emitKind:s}:void 0})}(a,r,o);if(e)({affectedFile:p,emitKind:_}=e);else{const e=function getNextPendingEmitDiagnosticsFile(e,t){var n;if(null==(n=e.emitDiagnosticsPerFile)?void 0:n.size)return forEachEntry(e.emitDiagnosticsPerFile,(n,r)=>{var i;const o=e.program.getSourceFileByPath(r);if(!o||!sourceFileMayBeEmitted(o,e.program))return void e.emitDiagnosticsPerFile.delete(r);const a=(null==(i=e.seenEmittedFiles)?void 0:i.get(o.resolvedPath))||0;return a&getBuilderFileEmitAllDts(t)?void 0:{affectedFile:o,diagnostics:n,seenKind:a}})}(a,o);if(e)return(a.seenEmittedFiles??(a.seenEmittedFiles=new Map)).set(e.affectedFile.resolvedPath,e.seenKind|getBuilderFileEmitAllDts(o)),{result:{emitSkipped:!0,diagnostics:e.diagnostics},affected:e.affectedFile}}}if(!p){if(o||!getBuildInfoEmitPending(a))return;const r=a.program,i=r.emitBuildInfo(e||maybeBind(n,n.writeFile),t);return a.buildInfoEmitPending=!1,{result:i,affected:r}}}7&_&&(m=0),56&_&&(m=void 0===m?1:void 0);const f=o?{emitSkipped:!0,diagnostics:a.program.getDeclarationDiagnostics(p===a.program?void 0:p,t)}:a.program.emit(p===a.program?void 0:p,getWriteFileCallback(e,i),t,m,i,void 0,!0);if(p!==a.program){const e=p;a.seenAffectedFiles.add(e.resolvedPath),void 0!==a.affectedFilesIndex&&a.affectedFilesIndex++,a.buildInfoEmitPending=!0;const t=(null==(c=a.seenEmittedFiles)?void 0:c.get(e.resolvedPath))||0;(a.seenEmittedFiles??(a.seenEmittedFiles=new Map)).set(e.resolvedPath,_|t);const n=getPendingEmitKind((null==(l=a.affectedFilesPendingEmit)?void 0:l.get(e.resolvedPath))||u,_|t);n?(a.affectedFilesPendingEmit??(a.affectedFilesPendingEmit=new Map)).set(e.resolvedPath,n):null==(d=a.affectedFilesPendingEmit)||d.delete(e.resolvedPath),f.diagnostics.length&&(a.emitDiagnosticsPerFile??(a.emitDiagnosticsPerFile=new Map)).set(e.resolvedPath,f.diagnostics)}else a.changedFilesSet.clear(),a.programEmitPending=a.changedFilesSet.size?getPendingEmitKind(u,_):a.programEmitPending?getPendingEmitKind(a.programEmitPending,_):void 0,a.seenProgramEmit=_|(a.seenProgramEmit||0),setEmitDiagnosticsPerFile(f.diagnostics),a.buildInfoEmitPending=!0;return{result:f,affected:p}}function setEmitDiagnosticsPerFile(e){let t;e.forEach(e=>{if(!e.file)return;let n=null==t?void 0:t.get(e.file.resolvedPath);n||(t??(t=new Map)).set(e.file.resolvedPath,n=[]),n.push(e)}),t&&(a.emitDiagnosticsPerFile=t)}function emitNextAffectedFile(e,t,n,r){return emitNextAffectedFileOrDtsErrors(e,t,n,r,!1)}function getWriteFileCallback(e,t){return h.assert(isBuilderProgramStateWithDefinedProgram(a)),Zn(a.compilerOptions)?(r,i,o,s,c,l)=>{var d,p,u;if(isDeclarationFileName(r))if(a.compilerOptions.outFile){if(a.compilerOptions.composite){const e=handleNewSignature(a.outSignature,void 0);if(!e)return l.skippedDtsWrite=!0;a.outSignature=e}}else{let e;if(h.assert(1===(null==c?void 0:c.length)),!t){const t=c[0],r=a.fileInfos.get(t.resolvedPath);if(r.signature===t.version){const o=computeSignatureWithDiagnostics(a.program,t,i,n,l);if((null==(d=null==l?void 0:l.diagnostics)?void 0:d.length)||(e=o),o!==t.version)if(n.storeSignatureInfo&&(a.signatureInfo??(a.signatureInfo=new Map)).set(t.resolvedPath,1),a.affectedFiles){void 0===(null==(p=a.oldSignatures)?void 0:p.get(t.resolvedPath))&&(a.oldSignatures??(a.oldSignatures=new Map)).set(t.resolvedPath,r.signature||!1),r.signature=o}else r.signature=o}}if(a.compilerOptions.composite){const t=c[0].resolvedPath;if(e=handleNewSignature(null==(u=a.emitSignatures)?void 0:u.get(t),e),!e)return l.skippedDtsWrite=!0;(a.emitSignatures??(a.emitSignatures=new Map)).set(t,e)}}function handleNewSignature(e,t){const o=!e||isString(e)?e:e[0];if(t??(t=function computeSignature(e,t,n){return(t.createHash??generateDjb2Hash)(getTextHandlingSourceMapForSignature(e,n))}(i,n,l)),t===o){if(e===o)return;l?l.differsOnlyInMap=!0:l={differsOnlyInMap:!0}}else a.hasChangedEmitSignature=!0,a.latestChangedDtsFile=r;return t}e?e(r,i,o,s,c,l):n.writeFile?n.writeFile(r,i,o,s,c,l):a.program.writeFile(r,i,o,s,c,l)}:e||maybeBind(n,n.writeFile)}function handleNonEmitBuilderWithEmitOrDtsErrors(t,n,r,i){t||1===e||(clearAffectedFilesPendingEmit(a,n,r),setEmitDiagnosticsPerFile(i))}function getSemanticDiagnosticsOfNextAffectedFile(e,t){for(h.assert(isBuilderProgramStateWithDefinedProgram(a));;){const r=getNextAffectedFile(a,e,n);let i;if(!r)return void(a.checkPending&&!a.compilerOptions.noCheck&&(a.checkPending=void 0,a.buildInfoEmitPending=!0));if(r!==a.program){const n=r;if(t&&t(n)||(i=getSemanticDiagnosticsOfFile(a,n,e)),a.seenAffectedFiles.add(n.resolvedPath),a.affectedFilesIndex++,a.buildInfoEmitPending=!0,!i)continue}else{let t;const n=new Map;a.program.getSourceFiles().forEach(r=>t=addRange(t,getSemanticDiagnosticsOfFile(a,r,e,n))),a.semanticDiagnosticsPerFile=n,i=t||l,a.changedFilesSet.clear(),a.programEmitPending=getBuilderFileEmit(a.compilerOptions),a.compilerOptions.noCheck||(a.checkPending=void 0),a.buildInfoEmitPending=!0}return{result:i,affected:r}}}}function addToAffectedFilesPendingEmit(e,t,n){var r,i;const o=(null==(r=e.affectedFilesPendingEmit)?void 0:r.get(t))||0;(e.affectedFilesPendingEmit??(e.affectedFilesPendingEmit=new Map)).set(t,o|n),null==(i=e.emitDiagnosticsPerFile)||i.delete(t)}function toBuilderStateFileInfoForMultiEmit(e){return isString(e)?{version:e,signature:e,affectsGlobalScope:void 0,impliedFormat:void 0}:isString(e.signature)?e:{version:e.version,signature:!1===e.signature?void 0:e.version,affectsGlobalScope:e.affectsGlobalScope,impliedFormat:e.impliedFormat}}function toBuilderFileEmit(e,t){return isNumber(e)?t:e[1]||24}function toProgramEmitPending(e,t){return e||getBuilderFileEmit(t||{})}function createBuilderProgramUsingIncrementalBuildInfo(e,t,n){var r,i,o,a;const s=getDirectoryPath(getNormalizedAbsolutePath(t,n.getCurrentDirectory())),c=createGetCanonicalFileName(n.useCaseSensitiveFileNames());let d;const p=null==(r=e.fileNames)?void 0:r.map(function toPathInBuildInfoDirectory(e){return toPath(e,s,c)});let u;const m=e.latestChangedDtsFile?toAbsolutePath(e.latestChangedDtsFile):void 0,_=new Map,f=new Set(map(e.changeFileSet,toFilePath));if(isIncrementalBundleEmitBuildInfo(e))e.fileInfos.forEach((e,t)=>{const n=toFilePath(t+1);_.set(n,isString(e)?{version:e,signature:void 0,affectsGlobalScope:void 0,impliedFormat:void 0}:e)}),d={fileInfos:_,compilerOptions:e.options?convertToOptionsWithAbsolutePaths(e.options,toAbsolutePath):{},semanticDiagnosticsPerFile:toPerFileSemanticDiagnostics(e.semanticDiagnosticsPerFile),emitDiagnosticsPerFile:toPerFileEmitDiagnostics(e.emitDiagnosticsPerFile),hasReusableDiagnostic:!0,changedFilesSet:f,latestChangedDtsFile:m,outSignature:e.outSignature,programEmitPending:void 0===e.pendingEmit?void 0:toProgramEmitPending(e.pendingEmit,e.options),hasErrors:e.errors,checkPending:e.checkPending};else{u=null==(i=e.fileIdsList)?void 0:i.map(e=>new Set(e.map(toFilePath)));const t=(null==(o=e.options)?void 0:o.composite)&&!e.options.outFile?new Map:void 0;e.fileInfos.forEach((e,n)=>{const r=toFilePath(n+1),i=toBuilderStateFileInfoForMultiEmit(e);_.set(r,i),t&&i.signature&&t.set(r,i.signature)}),null==(a=e.emitSignatures)||a.forEach(e=>{if(isNumber(e))t.delete(toFilePath(e));else{const n=toFilePath(e[0]);t.set(n,isString(e[1])||e[1].length?e[1]:[t.get(n)])}});const n=e.affectedFilesPendingEmit?getBuilderFileEmit(e.options||{}):void 0;d={fileInfos:_,compilerOptions:e.options?convertToOptionsWithAbsolutePaths(e.options,toAbsolutePath):{},referencedMap:function toManyToManyPathMap(e,t){const n=qa.createReferencedMap(t);return n&&e?(e.forEach(([e,t])=>n.set(toFilePath(e),function toFilePathsSet(e){return u[e-1]}(t))),n):n}(e.referencedMap,e.options??{}),semanticDiagnosticsPerFile:toPerFileSemanticDiagnostics(e.semanticDiagnosticsPerFile),emitDiagnosticsPerFile:toPerFileEmitDiagnostics(e.emitDiagnosticsPerFile),hasReusableDiagnostic:!0,changedFilesSet:f,affectedFilesPendingEmit:e.affectedFilesPendingEmit&&arrayToMap(e.affectedFilesPendingEmit,e=>toFilePath(isNumber(e)?e:e[0]),e=>toBuilderFileEmit(e,n)),latestChangedDtsFile:m,emitSignatures:(null==t?void 0:t.size)?t:void 0,hasErrors:e.errors,checkPending:e.checkPending}}return{state:d,getProgram:notImplemented,getProgramOrUndefined:returnUndefined,releaseProgram:noop,getCompilerOptions:()=>d.compilerOptions,getSourceFile:notImplemented,getSourceFiles:notImplemented,getOptionsDiagnostics:notImplemented,getGlobalDiagnostics:notImplemented,getConfigFileParsingDiagnostics:notImplemented,getSyntacticDiagnostics:notImplemented,getDeclarationDiagnostics:notImplemented,getSemanticDiagnostics:notImplemented,emit:notImplemented,getAllDependencies:notImplemented,getCurrentDirectory:notImplemented,emitNextAffectedFile:notImplemented,getSemanticDiagnosticsOfNextAffectedFile:notImplemented,emitBuildInfo:notImplemented,close:noop,hasChangedEmitSignature:returnFalse};function toAbsolutePath(e){return getNormalizedAbsolutePath(e,s)}function toFilePath(e){return p[e-1]}function toPerFileSemanticDiagnostics(e){const t=new Map(mapDefinedIterator(_.keys(),e=>f.has(e)?void 0:[e,l]));return null==e||e.forEach(e=>{isNumber(e)?t.delete(toFilePath(e)):t.set(toFilePath(e[0]),e[1])}),t}function toPerFileEmitDiagnostics(e){return e&&arrayToMap(e,e=>toFilePath(e[0]),e=>e[1])}}function getBuildInfoFileVersionMap(e,t,n){const r=getDirectoryPath(getNormalizedAbsolutePath(t,n.getCurrentDirectory())),i=createGetCanonicalFileName(n.useCaseSensitiveFileNames()),o=new Map;let a=0;const s=new Map,c=new Map(e.resolvedRoot);return e.fileInfos.forEach((t,n)=>{const s=toPath(e.fileNames[n],r,i),c=isString(t)?t:t.version;if(o.set(s,c),a<e.root.length){const t=e.root[a],r=n+1;isArray(t)?t[0]<=r&&r<=t[1]&&(addRoot(r,s),t[1]===r&&a++):t===r&&(addRoot(r,s),a++)}}),{fileInfos:o,roots:s};function addRoot(t,n){const o=c.get(t);o?s.set(toPath(e.fileNames[o-1],r,i),n):s.set(n,void 0)}}function getNonIncrementalBuildInfoRoots(e,t,n){if(!function isNonIncrementalBuildInfo(e){return!isIncrementalBuildInfo(e)&&!!e.root}(e))return;const r=getDirectoryPath(getNormalizedAbsolutePath(t,n.getCurrentDirectory())),i=createGetCanonicalFileName(n.useCaseSensitiveFileNames());return e.root.map(e=>toPath(e,r,i))}function createRedirectedBuilderProgram(e,t){return{state:void 0,getProgram,getProgramOrUndefined:()=>e.program,releaseProgram:()=>e.program=void 0,getCompilerOptions:()=>e.compilerOptions,getSourceFile:e=>getProgram().getSourceFile(e),getSourceFiles:()=>getProgram().getSourceFiles(),getOptionsDiagnostics:e=>getProgram().getOptionsDiagnostics(e),getGlobalDiagnostics:e=>getProgram().getGlobalDiagnostics(e),getConfigFileParsingDiagnostics:()=>t,getSyntacticDiagnostics:(e,t)=>getProgram().getSyntacticDiagnostics(e,t),getDeclarationDiagnostics:(e,t)=>getProgram().getDeclarationDiagnostics(e,t),getSemanticDiagnostics:(e,t)=>getProgram().getSemanticDiagnostics(e,t),emit:(e,t,n,r,i)=>getProgram().emit(e,t,n,r,i),emitBuildInfo:(e,t)=>getProgram().emitBuildInfo(e,t),getAllDependencies:notImplemented,getCurrentDirectory:()=>getProgram().getCurrentDirectory(),close:noop};function getProgram(){return h.checkDefined(e.program)}}function createSemanticDiagnosticsBuilderProgram(e,t,n,r,i,o){return createBuilderProgram(0,getBuilderCreationParameters(e,t,n,r,i,o))}function createEmitAndSemanticDiagnosticsBuilderProgram(e,t,n,r,i,o){return createBuilderProgram(1,getBuilderCreationParameters(e,t,n,r,i,o))}function createAbstractBuilder(e,t,n,r,i,o){const{newProgram:a,configFileParsingDiagnostics:s}=getBuilderCreationParameters(e,t,n,r,i,o);return createRedirectedBuilderProgram({program:a,compilerOptions:a.getCompilerOptions()},s)}function removeIgnoredPath(e){return endsWith(e,"/node_modules/.staging")?removeSuffix(e,"/.staging"):some(Ct,t=>e.includes(t))?void 0:e}function perceivedOsRootLengthForWatching(e,t){if(t<=1)return 1;let n=1,r=0===e[0].search(/[a-z]:/i);if(e[0]!==Ft&&!r&&0===e[1].search(/[a-z]\$$/i)){if(2===t)return 2;n=2,r=!0}return r&&!e[n].match(/^users$/i)?n:e[n].match(/^workspaces$/i)?n+1:n+2}function canWatchDirectoryOrFile(e,t){if(void 0===t&&(t=e.length),t<=2)return!1;return t>perceivedOsRootLengthForWatching(e,t)+1}function canWatchDirectoryOrFilePath(e){return canWatchDirectoryOrFile(getPathComponents(e))}function canWatchAtTypes(e){return canWatchAffectedPackageJsonOrNodeModulesOfAtTypes(getDirectoryPath(e))}function isInDirectoryPath(e,t){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(t[n]!==e[n])return!1;return!0}function canWatchAffectedPackageJsonOrNodeModulesOfAtTypes(e){return canWatchDirectoryOrFilePath(e)}function canWatchAffectingLocation(e){return canWatchAffectedPackageJsonOrNodeModulesOfAtTypes(e)}function getDirectoryToWatchFailedLookupLocation(e,t,n,r,i,o,a,s){const c=getPathComponents(t),l=getPathComponents(e=isRootedDiskPath(e)?normalizePath(e):getNormalizedAbsolutePath(e,a())),d=perceivedOsRootLengthForWatching(c,c.length);if(c.length<=d+1)return;const p=c.indexOf("node_modules");if(-1!==p&&p+1<=d+1)return;const u=c.lastIndexOf("node_modules");return o&&isInDirectoryPath(i,c)?c.length>i.length+1?getDirectoryOfFailedLookupWatch(l,c,Math.max(i.length+1,d+1),u):{dir:n,dirPath:r,nonRecursive:!0}:getDirectoryToWatchFromFailedLookupLocationDirectory(l,c,c.length-1,d,p,i,u,s)}function getDirectoryToWatchFromFailedLookupLocationDirectory(e,t,n,r,i,o,a,s){if(-1!==i)return getDirectoryOfFailedLookupWatch(e,t,i+1,a);let c=!0,l=n;if(!s)for(let e=0;e<n;e++)if(t[e]!==o[e]){c=!1,l=Math.max(e+1,r+1);break}return getDirectoryOfFailedLookupWatch(e,t,l,a,c)}function getDirectoryOfFailedLookupWatch(e,t,n,r,i){let o;return-1!==r&&r+1>=n&&r+2<t.length&&(startsWith(t[r+1],"@")?r+3<t.length&&(o=r+3):o=r+2),{dir:getPathFromPathComponents(e,n),dirPath:getPathFromPathComponents(t,n),nonRecursive:i,packageDir:void 0!==o?getPathFromPathComponents(e,o):void 0,packageDirPath:void 0!==o?getPathFromPathComponents(t,o):void 0}}function getDirectoryToWatchFailedLookupLocationFromTypeRoot(e,t,n,r,i,o,a,s){const c=getPathComponents(t);if(i&&isInDirectoryPath(r,c))return n;const l=getDirectoryToWatchFromFailedLookupLocationDirectory(getPathComponents(e=isRootedDiskPath(e)?normalizePath(e):getNormalizedAbsolutePath(e,o())),c,c.length,perceivedOsRootLengthForWatching(c,c.length),c.indexOf("node_modules"),r,c.lastIndexOf("node_modules"),a);return l&&s(l.dirPath)?l.dirPath:void 0}function getRootDirectoryOfResolutionCache(e,t){const n=getNormalizedAbsolutePath(e,t());return isDiskPathRoot(n)?n:removeTrailingDirectorySeparator(n)}function getModuleResolutionHost(e){var t;return(null==(t=e.getCompilerHost)?void 0:t.call(e))||e}function createModuleResolutionLoaderUsingGlobalCache(e,t,n,r,i){return{nameAndMode:Ja,resolve:(o,a)=>function resolveModuleNameUsingGlobalCache(e,t,n,r,i,o,a){const s=getModuleResolutionHost(e),c=resolveModuleName(n,r,i,s,t,o,a);if(!e.getGlobalTypingsCacheLocation)return c;const l=e.getGlobalTypingsCacheLocation();if(!(void 0===l||isExternalModuleNameRelative(n)||c.resolvedModule&&extensionIsTS(c.resolvedModule.extension))){const{resolvedModule:r,failedLookupLocations:o,affectingLocations:a,resolutionDiagnostics:d}=loadModuleFromGlobalCache(h.checkDefined(e.globalCacheResolutionModuleName)(n),e.projectName,i,s,l,t);if(r)return c.resolvedModule=r,c.failedLookupLocations=updateResolutionField(c.failedLookupLocations,o),c.affectingLocations=updateResolutionField(c.affectingLocations,a),c.resolutionDiagnostics=updateResolutionField(c.resolutionDiagnostics,d),c}return c}(r,i,o,e,n,t,a)}}function createResolutionCache(e,t,n){let r,i,o;const a=new Set,s=new Set,c=new Set,d=new Map,p=new Map;let u,m,_,f,g,y=!1,T=!1;const S=memoize(()=>e.getCurrentDirectory()),x=e.getCachedDirectoryStructureHost(),v=new Map,b=createModuleResolutionCache(S(),e.getCanonicalFileName,e.getCompilationSettings()),C=new Map,E=createTypeReferenceDirectiveResolutionCache(S(),e.getCanonicalFileName,e.getCompilationSettings(),b.getPackageJsonInfoCache(),b.optionsToRedirectsKey),N=new Map,k=createModuleResolutionCache(S(),e.getCanonicalFileName,getOptionsForLibraryResolution(e.getCompilationSettings()),b.getPackageJsonInfoCache()),F=new Map,P=new Map,D=getRootDirectoryOfResolutionCache(t,S),I=e.toPath(D),A=getPathComponents(I),O=canWatchDirectoryOrFile(A),w=new Map,L=new Map,M=new Map,R=new Map;return{rootDirForResolution:t,resolvedModuleNames:v,resolvedTypeReferenceDirectives:C,resolvedLibraries:N,resolvedFileToResolution:d,resolutionsWithFailedLookups:s,resolutionsWithOnlyAffectingLocations:c,directoryWatchesOfFailedLookups:F,fileWatchesOfAffectingLocations:P,packageDirWatchers:L,dirPathToSymlinkPackageRefCount:M,watchFailedLookupLocationsOfExternalModuleResolutions,getModuleResolutionCache:()=>b,startRecordingFilesWithChangedResolutions:function startRecordingFilesWithChangedResolutions(){r=[]},finishRecordingFilesWithChangedResolutions:function finishRecordingFilesWithChangedResolutions(){const e=r;return r=void 0,e},startCachingPerDirectoryResolution:function startCachingPerDirectoryResolution(){b.isReadonly=void 0,E.isReadonly=void 0,k.isReadonly=void 0,b.getPackageJsonInfoCache().isReadonly=void 0,b.clearAllExceptPackageJsonInfoCache(),E.clearAllExceptPackageJsonInfoCache(),k.clearAllExceptPackageJsonInfoCache(),watchFailedLookupLocationOfNonRelativeModuleResolutions(),w.clear()},finishCachingPerDirectoryResolution:function finishCachingPerDirectoryResolution(t,n){o=void 0,T=!1,watchFailedLookupLocationOfNonRelativeModuleResolutions(),t!==n&&(!function cleanupLibResolutionWatching(t){N.forEach((n,r)=>{var i;(null==(i=null==t?void 0:t.resolvedLibReferences)?void 0:i.has(r))||(stopWatchFailedLookupLocationOfResolution(n,e.toPath(getInferredLibraryNameResolveFrom(e.getCompilationSettings(),S(),r)),getResolvedModuleFromResolution),N.delete(r))})}(t),null==t||t.getSourceFiles().forEach(e=>{var t;const n=(null==(t=e.packageJsonLocations)?void 0:t.length)??0,r=p.get(e.resolvedPath)??l;for(let t=r.length;t<n;t++)createFileWatcherOfAffectingLocation(e.packageJsonLocations[t],!1);if(r.length>n)for(let e=n;e<r.length;e++)P.get(r[e]).files--;n?p.set(e.resolvedPath,e.packageJsonLocations):p.delete(e.resolvedPath)}),p.forEach((e,n)=>{const r=null==t?void 0:t.getSourceFileByPath(n);r&&r.resolvedPath===n||(e.forEach(e=>P.get(e).files--),p.delete(n))}));F.forEach(closeDirectoryWatchesOfFailedLookup),P.forEach(closeFileWatcherOfAffectingLocation),L.forEach(closePackageDirWatcher),y=!1,b.isReadonly=!0,E.isReadonly=!0,k.isReadonly=!0,b.getPackageJsonInfoCache().isReadonly=!0,w.clear()},resolveModuleNameLiterals:function resolveModuleNameLiterals(t,r,i,o,a,s){return resolveNamesWithLocalCache({entries:t,containingFile:r,containingSourceFile:a,redirectedReference:i,options:o,reusedNames:s,perFileCache:v,loader:createModuleResolutionLoaderUsingGlobalCache(r,i,o,e,b),getResolutionWithResolvedFileName:getResolvedModuleFromResolution,shouldRetryResolution:e=>!e.resolvedModule||!resolutionExtensionIsTSOrJson(e.resolvedModule.extension),logChanges:n,deferWatchingNonRelativeResolution:!0})},resolveTypeReferenceDirectiveReferences:function resolveTypeReferenceDirectiveReferences(t,n,r,i,o,a){return resolveNamesWithLocalCache({entries:t,containingFile:n,containingSourceFile:o,redirectedReference:r,options:i,reusedNames:a,perFileCache:C,loader:createTypeReferenceResolutionLoader(n,r,i,getModuleResolutionHost(e),E),getResolutionWithResolvedFileName:getResolvedTypeReferenceDirectiveFromResolution,shouldRetryResolution:e=>void 0===e.resolvedTypeReferenceDirective,deferWatchingNonRelativeResolution:!1})},resolveLibrary:function resolveLibrary2(t,n,r,i){const o=getModuleResolutionHost(e);let a=null==N?void 0:N.get(i);if(!a||a.isInvalidated){const s=a;a=resolveLibrary(t,n,r,o,k);const c=e.toPath(n);watchFailedLookupLocationsOfExternalModuleResolutions(t,a,c,getResolvedModuleFromResolution,!1),N.set(i,a),s&&stopWatchFailedLookupLocationOfResolution(s,c,getResolvedModuleFromResolution)}else if(isTraceEnabled(r,o)){const e=getResolvedModuleFromResolution(a);trace(o,(null==e?void 0:e.resolvedFileName)?e.packageId?Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,t,n,null==e?void 0:e.resolvedFileName,(null==e?void 0:e.packageId)&&packageIdToString(e.packageId))}return a},resolveSingleModuleNameWithoutWatching:function resolveSingleModuleNameWithoutWatching(t,n){var r,i;const o=e.toPath(n),a=v.get(o),s=null==a?void 0:a.get(t,void 0);if(s&&!s.isInvalidated)return s;const c=null==(r=e.beforeResolveSingleModuleNameWithoutWatching)?void 0:r.call(e,b),l=getModuleResolutionHost(e),d=resolveModuleName(t,n,e.getCompilationSettings(),l,b);return null==(i=e.afterResolveSingleModuleNameWithoutWatching)||i.call(e,b,t,n,d,c),d},removeResolutionsFromProjectReferenceRedirects:function removeResolutionsFromProjectReferenceRedirects(t){if(!fileExtensionIs(t,".json"))return;const n=e.getCurrentProgram();if(!n)return;const r=n.getResolvedProjectReferenceByPath(t);if(!r)return;r.commandLine.fileNames.forEach(t=>removeResolutionsOfFile(e.toPath(t)))},removeResolutionsOfFile,hasChangedAutomaticTypeDirectiveNames:()=>y,invalidateResolutionOfFile:function invalidateResolutionOfFile(t){removeResolutionsOfFile(t);const n=y;invalidateResolutions(d.get(t),returnTrue)&&y&&!n&&e.onChangedAutomaticTypeDirectiveNames()},invalidateResolutionsOfFailedLookupLocations,setFilesWithInvalidatedNonRelativeUnresolvedImports:function setFilesWithInvalidatedNonRelativeUnresolvedImports(e){h.assert(o===e||void 0===o),o=e},createHasInvalidatedResolutions:function createHasInvalidatedResolutions(e,t){invalidateResolutionsOfFailedLookupLocations();const n=i;return i=void 0,{hasInvalidatedResolutions:t=>e(t)||T||!!(null==n?void 0:n.has(t))||isFileWithInvalidatedNonRelativeUnresolvedImports(t),hasInvalidatedLibResolutions:e=>{var n;return t(e)||!!(null==(n=null==N?void 0:N.get(e))?void 0:n.isInvalidated)}}},isFileWithInvalidatedNonRelativeUnresolvedImports,updateTypeRootsWatch:function updateTypeRootsWatch(){const t=e.getCompilationSettings();if(t.types)return void closeTypeRootsWatch();const n=getEffectiveTypeRoots(t,{getCurrentDirectory:S});n?mutateMap(R,new Set(n),{createNewValue:createTypeRootsWatch,onDeleteValue:closeFileWatcher}):closeTypeRootsWatch()},closeTypeRootsWatch,clear:function clear2(){clearMap(F,closeFileWatcherOf),clearMap(P,closeFileWatcherOf),w.clear(),L.clear(),M.clear(),a.clear(),closeTypeRootsWatch(),v.clear(),C.clear(),d.clear(),s.clear(),c.clear(),_=void 0,f=void 0,g=void 0,m=void 0,u=void 0,T=!1,b.clear(),E.clear(),b.update(e.getCompilationSettings()),E.update(e.getCompilationSettings()),k.clear(),p.clear(),N.clear(),y=!1},onChangesAffectModuleResolution:function onChangesAffectModuleResolution(){T=!0,b.clearAllExceptPackageJsonInfoCache(),E.clearAllExceptPackageJsonInfoCache(),b.update(e.getCompilationSettings()),E.update(e.getCompilationSettings())}};function isFileWithInvalidatedNonRelativeUnresolvedImports(e){if(!o)return!1;const t=o.get(e);return!!t&&!!t.length}function closePackageDirWatcher(e,t){0===e.dirPathToWatcher.size&&L.delete(t)}function closeDirectoryWatchesOfFailedLookup(e,t){0===e.refCount&&(F.delete(t),e.watcher.close())}function closeFileWatcherOfAffectingLocation(e,t){var n;0!==e.files||0!==e.resolutions||(null==(n=e.symlinks)?void 0:n.size)||(P.delete(t),e.watcher.close())}function resolveNamesWithLocalCache({entries:t,containingFile:n,containingSourceFile:i,redirectedReference:o,options:a,perFileCache:s,reusedNames:c,loader:l,getResolutionWithResolvedFileName:d,deferWatchingNonRelativeResolution:p,shouldRetryResolution:u,logChanges:m}){var _;const f=e.toPath(n),g=s.get(f)||s.set(f,createModeAwareCache()).get(f),y=[],S=m&&isFileWithInvalidatedNonRelativeUnresolvedImports(f),x=e.getCurrentProgram(),b=x&&(null==(_=x.getRedirectFromSourceFile(n))?void 0:_.resolvedRef),C=b?!o||o.sourceFile.path!==b.sourceFile.path:!!o,E=createModeAwareCache();for(const c of t){const t=l.nameAndMode.getName(c),_=l.nameAndMode.getMode(c,i,(null==o?void 0:o.commandLine.options)||a);let x=g.get(t,_);if(!E.has(t,_)&&(T||C||!x||x.isInvalidated||S&&!isExternalModuleNameRelative(t)&&u(x))){const n=x;x=l.resolve(t,_),e.onDiscoveredSymlink&&resolutionIsSymlink(x)&&e.onDiscoveredSymlink(),g.set(t,_,x),x!==n&&(watchFailedLookupLocationsOfExternalModuleResolutions(t,x,f,d,p),n&&stopWatchFailedLookupLocationOfResolution(n,f,d)),m&&r&&!resolutionIsEqualTo(n,x)&&(r.push(f),m=!1)}else{const r=getModuleResolutionHost(e);if(isTraceEnabled(a,r)&&!E.has(t,_)){const e=d(x);trace(r,s===v?(null==e?void 0:e.resolvedFileName)?e.packageId?Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:Ot.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:(null==e?void 0:e.resolvedFileName)?e.packageId?Ot.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:Ot.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:Ot.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved,t,n,null==e?void 0:e.resolvedFileName,(null==e?void 0:e.packageId)&&packageIdToString(e.packageId))}}h.assert(void 0!==x&&!x.isInvalidated),E.set(t,_,!0),y.push(x)}return null==c||c.forEach(e=>E.set(l.nameAndMode.getName(e),l.nameAndMode.getMode(e,i,(null==o?void 0:o.commandLine.options)||a),!0)),g.size()!==E.size()&&g.forEach((e,t,n)=>{E.has(t,n)||(stopWatchFailedLookupLocationOfResolution(e,f,d),g.delete(t,n))}),y;function resolutionIsEqualTo(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=d(e),r=d(t);return n===r||!(!n||!r)&&n.resolvedFileName===r.resolvedFileName}}function isNodeModulesAtTypesDirectory(e){return endsWith(e,"/node_modules/@types")}function watchFailedLookupLocationsOfExternalModuleResolutions(t,n,r,i,o){if((n.files??(n.files=new Set)).add(r),1!==n.files.size)return;!o||isExternalModuleNameRelative(t)?watchFailedLookupLocationOfResolution(n):a.add(n);const s=i(n);if(s&&s.resolvedFileName){const t=e.toPath(s.resolvedFileName);let r=d.get(t);r||d.set(t,r=new Set),r.add(n)}}function watchFailedLookupLocation(t,n){const r=getDirectoryToWatchFailedLookupLocation(t,e.toPath(t),D,I,A,O,S,e.preferNonRecursiveWatch);if(r){const{dir:e,dirPath:t,nonRecursive:i,packageDir:o,packageDirPath:a}=r;t===I?(h.assert(i),h.assert(!o),n=!0):setDirectoryWatcher(e,t,o,a,i)}return n}function watchFailedLookupLocationOfResolution(e){var t;h.assert(!!(null==(t=e.files)?void 0:t.size));const{failedLookupLocations:n,affectingLocations:r,alternateResult:i}=e;if(!(null==n?void 0:n.length)&&!(null==r?void 0:r.length)&&!i)return;((null==n?void 0:n.length)||i)&&s.add(e);let o=!1;if(n)for(const e of n)o=watchFailedLookupLocation(e,o);i&&(o=watchFailedLookupLocation(i,o)),o&&setDirectoryWatcher(D,I,void 0,void 0,!0),function watchAffectingLocationsOfResolution(e,t){var n;h.assert(!!(null==(n=e.files)?void 0:n.size));const{affectingLocations:r}=e;if(!(null==r?void 0:r.length))return;t&&c.add(e);for(const e of r)createFileWatcherOfAffectingLocation(e,!0)}(e,!(null==n?void 0:n.length)&&!i)}function createFileWatcherOfAffectingLocation(t,n){const r=P.get(t);if(r)return void(n?r.resolutions++:r.files++);let i,o=t,a=!1;e.realpath&&(o=e.realpath(t),t!==o&&(a=!0,i=P.get(o)));const s=n?1:0,c=n?0:1;if(!a||!i){const t={watcher:canWatchAffectingLocation(e.toPath(o))?e.watchAffectingFileLocation(o,(t,n)=>{null==x||x.addOrDeleteFile(t,e.toPath(o),n),invalidateAffectingFileWatcher(o,b.getPackageJsonInfoCache().getInternalMap()),e.scheduleInvalidateResolutionsOfFailedLookupLocations()}):Xa,resolutions:a?0:s,files:a?0:c,symlinks:void 0};P.set(o,t),a&&(i=t)}if(a){h.assert(!!i);const e={watcher:{close:()=>{var e;const n=P.get(o);!(null==(e=null==n?void 0:n.symlinks)?void 0:e.delete(t))||n.symlinks.size||n.resolutions||n.files||(P.delete(o),n.watcher.close())}},resolutions:s,files:c,symlinks:void 0};P.set(t,e),(i.symlinks??(i.symlinks=new Set)).add(t)}}function invalidateAffectingFileWatcher(t,n){var r;const i=P.get(t);(null==i?void 0:i.resolutions)&&(m??(m=new Set)).add(t),(null==i?void 0:i.files)&&(u??(u=new Set)).add(t),null==(r=null==i?void 0:i.symlinks)||r.forEach(e=>invalidateAffectingFileWatcher(e,n)),null==n||n.delete(e.toPath(t))}function watchFailedLookupLocationOfNonRelativeModuleResolutions(){a.forEach(watchFailedLookupLocationOfResolution),a.clear()}function setDirectoryWatcher(t,n,r,i,o){i&&e.realpath?function createDirectoryWatcherForPackageDir(t,n,r,i,o){h.assert(!o);let a=w.get(i),s=L.get(i);if(void 0===a){const t=e.realpath(r);a=t!==r&&e.toPath(t)!==i,w.set(i,a),s?s.isSymlink!==a&&(s.dirPathToWatcher.forEach(e=>{removeDirectoryWatcher(s.isSymlink?i:n),e.watcher=createDirPathToWatcher()}),s.isSymlink=a):L.set(i,s={dirPathToWatcher:new Map,isSymlink:a})}else h.assertIsDefined(s),h.assert(a===s.isSymlink);const c=s.dirPathToWatcher.get(n);function createDirPathToWatcher(){return a?createOrAddRefToDirectoryWatchOfFailedLookups(r,i,o):createOrAddRefToDirectoryWatchOfFailedLookups(t,n,o)}c?c.refCount++:(s.dirPathToWatcher.set(n,{watcher:createDirPathToWatcher(),refCount:1}),a&&M.set(n,(M.get(n)??0)+1))}(t,n,r,i,o):createOrAddRefToDirectoryWatchOfFailedLookups(t,n,o)}function createOrAddRefToDirectoryWatchOfFailedLookups(e,t,n){let r=F.get(t);return r?(h.assert(!!n==!!r.nonRecursive),r.refCount++):F.set(t,r={watcher:createDirectoryWatcher(e,t,n),refCount:1,nonRecursive:n}),r}function stopWatchFailedLookupLocation(t,n){const r=getDirectoryToWatchFailedLookupLocation(t,e.toPath(t),D,I,A,O,S,e.preferNonRecursiveWatch);if(r){const{dirPath:t,packageDirPath:i}=r;if(t===I)n=!0;else if(i&&e.realpath){const e=L.get(i),n=e.dirPathToWatcher.get(t);if(n.refCount--,0===n.refCount&&(removeDirectoryWatcher(e.isSymlink?i:t),e.dirPathToWatcher.delete(t),e.isSymlink)){const e=M.get(t)-1;0===e?M.delete(t):M.set(t,e)}}else removeDirectoryWatcher(t)}return n}function stopWatchFailedLookupLocationOfResolution(t,n,r){if(h.checkDefined(t.files).delete(n),t.files.size)return;t.files=void 0;const i=r(t);if(i&&i.resolvedFileName){const n=e.toPath(i.resolvedFileName),r=d.get(n);(null==r?void 0:r.delete(t))&&!r.size&&d.delete(n)}const{failedLookupLocations:o,affectingLocations:a,alternateResult:l}=t;if(s.delete(t)){let e=!1;if(o)for(const t of o)e=stopWatchFailedLookupLocation(t,e);l&&(e=stopWatchFailedLookupLocation(l,e)),e&&removeDirectoryWatcher(I)}else(null==a?void 0:a.length)&&c.delete(t);if(a)for(const e of a){P.get(e).resolutions--}}function removeDirectoryWatcher(e){F.get(e).refCount--}function createDirectoryWatcher(t,n,r){return e.watchDirectoryOfFailedLookupLocation(t,t=>{const r=e.toPath(t);x&&x.addOrDeleteFileOrDirectory(t,r),scheduleInvalidateResolutionOfFailedLookupLocation(r,n===r)},r?0:1)}function removeResolutionsOfFileFromCache(e,t,n){const r=e.get(t);r&&(r.forEach(e=>stopWatchFailedLookupLocationOfResolution(e,t,n)),e.delete(t))}function removeResolutionsOfFile(e){removeResolutionsOfFileFromCache(v,e,getResolvedModuleFromResolution),removeResolutionsOfFileFromCache(C,e,getResolvedTypeReferenceDirectiveFromResolution)}function invalidateResolutions(e,t){if(!e)return!1;let n=!1;return e.forEach(e=>{if(!e.isInvalidated&&t(e)){e.isInvalidated=n=!0;for(const t of h.checkDefined(e.files))(i??(i=new Set)).add(t),y=y||endsWith(t,Ua)}}),n}function scheduleInvalidateResolutionOfFailedLookupLocation(t,n){if(n)(g||(g=new Set)).add(t);else{const n=removeIgnoredPath(t);if(!n)return!1;if(t=n,e.fileIsOpen(t))return!1;const r=getDirectoryPath(t);if(isNodeModulesAtTypesDirectory(t)||isNodeModulesDirectory(t)||isNodeModulesAtTypesDirectory(r)||isNodeModulesDirectory(r))(_||(_=new Set)).add(t),(f||(f=new Set)).add(t);else{if(isEmittedFileOfProgram(e.getCurrentProgram(),t))return!1;if(fileExtensionIs(t,".map"))return!1;(_||(_=new Set)).add(t),(f||(f=new Set)).add(t);const n=parseNodeModuleFromPath(t,!0);n&&(f||(f=new Set)).add(n)}}e.scheduleInvalidateResolutionsOfFailedLookupLocations()}function invalidatePackageJsonMap(){const e=b.getPackageJsonInfoCache().getInternalMap();e&&(_||f||g)&&e.forEach((t,n)=>isInvalidatedFailedLookup(n)?e.delete(n):void 0)}function invalidateResolutionsOfFailedLookupLocations(){var t;if(T)return u=void 0,invalidatePackageJsonMap(),(_||f||g||m)&&invalidateResolutions(N,canInvalidateFailedLookupResolution),_=void 0,f=void 0,g=void 0,m=void 0,!0;let n=!1;return u&&(null==(t=e.getCurrentProgram())||t.getSourceFiles().forEach(e=>{some(e.packageJsonLocations,e=>u.has(e))&&((i??(i=new Set)).add(e.path),n=!0)}),u=void 0),_||f||g||m?(n=invalidateResolutions(s,canInvalidateFailedLookupResolution)||n,invalidatePackageJsonMap(),_=void 0,f=void 0,g=void 0,n=invalidateResolutions(c,canInvalidatedFailedLookupResolutionWithAffectingLocation)||n,m=void 0,n):n}function canInvalidateFailedLookupResolution(t){var n;return!!canInvalidatedFailedLookupResolutionWithAffectingLocation(t)||!!(_||f||g)&&((null==(n=t.failedLookupLocations)?void 0:n.some(t=>isInvalidatedFailedLookup(e.toPath(t))))||!!t.alternateResult&&isInvalidatedFailedLookup(e.toPath(t.alternateResult)))}function isInvalidatedFailedLookup(e){return(null==_?void 0:_.has(e))||firstDefinedIterator((null==f?void 0:f.keys())||[],t=>!!startsWith(e,t)||void 0)||firstDefinedIterator((null==g?void 0:g.keys())||[],t=>!(!(e.length>t.length&&startsWith(e,t))||!isDiskPathRoot(t)&&e[t.length]!==Ft)||void 0)}function canInvalidatedFailedLookupResolutionWithAffectingLocation(e){var t;return!!m&&(null==(t=e.affectingLocations)?void 0:t.some(e=>m.has(e)))}function closeTypeRootsWatch(){clearMap(R,closeFileWatcher)}function createTypeRootsWatch(t){return function canWatchTypeRootPath(t){return!!e.getCompilationSettings().typeRoots||canWatchAtTypes(e.toPath(t))}(t)?e.watchTypeRootsDirectory(t,n=>{const r=e.toPath(n);x&&x.addOrDeleteFileOrDirectory(n,r),y=!0,e.onChangedAutomaticTypeDirectiveNames();const i=getDirectoryToWatchFailedLookupLocationFromTypeRoot(t,e.toPath(t),I,A,O,S,e.preferNonRecursiveWatch,e=>F.has(e)||M.has(e));i&&scheduleInvalidateResolutionOfFailedLookupLocation(r,i===r)},1):Xa}}function resolutionIsSymlink(e){var t,n;return!(!(null==(t=e.resolvedModule)?void 0:t.originalPath)&&!(null==(n=e.resolvedTypeReferenceDirective)?void 0:n.originalPath))}var $a=kt?{getCurrentDirectory:()=>kt.getCurrentDirectory(),getNewLine:()=>kt.newLine,getCanonicalFileName:createGetCanonicalFileName(kt.useCaseSensitiveFileNames)}:void 0;function createDiagnosticReporter(e,t){const n=e===kt&&$a?$a:{getCurrentDirectory:()=>e.getCurrentDirectory(),getNewLine:()=>e.newLine,getCanonicalFileName:createGetCanonicalFileName(e.useCaseSensitiveFileNames)};if(!t)return t=>e.write(formatDiagnostic(t,n));const r=new Array(1);return t=>{r[0]=t,e.write(formatDiagnosticsWithColorAndContext(r,n)+n.getNewLine()),r[0]=void 0}}function clearScreenIfNotWatchingForFileChanges(e,t,n){return!(!e.clearScreen||n.preserveWatchOutput||n.extendedDiagnostics||n.diagnostics||!contains(Qa,t.code))&&(e.clearScreen(),!0)}var Qa=[Ot.Starting_compilation_in_watch_mode.code,Ot.File_change_detected_Starting_incremental_compilation.code];function getLocaleTimeString(e){return e.now?e.now().toLocaleTimeString("en-US",{timeZone:"UTC"}).replace("\u202f"," "):(new Date).toLocaleTimeString()}function createWatchStatusReporter(e,t){return t?(t,n,r)=>{clearScreenIfNotWatchingForFileChanges(e,t,r);let i=`[${formatColorAndReset(getLocaleTimeString(e),"[90m")}] `;i+=`${flattenDiagnosticMessageText(t.messageText,e.newLine)}${n+n}`,e.write(i)}:(t,n,r)=>{let i="";clearScreenIfNotWatchingForFileChanges(e,t,r)||(i+=n),i+=`${getLocaleTimeString(e)} - `,i+=`${flattenDiagnosticMessageText(t.messageText,e.newLine)}${function getPlainDiagnosticFollowingNewLines(e,t){return contains(Qa,e.code)?t+t:t}(t,n)}`,e.write(i)}}function parseConfigFileWithSystem(e,t,n,r,i,o){const a=i;a.onUnRecoverableConfigFileDiagnostic=e=>reportUnrecoverableDiagnostic(i,o,e);const s=getParsedCommandLineOfConfigFile(e,t,a,n,r);return a.onUnRecoverableConfigFileDiagnostic=void 0,s}function getErrorCountForSummary(e){return countWhere(e,e=>1===e.category)}function getFilesInErrorForSummary(e){return filter(e,e=>1===e.category).map(e=>{if(void 0!==e.file)return`${e.file.fileName}`}).map(t=>{if(void 0===t)return;const n=find(e,e=>void 0!==e.file&&e.file.fileName===t);if(void 0!==n){const{line:e}=getLineAndCharacterOfPosition(n.file,n.start);return{fileName:t,line:e+1}}})}function getWatchErrorSummaryDiagnosticMessage(e){return 1===e?Ot.Found_1_error_Watching_for_file_changes:Ot.Found_0_errors_Watching_for_file_changes}function prettyPathForFileError(e,t){const n=formatColorAndReset(":"+e.line,"[90m");return pathIsAbsolute(e.fileName)&&pathIsAbsolute(t)?getRelativePathFromDirectory(t,e.fileName,!1)+n:e.fileName+n}function getErrorSummaryText(e,t,n,r){if(0===e)return"";const i=t.filter(e=>void 0!==e),o=i.map(e=>`${e.fileName}:${e.line}`).filter((e,t,n)=>n.indexOf(e)===t),a=i[0]&&prettyPathForFileError(i[0],r.getCurrentDirectory());let s;s=1===e?void 0!==t[0]?[Ot.Found_1_error_in_0,a]:[Ot.Found_1_error]:0===o.length?[Ot.Found_0_errors,e]:1===o.length?[Ot.Found_0_errors_in_the_same_file_starting_at_Colon_1,e,a]:[Ot.Found_0_errors_in_1_files,e,o.length];const c=createCompilerDiagnostic(...s),l=o.length>1?function createTabularErrorsDisplay(e,t){const n=e.filter((e,t,n)=>t===n.findIndex(t=>(null==t?void 0:t.fileName)===(null==e?void 0:e.fileName)));if(0===n.length)return"";const numberLength=e=>Math.log(e)*Math.LOG10E+1,r=n.map(t=>[t,countWhere(e,e=>e.fileName===t.fileName)]),i=maxBy(r,0,e=>e[1]),o=Ot.Errors_Files.message,a=o.split(" ")[0].length,s=Math.max(a,numberLength(i)),c=Math.max(numberLength(i)-a,0);let l="";return l+=" ".repeat(c)+o+"\n",r.forEach(e=>{const[n,r]=e,i=Math.log(r)*Math.LOG10E+1|0,o=i<s?" ".repeat(s-i):"",a=prettyPathForFileError(n,t.getCurrentDirectory());l+=`${o}${r} ${a}\n`}),l}(i,r):"";return`${n}${flattenDiagnosticMessageText(c.messageText,n)}${n}${n}${l}`}function isBuilderProgram(e){return!!e.state}function explainFiles(e,t){var n,r;const i=e.getFileIncludeReasons(),relativeFileName=t=>convertToRelativePath(t,e.getCurrentDirectory(),e.getCanonicalFileName);for(const o of e.getSourceFiles())t(`${toFileName(o,relativeFileName)}`),null==(n=i.get(o.path))||n.forEach(n=>t(` ${fileIncludeReasonToDiagnostics(e,n,relativeFileName).messageText}`)),null==(r=explainIfFileIsRedirectAndImpliedFormat(o,e.getCompilerOptionsForFile(o),relativeFileName))||r.forEach(e=>t(` ${e.messageText}`))}function explainIfFileIsRedirectAndImpliedFormat(e,t,n){var r;let i;if(e.path!==e.resolvedPath&&(i??(i=[])).push(chainDiagnosticMessages(void 0,Ot.File_is_output_of_project_reference_source_0,toFileName(e.originalFileName,n))),e.redirectInfo&&(i??(i=[])).push(chainDiagnosticMessages(void 0,Ot.File_redirects_to_file_0,toFileName(e.redirectInfo.redirectTarget,n))),isExternalOrCommonJsModule(e))switch(getImpliedNodeFormatForEmitWorker(e,t)){case 99:e.packageJsonScope&&(i??(i=[])).push(chainDiagnosticMessages(void 0,Ot.File_is_ECMAScript_module_because_0_has_field_type_with_value_module,toFileName(last(e.packageJsonLocations),n)));break;case 1:e.packageJsonScope?(i??(i=[])).push(chainDiagnosticMessages(void 0,e.packageJsonScope.contents.packageJsonContent.type?Ot.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:Ot.File_is_CommonJS_module_because_0_does_not_have_field_type,toFileName(last(e.packageJsonLocations),n))):(null==(r=e.packageJsonLocations)?void 0:r.length)&&(i??(i=[])).push(chainDiagnosticMessages(void 0,Ot.File_is_CommonJS_module_because_package_json_was_not_found))}return i}function getMatchedFileSpec(e,t){var n;const r=e.getCompilerOptions().configFile;if(!(null==(n=null==r?void 0:r.configFileSpecs)?void 0:n.validatedFilesSpec))return;const i=e.getCanonicalFileName(t),o=getDirectoryPath(getNormalizedAbsolutePath(r.fileName,e.getCurrentDirectory())),a=findIndex(r.configFileSpecs.validatedFilesSpec,t=>e.getCanonicalFileName(getNormalizedAbsolutePath(t,o))===i);return-1!==a?r.configFileSpecs.validatedFilesSpecBeforeSubstitution[a]:void 0}function getMatchedIncludeSpec(e,t){var n,r;const i=e.getCompilerOptions().configFile;if(!(null==(n=null==i?void 0:i.configFileSpecs)?void 0:n.validatedIncludeSpecs))return;if(i.configFileSpecs.isDefaultIncludeSpec)return!0;const o=fileExtensionIs(t,".json"),a=getDirectoryPath(getNormalizedAbsolutePath(i.fileName,e.getCurrentDirectory())),s=e.useCaseSensitiveFileNames(),c=findIndex(null==(r=null==i?void 0:i.configFileSpecs)?void 0:r.validatedIncludeSpecs,e=>{if(o&&!endsWith(e,".json"))return!1;const n=getPatternFromSpec(e,a,"files");return!!n&&getRegexFromPattern(`(?:${n})$`,s).test(t)});return-1!==c?i.configFileSpecs.validatedIncludeSpecsBeforeSubstitution[c]:void 0}function fileIncludeReasonToDiagnostics(e,t,n){var r,i;const o=e.getCompilerOptions();if(isReferencedFile(t)){const r=getReferencedFileLocation(e,t),i=isReferenceFileLocation(r)?r.file.text.substring(r.pos,r.end):`"${r.text}"`;let o;switch(h.assert(isReferenceFileLocation(r)||3===t.kind,"Only synthetic references are imports"),t.kind){case 3:o=isReferenceFileLocation(r)?r.packageId?Ot.Imported_via_0_from_file_1_with_packageId_2:Ot.Imported_via_0_from_file_1:r.text===sn?r.packageId?Ot.Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:Ot.Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:r.packageId?Ot.Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:Ot.Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions;break;case 4:h.assert(!r.packageId),o=Ot.Referenced_via_0_from_file_1;break;case 5:o=r.packageId?Ot.Type_library_referenced_via_0_from_file_1_with_packageId_2:Ot.Type_library_referenced_via_0_from_file_1;break;case 7:h.assert(!r.packageId),o=Ot.Library_referenced_via_0_from_file_1;break;default:h.assertNever(t)}return chainDiagnosticMessages(void 0,o,i,toFileName(r.file,n),r.packageId&&packageIdToString(r.packageId))}switch(t.kind){case 0:if(!(null==(r=o.configFile)?void 0:r.configFileSpecs))return chainDiagnosticMessages(void 0,Ot.Root_file_specified_for_compilation);const a=getNormalizedAbsolutePath(e.getRootFileNames()[t.index],e.getCurrentDirectory());if(getMatchedFileSpec(e,a))return chainDiagnosticMessages(void 0,Ot.Part_of_files_list_in_tsconfig_json);const s=getMatchedIncludeSpec(e,a);return isString(s)?chainDiagnosticMessages(void 0,Ot.Matched_by_include_pattern_0_in_1,s,toFileName(o.configFile,n)):chainDiagnosticMessages(void 0,s?Ot.Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:Ot.Root_file_specified_for_compilation);case 1:case 2:const c=2===t.kind,l=h.checkDefined(null==(i=e.getResolvedProjectReferences())?void 0:i[t.index]);return chainDiagnosticMessages(void 0,o.outFile?c?Ot.Output_from_referenced_project_0_included_because_1_specified:Ot.Source_from_referenced_project_0_included_because_1_specified:c?Ot.Output_from_referenced_project_0_included_because_module_is_specified_as_none:Ot.Source_from_referenced_project_0_included_because_module_is_specified_as_none,toFileName(l.sourceFile.fileName,n),o.outFile?"--outFile":"--out");case 8:return chainDiagnosticMessages(void 0,...o.types?t.packageId?[Ot.Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1,t.typeReference,packageIdToString(t.packageId)]:[Ot.Entry_point_of_type_library_0_specified_in_compilerOptions,t.typeReference]:t.packageId?[Ot.Entry_point_for_implicit_type_library_0_with_packageId_1,t.typeReference,packageIdToString(t.packageId)]:[Ot.Entry_point_for_implicit_type_library_0,t.typeReference]);case 6:{if(void 0!==t.index)return chainDiagnosticMessages(void 0,Ot.Library_0_specified_in_compilerOptions,o.lib[t.index]);const e=getNameOfScriptTarget(zn(o));return chainDiagnosticMessages(void 0,...e?[Ot.Default_library_for_target_0,e]:[Ot.Default_library])}default:h.assertNever(t)}}function toFileName(e,t){const n=isString(e)?e:e.fileName;return t?t(n):n}function emitFilesAndReportErrors(e,t,n,r,i,o,a,s){const c=e.getCompilerOptions(),d=e.getConfigFileParsingDiagnostics().slice(),p=d.length;addRange(d,e.getSyntacticDiagnostics(void 0,o)),d.length===p&&(addRange(d,e.getOptionsDiagnostics(o)),c.listFilesOnly||(addRange(d,e.getGlobalDiagnostics(o)),d.length===p&&addRange(d,e.getSemanticDiagnostics(void 0,o)),c.noEmit&&Zn(c)&&d.length===p&&addRange(d,e.getDeclarationDiagnostics(void 0,o))));const u=c.listFilesOnly?{emitSkipped:!0,diagnostics:l}:e.emit(void 0,i,o,a,s);addRange(d,u.diagnostics);const m=sortAndDeduplicateDiagnostics(d);if(m.forEach(t),n){const t=e.getCurrentDirectory();forEach(u.emittedFiles,e=>{const r=getNormalizedAbsolutePath(e,t);n(`TSFILE: ${r}`)}),function listFiles(e,t){const n=e.getCompilerOptions();n.explainFiles?explainFiles(isBuilderProgram(e)?e.getProgram():e,t):(n.listFiles||n.listFilesOnly)&&forEach(e.getSourceFiles(),e=>{t(e.fileName)})}(e,n)}return r&&r(getErrorCountForSummary(m),getFilesInErrorForSummary(m)),{emitResult:u,diagnostics:m}}function emitFilesAndReportErrorsAndGetExitStatus(e,t,n,r,i,o,a,s){const{emitResult:c,diagnostics:l}=emitFilesAndReportErrors(e,t,n,r,i,o,a,s);return c.emitSkipped&&l.length>0?1:l.length>0?2:0}var Xa={close:noop},returnNoopFileWatcher=()=>Xa;function createWatchHost(e=kt,t){return{onWatchStatusChange:t||createWatchStatusReporter(e),watchFile:maybeBind(e,e.watchFile)||returnNoopFileWatcher,watchDirectory:maybeBind(e,e.watchDirectory)||returnNoopFileWatcher,setTimeout:maybeBind(e,e.setTimeout)||noop,clearTimeout:maybeBind(e,e.clearTimeout)||noop,preferNonRecursiveWatch:e.preferNonRecursiveWatch}}var Ya={ConfigFile:"Config file",ExtendedConfigFile:"Extended config file",SourceFile:"Source file",MissingFile:"Missing file",WildcardDirectory:"Wild card directory",FailedLookupLocations:"Failed Lookup Locations",AffectingFileLocation:"File location affecting resolution",TypeRoots:"Type roots",ConfigFileOfReferencedProject:"Config file of referened project",ExtendedConfigOfReferencedProject:"Extended config file of referenced project",WildcardDirectoryOfReferencedProject:"Wild card directory of referenced project",PackageJson:"package.json file",ClosedScriptInfo:"Closed Script info",ConfigFileForInferredRoot:"Config file for the inferred project root",NodeModules:"node_modules for closed script infos and package.jsons affecting module specifier cache",MissingSourceMapFile:"Missing source map file",NoopConfigFileForInferredRoot:"Noop Config file for the inferred project root",MissingGeneratedFile:"Missing generated file",NodeModulesForModuleSpecifierCache:"node_modules for module specifier cache invalidation",TypingInstallerLocationFile:"File location for typing installer",TypingInstallerLocationDirectory:"Directory location for typing installer"};function createWatchFactory(e,t){const n=e.trace?t.extendedDiagnostics?2:t.diagnostics?1:0:0,r=0!==n?t=>e.trace(t):noop,i=getWatchFactory(e,n,r);return i.writeLog=r,i}function createCompilerHostFromProgramHost(e,t,n=e){const r=e.useCaseSensitiveFileNames(),i={getSourceFile:createGetSourceFile((t,n)=>n?e.readFile(t,n):i.readFile(t),void 0),getDefaultLibLocation:maybeBind(e,e.getDefaultLibLocation),getDefaultLibFileName:t=>e.getDefaultLibFileName(t),writeFile:createWriteFileMeasuringIO((t,n,r)=>e.writeFile(t,n,r),t=>e.createDirectory(t),t=>e.directoryExists(t)),getCurrentDirectory:memoize(()=>e.getCurrentDirectory()),useCaseSensitiveFileNames:()=>r,getCanonicalFileName:createGetCanonicalFileName(r),getNewLine:()=>getNewLineCharacter(t()),fileExists:t=>e.fileExists(t),readFile:t=>e.readFile(t),trace:maybeBind(e,e.trace),directoryExists:maybeBind(n,n.directoryExists),getDirectories:maybeBind(n,n.getDirectories),realpath:maybeBind(e,e.realpath),getEnvironmentVariable:maybeBind(e,e.getEnvironmentVariable)||(()=>""),createHash:maybeBind(e,e.createHash),readDirectory:maybeBind(e,e.readDirectory),storeSignatureInfo:e.storeSignatureInfo,jsDocParsingMode:e.jsDocParsingMode};return i}function getSourceFileVersionAsHashFromText(e,t){if(t.match(la)){let e=t.length,n=e;for(let r=e-1;r>=0;r--){const i=t.charCodeAt(r);switch(i){case 10:r&&13===t.charCodeAt(r-1)&&r--;case 13:break;default:if(i<127||!isLineBreak(i)){n=r;continue}}const o=t.substring(n,e);if(o.match(da)){t=t.substring(0,n);break}if(!o.match(pa))break;e=n}}return(e.createHash||generateDjb2Hash)(t)}function setGetSourceFileAsHashVersioned(e){const t=e.getSourceFile;e.getSourceFile=(...n)=>{const r=t.call(e,...n);return r&&(r.version=getSourceFileVersionAsHashFromText(e,r.text)),r}}function createProgramHost(e,t){const n=memoize(()=>getDirectoryPath(normalizePath(e.getExecutingFilePath())));return{useCaseSensitiveFileNames:()=>e.useCaseSensitiveFileNames,getNewLine:()=>e.newLine,getCurrentDirectory:memoize(()=>e.getCurrentDirectory()),getDefaultLibLocation:n,getDefaultLibFileName:e=>combinePaths(n(),getDefaultLibFileName(e)),fileExists:t=>e.fileExists(t),readFile:(t,n)=>e.readFile(t,n),directoryExists:t=>e.directoryExists(t),getDirectories:t=>e.getDirectories(t),readDirectory:(t,n,r,i,o)=>e.readDirectory(t,n,r,i,o),realpath:maybeBind(e,e.realpath),getEnvironmentVariable:maybeBind(e,e.getEnvironmentVariable),trace:t=>e.write(t+e.newLine),createDirectory:t=>e.createDirectory(t),writeFile:(t,n,r)=>e.writeFile(t,n,r),createHash:maybeBind(e,e.createHash),createProgram:t||createEmitAndSemanticDiagnosticsBuilderProgram,storeSignatureInfo:e.storeSignatureInfo,now:maybeBind(e,e.now)}}function createWatchCompilerHost(e=kt,t,n,r){const write=t=>e.write(t+e.newLine),i=createProgramHost(e,t);return copyProperties(i,createWatchHost(e,r)),i.afterProgramCreate=e=>{const t=e.getCompilerOptions(),r=getNewLineCharacter(t);emitFilesAndReportErrors(e,n,write,e=>i.onWatchStatusChange(createCompilerDiagnostic(getWatchErrorSummaryDiagnosticMessage(e),e),r,t,e))},i}function reportUnrecoverableDiagnostic(e,t,n){t(n),e.exit(1)}function createWatchCompilerHostOfConfigFile({configFileName:e,optionsToExtend:t,watchOptionsToExtend:n,extraFileExtensions:r,system:i,createProgram:o,reportDiagnostic:a,reportWatchStatus:s}){const c=a||createDiagnosticReporter(i),l=createWatchCompilerHost(i,o,c,s);return l.onUnRecoverableConfigFileDiagnostic=e=>reportUnrecoverableDiagnostic(i,c,e),l.configFileName=e,l.optionsToExtend=t,l.watchOptionsToExtend=n,l.extraFileExtensions=r,l}function createWatchCompilerHostOfFilesAndCompilerOptions({rootFiles:e,options:t,watchOptions:n,projectReferences:r,system:i,createProgram:o,reportDiagnostic:a,reportWatchStatus:s}){const c=createWatchCompilerHost(i,o,a||createDiagnosticReporter(i),s);return c.rootFiles=e,c.options=t,c.watchOptions=n,c.projectReferences=r,c}function performIncrementalCompilation(e){const t=e.system||kt,n=e.host||(e.host=createIncrementalCompilerHost(e.options,t)),r=createIncrementalProgram(e),i=emitFilesAndReportErrorsAndGetExitStatus(r,e.reportDiagnostic||createDiagnosticReporter(t),e=>n.trace&&n.trace(e),e.reportErrorSummary||e.options.pretty?(e,r)=>t.write(getErrorSummaryText(e,r,t.newLine,n)):void 0);return e.afterProgramEmitAndDiagnostics&&e.afterProgramEmitAndDiagnostics(r),i}function readBuilderProgram(e,t){const n=getTsBuildInfoEmitOutputFilePath(e);if(!n)return;let r;if(t.getBuildInfo)r=t.getBuildInfo(n,e.configFilePath);else{const e=t.readFile(n);if(!e)return;r=getBuildInfo(n,e)}return r&&r.version===s&&isIncrementalBuildInfo(r)?createBuilderProgramUsingIncrementalBuildInfo(r,n,t):void 0}function createIncrementalCompilerHost(e,t=kt){const n=createCompilerHostWorker(e,void 0,t);return n.createHash=maybeBind(t,t.createHash),n.storeSignatureInfo=t.storeSignatureInfo,setGetSourceFileAsHashVersioned(n),changeCompilerHostLikeToUseCache(n,e=>toPath(e,n.getCurrentDirectory(),n.getCanonicalFileName)),n}function createIncrementalProgram({rootNames:e,options:t,configFileParsingDiagnostics:n,projectReferences:r,host:i,createProgram:o}){return(o=o||createEmitAndSemanticDiagnosticsBuilderProgram)(e,t,i=i||createIncrementalCompilerHost(t),readBuilderProgram(t,i),n,r)}function createWatchCompilerHost2(e,t,n,r,i,o,a,s){return isArray(e)?createWatchCompilerHostOfFilesAndCompilerOptions({rootFiles:e,options:t,watchOptions:s,projectReferences:a,system:n,createProgram:r,reportDiagnostic:i,reportWatchStatus:o}):createWatchCompilerHostOfConfigFile({configFileName:e,optionsToExtend:t,watchOptionsToExtend:a,extraFileExtensions:s,system:n,createProgram:r,reportDiagnostic:i,reportWatchStatus:o})}function createWatchProgram(e){let t,n,r,i,o,a,s,c,l=new Map([[void 0,void 0]]),d=e.extendedConfigCache,p=!1;const u=new Map;let m,_=!1;const f=e.useCaseSensitiveFileNames(),g=e.getCurrentDirectory(),{configFileName:y,optionsToExtend:T={},watchOptionsToExtend:S,extraFileExtensions:x,createProgram:v}=e;let b,C,{rootFiles:E,options:N,watchOptions:k,projectReferences:F}=e,P=!1,D=!1;const I=void 0===y?void 0:createCachedDirectoryStructureHost(e,g,f),A=I||e,O=parseConfigHostFromCompilerHostLike(e,A);let w=updateNewLine();y&&e.configFileParsingResult&&(setConfigFileParsingResult(e.configFileParsingResult),w=updateNewLine()),reportWatchDiagnostic(Ot.Starting_compilation_in_watch_mode),y&&!e.configFileParsingResult&&(w=getNewLineCharacter(T),h.assert(!E),parseConfigFile2(),w=updateNewLine()),h.assert(N),h.assert(E);const{watchFile:L,watchDirectory:M,writeLog:R}=createWatchFactory(e,N),B=createGetCanonicalFileName(f);let j;R(`Current directory: ${g} CaseSensitiveFileNames: ${f}`),y&&(j=L(y,function scheduleProgramReload(){h.assert(!!y),n=2,scheduleProgramUpdate()},2e3,k,Ya.ConfigFile));const J=createCompilerHostFromProgramHost(e,()=>N,A);setGetSourceFileAsHashVersioned(J);const W=J.getSourceFile;J.getSourceFile=(e,...t)=>getVersionedSourceFileByPath(e,toPath3(e),...t),J.getSourceFileByPath=getVersionedSourceFileByPath,J.getNewLine=()=>w,J.fileExists=function fileExists(e){const t=toPath3(e);if(isFileMissingOnHost(u.get(t)))return!1;return A.fileExists(e)},J.onReleaseOldSourceFile=function onReleaseOldSourceFile(e,t,n){const r=u.get(e.resolvedPath);void 0!==r&&(isFileMissingOnHost(r)?(m||(m=[])).push(e.path):r.sourceFile===e&&(r.fileWatcher&&r.fileWatcher.close(),u.delete(e.resolvedPath),n||U.removeResolutionsOfFile(e.path)))},J.onReleaseParsedCommandLine=function onReleaseParsedCommandLine(e){var t;const n=toPath3(e),r=null==s?void 0:s.get(n);if(!r)return;s.delete(n),r.watchedDirectories&&clearMap(r.watchedDirectories,closeFileWatcherOf);null==(t=r.watcher)||t.close(),clearSharedExtendedConfigFileWatcher(n,c)},J.toPath=toPath3,J.getCompilationSettings=()=>N,J.useSourceOfProjectReferenceRedirect=maybeBind(e,e.useSourceOfProjectReferenceRedirect),J.preferNonRecursiveWatch=e.preferNonRecursiveWatch,J.watchDirectoryOfFailedLookupLocation=(e,t,n)=>M(e,t,n,k,Ya.FailedLookupLocations),J.watchAffectingFileLocation=(e,t)=>L(e,t,2e3,k,Ya.AffectingFileLocation),J.watchTypeRootsDirectory=(e,t,n)=>M(e,t,n,k,Ya.TypeRoots),J.getCachedDirectoryStructureHost=()=>I,J.scheduleInvalidateResolutionsOfFailedLookupLocations=function scheduleInvalidateResolutionsOfFailedLookupLocations(){if(!e.setTimeout||!e.clearTimeout)return U.invalidateResolutionsOfFailedLookupLocations();const t=clearInvalidateResolutionsOfFailedLookupLocations();R("Scheduling invalidateFailedLookup"+(t?", Cancelled earlier one":"")),a=e.setTimeout(invalidateResolutionsOfFailedLookup,250,"timerToInvalidateFailedLookupResolutions")},J.onInvalidatedResolution=scheduleProgramUpdate,J.onChangedAutomaticTypeDirectiveNames=scheduleProgramUpdate,J.fileIsOpen=returnFalse,J.getCurrentProgram=getCurrentProgram,J.writeLog=R,J.getParsedCommandLine=getParsedCommandLine;const U=createResolutionCache(J,y?getDirectoryPath(getNormalizedAbsolutePath(y,g)):g,!1);J.resolveModuleNameLiterals=maybeBind(e,e.resolveModuleNameLiterals),J.resolveModuleNames=maybeBind(e,e.resolveModuleNames),J.resolveModuleNameLiterals||J.resolveModuleNames||(J.resolveModuleNameLiterals=U.resolveModuleNameLiterals.bind(U)),J.resolveTypeReferenceDirectiveReferences=maybeBind(e,e.resolveTypeReferenceDirectiveReferences),J.resolveTypeReferenceDirectives=maybeBind(e,e.resolveTypeReferenceDirectives),J.resolveTypeReferenceDirectiveReferences||J.resolveTypeReferenceDirectives||(J.resolveTypeReferenceDirectiveReferences=U.resolveTypeReferenceDirectiveReferences.bind(U)),J.resolveLibrary=e.resolveLibrary?e.resolveLibrary.bind(e):U.resolveLibrary.bind(U),J.getModuleResolutionCache=e.resolveModuleNameLiterals||e.resolveModuleNames?maybeBind(e,e.getModuleResolutionCache):()=>U.getModuleResolutionCache();const z=!!(e.resolveModuleNameLiterals||e.resolveTypeReferenceDirectiveReferences||e.resolveModuleNames||e.resolveTypeReferenceDirectives)?maybeBind(e,e.hasInvalidatedResolutions)||returnTrue:returnFalse,V=e.resolveLibrary?maybeBind(e,e.hasInvalidatedLibResolutions)||returnTrue:returnFalse;return t=readBuilderProgram(N,J),synchronizeProgram(),y?{getCurrentProgram:getCurrentBuilderProgram,getProgram:updateProgram,close,getResolutionCache}:{getCurrentProgram:getCurrentBuilderProgram,getProgram:updateProgram,updateRootFileNames:function updateRootFileNames(e){h.assert(!y,"Cannot update root file names with config file watch mode"),E=e,scheduleProgramUpdate()},close,getResolutionCache};function close(){clearInvalidateResolutionsOfFailedLookupLocations(),U.clear(),clearMap(u,e=>{e&&e.fileWatcher&&(e.fileWatcher.close(),e.fileWatcher=void 0)}),j&&(j.close(),j=void 0),null==d||d.clear(),d=void 0,c&&(clearMap(c,closeFileWatcherOf),c=void 0),i&&(clearMap(i,closeFileWatcherOf),i=void 0),r&&(clearMap(r,closeFileWatcher),r=void 0),s&&(clearMap(s,e=>{var t;null==(t=e.watcher)||t.close(),e.watcher=void 0,e.watchedDirectories&&clearMap(e.watchedDirectories,closeFileWatcherOf),e.watchedDirectories=void 0}),s=void 0),t=void 0}function getResolutionCache(){return U}function getCurrentBuilderProgram(){return t}function getCurrentProgram(){return t&&t.getProgramOrUndefined()}function synchronizeProgram(){R("Synchronizing program"),h.assert(N),h.assert(E),clearInvalidateResolutionsOfFailedLookupLocations();const n=getCurrentBuilderProgram();_&&(w=updateNewLine(),n&&changesAffectModuleResolution(n.getCompilerOptions(),N)&&U.onChangesAffectModuleResolution());const{hasInvalidatedResolutions:o,hasInvalidatedLibResolutions:a}=U.createHasInvalidatedResolutions(z,V),{originalReadFile:c,originalFileExists:d,originalDirectoryExists:T,originalCreateDirectory:S,originalWriteFile:x,readFileWithCache:P}=changeCompilerHostLikeToUseCache(J,toPath3);return isProgramUptoDate(getCurrentProgram(),E,N,e=>function getSourceVersion(e,t){const n=u.get(e);if(!n)return;if(n.version)return n.version;const r=t(e);return void 0!==r?getSourceFileVersionAsHashFromText(J,r):void 0}(e,P),e=>J.fileExists(e),o,a,hasChangedAutomaticTypeDirectiveNames,getParsedCommandLine,F)?D&&(p&&reportWatchDiagnostic(Ot.File_change_detected_Starting_incremental_compilation),t=v(void 0,void 0,J,t,C,F),D=!1):(p&&reportWatchDiagnostic(Ot.File_change_detected_Starting_incremental_compilation),function createNewProgram(e,n){R("CreatingProgramWith::"),R(` roots: ${JSON.stringify(E)}`),R(` options: ${JSON.stringify(N)}`),F&&R(` projectReferences: ${JSON.stringify(F)}`);const i=_||!getCurrentProgram();_=!1,D=!1,U.startCachingPerDirectoryResolution(),J.hasInvalidatedResolutions=e,J.hasInvalidatedLibResolutions=n,J.hasChangedAutomaticTypeDirectiveNames=hasChangedAutomaticTypeDirectiveNames;const o=getCurrentProgram();t=v(E,N,J,t,C,F),U.finishCachingPerDirectoryResolution(t.getProgram(),o),updateMissingFilePathsWatch(t.getProgram(),r||(r=new Map),watchMissingFilePath),i&&U.updateTypeRootsWatch();if(m){for(const e of m)r.has(e)||u.delete(e);m=void 0}}(o,a)),p=!1,e.afterProgramCreate&&n!==t&&e.afterProgramCreate(t),J.readFile=c,J.fileExists=d,J.directoryExists=T,J.createDirectory=S,J.writeFile=x,null==l||l.forEach((e,t)=>{if(t){const n=null==s?void 0:s.get(t);n&&function watchReferencedProject(e,t,n){var r,i,o,a;n.watcher||(n.watcher=L(e,(n,r)=>{updateCachedSystemWithFile(e,t,r);const i=null==s?void 0:s.get(t);i&&(i.updateLevel=2),U.removeResolutionsFromProjectReferenceRedirects(t),scheduleProgramUpdate()},2e3,(null==(r=n.parsedCommandLine)?void 0:r.watchOptions)||k,Ya.ConfigFileOfReferencedProject)),updateWatchingWildcardDirectories(n.watchedDirectories||(n.watchedDirectories=new Map),null==(i=n.parsedCommandLine)?void 0:i.wildcardDirectories,(r,i)=>{var o;return M(r,n=>{const i=toPath3(n);I&&I.addOrDeleteFileOrDirectory(n,i),nextSourceFileVersion(i);const o=null==s?void 0:s.get(t);(null==o?void 0:o.parsedCommandLine)&&(isIgnoredFileFromWildCardWatching({watchedDirPath:toPath3(r),fileOrDirectory:n,fileOrDirectoryPath:i,configFileName:e,options:o.parsedCommandLine.options,program:o.parsedCommandLine.fileNames,currentDirectory:g,useCaseSensitiveFileNames:f,writeLog:R,toPath:toPath3})||2!==o.updateLevel&&(o.updateLevel=1,scheduleProgramUpdate()))},i,(null==(o=n.parsedCommandLine)?void 0:o.watchOptions)||k,Ya.WildcardDirectoryOfReferencedProject)}),updateExtendedConfigFilesWatches(t,null==(o=n.parsedCommandLine)?void 0:o.options,(null==(a=n.parsedCommandLine)?void 0:a.watchOptions)||k,Ya.ExtendedConfigOfReferencedProject)}(e,t,n)}else!function watchConfigFileWildCardDirectories(){updateWatchingWildcardDirectories(i||(i=new Map),b,watchWildcardDirectory)}(),y&&updateExtendedConfigFilesWatches(toPath3(y),N,k,Ya.ExtendedConfigFile)}),l=void 0,t}function updateNewLine(){return getNewLineCharacter(N||T)}function toPath3(e){return toPath(e,g,B)}function isFileMissingOnHost(e){return"boolean"==typeof e}function getVersionedSourceFileByPath(e,t,n,r,i){const o=u.get(t);if(isFileMissingOnHost(o))return;const a="object"==typeof n?n.impliedNodeFormat:void 0;if(void 0===o||i||function isFilePresenceUnknownOnHost(e){return"boolean"==typeof e.version}(o)||o.sourceFile.impliedNodeFormat!==a){const i=W(e,n,r);if(o)i?(o.sourceFile=i,o.version=i.version,o.fileWatcher||(o.fileWatcher=watchFilePath(t,e,onSourceFileChange,250,k,Ya.SourceFile))):(o.fileWatcher&&o.fileWatcher.close(),u.set(t,!1));else if(i){const n=watchFilePath(t,e,onSourceFileChange,250,k,Ya.SourceFile);u.set(t,{sourceFile:i,version:i.version,fileWatcher:n})}else u.set(t,!1);return i}return o.sourceFile}function nextSourceFileVersion(e){const t=u.get(e);void 0!==t&&(isFileMissingOnHost(t)?u.set(e,{version:!1}):t.version=!1)}function reportWatchDiagnostic(t){e.onWatchStatusChange&&e.onWatchStatusChange(createCompilerDiagnostic(t),w,N||T)}function hasChangedAutomaticTypeDirectiveNames(){return U.hasChangedAutomaticTypeDirectiveNames()}function clearInvalidateResolutionsOfFailedLookupLocations(){return!!a&&(e.clearTimeout(a),a=void 0,!0)}function invalidateResolutionsOfFailedLookup(){a=void 0,U.invalidateResolutionsOfFailedLookupLocations()&&scheduleProgramUpdate()}function scheduleProgramUpdate(){e.setTimeout&&e.clearTimeout&&(o&&e.clearTimeout(o),R("Scheduling update"),o=e.setTimeout(updateProgramWithWatchStatus,250,"timerToUpdateProgram"))}function updateProgramWithWatchStatus(){o=void 0,p=!0,updateProgram()}function updateProgram(){switch(n){case 1:!function reloadFileNamesFromConfigFile(){R("Reloading new file names and options"),h.assert(N),h.assert(y),n=0,E=getFileNamesFromConfigSpecs(N.configFile.configFileSpecs,getNormalizedAbsolutePath(getDirectoryPath(y),g),N,O,x),updateErrorForNoInputFiles(E,getNormalizedAbsolutePath(y,g),N.configFile.configFileSpecs,C,P)&&(D=!0);synchronizeProgram()}();break;case 2:!function reloadConfigFile(){h.assert(y),R(`Reloading config file: ${y}`),n=0,I&&I.clearCache();parseConfigFile2(),_=!0,(l??(l=new Map)).set(void 0,void 0),synchronizeProgram()}();break;default:synchronizeProgram()}return getCurrentBuilderProgram()}function parseConfigFile2(){h.assert(y),setConfigFileParsingResult(getParsedCommandLineOfConfigFile(y,T,O,d||(d=new Map),S,x))}function setConfigFileParsingResult(e){E=e.fileNames,N=e.options,k=e.watchOptions,F=e.projectReferences,b=e.wildcardDirectories,C=getConfigFileParsingDiagnostics(e).slice(),P=canJsonReportNoInputFiles(e.raw),D=!0}function getParsedCommandLine(t){const n=toPath3(t);let r=null==s?void 0:s.get(n);if(r){if(!r.updateLevel)return r.parsedCommandLine;if(r.parsedCommandLine&&1===r.updateLevel&&!e.getParsedCommandLine){R("Reloading new file names and options"),h.assert(N);const e=getFileNamesFromConfigSpecs(r.parsedCommandLine.options.configFile.configFileSpecs,getNormalizedAbsolutePath(getDirectoryPath(t),g),N,O);return r.parsedCommandLine={...r.parsedCommandLine,fileNames:e},r.updateLevel=void 0,r.parsedCommandLine}}R(`Loading config file: ${t}`);const i=e.getParsedCommandLine?e.getParsedCommandLine(t):function getParsedCommandLineFromConfigFileHost(e){const t=O.onUnRecoverableConfigFileDiagnostic;O.onUnRecoverableConfigFileDiagnostic=noop;const n=getParsedCommandLineOfConfigFile(e,void 0,O,d||(d=new Map),S);return O.onUnRecoverableConfigFileDiagnostic=t,n}(t);return r?(r.parsedCommandLine=i,r.updateLevel=void 0):(s||(s=new Map)).set(n,r={parsedCommandLine:i}),(l??(l=new Map)).set(n,t),i}function watchFilePath(e,t,n,r,i,o){return L(t,(t,r)=>n(t,r,e),r,i,o)}function onSourceFileChange(e,t,n){updateCachedSystemWithFile(e,n,t),2===t&&u.has(n)&&U.invalidateResolutionOfFile(n),nextSourceFileVersion(n),scheduleProgramUpdate()}function updateCachedSystemWithFile(e,t,n){I&&I.addOrDeleteFile(e,t,n)}function watchMissingFilePath(e,t){return(null==s?void 0:s.has(e))?Xa:watchFilePath(e,t,onMissingFileChange,500,k,Ya.MissingFile)}function onMissingFileChange(e,t,n){updateCachedSystemWithFile(e,n,t),0===t&&r.has(n)&&(r.get(n).close(),r.delete(n),nextSourceFileVersion(n),scheduleProgramUpdate())}function watchWildcardDirectory(e,t){return M(e,t=>{h.assert(y),h.assert(N);const r=toPath3(t);I&&I.addOrDeleteFileOrDirectory(t,r),nextSourceFileVersion(r),isIgnoredFileFromWildCardWatching({watchedDirPath:toPath3(e),fileOrDirectory:t,fileOrDirectoryPath:r,configFileName:y,extraFileExtensions:x,options:N,program:getCurrentBuilderProgram()||E,currentDirectory:g,useCaseSensitiveFileNames:f,writeLog:R,toPath:toPath3})||2!==n&&(n=1,scheduleProgramUpdate())},t,k,Ya.WildcardDirectory)}function updateExtendedConfigFilesWatches(e,t,r,i){updateSharedExtendedConfigFileWatcher(e,t,c||(c=new Map),(e,t)=>L(e,(r,i)=>{var o;updateCachedSystemWithFile(e,t,i),d&&cleanExtendedConfigCache(d,t,toPath3);const a=null==(o=c.get(t))?void 0:o.projects;(null==a?void 0:a.size)&&a.forEach(e=>{if(y&&toPath3(y)===e)n=2;else{const t=null==s?void 0:s.get(e);t&&(t.updateLevel=2),U.removeResolutionsFromProjectReferenceRedirects(e)}scheduleProgramUpdate()})},2e3,r,i),toPath3)}}var Za=(e=>(e[e.Unbuildable=0]="Unbuildable",e[e.UpToDate=1]="UpToDate",e[e.UpToDateWithUpstreamTypes=2]="UpToDateWithUpstreamTypes",e[e.OutputMissing=3]="OutputMissing",e[e.ErrorReadingFile=4]="ErrorReadingFile",e[e.OutOfDateWithSelf=5]="OutOfDateWithSelf",e[e.OutOfDateWithUpstream=6]="OutOfDateWithUpstream",e[e.OutOfDateBuildInfoWithPendingEmit=7]="OutOfDateBuildInfoWithPendingEmit",e[e.OutOfDateBuildInfoWithErrors=8]="OutOfDateBuildInfoWithErrors",e[e.OutOfDateOptions=9]="OutOfDateOptions",e[e.OutOfDateRoots=10]="OutOfDateRoots",e[e.UpstreamOutOfDate=11]="UpstreamOutOfDate",e[e.UpstreamBlocked=12]="UpstreamBlocked",e[e.ComputingUpstream=13]="ComputingUpstream",e[e.TsVersionOutputOfDate=14]="TsVersionOutputOfDate",e[e.UpToDateWithInputFileText=15]="UpToDateWithInputFileText",e[e.ContainerOnly=16]="ContainerOnly",e[e.ForceBuild=17]="ForceBuild",e))(Za||{});function resolveConfigFileProjectName(e){return fileExtensionIs(e,".json")?e:combinePaths(e,"tsconfig.json")}var es=new Date(-864e13);function getOrCreateValueMapFromConfigFileMap(e,t){return function getOrCreateValueFromConfigFileMap(e,t,n){const r=e.get(t);let i;return r||(i=n(),e.set(t,i)),r||i}(e,t,()=>new Map)}function getCurrentTime(e){return e.now?e.now():new Date}function isCircularBuildOrder(e){return!!e&&!!e.buildOrder}function getBuildOrderFromAnyBuildOrder(e){return isCircularBuildOrder(e)?e.buildOrder:e}function createBuilderStatusReporter(e,t){return n=>{let r=t?`[${formatColorAndReset(getLocaleTimeString(e),"[90m")}] `:`${getLocaleTimeString(e)} - `;r+=`${flattenDiagnosticMessageText(n.messageText,e.newLine)}${e.newLine+e.newLine}`,e.write(r)}}function createSolutionBuilderHostBase(e,t,n,r){const i=createProgramHost(e,t);return i.getModifiedTime=e.getModifiedTime?t=>e.getModifiedTime(t):returnUndefined,i.setModifiedTime=e.setModifiedTime?(t,n)=>e.setModifiedTime(t,n):noop,i.deleteFile=e.deleteFile?t=>e.deleteFile(t):noop,i.reportDiagnostic=n||createDiagnosticReporter(e),i.reportSolutionBuilderStatus=r||createBuilderStatusReporter(e),i.now=maybeBind(e,e.now),i}function createSolutionBuilderHost(e=kt,t,n,r,i){const o=createSolutionBuilderHostBase(e,t,n,r);return o.reportErrorSummary=i,o}function createSolutionBuilderWithWatchHost(e=kt,t,n,r,i){const o=createSolutionBuilderHostBase(e,t,n,r);return copyProperties(o,createWatchHost(e,i)),o}function createSolutionBuilder(e,t,n){return createSolutionBuilderWorker(!1,e,t,n)}function createSolutionBuilderWithWatch(e,t,n,r){return createSolutionBuilderWorker(!0,e,t,n,r)}function createSolutionBuilderState(e,t,n,r,i){const o=t,a=t,s=function getCompilerOptionsOfBuildOptions(e){const t={};return Hi.forEach(n=>{hasProperty(e,n.name)&&(t[n.name]=e[n.name])}),t.tscBuild=!0,t}(r),c=createCompilerHostFromProgramHost(o,()=>f.projectCompilerOptions);let l,d,p;setGetSourceFileAsHashVersioned(c),c.getParsedCommandLine=e=>parseConfigFile(f,e,toResolvedConfigFilePath(f,e)),c.resolveModuleNameLiterals=maybeBind(o,o.resolveModuleNameLiterals),c.resolveTypeReferenceDirectiveReferences=maybeBind(o,o.resolveTypeReferenceDirectiveReferences),c.resolveLibrary=maybeBind(o,o.resolveLibrary),c.resolveModuleNames=maybeBind(o,o.resolveModuleNames),c.resolveTypeReferenceDirectives=maybeBind(o,o.resolveTypeReferenceDirectives),c.getModuleResolutionCache=maybeBind(o,o.getModuleResolutionCache),c.resolveModuleNameLiterals||c.resolveModuleNames||(l=createModuleResolutionCache(c.getCurrentDirectory(),c.getCanonicalFileName),c.resolveModuleNameLiterals=(e,t,n,r,i)=>loadWithModeAwareCache(e,t,n,r,i,o,l,createModuleResolutionLoader),c.getModuleResolutionCache=()=>l),c.resolveTypeReferenceDirectiveReferences||c.resolveTypeReferenceDirectives||(d=createTypeReferenceDirectiveResolutionCache(c.getCurrentDirectory(),c.getCanonicalFileName,void 0,null==l?void 0:l.getPackageJsonInfoCache(),null==l?void 0:l.optionsToRedirectsKey),c.resolveTypeReferenceDirectiveReferences=(e,t,n,r,i)=>loadWithModeAwareCache(e,t,n,r,i,o,d,createTypeReferenceResolutionLoader)),c.resolveLibrary||(p=createModuleResolutionCache(c.getCurrentDirectory(),c.getCanonicalFileName,void 0,null==l?void 0:l.getPackageJsonInfoCache()),c.resolveLibrary=(e,t,n)=>resolveLibrary(e,t,n,o,p)),c.getBuildInfo=(e,t)=>getBuildInfo3(f,e,toResolvedConfigFilePath(f,t),void 0);const{watchFile:u,watchDirectory:m,writeLog:_}=createWatchFactory(a,r),f={host:o,hostWithWatch:a,parseConfigFileHost:parseConfigHostFromCompilerHostLike(o),write:maybeBind(o,o.trace),options:r,baseCompilerOptions:s,rootNames:n,baseWatchOptions:i,resolvedConfigFilePaths:new Map,configFileCache:new Map,projectStatus:new Map,extendedConfigCache:new Map,buildInfoCache:new Map,outputTimeStamps:new Map,builderPrograms:new Map,diagnostics:new Map,projectPendingBuild:new Map,projectErrorsReported:new Map,compilerHost:c,moduleResolutionCache:l,typeReferenceDirectiveResolutionCache:d,libraryResolutionCache:p,buildOrder:void 0,readFileWithCache:e=>o.readFile(e),projectCompilerOptions:s,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:e,watch:e,allWatchedWildcardDirectories:new Map,allWatchedInputFiles:new Map,allWatchedConfigFiles:new Map,allWatchedExtendedConfigFiles:new Map,allWatchedPackageJsonFiles:new Map,filesWatched:new Map,lastCachedPackageJsonLookups:new Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:u,watchDirectory:m,writeLog:_};return f}function toPath2(e,t){return toPath(t,e.compilerHost.getCurrentDirectory(),e.compilerHost.getCanonicalFileName)}function toResolvedConfigFilePath(e,t){const{resolvedConfigFilePaths:n}=e,r=n.get(t);if(void 0!==r)return r;const i=toPath2(e,t);return n.set(t,i),i}function isParsedCommandLine(e){return!!e.options}function getCachedParsedConfigFile(e,t){const n=e.configFileCache.get(t);return n&&isParsedCommandLine(n)?n:void 0}function parseConfigFile(e,t,n){const{configFileCache:r}=e,i=r.get(n);if(i)return isParsedCommandLine(i)?i:void 0;let o;mark("SolutionBuilder::beforeConfigFileParsing");const{parseConfigFileHost:a,baseCompilerOptions:s,baseWatchOptions:c,extendedConfigCache:l,host:d}=e;let p;return d.getParsedCommandLine?(p=d.getParsedCommandLine(t),p||(o=createCompilerDiagnostic(Ot.File_0_not_found,t))):(a.onUnRecoverableConfigFileDiagnostic=e=>o=e,p=getParsedCommandLineOfConfigFile(t,s,a,l,c),a.onUnRecoverableConfigFileDiagnostic=noop),r.set(n,p||o),mark("SolutionBuilder::afterConfigFileParsing"),measure("SolutionBuilder::Config file parsing","SolutionBuilder::beforeConfigFileParsing","SolutionBuilder::afterConfigFileParsing"),p}function resolveProjectName(e,t){return resolveConfigFileProjectName(resolvePath(e.compilerHost.getCurrentDirectory(),t))}function createBuildOrder(e,t){const n=new Map,r=new Map,i=[];let o,a;for(const e of t)visit(e);return a?{buildOrder:o||l,circularDiagnostics:a}:o||l;function visit(t,s){const c=toResolvedConfigFilePath(e,t);if(r.has(c))return;if(n.has(c))return void(s||(a||(a=[])).push(createCompilerDiagnostic(Ot.Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0,i.join("\r\n"))));n.set(c,!0),i.push(t);const l=parseConfigFile(e,t,c);if(l&&l.projectReferences)for(const t of l.projectReferences){visit(resolveProjectName(e,t.path),s||t.circular)}i.pop(),r.set(c,!0),(o||(o=[])).push(t)}}function getBuildOrder(e){return e.buildOrder||function createStateBuildOrder(e){const t=createBuildOrder(e,e.rootNames.map(t=>resolveProjectName(e,t)));e.resolvedConfigFilePaths.clear();const n=new Set(getBuildOrderFromAnyBuildOrder(t).map(t=>toResolvedConfigFilePath(e,t))),r={onDeleteValue:noop};mutateMapSkippingNewValues(e.configFileCache,n,r),mutateMapSkippingNewValues(e.projectStatus,n,r),mutateMapSkippingNewValues(e.builderPrograms,n,r),mutateMapSkippingNewValues(e.diagnostics,n,r),mutateMapSkippingNewValues(e.projectPendingBuild,n,r),mutateMapSkippingNewValues(e.projectErrorsReported,n,r),mutateMapSkippingNewValues(e.buildInfoCache,n,r),mutateMapSkippingNewValues(e.outputTimeStamps,n,r),mutateMapSkippingNewValues(e.lastCachedPackageJsonLookups,n,r),e.watch&&(mutateMapSkippingNewValues(e.allWatchedConfigFiles,n,{onDeleteValue:closeFileWatcher}),e.allWatchedExtendedConfigFiles.forEach(e=>{e.projects.forEach(t=>{n.has(t)||e.projects.delete(t)}),e.close()}),mutateMapSkippingNewValues(e.allWatchedWildcardDirectories,n,{onDeleteValue:e=>e.forEach(closeFileWatcherOf)}),mutateMapSkippingNewValues(e.allWatchedInputFiles,n,{onDeleteValue:e=>e.forEach(closeFileWatcher)}),mutateMapSkippingNewValues(e.allWatchedPackageJsonFiles,n,{onDeleteValue:e=>e.forEach(closeFileWatcher)}));return e.buildOrder=t}(e)}function getBuildOrderFor(e,t,n){const r=t&&resolveProjectName(e,t),i=getBuildOrder(e);if(isCircularBuildOrder(i))return i;if(r){const t=toResolvedConfigFilePath(e,r);if(-1===findIndex(i,n=>toResolvedConfigFilePath(e,n)===t))return}const o=r?createBuildOrder(e,[r]):i;return h.assert(!isCircularBuildOrder(o)),h.assert(!n||void 0!==r),h.assert(!n||o[o.length-1]===r),n?o.slice(0,o.length-1):o}function enableCache(e){e.cache&&disableCache(e);const{compilerHost:t,host:n}=e,r=e.readFileWithCache,i=t.getSourceFile,{originalReadFile:o,originalFileExists:a,originalDirectoryExists:s,originalCreateDirectory:c,originalWriteFile:l,getSourceFileWithCache:d,readFileWithCache:p}=changeCompilerHostLikeToUseCache(n,t=>toPath2(e,t),(...e)=>i.call(t,...e));e.readFileWithCache=p,t.getSourceFile=d,e.cache={originalReadFile:o,originalFileExists:a,originalDirectoryExists:s,originalCreateDirectory:c,originalWriteFile:l,originalReadFileWithCache:r,originalGetSourceFile:i}}function disableCache(e){if(!e.cache)return;const{cache:t,host:n,compilerHost:r,extendedConfigCache:i,moduleResolutionCache:o,typeReferenceDirectiveResolutionCache:a,libraryResolutionCache:s}=e;n.readFile=t.originalReadFile,n.fileExists=t.originalFileExists,n.directoryExists=t.originalDirectoryExists,n.createDirectory=t.originalCreateDirectory,n.writeFile=t.originalWriteFile,r.getSourceFile=t.originalGetSourceFile,e.readFileWithCache=t.originalReadFileWithCache,i.clear(),null==o||o.clear(),null==a||a.clear(),null==s||s.clear(),e.cache=void 0}function clearProjectStatus(e,t){e.projectStatus.delete(t),e.diagnostics.delete(t)}function addProjToQueue({projectPendingBuild:e},t,n){const r=e.get(t);(void 0===r||r<n)&&e.set(t,n)}function setupInitialBuild(e,t){if(!e.allProjectBuildPending)return;e.allProjectBuildPending=!1,e.options.watch&&reportWatchStatus(e,Ot.Starting_compilation_in_watch_mode),enableCache(e);getBuildOrderFromAnyBuildOrder(getBuildOrder(e)).forEach(t=>e.projectPendingBuild.set(toResolvedConfigFilePath(e,t),0)),t&&t.throwIfCancellationRequested()}var ts=(e=>(e[e.Build=0]="Build",e[e.UpdateOutputFileStamps=1]="UpdateOutputFileStamps",e))(ts||{});function doneInvalidatedProject(e,t){return e.projectPendingBuild.delete(t),e.diagnostics.has(t)?1:0}function createBuildOrUpdateInvalidedProject(e,t,n,r,i,o,a){let s,c,d=0;return{kind:0,project:t,projectPath:n,buildOrder:a,getCompilerOptions:()=>i.options,getCurrentDirectory:()=>e.compilerHost.getCurrentDirectory(),getBuilderProgram:()=>withProgramOrUndefined(identity),getProgram:()=>withProgramOrUndefined(e=>e.getProgramOrUndefined()),getSourceFile:e=>withProgramOrUndefined(t=>t.getSourceFile(e)),getSourceFiles:()=>withProgramOrEmptyArray(e=>e.getSourceFiles()),getOptionsDiagnostics:e=>withProgramOrEmptyArray(t=>t.getOptionsDiagnostics(e)),getGlobalDiagnostics:e=>withProgramOrEmptyArray(t=>t.getGlobalDiagnostics(e)),getConfigFileParsingDiagnostics:()=>withProgramOrEmptyArray(e=>e.getConfigFileParsingDiagnostics()),getSyntacticDiagnostics:(e,t)=>withProgramOrEmptyArray(n=>n.getSyntacticDiagnostics(e,t)),getAllDependencies:e=>withProgramOrEmptyArray(t=>t.getAllDependencies(e)),getSemanticDiagnostics:(e,t)=>withProgramOrEmptyArray(n=>n.getSemanticDiagnostics(e,t)),getSemanticDiagnosticsOfNextAffectedFile:(e,t)=>withProgramOrUndefined(n=>n.getSemanticDiagnosticsOfNextAffectedFile&&n.getSemanticDiagnosticsOfNextAffectedFile(e,t)),emit:(n,r,i,o,a)=>n||o?withProgramOrUndefined(s=>{var c,l;return s.emit(n,r,i,o,a||(null==(l=(c=e.host).getCustomTransformers)?void 0:l.call(c,t)))}):(executeSteps(0,i),emit(r,i,a)),done:function done(t,r,i){return executeSteps(3,t,r,i),mark("SolutionBuilder::Projects built"),doneInvalidatedProject(e,n)}};function withProgramOrUndefined(e){return executeSteps(0),s&&e(s)}function withProgramOrEmptyArray(e){return withProgramOrUndefined(e)||l}function createProgram2(){var r,o,a;if(h.assert(void 0===s),e.options.dry)return reportStatus(e,Ot.A_non_dry_build_would_build_project_0,t),c=1,void(d=2);if(e.options.verbose&&reportStatus(e,Ot.Building_project_0,t),0===i.fileNames.length)return reportAndStoreErrors(e,n,getConfigFileParsingDiagnostics(i)),c=0,void(d=2);const{host:l,compilerHost:p}=e;if(e.projectCompilerOptions=i.options,null==(r=e.moduleResolutionCache)||r.update(i.options),null==(o=e.typeReferenceDirectiveResolutionCache)||o.update(i.options),s=l.createProgram(i.fileNames,i.options,p,function getOldProgram({options:e,builderPrograms:t,compilerHost:n},r,i){if(e.force)return;const o=t.get(r);return o||readBuilderProgram(i.options,n)}(e,n,i),getConfigFileParsingDiagnostics(i),i.projectReferences),e.watch){const t=null==(a=e.moduleResolutionCache)?void 0:a.getPackageJsonInfoCache().getInternalMap();e.lastCachedPackageJsonLookups.set(n,t&&new Set(arrayFrom(t.values(),t=>e.host.realpath&&(isPackageJsonInfo(t)||t.directoryExists)?e.host.realpath(combinePaths(t.packageDirectory,"package.json")):combinePaths(t.packageDirectory,"package.json")))),e.builderPrograms.set(n,s)}d++}function emit(r,a,l){var p,u,m;h.assertIsDefined(s),h.assert(1===d);const{host:_,compilerHost:f}=e,g=new Map,y=s.getCompilerOptions(),T=tr(y);let S,x;const{emitResult:v,diagnostics:b}=emitFilesAndReportErrors(s,e=>_.reportDiagnostic(e),e.write,void 0,(t,i,o,a,c,l)=>{var d;const p=toPath2(e,t);if(g.set(toPath2(e,t),t),null==l?void 0:l.buildInfo){x||(x=getCurrentTime(e.host));const r=null==(d=s.hasChangedEmitSignature)?void 0:d.call(s),i=getBuildInfoCacheEntry(e,t,n);i?(i.buildInfo=l.buildInfo,i.modifiedTime=x,r&&(i.latestChangedDtsTime=x)):e.buildInfoCache.set(n,{path:toPath2(e,t),buildInfo:l.buildInfo,modifiedTime:x,latestChangedDtsTime:r?x:void 0})}const u=(null==l?void 0:l.differsOnlyInMap)?getModifiedTime(e.host,t):void 0;(r||f.writeFile)(t,i,o,a,c,l),(null==l?void 0:l.differsOnlyInMap)?e.host.setModifiedTime(t,u):!T&&e.watch&&(S||(S=getOutputTimeStampMap(e,n))).set(p,x||(x=getCurrentTime(e.host)))},a,void 0,l||(null==(u=(p=e.host).getCustomTransformers)?void 0:u.call(p,t)));return y.noEmitOnError&&b.length||!g.size&&8===o.type||updateOutputTimestampsWorker(e,i,n,Ot.Updating_unchanged_output_timestamps_of_project_0,g),e.projectErrorsReported.set(n,!0),c=(null==(m=s.hasChangedEmitSignature)?void 0:m.call(s))?0:2,b.length?(e.diagnostics.set(n,b),e.projectStatus.set(n,{type:0,reason:"it had errors"}),c|=4):(e.diagnostics.delete(n),e.projectStatus.set(n,{type:1,oldestOutputFileName:firstOrUndefinedIterator(g.values())??getFirstProjectOutput(i,!_.useCaseSensitiveFileNames())})),function afterProgramDone(e,t){t&&(e.host.afterProgramEmitAndDiagnostics&&e.host.afterProgramEmitAndDiagnostics(t),t.releaseProgram());e.projectCompilerOptions=e.baseCompilerOptions}(e,s),d=2,v}function executeSteps(o,s,l,p){for(;d<=o&&d<3;){const o=d;switch(d){case 0:createProgram2();break;case 1:emit(l,s,p);break;case 2:queueReferencingProjects(e,t,n,r,i,a,h.checkDefined(c)),d++;break;default:assertType()}h.assert(d>o)}}}function getNextInvalidatedProjectCreateInfo(e,t,n){if(!e.projectPendingBuild.size)return;if(isCircularBuildOrder(t))return;const{options:r,projectPendingBuild:i}=e;for(let o=0;o<t.length;o++){const a=t[o],s=toResolvedConfigFilePath(e,a),c=e.projectPendingBuild.get(s);if(void 0===c)continue;n&&(n=!1,reportBuildQueue(e,t));const l=parseConfigFile(e,a,s);if(!l){reportParseConfigFileDiagnostic(e,s),i.delete(s);continue}2===c?(watchConfigFile(e,a,s,l),watchExtendedConfigFiles(e,s,l),watchWildCardDirectories(e,a,s,l),watchInputFiles(e,a,s,l),watchPackageJsonFiles(e,a,s,l)):1===c&&(l.fileNames=getFileNamesFromConfigSpecs(l.options.configFile.configFileSpecs,getDirectoryPath(a),l.options,e.parseConfigFileHost),updateErrorForNoInputFiles(l.fileNames,a,l.options.configFile.configFileSpecs,l.errors,canJsonReportNoInputFiles(l.raw)),watchInputFiles(e,a,s,l),watchPackageJsonFiles(e,a,s,l));const d=getUpToDateStatus(e,l,s);if(!r.force){if(1===d.type){verboseReportProjectStatus(e,a,d),reportAndStoreErrors(e,s,getConfigFileParsingDiagnostics(l)),i.delete(s),r.dry&&reportStatus(e,Ot.Project_0_is_up_to_date,a);continue}if(2===d.type||15===d.type)return reportAndStoreErrors(e,s,getConfigFileParsingDiagnostics(l)),{kind:1,status:d,project:a,projectPath:s,projectIndex:o,config:l}}if(12!==d.type){if(16!==d.type)return{kind:0,status:d,project:a,projectPath:s,projectIndex:o,config:l};verboseReportProjectStatus(e,a,d),reportAndStoreErrors(e,s,getConfigFileParsingDiagnostics(l)),i.delete(s)}else verboseReportProjectStatus(e,a,d),reportAndStoreErrors(e,s,getConfigFileParsingDiagnostics(l)),i.delete(s),r.verbose&&reportStatus(e,d.upstreamProjectBlocked?Ot.Skipping_build_of_project_0_because_its_dependency_1_was_not_built:Ot.Skipping_build_of_project_0_because_its_dependency_1_has_errors,a,d.upstreamProjectName)}}function createInvalidatedProjectWithInfo(e,t,n){return verboseReportProjectStatus(e,t.project,t.status),1!==t.kind?createBuildOrUpdateInvalidedProject(e,t.project,t.projectPath,t.projectIndex,t.config,t.status,n):function createUpdateOutputFileStampsProject(e,t,n,r,i){let o=!0;return{kind:1,project:t,projectPath:n,buildOrder:i,getCompilerOptions:()=>r.options,getCurrentDirectory:()=>e.compilerHost.getCurrentDirectory(),updateOutputFileStatmps:()=>{updateOutputTimestamps(e,r,n),o=!1},done:()=>(o&&updateOutputTimestamps(e,r,n),mark("SolutionBuilder::Timestamps only updates"),doneInvalidatedProject(e,n))}}(e,t.project,t.projectPath,t.config,n)}function getNextInvalidatedProject(e,t,n){const r=getNextInvalidatedProjectCreateInfo(e,t,n);return r?createInvalidatedProjectWithInfo(e,r,t):r}function isFileWatcherWithModifiedTime(e){return!!e.watcher}function getModifiedTime2(e,t){const n=toPath2(e,t),r=e.filesWatched.get(n);if(e.watch&&r){if(!isFileWatcherWithModifiedTime(r))return r;if(r.modifiedTime)return r.modifiedTime}const i=getModifiedTime(e.host,t);return e.watch&&(r?r.modifiedTime=i:e.filesWatched.set(n,i)),i}function watchFile(e,t,n,r,i,o,a){const s=toPath2(e,t),c=e.filesWatched.get(s);if(c&&isFileWatcherWithModifiedTime(c))c.callbacks.push(n);else{const l=e.watchFile(t,(t,n,r)=>{const i=h.checkDefined(e.filesWatched.get(s));h.assert(isFileWatcherWithModifiedTime(i)),i.modifiedTime=r,i.callbacks.forEach(e=>e(t,n,r))},r,i,o,a);e.filesWatched.set(s,{callbacks:[n],watcher:l,modifiedTime:c})}return{close:()=>{const t=h.checkDefined(e.filesWatched.get(s));h.assert(isFileWatcherWithModifiedTime(t)),1===t.callbacks.length?(e.filesWatched.delete(s),closeFileWatcherOf(t)):unorderedRemoveItem(t.callbacks,n)}}}function getOutputTimeStampMap(e,t){if(!e.watch)return;let n=e.outputTimeStamps.get(t);return n||e.outputTimeStamps.set(t,n=new Map),n}function getBuildInfoCacheEntry(e,t,n){const r=toPath2(e,t),i=e.buildInfoCache.get(n);return(null==i?void 0:i.path)===r?i:void 0}function getBuildInfo3(e,t,n,r){const i=toPath2(e,t),o=e.buildInfoCache.get(n);if(void 0!==o&&o.path===i)return o.buildInfo||void 0;const a=e.readFileWithCache(t),s=a?getBuildInfo(t,a):void 0;return e.buildInfoCache.set(n,{path:i,buildInfo:s||!1,modifiedTime:r||St}),s}function checkConfigFileUpToDateStatus(e,t,n,r){if(n<getModifiedTime2(e,t))return{type:5,outOfDateOutputFileName:r,newerInputFileName:t}}function hasSameBuildInfo(e,t,n){return e.buildInfoCache.get(n).path===t.path}function getUpToDateStatus(e,t,n){if(void 0===t)return{type:0,reason:"config file deleted mid-build"};const r=e.projectStatus.get(n);if(void 0!==r)return r;mark("SolutionBuilder::beforeUpToDateCheck");const i=function getUpToDateStatusWorker(e,t,n){var r,i,o,a,c;if(isSolutionConfig(t))return{type:16};let d;const p=!!e.options.force;if(t.projectReferences){e.projectStatus.set(n,{type:13});for(const n of t.projectReferences){const t=resolveProjectReferencePath(n),r=toResolvedConfigFilePath(e,t),i=parseConfigFile(e,t,r),o=getUpToDateStatus(e,i,r);if(13!==o.type&&16!==o.type){if(e.options.stopBuildOnErrors&&(0===o.type||12===o.type))return{type:12,upstreamProjectName:n.path,upstreamProjectBlocked:12===o.type};p||(d||(d=[])).push({ref:n,refStatus:o,resolvedRefPath:r,resolvedConfig:i})}}}if(p)return{type:17};const{host:u}=e,m=getTsBuildInfoEmitOutputFilePath(t.options),_=tr(t.options);let f=getBuildInfoCacheEntry(e,m,n);const g=(null==f?void 0:f.modifiedTime)||getModifiedTime(u,m);if(g===St)return f||e.buildInfoCache.set(n,{path:toPath2(e,m),buildInfo:!1,modifiedTime:g}),{type:3,missingOutputFileName:m};const y=getBuildInfo3(e,m,n,g);if(!y)return{type:4,fileName:m};const T=_&&isIncrementalBuildInfo(y)?y:void 0;if((T||!_)&&y.version!==s)return{type:14,version:y.version};if(!t.options.noCheck&&(y.errors||y.checkPending))return{type:8,buildInfoFile:m};if(T){if(!t.options.noCheck&&((null==(r=T.changeFileSet)?void 0:r.length)||(null==(i=T.semanticDiagnosticsPerFile)?void 0:i.length)||Zn(t.options)&&(null==(o=T.emitDiagnosticsPerFile)?void 0:o.length)))return{type:8,buildInfoFile:m};if(!t.options.noEmit&&((null==(a=T.changeFileSet)?void 0:a.length)||(null==(c=T.affectedFilesPendingEmit)?void 0:c.length)||void 0!==T.pendingEmit))return{type:7,buildInfoFile:m};if((!t.options.noEmit||t.options.noEmit&&Zn(t.options))&&getPendingEmitKindWithSeen(t.options,T.options||{},void 0,!!t.options.noEmit))return{type:9,buildInfoFile:m}}let S,x=g,v=m,b=es,C=!1;const E=new Set;let N,k;for(const n of t.fileNames){const t=getModifiedTime2(e,n);if(t===St)return{type:0,reason:`${n} does not exist`};const r=toPath2(e,n);if(g<t){let t,i;if(T){N||(N=getBuildInfoFileVersionMap(T,m,u));const o=N.roots.get(r);t=N.fileInfos.get(o??r);const a=t?e.readFileWithCache(o??n):void 0;i=void 0!==a?getSourceFileVersionAsHashFromText(u,a):void 0,t&&t===i&&(C=!0)}if(!t||t!==i)return{type:5,outOfDateOutputFileName:m,newerInputFileName:n}}t>b&&(S=n,b=t),E.add(r)}if(T?(N||(N=getBuildInfoFileVersionMap(T,m,u)),k=forEachEntry(N.roots,(e,t)=>E.has(t)?void 0:t)):k=forEach(getNonIncrementalBuildInfoRoots(y,m,u),e=>E.has(e)?void 0:e),k)return{type:10,buildInfoFile:m,inputFile:k};if(!_){const r=getAllProjectOutputs(t,!u.useCaseSensitiveFileNames()),i=getOutputTimeStampMap(e,n);for(const t of r){if(t===m)continue;const n=toPath2(e,t);let r=null==i?void 0:i.get(n);if(r||(r=getModifiedTime(e.host,t),null==i||i.set(n,r)),r===St)return{type:3,missingOutputFileName:t};if(r<b)return{type:5,outOfDateOutputFileName:t,newerInputFileName:S};r<x&&(x=r,v=t)}}let F=!1;if(d)for(const{ref:t,refStatus:r,resolvedConfig:i,resolvedRefPath:o}of d){if(r.newestInputFileTime&&r.newestInputFileTime<=x)continue;if(hasSameBuildInfo(e,f??(f=e.buildInfoCache.get(n)),o))return{type:6,outOfDateOutputFileName:m,newerProjectName:t.path};const a=getLatestChangedDtsTime(e,i.options,o);if(!(a&&a<=x))return h.assert(void 0!==v,"Should have an oldest output filename here"),{type:6,outOfDateOutputFileName:v,newerProjectName:t.path};F=!0}const P=checkConfigFileUpToDateStatus(e,t.options.configFilePath,x,v);if(P)return P;const D=forEach(t.options.configFile.extendedSourceFiles||l,t=>checkConfigFileUpToDateStatus(e,t,x,v));if(D)return D;const I=e.lastCachedPackageJsonLookups.get(n),A=I&&forEachKey(I,t=>checkConfigFileUpToDateStatus(e,t,x,v));return A||{type:F?2:C?15:1,newestInputFileTime:b,newestInputFileName:S,oldestOutputFileName:v}}(e,t,n);return mark("SolutionBuilder::afterUpToDateCheck"),measure("SolutionBuilder::Up-to-date check","SolutionBuilder::beforeUpToDateCheck","SolutionBuilder::afterUpToDateCheck"),e.projectStatus.set(n,i),i}function updateOutputTimestampsWorker(e,t,n,r,i){if(t.options.noEmit)return;let o;const a=getTsBuildInfoEmitOutputFilePath(t.options),s=tr(t.options);if(a&&s)return(null==i?void 0:i.has(toPath2(e,a)))||(e.options.verbose&&reportStatus(e,r,t.options.configFilePath),e.host.setModifiedTime(a,o=getCurrentTime(e.host)),getBuildInfoCacheEntry(e,a,n).modifiedTime=o),void e.outputTimeStamps.delete(n);const{host:c}=e,l=getAllProjectOutputs(t,!c.useCaseSensitiveFileNames()),d=getOutputTimeStampMap(e,n),p=d?new Set:void 0;if(!i||l.length!==i.size){let s=!!e.options.verbose;for(const u of l){const l=toPath2(e,u);(null==i?void 0:i.has(l))||(s&&(s=!1,reportStatus(e,r,t.options.configFilePath)),c.setModifiedTime(u,o||(o=getCurrentTime(e.host))),u===a?getBuildInfoCacheEntry(e,a,n).modifiedTime=o:d&&(d.set(l,o),p.add(l)))}}null==d||d.forEach((e,t)=>{(null==i?void 0:i.has(t))||p.has(t)||d.delete(t)})}function getLatestChangedDtsTime(e,t,n){if(!t.composite)return;const r=h.checkDefined(e.buildInfoCache.get(n));if(void 0!==r.latestChangedDtsTime)return r.latestChangedDtsTime||void 0;const i=r.buildInfo&&isIncrementalBuildInfo(r.buildInfo)&&r.buildInfo.latestChangedDtsFile?e.host.getModifiedTime(getNormalizedAbsolutePath(r.buildInfo.latestChangedDtsFile,getDirectoryPath(r.path))):void 0;return r.latestChangedDtsTime=i||!1,i}function updateOutputTimestamps(e,t,n){if(e.options.dry)return reportStatus(e,Ot.A_non_dry_build_would_update_timestamps_for_output_of_project_0,t.options.configFilePath);updateOutputTimestampsWorker(e,t,n,Ot.Updating_output_timestamps_of_project_0),e.projectStatus.set(n,{type:1,oldestOutputFileName:getFirstProjectOutput(t,!e.host.useCaseSensitiveFileNames())})}function queueReferencingProjects(e,t,n,r,i,o,a){if(!(e.options.stopBuildOnErrors&&4&a)&&i.options.composite)for(let i=r+1;i<o.length;i++){const r=o[i],s=toResolvedConfigFilePath(e,r);if(e.projectPendingBuild.has(s))continue;const c=parseConfigFile(e,r,s);if(c&&c.projectReferences)for(const r of c.projectReferences){if(toResolvedConfigFilePath(e,resolveProjectName(e,r.path))!==n)continue;const i=e.projectStatus.get(s);if(i)switch(i.type){case 1:if(2&a){i.type=2;break}case 15:case 2:2&a||e.projectStatus.set(s,{type:6,outOfDateOutputFileName:i.oldestOutputFileName,newerProjectName:t});break;case 12:toResolvedConfigFilePath(e,resolveProjectName(e,i.upstreamProjectName))===n&&clearProjectStatus(e,s)}addProjToQueue(e,s,0);break}}}function build(e,t,n,r,i,o){mark("SolutionBuilder::beforeBuild");const a=function buildWorker(e,t,n,r,i,o){const a=getBuildOrderFor(e,t,o);if(!a)return 3;setupInitialBuild(e,n);let s=!0,c=0;for(;;){const t=getNextInvalidatedProject(e,a,s);if(!t)break;s=!1,t.done(n,r,null==i?void 0:i(t.project)),e.diagnostics.has(t.projectPath)||c++}return disableCache(e),reportErrorSummary(e,a),function startWatching(e,t){if(!e.watchAllProjectsPending)return;mark("SolutionBuilder::beforeWatcherCreation"),e.watchAllProjectsPending=!1;for(const n of getBuildOrderFromAnyBuildOrder(t)){const t=toResolvedConfigFilePath(e,n),r=parseConfigFile(e,n,t);watchConfigFile(e,n,t,r),watchExtendedConfigFiles(e,t,r),r&&(watchWildCardDirectories(e,n,t,r),watchInputFiles(e,n,t,r),watchPackageJsonFiles(e,n,t,r))}mark("SolutionBuilder::afterWatcherCreation"),measure("SolutionBuilder::Watcher creation","SolutionBuilder::beforeWatcherCreation","SolutionBuilder::afterWatcherCreation")}(e,a),isCircularBuildOrder(a)?4:a.some(t=>e.diagnostics.has(toResolvedConfigFilePath(e,t)))?c?2:1:0}(e,t,n,r,i,o);return mark("SolutionBuilder::afterBuild"),measure("SolutionBuilder::Build","SolutionBuilder::beforeBuild","SolutionBuilder::afterBuild"),a}function clean(e,t,n){mark("SolutionBuilder::beforeClean");const r=function cleanWorker(e,t,n){const r=getBuildOrderFor(e,t,n);if(!r)return 3;if(isCircularBuildOrder(r))return reportErrors(e,r.circularDiagnostics),4;const{options:i,host:o}=e,a=i.dry?[]:void 0;for(const t of r){const n=toResolvedConfigFilePath(e,t),r=parseConfigFile(e,t,n);if(void 0===r){reportParseConfigFileDiagnostic(e,n);continue}const i=getAllProjectOutputs(r,!o.useCaseSensitiveFileNames());if(!i.length)continue;const s=new Set(r.fileNames.map(t=>toPath2(e,t)));for(const t of i)s.has(toPath2(e,t))||o.fileExists(t)&&(a?a.push(t):(o.deleteFile(t),invalidateProject(e,n,0)))}a&&reportStatus(e,Ot.A_non_dry_build_would_delete_the_following_files_Colon_0,a.map(e=>`\r\n * ${e}`).join(""));return 0}(e,t,n);return mark("SolutionBuilder::afterClean"),measure("SolutionBuilder::Clean","SolutionBuilder::beforeClean","SolutionBuilder::afterClean"),r}function invalidateProject(e,t,n){e.host.getParsedCommandLine&&1===n&&(n=2),2===n&&(e.configFileCache.delete(t),e.buildOrder=void 0),e.needsSummary=!0,clearProjectStatus(e,t),addProjToQueue(e,t,n),enableCache(e)}function invalidateProjectAndScheduleBuilds(e,t,n){e.reportFileChangeDetected=!0,invalidateProject(e,t,n),scheduleBuildInvalidatedProject(e,250,!0)}function scheduleBuildInvalidatedProject(e,t,n){const{hostWithWatch:r}=e;r.setTimeout&&r.clearTimeout&&(e.timerToBuildInvalidatedProject&&r.clearTimeout(e.timerToBuildInvalidatedProject),e.timerToBuildInvalidatedProject=r.setTimeout(buildNextInvalidatedProject,t,"timerToBuildInvalidatedProject",e,n))}function buildNextInvalidatedProject(e,t,n){mark("SolutionBuilder::beforeBuild");const r=function buildNextInvalidatedProjectWorker(e,t){e.timerToBuildInvalidatedProject=void 0,e.reportFileChangeDetected&&(e.reportFileChangeDetected=!1,e.projectErrorsReported.clear(),reportWatchStatus(e,Ot.File_change_detected_Starting_incremental_compilation));let n=0;const r=getBuildOrder(e),i=getNextInvalidatedProject(e,r,!1);if(i)for(i.done(),n++;e.projectPendingBuild.size;){if(e.timerToBuildInvalidatedProject)return;const i=getNextInvalidatedProjectCreateInfo(e,r,!1);if(!i)break;if(1!==i.kind&&(t||5===n))return void scheduleBuildInvalidatedProject(e,100,!1);createInvalidatedProjectWithInfo(e,i,r).done(),1!==i.kind&&n++}return disableCache(e),r}(t,n);mark("SolutionBuilder::afterBuild"),measure("SolutionBuilder::Build","SolutionBuilder::beforeBuild","SolutionBuilder::afterBuild"),r&&reportErrorSummary(t,r)}function watchConfigFile(e,t,n,r){e.watch&&!e.allWatchedConfigFiles.has(n)&&e.allWatchedConfigFiles.set(n,watchFile(e,t,()=>invalidateProjectAndScheduleBuilds(e,n,2),2e3,null==r?void 0:r.watchOptions,Ya.ConfigFile,t))}function watchExtendedConfigFiles(e,t,n){updateSharedExtendedConfigFileWatcher(t,null==n?void 0:n.options,e.allWatchedExtendedConfigFiles,(t,r)=>watchFile(e,t,()=>{var t;return null==(t=e.allWatchedExtendedConfigFiles.get(r))?void 0:t.projects.forEach(t=>invalidateProjectAndScheduleBuilds(e,t,2))},2e3,null==n?void 0:n.watchOptions,Ya.ExtendedConfigFile),t=>toPath2(e,t))}function watchWildCardDirectories(e,t,n,r){e.watch&&updateWatchingWildcardDirectories(getOrCreateValueMapFromConfigFileMap(e.allWatchedWildcardDirectories,n),r.wildcardDirectories,(i,o)=>e.watchDirectory(i,o=>{var a;isIgnoredFileFromWildCardWatching({watchedDirPath:toPath2(e,i),fileOrDirectory:o,fileOrDirectoryPath:toPath2(e,o),configFileName:t,currentDirectory:e.compilerHost.getCurrentDirectory(),options:r.options,program:e.builderPrograms.get(n)||(null==(a=getCachedParsedConfigFile(e,n))?void 0:a.fileNames),useCaseSensitiveFileNames:e.parseConfigFileHost.useCaseSensitiveFileNames,writeLog:t=>e.writeLog(t),toPath:t=>toPath2(e,t)})||invalidateProjectAndScheduleBuilds(e,n,1)},o,null==r?void 0:r.watchOptions,Ya.WildcardDirectory,t))}function watchInputFiles(e,t,n,r){e.watch&&mutateMap(getOrCreateValueMapFromConfigFileMap(e.allWatchedInputFiles,n),new Set(r.fileNames),{createNewValue:i=>watchFile(e,i,()=>invalidateProjectAndScheduleBuilds(e,n,0),250,null==r?void 0:r.watchOptions,Ya.SourceFile,t),onDeleteValue:closeFileWatcher})}function watchPackageJsonFiles(e,t,n,r){e.watch&&e.lastCachedPackageJsonLookups&&mutateMap(getOrCreateValueMapFromConfigFileMap(e.allWatchedPackageJsonFiles,n),e.lastCachedPackageJsonLookups.get(n),{createNewValue:i=>watchFile(e,i,()=>invalidateProjectAndScheduleBuilds(e,n,0),2e3,null==r?void 0:r.watchOptions,Ya.PackageJson,t),onDeleteValue:closeFileWatcher})}function createSolutionBuilderWorker(e,t,n,r,i){const o=createSolutionBuilderState(e,t,n,r,i);return{build:(e,t,n,r)=>build(o,e,t,n,r),clean:e=>clean(o,e),buildReferences:(e,t,n,r)=>build(o,e,t,n,r,!0),cleanReferences:e=>clean(o,e,!0),getNextInvalidatedProject:e=>(setupInitialBuild(o,e),getNextInvalidatedProject(o,getBuildOrder(o),!1)),getBuildOrder:()=>getBuildOrder(o),getUpToDateStatusOfProject:e=>{const t=resolveProjectName(o,e),n=toResolvedConfigFilePath(o,t);return getUpToDateStatus(o,parseConfigFile(o,t,n),n)},invalidateProject:(e,t)=>invalidateProject(o,e,t||0),close:()=>function stopWatching(e){clearMap(e.allWatchedConfigFiles,closeFileWatcher),clearMap(e.allWatchedExtendedConfigFiles,closeFileWatcherOf),clearMap(e.allWatchedWildcardDirectories,e=>clearMap(e,closeFileWatcherOf)),clearMap(e.allWatchedInputFiles,e=>clearMap(e,closeFileWatcher)),clearMap(e.allWatchedPackageJsonFiles,e=>clearMap(e,closeFileWatcher))}(o)}}function relName(e,t){return convertToRelativePath(t,e.compilerHost.getCurrentDirectory(),e.compilerHost.getCanonicalFileName)}function reportStatus(e,t,...n){e.host.reportSolutionBuilderStatus(createCompilerDiagnostic(t,...n))}function reportWatchStatus(e,t,...n){var r,i;null==(i=(r=e.hostWithWatch).onWatchStatusChange)||i.call(r,createCompilerDiagnostic(t,...n),e.host.getNewLine(),e.baseCompilerOptions)}function reportErrors({host:e},t){t.forEach(t=>e.reportDiagnostic(t))}function reportAndStoreErrors(e,t,n){reportErrors(e,n),e.projectErrorsReported.set(t,!0),n.length&&e.diagnostics.set(t,n)}function reportParseConfigFileDiagnostic(e,t){reportAndStoreErrors(e,t,[e.configFileCache.get(t)])}function reportErrorSummary(e,t){if(!e.needsSummary)return;e.needsSummary=!1;const n=e.watch||!!e.host.reportErrorSummary,{diagnostics:r}=e;let i=0,o=[];isCircularBuildOrder(t)?(reportBuildQueue(e,t.buildOrder),reportErrors(e,t.circularDiagnostics),n&&(i+=getErrorCountForSummary(t.circularDiagnostics)),n&&(o=[...o,...getFilesInErrorForSummary(t.circularDiagnostics)])):(t.forEach(t=>{const n=toResolvedConfigFilePath(e,t);e.projectErrorsReported.has(n)||reportErrors(e,r.get(n)||l)}),n&&r.forEach(e=>i+=getErrorCountForSummary(e)),n&&r.forEach(e=>[...o,...getFilesInErrorForSummary(e)])),e.watch?reportWatchStatus(e,getWatchErrorSummaryDiagnosticMessage(i),i):e.host.reportErrorSummary&&e.host.reportErrorSummary(i,o)}function reportBuildQueue(e,t){e.options.verbose&&reportStatus(e,Ot.Projects_in_this_build_Colon_0,t.map(t=>"\r\n * "+relName(e,t)).join(""))}function verboseReportProjectStatus(e,t,n){e.options.verbose&&function reportUpToDateStatus(e,t,n){switch(n.type){case 5:return reportStatus(e,Ot.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,relName(e,t),relName(e,n.outOfDateOutputFileName),relName(e,n.newerInputFileName));case 6:return reportStatus(e,Ot.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,relName(e,t),relName(e,n.outOfDateOutputFileName),relName(e,n.newerProjectName));case 3:return reportStatus(e,Ot.Project_0_is_out_of_date_because_output_file_1_does_not_exist,relName(e,t),relName(e,n.missingOutputFileName));case 4:return reportStatus(e,Ot.Project_0_is_out_of_date_because_there_was_error_reading_file_1,relName(e,t),relName(e,n.fileName));case 7:return reportStatus(e,Ot.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted,relName(e,t),relName(e,n.buildInfoFile));case 8:return reportStatus(e,Ot.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors,relName(e,t),relName(e,n.buildInfoFile));case 9:return reportStatus(e,Ot.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions,relName(e,t),relName(e,n.buildInfoFile));case 10:return reportStatus(e,Ot.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more,relName(e,t),relName(e,n.buildInfoFile),relName(e,n.inputFile));case 1:if(void 0!==n.newestInputFileTime)return reportStatus(e,Ot.Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2,relName(e,t),relName(e,n.newestInputFileName||""),relName(e,n.oldestOutputFileName||""));break;case 2:return reportStatus(e,Ot.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies,relName(e,t));case 15:return reportStatus(e,Ot.Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files,relName(e,t));case 11:return reportStatus(e,Ot.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date,relName(e,t),relName(e,n.upstreamProjectName));case 12:return reportStatus(e,n.upstreamProjectBlocked?Ot.Project_0_can_t_be_built_because_its_dependency_1_was_not_built:Ot.Project_0_can_t_be_built_because_its_dependency_1_has_errors,relName(e,t),relName(e,n.upstreamProjectName));case 0:return reportStatus(e,Ot.Project_0_is_out_of_date_because_1,relName(e,t),n.reason);case 14:return reportStatus(e,Ot.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2,relName(e,t),n.version,s);case 17:return reportStatus(e,Ot.Project_0_is_being_forcibly_rebuilt,relName(e,t))}}(e,t,n)}var ns=(e=>(e[e.time=0]="time",e[e.count=1]="count",e[e.memory=2]="memory",e))(ns||{});function countLines(e){const t=function getCountsMap(){const e=new Map;return e.set("Library",0),e.set("Definitions",0),e.set("TypeScript",0),e.set("JavaScript",0),e.set("JSON",0),e.set("Other",0),e}();return forEach(e.getSourceFiles(),n=>{const r=function getCountKey(e,t){if(e.isSourceFileDefaultLibrary(t))return"Library";if(t.isDeclarationFile)return"Definitions";const n=t.path;return fileExtensionIsOneOf(n,_r)?"TypeScript":fileExtensionIsOneOf(n,yr)?"JavaScript":fileExtensionIs(n,".json")?"JSON":"Other"}(e,n),i=getLineStarts(n).length;t.set(r,t.get(r)+i)}),t}function updateReportDiagnostic(e,t,n){return shouldBePretty(e,n)?createDiagnosticReporter(e,!0):t}function defaultIsPretty(e){return!!e.writeOutputIsTTY&&e.writeOutputIsTTY()&&!e.getEnvironmentVariable("NO_COLOR")}function shouldBePretty(e,t){return t&&void 0!==t.pretty?t.pretty:defaultIsPretty(e)}function getOptionsForHelp(e){return e.options.all?toSorted(Qi.concat(co),(e,t)=>compareStringsCaseInsensitive(e.name,t.name)):filter(Qi.concat(co),e=>!!e.showInSimplifiedHelpView)}function printVersion(e){e.write(getDiagnosticText(Ot.Version_0,s)+e.newLine)}function createColors(e){if(!defaultIsPretty(e))return{bold:e=>e,blue:e=>e,blueBackground:e=>e,brightWhite:e=>e};const t=e.getEnvironmentVariable("OS")&&e.getEnvironmentVariable("OS").toLowerCase().includes("windows"),n=e.getEnvironmentVariable("WT_SESSION"),r=e.getEnvironmentVariable("TERM_PROGRAM")&&"vscode"===e.getEnvironmentVariable("TERM_PROGRAM");const i="truecolor"===e.getEnvironmentVariable("COLORTERM")||"xterm-256color"===e.getEnvironmentVariable("TERM");function brightWhite(e){return`[97m${e}[39m`}return{bold:function bold(e){return`[1m${e}[22m`},blue:function blue(e){return!t||n||r?`[94m${e}[39m`:brightWhite(e)},brightWhite,blueBackground:function blueBackground(e){return i?`[48;5;68m${e}[39;49m`:`[44m${e}[39;49m`}}}function getDisplayNameTextOfOption(e){return`--${e.name}${e.shortName?`, -${e.shortName}`:""}`}function generateOptionOutput(e,t,n,r){var i;const o=[],a=createColors(e),s=getDisplayNameTextOfOption(t),c=function getValueCandidate(e){if("object"===e.type)return;return{valueType:function getValueType(e){switch(h.assert("listOrElement"!==e.type),e.type){case"string":case"number":case"boolean":return getDiagnosticText(Ot.type_Colon);case"list":return getDiagnosticText(Ot.one_or_more_Colon);default:return getDiagnosticText(Ot.one_of_Colon)}}(e),possibleValues:function getPossibleValues(e){let t;switch(e.type){case"string":case"number":case"boolean":t=e.type;break;case"list":case"listOrElement":t=getPossibleValues(e.element);break;case"object":t="";break;default:const n={};return e.type.forEach((t,r)=>{var i;(null==(i=e.deprecatedKeys)?void 0:i.has(r))||(n[t]||(n[t]=[])).push(r)}),Object.entries(n).map(([,e])=>e.join("/")).join(", ")}return t}(e)}}(t),l="object"==typeof t.defaultValueDescription?getDiagnosticText(t.defaultValueDescription):function formatDefaultValue(e,t){return void 0!==e&&"object"==typeof t?arrayFrom(t.entries()).filter(([,t])=>t===e).map(([e])=>e).join("/"):String(e)}(t.defaultValueDescription,"list"===t.type||"listOrElement"===t.type?t.element.type:t.type),d=(null==(i=e.getWidthOfTerminal)?void 0:i.call(e))??0;if(d>=80){let i="";t.description&&(i=getDiagnosticText(t.description)),o.push(...getPrettyOutput(s,i,n,r,d,!0),e.newLine),showAdditionalInfoOutput(c,t)&&(c&&o.push(...getPrettyOutput(c.valueType,c.possibleValues,n,r,d,!1),e.newLine),l&&o.push(...getPrettyOutput(getDiagnosticText(Ot.default_Colon),l,n,r,d,!1),e.newLine)),o.push(e.newLine)}else{if(o.push(a.blue(s),e.newLine),t.description){const e=getDiagnosticText(t.description);o.push(e)}if(o.push(e.newLine),showAdditionalInfoOutput(c,t)){if(c&&o.push(`${c.valueType} ${c.possibleValues}`),l){c&&o.push(e.newLine);const t=getDiagnosticText(Ot.default_Colon);o.push(`${t} ${l}`)}o.push(e.newLine)}o.push(e.newLine)}return o;function showAdditionalInfoOutput(e,t){const n=t.defaultValueDescription;return t.category!==Ot.Command_line_Options&&(!contains(["string"],null==e?void 0:e.possibleValues)||!contains([void 0,"false","n/a"],n))}function getPrettyOutput(e,t,n,r,i,o){const s=[];let c=!0,l=t;const d=i-r;for(;l.length>0;){let t="";c?(t=e.padStart(n),t=t.padEnd(r),t=o?a.blue(t):t):t="".padStart(r);const i=l.substr(0,d);l=l.slice(d),s.push(`${t}${i}`),c=!1}return s}}function generateGroupOptionOutput(e,t){let n=0;for(const e of t){const t=getDisplayNameTextOfOption(e).length;n=n>t?n:t}const r=n+2,i=r+2;let o=[];for(const n of t){const t=generateOptionOutput(e,n,r,i);o=[...o,...t]}return o[o.length-2]!==e.newLine&&o.push(e.newLine),o}function generateSectionOptionsOutput(e,t,n,r,i,o){let a=[];if(a.push(createColors(e).bold(t)+e.newLine+e.newLine),i&&a.push(i+e.newLine+e.newLine),!r)return a=[...a,...generateGroupOptionOutput(e,n)],o&&a.push(o+e.newLine+e.newLine),a;const s=new Map;for(const e of n){if(!e.category)continue;const t=getDiagnosticText(e.category),n=s.get(t)??[];n.push(e),s.set(t,n)}return s.forEach((t,n)=>{a.push(`### ${n}${e.newLine}${e.newLine}`),a=[...a,...generateGroupOptionOutput(e,t)]}),o&&a.push(o+e.newLine+e.newLine),a}function printBuildHelp(e,t){let n=[...getHeader(e,`${getDiagnosticText(Ot.tsc_Colon_The_TypeScript_Compiler)} - ${getDiagnosticText(Ot.Version_0,s)}`)];n=[...n,...generateSectionOptionsOutput(e,getDiagnosticText(Ot.BUILD_OPTIONS),filter(t,e=>e!==co),!1,formatMessage(Ot.Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0,"https://aka.ms/tsc-composite-builds"))];for(const t of n)e.write(t)}function getHeader(e,t){var n;const r=createColors(e),i=[],o=(null==(n=e.getWidthOfTerminal)?void 0:n.call(e))??0,a=r.blueBackground("".padStart(5)),s=r.blueBackground(r.brightWhite("TS ".padStart(5)));if(o>=t.length+5){const n=(o>120?120:o)-5;i.push(t.padEnd(n)+a+e.newLine),i.push("".padStart(n)+s+e.newLine)}else i.push(t+e.newLine),i.push(e.newLine);return i}function printHelp(e,t){t.options.all?function printAllHelp(e,t,n,r){let i=[...getHeader(e,`${getDiagnosticText(Ot.tsc_Colon_The_TypeScript_Compiler)} - ${getDiagnosticText(Ot.Version_0,s)}`)];i=[...i,...generateSectionOptionsOutput(e,getDiagnosticText(Ot.ALL_COMPILER_OPTIONS),t,!0,void 0,formatMessage(Ot.You_can_learn_about_all_of_the_compiler_options_at_0,"https://aka.ms/tsc"))],i=[...i,...generateSectionOptionsOutput(e,getDiagnosticText(Ot.WATCH_OPTIONS),r,!1,getDiagnosticText(Ot.Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon))],i=[...i,...generateSectionOptionsOutput(e,getDiagnosticText(Ot.BUILD_OPTIONS),filter(n,e=>e!==co),!1,formatMessage(Ot.Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0,"https://aka.ms/tsc-composite-builds"))];for(const t of i)e.write(t)}(e,getOptionsForHelp(t),lo,qi):function printEasyHelp(e,t){const n=createColors(e);let r=[...getHeader(e,`${getDiagnosticText(Ot.tsc_Colon_The_TypeScript_Compiler)} - ${getDiagnosticText(Ot.Version_0,s)}`)];r.push(n.bold(getDiagnosticText(Ot.COMMON_COMMANDS))+e.newLine+e.newLine),example("tsc",Ot.Compiles_the_current_project_tsconfig_json_in_the_working_directory),example("tsc app.ts util.ts",Ot.Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options),example("tsc -b",Ot.Build_a_composite_project_in_the_working_directory),example("tsc --init",Ot.Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory),example("tsc -p ./path/to/tsconfig.json",Ot.Compiles_the_TypeScript_project_located_at_the_specified_path),example("tsc --help --all",Ot.An_expanded_version_of_this_information_showing_all_possible_compiler_options),example(["tsc --noEmit","tsc --target esnext"],Ot.Compiles_the_current_project_with_additional_settings);const i=t.filter(e=>e.isCommandLineOnly||e.category===Ot.Command_line_Options),o=t.filter(e=>!contains(i,e));r=[...r,...generateSectionOptionsOutput(e,getDiagnosticText(Ot.COMMAND_LINE_FLAGS),i,!1,void 0,void 0),...generateSectionOptionsOutput(e,getDiagnosticText(Ot.COMMON_COMPILER_OPTIONS),o,!1,void 0,formatMessage(Ot.You_can_learn_about_all_of_the_compiler_options_at_0,"https://aka.ms/tsc"))];for(const t of r)e.write(t);function example(t,i){const o="string"==typeof t?[t]:t;for(const t of o)r.push(" "+n.blue(t)+e.newLine);r.push(" "+getDiagnosticText(i)+e.newLine+e.newLine)}}(e,getOptionsForHelp(t))}function executeCommandLineWorker(e,t,n){let r,i=createDiagnosticReporter(e);if(n.options.locale&&validateLocaleAndSetLanguage(n.options.locale,e,n.errors),n.errors.length>0)return n.errors.forEach(i),e.exit(1);if(n.options.init)return function writeConfigFile(e,t,n){const r=e.getCurrentDirectory(),i=normalizePath(combinePaths(r,"tsconfig.json"));if(e.fileExists(i))t(createCompilerDiagnostic(Ot.A_tsconfig_json_file_is_already_defined_at_Colon_0,i));else{e.writeFile(i,generateTSConfig(n,e.newLine));const t=[e.newLine,...getHeader(e,"Created a new tsconfig.json")];t.push("You can learn more at https://aka.ms/tsconfig"+e.newLine);for(const n of t)e.write(n)}return}(e,i,n.options),e.exit(0);if(n.options.version)return printVersion(e),e.exit(0);if(n.options.help||n.options.all)return printHelp(e,n),e.exit(0);if(n.options.watch&&n.options.listFilesOnly)return i(createCompilerDiagnostic(Ot.Options_0_and_1_cannot_be_combined,"watch","listFilesOnly")),e.exit(1);if(n.options.project){if(0!==n.fileNames.length)return i(createCompilerDiagnostic(Ot.Option_project_cannot_be_mixed_with_source_files_on_a_command_line)),e.exit(1);const t=normalizePath(n.options.project);if(!t||e.directoryExists(t)){if(r=combinePaths(t,"tsconfig.json"),!e.fileExists(r))return i(createCompilerDiagnostic(Ot.Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0,n.options.project)),e.exit(1)}else if(r=t,!e.fileExists(r))return i(createCompilerDiagnostic(Ot.The_specified_path_does_not_exist_Colon_0,n.options.project)),e.exit(1)}else if(0===n.fileNames.length){r=findConfigFile(normalizePath(e.getCurrentDirectory()),t=>e.fileExists(t))}if(0===n.fileNames.length&&!r)return n.options.showConfig?i(createCompilerDiagnostic(Ot.Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0,normalizePath(e.getCurrentDirectory()))):(printVersion(e),printHelp(e,n)),e.exit(1);const o=e.getCurrentDirectory(),a=convertToOptionsWithAbsolutePaths(n.options,e=>getNormalizedAbsolutePath(e,o));if(r){const o=new Map,s=parseConfigFileWithSystem(r,a,o,n.watchOptions,e,i);if(a.showConfig)return 0!==s.errors.length?(i=updateReportDiagnostic(e,i,s.options),s.errors.forEach(i),e.exit(1)):(e.write(JSON.stringify(convertToTSConfig(s,r,e),null,4)+e.newLine),e.exit(0));if(i=updateReportDiagnostic(e,i,s.options),isWatchSet(s.options)){if(reportWatchModeWithoutSysSupport(e,i))return;return function createWatchOfConfigFile(e,t,n,r,i,o,a){const s=createWatchCompilerHostOfConfigFile({configFileName:r.options.configFilePath,optionsToExtend:i,watchOptionsToExtend:o,system:e,reportDiagnostic:n,reportWatchStatus:createWatchStatusReporter2(e,r.options)});return updateWatchCompilationHost(e,t,s),s.configFileParsingResult=r,s.extendedConfigCache=a,createWatchProgram(s)}(e,t,i,s,a,n.watchOptions,o)}tr(s.options)?performIncrementalCompilation2(e,t,i,s):performCompilation(e,t,i,s)}else{if(a.showConfig)return e.write(JSON.stringify(convertToTSConfig(n,combinePaths(o,"tsconfig.json"),e),null,4)+e.newLine),e.exit(0);if(i=updateReportDiagnostic(e,i,a),isWatchSet(a)){if(reportWatchModeWithoutSysSupport(e,i))return;return function createWatchOfFilesAndCompilerOptions(e,t,n,r,i,o){const a=createWatchCompilerHostOfFilesAndCompilerOptions({rootFiles:r,options:i,watchOptions:o,system:e,reportDiagnostic:n,reportWatchStatus:createWatchStatusReporter2(e,i)});return updateWatchCompilationHost(e,t,a),createWatchProgram(a)}(e,t,i,n.fileNames,a,n.watchOptions)}tr(a)?performIncrementalCompilation2(e,t,i,{...n,options:a}):performCompilation(e,t,i,{...n,options:a})}}function isBuildCommand(e){if(e.length>0&&45===e[0].charCodeAt(0)){const t=e[0].slice(45===e[0].charCodeAt(1)?2:1).toLowerCase();return t===co.name||t===co.shortName}return!1}function executeCommandLine(e,t,n){if(isBuildCommand(n)){const{buildOptions:r,watchOptions:i,projects:o,errors:a}=parseBuildCommand(n);if(!r.generateCpuProfile||!e.enableCPUProfiler)return performBuild(e,t,r,i,o,a);e.enableCPUProfiler(r.generateCpuProfile,()=>performBuild(e,t,r,i,o,a))}const r=parseCommandLine(n,t=>e.readFile(t));if(!r.options.generateCpuProfile||!e.enableCPUProfiler)return executeCommandLineWorker(e,t,r);e.enableCPUProfiler(r.options.generateCpuProfile,()=>executeCommandLineWorker(e,t,r))}function reportWatchModeWithoutSysSupport(e,t){return(!e.watchFile||!e.watchDirectory)&&(t(createCompilerDiagnostic(Ot.The_current_host_does_not_support_the_0_option,"--watch")),e.exit(1),!0)}var rs=2;function performBuild(e,t,n,r,i,o){const a=updateReportDiagnostic(e,createDiagnosticReporter(e),n);if(n.locale&&validateLocaleAndSetLanguage(n.locale,e,o),o.length>0)return o.forEach(a),e.exit(1);if(n.help)return printVersion(e),printBuildHelp(e,po),e.exit(0);if(0===i.length)return printVersion(e),printBuildHelp(e,po),e.exit(0);if(!e.getModifiedTime||!e.setModifiedTime||n.clean&&!e.deleteFile)return a(createCompilerDiagnostic(Ot.The_current_host_does_not_support_the_0_option,"--build")),e.exit(1);if(n.watch){if(reportWatchModeWithoutSysSupport(e,a))return;const o=createSolutionBuilderWithWatchHost(e,void 0,a,createBuilderStatusReporter(e,shouldBePretty(e,n)),createWatchStatusReporter2(e,n));o.jsDocParsingMode=rs;const s=enableSolutionPerformance(e,n);updateSolutionBuilderHost(e,t,o,s);const c=o.onWatchStatusChange;let l=!1;o.onWatchStatusChange=(e,t,n,r)=>{null==c||c(e,t,n,r),!l||e.code!==Ot.Found_0_errors_Watching_for_file_changes.code&&e.code!==Ot.Found_1_error_Watching_for_file_changes.code||reportSolutionBuilderTimes(d,s)};const d=createSolutionBuilderWithWatch(o,i,n,r);return d.build(),reportSolutionBuilderTimes(d,s),l=!0,d}const s=createSolutionBuilderHost(e,void 0,a,createBuilderStatusReporter(e,shouldBePretty(e,n)),createReportErrorSummary(e,n));s.jsDocParsingMode=rs;const c=enableSolutionPerformance(e,n);updateSolutionBuilderHost(e,t,s,c);const l=createSolutionBuilder(s,i,n),d=n.clean?l.clean():l.build();return reportSolutionBuilderTimes(l,c),$(),e.exit(d)}function createReportErrorSummary(e,t){return shouldBePretty(e,t)?(t,n)=>e.write(getErrorSummaryText(t,n,e.newLine,e)):void 0}function performCompilation(e,t,n,r){const{fileNames:i,options:o,projectReferences:a}=r,s=createCompilerHostWorker(o,void 0,e);s.jsDocParsingMode=rs;const c=s.getCurrentDirectory(),l=createGetCanonicalFileName(s.useCaseSensitiveFileNames());changeCompilerHostLikeToUseCache(s,e=>toPath(e,c,l)),enableStatisticsAndTracing(e,o,!1);const d=createProgram({rootNames:i,options:o,projectReferences:a,host:s,configFileParsingDiagnostics:getConfigFileParsingDiagnostics(r)}),p=emitFilesAndReportErrorsAndGetExitStatus(d,n,t=>e.write(t+e.newLine),createReportErrorSummary(e,o));return reportStatistics(e,d,void 0),t(d),e.exit(p)}function performIncrementalCompilation2(e,t,n,r){const{options:i,fileNames:o,projectReferences:a}=r;enableStatisticsAndTracing(e,i,!1);const s=createIncrementalCompilerHost(i,e);s.jsDocParsingMode=rs;const c=performIncrementalCompilation({host:s,system:e,rootNames:o,options:i,configFileParsingDiagnostics:getConfigFileParsingDiagnostics(r),projectReferences:a,reportDiagnostic:n,reportErrorSummary:createReportErrorSummary(e,i),afterProgramEmitAndDiagnostics:n=>{reportStatistics(e,n.getProgram(),void 0),t(n)}});return e.exit(c)}function updateSolutionBuilderHost(e,t,n,r){updateCreateProgram(e,n,!0),n.afterProgramEmitAndDiagnostics=n=>{reportStatistics(e,n.getProgram(),r),t(n)}}function updateCreateProgram(e,t,n){const r=t.createProgram;t.createProgram=(t,i,o,a,s,c)=>(h.assert(void 0!==t||void 0===i&&!!a),void 0!==i&&enableStatisticsAndTracing(e,i,n),r(t,i,o,a,s,c))}function updateWatchCompilationHost(e,t,n){n.jsDocParsingMode=rs,updateCreateProgram(e,n,!1);const r=n.afterProgramCreate;n.afterProgramCreate=n=>{r(n),reportStatistics(e,n.getProgram(),void 0),t(n)}}function createWatchStatusReporter2(e,t){return createWatchStatusReporter(e,shouldBePretty(e,t))}function enableSolutionPerformance(e,t){if(e===kt&&t.extendedDiagnostics)return enable(),function createSolutionPerfomrance(){let e;return{addAggregateStatistic,forEachAggregateStatistics:forEachAggreateStatistics,clear:clear2};function addAggregateStatistic(t){const n=null==e?void 0:e.get(t.name);n?2===n.type?n.value=Math.max(n.value,t.value):n.value+=t.value:(e??(e=new Map)).set(t.name,t)}function forEachAggreateStatistics(t){null==e||e.forEach(t)}function clear2(){e=void 0}}()}function reportSolutionBuilderTimes(e,t){if(!t)return;if(!isEnabled())return void kt.write(Ot.Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found.message+"\n");const n=[];function reportSolutionBuilderCountStatistic(e){const t=getCount(e);t&&n.push({name:getNameFromSolutionBuilderMarkOrMeasure(e),value:t,type:1})}function getNameFromSolutionBuilderMarkOrMeasure(e){return e.replace("SolutionBuilder::","")}n.push({name:"Projects in scope",value:getBuildOrderFromAnyBuildOrder(e.getBuildOrder()).length,type:1}),reportSolutionBuilderCountStatistic("SolutionBuilder::Projects built"),reportSolutionBuilderCountStatistic("SolutionBuilder::Timestamps only updates"),reportSolutionBuilderCountStatistic("SolutionBuilder::Bundles updated"),t.forEachAggregateStatistics(e=>{e.name=`Aggregate ${e.name}`,n.push(e)}),forEachMeasure((e,t)=>{isSolutionMarkOrMeasure(e)&&n.push({name:`${getNameFromSolutionBuilderMarkOrMeasure(e)} time`,value:t,type:0})}),disable(),enable(),t.clear(),reportAllStatistics(kt,n)}function canReportDiagnostics(e,t){return e===kt&&(t.diagnostics||t.extendedDiagnostics)}function canTrace(e,t){return e===kt&&t.generateTrace}function enableStatisticsAndTracing(e,t,n){canReportDiagnostics(e,t)&&enable(e),canTrace(e,t)&&G(n?"build":"project",t.generateTrace,t.configFilePath)}function isSolutionMarkOrMeasure(e){return startsWith(e,"SolutionBuilder::")}function reportStatistics(e,t,n){var r;const i=t.getCompilerOptions();let o;if(canTrace(e,i)&&(null==(r=J)||r.stopTracing()),canReportDiagnostics(e,i)){o=[];const r=e.getMemoryUsage?e.getMemoryUsage():-1;reportCountStatistic("Files",t.getSourceFiles().length);const a=countLines(t);if(i.extendedDiagnostics)for(const[e,t]of a.entries())reportCountStatistic("Lines of "+e,t);else reportCountStatistic("Lines",reduceLeftIterator(a.values(),(e,t)=>e+t,0));reportCountStatistic("Identifiers",t.getIdentifierCount()),reportCountStatistic("Symbols",t.getSymbolCount()),reportCountStatistic("Types",t.getTypeCount()),reportCountStatistic("Instantiations",t.getInstantiationCount()),r>=0&&reportStatisticalValue({name:"Memory used",value:r,type:2},!0);const s=isEnabled(),c=s?getDuration("Program"):0,l=s?getDuration("Bind"):0,d=s?getDuration("Check"):0,p=s?getDuration("Emit"):0;if(i.extendedDiagnostics){const e=t.getRelationCacheSizes();reportCountStatistic("Assignability cache size",e.assignable),reportCountStatistic("Identity cache size",e.identity),reportCountStatistic("Subtype cache size",e.subtype),reportCountStatistic("Strict subtype cache size",e.strictSubtype),s&&forEachMeasure((e,t)=>{isSolutionMarkOrMeasure(e)||reportTimeStatistic(`${e} time`,t,!0)})}else s&&(reportTimeStatistic("I/O read",getDuration("I/O Read"),!0),reportTimeStatistic("I/O write",getDuration("I/O Write"),!0),reportTimeStatistic("Parse time",c,!0),reportTimeStatistic("Bind time",l,!0),reportTimeStatistic("Check time",d,!0),reportTimeStatistic("Emit time",p,!0));s&&reportTimeStatistic("Total time",c+l+d+p,!1),reportAllStatistics(e,o),s?n?(forEachMeasure(e=>{isSolutionMarkOrMeasure(e)||clearMeasures(e)}),forEachMark(e=>{isSolutionMarkOrMeasure(e)||clearMarks(e)})):disable():e.write(Ot.Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found.message+"\n")}function reportStatisticalValue(e,t){o.push(e),t&&(null==n||n.addAggregateStatistic(e))}function reportCountStatistic(e,t){reportStatisticalValue({name:e,value:t,type:1},!0)}function reportTimeStatistic(e,t,n){reportStatisticalValue({name:e,value:t,type:0},n)}}function reportAllStatistics(e,t){let n=0,r=0;for(const e of t){e.name.length>n&&(n=e.name.length);const t=statisticValue(e);t.length>r&&(r=t.length)}for(const i of t)e.write(`${i.name}:`.padEnd(n+2)+statisticValue(i).toString().padStart(r)+e.newLine)}function statisticValue(e){switch(e.type){case 1:return""+e.value;case 0:return(e.value/1e3).toFixed(2)+"s";case 2:return Math.round(e.value/1e3)+"K";default:h.assertNever(e.type)}}function syntacticResult(e,t=!0){return{type:e,reportFallback:t}}var is=syntacticResult(void 0,!1),os=syntacticResult(void 0,!1),as=syntacticResult(void 0,!0);function createSyntacticTypeNodeBuilder(e,t){const n=getStrictOptionValue(e,"strictNullChecks");return{serializeTypeOfDeclaration:function serializeTypeOfDeclaration(e,n,r){switch(e.kind){case 170:case 342:return typeFromParameter(e,n,r);case 261:return function typeFromVariable(e,n,r){var i;const o=getEffectiveTypeAnnotationNode(e);let a=as;o?a=syntacticResult(serializeTypeAnnotationOfDeclaration(o,r,e,n)):!e.initializer||1!==(null==(i=n.declarations)?void 0:i.length)&&1!==countWhere(n.declarations,isVariableDeclaration)||t.isExpandoFunctionDeclaration(e)||isContextuallyTyped(e)||(a=typeFromExpression(e.initializer,r,void 0,void 0,isVarConstLike(e)));return void 0!==a.type?a.type:inferTypeOfDeclaration(e,n,r,a.reportFallback)}(e,n,r);case 172:case 349:case 173:return function typeFromProperty(e,n,r){const i=getEffectiveTypeAnnotationNode(e),o=t.requiresAddingImplicitUndefined(e,n,r.enclosingDeclaration);let a=as;if(i)a=syntacticResult(serializeTypeAnnotationOfDeclaration(i,r,e,n,o));else{const t=isPropertyDeclaration(e)?e.initializer:void 0;if(t&&!isContextuallyTyped(e)){a=typeFromExpression(t,r,void 0,o,isDeclarationReadonly(e))}}return void 0!==a.type?a.type:inferTypeOfDeclaration(e,n,r,a.reportFallback)}(e,n,r);case 209:return inferTypeOfDeclaration(e,n,r);case 278:return serializeTypeOfExpression(e.expression,r,void 0,!0);case 212:case 213:case 227:return function typeFromExpandoProperty(e,t,n){const r=getEffectiveTypeAnnotationNode(e);let i;r&&(i=serializeTypeAnnotationOfDeclaration(r,n,e,t));const o=n.suppressReportInferenceFallback;n.suppressReportInferenceFallback=!0;const a=i??inferTypeOfDeclaration(e,t,n,!1);return n.suppressReportInferenceFallback=o,a}(e,n,r);case 304:case 305:return function typeFromPropertyAssignment(e,n,r){const i=getEffectiveTypeAnnotationNode(e);let o;i&&t.canReuseTypeNodeAnnotation(r,e,i,n)&&(o=serializeExistingTypeNode(i,r));if(!o&&304===e.kind){const i=e.initializer,a=isJSDocTypeAssertion(i)?getJSDocTypeAssertionType(i):235===i.kind||217===i.kind?i.type:void 0;a&&!isConstTypeReference(a)&&t.canReuseTypeNodeAnnotation(r,e,a,n)&&(o=serializeExistingTypeNode(a,r))}return o??inferTypeOfDeclaration(e,n,r,!1)}(e,n,r);default:h.assertNever(e,`Node needs to be an inferrable node, found ${h.formatSyntaxKind(e.kind)}`)}},serializeReturnTypeForSignature:function serializeReturnTypeForSignature(e,t,n){switch(e.kind){case 178:return serializeTypeOfAccessor(e,t,n);case 175:case 263:case 181:case 174:case 180:case 177:case 179:case 182:case 185:case 186:case 219:case 220:case 318:case 324:return createReturnFromSignature(e,t,n);default:h.assertNever(e,`Node needs to be an inferrable node, found ${h.formatSyntaxKind(e.kind)}`)}},serializeTypeOfExpression,serializeTypeOfAccessor,tryReuseExistingTypeNode(e,n){if(t.canReuseTypeNode(e,n))return tryReuseExistingTypeNode(e,n)}};function reuseNode(e,n,r=n){return void 0===n?void 0:t.markNodeReuse(e,16&n.flags?n:Wr.cloneNode(n),r??n)}function tryReuseExistingTypeNode(n,r){const{finalizeBoundary:i,startRecoveryScope:o,hadError:a,markError:s}=t.createRecoveryBoundary(n),c=visitNode(r,visitExistingNodeTreeSymbols,isTypeNode);if(i())return n.approximateLength+=r.end-r.pos,c;function visitExistingNodeTreeSymbols(r){if(a())return r;const i=o(),c=isNewScopeNode(r)?t.enterNewScope(n,r):void 0,l=function visitExistingNodeTreeSymbolsWorker(r){var i;if(isJSDocTypeExpression(r))return visitNode(r.type,visitExistingNodeTreeSymbols,isTypeNode);if(isJSDocAllType(r)||320===r.kind)return Wr.createKeywordTypeNode(133);if(isJSDocUnknownType(r))return Wr.createKeywordTypeNode(159);if(isJSDocNullableType(r))return Wr.createUnionTypeNode([visitNode(r.type,visitExistingNodeTreeSymbols,isTypeNode),Wr.createLiteralTypeNode(Wr.createNull())]);if(isJSDocOptionalType(r))return Wr.createUnionTypeNode([visitNode(r.type,visitExistingNodeTreeSymbols,isTypeNode),Wr.createKeywordTypeNode(157)]);if(isJSDocNonNullableType(r))return visitNode(r.type,visitExistingNodeTreeSymbols);if(isJSDocVariadicType(r))return Wr.createArrayTypeNode(visitNode(r.type,visitExistingNodeTreeSymbols,isTypeNode));if(isJSDocTypeLiteral(r))return Wr.createTypeLiteralNode(map(r.jsDocPropertyTags,e=>{const i=visitNode(isIdentifier(e.name)?e.name:e.name.right,visitExistingNodeTreeSymbols,isIdentifier),o=t.getJsDocPropertyOverride(n,r,e);return Wr.createPropertySignature(void 0,i,e.isBracketed||e.typeExpression&&isJSDocOptionalType(e.typeExpression.type)?Wr.createToken(58):void 0,o||e.typeExpression&&visitNode(e.typeExpression.type,visitExistingNodeTreeSymbols,isTypeNode)||Wr.createKeywordTypeNode(133))}));if(isTypeReferenceNode(r)&&isIdentifier(r.typeName)&&""===r.typeName.escapedText)return setOriginalNode(Wr.createKeywordTypeNode(133),r);if((isExpressionWithTypeArguments(r)||isTypeReferenceNode(r))&&isJSDocIndexSignature(r))return Wr.createTypeLiteralNode([Wr.createIndexSignature(void 0,[Wr.createParameterDeclaration(void 0,void 0,"x",void 0,visitNode(r.typeArguments[0],visitExistingNodeTreeSymbols,isTypeNode))],visitNode(r.typeArguments[1],visitExistingNodeTreeSymbols,isTypeNode))]);if(isJSDocFunctionType(r)){if(isJSDocConstructSignature(r)){let e;return Wr.createConstructorTypeNode(void 0,visitNodes2(r.typeParameters,visitExistingNodeTreeSymbols,isTypeParameterDeclaration),mapDefined(r.parameters,(r,i)=>r.name&&isIdentifier(r.name)&&"new"===r.name.escapedText?void(e=r.type):Wr.createParameterDeclaration(void 0,getEffectiveDotDotDotForParameter(r),t.markNodeReuse(n,Wr.createIdentifier(getNameForJSDocFunctionParameter(r,i)),r),Wr.cloneNode(r.questionToken),visitNode(r.type,visitExistingNodeTreeSymbols,isTypeNode),void 0)),visitNode(e||r.type,visitExistingNodeTreeSymbols,isTypeNode)||Wr.createKeywordTypeNode(133))}return Wr.createFunctionTypeNode(visitNodes2(r.typeParameters,visitExistingNodeTreeSymbols,isTypeParameterDeclaration),map(r.parameters,(e,r)=>Wr.createParameterDeclaration(void 0,getEffectiveDotDotDotForParameter(e),t.markNodeReuse(n,Wr.createIdentifier(getNameForJSDocFunctionParameter(e,r)),e),Wr.cloneNode(e.questionToken),visitNode(e.type,visitExistingNodeTreeSymbols,isTypeNode),void 0)),visitNode(r.type,visitExistingNodeTreeSymbols,isTypeNode)||Wr.createKeywordTypeNode(133))}if(isThisTypeNode(r))return t.canReuseTypeNode(n,r)||s(),r;if(isTypeParameterDeclaration(r)){const{node:e}=t.trackExistingEntityName(n,r.name);return Wr.updateTypeParameterDeclaration(r,visitNodes2(r.modifiers,visitExistingNodeTreeSymbols,isModifier),e,visitNode(r.constraint,visitExistingNodeTreeSymbols,isTypeNode),visitNode(r.default,visitExistingNodeTreeSymbols,isTypeNode))}if(isIndexedAccessTypeNode(r)){const e=tryVisitIndexedAccess(r);return e||(s(),r)}if(isTypeReferenceNode(r)){const e=tryVisitTypeReference(r);return e||(s(),r)}if(isLiteralImportTypeNode(r)){if(132===(null==(i=r.attributes)?void 0:i.token))return s(),r;if(!t.canReuseTypeNode(n,r))return t.serializeExistingTypeNode(n,r);const e=rewriteModuleSpecifier2(r,r.argument.literal),o=e===r.argument.literal?reuseNode(n,r.argument.literal):e;return Wr.updateImportTypeNode(r,o===r.argument.literal?reuseNode(n,r.argument):Wr.createLiteralTypeNode(o),visitNode(r.attributes,visitExistingNodeTreeSymbols,isImportAttributes),visitNode(r.qualifier,visitExistingNodeTreeSymbols,isEntityName),visitNodes2(r.typeArguments,visitExistingNodeTreeSymbols,isTypeNode),r.isTypeOf)}if(isNamedDeclaration(r)&&168===r.name.kind&&!t.hasLateBindableName(r)){if(!hasDynamicName(r))return visitEachChild2(r,visitExistingNodeTreeSymbols);if(t.shouldRemoveDeclaration(n,r))return}if(isFunctionLike(r)&&!r.type||isPropertyDeclaration(r)&&!r.type&&!r.initializer||isPropertySignature(r)&&!r.type&&!r.initializer||isParameter(r)&&!r.type&&!r.initializer){let e=visitEachChild2(r,visitExistingNodeTreeSymbols);return e===r&&(e=t.markNodeReuse(n,Wr.cloneNode(r),r)),e.type=Wr.createKeywordTypeNode(133),isParameter(r)&&(e.modifiers=void 0),e}if(isTypeQueryNode(r)){const e=tryVisitTypeQuery(r);return e||(s(),r)}if(isComputedPropertyName(r)&&isEntityNameExpression(r.expression)){const{node:i,introducesError:o}=t.trackExistingEntityName(n,r.expression);if(o){const i=t.serializeTypeOfExpression(n,r.expression);let o;if(isLiteralTypeNode(i))o=i.literal;else{const e=t.evaluateEntityNameExpression(r.expression),a="string"==typeof e.value?Wr.createStringLiteral(e.value,void 0):"number"==typeof e.value?Wr.createNumericLiteral(e.value,0):void 0;if(!a)return isImportTypeNode(i)&&t.trackComputedName(n,r.expression),r;o=a}return 11===o.kind&&isIdentifierText(o.text,zn(e))?Wr.createIdentifier(o.text):9!==o.kind||o.text.startsWith("-")?Wr.updateComputedPropertyName(r,o):o}return Wr.updateComputedPropertyName(r,i)}if(isTypePredicateNode(r)){let e;if(isIdentifier(r.parameterName)){const{node:i,introducesError:o}=t.trackExistingEntityName(n,r.parameterName);o&&s(),e=i}else e=Wr.cloneNode(r.parameterName);return Wr.updateTypePredicateNode(r,Wr.cloneNode(r.assertsModifier),e,visitNode(r.type,visitExistingNodeTreeSymbols,isTypeNode))}if(isTupleTypeNode(r)||isTypeLiteralNode(r)||isMappedTypeNode(r)){const e=visitEachChild2(r,visitExistingNodeTreeSymbols),i=t.markNodeReuse(n,e===r?Wr.cloneNode(r):e,r);return setEmitFlags(i,getEmitFlags(i)|(1024&n.flags&&isTypeLiteralNode(r)?0:1)),i}if(isStringLiteral(r)&&268435456&n.flags&&!r.singleQuote){const e=Wr.cloneNode(r);return e.singleQuote=!0,e}if(isConditionalTypeNode(r)){const e=visitNode(r.checkType,visitExistingNodeTreeSymbols,isTypeNode),i=t.enterNewScope(n,r),o=visitNode(r.extendsType,visitExistingNodeTreeSymbols,isTypeNode),a=visitNode(r.trueType,visitExistingNodeTreeSymbols,isTypeNode);i();const s=visitNode(r.falseType,visitExistingNodeTreeSymbols,isTypeNode);return Wr.updateConditionalTypeNode(r,e,o,a,s)}if(isTypeOperatorNode(r))if(158===r.operator&&155===r.type.kind){if(!t.canReuseTypeNode(n,r))return s(),r}else if(143===r.operator){const e=tryVisitKeyOf(r);return e||(s(),r)}return visitEachChild2(r,visitExistingNodeTreeSymbols);function visitEachChild2(e,t){return visitEachChild(e,t,void 0,!n.enclosingFile||n.enclosingFile!==getSourceFileOfNode(e)?visitNodesWithoutCopyingPositions:void 0)}function visitNodesWithoutCopyingPositions(e,t,n,r,i){let o=visitNodes2(e,t,n,r,i);return o&&(-1===o.pos&&-1===o.end||(o===e&&(o=Wr.createNodeArray(e.slice(),e.hasTrailingComma)),setTextRangePosEnd(o,-1,-1))),o}function getEffectiveDotDotDotForParameter(e){return e.dotDotDotToken||(e.type&&isJSDocVariadicType(e.type)?Wr.createToken(26):void 0)}function getNameForJSDocFunctionParameter(e,t){return e.name&&isIdentifier(e.name)&&"this"===e.name.escapedText?"this":getEffectiveDotDotDotForParameter(e)?"args":`arg${t}`}function rewriteModuleSpecifier2(e,r){const i=t.getModuleSpecifierOverride(n,e,r);return i?setOriginalNode(Wr.createStringLiteral(i),r):r}}(r);return null==c||c(),a()?isTypeNode(r)&&!isTypePredicateNode(r)?(i(),t.serializeExistingTypeNode(n,r)):r:l?t.markNodeReuse(n,l,r):void 0}function tryVisitSimpleTypeNode(e){const t=skipTypeParentheses(e);switch(t.kind){case 184:return tryVisitTypeReference(t);case 187:return tryVisitTypeQuery(t);case 200:return tryVisitIndexedAccess(t);case 199:const e=t;if(143===e.operator)return tryVisitKeyOf(e)}return visitNode(e,visitExistingNodeTreeSymbols,isTypeNode)}function tryVisitIndexedAccess(e){const t=tryVisitSimpleTypeNode(e.objectType);if(void 0!==t)return Wr.updateIndexedAccessTypeNode(e,t,visitNode(e.indexType,visitExistingNodeTreeSymbols,isTypeNode))}function tryVisitKeyOf(e){h.assertEqual(e.operator,143);const t=tryVisitSimpleTypeNode(e.type);if(void 0!==t)return Wr.updateTypeOperatorNode(e,t)}function tryVisitTypeQuery(e){const{introducesError:r,node:i}=t.trackExistingEntityName(n,e.exprName);if(!r)return Wr.updateTypeQueryNode(e,i,visitNodes2(e.typeArguments,visitExistingNodeTreeSymbols,isTypeNode));const o=t.serializeTypeName(n,e.exprName,!0);return o?t.markNodeReuse(n,o,e.exprName):void 0}function tryVisitTypeReference(e){if(t.canReuseTypeNode(n,e)){const{introducesError:r,node:i}=t.trackExistingEntityName(n,e.typeName),o=visitNodes2(e.typeArguments,visitExistingNodeTreeSymbols,isTypeNode);if(!r){const r=Wr.updateTypeReferenceNode(e,i,o);return t.markNodeReuse(n,r,e)}{const r=t.serializeTypeName(n,e.typeName,!1,o);if(r)return t.markNodeReuse(n,r,e.typeName)}}}}function serializeExistingTypeNode(e,n,r){if(!e)return;let i;return r&&!canAddUndefined(e)||!t.canReuseTypeNode(n,e)||(i=tryReuseExistingTypeNode(n,e),void 0!==i&&(i=addUndefinedIfNeeded(i,r,void 0,n))),i}function serializeTypeAnnotationOfDeclaration(e,n,r,i,o,a=void 0!==o){if(!e)return;if(!(t.canReuseTypeNodeAnnotation(n,r,e,i,o)||o&&t.canReuseTypeNodeAnnotation(n,r,e,i,!1)))return;let s;return o&&!canAddUndefined(e)||(s=serializeExistingTypeNode(e,n,o)),void 0===s&&a?(n.tracker.reportInferenceFallback(r),t.serializeExistingTypeNode(n,e,o)??Wr.createKeywordTypeNode(133)):s}function serializeExistingTypeNodeWithFallback(e,n,r,i){if(!e)return;const o=serializeExistingTypeNode(e,n,r);return void 0!==o?o:(n.tracker.reportInferenceFallback(i??e),t.serializeExistingTypeNode(n,e,r)??Wr.createKeywordTypeNode(133))}function serializeTypeOfAccessor(e,n,r){return function typeFromAccessor(e,n,r){const i=t.getAllAccessorDeclarations(e),o=function getTypeAnnotationFromAllAccessorDeclarations(e,t){let n=getTypeAnnotationFromAccessor(e);n||e===t.firstAccessor||(n=getTypeAnnotationFromAccessor(t.firstAccessor));!n&&t.secondAccessor&&e!==t.secondAccessor&&(n=getTypeAnnotationFromAccessor(t.secondAccessor));return n}(e,i);if(o&&!isTypePredicateNode(o))return withNewScope(r,e,()=>serializeTypeAnnotationOfDeclaration(o,r,e,n)??inferTypeOfDeclaration(e,n,r));if(i.getAccessor)return withNewScope(r,i.getAccessor,()=>createReturnFromSignature(i.getAccessor,n,r));return}(e,n,r)??inferAccessorType(e,t.getAllAccessorDeclarations(e),r,n)}function serializeTypeOfExpression(e,t,n,r){const i=typeFromExpression(e,t,!1,n,r);return void 0!==i.type?i.type:inferExpressionType(e,t,i.reportFallback)}function getTypeAnnotationFromAccessor(e){if(e)return 178===e.kind?isInJSFile(e)&&getJSDocType(e)||getEffectiveReturnTypeNode(e):getEffectiveSetAccessorTypeAnnotationNode(e)}function typeFromParameter(e,n,r){const i=e.parent;if(179===i.kind)return serializeTypeOfAccessor(i,void 0,r);const o=getEffectiveTypeAnnotationNode(e),a=t.requiresAddingImplicitUndefined(e,n,r.enclosingDeclaration);let s=as;return o?s=syntacticResult(serializeTypeAnnotationOfDeclaration(o,r,e,n,a)):isParameter(e)&&e.initializer&&isIdentifier(e.name)&&!isContextuallyTyped(e)&&(s=typeFromExpression(e.initializer,r,void 0,a)),void 0!==s.type?s.type:inferTypeOfDeclaration(e,n,r,s.reportFallback)}function inferTypeOfDeclaration(e,n,r,i=!0){return i&&r.tracker.reportInferenceFallback(e),!0===r.noInferenceFallback?Wr.createKeywordTypeNode(133):t.serializeTypeOfDeclaration(r,e,n)}function inferExpressionType(e,n,r=!0,i){return h.assert(!i),r&&n.tracker.reportInferenceFallback(e),!0===n.noInferenceFallback?Wr.createKeywordTypeNode(133):t.serializeTypeOfExpression(n,e)??Wr.createKeywordTypeNode(133)}function inferAccessorType(e,n,r,i,o=!0){if(178===e.kind)return createReturnFromSignature(e,i,r,o);o&&r.tracker.reportInferenceFallback(e);return(n.getAccessor&&createReturnFromSignature(n.getAccessor,i,r,o))??t.serializeTypeOfDeclaration(r,e,i)??Wr.createKeywordTypeNode(133)}function withNewScope(e,n,r){const i=t.enterNewScope(e,n),o=r();return i(),o}function typeFromTypeAssertion(e,t,n,r){return isConstTypeReference(t)?typeFromExpression(e,n,!0,r):syntacticResult(serializeExistingTypeNodeWithFallback(t,n,r))}function typeFromExpression(e,r,i=!1,o=!1,a=!1){switch(e.kind){case 218:return isJSDocTypeAssertion(e)?typeFromTypeAssertion(e.expression,getJSDocTypeAssertionType(e),r,o):typeFromExpression(e.expression,r,i,o);case 80:if(t.isUndefinedIdentifierExpression(e))return syntacticResult(createUndefinedTypeNode());break;case 106:return syntacticResult(n?addUndefinedIfNeeded(Wr.createLiteralTypeNode(Wr.createNull()),o,e,r):Wr.createKeywordTypeNode(133));case 220:case 219:return h.type(e),withNewScope(r,e,()=>function typeFromFunctionLikeExpression(e,t){const n=createReturnFromSignature(e,void 0,t),r=reuseTypeParameters(e.typeParameters,t),i=e.parameters.map(e=>ensureParameter(e,t));return syntacticResult(Wr.createFunctionTypeNode(r,i,n))}(e,r));case 217:case 235:const s=e;return typeFromTypeAssertion(s.expression,s.type,r,o);case 225:const c=e;if(isPrimitiveLiteralValue(c))return typeFromPrimitiveLiteral(40===c.operator?c.operand:c,10===c.operand.kind?163:150,r,i||a,o);break;case 210:return function typeFromArrayLiteral(e,t,n,r){if(!function canGetTypeFromArrayLiteral(e,t,n){if(!n)return t.tracker.reportInferenceFallback(e),!1;for(const n of e.elements)if(231===n.kind)return t.tracker.reportInferenceFallback(n),!1;return!0}(e,t,n))return r||isDeclaration(walkUpParenthesizedExpressions(e).parent)?os:syntacticResult(inferExpressionType(e,t,!1,r));const i=t.noInferenceFallback;t.noInferenceFallback=!0;const o=[];for(const r of e.elements)if(h.assert(231!==r.kind),233===r.kind)o.push(createUndefinedTypeNode());else{const e=typeFromExpression(r,t,n),i=void 0!==e.type?e.type:inferExpressionType(r,t,e.reportFallback);o.push(i)}return Wr.createTupleTypeNode(o).emitNode={flags:1,autoGenerate:void 0,internalFlags:0},t.noInferenceFallback=i,is}(e,r,i,o);case 211:return function typeFromObjectLiteral(e,n,r,i){if(!function canGetTypeFromObjectLiteral(e,n){let r=!0;for(const i of e.properties){if(262144&i.flags){r=!1;break}if(305===i.kind||306===i.kind)n.tracker.reportInferenceFallback(i),r=!1;else{if(262144&i.name.flags){r=!1;break}if(81===i.name.kind)r=!1;else if(168===i.name.kind){const e=i.name.expression;isPrimitiveLiteralValue(e,!1)||t.isDefinitelyReferenceToGlobalSymbolObject(e)||(n.tracker.reportInferenceFallback(i.name),r=!1)}}}return r}(e,n))return i||isDeclaration(walkUpParenthesizedExpressions(e).parent)?os:syntacticResult(inferExpressionType(e,n,!1,i));const o=n.noInferenceFallback;n.noInferenceFallback=!0;const a=[],s=n.flags;n.flags|=4194304;for(const t of e.properties){h.assert(!isShorthandPropertyAssignment(t)&&!isSpreadAssignment(t));const e=t.name;let i;switch(t.kind){case 175:i=withNewScope(n,t,()=>typeFromObjectLiteralMethod(t,e,n,r));break;case 304:i=typeFromObjectLiteralPropertyAssignment(t,e,n,r);break;case 179:case 178:i=typeFromObjectLiteralAccessor(t,e,n)}i&&(setCommentRange(i,t),a.push(i))}n.flags=s;const c=Wr.createTypeLiteralNode(a);1024&n.flags||setEmitFlags(c,1);return n.noInferenceFallback=o,is}(e,r,i,o);case 232:return syntacticResult(inferExpressionType(e,r,!0,o));case 229:if(!i&&!a)return syntacticResult(Wr.createKeywordTypeNode(154));break;default:let l,d=e;switch(e.kind){case 9:l=150;break;case 15:d=Wr.createStringLiteral(e.text),l=154;break;case 11:l=154;break;case 10:l=163;break;case 112:case 97:l=136}if(l)return typeFromPrimitiveLiteral(d,l,r,i||a,o)}return as}function typeFromObjectLiteralPropertyAssignment(e,t,n,r){const i=r?[Wr.createModifier(148)]:[],o=typeFromExpression(e.initializer,n,r),a=void 0!==o.type?o.type:inferTypeOfDeclaration(e,void 0,n,o.reportFallback);return Wr.createPropertySignature(i,reuseNode(n,t),void 0,a)}function ensureParameter(e,n){return Wr.updateParameterDeclaration(e,void 0,reuseNode(n,e.dotDotDotToken),t.serializeNameOfParameter(n,e),t.isOptionalParameter(e)?Wr.createToken(58):void 0,typeFromParameter(e,void 0,n),void 0)}function reuseTypeParameters(e,n){return null==e?void 0:e.map(e=>{var r;const{node:i}=t.trackExistingEntityName(n,e.name);return Wr.updateTypeParameterDeclaration(e,null==(r=e.modifiers)?void 0:r.map(e=>reuseNode(n,e)),i,serializeExistingTypeNodeWithFallback(e.constraint,n),serializeExistingTypeNodeWithFallback(e.default,n))})}function typeFromObjectLiteralMethod(e,t,n,r){const i=createReturnFromSignature(e,void 0,n),o=reuseTypeParameters(e.typeParameters,n),a=e.parameters.map(e=>ensureParameter(e,n));return r?Wr.createPropertySignature([Wr.createModifier(148)],reuseNode(n,t),reuseNode(n,e.questionToken),Wr.createFunctionTypeNode(o,a,i)):(isIdentifier(t)&&"new"===t.escapedText&&(t=Wr.createStringLiteral("new")),Wr.createMethodSignature([],reuseNode(n,t),reuseNode(n,e.questionToken),o,a,i))}function typeFromObjectLiteralAccessor(e,n,r){const i=t.getAllAccessorDeclarations(e),o=i.getAccessor&&getTypeAnnotationFromAccessor(i.getAccessor),a=i.setAccessor&&getTypeAnnotationFromAccessor(i.setAccessor);if(void 0!==o&&void 0!==a)return withNewScope(r,e,()=>{const t=e.parameters.map(e=>ensureParameter(e,r));return isGetAccessor(e)?Wr.updateGetAccessorDeclaration(e,[],reuseNode(r,n),t,serializeExistingTypeNodeWithFallback(o,r),void 0):Wr.updateSetAccessorDeclaration(e,[],reuseNode(r,n),t,void 0)});if(i.firstAccessor===e){const t=(o?withNewScope(r,i.getAccessor,()=>serializeExistingTypeNodeWithFallback(o,r)):a?withNewScope(r,i.setAccessor,()=>serializeExistingTypeNodeWithFallback(a,r)):void 0)??inferAccessorType(e,i,r,void 0);return Wr.createPropertySignature(void 0===i.setAccessor?[Wr.createModifier(148)]:[],reuseNode(r,n),void 0,t)}}function createUndefinedTypeNode(){return n?Wr.createKeywordTypeNode(157):Wr.createKeywordTypeNode(133)}function typeFromPrimitiveLiteral(e,t,n,r,i){let o;return r?(225===e.kind&&40===e.operator&&(o=Wr.createLiteralTypeNode(reuseNode(n,e.operand))),o=Wr.createLiteralTypeNode(reuseNode(n,e))):o=Wr.createKeywordTypeNode(t),syntacticResult(addUndefinedIfNeeded(o,i,e,n))}function addUndefinedIfNeeded(e,t,r,i){const o=r&&walkUpParenthesizedExpressions(r).parent,a=o&&isDeclaration(o)&&isOptionalDeclaration(o);return n&&(t||a)?(canAddUndefined(e)||i.tracker.reportInferenceFallback(e),isUnionTypeNode(e)?Wr.createUnionTypeNode([...e.types,Wr.createKeywordTypeNode(157)]):Wr.createUnionTypeNode([e,Wr.createKeywordTypeNode(157)])):e}function canAddUndefined(e){return!n||(!(!isKeyword(e.kind)&&202!==e.kind&&185!==e.kind&&186!==e.kind&&189!==e.kind&&190!==e.kind&&188!==e.kind&&204!==e.kind&&198!==e.kind)||(197===e.kind?canAddUndefined(e.type):(193===e.kind||194===e.kind)&&e.types.every(canAddUndefined)))}function createReturnFromSignature(e,n,r,i=!0){let o=as;const a=isJSDocConstructSignature(e)?getEffectiveTypeAnnotationNode(e.parameters[0]):getEffectiveReturnTypeNode(e);return a?o=syntacticResult(serializeTypeAnnotationOfDeclaration(a,r,e,n)):isValueSignatureDeclaration(e)&&(o=function typeFromSingleReturnExpression(e,t){let n;if(e&&!nodeIsMissing(e.body)){if(3&getFunctionFlags(e))return as;const t=e.body;t&&isBlock(t)?forEachReturnStatement(t,e=>e.parent!==t||n?(n=void 0,!0):void(n=e.expression)):n=t}if(n){if(!isContextuallyTyped(n))return typeFromExpression(n,t);{const e=isJSDocTypeAssertion(n)?getJSDocTypeAssertionType(n):isAsExpression(n)||isTypeAssertionExpression(n)?n.type:void 0;if(e&&!isConstTypeReference(e))return syntacticResult(serializeExistingTypeNode(e,t))}}return as}(e,r)),void 0!==o.type?o.type:function inferReturnTypeOfSignatureSignature(e,n,r,i){return i&&n.tracker.reportInferenceFallback(e),!0===n.noInferenceFallback?Wr.createKeywordTypeNode(133):t.serializeReturnTypeForSignature(n,e,r)??Wr.createKeywordTypeNode(133)}(e,r,n,i&&o.reportFallback&&!a)}function isContextuallyTyped(e){return findAncestor(e.parent,e=>isCallExpression(e)||!isFunctionLikeDeclaration(e)&&!!getEffectiveTypeAnnotationNode(e)||isJsxElement(e)||isJsxExpression(e))}}var ss={};i(ss,{NameValidationResult:()=>Ss,discoverTypings:()=>discoverTypings,isTypingUpToDate:()=>isTypingUpToDate,loadSafeList:()=>loadSafeList,loadTypesMap:()=>loadTypesMap,nonRelativeModuleNameForTypingCache:()=>nonRelativeModuleNameForTypingCache,renderPackageNameValidationFailure:()=>renderPackageNameValidationFailure,validatePackageName:()=>validatePackageName});var cs,ls,ds="action::set",ps="action::invalidate",us="action::packageInstalled",ms="event::typesRegistry",_s="event::beginInstallTypes",fs="event::endInstallTypes",gs="event::initializationFailed",ys="action::watchTypingLocations";function hasArgument(e){return kt.args.includes(e)}function findArgument(e){const t=kt.args.indexOf(e);return t>=0&&t<kt.args.length-1?kt.args[t+1]:void 0}function nowString(){const e=new Date;return`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`}(ls=cs||(cs={})).GlobalCacheLocation="--globalTypingsCacheLocation",ls.LogFile="--logFile",ls.EnableTelemetry="--enableTelemetry",ls.TypingSafeListLocation="--typingSafeListLocation",ls.TypesMapLocation="--typesMapLocation",ls.NpmLocation="--npmLocation",ls.ValidateDefaultNpmLocation="--validateDefaultNpmLocation";var hs="\n ";function indent2(e){return hs+e.replace(/\n/g,hs)}function stringifyIndented(e){return indent2(JSON.stringify(e,void 0,2))}function isTypingUpToDate(e,t){return new k(getProperty(t,`ts${a}`)||getProperty(t,"latest")).compareTo(e.version)<=0}function nonRelativeModuleNameForTypingCache(e){return Ir.has(e)?"node":e}function loadSafeList(e,t){const n=readConfigFile(t,t=>e.readFile(t));return new Map(Object.entries(n.config))}function loadTypesMap(e,t){var n;const r=readConfigFile(t,t=>e.readFile(t));if(null==(n=r.config)?void 0:n.simpleMap)return new Map(Object.entries(r.config.simpleMap))}function discoverTypings(e,t,n,r,i,o,a,s,c,l){if(!a||!a.enable)return{cachedTypingPaths:[],newTypingNames:[],filesToWatch:[]};const d=new Map;n=mapDefined(n,e=>{const t=normalizePath(e);if(hasJSFileExtension(t))return t});const p=[];a.include&&addInferredTypings(a.include,"Explicitly included types");const u=a.exclude||[];if(!l.types){const e=new Set(n.map(getDirectoryPath));e.add(r),e.forEach(e=>{getTypingNames(e,"bower.json","bower_components",p),getTypingNames(e,"package.json","node_modules",p)})}if(a.disableFilenameBasedTypeAcquisition||function getTypingNamesFromSourceFileNames(e){const n=mapDefined(e,e=>{if(!hasJSFileExtension(e))return;const t=removeMinAndVersionNumbers(removeFileExtension(toFileNameLowerCase(getBaseFileName(e))));return i.get(t)});n.length&&addInferredTypings(n,"Inferred typings from file names");some(e,e=>fileExtensionIs(e,".jsx"))&&(t&&t("Inferred 'react' typings due to presence of '.jsx' extension"),addInferredTyping("react"))}(n),s){addInferredTypings(deduplicate(s.map(nonRelativeModuleNameForTypingCache),equateStringsCaseSensitive,compareStringsCaseSensitive),"Inferred typings from unresolved imports")}for(const e of u){d.delete(e)&&t&&t(`Typing for ${e} is in exclude list, will be ignored.`)}o.forEach((e,t)=>{const n=c.get(t);!1===d.get(t)&&void 0!==n&&isTypingUpToDate(e,n)&&d.set(t,e.typingLocation)});const m=[],_=[];d.forEach((e,t)=>{e?_.push(e):m.push(t)});const f={cachedTypingPaths:_,newTypingNames:m,filesToWatch:p};return t&&t(`Finished typings discovery:${stringifyIndented(f)}`),f;function addInferredTyping(e){d.has(e)||d.set(e,!1)}function addInferredTypings(e,n){t&&t(`${n}: ${JSON.stringify(e)}`),forEach(e,addInferredTyping)}function getTypingNames(n,r,i,o){const a=combinePaths(n,r);let s,c;e.fileExists(a)&&(o.push(a),s=readConfigFile(a,t=>e.readFile(t)).config,c=flatMap([s.dependencies,s.devDependencies,s.optionalDependencies,s.peerDependencies],getOwnKeys),addInferredTypings(c,`Typing names in '${a}' dependencies`));const l=combinePaths(n,i);if(o.push(l),!e.directoryExists(l))return;const p=[],u=c?c.map(e=>combinePaths(l,e,r)):e.readDirectory(l,[".json"],void 0,void 0,3).filter(e=>{if(getBaseFileName(e)!==r)return!1;const t=getPathComponents(normalizePath(e)),n="@"===t[t.length-3][0];return n&&toFileNameLowerCase(t[t.length-4])===i||!n&&toFileNameLowerCase(t[t.length-3])===i});t&&t(`Searching for typing names in ${l}; all files: ${JSON.stringify(u)}`);for(const n of u){const r=normalizePath(n),i=readConfigFile(r,t=>e.readFile(t)).config;if(!i.name)continue;const o=i.types||i.typings;if(o){const n=getNormalizedAbsolutePath(o,getDirectoryPath(r));e.fileExists(n)?(t&&t(` Package '${i.name}' provides its own types.`),d.set(i.name,n)):t&&t(` Package '${i.name}' provides its own types but they are missing.`)}else p.push(i.name)}addInferredTypings(p," Found package names")}}var Ts,Ss=(e=>(e[e.Ok=0]="Ok",e[e.EmptyName=1]="EmptyName",e[e.NameTooLong=2]="NameTooLong",e[e.NameStartsWithDot=3]="NameStartsWithDot",e[e.NameStartsWithUnderscore=4]="NameStartsWithUnderscore",e[e.NameContainsNonURISafeCharacters=5]="NameContainsNonURISafeCharacters",e))(Ss||{}),xs=214;function validatePackageName(e){return validatePackageNameWorker(e,!0)}function validatePackageNameWorker(e,t){if(!e)return 1;if(e.length>xs)return 2;if(46===e.charCodeAt(0))return 3;if(95===e.charCodeAt(0))return 4;if(t){const t=/^@([^/]+)\/([^/]+)$/.exec(e);if(t){const e=validatePackageNameWorker(t[1],!1);if(0!==e)return{name:t[1],isScopeName:!0,result:e};const n=validatePackageNameWorker(t[2],!1);return 0!==n?{name:t[2],isScopeName:!1,result:n}:0}}return encodeURIComponent(e)!==e?5:0}function renderPackageNameValidationFailure(e,t){return"object"==typeof e?renderPackageNameValidationFailureWorker(t,e.result,e.name,e.isScopeName):renderPackageNameValidationFailureWorker(t,e,t,!1)}function renderPackageNameValidationFailureWorker(e,t,n,r){const i=r?"Scope":"Package";switch(t){case 1:return`'${e}':: ${i} name '${n}' cannot be empty`;case 2:return`'${e}':: ${i} name '${n}' should be less than ${xs} characters`;case 3:return`'${e}':: ${i} name '${n}' cannot start with '.'`;case 4:return`'${e}':: ${i} name '${n}' cannot start with '_'`;case 5:return`'${e}':: ${i} name '${n}' contains non URI safe characters`;case 0:return h.fail();default:h.assertNever(t)}}(e=>{class StringScriptSnapshot{constructor(e){this.text=e}getText(e,t){return 0===e&&t===this.text.length?this.text:this.text.substring(e,t)}getLength(){return this.text.length}getChangeRange(){}}e.fromString=function fromString(e){return new StringScriptSnapshot(e)}})(Ts||(Ts={}));var vs=(e=>(e[e.Dependencies=1]="Dependencies",e[e.DevDependencies=2]="DevDependencies",e[e.PeerDependencies=4]="PeerDependencies",e[e.OptionalDependencies=8]="OptionalDependencies",e[e.All=15]="All",e))(vs||{}),bs=(e=>(e[e.Off=0]="Off",e[e.On=1]="On",e[e.Auto=2]="Auto",e))(bs||{}),Cs=(e=>(e[e.Semantic=0]="Semantic",e[e.PartialSemantic=1]="PartialSemantic",e[e.Syntactic=2]="Syntactic",e))(Cs||{}),Es={},Ns=(e=>(e.Original="original",e.TwentyTwenty="2020",e))(Ns||{}),ks=(e=>(e.All="All",e.SortAndCombine="SortAndCombine",e.RemoveUnused="RemoveUnused",e))(ks||{}),Fs=(e=>(e[e.Invoked=1]="Invoked",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions",e))(Fs||{}),Ps=(e=>(e.Type="Type",e.Parameter="Parameter",e.Enum="Enum",e))(Ps||{}),Ds=(e=>(e.none="none",e.definition="definition",e.reference="reference",e.writtenReference="writtenReference",e))(Ds||{}),Is=(e=>(e[e.None=0]="None",e[e.Block=1]="Block",e[e.Smart=2]="Smart",e))(Is||{}),As=(e=>(e.Ignore="ignore",e.Insert="insert",e.Remove="remove",e))(As||{});function getDefaultFormatCodeSettings(e){return{indentSize:4,tabSize:4,newLineCharacter:e||"\n",convertTabsToSpaces:!0,indentStyle:2,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:"ignore",trimTrailingWhitespace:!0,indentSwitchCase:!0}}var Os=getDefaultFormatCodeSettings("\n"),ws=(e=>(e[e.aliasName=0]="aliasName",e[e.className=1]="className",e[e.enumName=2]="enumName",e[e.fieldName=3]="fieldName",e[e.interfaceName=4]="interfaceName",e[e.keyword=5]="keyword",e[e.lineBreak=6]="lineBreak",e[e.numericLiteral=7]="numericLiteral",e[e.stringLiteral=8]="stringLiteral",e[e.localName=9]="localName",e[e.methodName=10]="methodName",e[e.moduleName=11]="moduleName",e[e.operator=12]="operator",e[e.parameterName=13]="parameterName",e[e.propertyName=14]="propertyName",e[e.punctuation=15]="punctuation",e[e.space=16]="space",e[e.text=17]="text",e[e.typeParameterName=18]="typeParameterName",e[e.enumMemberName=19]="enumMemberName",e[e.functionName=20]="functionName",e[e.regularExpressionLiteral=21]="regularExpressionLiteral",e[e.link=22]="link",e[e.linkName=23]="linkName",e[e.linkText=24]="linkText",e))(ws||{}),Ls=(e=>(e[e.None=0]="None",e[e.MayIncludeAutoImports=1]="MayIncludeAutoImports",e[e.IsImportStatementCompletion=2]="IsImportStatementCompletion",e[e.IsContinuation=4]="IsContinuation",e[e.ResolvedModuleSpecifiers=8]="ResolvedModuleSpecifiers",e[e.ResolvedModuleSpecifiersBeyondLimit=16]="ResolvedModuleSpecifiersBeyondLimit",e[e.MayIncludeMethodSnippets=32]="MayIncludeMethodSnippets",e))(Ls||{}),Ms=(e=>(e.Comment="comment",e.Region="region",e.Code="code",e.Imports="imports",e))(Ms||{}),Rs=(e=>(e[e.JavaScript=0]="JavaScript",e[e.SourceMap=1]="SourceMap",e[e.Declaration=2]="Declaration",e))(Rs||{}),Bs=(e=>(e[e.None=0]="None",e[e.InMultiLineCommentTrivia=1]="InMultiLineCommentTrivia",e[e.InSingleQuoteStringLiteral=2]="InSingleQuoteStringLiteral",e[e.InDoubleQuoteStringLiteral=3]="InDoubleQuoteStringLiteral",e[e.InTemplateHeadOrNoSubstitutionTemplate=4]="InTemplateHeadOrNoSubstitutionTemplate",e[e.InTemplateMiddleOrTail=5]="InTemplateMiddleOrTail",e[e.InTemplateSubstitutionPosition=6]="InTemplateSubstitutionPosition",e))(Bs||{}),js=(e=>(e[e.Punctuation=0]="Punctuation",e[e.Keyword=1]="Keyword",e[e.Operator=2]="Operator",e[e.Comment=3]="Comment",e[e.Whitespace=4]="Whitespace",e[e.Identifier=5]="Identifier",e[e.NumberLiteral=6]="NumberLiteral",e[e.BigIntLiteral=7]="BigIntLiteral",e[e.StringLiteral=8]="StringLiteral",e[e.RegExpLiteral=9]="RegExpLiteral",e))(js||{}),Js=(e=>(e.unknown="",e.warning="warning",e.keyword="keyword",e.scriptElement="script",e.moduleElement="module",e.classElement="class",e.localClassElement="local class",e.interfaceElement="interface",e.typeElement="type",e.enumElement="enum",e.enumMemberElement="enum member",e.variableElement="var",e.localVariableElement="local var",e.variableUsingElement="using",e.variableAwaitUsingElement="await using",e.functionElement="function",e.localFunctionElement="local function",e.memberFunctionElement="method",e.memberGetAccessorElement="getter",e.memberSetAccessorElement="setter",e.memberVariableElement="property",e.memberAccessorVariableElement="accessor",e.constructorImplementationElement="constructor",e.callSignatureElement="call",e.indexSignatureElement="index",e.constructSignatureElement="construct",e.parameterElement="parameter",e.typeParameterElement="type parameter",e.primitiveType="primitive type",e.label="label",e.alias="alias",e.constElement="const",e.letElement="let",e.directory="directory",e.externalModuleName="external module name",e.jsxAttribute="JSX attribute",e.string="string",e.link="link",e.linkName="link name",e.linkText="link text",e))(Js||{}),Ws=(e=>(e.none="",e.publicMemberModifier="public",e.privateMemberModifier="private",e.protectedMemberModifier="protected",e.exportedModifier="export",e.ambientModifier="declare",e.staticModifier="static",e.abstractModifier="abstract",e.optionalModifier="optional",e.deprecatedModifier="deprecated",e.dtsModifier=".d.ts",e.tsModifier=".ts",e.tsxModifier=".tsx",e.jsModifier=".js",e.jsxModifier=".jsx",e.jsonModifier=".json",e.dmtsModifier=".d.mts",e.mtsModifier=".mts",e.mjsModifier=".mjs",e.dctsModifier=".d.cts",e.ctsModifier=".cts",e.cjsModifier=".cjs",e))(Ws||{}),Us=(e=>(e.comment="comment",e.identifier="identifier",e.keyword="keyword",e.numericLiteral="number",e.bigintLiteral="bigint",e.operator="operator",e.stringLiteral="string",e.whiteSpace="whitespace",e.text="text",e.punctuation="punctuation",e.className="class name",e.enumName="enum name",e.interfaceName="interface name",e.moduleName="module name",e.typeParameterName="type parameter name",e.typeAliasName="type alias name",e.parameterName="parameter name",e.docCommentTagName="doc comment tag name",e.jsxOpenTagName="jsx open tag name",e.jsxCloseTagName="jsx close tag name",e.jsxSelfClosingTagName="jsx self closing tag name",e.jsxAttribute="jsx attribute",e.jsxText="jsx text",e.jsxAttributeStringLiteralValue="jsx attribute string literal value",e))(Us||{}),zs=(e=>(e[e.comment=1]="comment",e[e.identifier=2]="identifier",e[e.keyword=3]="keyword",e[e.numericLiteral=4]="numericLiteral",e[e.operator=5]="operator",e[e.stringLiteral=6]="stringLiteral",e[e.regularExpressionLiteral=7]="regularExpressionLiteral",e[e.whiteSpace=8]="whiteSpace",e[e.text=9]="text",e[e.punctuation=10]="punctuation",e[e.className=11]="className",e[e.enumName=12]="enumName",e[e.interfaceName=13]="interfaceName",e[e.moduleName=14]="moduleName",e[e.typeParameterName=15]="typeParameterName",e[e.typeAliasName=16]="typeAliasName",e[e.parameterName=17]="parameterName",e[e.docCommentTagName=18]="docCommentTagName",e[e.jsxOpenTagName=19]="jsxOpenTagName",e[e.jsxCloseTagName=20]="jsxCloseTagName",e[e.jsxSelfClosingTagName=21]="jsxSelfClosingTagName",e[e.jsxAttribute=22]="jsxAttribute",e[e.jsxText=23]="jsxText",e[e.jsxAttributeStringLiteralValue=24]="jsxAttributeStringLiteralValue",e[e.bigintLiteral=25]="bigintLiteral",e))(zs||{}),Vs=createScanner(99,!0),qs=(e=>(e[e.None=0]="None",e[e.Value=1]="Value",e[e.Type=2]="Type",e[e.Namespace=4]="Namespace",e[e.All=7]="All",e))(qs||{});function getMeaningFromDeclaration(e){switch(e.kind){case 261:return isInJSFile(e)&&getJSDocEnumTag(e)?7:1;case 170:case 209:case 173:case 172:case 304:case 305:case 175:case 174:case 177:case 178:case 179:case 263:case 219:case 220:case 300:case 292:return 1;case 169:case 265:case 266:case 188:return 2;case 347:return void 0===e.name?3:2;case 307:case 264:return 3;case 268:return isAmbientModule(e)||1===getModuleInstanceState(e)?5:4;case 267:case 276:case 277:case 272:case 273:case 278:case 279:return 7;case 308:return 5}return 7}function getMeaningFromLocation(e){const t=(e=getAdjustedReferenceLocation(e)).parent;return 308===e.kind?1:isExportAssignment(t)||isExportSpecifier(t)||isExternalModuleReference(t)||isImportSpecifier(t)||isImportClause(t)||isImportEqualsDeclaration(t)&&e===t.name?7:isInRightSideOfInternalImportEqualsDeclaration(e)?function getMeaningFromRightHandSideOfImportEquals(e){const t=167===e.kind?e:isQualifiedName(e.parent)&&e.parent.right===e?e.parent:void 0;return t&&272===t.parent.kind?7:4}(e):isDeclarationName(e)?getMeaningFromDeclaration(t):isEntityName(e)&&findAncestor(e,or(isJSDocNameReference,isJSDocLinkLike,isJSDocMemberName))?7:function isTypeReference(e){isRightSideOfQualifiedNameOrPropertyAccess(e)&&(e=e.parent);switch(e.kind){case 110:return!isExpressionNode(e);case 198:return!0}switch(e.parent.kind){case 184:return!0;case 206:return!e.parent.isTypeOf;case 234:return isPartOfTypeNode(e.parent)}return!1}(e)?2:function isNamespaceReference(e){return function isQualifiedNameNamespaceReference(e){let t=e,n=!0;if(167===t.parent.kind){for(;t.parent&&167===t.parent.kind;)t=t.parent;n=t.right===e}return 184===t.parent.kind&&!n}(e)||function isPropertyAccessNamespaceReference(e){let t=e,n=!0;if(212===t.parent.kind){for(;t.parent&&212===t.parent.kind;)t=t.parent;n=t.name===e}if(!n&&234===t.parent.kind&&299===t.parent.parent.kind){const e=t.parent.parent.parent;return 264===e.kind&&119===t.parent.parent.token||265===e.kind&&96===t.parent.parent.token}return!1}(e)}(e)?4:isTypeParameterDeclaration(t)?(h.assert(isJSDocTemplateTag(t.parent)),2):isLiteralTypeNode(t)?3:1}function isInRightSideOfInternalImportEqualsDeclaration(e){if(!e.parent)return!1;for(;167===e.parent.kind;)e=e.parent;return isInternalModuleImportEqualsDeclaration(e.parent)&&e.parent.moduleReference===e}function isCallExpressionTarget(e,t=!1,n=!1){return isCalleeWorker(e,isCallExpression,selectExpressionOfCallOrNewExpressionOrDecorator,t,n)}function isNewExpressionTarget(e,t=!1,n=!1){return isCalleeWorker(e,isNewExpression,selectExpressionOfCallOrNewExpressionOrDecorator,t,n)}function isCallOrNewExpressionTarget(e,t=!1,n=!1){return isCalleeWorker(e,isCallOrNewExpression,selectExpressionOfCallOrNewExpressionOrDecorator,t,n)}function isTaggedTemplateTag(e,t=!1,n=!1){return isCalleeWorker(e,isTaggedTemplateExpression,selectTagOfTaggedTemplateExpression,t,n)}function isDecoratorTarget(e,t=!1,n=!1){return isCalleeWorker(e,isDecorator,selectExpressionOfCallOrNewExpressionOrDecorator,t,n)}function isJsxOpeningLikeElementTagName(e,t=!1,n=!1){return isCalleeWorker(e,isJsxOpeningLikeElement,selectTagNameOfJsxOpeningLikeElement,t,n)}function selectExpressionOfCallOrNewExpressionOrDecorator(e){return e.expression}function selectTagOfTaggedTemplateExpression(e){return e.tag}function selectTagNameOfJsxOpeningLikeElement(e){return e.tagName}function isCalleeWorker(e,t,n,r,i){let o=r?function climbPastPropertyOrElementAccess(e){return isRightSideOfPropertyAccess(e)||isArgumentExpressionOfElementAccess(e)?e.parent:e}(e):climbPastPropertyAccess(e);return i&&(o=skipOuterExpressions(o)),!!o&&!!o.parent&&t(o.parent)&&n(o.parent)===o}function climbPastPropertyAccess(e){return isRightSideOfPropertyAccess(e)?e.parent:e}function getTargetLabel(e,t){for(;e;){if(257===e.kind&&e.label.escapedText===t)return e.label;e=e.parent}}function hasPropertyAccessExpressionWithName(e,t){return!!isPropertyAccessExpression(e.expression)&&e.expression.name.text===t}function isJumpStatementTarget(e){var t;return isIdentifier(e)&&(null==(t=tryCast(e.parent,isBreakOrContinueStatement))?void 0:t.label)===e}function isLabelOfLabeledStatement(e){var t;return isIdentifier(e)&&(null==(t=tryCast(e.parent,isLabeledStatement))?void 0:t.label)===e}function isLabelName(e){return isLabelOfLabeledStatement(e)||isJumpStatementTarget(e)}function isTagName(e){var t;return(null==(t=tryCast(e.parent,isJSDocTag))?void 0:t.tagName)===e}function isRightSideOfQualifiedName(e){var t;return(null==(t=tryCast(e.parent,isQualifiedName))?void 0:t.right)===e}function isRightSideOfPropertyAccess(e){var t;return(null==(t=tryCast(e.parent,isPropertyAccessExpression))?void 0:t.name)===e}function isArgumentExpressionOfElementAccess(e){var t;return(null==(t=tryCast(e.parent,isElementAccessExpression))?void 0:t.argumentExpression)===e}function isNameOfModuleDeclaration(e){var t;return(null==(t=tryCast(e.parent,isModuleDeclaration))?void 0:t.name)===e}function isNameOfFunctionDeclaration(e){var t;return isIdentifier(e)&&(null==(t=tryCast(e.parent,isFunctionLike))?void 0:t.name)===e}function isLiteralNameOfPropertyDeclarationOrIndexAccess(e){switch(e.parent.kind){case 173:case 172:case 304:case 307:case 175:case 174:case 178:case 179:case 268:return getNameOfDeclaration(e.parent)===e;case 213:return e.parent.argumentExpression===e;case 168:return!0;case 202:return 200===e.parent.parent.kind;default:return!1}}function isExpressionOfExternalModuleImportEqualsDeclaration(e){return isExternalModuleImportEqualsDeclaration(e.parent.parent)&&getExternalModuleImportEqualsDeclarationExpression(e.parent.parent)===e}function getContainerNode(e){for(isJSDocTypeAlias(e)&&(e=e.parent.parent);;){if(!(e=e.parent))return;switch(e.kind){case 308:case 175:case 174:case 263:case 219:case 178:case 179:case 264:case 265:case 267:case 268:return e}}}function getNodeKind(e){switch(e.kind){case 308:return isExternalModule(e)?"module":"script";case 268:return"module";case 264:case 232:return"class";case 265:return"interface";case 266:case 339:case 347:return"type";case 267:return"enum";case 261:return getKindOfVariableDeclaration(e);case 209:return getKindOfVariableDeclaration(getRootDeclaration(e));case 220:case 263:case 219:return"function";case 178:return"getter";case 179:return"setter";case 175:case 174:return"method";case 304:const{initializer:t}=e;return isFunctionLike(t)?"method":"property";case 173:case 172:case 305:case 306:return"property";case 182:return"index";case 181:return"construct";case 180:return"call";case 177:case 176:return"constructor";case 169:return"type parameter";case 307:return"enum member";case 170:return hasSyntacticModifier(e,31)?"property":"parameter";case 272:case 277:case 282:case 275:case 281:return"alias";case 227:const n=getAssignmentDeclarationKind(e),{right:r}=e;switch(n){case 7:case 8:case 9:case 0:default:return"";case 1:case 2:const e=getNodeKind(r);return""===e?"const":e;case 3:case 5:return isFunctionExpression(r)?"method":"property";case 4:return"property";case 6:return"local class"}case 80:return isImportClause(e.parent)?"alias":"";case 278:const i=getNodeKind(e.expression);return""===i?"const":i;default:return""}function getKindOfVariableDeclaration(e){return isVarConst(e)?"const":isLet(e)?"let":"var"}}function isThis(e){switch(e.kind){case 110:return!0;case 80:return identifierIsThisKeyword(e)&&170===e.parent.kind;default:return!1}}var Hs=/^\/\/\/\s*</;function getLineStartPositionForPosition(e,t){return getLineStarts(t)[t.getLineAndCharacterOfPosition(e).line]}function rangeContainsRangeExclusive(e,t){return rangeContainsPositionExclusive(e,t.pos)&&rangeContainsPositionExclusive(e,t.end)}function rangeContainsPosition(e,t){return e.pos<=t&&t<=e.end}function rangeContainsPositionExclusive(e,t){return e.pos<t&&t<e.end}function rangeContainsStartEnd(e,t,n){return e.pos<=t&&e.end>=n}function rangeOverlapsWithStartEnd(e,t,n){return startEndOverlapsWithStartEnd(e.pos,e.end,t,n)}function nodeOverlapsWithStartEnd(e,t,n,r){return startEndOverlapsWithStartEnd(e.getStart(t),e.end,n,r)}function startEndOverlapsWithStartEnd(e,t,n,r){return Math.max(e,n)<Math.min(t,r)}function positionBelongsToNode(e,t,n){return h.assert(e.pos<=t),t<e.end||!isCompletedNode(e,n)}function isCompletedNode(e,t){if(void 0===e||nodeIsMissing(e))return!1;switch(e.kind){case 264:case 265:case 267:case 211:case 207:case 188:case 242:case 269:case 270:case 276:case 280:return nodeEndsWith(e,20,t);case 300:return isCompletedNode(e.block,t);case 215:if(!e.arguments)return!0;case 214:case 218:case 197:return nodeEndsWith(e,22,t);case 185:case 186:return isCompletedNode(e.type,t);case 177:case 178:case 179:case 263:case 219:case 175:case 174:case 181:case 180:case 220:return e.body?isCompletedNode(e.body,t):e.type?isCompletedNode(e.type,t):hasChildOfKind(e,22,t);case 268:return!!e.body&&isCompletedNode(e.body,t);case 246:return e.elseStatement?isCompletedNode(e.elseStatement,t):isCompletedNode(e.thenStatement,t);case 245:return isCompletedNode(e.expression,t)||hasChildOfKind(e,27,t);case 210:case 208:case 213:case 168:case 190:return nodeEndsWith(e,24,t);case 182:return e.type?isCompletedNode(e.type,t):hasChildOfKind(e,24,t);case 297:case 298:return!1;case 249:case 250:case 251:case 248:return isCompletedNode(e.statement,t);case 247:return hasChildOfKind(e,117,t)?nodeEndsWith(e,22,t):isCompletedNode(e.statement,t);case 187:return isCompletedNode(e.exprName,t);case 222:case 221:case 223:case 230:case 231:return isCompletedNode(e.expression,t);case 216:return isCompletedNode(e.template,t);case 229:return isCompletedNode(lastOrUndefined(e.templateSpans),t);case 240:return nodeIsPresent(e.literal);case 279:case 273:return nodeIsPresent(e.moduleSpecifier);case 225:return isCompletedNode(e.operand,t);case 227:return isCompletedNode(e.right,t);case 228:return isCompletedNode(e.whenFalse,t);default:return!0}}function nodeEndsWith(e,t,n){const r=e.getChildren(n);if(r.length){const e=last(r);if(e.kind===t)return!0;if(27===e.kind&&1!==r.length)return r[r.length-2].kind===t}return!1}function findListItemInfo(e){const t=findContainingList(e);if(!t)return;return{listItemIndex:indexOfNode(t.getChildren(),e),list:t}}function hasChildOfKind(e,t,n){return!!findChildOfKind(e,t,n)}function findChildOfKind(e,t,n){return find(e.getChildren(n),e=>e.kind===t)}function findContainingList(e){const t=find(e.parent.getChildren(),t=>isSyntaxList(t)&&rangeContainsRange(t,e));return h.assert(!t||contains(t.getChildren(),e)),t}function isDefaultModifier2(e){return 90===e.kind}function isClassKeyword(e){return 86===e.kind}function isFunctionKeyword(e){return 100===e.kind}function getContextualTypeFromParentOrAncestorTypeNode(e,t){if(16777216&e.flags)return;const n=getContextualTypeFromParent(e,t);if(n)return n;const r=function getAncestorTypeNode(e){let t;return findAncestor(e,e=>(isTypeNode(e)&&(t=e),!isQualifiedName(e.parent)&&!isTypeNode(e.parent)&&!isTypeElement(e.parent))),t}(e);return r&&t.getTypeAtLocation(r)}function getAdjustedLocationForDeclaration(e,t){if(!t)switch(e.kind){case 264:case 232:return function getAdjustedLocationForClass(e){if(isNamedDeclaration(e))return e.name;if(isClassDeclaration(e)){const t=e.modifiers&&find(e.modifiers,isDefaultModifier2);if(t)return t}if(isClassExpression(e)){const t=find(e.getChildren(),isClassKeyword);if(t)return t}}(e);case 263:case 219:return function getAdjustedLocationForFunction(e){if(isNamedDeclaration(e))return e.name;if(isFunctionDeclaration(e)){const t=find(e.modifiers,isDefaultModifier2);if(t)return t}if(isFunctionExpression(e)){const t=find(e.getChildren(),isFunctionKeyword);if(t)return t}}(e);case 177:return e}if(isNamedDeclaration(e))return e.name}function getAdjustedLocationForImportDeclaration(e,t){if(e.importClause){if(e.importClause.name&&e.importClause.namedBindings)return;if(e.importClause.name)return e.importClause.name;if(e.importClause.namedBindings){if(isNamedImports(e.importClause.namedBindings)){const t=singleOrUndefined(e.importClause.namedBindings.elements);if(!t)return;return t.name}if(isNamespaceImport(e.importClause.namedBindings))return e.importClause.namedBindings.name}}if(!t)return e.moduleSpecifier}function getAdjustedLocationForExportDeclaration(e,t){if(e.exportClause){if(isNamedExports(e.exportClause)){if(!singleOrUndefined(e.exportClause.elements))return;return e.exportClause.elements[0].name}if(isNamespaceExport(e.exportClause))return e.exportClause.name}if(!t)return e.moduleSpecifier}function getAdjustedLocation(e,t){const{parent:n}=e;if(isModifier(e)&&(t||90!==e.kind)?canHaveModifiers(n)&&contains(n.modifiers,e):86===e.kind?isClassDeclaration(n)||isClassExpression(e):100===e.kind?isFunctionDeclaration(n)||isFunctionExpression(e):120===e.kind?isInterfaceDeclaration(n):94===e.kind?isEnumDeclaration(n):156===e.kind?isTypeAliasDeclaration(n):145===e.kind||144===e.kind?isModuleDeclaration(n):102===e.kind?isImportEqualsDeclaration(n):139===e.kind?isGetAccessorDeclaration(n):153===e.kind&&isSetAccessorDeclaration(n)){const e=getAdjustedLocationForDeclaration(n,t);if(e)return e}if((115===e.kind||87===e.kind||121===e.kind)&&isVariableDeclarationList(n)&&1===n.declarations.length){const e=n.declarations[0];if(isIdentifier(e.name))return e.name}if(156===e.kind){if(isImportClause(n)&&n.isTypeOnly){const e=getAdjustedLocationForImportDeclaration(n.parent,t);if(e)return e}if(isExportDeclaration(n)&&n.isTypeOnly){const e=getAdjustedLocationForExportDeclaration(n,t);if(e)return e}}if(130===e.kind){if(isImportSpecifier(n)&&n.propertyName||isExportSpecifier(n)&&n.propertyName||isNamespaceImport(n)||isNamespaceExport(n))return n.name;if(isExportDeclaration(n)&&n.exportClause&&isNamespaceExport(n.exportClause))return n.exportClause.name}if(102===e.kind&&isImportDeclaration(n)){const e=getAdjustedLocationForImportDeclaration(n,t);if(e)return e}if(95===e.kind){if(isExportDeclaration(n)){const e=getAdjustedLocationForExportDeclaration(n,t);if(e)return e}if(isExportAssignment(n))return skipOuterExpressions(n.expression)}if(149===e.kind&&isExternalModuleReference(n))return n.expression;if(161===e.kind&&(isImportDeclaration(n)||isExportDeclaration(n))&&n.moduleSpecifier)return n.moduleSpecifier;if((96===e.kind||119===e.kind)&&isHeritageClause(n)&&n.token===e.kind){const e=function getAdjustedLocationForHeritageClause(e){if(1===e.types.length)return e.types[0].expression}(n);if(e)return e}if(96===e.kind){if(isTypeParameterDeclaration(n)&&n.constraint&&isTypeReferenceNode(n.constraint))return n.constraint.typeName;if(isConditionalTypeNode(n)&&isTypeReferenceNode(n.extendsType))return n.extendsType.typeName}if(140===e.kind&&isInferTypeNode(n))return n.typeParameter.name;if(103===e.kind&&isTypeParameterDeclaration(n)&&isMappedTypeNode(n.parent))return n.name;if(143===e.kind&&isTypeOperatorNode(n)&&143===n.operator&&isTypeReferenceNode(n.type))return n.type.typeName;if(148===e.kind&&isTypeOperatorNode(n)&&148===n.operator&&isArrayTypeNode(n.type)&&isTypeReferenceNode(n.type.elementType))return n.type.elementType.typeName;if(!t){if((105===e.kind&&isNewExpression(n)||116===e.kind&&isVoidExpression(n)||114===e.kind&&isTypeOfExpression(n)||135===e.kind&&isAwaitExpression(n)||127===e.kind&&isYieldExpression(n)||91===e.kind&&isDeleteExpression(n))&&n.expression)return skipOuterExpressions(n.expression);if((103===e.kind||104===e.kind)&&isBinaryExpression(n)&&n.operatorToken===e)return skipOuterExpressions(n.right);if(130===e.kind&&isAsExpression(n)&&isTypeReferenceNode(n.type))return n.type.typeName;if(103===e.kind&&isForInStatement(n)||165===e.kind&&isForOfStatement(n))return skipOuterExpressions(n.expression)}return e}function getAdjustedReferenceLocation(e){return getAdjustedLocation(e,!1)}function getAdjustedRenameLocation(e){return getAdjustedLocation(e,!0)}function getTouchingPropertyName(e,t){return getTouchingToken(e,t,e=>isPropertyNameLiteral(e)||isKeyword(e.kind)||isPrivateIdentifier(e))}function getTouchingToken(e,t,n){return getTokenAtPositionWorker(e,t,!1,n,!1)}function getTokenAtPosition(e,t){return getTokenAtPositionWorker(e,t,!0,void 0,!1)}function getTokenAtPositionWorker(e,t,n,r,i){let o,a=e;for(;;){const i=a.getChildren(e),s=binarySearchKey(i,t,(e,t)=>t,(o,a)=>{const s=i[o].getEnd();if(s<t)return-1;const c=n?i[o].getFullStart():i[o].getStart(e,!0);return c>t?1:nodeContainsPosition(i[o],c,s)?i[o-1]&&nodeContainsPosition(i[o-1])?1:0:r&&c===t&&i[o-1]&&i[o-1].getEnd()===t&&nodeContainsPosition(i[o-1])?1:-1});if(o)return o;if(!(s>=0&&i[s]))return a;a=i[s]}function nodeContainsPosition(a,s,c){if(c??(c=a.getEnd()),c<t)return!1;if(s??(s=n?a.getFullStart():a.getStart(e,!0)),s>t)return!1;if(t<c||t===c&&(1===a.kind||i))return!0;if(r&&c===t){const n=findPrecedingToken(t,e,a);if(n&&r(n))return o=n,!0}return!1}}function findFirstNonJsxWhitespaceToken(e,t){let n=getTokenAtPosition(e,t);for(;isWhiteSpaceOnlyJsxText(n);){const t=findNextToken(n,n.parent,e);if(!t)return;n=t}return n}function findTokenOnLeftOfPosition(e,t){const n=getTokenAtPosition(e,t);return isToken(n)&&t>n.getStart(e)&&t<n.getEnd()?n:findPrecedingToken(t,e)}function findNextToken(e,t,n){return function find2(t){if(isToken(t)&&t.pos===e.end)return t;return firstDefined(t.getChildren(n),t=>(t.pos<=e.pos&&t.end>e.end||t.pos===e.end)&&nodeHasTokens(t,n)?find2(t):void 0)}(t)}function findPrecedingToken(e,t,n,r){const i=function find2(i){if(isNonWhitespaceToken(i)&&1!==i.kind)return i;const o=i.getChildren(t),a=binarySearchKey(o,e,(e,t)=>t,(t,n)=>e<o[t].end?!o[t-1]||e>=o[t-1].end?0:1:-1);if(a>=0&&o[a]){const n=o[a];if(e<n.end){if(n.getStart(t,!r)>=e||!nodeHasTokens(n,t)||isWhiteSpaceOnlyJsxText(n)){const e=findRightmostChildNodeWithTokens(o,a,t,i.kind);return e?!r&&isJSDocCommentContainingNode(e)&&e.getChildren(t).length?find2(e):findRightmostToken(e,t):void 0}return find2(n)}}h.assert(void 0!==n||308===i.kind||1===i.kind||isJSDocCommentContainingNode(i));const s=findRightmostChildNodeWithTokens(o,o.length,t,i.kind);return s&&findRightmostToken(s,t)}(n||t);return h.assert(!(i&&isWhiteSpaceOnlyJsxText(i))),i}function isNonWhitespaceToken(e){return isToken(e)&&!isWhiteSpaceOnlyJsxText(e)}function findRightmostToken(e,t){if(isNonWhitespaceToken(e))return e;const n=e.getChildren(t);if(0===n.length)return e;const r=findRightmostChildNodeWithTokens(n,n.length,t,e.kind);return r&&findRightmostToken(r,t)}function findRightmostChildNodeWithTokens(e,t,n,r){for(let i=t-1;i>=0;i--){if(isWhiteSpaceOnlyJsxText(e[i]))0!==i||12!==r&&286!==r||h.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");else if(nodeHasTokens(e[i],n))return e[i]}}function isInString(e,t,n=findPrecedingToken(t,e)){if(n&&isStringTextContainingNode(n)){const r=n.getStart(e),i=n.getEnd();if(r<t&&t<i)return!0;if(t===i)return!!n.isUnterminated}return!1}function isInsideJsxElementOrAttribute(e,t){const n=getTokenAtPosition(e,t);return!!n&&(12===n.kind||(30===n.kind&&12===n.parent.kind||(30===n.kind&&295===n.parent.kind||(!(!n||20!==n.kind||295!==n.parent.kind)||31===n.kind&&288===n.parent.kind))))}function isWhiteSpaceOnlyJsxText(e){return isJsxText(e)&&e.containsOnlyTriviaWhiteSpaces}function isInTemplateString(e,t){const n=getTokenAtPosition(e,t);return isTemplateLiteralKind(n.kind)&&t>n.getStart(e)}function isInJSXText(e,t){const n=getTokenAtPosition(e,t);return!!isJsxText(n)||(!(19!==n.kind||!isJsxExpression(n.parent)||!isJsxElement(n.parent.parent))||!(30!==n.kind||!isJsxOpeningLikeElement(n.parent)||!isJsxElement(n.parent.parent)))}function isInsideJsxElement(e,t){return function isInsideJsxElementTraversal(n){for(;n;)if(n.kind>=286&&n.kind<=295||12===n.kind||30===n.kind||32===n.kind||80===n.kind||20===n.kind||19===n.kind||44===n.kind||31===n.kind)n=n.parent;else{if(285!==n.kind)return!1;if(t>n.getStart(e))return!0;n=n.parent}return!1}(getTokenAtPosition(e,t))}function findPrecedingMatchingToken(e,t,n){const r=tokenToString(e.kind),i=tokenToString(t),o=e.getFullStart(),a=n.text.lastIndexOf(i,o);if(-1===a)return;if(n.text.lastIndexOf(r,o-1)<a){const e=findPrecedingToken(a+1,n);if(e&&e.kind===t)return e}const s=e.kind;let c=0;for(;;){const r=findPrecedingToken(e.getFullStart(),n);if(!r)return;if((e=r).kind===t){if(0===c)return e;c--}else e.kind===s&&c++}}function isPossiblyTypeArgumentPosition(e,t,n){const r=getPossibleTypeArgumentsInfo(e,t);return void 0!==r&&(isPartOfTypeNode(r.called)||0!==getPossibleGenericSignatures(r.called,r.nTypeArguments,n).length||isPossiblyTypeArgumentPosition(r.called,t,n))}function getPossibleGenericSignatures(e,t,n){let r=n.getTypeAtLocation(e);isOptionalChain(e.parent)&&(r=function removeOptionality(e,t,n){return t?e.getNonNullableType():n?e.getNonOptionalType():e}(r,isOptionalChainRoot(e.parent),!0));return(isNewExpression(e.parent)?r.getConstructSignatures():r.getCallSignatures()).filter(e=>!!e.typeParameters&&e.typeParameters.length>=t)}function getPossibleTypeArgumentsInfo(e,t){if(-1===t.text.lastIndexOf("<",e?e.pos:t.text.length))return;let n=e,r=0,i=0;for(;n;){switch(n.kind){case 30:if(n=findPrecedingToken(n.getFullStart(),t),n&&29===n.kind&&(n=findPrecedingToken(n.getFullStart(),t)),!n||!isIdentifier(n))return;if(!r)return isDeclarationName(n)?void 0:{called:n,nTypeArguments:i};r--;break;case 50:r=3;break;case 49:r=2;break;case 32:r++;break;case 20:if(n=findPrecedingMatchingToken(n,19,t),!n)return;break;case 22:if(n=findPrecedingMatchingToken(n,21,t),!n)return;break;case 24:if(n=findPrecedingMatchingToken(n,23,t),!n)return;break;case 28:i++;break;case 39:case 80:case 11:case 9:case 10:case 112:case 97:case 114:case 96:case 143:case 25:case 52:case 58:case 59:break;default:if(isTypeNode(n))break;return}n=findPrecedingToken(n.getFullStart(),t)}}function isInComment(e,t,n){return r_.getRangeOfEnclosingComment(e,t,void 0,n)}function hasDocComment(e,t){return!!findAncestor(getTokenAtPosition(e,t),isJSDoc)}function nodeHasTokens(e,t){return 1===e.kind?!!e.jsDoc:0!==e.getWidth(t)}function getNodeModifiers(e,t=0){const n=[],r=isDeclaration(e)?getCombinedNodeFlagsAlwaysIncludeJSDoc(e)&~t:0;return 2&r&&n.push("private"),4&r&&n.push("protected"),1&r&&n.push("public"),(256&r||isClassStaticBlockDeclaration(e))&&n.push("static"),64&r&&n.push("abstract"),32&r&&n.push("export"),65536&r&&n.push("deprecated"),33554432&e.flags&&n.push("declare"),278===e.kind&&n.push("export"),n.length>0?n.join(","):""}function getTypeArgumentOrTypeParameterList(e){return 184===e.kind||214===e.kind?e.typeArguments:isFunctionLike(e)||264===e.kind||265===e.kind?e.typeParameters:void 0}function isComment(e){return 2===e||3===e}function isStringOrRegularExpressionOrTemplateLiteral(e){return!(11!==e&&14!==e&&!isTemplateLiteralKind(e))}function areIntersectedTypesAvoidingStringReduction(e,t,n){return!!(4&t.flags)&&e.isEmptyAnonymousObjectType(n)}function isStringAndEmptyAnonymousObjectIntersection(e){if(!e.isIntersection())return!1;const{types:t,checker:n}=e;return 2===t.length&&(areIntersectedTypesAvoidingStringReduction(n,t[0],t[1])||areIntersectedTypesAvoidingStringReduction(n,t[1],t[0]))}function isInsideTemplateLiteral(e,t,n){return isTemplateLiteralKind(e.kind)&&e.getStart(n)<t&&t<e.end||!!e.isUnterminated&&t===e.end}function isAccessibilityModifier(e){switch(e){case 125:case 123:case 124:return!0}return!1}function cloneCompilerOptions(e){const t=clone(e);return setConfigFileInOptions(t,e&&e.configFile),t}function isArrayLiteralOrObjectLiteralDestructuringPattern(e){if(210===e.kind||211===e.kind){if(227===e.parent.kind&&e.parent.left===e&&64===e.parent.operatorToken.kind)return!0;if(251===e.parent.kind&&e.parent.initializer===e)return!0;if(isArrayLiteralOrObjectLiteralDestructuringPattern(304===e.parent.kind?e.parent.parent:e.parent))return!0}return!1}function isInReferenceComment(e,t){return isInReferenceCommentWorker(e,t,!0)}function isInNonReferenceComment(e,t){return isInReferenceCommentWorker(e,t,!1)}function isInReferenceCommentWorker(e,t,n){const r=isInComment(e,t,void 0);return!!r&&n===Hs.test(e.text.substring(r.pos,r.end))}function getReplacementSpanForContextToken(e,t){if(e)switch(e.kind){case 11:case 15:return createTextSpanFromStringLiteralLikeContent(e,t);default:return createTextSpanFromNode(e)}}function createTextSpanFromNode(e,t,n){return createTextSpanFromBounds(e.getStart(t),(n||e).getEnd())}function createTextSpanFromStringLiteralLikeContent(e,t){let n=e.getEnd()-1;if(e.isUnterminated){if(e.getStart()===n)return;n=Math.min(t,e.getEnd())}return createTextSpanFromBounds(e.getStart()+1,n)}function createTextRangeFromNode(e,t){return createRange(e.getStart(t),e.end)}function createTextSpanFromRange(e){return createTextSpanFromBounds(e.pos,e.end)}function createTextRangeFromSpan(e){return createRange(e.start,e.start+e.length)}function createTextChangeFromStartLength(e,t,n){return createTextChange(createTextSpan(e,t),n)}function createTextChange(e,t){return{span:e,newText:t}}var Ks=[133,131,163,136,97,140,143,146,106,150,151,148,154,155,114,112,116,157,158,159];function isTypeKeyword(e){return contains(Ks,e)}function isTypeKeywordToken(e){return 156===e.kind}function isTypeKeywordTokenOrIdentifier(e){return isTypeKeywordToken(e)||isIdentifier(e)&&"type"===e.text}function nodeSeenTracker(){const e=[];return t=>{const n=getNodeId(t);return!e[n]&&(e[n]=!0)}}function getSnapshotText(e){return e.getText(0,e.getLength())}function repeatString(e,t){let n="";for(let r=0;r<t;r++)n+=e;return n}function skipConstraint(e){return e.isTypeParameter()&&e.getConstraint()||e}function getNameFromPropertyName(e){return 168===e.kind?isStringOrNumericLiteralLike(e.expression)?e.expression.text:void 0:isPrivateIdentifier(e)?idText(e):getTextOfIdentifierOrLiteral(e)}function programContainsModules(e){return e.getSourceFiles().some(t=>!(t.isDeclarationFile||e.isSourceFileFromExternalLibrary(t)||!t.externalModuleIndicator&&!t.commonJsModuleIndicator))}function programContainsEsModules(e){return e.getSourceFiles().some(t=>!t.isDeclarationFile&&!e.isSourceFileFromExternalLibrary(t)&&!!t.externalModuleIndicator)}function compilerOptionsIndicateEsModules(e){return!!e.module||zn(e)>=2||!!e.noEmit}function createModuleSpecifierResolutionHost(e,t){return{fileExists:t=>e.fileExists(t),getCurrentDirectory:()=>t.getCurrentDirectory(),readFile:maybeBind(t,t.readFile),useCaseSensitiveFileNames:maybeBind(t,t.useCaseSensitiveFileNames)||e.useCaseSensitiveFileNames,getSymlinkCache:maybeBind(t,t.getSymlinkCache)||e.getSymlinkCache,getModuleSpecifierCache:maybeBind(t,t.getModuleSpecifierCache),getPackageJsonInfoCache:()=>{var t;return null==(t=e.getModuleResolutionCache())?void 0:t.getPackageJsonInfoCache()},getGlobalTypingsCacheLocation:maybeBind(t,t.getGlobalTypingsCacheLocation),redirectTargetsMap:e.redirectTargetsMap,getRedirectFromSourceFile:t=>e.getRedirectFromSourceFile(t),isSourceOfProjectReferenceRedirect:t=>e.isSourceOfProjectReferenceRedirect(t),getNearestAncestorDirectoryWithPackageJson:maybeBind(t,t.getNearestAncestorDirectoryWithPackageJson),getFileIncludeReasons:()=>e.getFileIncludeReasons(),getCommonSourceDirectory:()=>e.getCommonSourceDirectory(),getDefaultResolutionModeForFile:t=>e.getDefaultResolutionModeForFile(t),getModeForResolutionAtIndex:(t,n)=>e.getModeForResolutionAtIndex(t,n)}}function getModuleSpecifierResolverHost(e,t){return{...createModuleSpecifierResolutionHost(e,t),getCommonSourceDirectory:()=>e.getCommonSourceDirectory()}}function moduleResolutionUsesNodeModules(e){return 2===e||e>=3&&e<=99||100===e}function makeImport(e,t,n,r,i){return Wr.createImportDeclaration(void 0,e||t?Wr.createImportClause(i?156:void 0,e,t&&t.length?Wr.createNamedImports(t):void 0):void 0,"string"==typeof n?makeStringLiteral(n,r):n,void 0)}function makeStringLiteral(e,t){return Wr.createStringLiteral(e,0===t)}var Gs=(e=>(e[e.Single=0]="Single",e[e.Double=1]="Double",e))(Gs||{});function quotePreferenceFromString(e,t){return isStringDoubleQuoted(e,t)?1:0}function getQuotePreference(e,t){if(t.quotePreference&&"auto"!==t.quotePreference)return"single"===t.quotePreference?0:1;{const t=isFullSourceFile(e)&&e.imports&&find(e.imports,e=>isStringLiteral(e)&&!nodeIsSynthesized(e.parent));return t?quotePreferenceFromString(t,e):1}}function getQuoteFromPreference(e){switch(e){case 0:return"'";case 1:return'"';default:return h.assertNever(e)}}function symbolNameNoDefault(e){const t=symbolEscapedNameNoDefault(e);return void 0===t?void 0:unescapeLeadingUnderscores(t)}function symbolEscapedNameNoDefault(e){return"default"!==e.escapedName?e.escapedName:firstDefined(e.declarations,e=>{const t=getNameOfDeclaration(e);return t&&80===t.kind?t.escapedText:void 0})}function isModuleSpecifierLike(e){return isStringLiteralLike(e)&&(isExternalModuleReference(e.parent)||isImportDeclaration(e.parent)||isJSDocImportTag(e.parent)||isRequireCall(e.parent,!1)&&e.parent.arguments[0]===e||isImportCall(e.parent)&&e.parent.arguments[0]===e)}function isObjectBindingElementWithoutPropertyName(e){return isBindingElement(e)&&isObjectBindingPattern(e.parent)&&isIdentifier(e.name)&&!e.propertyName}function getPropertySymbolFromBindingElement(e,t){const n=e.getTypeAtLocation(t.parent);return n&&e.getPropertyOfType(n,t.name.text)}function getParentNodeInSpan(e,t,n){if(e)for(;e.parent;){if(isSourceFile(e.parent)||!spanContainsNode(n,e.parent,t))return e;e=e.parent}}function spanContainsNode(e,t,n){return textSpanContainsPosition(e,t.getStart(n))&&t.getEnd()<=textSpanEnd(e)}function findModifier(e,t){return canHaveModifiers(e)?find(e.modifiers,e=>e.kind===t):void 0}function insertImports(e,t,n,r,i){var o;const a=244===(isArray(n)?n[0]:n).kind?isRequireVariableStatement:isAnyImportSyntax,s=filter(t.statements,a),{comparer:c,isSorted:l}=Bm.getOrganizeImportsStringComparerWithDetection(s,i),d=isArray(n)?toSorted(n,(e,t)=>Bm.compareImportsOrRequireStatements(e,t,c)):[n];if(null==s?void 0:s.length)if(h.assert(isFullSourceFile(t)),s&&l)for(const n of d){const r=Bm.getImportDeclarationInsertionIndex(s,n,c);if(0===r){const r=s[0]===t.statements[0]?{leadingTriviaOption:$m.LeadingTriviaOption.Exclude}:{};e.insertNodeBefore(t,s[0],n,!1,r)}else{const i=s[r-1];e.insertNodeAfter(t,i,n)}}else{const n=lastOrUndefined(s);n?e.insertNodesAfter(t,n,d):e.insertNodesAtTopOfFile(t,d,r)}else if(isFullSourceFile(t))e.insertNodesAtTopOfFile(t,d,r);else for(const n of d)e.insertStatementsInNewFile(t.fileName,[n],null==(o=getOriginalNode(n))?void 0:o.getSourceFile())}function getTypeKeywordOfTypeOnlyImport(e,t){return h.assert(e.isTypeOnly),cast(e.getChildAt(0,t),isTypeKeywordToken)}function textSpansEqual(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function documentSpansEqual(e,t,n){return(n?equateStringsCaseSensitive:equateStringsCaseInsensitive)(e.fileName,t.fileName)&&textSpansEqual(e.textSpan,t.textSpan)}function getDocumentSpansEqualityComparer(e){return(t,n)=>documentSpansEqual(t,n,e)}function forEachUnique(e,t){if(e)for(let n=0;n<e.length;n++)if(e.indexOf(e[n])===n){const r=t(e[n],n);if(r)return r}}function isTextWhiteSpaceLike(e,t,n){for(let r=t;r<n;r++)if(!isWhiteSpaceLike(e.charCodeAt(r)))return!1;return!0}function getMappedLocation(e,t,n){const r=t.tryGetSourcePosition(e);return r&&(!n||n(normalizePath(r.fileName))?r:void 0)}function getMappedDocumentSpan(e,t,n){const{fileName:r,textSpan:i}=e,o=getMappedLocation({fileName:r,pos:i.start},t,n);if(!o)return;const a=getMappedLocation({fileName:r,pos:i.start+i.length},t,n),s=a?a.pos-o.pos:i.length;return{fileName:o.fileName,textSpan:{start:o.pos,length:s},originalFileName:e.fileName,originalTextSpan:e.textSpan,contextSpan:getMappedContextSpan(e,t,n),originalContextSpan:e.contextSpan}}function getMappedContextSpan(e,t,n){const r=e.contextSpan&&getMappedLocation({fileName:e.fileName,pos:e.contextSpan.start},t,n),i=e.contextSpan&&getMappedLocation({fileName:e.fileName,pos:e.contextSpan.start+e.contextSpan.length},t,n);return r&&i?{start:r.pos,length:i.pos-r.pos}:void 0}function isFirstDeclarationOfSymbolParameter(e){return!!findAncestor(e.declarations?firstOrUndefined(e.declarations):void 0,e=>!!isParameter(e)||!(isBindingElement(e)||isObjectBindingPattern(e)||isArrayBindingPattern(e))&&"quit")}var $s=new Map;function getDisplayPartWriter(e){return e=e||cn,$s.has(e)||$s.set(e,function getDisplayPartWriterWorker(e){const t=10*e;let n,r,i,o;resetWriter();const unknownWrite=e=>writeKind(e,17);return{displayParts:()=>{const e=n.length&&n[n.length-1].text;return o>t&&e&&"..."!==e&&(isWhiteSpaceLike(e.charCodeAt(e.length-1))||n.push(displayPart(" ",16)),n.push(displayPart("...",15))),n},writeKeyword:e=>writeKind(e,5),writeOperator:e=>writeKind(e,12),writePunctuation:e=>writeKind(e,15),writeTrailingSemicolon:e=>writeKind(e,15),writeSpace:e=>writeKind(e,16),writeStringLiteral:e=>writeKind(e,8),writeParameter:e=>writeKind(e,13),writeProperty:e=>writeKind(e,14),writeLiteral:e=>writeKind(e,8),writeSymbol,writeLine,write:unknownWrite,writeComment:unknownWrite,getText:()=>"",getTextPos:()=>0,getColumn:()=>0,getLine:()=>0,isAtStartOfLine:()=>!1,hasTrailingWhitespace:()=>!1,hasTrailingComment:()=>!1,rawWrite:notImplemented,getIndent:()=>i,increaseIndent:()=>{i++},decreaseIndent:()=>{i--},clear:resetWriter};function writeIndent(){if(!(o>t)&&r){const e=getIndentString(i);e&&(o+=e.length,n.push(displayPart(e,16))),r=!1}}function writeKind(e,r){o>t||(writeIndent(),o+=e.length,n.push(displayPart(e,r)))}function writeSymbol(e,r){o>t||(writeIndent(),o+=e.length,n.push(function symbolPart(e,t){return displayPart(e,displayPartKind(t));function displayPartKind(e){const t=e.flags;return 3&t?isFirstDeclarationOfSymbolParameter(e)?13:9:4&t||32768&t||65536&t?14:8&t?19:16&t?20:32&t?1:64&t?4:384&t?2:1536&t?11:8192&t?10:262144&t?18:524288&t||2097152&t?0:17}}(e,r)))}function writeLine(){o>t||(o+=1,n.push(lineBreakPart()),r=!0)}function resetWriter(){n=[],r=!0,i=0,o=0}}(e)),$s.get(e)}function displayPart(e,t){return{text:e,kind:ws[t]}}function spacePart(){return displayPart(" ",16)}function keywordPart(e){return displayPart(tokenToString(e),5)}function punctuationPart(e){return displayPart(tokenToString(e),15)}function operatorPart(e){return displayPart(tokenToString(e),12)}function parameterNamePart(e){return displayPart(e,13)}function propertyNamePart(e){return displayPart(e,14)}function textOrKeywordPart(e){const t=stringToToken(e);return void 0===t?textPart(e):keywordPart(t)}function textPart(e){return displayPart(e,17)}function typeAliasNamePart(e){return displayPart(e,0)}function typeParameterNamePart(e){return displayPart(e,18)}function linkTextPart(e){return displayPart(e,24)}function linkPart(e){return displayPart(e,22)}function buildLinkParts(e,t){var n;const r=[linkPart(`{@${isJSDocLink(e)?"link":isJSDocLinkCode(e)?"linkcode":"linkplain"} `)];if(e.name){const i=null==t?void 0:t.getSymbolAtLocation(e.name),o=i&&t?getSymbolTarget(i,t):void 0,a=function findLinkNameEnd(e){let t=e.indexOf("://");if(0===t){for(;t<e.length&&124!==e.charCodeAt(t);)t++;return t}if(0===e.indexOf("()"))return 2;if("<"===e.charAt(0)){let t=0,n=0;for(;n<e.length;)if("<"===e[n]&&t++,">"===e[n]&&t--,n++,!t)return n}return 0}(e.text),s=getTextOfNode(e.name)+e.text.slice(0,a),c=function skipSeparatorFromLinkText(e){let t=0;if(124===e.charCodeAt(t++)){for(;t<e.length&&32===e.charCodeAt(t);)t++;return e.slice(t)}return e}(e.text.slice(a)),l=(null==o?void 0:o.valueDeclaration)||(null==(n=null==o?void 0:o.declarations)?void 0:n[0]);if(l)r.push(function linkNamePart(e,t){return{text:e,kind:ws[23],target:{fileName:getSourceFileOfNode(t).fileName,textSpan:createTextSpanFromNode(t)}}}(s,l)),c&&r.push(linkTextPart(c));else{const t=0===a||124===e.text.charCodeAt(a)&&32!==s.charCodeAt(s.length-1)?" ":"";r.push(linkTextPart(s+t+c))}}else e.text&&r.push(linkTextPart(e.text));return r.push(linkPart("}")),r}var Qs="\n";function getNewLineOrDefaultFromHost(e,t){var n;return(null==t?void 0:t.newLineCharacter)||(null==(n=e.getNewLine)?void 0:n.call(e))||Qs}function lineBreakPart(){return displayPart("\n",6)}function mapToDisplayParts(e,t){const n=getDisplayPartWriter(t);try{return e(n),n.displayParts()}finally{n.clear()}}function typeToDisplayParts(e,t,n,r=0,i,o,a){return mapToDisplayParts(s=>{e.writeType(t,n,17408|r,s,i,o,a)},i)}function symbolToDisplayParts(e,t,n,r,i=0){return mapToDisplayParts(o=>{e.writeSymbol(t,n,r,8|i,o)})}function signatureToDisplayParts(e,t,n,r=0,i,o,a){return r|=25632,mapToDisplayParts(s=>{e.writeSignature(t,n,r,void 0,s,i,o,a)},i)}function isImportOrExportSpecifierName(e){return!!e.parent&&isImportOrExportSpecifier(e.parent)&&e.parent.propertyName===e}function getScriptKind(e,t){return ensureScriptKind(e,t.getScriptKind&&t.getScriptKind(e))}function getSymbolTarget(e,t){let n=e;for(;isAliasSymbol(n)||isTransientSymbol(n)&&n.links.target;)n=isTransientSymbol(n)&&n.links.target?n.links.target:skipAlias(n,t);return n}function isAliasSymbol(e){return!!(2097152&e.flags)}function getUniqueSymbolId(e,t){return getSymbolId(skipAlias(e,t))}function getFirstNonSpaceCharacterPosition(e,t){for(;isWhiteSpaceLike(e.charCodeAt(t));)t+=1;return t}function getPrecedingNonSpaceCharacterPosition(e,t){for(;t>-1&&isWhiteSpaceSingleLine(e.charCodeAt(t));)t-=1;return t+1}function copyComments(e,t){const n=e.getSourceFile();!function hasLeadingLineBreak(e,t){const n=e.getFullStart(),r=e.getStart();for(let e=n;e<r;e++)if(10===t.charCodeAt(e))return!0;return!1}(e,n.text)?copyTrailingAsLeadingComments(e,t,n):copyLeadingComments(e,t,n),copyTrailingComments(e,t,n)}function getUniqueName(e,t){let n=e;for(let r=1;!isFileLevelUniqueName(t,n);r++)n=`${e}_${r}`;return n}function getRenameLocation(e,t,n,r){let i=0,o=-1;for(const{fileName:a,textChanges:s}of e){h.assert(a===t);for(const e of s){const{span:t,newText:a}=e,s=indexInTextChange(a,escapeString(n));if(-1!==s&&(o=t.start+i+s,!r))return o;i+=a.length-t.length}}return h.assert(r),h.assert(o>=0),o}function copyLeadingComments(e,t,n,r,i){forEachLeadingCommentRange(n.text,e.pos,getAddCommentsFunction(t,n,r,i,addSyntheticLeadingComment))}function copyTrailingComments(e,t,n,r,i){forEachTrailingCommentRange(n.text,e.end,getAddCommentsFunction(t,n,r,i,addSyntheticTrailingComment))}function copyTrailingAsLeadingComments(e,t,n,r,i){forEachTrailingCommentRange(n.text,e.pos,getAddCommentsFunction(t,n,r,i,addSyntheticLeadingComment))}function getAddCommentsFunction(e,t,n,r,i){return(o,a,s,c)=>{3===s?(o+=2,a-=2):o+=2,i(e,n||s,t.text.slice(o,a),void 0!==r?r:c)}}function indexInTextChange(e,t){if(startsWith(e,t))return 0;let n=e.indexOf(" "+t);return-1===n&&(n=e.indexOf("."+t)),-1===n&&(n=e.indexOf('"'+t)),-1===n?-1:n+1}function needsParentheses(e){return isBinaryExpression(e)&&28===e.operatorToken.kind||isObjectLiteralExpression(e)||(isAsExpression(e)||isSatisfiesExpression(e))&&isObjectLiteralExpression(e.expression)}function getContextualTypeFromParent(e,t,n){const r=walkUpParenthesizedExpressions(e.parent);switch(r.kind){case 215:return t.getContextualType(r,n);case 227:{const{left:i,operatorToken:o,right:a}=r;return isEqualityOperatorKind(o.kind)?t.getTypeAtLocation(e===a?i:a):t.getContextualType(e,n)}case 297:return getSwitchedType(r,t);default:return t.getContextualType(e,n)}}function quote(e,t,n){const r=getQuotePreference(e,t),i=JSON.stringify(n);return 0===r?`'${stripQuotes(i).replace(/'/g,()=>"\\'").replace(/\\"/g,'"')}'`:i}function isEqualityOperatorKind(e){switch(e){case 37:case 35:case 38:case 36:return!0;default:return!1}}function isStringLiteralOrTemplate(e){switch(e.kind){case 11:case 15:case 229:case 216:return!0;default:return!1}}function hasIndexSignature(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()}function getSwitchedType(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}var Xs="anonymous function";function getTypeNodeIfAccessible(e,t,n,r){const i=n.getTypeChecker();let o=!0;const notAccessible=()=>o=!1,a=i.typeToTypeNode(e,t,1,8,{trackSymbol:(e,t,n)=>(o=o&&0===i.isSymbolAccessible(e,t,n,!1).accessibility,!o),reportInaccessibleThisError:notAccessible,reportPrivateInBaseOfClassExpression:notAccessible,reportInaccessibleUniqueSymbolError:notAccessible,moduleResolverHost:getModuleSpecifierResolverHost(n,r)});return o?a:void 0}function syntaxRequiresTrailingCommaOrSemicolonOrASI(e){return 180===e||181===e||182===e||172===e||174===e}function syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI(e){return 263===e||177===e||175===e||178===e||179===e}function syntaxRequiresTrailingModuleBlockOrSemicolonOrASI(e){return 268===e}function syntaxRequiresTrailingSemicolonOrASI(e){return 244===e||245===e||247===e||252===e||253===e||254===e||258===e||260===e||173===e||266===e||273===e||272===e||279===e||271===e||278===e}var Ys=or(syntaxRequiresTrailingCommaOrSemicolonOrASI,syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI,syntaxRequiresTrailingModuleBlockOrSemicolonOrASI,syntaxRequiresTrailingSemicolonOrASI);function positionIsASICandidate(e,t,n){const r=findAncestor(t,t=>t.end!==e?"quit":Ys(t.kind));return!!r&&function nodeIsASICandidate(e,t){const n=e.getLastToken(t);if(n&&27===n.kind)return!1;if(syntaxRequiresTrailingCommaOrSemicolonOrASI(e.kind)){if(n&&28===n.kind)return!1}else if(syntaxRequiresTrailingModuleBlockOrSemicolonOrASI(e.kind)){const n=last(e.getChildren(t));if(n&&isModuleBlock(n))return!1}else if(syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI(e.kind)){const n=last(e.getChildren(t));if(n&&isFunctionBlock(n))return!1}else if(!syntaxRequiresTrailingSemicolonOrASI(e.kind))return!1;if(247===e.kind)return!0;const r=findNextToken(e,findAncestor(e,e=>!e.parent),t);return!r||20===r.kind||t.getLineAndCharacterOfPosition(e.getEnd()).line!==t.getLineAndCharacterOfPosition(r.getStart(t)).line}(r,n)}function probablyUsesSemicolons(e){let t=0,n=0;return forEachChild(e,function visit(r){if(syntaxRequiresTrailingSemicolonOrASI(r.kind)){const i=r.getLastToken(e);27===(null==i?void 0:i.kind)?t++:n++}else if(syntaxRequiresTrailingCommaOrSemicolonOrASI(r.kind)){const i=r.getLastToken(e);if(27===(null==i?void 0:i.kind))t++;else if(i&&28!==i.kind){getLineAndCharacterOfPosition(e,i.getStart(e)).line!==getLineAndCharacterOfPosition(e,getSpanOfTokenAtPosition(e,i.end).start).line&&n++}}return t+n>=5||forEachChild(r,visit)}),0===t&&n<=1||t/n>.2}function tryGetDirectories(e,t){return tryIOAndConsumeErrors(e,e.getDirectories,t)||[]}function tryReadDirectory(e,t,n,r,i){return tryIOAndConsumeErrors(e,e.readDirectory,t,n,r,i)||l}function tryFileExists(e,t){return tryIOAndConsumeErrors(e,e.fileExists,t)}function tryDirectoryExists(e,t){return tryAndIgnoreErrors(()=>directoryProbablyExists(t,e))||!1}function tryAndIgnoreErrors(e){try{return e()}catch{return}}function tryIOAndConsumeErrors(e,t,...n){return tryAndIgnoreErrors(()=>t&&t.apply(e,n))}function findPackageJsons(e,t){const n=[];return forEachAncestorDirectoryStoppingAtGlobalCache(t,e,e=>{const r=combinePaths(e,"package.json");tryFileExists(t,r)&&n.push(r)}),n}function findPackageJson(e,t){let n;return forEachAncestorDirectoryStoppingAtGlobalCache(t,e,e=>"node_modules"===e||(n=findConfigFile(e,e=>tryFileExists(t,e),"package.json"),!!n||void 0)),n}function createPackageJsonInfo(e,t){if(!t.readFile)return;const n=["dependencies","devDependencies","optionalDependencies","peerDependencies"],r=tryParseJson(t.readFile(e)||""),i={};if(r)for(const e of n){const t=r[e];if(!t)continue;const n=new Map;for(const e in t)n.set(e,t[e]);i[e]=n}const o=[[1,i.dependencies],[2,i.devDependencies],[8,i.optionalDependencies],[4,i.peerDependencies]];return{...i,parseable:!!r,fileName:e,get,has:(e,t)=>!!get(e,t)};function get(e,t=15){for(const[n,r]of o)if(r&&t&n){const t=r.get(e);if(void 0!==t)return t}}}function createPackageJsonImportFilter(e,t,n){const r=(n.getPackageJsonsVisibleToFile&&n.getPackageJsonsVisibleToFile(e.fileName)||function getPackageJsonsVisibleToFile(e,t){if(!t.fileExists)return[];const n=[];return forEachAncestorDirectoryStoppingAtGlobalCache(t,getDirectoryPath(e),e=>{const r=combinePaths(e,"package.json");if(t.fileExists(r)){const e=createPackageJsonInfo(r,t);e&&n.push(e)}}),n}(e.fileName,n)).filter(e=>e.parseable);let i,o,a;return{allowsImportingAmbientModule:function allowsImportingAmbientModule(e,t){if(!r.length||!e.valueDeclaration)return!0;if(o){const t=o.get(e);if(void 0!==t)return t}else o=new Map;const n=stripQuotes(e.getName());if(isAllowedCoreNodeModulesImport(n))return o.set(e,!0),!0;const i=getNodeModulesPackageNameFromFileName(e.valueDeclaration.getSourceFile().fileName,t);if(void 0===i)return o.set(e,!0),!0;const a=moduleSpecifierIsCoveredByPackageJson(i)||moduleSpecifierIsCoveredByPackageJson(n);return o.set(e,a),a},getSourceFileInfo:function getSourceFileInfo(e,t){if(!r.length)return{importable:!0,packageName:void 0};if(a){const t=a.get(e);if(void 0!==t)return t}else a=new Map;const n=getNodeModulesPackageNameFromFileName(e.fileName,t);if(!n){const t={importable:!0,packageName:n};return a.set(e,t),t}const i={importable:moduleSpecifierIsCoveredByPackageJson(n),packageName:n};return a.set(e,i),i},allowsImportingSpecifier:function allowsImportingSpecifier(e){if(!r.length||isAllowedCoreNodeModulesImport(e))return!0;if(pathIsRelative(e)||isRootedDiskPath(e))return!0;return moduleSpecifierIsCoveredByPackageJson(e)}};function moduleSpecifierIsCoveredByPackageJson(e){const t=getNodeModuleRootSpecifier(e);for(const e of r)if(e.has(t)||e.has(getTypesPackageName(t)))return!0;return!1}function isAllowedCoreNodeModulesImport(t){return!!(isFullSourceFile(e)&&isSourceFileJS(e)&&Ir.has(t)&&(void 0===i&&(i=consumesNodeCoreModules(e)),i))}function getNodeModulesPackageNameFromFileName(r,i){if(!r.includes("node_modules"))return;const o=Wo.getNodeModulesPackageName(n.getCompilationSettings(),e,r,i,t);return o?pathIsRelative(o)||isRootedDiskPath(o)?void 0:getNodeModuleRootSpecifier(o):void 0}function getNodeModuleRootSpecifier(e){const t=getPathComponents(getPackageNameFromTypesPackageName(e)).slice(1);return startsWith(t[0],"@")?`${t[0]}/${t[1]}`:t[0]}}function consumesNodeCoreModules(e){return some(e.imports,({text:e})=>Ir.has(e))}function isInsideNodeModules(e){return contains(getPathComponents(e),"node_modules")}function isDiagnosticWithLocation(e){return void 0!==e.file&&void 0!==e.start&&void 0!==e.length}function findDiagnosticForNode(e,t){const n=binarySearchKey(t,createTextSpanFromNode(e),identity,compareTextSpans);if(n>=0){const r=t[n];return h.assertEqual(r.file,e.getSourceFile(),"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"),cast(r,isDiagnosticWithLocation)}}function getDiagnosticsWithinSpan(e,t){var n;let r=binarySearchKey(t,e.start,e=>e.start,compareValues);for(r<0&&(r=~r);(null==(n=t[r-1])?void 0:n.start)===e.start;)r--;const i=[],o=textSpanEnd(e);for(;;){const n=tryCast(t[r],isDiagnosticWithLocation);if(!n||n.start>o)break;textSpanContainsTextSpan(e,n)&&i.push(n),r++}return i}function getRefactorContextSpan({startPosition:e,endPosition:t}){return createTextSpanFromBounds(e,void 0===t?e:t)}function getFixableErrorSpanExpression(e,t){return findAncestor(getTokenAtPosition(e,t.start),n=>n.getStart(e)<t.start||n.getEnd()>textSpanEnd(t)?"quit":isExpression(n)&&textSpansEqual(t,createTextSpanFromNode(n,e)))}function mapOneOrMany(e,t,n=identity){return e?isArray(e)?n(map(e,t)):t(e,0):void 0}function firstOrOnly(e){return isArray(e)?first(e):e}function getNameForExportedSymbol(e,t,n){return"export="===e.escapedName||"default"===e.escapedName?getDefaultLikeExportNameFromDeclaration(e)||moduleSymbolToValidIdentifier(function getSymbolParentOrFail(e){var t;return h.checkDefined(e.parent,`Symbol parent was undefined. Flags: ${h.formatSymbolFlags(e.flags)}. Declarations: ${null==(t=e.declarations)?void 0:t.map(e=>{const t=h.formatSyntaxKind(e.kind),n=isInJSFile(e),{expression:r}=e;return(n?"[JS]":"")+t+(r?` (expression: ${h.formatSyntaxKind(r.kind)})`:"")}).join(", ")}.`)}(e),t,!!n):e.name}function getDefaultLikeExportNameFromDeclaration(e){return firstDefined(e.declarations,t=>{var n,r,i;if(isExportAssignment(t))return null==(n=tryCast(skipOuterExpressions(t.expression),isIdentifier))?void 0:n.text;if(isExportSpecifier(t)&&2097152===t.symbol.flags)return null==(r=tryCast(t.propertyName,isIdentifier))?void 0:r.text;const o=null==(i=tryCast(getNameOfDeclaration(t),isIdentifier))?void 0:i.text;return o||(e.parent&&!isExternalModuleSymbol(e.parent)?e.parent.getName():void 0)})}function moduleSymbolToValidIdentifier(e,t,n){return moduleSpecifierToValidIdentifier(removeFileExtension(stripQuotes(e.name)),t,n)}function moduleSpecifierToValidIdentifier(e,t,n){const r=getBaseFileName(removeSuffix(removeFileExtension(e),"/index"));let i="",o=!0;const a=r.charCodeAt(0);isIdentifierStart(a,t)?(i+=String.fromCharCode(a),n&&(i=i.toUpperCase())):o=!1;for(let e=1;e<r.length;e++){const n=r.charCodeAt(e),a=isIdentifierPart(n,t);if(a){let e=String.fromCharCode(n);o||(e=e.toUpperCase()),i+=e}o=a}return isStringANonContextualKeyword(i)?`_${i}`:i||"_"}function stringContainsAt(e,t,n){const r=t.length;if(r+n>e.length)return!1;for(let i=0;i<r;i++)if(t.charCodeAt(i)!==e.charCodeAt(i+n))return!1;return!0}function startsWithUnderscore(e){return 95===e.charCodeAt(0)}function isDeprecatedDeclaration(e){return!!(65536&getCombinedNodeFlagsAlwaysIncludeJSDoc(e))}function shouldUseUriStyleNodeCoreModules(e,t){let n;for(const t of e.imports)if(Ir.has(t.text)&&!Dr.has(t.text)){if(startsWith(t.text,"node:"))return!0;n=!1}return n??t.usesUriStyleNodeCoreModules}function getNewLineKind(e){return"\n"===e?1:0}function diagnosticToString(e){return isArray(e)?formatStringFromArgs(getLocaleSpecificMessage(e[0]),e.slice(1)):getLocaleSpecificMessage(e)}function getFormatCodeSettingsForWriting({options:e},t){const n=!e.semicolons||"ignore"===e.semicolons,r="remove"===e.semicolons||n&&!probablyUsesSemicolons(t);return{...e,semicolons:r?"remove":"ignore"}}function jsxModeNeedsExplicitImport(e){return 2===e||3===e}function isSourceFileFromLibrary(e,t){return e.isSourceFileFromExternalLibrary(t)||e.isSourceFileDefaultLibrary(t)}function newCaseClauseTracker(e,t){const n=new Set,r=new Set,i=new Set;for(const o of t)if(!isDefaultClause(o)){const t=skipParentheses(o.expression);if(isLiteralExpression(t))switch(t.kind){case 15:case 11:n.add(t.text);break;case 9:r.add(parseInt(t.text));break;case 10:const e=parseBigInt(endsWith(t.text,"n")?t.text.slice(0,-1):t.text);e&&i.add(pseudoBigIntToString(e))}else{const t=e.getSymbolAtLocation(o.expression);if(t&&t.valueDeclaration&&isEnumMember(t.valueDeclaration)){const n=e.getConstantValue(t.valueDeclaration);void 0!==n&&addValue(n)}}}return{addValue,hasValue:function hasValue(e){switch(typeof e){case"string":return n.has(e);case"number":return r.has(e);case"object":return i.has(pseudoBigIntToString(e))}}};function addValue(e){switch(typeof e){case"string":n.add(e);break;case"number":r.add(e)}}}function fileShouldUseJavaScriptRequire(e,t,n,r){var i;if(!hasJSFileExtension("string"==typeof e?e:e.fileName))return!1;const o="string"==typeof e?t.getCompilerOptions():t.getCompilerOptionsForFile(e),a=Vn(o),s=getImpliedNodeFormatForEmitWorker("string"==typeof e?{fileName:e,impliedNodeFormat:getImpliedNodeFormatForFile(toPath(e,n.getCurrentDirectory(),hostGetCanonicalFileName(n)),null==(i=t.getPackageJsonInfoCache)?void 0:i.call(t),n,o)}:e,o);if(99===s)return!1;if(1===s)return!0;if(o.verbatimModuleSyntax&&1===a)return!0;if(o.verbatimModuleSyntax&&emitModuleKindIsNonNodeESM(a))return!1;if("object"==typeof e){if(e.commonJsModuleIndicator)return!0;if(e.externalModuleIndicator)return!1}return r}function isBlockLike(e){switch(e.kind){case 242:case 308:case 269:case 297:return!0;default:return!1}}function createFutureSourceFile(e,t,n,r){var i;const o=getImpliedNodeFormatForFileWorker(e,null==(i=n.getPackageJsonInfoCache)?void 0:i.call(n),r,n.getCompilerOptions());let a,s;return"object"==typeof o&&(a=o.impliedNodeFormat,s=o.packageJsonScope),{path:toPath(e,n.getCurrentDirectory(),n.getCanonicalFileName),fileName:e,externalModuleIndicator:99===t||void 0,commonJsModuleIndicator:1===t||void 0,impliedNodeFormat:a,packageJsonScope:s,statements:l,imports:l}}var Zs=(e=>(e[e.Named=0]="Named",e[e.Default=1]="Default",e[e.Namespace=2]="Namespace",e[e.CommonJS=3]="CommonJS",e))(Zs||{}),ec=(e=>(e[e.Named=0]="Named",e[e.Default=1]="Default",e[e.ExportEquals=2]="ExportEquals",e[e.UMD=3]="UMD",e[e.Module=4]="Module",e))(ec||{});function createCacheableExportInfoMap(e){let t=1;const n=createMultiMap(),r=new Map,i=new Map;let o;const a={isUsableByFile:e=>e===o,isEmpty:()=>!n.size,clear:()=>{n.clear(),r.clear(),o=void 0},add:(e,s,c,l,d,p,u,m)=>{let _;if(e!==o&&(a.clear(),o=e),d){const t=getNodeModulePathParts(d.fileName);if(t){const{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:r,packageRootIndex:o}=t;if(_=unmangleScopedPackageName(getPackageNameFromTypesPackageName(d.fileName.substring(r+1,o))),startsWith(e,d.path.substring(0,n))){const e=i.get(_),t=d.fileName.substring(0,r+1);if(e){n>e.indexOf(Mo)&&i.set(_,t)}else i.set(_,t)}}}const f=1===p&&getLocalSymbolForExportDefault(s)||s,g=0===p||isExternalModuleSymbol(f)?unescapeLeadingUnderscores(c):function getNamesForExportedSymbol(e,t,n){let r;return forEachNameOfDefaultExport(e,t,n,(e,t)=>(r=t?[e,t]:e,!0)),h.checkDefined(r)}(f,m,void 0),y="string"==typeof g?g:g[0],T="string"==typeof g?void 0:g[1],S=stripQuotes(l.name),x=t++,v=skipAlias(s,m),b=33554432&s.flags?void 0:s,C=33554432&l.flags?void 0:l;b&&C||r.set(x,[s,l]),n.add(function key(e,t,n,r){const i=n||"";return`${e.length} ${getSymbolId(skipAlias(t,r))} ${e} ${i}`}(y,s,isExternalModuleNameRelative(S)?void 0:S,m),{id:x,symbolTableKey:c,symbolName:y,capitalizedSymbolName:T,moduleName:S,moduleFile:d,moduleFileName:null==d?void 0:d.fileName,packageName:_,exportKind:p,targetFlags:v.flags,isFromPackageJson:u,symbol:b,moduleSymbol:C})},get:(e,t)=>{if(e!==o)return;const r=n.get(t);return null==r?void 0:r.map(rehydrateCachedInfo)},search:(t,r,a,s)=>{if(t===o)return forEachEntry(n,(t,n)=>{const{symbolName:o,ambientModuleName:c}=function parseKey(e){const t=e.indexOf(" "),n=e.indexOf(" ",t+1),r=parseInt(e.substring(0,t),10),i=e.substring(n+1),o=i.substring(0,r),a=i.substring(r+1),s=""===a?void 0:a;return{symbolName:o,ambientModuleName:s}}(n),l=r&&t[0].capitalizedSymbolName||o;if(a(l,t[0].targetFlags)){const r=t.map(rehydrateCachedInfo).filter((n,r)=>function isNotShadowedByDeeperNodeModulesPackage(t,n){if(!n||!t.moduleFileName)return!0;const r=e.getGlobalTypingsCacheLocation();if(r&&startsWith(t.moduleFileName,r))return!0;const o=i.get(n);return!o||startsWith(t.moduleFileName,o)}(n,t[r].packageName));if(r.length){const e=s(r,l,!!c,n);if(void 0!==e)return e}}})},releaseSymbols:()=>{r.clear()},onFileChanged:(e,t,n)=>(!fileIsGlobalOnly(e)||!fileIsGlobalOnly(t))&&(o&&o!==t.path||n&&consumesNodeCoreModules(e)!==consumesNodeCoreModules(t)||!arrayIsEqualTo(e.moduleAugmentations,t.moduleAugmentations)||!function ambientModuleDeclarationsAreEqual(e,t){if(!arrayIsEqualTo(e.ambientModuleNames,t.ambientModuleNames))return!1;let n=-1,r=-1;for(const i of t.ambientModuleNames){const isMatchingModuleDeclaration=e=>isNonGlobalAmbientModule(e)&&e.name.text===i;if(n=findIndex(e.statements,isMatchingModuleDeclaration,n+1),r=findIndex(t.statements,isMatchingModuleDeclaration,r+1),e.statements[n]!==t.statements[r])return!1}return!0}(e,t)?(a.clear(),!0):(o=t.path,!1))};return h.isDebugging&&Object.defineProperty(a,"__cache",{value:n}),a;function rehydrateCachedInfo(t){if(t.symbol&&t.moduleSymbol)return t;const{id:n,exportKind:i,targetFlags:o,isFromPackageJson:a,moduleFileName:s}=t,[c,d]=r.get(n)||l;if(c&&d)return{symbol:c,moduleSymbol:d,moduleFileName:s,exportKind:i,targetFlags:o,isFromPackageJson:a};const p=(a?e.getPackageJsonAutoImportProvider():e.getCurrentProgram()).getTypeChecker(),u=t.moduleSymbol||d||h.checkDefined(t.moduleFile?p.getMergedSymbol(t.moduleFile.symbol):p.tryFindAmbientModule(t.moduleName)),m=t.symbol||c||h.checkDefined(2===i?p.resolveExternalModuleSymbol(u):p.tryGetMemberInModuleExportsAndProperties(unescapeLeadingUnderscores(t.symbolTableKey),u),`Could not find symbol '${t.symbolName}' by key '${t.symbolTableKey}' in module ${u.name}`);return r.set(n,[m,u]),{symbol:m,moduleSymbol:u,moduleFileName:s,exportKind:i,targetFlags:o,isFromPackageJson:a}}function fileIsGlobalOnly(e){return!(e.commonJsModuleIndicator||e.externalModuleIndicator||e.moduleAugmentations||e.ambientModuleNames)}}function isImportable(e,t,n,r,i,o,a,s){var c;if(!n){let n;const i=stripQuotes(r.name);return Ir.has(i)&&void 0!==(n=shouldUseUriStyleNodeCoreModules(t,e))?n===startsWith(i,"node:"):!o||o.allowsImportingAmbientModule(r,a)||fileContainsPackageImport(t,i)}if(h.assertIsDefined(n),t===n)return!1;const l=null==s?void 0:s.get(t.path,n.path,i,{});if(void 0!==(null==l?void 0:l.isBlockedByPackageJsonDependencies))return!l.isBlockedByPackageJsonDependencies||!!l.packageName&&fileContainsPackageImport(t,l.packageName);const d=hostGetCanonicalFileName(a),p=null==(c=a.getGlobalTypingsCacheLocation)?void 0:c.call(a),u=!!Wo.forEachFileNameOfModule(t.fileName,n.fileName,a,!1,r=>{const i=e.getSourceFile(r);return(i===n||!i)&&function isImportablePath(e,t,n,r,i){const o=forEachAncestorDirectoryStoppingAtGlobalCache(i,t,e=>"node_modules"===getBaseFileName(e)?e:void 0),a=o&&getDirectoryPath(n(o));return void 0===a||startsWith(n(e),a)||!!r&&startsWith(n(r),a)}(t.fileName,r,d,p,a)});if(o){const e=u?o.getSourceFileInfo(n,a):void 0;return null==s||s.setBlockedByPackageJsonDependencies(t.path,n.path,i,{},null==e?void 0:e.packageName,!(null==e?void 0:e.importable)),!!(null==e?void 0:e.importable)||u&&!!(null==e?void 0:e.packageName)&&fileContainsPackageImport(t,e.packageName)}return u}function fileContainsPackageImport(e,t){return e.imports&&e.imports.some(e=>e.text===t||e.text.startsWith(t+"/"))}function forEachExternalModuleToImportFrom(e,t,n,r,i){var o,a;const s=hostUsesCaseSensitiveFileNames(t),c=n.autoImportFileExcludePatterns&&getIsExcludedPatterns(n,s);forEachExternalModule(e.getTypeChecker(),e.getSourceFiles(),c,t,(t,n)=>i(t,n,e,!1));const l=r&&(null==(o=t.getPackageJsonAutoImportProvider)?void 0:o.call(t));if(l){const n=B(),r=e.getTypeChecker();forEachExternalModule(l.getTypeChecker(),l.getSourceFiles(),c,t,(t,n)=>{(n&&!e.getSourceFile(n.fileName)||!n&&!r.resolveName(t.name,void 0,1536,!1))&&i(t,n,l,!0)}),null==(a=t.log)||a.call(t,"forEachExternalModuleToImportFrom autoImportProvider: "+(B()-n))}}function getIsExcludedPatterns(e,t){return mapDefined(e.autoImportFileExcludePatterns,e=>{const n=getSubPatternFromSpec(e,"","exclude");return n?getRegexFromPattern(n,t):void 0})}function forEachExternalModule(e,t,n,r,i){var o;const a=n&&getIsExcluded(n,r);for(const t of e.getAmbientModules())t.name.includes("*")||n&&(null==(o=t.declarations)?void 0:o.every(e=>a(e.getSourceFile())))||i(t,void 0);for(const n of t)isExternalOrCommonJsModule(n)&&!(null==a?void 0:a(n))&&i(e.getMergedSymbol(n.symbol),n)}function getIsExcluded(e,t){var n;const r=null==(n=t.getSymlinkCache)?void 0:n.call(t).getSymlinkedDirectoriesByRealpath();return({fileName:n,path:i})=>{if(e.some(e=>e.test(n)))return!0;if((null==r?void 0:r.size)&&pathContainsNodeModules(n)){let o=getDirectoryPath(n);return forEachAncestorDirectoryStoppingAtGlobalCache(t,getDirectoryPath(i),t=>{const i=r.get(ensureTrailingDirectorySeparator(t));if(i)return i.some(t=>e.some(e=>e.test(n.replace(o,t))));o=getDirectoryPath(o)})??!1}return!1}}function getIsFileExcluded(e,t){return t.autoImportFileExcludePatterns?getIsExcluded(getIsExcludedPatterns(t,hostUsesCaseSensitiveFileNames(e)),e):()=>!1}function getExportInfoMap(e,t,n,r,i){var o,a,s,c,l;const d=B();null==(o=t.getPackageJsonAutoImportProvider)||o.call(t);const p=(null==(a=t.getCachedExportInfoMap)?void 0:a.call(t))||createCacheableExportInfoMap({getCurrentProgram:()=>n,getPackageJsonAutoImportProvider:()=>{var e;return null==(e=t.getPackageJsonAutoImportProvider)?void 0:e.call(t)},getGlobalTypingsCacheLocation:()=>{var e;return null==(e=t.getGlobalTypingsCacheLocation)?void 0:e.call(t)}});if(p.isUsableByFile(e.path))return null==(s=t.log)||s.call(t,"getExportInfoMap: cache hit"),p;null==(c=t.log)||c.call(t,"getExportInfoMap: cache miss or empty; calculating new results");let u=0;try{forEachExternalModuleToImportFrom(n,t,r,!0,(t,n,r,o)=>{++u%100==0&&(null==i||i.throwIfCancellationRequested());const a=new Set,s=r.getTypeChecker(),c=getDefaultLikeExportInfo(t,s);c&&isImportableSymbol(c.symbol,s)&&p.add(e.path,c.symbol,1===c.exportKind?"default":"export=",t,n,c.exportKind,o,s),s.forEachExportAndPropertyOfModule(t,(r,i)=>{r!==(null==c?void 0:c.symbol)&&isImportableSymbol(r,s)&&addToSeen(a,i)&&p.add(e.path,r,i,t,n,0,o,s)})})}catch(e){throw p.clear(),e}return null==(l=t.log)||l.call(t,`getExportInfoMap: done in ${B()-d} ms`),p}function getDefaultLikeExportInfo(e,t){const n=t.resolveExternalModuleSymbol(e);if(n!==e){const e=t.tryGetMemberInModuleExports("default",n);return e?{symbol:e,exportKind:1}:{symbol:n,exportKind:2}}const r=t.tryGetMemberInModuleExports("default",e);if(r)return{symbol:r,exportKind:1}}function isImportableSymbol(e,t){return!(t.isUndefinedSymbol(e)||t.isUnknownSymbol(e)||isKnownSymbol(e)||isPrivateIdentifierSymbol(e))}function forEachNameOfDefaultExport(e,t,n,r){let i,o=e;const a=new Set;for(;o;){const e=getDefaultLikeExportNameFromDeclaration(o);if(e){const t=r(e);if(t)return t}if("default"!==o.escapedName&&"export="!==o.escapedName){const e=r(o.name);if(e)return e}if(i=append(i,o),!addToSeen(a,o))break;o=2097152&o.flags?t.getImmediateAliasedSymbol(o):void 0}for(const e of i??l)if(e.parent&&isExternalModuleSymbol(e.parent)){const t=r(moduleSymbolToValidIdentifier(e.parent,n,!1),moduleSymbolToValidIdentifier(e.parent,n,!0));if(t)return t}}function createClassifier(){const e=createScanner(99,!1);function getEncodedLexicalClassifications(t,n,r){let i=0,o=0;const a=[],{prefix:s,pushTemplate:c}=function getPrefixFromLexState(e){switch(e){case 3:return{prefix:'"\\\n'};case 2:return{prefix:"'\\\n"};case 1:return{prefix:"/*\n"};case 4:return{prefix:"`\n"};case 5:return{prefix:"}\n",pushTemplate:!0};case 6:return{prefix:"",pushTemplate:!0};case 0:return{prefix:""};default:return h.assertNever(e)}}(n);t=s+t;const l=s.length;c&&a.push(16),e.setText(t);let d=0;const p=[];let u=0;do{i=e.scan(),isTrivia(i)||(handleToken(),o=i);const n=e.getTokenEnd();if(pushEncodedClassification(e.getTokenStart(),n,l,classFromKind(i),p),n>=t.length){const t=getNewEndOfLineState(e,i,lastOrUndefined(a));void 0!==t&&(d=t)}}while(1!==i);function handleToken(){switch(i){case 44:case 69:nc[o]||14!==e.reScanSlashToken()||(i=14);break;case 30:80===o&&u++;break;case 32:u>0&&u--;break;case 133:case 154:case 150:case 136:case 155:u>0&&!r&&(i=80);break;case 16:a.push(i);break;case 19:a.length>0&&a.push(i);break;case 20:if(a.length>0){const t=lastOrUndefined(a);16===t?(i=e.reScanTemplateToken(!1),18===i?a.pop():h.assertEqual(i,17,"Should have been a template middle.")):(h.assertEqual(t,19,"Should have been an open brace"),a.pop())}break;default:if(!isKeyword(i))break;(25===o||isKeyword(o)&&isKeyword(i)&&!function canFollow(e,t){if(!isAccessibilityModifier(e))return!0;switch(t){case 139:case 153:case 137:case 126:case 129:return!0;default:return!1}}(o,i))&&(i=80)}}return{endOfLineState:d,spans:p}}return{getClassificationsForLine:function getClassificationsForLine(e,t,n){return function convertClassificationsToResult(e,t){const n=[],r=e.spans;let i=0;for(let e=0;e<r.length;e+=3){const t=r[e],o=r[e+1],a=r[e+2];if(i>=0){const e=t-i;e>0&&n.push({length:e,classification:4})}n.push({length:o,classification:convertClassification(a)}),i=t+o}const o=t.length-i;o>0&&n.push({length:o,classification:4});return{entries:n,finalLexState:e.endOfLineState}}(getEncodedLexicalClassifications(e,t,n),e)},getEncodedLexicalClassifications}}var tc,nc=arrayToNumericMap([80,11,9,10,14,110,46,47,22,24,20,112,97],e=>e,()=>!0);function getNewEndOfLineState(e,t,n){switch(t){case 11:{if(!e.isUnterminated())return;const t=e.getTokenText(),n=t.length-1;let r=0;for(;92===t.charCodeAt(n-r);)r++;if(!(1&r))return;return 34===t.charCodeAt(0)?3:2}case 3:return e.isUnterminated()?1:void 0;default:if(isTemplateLiteralKind(t)){if(!e.isUnterminated())return;switch(t){case 18:return 5;case 15:return 4;default:return h.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+t)}}return 16===n?6:void 0}}function pushEncodedClassification(e,t,n,r,i){if(8===r)return;0===e&&n>0&&(e+=n);const o=t-e;o>0&&i.push(e-n,o,r)}function convertClassification(e){switch(e){case 1:return 3;case 3:return 1;case 4:return 6;case 25:return 7;case 5:return 2;case 6:return 8;case 8:return 4;case 10:return 0;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return 5;default:return}}function classFromKind(e){if(isKeyword(e))return 3;if(function isBinaryExpressionOperatorToken(e){switch(e){case 42:case 44:case 45:case 40:case 41:case 48:case 49:case 50:case 30:case 32:case 33:case 34:case 104:case 103:case 130:case 152:case 35:case 36:case 37:case 38:case 51:case 53:case 52:case 56:case 57:case 75:case 74:case 79:case 71:case 72:case 73:case 65:case 66:case 67:case 69:case 70:case 64:case 28:case 61:case 76:case 77:case 78:return!0;default:return!1}}(e)||function isPrefixUnaryExpressionOperatorToken(e){switch(e){case 40:case 41:case 55:case 54:case 46:case 47:return!0;default:return!1}}(e))return 5;if(e>=19&&e<=79)return 10;switch(e){case 9:return 4;case 10:return 25;case 11:return 6;case 14:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;default:return isTemplateLiteralKind(e)?6:2}}function getSemanticClassifications(e,t,n,r,i){return convertClassificationsToSpans(getEncodedSemanticClassifications(e,t,n,r,i))}function checkForClassificationCancellation(e,t){switch(t){case 268:case 264:case 265:case 263:case 232:case 219:case 220:e.throwIfCancellationRequested()}}function getEncodedSemanticClassifications(e,t,n,r,i){const o=[];return n.forEachChild(function cb(a){if(a&&textSpanIntersectsWith(i,a.pos,a.getFullWidth())){if(checkForClassificationCancellation(t,a.kind),isIdentifier(a)&&!nodeIsMissing(a)&&r.has(a.escapedText)){const t=e.getSymbolAtLocation(a),r=t&&classifySymbol(t,getMeaningFromLocation(a),e);r&&function pushClassification(e,t,n){const r=t-e;h.assert(r>0,`Classification had non-positive length of ${r}`),o.push(e),o.push(r),o.push(n)}(a.getStart(n),a.getEnd(),r)}a.forEachChild(cb)}}),{spans:o,endOfLineState:0}}function classifySymbol(e,t,n){const r=e.getFlags();return 2885600&r?32&r?11:384&r?12:524288&r?16:1536&r?4&t||1&t&&function hasValueSideModule(e){return some(e.declarations,e=>isModuleDeclaration(e)&&1===getModuleInstanceState(e))}(e)?14:void 0:2097152&r?classifySymbol(n.getAliasedSymbol(e),t,n):2&t?64&r?13:262144&r?15:void 0:void 0:void 0}function getClassificationTypeName(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return}}function convertClassificationsToSpans(e){h.assert(e.spans.length%3==0);const t=e.spans,n=[];for(let e=0;e<t.length;e+=3)n.push({textSpan:createTextSpan(t[e],t[e+1]),classificationType:getClassificationTypeName(t[e+2])});return n}function getSyntacticClassifications(e,t,n){return convertClassificationsToSpans(getEncodedSyntacticClassifications(e,t,n))}function getEncodedSyntacticClassifications(e,t,n){const r=n.start,i=n.length,o=createScanner(99,!1,t.languageVariant,t.text),a=createScanner(99,!1,t.languageVariant,t.text),s=[];return processElement(t),{spans:s,endOfLineState:0};function pushClassification(e,t,n){s.push(e),s.push(t),s.push(n)}function classifyComment(e,n,r,i){if(3===n){const n=parseIsolatedJSDocComment(t.text,r,i);if(n&&n.jsDoc)return setParent(n.jsDoc,e),void function classifyJSDocComment(e){var t,n,r,i,o,a,s,c;let l=e.pos;if(e.tags)for(const d of e.tags){d.pos!==l&&pushCommentRange(l,d.pos-l),pushClassification(d.pos,1,10),pushClassification(d.tagName.pos,d.tagName.end-d.tagName.pos,18),l=d.tagName.end;let e=d.tagName.end;switch(d.kind){case 342:const p=d;processJSDocParameterTag(p),e=p.isNameFirst&&(null==(t=p.typeExpression)?void 0:t.end)||p.name.end;break;case 349:const u=d;e=u.isNameFirst&&(null==(n=u.typeExpression)?void 0:n.end)||u.name.end;break;case 346:processJSDocTemplateTag(d),l=d.end,e=d.typeParameters.end;break;case 347:const m=d;e=310===(null==(r=m.typeExpression)?void 0:r.kind)&&(null==(i=m.fullName)?void 0:i.end)||(null==(o=m.typeExpression)?void 0:o.end)||e;break;case 339:case 344:case 341:e=d.typeExpression.end;break;case 345:processElement(d.typeExpression),l=d.end,e=d.typeExpression.end;break;case 343:processElement(d.typeExpression),l=d.end,e=(null==(a=d.typeExpression)?void 0:a.end)||e;break;case 348:e=(null==(s=d.name)?void 0:s.end)||e;break;case 329:case 330:e=d.class.end;break;case 350:processElement(d.typeExpression),l=d.end,e=(null==(c=d.typeExpression)?void 0:c.end)||e}"object"==typeof d.comment?pushCommentRange(d.comment.pos,d.comment.end-d.comment.pos):"string"==typeof d.comment&&pushCommentRange(e,d.end-e)}l!==e.end&&pushCommentRange(l,e.end-l);return;function processJSDocParameterTag(e){e.isNameFirst&&(pushCommentRange(l,e.name.pos-l),pushClassification(e.name.pos,e.name.end-e.name.pos,17),l=e.name.end),e.typeExpression&&(pushCommentRange(l,e.typeExpression.pos-l),processElement(e.typeExpression),l=e.typeExpression.end),e.isNameFirst||(pushCommentRange(l,e.name.pos-l),pushClassification(e.name.pos,e.name.end-e.name.pos,17),l=e.name.end)}}(n.jsDoc)}else if(2===n&&function tryClassifyTripleSlashComment(e,n){const r=/^(\/\/\/\s*)(<)(?:(\S+)((?:[^/]|\/[^>])*)(\/>)?)?/m,i=/(\s)(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/g,o=t.text.substr(e,n),a=r.exec(o);if(!a)return!1;if(!a[3]||!(a[3]in gt))return!1;let s=e;pushCommentRange(s,a[1].length),s+=a[1].length,pushClassification(s,a[2].length,10),s+=a[2].length,pushClassification(s,a[3].length,21),s+=a[3].length;const c=a[4];let l=s;for(;;){const e=i.exec(c);if(!e)break;const t=s+e.index+e[1].length;t>l&&(pushCommentRange(l,t-l),l=t),pushClassification(l,e[2].length,22),l+=e[2].length,e[3].length&&(pushCommentRange(l,e[3].length),l+=e[3].length),pushClassification(l,e[4].length,5),l+=e[4].length,e[5].length&&(pushCommentRange(l,e[5].length),l+=e[5].length),pushClassification(l,e[6].length,24),l+=e[6].length}s+=a[4].length,s>l&&pushCommentRange(l,s-l);a[5]&&(pushClassification(s,a[5].length,10),s+=a[5].length);const d=e+n;s<d&&pushCommentRange(s,d-s);return!0}(r,i))return;pushCommentRange(r,i)}function pushCommentRange(e,t){pushClassification(e,t,1)}function processJSDocTemplateTag(e){for(const t of e.getChildren())processElement(t)}function classifyDisabledMergeCode(e,t,n){let r;for(r=t;r<n&&!isLineBreak(e.charCodeAt(r));r++);for(pushClassification(t,r-t,1),a.resetTokenState(r);a.getTokenEnd()<n;)classifyDisabledCodeToken()}function classifyDisabledCodeToken(){const e=a.getTokenEnd(),t=a.scan(),n=a.getTokenEnd(),r=classifyTokenType(t);r&&pushClassification(e,n-e,r)}function tryClassifyNode(e){if(isJSDoc(e))return!0;if(nodeIsMissing(e))return!0;const n=function tryClassifyJsxElementName(e){switch(e.parent&&e.parent.kind){case 287:if(e.parent.tagName===e)return 19;break;case 288:if(e.parent.tagName===e)return 20;break;case 286:if(e.parent.tagName===e)return 21;break;case 292:if(e.parent.name===e)return 22}return}(e);if(!isToken(e)&&12!==e.kind&&void 0===n)return!1;const r=12===e.kind?e.pos:function classifyLeadingTriviaAndGetTokenStart(e){for(o.resetTokenState(e.pos);;){const n=o.getTokenEnd();if(!couldStartTrivia(t.text,n))return n;const r=o.scan(),i=o.getTokenEnd(),a=i-n;if(!isTrivia(r))return n;switch(r){case 4:case 5:continue;case 2:case 3:classifyComment(e,r,n,a),o.resetTokenState(i);continue;case 7:const s=t.text,c=s.charCodeAt(n);if(60===c||62===c){pushClassification(n,a,1);continue}h.assert(124===c||61===c),classifyDisabledMergeCode(s,n,i);break;case 6:break;default:h.assertNever(r)}}}(e),i=e.end-r;if(h.assert(i>=0),i>0){const t=n||classifyTokenType(e.kind,e);t&&pushClassification(r,i,t)}return!0}function classifyTokenType(e,t){if(isKeyword(e))return 3;if((30===e||32===e)&&t&&getTypeArgumentOrTypeParameterList(t.parent))return 10;if(isPunctuation(e)){if(t){const n=t.parent;if(64===e&&(261===n.kind||173===n.kind||170===n.kind||292===n.kind))return 5;if(227===n.kind||225===n.kind||226===n.kind||228===n.kind)return 5}return 10}if(9===e)return 4;if(10===e)return 25;if(11===e)return t&&292===t.parent.kind?24:6;if(14===e)return 6;if(isTemplateLiteralKind(e))return 6;if(12===e)return 23;if(80===e){if(t){switch(t.parent.kind){case 264:return t.parent.name===t?11:void 0;case 169:return t.parent.name===t?15:void 0;case 265:return t.parent.name===t?13:void 0;case 267:return t.parent.name===t?12:void 0;case 268:return t.parent.name===t?14:void 0;case 170:return t.parent.name===t?isThisIdentifier(t)?3:17:void 0}if(isConstTypeReference(t.parent))return 3}return 2}}function processElement(n){if(n&&decodedTextSpanIntersectsWith(r,i,n.pos,n.getFullWidth())){checkForClassificationCancellation(e,n.kind);for(const e of n.getChildren(t))tryClassifyNode(e)||processElement(e)}}}function isDocumentRegistryEntry(e){return!!e.sourceFile}function createDocumentRegistry(e,t,n){return createDocumentRegistryInternal(e,t,n)}function createDocumentRegistryInternal(e,t="",n,r){const i=new Map,o=createGetCanonicalFileName(!!e);function getCompilationSettings(e){return"function"==typeof e.getCompilationSettings?e.getCompilationSettings():e}function acquireDocumentWithKey(e,t,n,r,i,o,a,s){return acquireOrUpdateDocument(e,t,n,r,i,o,!0,a,s)}function updateDocumentWithKey(e,t,n,r,i,o,a,s){return acquireOrUpdateDocument(e,t,getCompilationSettings(n),r,i,o,!1,a,s)}function getDocumentRegistryEntry(e,t){const n=isDocumentRegistryEntry(e)?e:e.get(h.checkDefined(t,"If there are more than one scriptKind's for same document the scriptKind should be provided"));return h.assert(void 0===t||!n||n.sourceFile.scriptKind===t,`Script kind should match provided ScriptKind:${t} and sourceFile.scriptKind: ${null==n?void 0:n.sourceFile.scriptKind}, !entry: ${!n}`),n}function acquireOrUpdateDocument(e,t,o,a,s,c,l,d,p){var u,m,_,f;d=ensureScriptKind(e,d);const g=getCompilationSettings(o),y=o===g?void 0:o,T=6===d?100:zn(g),S="object"==typeof p?p:{languageVersion:T,impliedNodeFormat:y&&getImpliedNodeFormatForFile(t,null==(f=null==(_=null==(m=null==(u=y.getCompilerHost)?void 0:u.call(y))?void 0:m.getModuleResolutionCache)?void 0:_.call(m))?void 0:f.getPackageJsonInfoCache(),y,g),setExternalModuleIndicator:getSetExternalModuleIndicator(g),jsDocParsingMode:n};S.languageVersion=T,h.assertEqual(n,S.jsDocParsingMode);const x=i.size,v=getDocumentRegistryBucketKeyWithMode(a,S.impliedNodeFormat),b=getOrUpdate(i,v,()=>new Map);if(J){i.size>x&&J.instant(J.Phase.Session,"createdDocumentRegistryBucket",{configFilePath:g.configFilePath,key:v});const e=!isDeclarationFileName(t)&&forEachEntry(i,(e,n)=>n!==v&&e.has(t)&&n);e&&J.instant(J.Phase.Session,"documentRegistryBucketOverlap",{path:t,key1:e,key2:v})}const C=b.get(t);let E=C&&getDocumentRegistryEntry(C,d);if(!E&&r){const e=r.getDocument(v,t);e&&e.scriptKind===d&&e.text===getSnapshotText(s)&&(h.assert(l),E={sourceFile:e,languageServiceRefCount:0},setBucketEntry())}if(E)E.sourceFile.version!==c&&(E.sourceFile=updateLanguageServiceSourceFile(E.sourceFile,s,c,s.getChangeRange(E.sourceFile.scriptSnapshot)),r&&r.setDocument(v,t,E.sourceFile)),l&&E.languageServiceRefCount++;else{const n=createLanguageServiceSourceFile(e,s,S,c,!1,d);r&&r.setDocument(v,t,n),E={sourceFile:n,languageServiceRefCount:1},setBucketEntry()}return h.assert(0!==E.languageServiceRefCount),E.sourceFile;function setBucketEntry(){if(C)if(isDocumentRegistryEntry(C)){const e=new Map;e.set(C.sourceFile.scriptKind,C),e.set(d,E),b.set(t,e)}else C.set(d,E);else b.set(t,E)}}function releaseDocumentWithKey(e,t,n,r){const o=h.checkDefined(i.get(getDocumentRegistryBucketKeyWithMode(t,r))),a=o.get(e),s=getDocumentRegistryEntry(a,n);s.languageServiceRefCount--,h.assert(s.languageServiceRefCount>=0),0===s.languageServiceRefCount&&(isDocumentRegistryEntry(a)?o.delete(e):(a.delete(n),1===a.size&&o.set(e,firstDefinedIterator(a.values(),identity))))}return{acquireDocument:function acquireDocument(e,n,r,i,a,s){return acquireDocumentWithKey(e,toPath(e,t,o),n,getKeyForCompilationSettings(getCompilationSettings(n)),r,i,a,s)},acquireDocumentWithKey,updateDocument:function updateDocument(e,n,r,i,a,s){return updateDocumentWithKey(e,toPath(e,t,o),n,getKeyForCompilationSettings(getCompilationSettings(n)),r,i,a,s)},updateDocumentWithKey,releaseDocument:function releaseDocument(e,n,r,i){return releaseDocumentWithKey(toPath(e,t,o),getKeyForCompilationSettings(n),r,i)},releaseDocumentWithKey,getKeyForCompilationSettings,getDocumentRegistryBucketKeyWithMode,reportStats:function reportStats(){const e=arrayFrom(i.keys()).filter(e=>e&&"_"===e.charAt(0)).map(e=>{const t=i.get(e),n=[];return t.forEach((e,t)=>{isDocumentRegistryEntry(e)?n.push({name:t,scriptKind:e.sourceFile.scriptKind,refCount:e.languageServiceRefCount}):e.forEach((e,r)=>n.push({name:t,scriptKind:r,refCount:e.languageServiceRefCount}))}),n.sort((e,t)=>t.refCount-e.refCount),{bucket:e,sourceFiles:n}});return JSON.stringify(e,void 0,2)},getBuckets:()=>i}}function getKeyForCompilationSettings(e){return getKeyForCompilerOptions(e,to)}function getDocumentRegistryBucketKeyWithMode(e,t){return t?`${e}|${t}`:e}function getEditsForFileRename(e,t,n,r,i,o,a){const s=hostUsesCaseSensitiveFileNames(r),c=createGetCanonicalFileName(s),l=getPathUpdater(t,n,c,a),d=getPathUpdater(n,t,c,a);return $m.ChangeTracker.with({host:r,formatContext:i,preferences:o},i=>{!function updateTsconfigFiles(e,t,n,r,i,o,a){const{configFile:s}=e.getCompilerOptions();if(!s)return;const c=getDirectoryPath(s.fileName),l=getTsConfigObjectLiteralExpression(s);if(!l)return;function updatePaths(e){const t=isArrayLiteralExpression(e.initializer)?e.initializer.elements:[e.initializer];let n=!1;for(const e of t)n=tryUpdateString(e)||n;return n}function tryUpdateString(e){if(!isStringLiteral(e))return!1;const r=combinePathsSafe(c,e.text),i=n(r);return void 0!==i&&(t.replaceRangeWithText(s,createStringRange(e,s),relativePath(i)),!0)}function relativePath(e){return getRelativePathFromDirectory(c,e,!a)}forEachProperty(l,(e,n)=>{switch(n){case"files":case"include":case"exclude":{if(updatePaths(e)||"include"!==n||!isArrayLiteralExpression(e.initializer))return;const l=mapDefined(e.initializer.elements,e=>isStringLiteral(e)?e.text:void 0);if(0===l.length)return;const d=getFileMatcherPatterns(c,[],l,a,o);return void(getRegexFromPattern(h.checkDefined(d.includeFilePattern),a).test(r)&&!getRegexFromPattern(h.checkDefined(d.includeFilePattern),a).test(i)&&t.insertNodeAfter(s,last(e.initializer.elements),Wr.createStringLiteral(relativePath(i))))}case"compilerOptions":return void forEachProperty(e.initializer,(e,t)=>{const n=getOptionFromName(t);h.assert("listOrElement"!==(null==n?void 0:n.type)),n&&(n.isFilePath||"list"===n.type&&n.element.isFilePath)?updatePaths(e):"paths"===t&&forEachProperty(e.initializer,e=>{if(isArrayLiteralExpression(e.initializer))for(const t of e.initializer.elements)tryUpdateString(t)})})}})}(e,i,l,t,n,r.getCurrentDirectory(),s),function updateImports(e,t,n,r,i,o){const a=e.getSourceFiles();for(const s of a){const c=n(s.fileName),l=c??s.fileName,d=getDirectoryPath(l),p=r(s.fileName),u=p||s.fileName,m=getDirectoryPath(u),_=void 0!==c||void 0!==p;updateImportsWorker(s,t,e=>{if(!pathIsRelative(e))return;const t=combinePathsSafe(m,e),r=n(t);return void 0===r?void 0:ensurePathIsNonModuleName(getRelativePathFromDirectory(d,r,o))},t=>{const r=e.getTypeChecker().getSymbolAtLocation(t);if((null==r?void 0:r.declarations)&&r.declarations.some(e=>isAmbientModule(e)))return;const o=void 0!==p?getSourceFileToImportFromResolved(t,resolveModuleName(t.text,u,e.getCompilerOptions(),i),n,a):getSourceFileToImport(r,t,s,e,i,n);return void 0!==o&&(o.updated||_&&pathIsRelative(t.text))?Wo.updateModuleSpecifier(e.getCompilerOptions(),s,l,o.newFileName,createModuleSpecifierResolutionHost(e,i),t.text):void 0})}}(e,i,l,d,r,c)})}function getPathUpdater(e,t,n,r){const i=n(e);return e=>{const o=r&&r.tryGetSourcePosition({fileName:e,pos:0}),a=function getUpdatedPath(e){if(n(e)===i)return t;const r=tryRemoveDirectoryPrefix(e,i,n);return void 0===r?void 0:t+"/"+r}(o?o.fileName:e);return o?void 0===a?void 0:function makeCorrespondingRelativeChange(e,t,n,r){const i=getRelativePathFromFile(e,t,r);return combinePathsSafe(getDirectoryPath(n),i)}(o.fileName,a,e,n):a}}function combinePathsSafe(e,t){return ensurePathIsNonModuleName(function combineNormal(e,t){return normalizePath(combinePaths(e,t))}(e,t))}function getSourceFileToImport(e,t,n,r,i,o){if(e){const t=find(e.declarations,isSourceFile).fileName,n=o(t);return void 0===n?{newFileName:t,updated:!1}:{newFileName:n,updated:!0}}{const e=r.getModeForUsageLocation(n,t);return getSourceFileToImportFromResolved(t,i.resolveModuleNameLiterals||!i.resolveModuleNames?r.getResolvedModuleFromModuleSpecifier(t,n):i.getResolvedModuleWithFailedLookupLocationsFromCache&&i.getResolvedModuleWithFailedLookupLocationsFromCache(t.text,n.fileName,e),o,r.getSourceFiles())}}function getSourceFileToImportFromResolved(e,t,n,r){if(!t)return;if(t.resolvedModule){const e=tryChange(t.resolvedModule.resolvedFileName);if(e)return e}const i=forEach(t.failedLookupLocations,function tryChangeWithIgnoringPackageJsonExisting(e){const t=n(e);return t&&find(r,e=>e.fileName===t)?tryChangeWithIgnoringPackageJson(e):void 0})||pathIsRelative(e.text)&&forEach(t.failedLookupLocations,tryChangeWithIgnoringPackageJson);return i||t.resolvedModule&&{newFileName:t.resolvedModule.resolvedFileName,updated:!1};function tryChangeWithIgnoringPackageJson(e){return endsWith(e,"/package.json")?void 0:tryChange(e)}function tryChange(e){const t=n(e);return t&&{newFileName:t,updated:!0}}}function updateImportsWorker(e,t,n,r){for(const r of e.referencedFiles||l){const i=n(r.fileName);void 0!==i&&i!==e.text.slice(r.pos,r.end)&&t.replaceRangeWithText(e,r,i)}for(const n of e.imports){const i=r(n);void 0!==i&&i!==n.text&&t.replaceRangeWithText(e,createStringRange(n,e),i)}}function createStringRange(e,t){return createRange(e.getStart(t)+1,e.end-1)}function forEachProperty(e,t){if(isObjectLiteralExpression(e))for(const n of e.properties)isPropertyAssignment(n)&&isStringLiteral(n.name)&&t(n,n.name.text)}(e=>{function getHighlightSpanForNode(e,t){return{fileName:t.fileName,textSpan:createTextSpanFromNode(e,t),kind:"none"}}function aggregateOwnedThrowStatements(e){return isThrowStatement(e)?[e]:isTryStatement(e)?concatenate(e.catchClause?aggregateOwnedThrowStatements(e.catchClause):e.tryBlock&&aggregateOwnedThrowStatements(e.tryBlock),e.finallyBlock&&aggregateOwnedThrowStatements(e.finallyBlock)):isFunctionLike(e)?void 0:flatMapChildren(e,aggregateOwnedThrowStatements)}function aggregateAllBreakAndContinueStatements(e){return isBreakOrContinueStatement(e)?[e]:isFunctionLike(e)?void 0:flatMapChildren(e,aggregateAllBreakAndContinueStatements)}function flatMapChildren(e,t){const n=[];return e.forEachChild(e=>{const r=t(e);void 0!==r&&n.push(...toArray(r))}),n}function ownsBreakOrContinueStatement(e,t){const n=getBreakOrContinueOwner(t);return!!n&&n===e}function getBreakOrContinueOwner(e){return findAncestor(e,t=>{switch(t.kind){case 256:if(252===e.kind)return!1;case 249:case 250:case 251:case 248:case 247:return!e.label||function isLabeledBy(e,t){return!!findAncestor(e.parent,e=>isLabeledStatement(e)?e.label.escapedText===t:"quit")}(t,e.label.escapedText);default:return isFunctionLike(t)&&"quit"}})}function pushKeywordIf(e,t,...n){return!(!t||!contains(n,t.kind))&&(e.push(t),!0)}function getLoopBreakContinueOccurrences(e){const t=[];if(pushKeywordIf(t,e.getFirstToken(),99,117,92)&&247===e.kind){const n=e.getChildren();for(let e=n.length-1;e>=0&&!pushKeywordIf(t,n[e],117);e--);}return forEach(aggregateAllBreakAndContinueStatements(e.statement),n=>{ownsBreakOrContinueStatement(e,n)&&pushKeywordIf(t,n.getFirstToken(),83,88)}),t}function getBreakOrContinueStatementOccurrences(e){const t=getBreakOrContinueOwner(e);if(t)switch(t.kind){case 249:case 250:case 251:case 247:case 248:return getLoopBreakContinueOccurrences(t);case 256:return getSwitchCaseDefaultOccurrences(t)}}function getSwitchCaseDefaultOccurrences(e){const t=[];return pushKeywordIf(t,e.getFirstToken(),109),forEach(e.caseBlock.clauses,n=>{pushKeywordIf(t,n.getFirstToken(),84,90),forEach(aggregateAllBreakAndContinueStatements(n),n=>{ownsBreakOrContinueStatement(e,n)&&pushKeywordIf(t,n.getFirstToken(),83)})}),t}function getTryCatchFinallyOccurrences(e,t){const n=[];if(pushKeywordIf(n,e.getFirstToken(),113),e.catchClause&&pushKeywordIf(n,e.catchClause.getFirstToken(),85),e.finallyBlock){pushKeywordIf(n,findChildOfKind(e,98,t),98)}return n}function getThrowOccurrences(e,t){const n=function getThrowStatementOwner(e){let t=e;for(;t.parent;){const e=t.parent;if(isFunctionBlock(e)||308===e.kind)return e;if(isTryStatement(e)&&e.tryBlock===t&&e.catchClause)return t;t=e}}(e);if(!n)return;const r=[];return forEach(aggregateOwnedThrowStatements(n),e=>{r.push(findChildOfKind(e,111,t))}),isFunctionBlock(n)&&forEachReturnStatement(n,e=>{r.push(findChildOfKind(e,107,t))}),r}function getReturnOccurrences(e,t){const n=getContainingFunction(e);if(!n)return;const r=[];return forEachReturnStatement(cast(n.body,isBlock),e=>{r.push(findChildOfKind(e,107,t))}),forEach(aggregateOwnedThrowStatements(n.body),e=>{r.push(findChildOfKind(e,111,t))}),r}function getAsyncAndAwaitOccurrences(e){const t=getContainingFunction(e);if(!t)return;const n=[];return t.modifiers&&t.modifiers.forEach(e=>{pushKeywordIf(n,e,134)}),forEachChild(t,e=>{traverseWithoutCrossingFunction(e,e=>{isAwaitExpression(e)&&pushKeywordIf(n,e.getFirstToken(),135)})}),n}function traverseWithoutCrossingFunction(e,t){t(e),isFunctionLike(e)||isClassLike(e)||isInterfaceDeclaration(e)||isModuleDeclaration(e)||isTypeAliasDeclaration(e)||isTypeNode(e)||forEachChild(e,e=>traverseWithoutCrossingFunction(e,t))}e.getDocumentHighlights=function getDocumentHighlights(e,t,n,r,i){const o=getTouchingPropertyName(n,r);if(o.parent&&(isJsxOpeningElement(o.parent)&&o.parent.tagName===o||isJsxClosingElement(o.parent))){const{openingElement:e,closingElement:t}=o.parent.parent,r=[e,t].map(({tagName:e})=>getHighlightSpanForNode(e,n));return[{fileName:n.fileName,highlightSpans:r}]}return function getSemanticDocumentHighlights(e,t,n,r,i){const o=new Set(i.map(e=>e.fileName)),a=vm.getReferenceEntriesForNode(e,t,n,i,r,void 0,o);if(!a)return;const s=arrayToMultiMap(a.map(vm.toHighlightSpan),e=>e.fileName,e=>e.span),c=createGetCanonicalFileName(n.useCaseSensitiveFileNames());return arrayFrom(mapDefinedIterator(s.entries(),([e,t])=>{if(!o.has(e)){if(!n.redirectTargetsMap.has(toPath(e,n.getCurrentDirectory(),c)))return;const t=n.getSourceFile(e);e=find(i,e=>!!e.redirectInfo&&e.redirectInfo.redirectTarget===t).fileName,h.assert(o.has(e))}return{fileName:e,highlightSpans:t}}))}(r,o,e,t,i)||function getSyntacticDocumentHighlights(e,t){const n=function getHighlightSpans(e,t){switch(e.kind){case 101:case 93:return isIfStatement(e.parent)?function getIfElseOccurrences(e,t){const n=function getIfElseKeywords(e,t){const n=[];for(;isIfStatement(e.parent)&&e.parent.elseStatement===e;)e=e.parent;for(;;){const r=e.getChildren(t);pushKeywordIf(n,r[0],101);for(let e=r.length-1;e>=0&&!pushKeywordIf(n,r[e],93);e--);if(!e.elseStatement||!isIfStatement(e.elseStatement))break;e=e.elseStatement}return n}(e,t),r=[];for(let e=0;e<n.length;e++){if(93===n[e].kind&&e<n.length-1){const i=n[e],o=n[e+1];let a=!0;for(let e=o.getStart(t)-1;e>=i.end;e--)if(!isWhiteSpaceSingleLine(t.text.charCodeAt(e))){a=!1;break}if(a){r.push({fileName:t.fileName,textSpan:createTextSpanFromBounds(i.getStart(),o.end),kind:"reference"}),e++;continue}}r.push(getHighlightSpanForNode(n[e],t))}return r}(e.parent,t):void 0;case 107:return useParent(e.parent,isReturnStatement,getReturnOccurrences);case 111:return useParent(e.parent,isThrowStatement,getThrowOccurrences);case 113:case 85:case 98:return useParent(85===e.kind?e.parent.parent:e.parent,isTryStatement,getTryCatchFinallyOccurrences);case 109:return useParent(e.parent,isSwitchStatement,getSwitchCaseDefaultOccurrences);case 84:case 90:return isDefaultClause(e.parent)||isCaseClause(e.parent)?useParent(e.parent.parent.parent,isSwitchStatement,getSwitchCaseDefaultOccurrences):void 0;case 83:case 88:return useParent(e.parent,isBreakOrContinueStatement,getBreakOrContinueStatementOccurrences);case 99:case 117:case 92:return useParent(e.parent,e=>isIterationStatement(e,!0),getLoopBreakContinueOccurrences);case 137:return getFromAllDeclarations(isConstructorDeclaration,[137]);case 139:case 153:return getFromAllDeclarations(isAccessor,[139,153]);case 135:return useParent(e.parent,isAwaitExpression,getAsyncAndAwaitOccurrences);case 134:return highlightSpans(getAsyncAndAwaitOccurrences(e));case 127:return highlightSpans(function getYieldOccurrences(e){const t=getContainingFunction(e);if(!t)return;const n=[];return forEachChild(t,e=>{traverseWithoutCrossingFunction(e,e=>{isYieldExpression(e)&&pushKeywordIf(n,e.getFirstToken(),127)})}),n}(e));case 103:case 147:return;default:return isModifierKind(e.kind)&&(isDeclaration(e.parent)||isVariableStatement(e.parent))?highlightSpans(function getModifierOccurrences(e,t){return mapDefined(function getNodesToSearchForModifier(e,t){const n=e.parent;switch(n.kind){case 269:case 308:case 242:case 297:case 298:return 64&t&&isClassDeclaration(e)?[...e.members,e]:n.statements;case 177:case 175:case 263:return[...n.parameters,...isClassLike(n.parent)?n.parent.members:[]];case 264:case 232:case 265:case 188:const r=n.members;if(15&t){const e=find(n.members,isConstructorDeclaration);if(e)return[...r,...e.parameters]}else if(64&t)return[...r,n];return r;default:return}}(t,modifierToFlag(e)),t=>findModifier(t,e))}(e.kind,e.parent)):void 0}function getFromAllDeclarations(n,r){return useParent(e.parent,n,e=>{var i;return mapDefined(null==(i=tryCast(e,canHaveSymbol))?void 0:i.symbol.declarations,e=>n(e)?find(e.getChildren(t),e=>contains(r,e.kind)):void 0)})}function useParent(e,n,r){return n(e)?highlightSpans(r(e,t)):void 0}function highlightSpans(e){return e&&e.map(e=>getHighlightSpanForNode(e,t))}}(e,t);return n&&[{fileName:t.fileName,highlightSpans:n}]}(o,n)}})(tc||(tc={}));var rc=(e=>(e[e.exact=0]="exact",e[e.prefix=1]="prefix",e[e.substring=2]="substring",e[e.camelCase=3]="camelCase",e))(rc||{});function createPatternMatch(e,t){return{kind:e,isCaseSensitive:t}}function createPatternMatcher(e){const t=new Map,n=e.trim().split(".").map(e=>function createSegment(e){return{totalTextChunk:createTextChunk(e),subWordTextChunks:breakPatternIntoTextChunks(e)}}(e.trim()));return 1===n.length&&""===n[0].totalTextChunk.text?{getMatchForLastSegmentOfPattern:()=>createPatternMatch(2,!0),getFullMatch:()=>createPatternMatch(2,!0),patternContainsDots:!1}:n.some(e=>!e.subWordTextChunks.length)?void 0:{getFullMatch:(e,r)=>function getFullMatch(e,t,n,r){const i=matchSegment(t,last(n),r);if(!i)return;if(n.length-1>e.length)return;let o;for(let t=n.length-2,i=e.length-1;t>=0;t-=1,i-=1)o=betterMatch(o,matchSegment(e[i],n[t],r));return o}(e,r,n,t),getMatchForLastSegmentOfPattern:e=>matchSegment(e,last(n),t),patternContainsDots:n.length>1}}function getWordSpans(e,t){let n=t.get(e);return n||t.set(e,n=breakIntoWordSpans(e)),n}function matchTextChunk(e,t,n){const r=function indexOfIgnoringCase(e,t){const n=e.length-t.length;for(let r=0;r<=n;r++)if(every2(t,(t,n)=>toLowerCase2(e.charCodeAt(n+r))===t))return r;return-1}(e,t.textLowerCase);if(0===r)return createPatternMatch(t.text.length===e.length?0:1,startsWith(e,t.text));if(t.isLowerCase){if(-1===r)return;const i=getWordSpans(e,n);for(const n of i)if(partStartsWith(e,n,t.text,!0))return createPatternMatch(2,partStartsWith(e,n,t.text,!1));if(t.text.length<e.length&&isUpperCaseLetter(e.charCodeAt(r)))return createPatternMatch(2,!1)}else{if(e.indexOf(t.text)>0)return createPatternMatch(2,!0);if(t.characterSpans.length>0){const r=getWordSpans(e,n),i=!!tryCamelCaseMatch(e,r,t,!1)||!tryCamelCaseMatch(e,r,t,!0)&&void 0;if(void 0!==i)return createPatternMatch(3,i)}}}function matchSegment(e,t,n){if(every2(t.totalTextChunk.text,e=>32!==e&&42!==e)){const r=matchTextChunk(e,t.totalTextChunk,n);if(r)return r}const r=t.subWordTextChunks;let i;for(const t of r)i=betterMatch(i,matchTextChunk(e,t,n));return i}function betterMatch(e,t){return min([e,t],compareMatches)}function compareMatches(e,t){return void 0===e?1:void 0===t?-1:compareValues(e.kind,t.kind)||compareBooleans(!e.isCaseSensitive,!t.isCaseSensitive)}function partStartsWith(e,t,n,r,i={start:0,length:n.length}){return i.length<=t.length&&everyInRange(0,i.length,o=>function equalChars(e,t,n){return n?toLowerCase2(e)===toLowerCase2(t):e===t}(n.charCodeAt(i.start+o),e.charCodeAt(t.start+o),r))}function tryCamelCaseMatch(e,t,n,r){const i=n.characterSpans;let o,a,s=0,c=0;for(;;){if(c===i.length)return!0;if(s===t.length)return!1;let l=t[s],d=!1;for(;c<i.length;c++){const t=i[c];if(d&&(!isUpperCaseLetter(n.text.charCodeAt(i[c-1].start))||!isUpperCaseLetter(n.text.charCodeAt(i[c].start))))break;if(!partStartsWith(e,l,n.text,r,t))break;d=!0,o=void 0===o?s:o,a=void 0===a||a,l=createTextSpan(l.start+t.length,l.length-t.length)}d||void 0===a||(a=!1),s++}}function isUpperCaseLetter(e){if(e>=65&&e<=90)return!0;if(e<127||!isUnicodeIdentifierStart(e,99))return!1;const t=String.fromCharCode(e);return t===t.toUpperCase()}function isLowerCaseLetter(e){if(e>=97&&e<=122)return!0;if(e<127||!isUnicodeIdentifierStart(e,99))return!1;const t=String.fromCharCode(e);return t===t.toLowerCase()}function toLowerCase2(e){return e>=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function isDigit2(e){return e>=48&&e<=57}function isWordChar(e){return isUpperCaseLetter(e)||isLowerCaseLetter(e)||isDigit2(e)||95===e||36===e}function breakPatternIntoTextChunks(e){const t=[];let n=0,r=0;for(let i=0;i<e.length;i++){isWordChar(e.charCodeAt(i))?(0===r&&(n=i),r++):r>0&&(t.push(createTextChunk(e.substr(n,r))),r=0)}return r>0&&t.push(createTextChunk(e.substr(n,r))),t}function createTextChunk(e){const t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:breakIntoCharacterSpans(e)}}function breakIntoCharacterSpans(e){return breakIntoSpans(e,!1)}function breakIntoWordSpans(e){return breakIntoSpans(e,!0)}function breakIntoSpans(e,t){const n=[];let r=0;for(let i=1;i<e.length;i++){const o=isDigit2(e.charCodeAt(i-1)),a=isDigit2(e.charCodeAt(i)),s=transitionFromLowerToUpper(e,t,i),c=t&&transitionFromUpperToLower(e,i,r);(charIsPunctuation(e.charCodeAt(i-1))||charIsPunctuation(e.charCodeAt(i))||o!==a||s||c)&&(isAllPunctuation(e,r,i)||n.push(createTextSpan(r,i-r)),r=i)}return isAllPunctuation(e,r,e.length)||n.push(createTextSpan(r,e.length-r)),n}function charIsPunctuation(e){switch(e){case 33:case 34:case 35:case 37:case 38:case 39:case 40:case 41:case 42:case 44:case 45:case 46:case 47:case 58:case 59:case 63:case 64:case 91:case 92:case 93:case 95:case 123:case 125:return!0}return!1}function isAllPunctuation(e,t,n){return every2(e,e=>charIsPunctuation(e)&&95!==e,t,n)}function transitionFromUpperToLower(e,t,n){return t!==n&&t+1<e.length&&isUpperCaseLetter(e.charCodeAt(t))&&isLowerCaseLetter(e.charCodeAt(t+1))&&every2(e,isUpperCaseLetter,n,t)}function transitionFromLowerToUpper(e,t,n){const r=isUpperCaseLetter(e.charCodeAt(n-1));return isUpperCaseLetter(e.charCodeAt(n))&&(!t||!r)}function everyInRange(e,t,n){for(let r=e;r<t;r++)if(!n(r))return!1;return!0}function every2(e,t,n=0,r=e.length){return everyInRange(n,r,n=>t(e.charCodeAt(n),n))}function preProcessFile(e,t=!0,n=!1){const r={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},i=[];let o,a,s,c=0,l=!1;function nextToken(){return a=s,s=Vs.scan(),19===s?c++:20===s&&c--,s}function getFileReference(){const e=Vs.getTokenValue(),t=Vs.getTokenStart();return{fileName:e,pos:t,end:t+e.length}}function recordModuleName(){i.push(getFileReference()),markAsExternalModuleIfTopLevel()}function markAsExternalModuleIfTopLevel(){0===c&&(l=!0)}function tryConsumeDeclare(){let e=Vs.getToken();return 138===e&&(e=nextToken(),144===e&&(e=nextToken(),11===e&&function recordAmbientExternalModule(){o||(o=[]),o.push({ref:getFileReference(),depth:c})}()),!0)}function tryConsumeImport(){if(25===a)return!1;let e=Vs.getToken();if(102===e){if(e=nextToken(),21===e){if(e=nextToken(),11===e||15===e)return recordModuleName(),!0}else{if(11===e)return recordModuleName(),!0;if(156===e){Vs.lookAhead(()=>{const e=Vs.scan();return 161!==e&&(42===e||19===e||80===e||isKeyword(e))})&&(e=nextToken())}if(80===e||isKeyword(e))if(e=nextToken(),161===e){if(e=nextToken(),11===e)return recordModuleName(),!0}else if(64===e){if(tryConsumeRequireCall(!0))return!0}else{if(28!==e)return!0;e=nextToken()}if(19===e){for(e=nextToken();20!==e&&1!==e;)e=nextToken();20===e&&(e=nextToken(),161===e&&(e=nextToken(),11===e&&recordModuleName()))}else 42===e&&(e=nextToken(),130===e&&(e=nextToken(),(80===e||isKeyword(e))&&(e=nextToken(),161===e&&(e=nextToken(),11===e&&recordModuleName()))))}return!0}return!1}function tryConsumeExport(){let e=Vs.getToken();if(95===e){if(markAsExternalModuleIfTopLevel(),e=nextToken(),156===e){Vs.lookAhead(()=>{const e=Vs.scan();return 42===e||19===e})&&(e=nextToken())}if(19===e){for(e=nextToken();20!==e&&1!==e;)e=nextToken();20===e&&(e=nextToken(),161===e&&(e=nextToken(),11===e&&recordModuleName()))}else if(42===e)e=nextToken(),161===e&&(e=nextToken(),11===e&&recordModuleName());else if(102===e){if(e=nextToken(),156===e){Vs.lookAhead(()=>{const e=Vs.scan();return 80===e||isKeyword(e)})&&(e=nextToken())}if((80===e||isKeyword(e))&&(e=nextToken(),64===e&&tryConsumeRequireCall(!0)))return!0}return!0}return!1}function tryConsumeRequireCall(e,t=!1){let n=e?nextToken():Vs.getToken();return 149===n&&(n=nextToken(),21===n&&(n=nextToken(),(11===n||t&&15===n)&&recordModuleName()),!0)}function tryConsumeDefine(){let e=Vs.getToken();if(80===e&&"define"===Vs.getTokenValue()){if(e=nextToken(),21!==e)return!0;if(e=nextToken(),11===e||15===e){if(e=nextToken(),28!==e)return!0;e=nextToken()}if(23!==e)return!0;for(e=nextToken();24!==e&&1!==e;)11!==e&&15!==e||recordModuleName(),e=nextToken();return!0}return!1}if(t&&function processImports(){for(Vs.setText(e),nextToken();1!==Vs.getToken();){if(16===Vs.getToken()){const e=[Vs.getToken()];e:for(;length(e);){const t=Vs.scan();switch(t){case 1:break e;case 102:tryConsumeImport();break;case 16:e.push(t);break;case 19:length(e)&&e.push(t);break;case 20:length(e)&&(16===lastOrUndefined(e)?18===Vs.reScanTemplateToken(!1)&&e.pop():e.pop())}}nextToken()}tryConsumeDeclare()||tryConsumeImport()||tryConsumeExport()||n&&(tryConsumeRequireCall(!1,!0)||tryConsumeDefine())||nextToken()}Vs.setText(void 0)}(),processCommentPragmas(r,e),processPragmasIntoFields(r,noop),l){if(o)for(const e of o)i.push(e.ref);return{referencedFiles:r.referencedFiles,typeReferenceDirectives:r.typeReferenceDirectives,libReferenceDirectives:r.libReferenceDirectives,importedFiles:i,isLibFile:!!r.hasNoDefaultLib,ambientExternalModules:void 0}}{let e;if(o)for(const t of o)0===t.depth?(e||(e=[]),e.push(t.ref.fileName)):i.push(t.ref);return{referencedFiles:r.referencedFiles,typeReferenceDirectives:r.typeReferenceDirectives,libReferenceDirectives:r.libReferenceDirectives,importedFiles:i,isLibFile:!!r.hasNoDefaultLib,ambientExternalModules:e}}}var ic=/^data:(?:application\/json;charset=[uU][tT][fF]-8;base64,([A-Za-z0-9+/=]+)$)?/;function getSourceMapper(e){const t=createGetCanonicalFileName(e.useCaseSensitiveFileNames()),n=e.getCurrentDirectory(),r=new Map,i=new Map;return{tryGetSourcePosition:function tryGetSourcePosition(e){if(!isDeclarationFileName(e.fileName))return;if(!getSourceFile(e.fileName))return;const t=getDocumentPositionMapper2(e.fileName).getSourcePosition(e);return t&&t!==e?tryGetSourcePosition(t)||t:void 0},tryGetGeneratedPosition:function tryGetGeneratedPosition(t){if(isDeclarationFileName(t.fileName))return;const n=getSourceFile(t.fileName);if(!n)return;const r=e.getProgram();if(r.isSourceOfProjectReferenceRedirect(n.fileName))return;const i=r.getCompilerOptions().outFile,o=i?removeFileExtension(i)+".d.ts":getDeclarationEmitOutputFilePathWorker(t.fileName,r.getCompilerOptions(),r);if(void 0===o)return;const a=getDocumentPositionMapper2(o,t.fileName).getGeneratedPosition(t);return a===t?void 0:a},toLineColumnOffset:function toLineColumnOffset(e,t){return getSourceFileLike(e).getLineAndCharacterOfPosition(t)},clearCache:function clearCache(){r.clear(),i.clear()},documentPositionMappers:i};function toPath3(e){return toPath(e,n,t)}function getDocumentPositionMapper2(n,r){const o=toPath3(n),a=i.get(o);if(a)return a;let s;if(e.getDocumentPositionMapper)s=e.getDocumentPositionMapper(n,r);else if(e.readFile){const r=getSourceFileLike(n);s=r&&getDocumentPositionMapper({getSourceFileLike,getCanonicalFileName:t,log:t=>e.log(t)},n,getLineInfo(r.text,getLineStarts(r)),t=>!e.fileExists||e.fileExists(t)?e.readFile(t):void 0)}return i.set(o,s||ua),s||ua}function getSourceFile(t){const n=e.getProgram();if(!n)return;const r=toPath3(t),i=n.getSourceFileByPath(r);return i&&i.resolvedPath===r?i:void 0}function getOrCreateSourceFileLike(t){const n=toPath3(t),i=r.get(n);if(void 0!==i)return i||void 0;if(!e.readFile||e.fileExists&&!e.fileExists(t))return void r.set(n,!1);const o=e.readFile(t),a=!!o&&function createSourceFileLike(e,t){return{text:e,lineMap:t,getLineAndCharacterOfPosition(e){return computeLineAndCharacterOfPosition(getLineStarts(this),e)}}}(o);return r.set(n,a),a||void 0}function getSourceFileLike(t){return e.getSourceFileLike?e.getSourceFileLike(t):getSourceFile(t)||getOrCreateSourceFileLike(t)}}function getDocumentPositionMapper(e,t,n,r){let i=tryGetSourceMappingURL(n);if(i){const n=ic.exec(i);if(n){if(n[1]){const r=n[1];return convertDocumentToSourceMapper(e,base64decode(kt,r),t)}i=void 0}}const o=[];i&&o.push(i),o.push(t+".map");const a=i&&getNormalizedAbsolutePath(i,getDirectoryPath(t));for(const n of o){const i=getNormalizedAbsolutePath(n,getDirectoryPath(t)),o=r(i,a);if(isString(o))return convertDocumentToSourceMapper(e,o,i);if(void 0!==o)return o||void 0}}function convertDocumentToSourceMapper(e,t,n){const r=tryParseRawSourceMap(t);if(r&&r.sources&&r.file&&r.mappings&&(!r.sourcesContent||!r.sourcesContent.some(isString)))return createDocumentPositionMapper(e,r,n)}var oc=new Map;function computeSuggestionDiagnostics(e,t,n){var r;t.getSemanticDiagnostics(e,n);const i=[],o=t.getTypeChecker();!(1===t.getImpliedNodeFormatForEmit(e)||fileExtensionIsOneOf(e.fileName,[".cts",".cjs"]))&&e.commonJsModuleIndicator&&(programContainsEsModules(t)||compilerOptionsIndicateEsModules(t.getCompilerOptions()))&&function containsTopLevelCommonjs(e){return e.statements.some(e=>{switch(e.kind){case 244:return e.declarationList.declarations.some(e=>!!e.initializer&&isRequireCall(propertyAccessLeftHandSide(e.initializer),!0));case 245:{const{expression:t}=e;if(!isBinaryExpression(t))return isRequireCall(t,!0);const n=getAssignmentDeclarationKind(t);return 1===n||2===n}default:return!1}})}(e)&&i.push(createDiagnosticForNode(function getErrorNodeFromCommonJsIndicator(e){return isBinaryExpression(e)?e.left:e}(e.commonJsModuleIndicator),Ot.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module));const a=isSourceFileJS(e);if(oc.clear(),function check(t){if(a)(function canBeConvertedToClass(e,t){var n,r,i,o;if(isFunctionExpression(e)){if(isVariableDeclaration(e.parent)&&(null==(n=e.symbol.members)?void 0:n.size))return!0;const o=t.getSymbolOfExpando(e,!1);return!(!o||!(null==(r=o.exports)?void 0:r.size)&&!(null==(i=o.members)?void 0:i.size))}if(isFunctionDeclaration(e))return!!(null==(o=e.symbol.members)?void 0:o.size);return!1})(t,o)&&i.push(createDiagnosticForNode(isVariableDeclaration(t.parent)?t.parent.name:t,Ot.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(isVariableStatement(t)&&t.parent===e&&2&t.declarationList.flags&&1===t.declarationList.declarations.length){const e=t.declarationList.declarations[0].initializer;e&&isRequireCall(e,!0)&&i.push(createDiagnosticForNode(e,Ot.require_call_may_be_converted_to_an_import))}const n=ed.getJSDocTypedefNodes(t);for(const e of n)i.push(createDiagnosticForNode(e,Ot.JSDoc_typedef_may_be_converted_to_TypeScript_type));ed.parameterShouldGetTypeFromJSDoc(t)&&i.push(createDiagnosticForNode(t.name||t,Ot.JSDoc_types_may_be_moved_to_TypeScript_types))}canBeConvertedToAsync(t)&&function addConvertToAsyncFunctionDiagnostics(e,t,n){(function isConvertibleFunction(e,t){return!isAsyncFunction(e)&&e.body&&isBlock(e.body)&&function hasReturnStatementWithPromiseHandler(e,t){return!!forEachReturnStatement(e,e=>isReturnStatementWithFixablePromiseHandler(e,t))}(e.body,t)&&returnsPromise(e,t)})(e,t)&&!oc.has(getKeyFromNode(e))&&n.push(createDiagnosticForNode(!e.name&&isVariableDeclaration(e.parent)&&isIdentifier(e.parent.name)?e.parent.name:e,Ot.This_may_be_converted_to_an_async_function))}(t,o,i);t.forEachChild(check)}(e),$n(t.getCompilerOptions()))for(const n of e.imports){const o=importFromModuleSpecifier(n);if(isImportEqualsDeclaration(o)&&hasSyntacticModifier(o,32))continue;const a=importNameForConvertToDefaultImport(o);if(!a)continue;const s=null==(r=t.getResolvedModuleFromModuleSpecifier(n,e))?void 0:r.resolvedModule,c=s&&t.getSourceFile(s.resolvedFileName);c&&c.externalModuleIndicator&&!0!==c.externalModuleIndicator&&isExportAssignment(c.externalModuleIndicator)&&c.externalModuleIndicator.isExportEquals&&i.push(createDiagnosticForNode(a,Ot.Import_may_be_converted_to_a_default_import))}return addRange(i,e.bindSuggestionDiagnostics),addRange(i,t.getSuggestionDiagnostics(e,n)),i.sort((e,t)=>e.start-t.start),i}function propertyAccessLeftHandSide(e){return isPropertyAccessExpression(e)?propertyAccessLeftHandSide(e.expression):e}function importNameForConvertToDefaultImport(e){switch(e.kind){case 273:const{importClause:t,moduleSpecifier:n}=e;return t&&!t.name&&t.namedBindings&&275===t.namedBindings.kind&&isStringLiteral(n)?t.namedBindings.name:void 0;case 272:return e.name;default:return}}function returnsPromise(e,t){const n=t.getSignatureFromDeclaration(e),r=n?t.getReturnTypeOfSignature(n):void 0;return!!r&&!!t.getPromisedTypeOfPromise(r)}function isReturnStatementWithFixablePromiseHandler(e,t){return isReturnStatement(e)&&!!e.expression&&isFixablePromiseHandler(e.expression,t)}function isFixablePromiseHandler(e,t){if(!isPromiseHandler(e)||!hasSupportedNumberOfArguments(e)||!e.arguments.every(e=>isFixablePromiseArgument(e,t)))return!1;let n=e.expression.expression;for(;isPromiseHandler(n)||isPropertyAccessExpression(n);)if(isCallExpression(n)){if(!hasSupportedNumberOfArguments(n)||!n.arguments.every(e=>isFixablePromiseArgument(e,t)))return!1;n=n.expression.expression}else n=n.expression;return!0}function isPromiseHandler(e){return isCallExpression(e)&&(hasPropertyAccessExpressionWithName(e,"then")||hasPropertyAccessExpressionWithName(e,"catch")||hasPropertyAccessExpressionWithName(e,"finally"))}function hasSupportedNumberOfArguments(e){const t=e.expression.name.text,n="then"===t?2:"catch"===t||"finally"===t?1:0;return!(e.arguments.length>n)&&(e.arguments.length<n||(1===n||some(e.arguments,e=>106===e.kind||isIdentifier(e)&&"undefined"===e.text)))}function isFixablePromiseArgument(e,t){switch(e.kind){case 263:case 219:if(1&getFunctionFlags(e))return!1;case 220:oc.set(getKeyFromNode(e),!0);case 106:return!0;case 80:case 212:{const n=t.getSymbolAtLocation(e);return!!n&&(t.isUndefinedSymbol(n)||some(skipAlias(n,t).declarations,e=>isFunctionLike(e)||hasInitializer(e)&&!!e.initializer&&isFunctionLike(e.initializer)))}default:return!1}}function getKeyFromNode(e){return`${e.pos.toString()}:${e.end.toString()}`}function canBeConvertedToAsync(e){switch(e.kind){case 263:case 175:case 219:case 220:return!0;default:return!1}}var ac=new Set(["isolatedModules"]);function transpileModule(e,t){return transpileWorker(e,t,!1)}function transpileDeclaration(e,t){return transpileWorker(e,t,!0)}var sc,cc,lc='/// <reference no-default-lib="true"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number {}\ninterface Object {}\ninterface RegExp {}\ninterface String {}\ninterface Array<T> { length: number; [n: number]: T; }\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}',dc="lib.d.ts";function transpileWorker(e,t,n){sc??(sc=createSourceFile(dc,lc,{languageVersion:99}));const r=[],i=t.compilerOptions?fixupCompilerOptions(t.compilerOptions,r):{},o={target:1,jsx:1};for(const e in o)hasProperty(o,e)&&void 0===i[e]&&(i[e]=o[e]);for(const e of ro)i.verbatimModuleSyntax&&ac.has(e.name)||(i[e.name]=e.transpileOptionValue);i.suppressOutputPathCheck=!0,i.allowNonTsExtensions=!0,n?(i.declaration=!0,i.emitDeclarationOnly=!0,i.isolatedDeclarations=!0):(i.declaration=!1,i.declarationMap=!1);const a=getNewLineCharacter(i),s={getSourceFile:e=>e===normalizePath(c)?l:e===normalizePath(dc)?sc:void 0,writeFile:(e,t)=>{fileExtensionIs(e,".map")?(h.assertEqual(p,void 0,"Unexpected multiple source map outputs, file:",e),p=t):(h.assertEqual(d,void 0,"Unexpected multiple outputs, file:",e),d=t)},getDefaultLibFileName:()=>dc,useCaseSensitiveFileNames:()=>!1,getCanonicalFileName:e=>e,getCurrentDirectory:()=>"",getNewLine:()=>a,fileExists:e=>e===c||!!n&&e===dc,readFile:()=>"",directoryExists:()=>!0,getDirectories:()=>[]},c=t.fileName||(t.compilerOptions&&t.compilerOptions.jsx?"module.tsx":"module.ts"),l=createSourceFile(c,e,{languageVersion:zn(i),impliedNodeFormat:getImpliedNodeFormatForFile(toPath(c,"",s.getCanonicalFileName),void 0,s,i),setExternalModuleIndicator:getSetExternalModuleIndicator(i),jsDocParsingMode:t.jsDocParsingMode??0});let d,p;t.moduleName&&(l.moduleName=t.moduleName),t.renamedDependencies&&(l.renamedDependencies=new Map(Object.entries(t.renamedDependencies)));const u=createProgram(n?[c,dc]:[c],i,s);t.reportDiagnostics&&(addRange(r,u.getSyntacticDiagnostics(l)),addRange(r,u.getOptionsDiagnostics()));return addRange(r,u.emit(void 0,void 0,void 0,n,t.transformers,n).diagnostics),void 0===d?h.fail("Output generation failed"):{outputText:d,diagnostics:r,sourceMapText:p}}function transpile(e,t,n,r,i){const o=transpileModule(e,{compilerOptions:t,fileName:n,reportDiagnostics:!!r,moduleName:i});return addRange(r,o.diagnostics),o.outputText}function fixupCompilerOptions(e,t){cc=cc||filter(Qi,e=>"object"==typeof e.type&&!forEachEntry(e.type,e=>"number"!=typeof e)),e=cloneCompilerOptions(e);for(const n of cc){if(!hasProperty(e,n.name))continue;const r=e[n.name];isString(r)?e[n.name]=parseCustomTypeOption(n,r,t):forEachEntry(n.type,e=>e===r)||t.push(createCompilerDiagnosticForInvalidCustomType(n))}return e}var pc={};function getNavigateToItems(e,t,n,r,i,o,a){const s=createPatternMatcher(r);if(!s)return l;const c=[],d=1===e.length?e[0]:void 0;for(const r of e)n.throwIfCancellationRequested(),o&&r.isDeclarationFile||shouldExcludeFile(r,!!a,d)||r.getNamedDeclarations().forEach((e,n)=>{getItemsFromNamedDeclaration(s,n,e,t,r.fileName,!!a,d,c)});return c.sort(compareNavigateToItems),(void 0===i?c:c.slice(0,i)).map(createNavigateToItem)}function shouldExcludeFile(e,t,n){return e!==n&&t&&(isInsideNodeModules(e.path)||e.hasNoDefaultLib)}function getItemsFromNamedDeclaration(e,t,n,r,i,o,a,s){const c=e.getMatchForLastSegmentOfPattern(t);if(c)for(const l of n)if(shouldKeepItem(l,r,o,a))if(e.patternContainsDots){const n=e.getFullMatch(getContainers(l),t);n&&s.push({name:t,fileName:i,matchKind:n.kind,isCaseSensitive:n.isCaseSensitive,declaration:l})}else s.push({name:t,fileName:i,matchKind:c.kind,isCaseSensitive:c.isCaseSensitive,declaration:l})}function shouldKeepItem(e,t,n,r){var i;switch(e.kind){case 274:case 277:case 272:const o=t.getSymbolAtLocation(e.name),a=t.getAliasedSymbol(o);return o.escapedName!==a.escapedName&&!(null==(i=a.declarations)?void 0:i.every(e=>shouldExcludeFile(e.getSourceFile(),n,r)));default:return!0}}function tryAddSingleDeclarationName(e,t){const n=getNameOfDeclaration(e);return!!n&&(pushLiteral(n,t)||168===n.kind&&tryAddComputedPropertyName(n.expression,t))}function tryAddComputedPropertyName(e,t){return pushLiteral(e,t)||isPropertyAccessExpression(e)&&(t.push(e.name.text),!0)&&tryAddComputedPropertyName(e.expression,t)}function pushLiteral(e,t){return isPropertyNameLiteral(e)&&(t.push(getTextOfIdentifierOrLiteral(e)),!0)}function getContainers(e){const t=[],n=getNameOfDeclaration(e);if(n&&168===n.kind&&!tryAddComputedPropertyName(n.expression,t))return l;t.shift();let r=getContainerNode(e);for(;r;){if(!tryAddSingleDeclarationName(r,t))return l;r=getContainerNode(r)}return t.reverse(),t}function compareNavigateToItems(e,t){return compareValues(e.matchKind,t.matchKind)||compareStringsCaseSensitiveUI(e.name,t.name)}function createNavigateToItem(e){const t=e.declaration,n=getContainerNode(t),r=n&&getNameOfDeclaration(n);return{name:e.name,kind:getNodeKind(t),kindModifiers:getNodeModifiers(t),matchKind:rc[e.matchKind],isCaseSensitive:e.isCaseSensitive,fileName:e.fileName,textSpan:createTextSpanFromNode(t),containerName:r?r.text:"",containerKind:r?getNodeKind(n):""}}i(pc,{getNavigateToItems:()=>getNavigateToItems});var uc={};i(uc,{getNavigationBarItems:()=>getNavigationBarItems,getNavigationTree:()=>getNavigationTree});var mc,_c,fc,gc,yc=/\s+/g,hc=150,Tc=[],Sc=[],xc=[];function getNavigationBarItems(e,t){mc=t,_c=e;try{return map(function primaryNavBarMenuItems(e){const t=[];function recur(e){if(shouldAppearInPrimaryNavBarMenu(e)&&(t.push(e),e.children))for(const t of e.children)recur(t)}return recur(e),t;function shouldAppearInPrimaryNavBarMenu(e){if(e.children)return!0;switch(navigationBarNodeKind(e)){case 264:case 232:case 267:case 265:case 268:case 308:case 266:case 347:case 339:return!0;case 220:case 263:case 219:return isTopLevelFunctionDeclaration(e);default:return!1}function isTopLevelFunctionDeclaration(e){if(!e.node.body)return!1;switch(navigationBarNodeKind(e.parent)){case 269:case 308:case 175:case 177:return!0;default:return!1}}}}(rootNavigationBarNode(e)),convertToPrimaryNavBarMenuItem)}finally{reset()}}function getNavigationTree(e,t){mc=t,_c=e;try{return convertToTree(rootNavigationBarNode(e))}finally{reset()}}function reset(){_c=void 0,mc=void 0,Tc=[],fc=void 0,xc=[]}function nodeText(e){return cleanText(e.getText(_c))}function navigationBarNodeKind(e){return e.node.kind}function pushChild(e,t){e.children?e.children.push(t):e.children=[t]}function rootNavigationBarNode(e){h.assert(!Tc.length);const t={node:e,name:void 0,additionalNodes:void 0,parent:void 0,children:void 0,indent:0};fc=t;for(const t of e.statements)addChildrenRecursively(t);return endNode(),h.assert(!fc&&!Tc.length),t}function addLeafNode(e,t){pushChild(fc,emptyNavigationBarNode(e,t))}function emptyNavigationBarNode(e,t){return{node:e,name:t||(isDeclaration(e)||isExpression(e)?getNameOfDeclaration(e):void 0),additionalNodes:void 0,parent:fc,children:void 0,indent:fc.indent+1}}function addTrackedEs5Class(e){gc||(gc=new Map),gc.set(e,!0)}function endNestedNodes(e){for(let t=0;t<e;t++)endNode()}function startNestedNodes(e,t){const n=[];for(;!isPropertyNameLiteral(t);){const e=getNameOrArgument(t),r=getElementOrPropertyAccessName(t);t=t.expression,"prototype"===r||isPrivateIdentifier(e)||n.push(e)}n.push(t);for(let t=n.length-1;t>0;t--){startNode(e,n[t])}return[n.length-1,n[0]]}function startNode(e,t){const n=emptyNavigationBarNode(e,t);pushChild(fc,n),Tc.push(fc),Sc.push(gc),gc=void 0,fc=n}function endNode(){fc.children&&(mergeChildren(fc.children,fc),sortChildren(fc.children)),fc=Tc.pop(),gc=Sc.pop()}function addNodeWithRecursiveChild(e,t,n){startNode(e,n),addChildrenRecursively(t),endNode()}function addNodeWithRecursiveInitializer(e){e.initializer&&function isFunctionOrClassExpression(e){switch(e.kind){case 220:case 219:case 232:return!0;default:return!1}}(e.initializer)?(startNode(e),forEachChild(e.initializer,addChildrenRecursively),endNode()):addNodeWithRecursiveChild(e,e.initializer)}function hasNavigationBarName(e){const t=getNameOfDeclaration(e);if(void 0===t)return!1;if(isComputedPropertyName(t)){const e=t.expression;return isEntityNameExpression(e)||isNumericLiteral(e)||isStringOrNumericLiteralLike(e)}return!!t}function addChildrenRecursively(e){if(mc.throwIfCancellationRequested(),e&&!isToken(e))switch(e.kind){case 177:const t=e;addNodeWithRecursiveChild(t,t.body);for(const e of t.parameters)isParameterPropertyDeclaration(e,t)&&addLeafNode(e);break;case 175:case 178:case 179:case 174:hasNavigationBarName(e)&&addNodeWithRecursiveChild(e,e.body);break;case 173:hasNavigationBarName(e)&&addNodeWithRecursiveInitializer(e);break;case 172:hasNavigationBarName(e)&&addLeafNode(e);break;case 274:const n=e;n.name&&addLeafNode(n.name);const{namedBindings:r}=n;if(r)if(275===r.kind)addLeafNode(r);else for(const e of r.elements)addLeafNode(e);break;case 305:addNodeWithRecursiveChild(e,e.name);break;case 306:const{expression:i}=e;isIdentifier(i)?addLeafNode(e,i):addLeafNode(e);break;case 209:case 304:case 261:{const t=e;isBindingPattern(t.name)?addChildrenRecursively(t.name):addNodeWithRecursiveInitializer(t);break}case 263:const o=e.name;o&&isIdentifier(o)&&addTrackedEs5Class(o.text),addNodeWithRecursiveChild(e,e.body);break;case 220:case 219:addNodeWithRecursiveChild(e,e.body);break;case 267:startNode(e);for(const t of e.members)isComputedProperty(t)||addLeafNode(t);endNode();break;case 264:case 232:case 265:startNode(e);for(const t of e.members)addChildrenRecursively(t);endNode();break;case 268:addNodeWithRecursiveChild(e,getInteriorModule(e).body);break;case 278:{const t=e.expression,n=isObjectLiteralExpression(t)||isCallExpression(t)?t:isArrowFunction(t)||isFunctionExpression(t)?t.body:void 0;n?(startNode(e),addChildrenRecursively(n),endNode()):addLeafNode(e);break}case 282:case 272:case 182:case 180:case 181:case 266:addLeafNode(e);break;case 214:case 227:{const t=getAssignmentDeclarationKind(e);switch(t){case 1:case 2:return void addNodeWithRecursiveChild(e,e.right);case 6:case 3:{const n=e,r=n.left,i=3===t?r.expression:r;let o,a=0;return isIdentifier(i.expression)?(addTrackedEs5Class(i.expression.text),o=i.expression):[a,o]=startNestedNodes(n,i.expression),6===t?isObjectLiteralExpression(n.right)&&n.right.properties.length>0&&(startNode(n,o),forEachChild(n.right,addChildrenRecursively),endNode()):isFunctionExpression(n.right)||isArrowFunction(n.right)?addNodeWithRecursiveChild(e,n.right,o):(startNode(n,o),addNodeWithRecursiveChild(e,n.right,r.name),endNode()),void endNestedNodes(a)}case 7:case 9:{const n=e,r=7===t?n.arguments[0]:n.arguments[0].expression,i=n.arguments[1],[o,a]=startNestedNodes(e,r);return startNode(e,a),startNode(e,setTextRange(Wr.createIdentifier(i.text),i)),addChildrenRecursively(e.arguments[2]),endNode(),endNode(),void endNestedNodes(o)}case 5:{const t=e,n=t.left,r=n.expression;if(isIdentifier(r)&&"prototype"!==getElementOrPropertyAccessName(n)&&gc&&gc.has(r.text))return void(isFunctionExpression(t.right)||isArrowFunction(t.right)?addNodeWithRecursiveChild(e,t.right,r):isBindableStaticAccessExpression(n)&&(startNode(t,r),addNodeWithRecursiveChild(t.left,t.right,getNameOrArgument(n)),endNode()));break}case 4:case 0:case 8:break;default:h.assertNever(t)}}default:hasJSDocNodes(e)&&forEach(e.jsDoc,e=>{forEach(e.tags,e=>{isJSDocTypeAlias(e)&&addLeafNode(e)})}),forEachChild(e,addChildrenRecursively)}}function mergeChildren(e,t){const n=new Map;filterMutate(e,(e,r)=>{const i=e.name||getNameOfDeclaration(e.node),o=i&&nodeText(i);if(!o)return!0;const a=n.get(o);if(!a)return n.set(o,e),!0;if(a instanceof Array){for(const n of a)if(tryMerge(n,e,r,t))return!1;return a.push(e),!0}{const i=a;return!tryMerge(i,e,r,t)&&(n.set(o,[i,e]),!0)}})}var vc={5:!0,3:!0,7:!0,9:!0,0:!1,1:!1,2:!1,8:!1,6:!0,4:!1};function tryMerge(e,t,n,r){return!!function tryMergeEs5Class(e,t,n,r){function isPossibleConstructor(e){return isFunctionExpression(e)||isFunctionDeclaration(e)||isVariableDeclaration(e)}const i=isBinaryExpression(t.node)||isCallExpression(t.node)?getAssignmentDeclarationKind(t.node):0,o=isBinaryExpression(e.node)||isCallExpression(e.node)?getAssignmentDeclarationKind(e.node):0;if(vc[i]&&vc[o]||isPossibleConstructor(e.node)&&vc[i]||isPossibleConstructor(t.node)&&vc[o]||isClassDeclaration(e.node)&&isSynthesized(e.node)&&vc[i]||isClassDeclaration(t.node)&&vc[o]||isClassDeclaration(e.node)&&isSynthesized(e.node)&&isPossibleConstructor(t.node)||isClassDeclaration(t.node)&&isPossibleConstructor(e.node)&&isSynthesized(e.node)){let i=e.additionalNodes&&lastOrUndefined(e.additionalNodes)||e.node;if(!isClassDeclaration(e.node)&&!isClassDeclaration(t.node)||isPossibleConstructor(e.node)||isPossibleConstructor(t.node)){const n=isPossibleConstructor(e.node)?e.node:isPossibleConstructor(t.node)?t.node:void 0;if(void 0!==n){const r=emptyNavigationBarNode(setTextRange(Wr.createConstructorDeclaration(void 0,[],void 0),n));r.indent=e.indent+1,r.children=e.node===n?e.children:t.children,e.children=e.node===n?concatenate([r],t.children||[t]):concatenate(e.children||[{...e}],[r])}else(e.children||t.children)&&(e.children=concatenate(e.children||[{...e}],t.children||[t]),e.children&&(mergeChildren(e.children,e),sortChildren(e.children)));i=e.node=setTextRange(Wr.createClassDeclaration(void 0,e.name||Wr.createIdentifier("__class__"),void 0,void 0,[]),e.node)}else e.children=concatenate(e.children,t.children),e.children&&mergeChildren(e.children,e);const o=t.node;return r.children[n-1].node.end===i.end?setTextRange(i,{pos:i.pos,end:o.end}):(e.additionalNodes||(e.additionalNodes=[]),e.additionalNodes.push(setTextRange(Wr.createClassDeclaration(void 0,e.name||Wr.createIdentifier("__class__"),void 0,void 0,[]),t.node))),!0}return 0!==i}(e,t,n,r)||!!function shouldReallyMerge(e,t,n){if(e.kind!==t.kind||e.parent!==t.parent&&(!isOwnChild(e,n)||!isOwnChild(t,n)))return!1;switch(e.kind){case 173:case 175:case 178:case 179:return isStatic(e)===isStatic(t);case 268:return areSameModule(e,t)&&getFullyQualifiedModuleName(e)===getFullyQualifiedModuleName(t);default:return!0}}(e.node,t.node,r)&&(function merge(e,t){e.additionalNodes=e.additionalNodes||[],e.additionalNodes.push(t.node),t.additionalNodes&&e.additionalNodes.push(...t.additionalNodes);e.children=concatenate(e.children,t.children),e.children&&(mergeChildren(e.children,e),sortChildren(e.children))}(e,t),!0)}function isSynthesized(e){return!!(16&e.flags)}function isOwnChild(e,t){if(void 0===e.parent)return!1;const n=isModuleBlock(e.parent)?e.parent.parent:e.parent;return n===t.node||contains(t.additionalNodes,n)}function areSameModule(e,t){return e.body&&t.body?e.body.kind===t.body.kind&&(268!==e.body.kind||areSameModule(e.body,t.body)):e.body===t.body}function sortChildren(e){e.sort(compareChildren)}function compareChildren(e,t){return compareStringsCaseSensitiveUI(tryGetName(e.node),tryGetName(t.node))||compareValues(navigationBarNodeKind(e),navigationBarNodeKind(t))}function tryGetName(e){if(268===e.kind)return getModuleName(e);const t=getNameOfDeclaration(e);if(t&&isPropertyName(t)){const e=getPropertyNameForPropertyNameNode(t);return e&&unescapeLeadingUnderscores(e)}switch(e.kind){case 219:case 220:case 232:return getFunctionOrClassName(e);default:return}}function getItemName(e,t){if(268===e.kind)return cleanText(getModuleName(e));if(t){const e=isIdentifier(t)?t.text:isElementAccessExpression(t)?`[${nodeText(t.argumentExpression)}]`:nodeText(t);if(e.length>0)return cleanText(e)}switch(e.kind){case 308:const t=e;return isExternalModule(t)?`"${escapeString(getBaseFileName(removeFileExtension(normalizePath(t.fileName))))}"`:"<global>";case 278:return isExportAssignment(e)&&e.isExportEquals?"export=":"default";case 220:case 263:case 219:case 264:case 232:return 2048&getSyntacticModifierFlags(e)?"default":getFunctionOrClassName(e);case 177:return"constructor";case 181:return"new()";case 180:return"()";case 182:return"[]";default:return"<unknown>"}}function convertToTree(e){return{text:getItemName(e.node,e.name),kind:getNodeKind(e.node),kindModifiers:getModifiers2(e.node),spans:getSpans(e),nameSpan:e.name&&getNodeSpan(e.name),childItems:map(e.children,convertToTree)}}function convertToPrimaryNavBarMenuItem(e){return{text:getItemName(e.node,e.name),kind:getNodeKind(e.node),kindModifiers:getModifiers2(e.node),spans:getSpans(e),childItems:map(e.children,function convertToSecondaryNavBarMenuItem(e){return{text:getItemName(e.node,e.name),kind:getNodeKind(e.node),kindModifiers:getNodeModifiers(e.node),spans:getSpans(e),childItems:xc,indent:0,bolded:!1,grayed:!1}})||xc,indent:e.indent,bolded:!1,grayed:!1}}function getSpans(e){const t=[getNodeSpan(e.node)];if(e.additionalNodes)for(const n of e.additionalNodes)t.push(getNodeSpan(n));return t}function getModuleName(e){return isAmbientModule(e)?getTextOfNode(e.name):getFullyQualifiedModuleName(e)}function getFullyQualifiedModuleName(e){const t=[getTextOfIdentifierOrLiteral(e.name)];for(;e.body&&268===e.body.kind;)e=e.body,t.push(getTextOfIdentifierOrLiteral(e.name));return t.join(".")}function getInteriorModule(e){return e.body&&isModuleDeclaration(e.body)?getInteriorModule(e.body):e}function isComputedProperty(e){return!e.name||168===e.name.kind}function getNodeSpan(e){return 308===e.kind?createTextSpanFromRange(e):createTextSpanFromNode(e,_c)}function getModifiers2(e){return e.parent&&261===e.parent.kind&&(e=e.parent),getNodeModifiers(e)}function getFunctionOrClassName(e){const{parent:t}=e;if(e.name&&getFullWidth(e.name)>0)return cleanText(declarationNameToString(e.name));if(isVariableDeclaration(t))return cleanText(declarationNameToString(t.name));if(isBinaryExpression(t)&&64===t.operatorToken.kind)return nodeText(t.left).replace(yc,"");if(isPropertyAssignment(t))return nodeText(t.name);if(2048&getSyntacticModifierFlags(e))return"default";if(isClassLike(e))return"<class>";if(isCallExpression(t)){let e=getCalledExpressionName(t.expression);if(void 0!==e){if(e=cleanText(e),e.length>hc)return`${e} callback`;return`${e}(${cleanText(mapDefined(t.arguments,e=>isStringLiteralLike(e)||isTemplateLiteral(e)?e.getText(_c):void 0).join(", "))}) callback`}}return"<function>"}function getCalledExpressionName(e){if(isIdentifier(e))return e.text;if(isPropertyAccessExpression(e)){const t=getCalledExpressionName(e.expression),n=e.name.text;return void 0===t?n:`${t}.${n}`}}function cleanText(e){return(e=e.length>hc?e.substring(0,hc)+"...":e).replace(/\\?(?:\r?\n|[\r\u2028\u2029])/g,"")}var bc={};i(bc,{addExportsInOldFile:()=>addExportsInOldFile,addImportsForMovedSymbols:()=>addImportsForMovedSymbols,addNewFileToTsconfig:()=>addNewFileToTsconfig,addOrRemoveBracesToArrowFunction:()=>zc,addTargetFileImports:()=>addTargetFileImports,containsJsx:()=>containsJsx,convertArrowFunctionOrFunctionExpression:()=>Xc,convertParamsToDestructuredObject:()=>rl,convertStringOrTemplateLiteral:()=>sl,convertToOptionalChainExpression:()=>pl,createNewFileName:()=>createNewFileName,doChangeNamedToNamespaceOrDefault:()=>doChangeNamedToNamespaceOrDefault,extractSymbol:()=>fl,generateGetAccessorAndSetAccessor:()=>xl,getApplicableRefactors:()=>getApplicableRefactors,getEditsForRefactor:()=>getEditsForRefactor,getExistingLocals:()=>getExistingLocals,getIdentifierForNode:()=>getIdentifierForNode,getNewStatementsAndRemoveFromOldFile:()=>getNewStatementsAndRemoveFromOldFile,getStatementsToMove:()=>getStatementsToMove,getUsageInfo:()=>getUsageInfo,inferFunctionReturnType:()=>El,isInImport:()=>isInImport,isRefactorErrorInfo:()=>isRefactorErrorInfo,refactorKindBeginsWith:()=>refactorKindBeginsWith,registerRefactor:()=>registerRefactor});var Cc=new Map;function registerRefactor(e,t){Cc.set(e,t)}function getApplicableRefactors(e,t){return arrayFrom(flatMapIterator(Cc.values(),n=>{var r;return e.cancellationToken&&e.cancellationToken.isCancellationRequested()||!(null==(r=n.kinds)?void 0:r.some(t=>refactorKindBeginsWith(t,e.kind)))?void 0:n.getAvailableActions(e,t)}))}function getEditsForRefactor(e,t,n,r){const i=Cc.get(t);return i&&i.getEditsForAction(e,n,r)}var Ec="Convert export",Nc={name:"Convert default export to named export",description:getLocaleSpecificMessage(Ot.Convert_default_export_to_named_export),kind:"refactor.rewrite.export.named"},kc={name:"Convert named export to default export",description:getLocaleSpecificMessage(Ot.Convert_named_export_to_default_export),kind:"refactor.rewrite.export.default"};function getInfo2(e,t=!0){const{file:n,program:r}=e,i=getRefactorContextSpan(e),o=getTokenAtPosition(n,i.start),a=o.parent&&32&getSyntacticModifierFlags(o.parent)&&t?o.parent:getParentNodeInSpan(o,n,i);if(!(a&&(isSourceFile(a.parent)||isModuleBlock(a.parent)&&isAmbientModule(a.parent.parent))))return{error:getLocaleSpecificMessage(Ot.Could_not_find_export_statement)};const s=r.getTypeChecker(),c=function getExportingModuleSymbol(e,t){if(isSourceFile(e))return e.symbol;const n=e.parent.symbol;if(n.valueDeclaration&&isExternalModuleAugmentation(n.valueDeclaration))return t.getMergedSymbol(n);return n}(a.parent,s),l=getSyntacticModifierFlags(a)||(isExportAssignment(a)&&!a.isExportEquals?2080:0),d=!!(2048&l);if(!(32&l)||!d&&c.exports.has("default"))return{error:getLocaleSpecificMessage(Ot.This_file_already_has_a_default_export)};const noSymbolError=e=>isIdentifier(e)&&s.getSymbolAtLocation(e)?void 0:{error:getLocaleSpecificMessage(Ot.Can_only_convert_named_export)};switch(a.kind){case 263:case 264:case 265:case 267:case 266:case 268:{const e=a;if(!e.name)return;return noSymbolError(e.name)||{exportNode:e,exportName:e.name,wasDefault:d,exportingModuleSymbol:c}}case 244:{const e=a;if(!(2&e.declarationList.flags)||1!==e.declarationList.declarations.length)return;const t=first(e.declarationList.declarations);if(!t.initializer)return;return h.assert(!d,"Can't have a default flag here"),noSymbolError(t.name)||{exportNode:e,exportName:t.name,wasDefault:d,exportingModuleSymbol:c}}case 278:{const e=a;if(e.isExportEquals)return;return noSymbolError(e.expression)||{exportNode:e,exportName:e.expression,wasDefault:d,exportingModuleSymbol:c}}default:return}}function makeImportSpecifier(e,t){return Wr.createImportSpecifier(!1,e===t?void 0:Wr.createIdentifier(e),Wr.createIdentifier(t))}function makeExportSpecifier(e,t){return Wr.createExportSpecifier(!1,e===t?void 0:Wr.createIdentifier(e),Wr.createIdentifier(t))}registerRefactor(Ec,{kinds:[Nc.kind,kc.kind],getAvailableActions:function getRefactorActionsToConvertBetweenNamedAndDefaultExports(e){const t=getInfo2(e,"invoked"===e.triggerReason);if(!t)return l;if(!isRefactorErrorInfo(t)){const e=t.wasDefault?Nc:kc;return[{name:Ec,description:e.description,actions:[e]}]}return e.preferences.provideRefactorNotApplicableReason?[{name:Ec,description:getLocaleSpecificMessage(Ot.Convert_default_export_to_named_export),actions:[{...Nc,notApplicableReason:t.error},{...kc,notApplicableReason:t.error}]}]:l},getEditsForAction:function getRefactorEditsToConvertBetweenNamedAndDefaultExports(e,t){h.assert(t===Nc.name||t===kc.name,"Unexpected action name");const n=getInfo2(e);h.assert(n&&!isRefactorErrorInfo(n),"Expected applicable refactor info");const r=$m.ChangeTracker.with(e,t=>function doChange(e,t,n,r,i){(function changeExport(e,{wasDefault:t,exportNode:n,exportName:r},i,o){if(t)if(isExportAssignment(n)&&!n.isExportEquals){const t=n.expression,r=makeExportSpecifier(t.text,t.text);i.replaceNode(e,n,Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports([r])))}else i.delete(e,h.checkDefined(findModifier(n,90),"Should find a default keyword in modifier list"));else{const t=h.checkDefined(findModifier(n,95),"Should find an export keyword in modifier list");switch(n.kind){case 263:case 264:case 265:i.insertNodeAfter(e,t,Wr.createToken(90));break;case 244:const a=first(n.declarationList.declarations);if(!vm.Core.isSymbolReferencedInFile(r,o,e)&&!a.type){i.replaceNode(e,n,Wr.createExportDefault(h.checkDefined(a.initializer,"Initializer was previously known to be present")));break}case 267:case 266:case 268:i.deleteModifier(e,t),i.insertNodeAfter(e,n,Wr.createExportDefault(Wr.createIdentifier(r.text)));break;default:h.fail(`Unexpected exportNode kind ${n.kind}`)}}})(e,n,r,t.getTypeChecker()),function changeImports(e,{wasDefault:t,exportName:n,exportingModuleSymbol:r},i,o){const a=e.getTypeChecker(),s=h.checkDefined(a.getSymbolAtLocation(n),"Export name should resolve to a symbol");vm.Core.eachExportReference(e.getSourceFiles(),a,o,s,r,n.text,t,e=>{if(n===e)return;const r=e.getSourceFile();t?function changeDefaultToNamedImport(e,t,n,r){const{parent:i}=t;switch(i.kind){case 212:n.replaceNode(e,t,Wr.createIdentifier(r));break;case 277:case 282:{const t=i;n.replaceNode(e,t,makeImportSpecifier(r,t.name.text));break}case 274:{const o=i;h.assert(o.name===t,"Import clause name should match provided ref");const a=makeImportSpecifier(r,t.text),{namedBindings:s}=o;if(s)if(275===s.kind){n.deleteRange(e,{pos:t.getStart(e),end:s.getStart(e)});const i=isStringLiteral(o.parent.moduleSpecifier)?quotePreferenceFromString(o.parent.moduleSpecifier,e):1,a=makeImport(void 0,[makeImportSpecifier(r,t.text)],o.parent.moduleSpecifier,i);n.insertNodeAfter(e,o.parent,a)}else n.delete(e,t),n.insertNodeAtEndOfList(e,s.elements,a);else n.replaceNode(e,t,Wr.createNamedImports([a]));break}case 206:const o=i;n.replaceNode(e,i,Wr.createImportTypeNode(o.argument,o.attributes,Wr.createIdentifier(r),o.typeArguments,o.isTypeOf));break;default:h.failBadSyntaxKind(i)}}(r,e,i,n.text):function changeNamedToDefaultImport(e,t,n){const r=t.parent;switch(r.kind){case 212:n.replaceNode(e,t,Wr.createIdentifier("default"));break;case 277:{const t=Wr.createIdentifier(r.name.text);1===r.parent.elements.length?n.replaceNode(e,r.parent,t):(n.delete(e,r),n.insertNodeBefore(e,r.parent,t));break}case 282:n.replaceNode(e,r,makeExportSpecifier("default",r.name.text));break;default:h.assertNever(r,`Unexpected parent kind ${r.kind}`)}}(r,e,i)})}(t,n,r,i)}(e.file,e.program,n,t,e.cancellationToken));return{edits:r,renameFilename:void 0,renameLocation:void 0}}});var Fc="Convert import",Pc={0:{name:"Convert namespace import to named imports",description:getLocaleSpecificMessage(Ot.Convert_namespace_import_to_named_imports),kind:"refactor.rewrite.import.named"},2:{name:"Convert named imports to namespace import",description:getLocaleSpecificMessage(Ot.Convert_named_imports_to_namespace_import),kind:"refactor.rewrite.import.namespace"},1:{name:"Convert named imports to default import",description:getLocaleSpecificMessage(Ot.Convert_named_imports_to_default_import),kind:"refactor.rewrite.import.default"}};function getImportConversionInfo(e,t=!0){const{file:n}=e,r=getRefactorContextSpan(e),i=getTokenAtPosition(n,r.start),o=t?findAncestor(i,or(isImportDeclaration,isJSDocImportTag)):getParentNodeInSpan(i,n,r);if(void 0===o||!isImportDeclaration(o)&&!isJSDocImportTag(o))return{error:"Selection is not an import declaration."};const a=r.start+r.length,s=findNextToken(o,o.parent,n);if(s&&a>s.getStart())return;const{importClause:c}=o;if(!c)return{error:getLocaleSpecificMessage(Ot.Could_not_find_import_clause)};if(!c.namedBindings)return{error:getLocaleSpecificMessage(Ot.Could_not_find_namespace_import_or_named_imports)};if(275===c.namedBindings.kind)return{convertTo:0,import:c.namedBindings};return getShouldUseDefault(e.program,c)?{convertTo:1,import:c.namedBindings}:{convertTo:2,import:c.namedBindings}}function getShouldUseDefault(e,t){return $n(e.getCompilerOptions())&&function isExportEqualsModule(e,t){const n=t.resolveExternalModuleName(e);if(!n)return!1;const r=t.resolveExternalModuleSymbol(n);return n!==r}(t.parent.moduleSpecifier,e.getTypeChecker())}function getRightOfPropertyAccessOrQualifiedName(e){return isPropertyAccessExpression(e)?e.name:e.right}function doChangeNamedToNamespaceOrDefault(e,t,n,r,i=getShouldUseDefault(t,r.parent)){const o=t.getTypeChecker(),a=r.parent.parent,{moduleSpecifier:s}=a,c=new Set;r.elements.forEach(e=>{const t=o.getSymbolAtLocation(e.name);t&&c.add(t)});const l=s&&isStringLiteral(s)?moduleSpecifierToValidIdentifier(s.text,99):"module";const d=r.elements.some(function hasNamespaceNameConflict(t){return!!vm.Core.eachSymbolReferenceInFile(t.name,o,e,e=>{const t=o.resolveName(l,e,-1,!0);return!!t&&(!c.has(t)||isExportSpecifier(e.parent))})})?getUniqueName(l,e):l,p=new Set;for(const t of r.elements){const r=t.propertyName||t.name;vm.Core.eachSymbolReferenceInFile(t.name,o,e,i=>{const o=11===r.kind?Wr.createElementAccessExpression(Wr.createIdentifier(d),Wr.cloneNode(r)):Wr.createPropertyAccessExpression(Wr.createIdentifier(d),Wr.cloneNode(r));isShorthandPropertyAssignment(i.parent)?n.replaceNode(e,i.parent,Wr.createPropertyAssignment(i.text,o)):isExportSpecifier(i.parent)?p.add(t):n.replaceNode(e,i,o)})}if(n.replaceNode(e,r,i?Wr.createIdentifier(d):Wr.createNamespaceImport(Wr.createIdentifier(d))),p.size&&isImportDeclaration(a)){const t=arrayFrom(p.values(),e=>Wr.createImportSpecifier(e.isTypeOnly,e.propertyName&&Wr.cloneNode(e.propertyName),Wr.cloneNode(e.name)));n.insertNodeAfter(e,r.parent.parent,createImport(a,void 0,t))}}function createImport(e,t,n){return Wr.createImportDeclaration(void 0,createImportClause(t,n),e.moduleSpecifier,void 0)}function createImportClause(e,t){return Wr.createImportClause(void 0,e,t&&t.length?Wr.createNamedImports(t):void 0)}registerRefactor(Fc,{kinds:getOwnValues(Pc).map(e=>e.kind),getAvailableActions:function getRefactorActionsToConvertBetweenNamedAndNamespacedImports(e){const t=getImportConversionInfo(e,"invoked"===e.triggerReason);if(!t)return l;if(!isRefactorErrorInfo(t)){const e=Pc[t.convertTo];return[{name:Fc,description:e.description,actions:[e]}]}return e.preferences.provideRefactorNotApplicableReason?getOwnValues(Pc).map(e=>({name:Fc,description:e.description,actions:[{...e,notApplicableReason:t.error}]})):l},getEditsForAction:function getRefactorEditsToConvertBetweenNamedAndNamespacedImports(e,t){h.assert(some(getOwnValues(Pc),e=>e.name===t),"Unexpected action name");const n=getImportConversionInfo(e);h.assert(n&&!isRefactorErrorInfo(n),"Expected applicable refactor info");const r=$m.ChangeTracker.with(e,t=>function doChange2(e,t,n,r){const i=t.getTypeChecker();0===r.convertTo?function doChangeNamespaceToNamed(e,t,n,r,i){let o=!1;const a=[],s=new Map;vm.Core.eachSymbolReferenceInFile(r.name,t,e,e=>{if(isPropertyAccessOrQualifiedName(e.parent)){const n=getRightOfPropertyAccessOrQualifiedName(e.parent).text;t.resolveName(n,e,-1,!0)&&s.set(n,!0),h.assert(function getLeftOfPropertyAccessOrQualifiedName(e){return isPropertyAccessExpression(e)?e.expression:e.left}(e.parent)===e,"Parent expression should match id"),a.push(e.parent)}else o=!0});const c=new Map;for(const t of a){const r=getRightOfPropertyAccessOrQualifiedName(t).text;let i=c.get(r);void 0===i&&c.set(r,i=s.has(r)?getUniqueName(r,e):r),n.replaceNode(e,t,Wr.createIdentifier(i))}const l=[];c.forEach((e,t)=>{l.push(Wr.createImportSpecifier(!1,e===t?void 0:Wr.createIdentifier(t),Wr.createIdentifier(e)))});const d=r.parent.parent;if(o&&!i&&isImportDeclaration(d))n.insertNodeAfter(e,d,createImport(d,void 0,l));else{const t=o?Wr.createIdentifier(r.name.text):void 0;n.replaceNode(e,r.parent,createImportClause(t,l))}}(e,i,n,r.import,$n(t.getCompilerOptions())):doChangeNamedToNamespaceOrDefault(e,t,n,r.import,1===r.convertTo)}(e.file,e.program,t,n));return{edits:r,renameFilename:void 0,renameLocation:void 0}}});var Dc="Extract type",Ic={name:"Extract to type alias",description:getLocaleSpecificMessage(Ot.Extract_to_type_alias),kind:"refactor.extract.type"},Ac={name:"Extract to interface",description:getLocaleSpecificMessage(Ot.Extract_to_interface),kind:"refactor.extract.interface"},Oc={name:"Extract to typedef",description:getLocaleSpecificMessage(Ot.Extract_to_typedef),kind:"refactor.extract.typedef"};function getRangeToExtract(e,t=!0){const{file:n,startPosition:r}=e,i=isSourceFileJS(n),o=createTextRangeFromSpan(getRefactorContextSpan(e)),a=o.pos===o.end&&t,s=function getFirstTypeAt(e,t,n,r){const i=[()=>getTokenAtPosition(e,t),()=>getTouchingToken(e,t,()=>!0)];for(const t of i){const i=t(),o=nodeOverlapsWithStartEnd(i,e,n.pos,n.end),a=findAncestor(i,t=>t.parent&&isTypeNode(t)&&!rangeContainsSkipTrivia(n,t.parent,e)&&(r||o));if(a)return a}return}(n,r,o,a);if(!s||!isTypeNode(s))return{info:{error:getLocaleSpecificMessage(Ot.Selection_is_not_a_valid_type_node)},affectedTextRange:void 0};const c=e.program.getTypeChecker(),d=function getEnclosingNode(e,t){return findAncestor(e,isStatement)||(t?findAncestor(e,isJSDoc):void 0)}(s,i);if(void 0===d)return{info:{error:getLocaleSpecificMessage(Ot.No_type_could_be_extracted_from_this_type_node)},affectedTextRange:void 0};const p=function getExpandedSelectionNode(e,t){return findAncestor(e,e=>e===t?"quit":!(!isUnionTypeNode(e.parent)&&!isIntersectionTypeNode(e.parent)))??e}(s,d);if(!isTypeNode(p))return{info:{error:getLocaleSpecificMessage(Ot.Selection_is_not_a_valid_type_node)},affectedTextRange:void 0};const u=[];(isUnionTypeNode(p.parent)||isIntersectionTypeNode(p.parent))&&o.end>s.end&&addRange(u,p.parent.types.filter(e=>nodeOverlapsWithStartEnd(e,n,o.pos,o.end)));const m=u.length>1?u:p,{typeParameters:_,affectedTextRange:f}=function collectTypeParameters(e,t,n,r){const i=[],o=toArray(t),a={pos:o[0].getStart(r),end:o[o.length-1].end};for(const e of o)if(visitor(e))return{typeParameters:void 0,affectedTextRange:void 0};return{typeParameters:i,affectedTextRange:a};function visitor(t){if(isTypeReferenceNode(t)){if(isIdentifier(t.typeName)){const o=t.typeName,s=e.resolveName(o.text,o,262144,!0);for(const e of(null==s?void 0:s.declarations)||l)if(isTypeParameterDeclaration(e)&&e.getSourceFile()===r){if(e.name.escapedText===o.escapedText&&rangeContainsSkipTrivia(e,a,r))return!0;if(rangeContainsSkipTrivia(n,e,r)&&!rangeContainsSkipTrivia(a,e,r)){pushIfUnique(i,e);break}}}}else if(isInferTypeNode(t)){const e=findAncestor(t,e=>isConditionalTypeNode(e)&&rangeContainsSkipTrivia(e.extendsType,t,r));if(!e||!rangeContainsSkipTrivia(a,e,r))return!0}else if(isTypePredicateNode(t)||isThisTypeNode(t)){const e=findAncestor(t.parent,isFunctionLike);if(e&&e.type&&rangeContainsSkipTrivia(e.type,t,r)&&!rangeContainsSkipTrivia(a,e,r))return!0}else if(isTypeQueryNode(t))if(isIdentifier(t.exprName)){const i=e.resolveName(t.exprName.text,t.exprName,111551,!1);if((null==i?void 0:i.valueDeclaration)&&rangeContainsSkipTrivia(n,i.valueDeclaration,r)&&!rangeContainsSkipTrivia(a,i.valueDeclaration,r))return!0}else if(isThisIdentifier(t.exprName.left)&&!rangeContainsSkipTrivia(a,t.parent,r))return!0;return r&&isTupleTypeNode(t)&&getLineAndCharacterOfPosition(r,t.pos).line===getLineAndCharacterOfPosition(r,t.end).line&&setEmitFlags(t,1),forEachChild(t,visitor)}}(c,m,d,n);if(!_)return{info:{error:getLocaleSpecificMessage(Ot.No_type_could_be_extracted_from_this_type_node)},affectedTextRange:void 0};return{info:{isJS:i,selection:m,enclosingNode:d,typeParameters:_,typeElements:flattenTypeLiteralNodeReference(c,m)},affectedTextRange:f}}function flattenTypeLiteralNodeReference(e,t){if(t){if(isArray(t)){const n=[];for(const r of t){const t=flattenTypeLiteralNodeReference(e,r);if(!t)return;addRange(n,t)}return n}if(isIntersectionTypeNode(t)){const n=[],r=new Set;for(const i of t.types){const t=flattenTypeLiteralNodeReference(e,i);if(!t||!t.every(e=>e.name&&addToSeen(r,getNameFromPropertyName(e.name))))return;addRange(n,t)}return n}return isParenthesizedTypeNode(t)?flattenTypeLiteralNodeReference(e,t.type):isTypeLiteralNode(t)?t.members:void 0}}function rangeContainsSkipTrivia(e,t,n){return rangeContainsStartEnd(e,skipTrivia(n.text,t.pos),t.end)}function getNodesToEdit(e){return isArray(e.selection)?{firstTypeNode:e.selection[0],lastTypeNode:e.selection[e.selection.length-1],newTypeNode:isUnionTypeNode(e.selection[0].parent)?Wr.createUnionTypeNode(e.selection):Wr.createIntersectionTypeNode(e.selection)}:{firstTypeNode:e.selection,lastTypeNode:e.selection,newTypeNode:e.selection}}registerRefactor(Dc,{kinds:[Ic.kind,Ac.kind,Oc.kind],getAvailableActions:function getRefactorActionsToExtractType(e){const{info:t,affectedTextRange:n}=getRangeToExtract(e,"invoked"===e.triggerReason);if(!t)return l;if(!isRefactorErrorInfo(t)){return[{name:Dc,description:getLocaleSpecificMessage(Ot.Extract_type),actions:t.isJS?[Oc]:append([Ic],t.typeElements&&Ac)}].map(t=>({...t,actions:t.actions.map(t=>({...t,range:n?{start:{line:getLineAndCharacterOfPosition(e.file,n.pos).line,offset:getLineAndCharacterOfPosition(e.file,n.pos).character},end:{line:getLineAndCharacterOfPosition(e.file,n.end).line,offset:getLineAndCharacterOfPosition(e.file,n.end).character}}:void 0}))}))}return e.preferences.provideRefactorNotApplicableReason?[{name:Dc,description:getLocaleSpecificMessage(Ot.Extract_type),actions:[{...Oc,notApplicableReason:t.error},{...Ic,notApplicableReason:t.error},{...Ac,notApplicableReason:t.error}]}]:l},getEditsForAction:function getRefactorEditsToExtractType(e,t){const{file:n}=e,{info:r}=getRangeToExtract(e);h.assert(r&&!isRefactorErrorInfo(r),"Expected to find a range to extract");const i=getUniqueName("NewType",n),o=$m.ChangeTracker.with(e,o=>{switch(t){case Ic.name:return h.assert(!r.isJS,"Invalid actionName/JS combo"),function doTypeAliasChange(e,t,n,r){const{enclosingNode:i,typeParameters:o}=r,{firstTypeNode:a,lastTypeNode:s,newTypeNode:c}=getNodesToEdit(r),l=Wr.createTypeAliasDeclaration(void 0,n,o.map(e=>Wr.updateTypeParameterDeclaration(e,e.modifiers,e.name,e.constraint,void 0)),c);e.insertNodeBefore(t,i,ignoreSourceNewlines(l),!0),e.replaceNodeRange(t,a,s,Wr.createTypeReferenceNode(n,o.map(e=>Wr.createTypeReferenceNode(e.name,void 0))),{leadingTriviaOption:$m.LeadingTriviaOption.Exclude,trailingTriviaOption:$m.TrailingTriviaOption.ExcludeWhitespace})}(o,n,i,r);case Oc.name:return h.assert(r.isJS,"Invalid actionName/JS combo"),function doTypedefChange(e,t,n,r,i){var o;toArray(i.selection).forEach(e=>{setEmitFlags(e,7168)});const{enclosingNode:a,typeParameters:s}=i,{firstTypeNode:c,lastTypeNode:l,newTypeNode:d}=getNodesToEdit(i),p=Wr.createJSDocTypedefTag(Wr.createIdentifier("typedef"),Wr.createJSDocTypeExpression(d),Wr.createIdentifier(r)),u=[];forEach(s,e=>{const t=getEffectiveConstraintOfTypeParameter(e),n=Wr.createTypeParameterDeclaration(void 0,e.name),r=Wr.createJSDocTemplateTag(Wr.createIdentifier("template"),t&&cast(t,isJSDocTypeExpression),[n]);u.push(r)});const m=Wr.createJSDocComment(void 0,Wr.createNodeArray(concatenate(u,[p])));if(isJSDoc(a)){const r=a.getStart(n),i=getNewLineOrDefaultFromHost(t.host,null==(o=t.formatContext)?void 0:o.options);e.insertNodeAt(n,a.getStart(n),m,{suffix:i+i+n.text.slice(getPrecedingNonSpaceCharacterPosition(n.text,r-1),r)})}else e.insertNodeBefore(n,a,m,!0);e.replaceNodeRange(n,c,l,Wr.createTypeReferenceNode(r,s.map(e=>Wr.createTypeReferenceNode(e.name,void 0))))}(o,e,n,i,r);case Ac.name:return h.assert(!r.isJS&&!!r.typeElements,"Invalid actionName/JS combo"),function doInterfaceChange(e,t,n,r){var i;const{enclosingNode:o,typeParameters:a,typeElements:s}=r,c=Wr.createInterfaceDeclaration(void 0,n,a,void 0,s);setTextRange(c,null==(i=s[0])?void 0:i.parent),e.insertNodeBefore(t,o,ignoreSourceNewlines(c),!0);const{firstTypeNode:l,lastTypeNode:d}=getNodesToEdit(r);e.replaceNodeRange(t,l,d,Wr.createTypeReferenceNode(n,a.map(e=>Wr.createTypeReferenceNode(e.name,void 0))),{leadingTriviaOption:$m.LeadingTriviaOption.Exclude,trailingTriviaOption:$m.TrailingTriviaOption.ExcludeWhitespace})}(o,n,i,r);default:h.fail("Unexpected action name")}}),a=n.fileName;return{edits:o,renameFilename:a,renameLocation:getRenameLocation(o,a,i,!1)}}});var wc="Move to file",Lc=getLocaleSpecificMessage(Ot.Move_to_file),Mc={name:"Move to file",description:Lc,kind:"refactor.move.file"};function error(e){return{edits:[],renameFilename:void 0,renameLocation:void 0,notApplicableReason:e}}function getNewStatementsAndRemoveFromOldFile(e,t,n,r,i,o,a,s,c,l){const d=o.getTypeChecker(),p=takeWhile(e.statements,isPrologueDirective),u=!fileShouldUseJavaScriptRequire(t.fileName,o,a,!!e.commonJsModuleIndicator),m=getQuotePreference(e,s);addImportsForMovedSymbols(n.oldFileImportsFromTargetFile,t.fileName,l,o),function deleteUnusedOldImports(e,t,n,r){for(const i of e.statements)contains(t,i)||forEachImportInStatement(i,e=>{forEachAliasDeclarationInImportOrRequire(e,e=>{n.has(e.symbol)&&r.removeExistingImport(e)})})}(e,i.all,n.unusedImportsFromOldFile,l),l.writeFixes(r,m),function deleteMovedStatements(e,t,n){for(const{first:r,afterLast:i}of t)n.deleteNodeRangeExcludingEnd(e,r,i)}(e,i.ranges,r),function updateImportsInOtherFiles(e,t,n,r,i,o,a){const s=t.getTypeChecker();for(const c of t.getSourceFiles())if(c!==r)for(const l of c.statements)forEachImportInStatement(l,d=>{if(s.getSymbolAtLocation(moduleSpecifierFromImport(d))!==r.symbol)return;const shouldMove=e=>{const t=isBindingElement(e.parent)?getPropertySymbolFromBindingElement(s,e.parent):skipAlias(s.getSymbolAtLocation(e),s);return!!t&&i.has(t)};deleteUnusedImports(c,d,e,shouldMove);const p=resolvePath(getDirectoryPath(getNormalizedAbsolutePath(r.fileName,t.getCurrentDirectory())),o);if(0===getStringComparer(!t.useCaseSensitiveFileNames())(p,c.fileName))return;const u=Wo.getModuleSpecifier(t.getCompilerOptions(),c,c.fileName,p,createModuleSpecifierResolutionHost(t,n)),m=filterImport(d,makeStringLiteral(u,a),shouldMove);m&&e.insertNodeAfter(c,l,m);const _=getNamespaceLikeImport(d);_&&updateNamespaceLikeImport(e,c,s,i,u,_,d,a)})}(r,o,a,e,n.movedSymbols,t.fileName,m),addExportsInOldFile(e,n.targetFileImportsFromOldFile,r,u),addTargetFileImports(e,n.oldImportsNeededByTargetFile,n.targetFileImportsFromOldFile,d,o,c),!isFullSourceFile(t)&&p.length&&r.insertStatementsInNewFile(t.fileName,p,e),c.writeFixes(r,m);const _=function addExports(e,t,n,r){return flatMap(t,t=>{if(isTopLevelDeclarationStatement(t)&&!isExported(e,t,r)&&forEachTopLevelDeclaration(t,e=>{var t;return n.includes(h.checkDefined(null==(t=tryCast(e,canHaveSymbol))?void 0:t.symbol))})){const e=function addExport(e,t){return t?[addEs6Export(e)]:function addCommonjsExport(e){return[e,...getNamesToExportInCommonJS(e).map(createExportAssignment)]}(e)}(getSynthesizedDeepClone(t),r);if(e)return e}return getSynthesizedDeepClone(t)})}(e,i.all,arrayFrom(n.oldFileImportsFromTargetFile.keys()),u);isFullSourceFile(t)&&t.statements.length>0?function moveStatementsToTargetFile(e,t,n,r,i){var o;const a=new Set,s=null==(o=r.symbol)?void 0:o.exports;if(s){const n=t.getTypeChecker(),o=new Map;for(const e of i.all)isTopLevelDeclarationStatement(e)&&hasSyntacticModifier(e,32)&&forEachTopLevelDeclaration(e,e=>{var t;const n=firstDefined(canHaveSymbol(e)?null==(t=s.get(e.symbol.escapedName))?void 0:t.declarations:void 0,e=>isExportDeclaration(e)?e:isExportSpecifier(e)?tryCast(e.parent.parent,isExportDeclaration):void 0);n&&n.moduleSpecifier&&o.set(n,(o.get(n)||new Set).add(e))});for(const[t,i]of arrayFrom(o))if(t.exportClause&&isNamedExports(t.exportClause)&&length(t.exportClause.elements)){const o=t.exportClause.elements,s=filter(o,e=>void 0===find(skipAlias(e.symbol,n).declarations,e=>isTopLevelDeclaration(e)&&i.has(e)));if(0===length(s)){e.deleteNode(r,t),a.add(t);continue}length(s)<length(o)&&e.replaceNode(r,t,Wr.updateExportDeclaration(t,t.modifiers,t.isTypeOnly,Wr.updateNamedExports(t.exportClause,Wr.createNodeArray(s,o.hasTrailingComma)),t.moduleSpecifier,t.attributes))}}const c=findLast(r.statements,e=>isExportDeclaration(e)&&!!e.moduleSpecifier&&!a.has(e));c?e.insertNodesBefore(r,c,n,!0):e.insertNodesAfter(r,r.statements[r.statements.length-1],n)}(r,o,_,t,i):isFullSourceFile(t)?r.insertNodesAtEndOfFile(t,_,!1):r.insertStatementsInNewFile(t.fileName,c.hasFixes()?[4,..._]:_,e)}function addNewFileToTsconfig(e,t,n,r,i){const o=e.getCompilerOptions().configFile;if(!o)return;const a=normalizePath(combinePaths(n,"..",r)),s=getRelativePathFromFile(o.fileName,a,i),c=o.statements[0]&&tryCast(o.statements[0].expression,isObjectLiteralExpression),l=c&&find(c.properties,e=>isPropertyAssignment(e)&&isStringLiteral(e.name)&&"files"===e.name.text);l&&isArrayLiteralExpression(l.initializer)&&t.insertNodeInListAfter(o,last(l.initializer.elements),Wr.createStringLiteral(s),l.initializer.elements)}function addExportsInOldFile(e,t,n,r){const i=nodeSeenTracker();t.forEach((t,o)=>{if(o.declarations)for(const t of o.declarations){if(!isTopLevelDeclaration(t))continue;const o=nameOfTopLevelDeclaration(t);if(!o)continue;const a=getTopLevelDeclarationStatement(t);i(a)&&addExportToChanges(e,a,o,n,r)}})}function getNamespaceLikeImport(e){switch(e.kind){case 273:return e.importClause&&e.importClause.namedBindings&&275===e.importClause.namedBindings.kind?e.importClause.namedBindings.name:void 0;case 272:return e.name;case 261:return tryCast(e.name,isIdentifier);default:return h.assertNever(e,`Unexpected node kind ${e.kind}`)}}function updateNamespaceLikeImport(e,t,n,r,i,o,a,s){const c=moduleSpecifierToValidIdentifier(i,99);let l=!1;const d=[];if(vm.Core.eachSymbolReferenceInFile(o,n,t,e=>{isPropertyAccessExpression(e.parent)&&(l=l||!!n.resolveName(c,e,-1,!0),r.has(n.getSymbolAtLocation(e.parent.name))&&d.push(e))}),d.length){const n=l?getUniqueName(c,t):c;for(const r of d)e.replaceNode(t,r,Wr.createIdentifier(n));e.insertNodeAfter(t,a,function updateNamespaceLikeImportNode(e,t,n,r){const i=Wr.createIdentifier(t),o=makeStringLiteral(n,r);switch(e.kind){case 273:return Wr.createImportDeclaration(void 0,Wr.createImportClause(void 0,void 0,Wr.createNamespaceImport(i)),o,void 0);case 272:return Wr.createImportEqualsDeclaration(void 0,!1,i,Wr.createExternalModuleReference(o));case 261:return Wr.createVariableDeclaration(i,void 0,void 0,createRequireCall(o));default:return h.assertNever(e,`Unexpected node kind ${e.kind}`)}}(a,c,i,s))}}function createRequireCall(e){return Wr.createCallExpression(Wr.createIdentifier("require"),void 0,[e])}function moduleSpecifierFromImport(e){return 273===e.kind?e.moduleSpecifier:272===e.kind?e.moduleReference.expression:e.initializer.arguments[0]}function forEachImportInStatement(e,t){if(isImportDeclaration(e))isStringLiteral(e.moduleSpecifier)&&t(e);else if(isImportEqualsDeclaration(e))isExternalModuleReference(e.moduleReference)&&isStringLiteralLike(e.moduleReference.expression)&&t(e);else if(isVariableStatement(e))for(const n of e.declarationList.declarations)n.initializer&&isRequireCall(n.initializer,!0)&&t(n)}function forEachAliasDeclarationInImportOrRequire(e,t){var n,r,i,o,a;if(273===e.kind){if((null==(n=e.importClause)?void 0:n.name)&&t(e.importClause),275===(null==(i=null==(r=e.importClause)?void 0:r.namedBindings)?void 0:i.kind)&&t(e.importClause.namedBindings),276===(null==(a=null==(o=e.importClause)?void 0:o.namedBindings)?void 0:a.kind))for(const n of e.importClause.namedBindings.elements)t(n)}else if(272===e.kind)t(e);else if(261===e.kind)if(80===e.name.kind)t(e);else if(207===e.name.kind)for(const n of e.name.elements)isIdentifier(n.name)&&t(n)}function addImportsForMovedSymbols(e,t,n,r){for(const[i,o]of e){const e=getNameForExportedSymbol(i,zn(r.getCompilerOptions())),a="default"===i.name&&i.parent?1:0;n.addImportForNonExistentExport(e,t,a,i.flags,o)}}function isExported(e,t,n,r){var i;return n?!isExpressionStatement(t)&&hasSyntacticModifier(t,32)||!!(r&&e.symbol&&(null==(i=e.symbol.exports)?void 0:i.has(r.escapedText))):!!e.symbol&&!!e.symbol.exports&&getNamesToExportInCommonJS(t).some(t=>e.symbol.exports.has(escapeLeadingUnderscores(t)))}function deleteUnusedImports(e,t,n,r){if(273===t.kind&&t.importClause){const{name:i,namedBindings:o}=t.importClause;if((!i||r(i))&&(!o||276===o.kind&&0!==o.elements.length&&o.elements.every(e=>r(e.name))))return n.delete(e,t)}forEachAliasDeclarationInImportOrRequire(t,t=>{t.name&&isIdentifier(t.name)&&r(t.name)&&n.delete(e,t)})}function isTopLevelDeclarationStatement(e){return h.assert(isSourceFile(e.parent),"Node parent should be a SourceFile"),isNonVariableTopLevelDeclaration(e)||isVariableStatement(e)}function addEs6Export(e){const t=canHaveModifiers(e)?concatenate([Wr.createModifier(95)],getModifiers(e)):void 0;switch(e.kind){case 263:return Wr.updateFunctionDeclaration(e,t,e.asteriskToken,e.name,e.typeParameters,e.parameters,e.type,e.body);case 264:const n=canHaveDecorators(e)?getDecorators(e):void 0;return Wr.updateClassDeclaration(e,concatenate(n,t),e.name,e.typeParameters,e.heritageClauses,e.members);case 244:return Wr.updateVariableStatement(e,t,e.declarationList);case 268:return Wr.updateModuleDeclaration(e,t,e.name,e.body);case 267:return Wr.updateEnumDeclaration(e,t,e.name,e.members);case 266:return Wr.updateTypeAliasDeclaration(e,t,e.name,e.typeParameters,e.type);case 265:return Wr.updateInterfaceDeclaration(e,t,e.name,e.typeParameters,e.heritageClauses,e.members);case 272:return Wr.updateImportEqualsDeclaration(e,t,e.isTypeOnly,e.name,e.moduleReference);case 245:return h.fail();default:return h.assertNever(e,`Unexpected declaration kind ${e.kind}`)}}function createExportAssignment(e){return Wr.createExpressionStatement(Wr.createBinaryExpression(Wr.createPropertyAccessExpression(Wr.createIdentifier("exports"),Wr.createIdentifier(e)),64,Wr.createIdentifier(e)))}function getNamesToExportInCommonJS(e){switch(e.kind){case 263:case 264:return[e.name.text];case 244:return mapDefined(e.declarationList.declarations,e=>isIdentifier(e.name)?e.name.text:void 0);case 268:case 267:case 266:case 265:case 272:return l;case 245:return h.fail("Can't export an ExpressionStatement");default:return h.assertNever(e,`Unexpected decl kind ${e.kind}`)}}function filterImport(e,t,n){switch(e.kind){case 273:{const r=e.importClause;if(!r)return;const i=r.name&&n(r.name)?r.name:void 0,o=r.namedBindings&&function filterNamedBindings(e,t){if(275===e.kind)return t(e.name)?e:void 0;{const n=e.elements.filter(e=>t(e.name));return n.length?Wr.createNamedImports(n):void 0}}(r.namedBindings,n);return i||o?Wr.createImportDeclaration(void 0,Wr.createImportClause(r.phaseModifier,i,o),getSynthesizedDeepClone(t),void 0):void 0}case 272:return n(e.name)?e:void 0;case 261:{const r=function filterBindingName(e,t){switch(e.kind){case 80:return t(e)?e:void 0;case 208:return e;case 207:{const n=e.elements.filter(e=>e.propertyName||!isIdentifier(e.name)||t(e.name));return n.length?Wr.createObjectBindingPattern(n):void 0}}}(e.name,n);return r?function makeVariableStatement(e,t,n,r=2){return Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(e,void 0,t,n)],r))}(r,e.type,createRequireCall(t),e.parent.flags):void 0}default:return h.assertNever(e,`Unexpected import kind ${e.kind}`)}}function nameOfTopLevelDeclaration(e){return isExpressionStatement(e)?tryCast(e.expression.left.name,isIdentifier):tryCast(e.name,isIdentifier)}function getTopLevelDeclarationStatement(e){switch(e.kind){case 261:return e.parent.parent;case 209:return getTopLevelDeclarationStatement(cast(e.parent.parent,e=>isVariableDeclaration(e)||isBindingElement(e)));default:return e}}function addExportToChanges(e,t,n,r,i){if(!isExported(e,t,i,n))if(i)isExpressionStatement(t)||r.insertExportModifier(e,t);else{const n=getNamesToExportInCommonJS(t);0!==n.length&&r.insertNodesAfter(e,t,n.map(createExportAssignment))}}function createNewFileName(e,t,n,r){const i=t.getTypeChecker();if(r){const t=getUsageInfo(e,r.all,i),o=getDirectoryPath(e.fileName),a=extensionFromPath(e.fileName),s=combinePaths(o,function makeUniqueFilename(e,t,n,r){let i=e;for(let o=1;;o++){const a=combinePaths(n,i+t);if(!r.fileExists(a))return i;i=`${e}.${o}`}}(function inferNewFileName(e,t){return forEachKey(e,symbolNameNoDefault)||forEachKey(t,symbolNameNoDefault)||"newFile"}(t.oldFileImportsFromTargetFile,t.movedSymbols),a,o,n))+a;return s}return""}function getStatementsToMove(e){const t=function getRangeToMove(e){const{file:t}=e,n=createTextRangeFromSpan(getRefactorContextSpan(e)),{statements:r}=t;let i=findIndex(r,e=>e.end>n.pos);if(-1===i)return;const o=getOverloadRangeToMove(t,r[i]);o&&(i=o.start);let a=findIndex(r,e=>e.end>=n.end,i);-1!==a&&n.end<=r[a].getStart()&&a--;const s=getOverloadRangeToMove(t,r[a]);return s&&(a=s.end),{toMove:r.slice(i,-1===a?r.length:a+1),afterLast:-1===a?void 0:r[a+1]}}(e);if(void 0===t)return;const n=[],r=[],{toMove:i,afterLast:o}=t;return getRangesWhere(i,isAllowedStatementToMove,(e,t)=>{for(let r=e;r<t;r++)n.push(i[r]);r.push({first:i[e],afterLast:o})}),0===n.length?void 0:{all:n,ranges:r}}function containsJsx(e){return find(e,e=>!!(2&e.transformFlags))}function isAllowedStatementToMove(e){return!function isPureImport(e){switch(e.kind){case 273:return!0;case 272:return!hasSyntacticModifier(e,32);case 244:return e.declarationList.declarations.every(e=>!!e.initializer&&isRequireCall(e.initializer,!0));default:return!1}}(e)&&!isPrologueDirective(e)}function getUsageInfo(e,t,n,r=new Set,i){var o;const a=new Set,s=new Map,c=new Map,l=function getJsxNamespaceSymbol(e){if(void 0===e)return;const t=n.getJsxNamespace(e),r=n.resolveName(t,e,1920,!0);return r&&some(r.declarations,isInImport)?r:void 0}(containsJsx(t));l&&s.set(l,[!1,tryCast(null==(o=l.declarations)?void 0:o[0],e=>isImportSpecifier(e)||isImportClause(e)||isNamespaceImport(e)||isImportEqualsDeclaration(e)||isBindingElement(e)||isVariableDeclaration(e))]);for(const e of t)forEachTopLevelDeclaration(e,e=>{a.add(h.checkDefined(isExpressionStatement(e)?n.getSymbolAtLocation(e.expression.left):e.symbol,"Need a symbol here"))});const d=new Set;for(const o of t)forEachReference(o,n,i,(t,i)=>{if(!some(t.declarations))return;if(r.has(skipAlias(t,n)))return void d.add(t);const o=find(t.declarations,isInImport);if(o){const e=s.get(t);s.set(t,[(void 0===e||e)&&i,tryCast(o,e=>isImportSpecifier(e)||isImportClause(e)||isNamespaceImport(e)||isImportEqualsDeclaration(e)||isBindingElement(e)||isVariableDeclaration(e))])}else!a.has(t)&&every(t.declarations,t=>{return isTopLevelDeclaration(t)&&(isVariableDeclaration(n=t)?n.parent.parent.parent:n.parent)===e;var n})&&c.set(t,i)});for(const e of s.keys())d.add(e);const p=new Map;for(const r of e.statements)contains(t,r)||(l&&2&r.transformFlags&&d.delete(l),forEachReference(r,n,i,(e,t)=>{a.has(e)&&p.set(e,t),d.delete(e)}));return{movedSymbols:a,targetFileImportsFromOldFile:c,oldFileImportsFromTargetFile:p,oldImportsNeededByTargetFile:s,unusedImportsFromOldFile:d}}function forEachReference(e,t,n,r){e.forEachChild(function cb(e){if(isIdentifier(e)&&!isDeclarationName(e)){if(n&&!rangeContainsRange(n,e))return;const i=t.getSymbolAtLocation(e);i&&r(i,isValidTypeOnlyAliasUseSite(e))}else e.forEachChild(cb)})}function forEachTopLevelDeclaration(e,t){switch(e.kind){case 263:case 264:case 268:case 267:case 266:case 265:case 272:return t(e);case 244:return firstDefined(e.declarationList.declarations,e=>forEachTopLevelDeclarationInBindingName(e.name,t));case 245:{const{expression:n}=e;return isBinaryExpression(n)&&1===getAssignmentDeclarationKind(n)?t(e):void 0}}}function isInImport(e){switch(e.kind){case 272:case 277:case 274:case 275:return!0;case 261:return isVariableDeclarationInImport(e);case 209:return isVariableDeclaration(e.parent.parent)&&isVariableDeclarationInImport(e.parent.parent);default:return!1}}function isVariableDeclarationInImport(e){return isSourceFile(e.parent.parent.parent)&&!!e.initializer&&isRequireCall(e.initializer,!0)}function isTopLevelDeclaration(e){return isNonVariableTopLevelDeclaration(e)&&isSourceFile(e.parent)||isVariableDeclaration(e)&&isSourceFile(e.parent.parent.parent)}function forEachTopLevelDeclarationInBindingName(e,t){switch(e.kind){case 80:return t(cast(e.parent,e=>isVariableDeclaration(e)||isBindingElement(e)));case 208:case 207:return firstDefined(e.elements,e=>isOmittedExpression(e)?void 0:forEachTopLevelDeclarationInBindingName(e.name,t));default:return h.assertNever(e,`Unexpected name kind ${e.kind}`)}}function isNonVariableTopLevelDeclaration(e){switch(e.kind){case 263:case 264:case 268:case 267:case 266:case 265:case 272:return!0;default:return!1}}function getOverloadRangeToMove(e,t){if(isFunctionLikeDeclaration(t)){const n=t.symbol.declarations;if(void 0===n||length(n)<=1||!contains(n,t))return;const r=n[0],i=n[length(n)-1],o=mapDefined(n,t=>getSourceFileOfNode(t)===e&&isStatement(t)?t:void 0),a=findIndex(e.statements,e=>e.end>=i.end);return{toMove:o,start:findIndex(e.statements,e=>e.end>=r.end),end:a}}}function getExistingLocals(e,t,n){const r=new Set;for(const t of e.imports){const e=importFromModuleSpecifier(t);if(isImportDeclaration(e)&&e.importClause&&e.importClause.namedBindings&&isNamedImports(e.importClause.namedBindings))for(const t of e.importClause.namedBindings.elements){const e=n.getSymbolAtLocation(t.propertyName||t.name);e&&r.add(skipAlias(e,n))}if(isVariableDeclarationInitializedToRequire(e.parent)&&isObjectBindingPattern(e.parent.name))for(const t of e.parent.name.elements){const e=n.getSymbolAtLocation(t.propertyName||t.name);e&&r.add(skipAlias(e,n))}}for(const i of t)forEachReference(i,n,void 0,t=>{const i=skipAlias(t,n);i.valueDeclaration&&getSourceFileOfNode(i.valueDeclaration).path===e.path&&r.add(i)});return r}function isRefactorErrorInfo(e){return void 0!==e.error}function refactorKindBeginsWith(e,t){return!t||e.substr(0,t.length)===t}function getIdentifierForNode(e,t,n,r){return!isPropertyAccessExpression(e)||isClassLike(t)||n.resolveName(e.name.text,e,111551,!1)||isPrivateIdentifier(e.name)||identifierToKeywordKind(e.name)?getUniqueName(isClassLike(t)?"newProperty":"newLocal",r):e.name.text}function addTargetFileImports(e,t,n,r,i,o){t.forEach(([e,t],n)=>{var i;const a=skipAlias(n,r);r.isUnknownSymbol(a)?o.addVerbatimImport(h.checkDefined(t??findAncestor(null==(i=n.declarations)?void 0:i[0],isAnyImportOrRequireStatement))):void 0===a.parent?(h.assert(void 0!==t,"expected module symbol to have a declaration"),o.addImportForModuleSymbol(n,e,t)):o.addImportFromExportedSymbol(a,e,t)}),addImportsForMovedSymbols(n,e.fileName,o,i)}registerRefactor(wc,{kinds:[Mc.kind],getAvailableActions:function getRefactorActionsToMoveToFile(e,t){const n=e.file,r=getStatementsToMove(e);if(!t)return l;if("implicit"===e.triggerReason&&void 0!==e.endPosition){const t=findAncestor(getTokenAtPosition(n,e.startPosition),isBlockLike),r=findAncestor(getTokenAtPosition(n,e.endPosition),isBlockLike);if(t&&!isSourceFile(t)&&r&&!isSourceFile(r))return l}if(e.preferences.allowTextChangesInNewFiles&&r){const e={start:{line:getLineAndCharacterOfPosition(n,r.all[0].getStart(n)).line,offset:getLineAndCharacterOfPosition(n,r.all[0].getStart(n)).character},end:{line:getLineAndCharacterOfPosition(n,last(r.all).end).line,offset:getLineAndCharacterOfPosition(n,last(r.all).end).character}};return[{name:wc,description:Lc,actions:[{...Mc,range:e}]}]}return e.preferences.provideRefactorNotApplicableReason?[{name:wc,description:Lc,actions:[{...Mc,notApplicableReason:getLocaleSpecificMessage(Ot.Selection_is_not_a_valid_statement_or_statements)}]}]:l},getEditsForAction:function getRefactorEditsToMoveToFile(e,t,n){h.assert(t===wc,"Wrong refactor invoked");const r=h.checkDefined(getStatementsToMove(e)),{host:i,program:o}=e;h.assert(n,"No interactive refactor arguments available");const a=n.targetFile;if(hasJSFileExtension(a)||hasTSFileExtension(a)){if(i.fileExists(a)&&void 0===o.getSourceFile(a))return error(getLocaleSpecificMessage(Ot.Cannot_move_statements_to_the_selected_file));const t=$m.ChangeTracker.with(e,t=>function doChange3(e,t,n,r,i,o,a,s){const c=r.getTypeChecker(),l=!a.fileExists(n),d=l?createFutureSourceFile(n,t.externalModuleIndicator?99:t.commonJsModuleIndicator?1:void 0,r,a):h.checkDefined(r.getSourceFile(n)),p=ed.createImportAdder(t,e.program,e.preferences,e.host),u=ed.createImportAdder(d,e.program,e.preferences,e.host);getNewStatementsAndRemoveFromOldFile(t,d,getUsageInfo(t,i.all,c,l?void 0:getExistingLocals(d,i.all,c)),o,i,r,a,s,u,p),l&&addNewFileToTsconfig(r,o,t.fileName,n,hostGetCanonicalFileName(a))}(e,e.file,n.targetFile,e.program,r,t,e.host,e.preferences));return{edits:t,renameFilename:void 0,renameLocation:void 0}}return error(getLocaleSpecificMessage(Ot.Cannot_move_to_file_selected_file_is_invalid))}});var Rc="Inline variable",Bc=getLocaleSpecificMessage(Ot.Inline_variable),jc={name:Rc,description:Bc,kind:"refactor.inline.variable"};function getInliningInfo(e,t,n,r){var i,o;const a=r.getTypeChecker(),s=getTouchingPropertyName(e,t),c=s.parent;if(isIdentifier(s)){if(isInitializedVariable(c)&&isVariableDeclarationInVariableStatement(c)&&isIdentifier(c.name)){if(1!==(null==(i=a.getMergedSymbol(c.symbol).declarations)?void 0:i.length))return{error:getLocaleSpecificMessage(Ot.Variables_with_multiple_declarations_cannot_be_inlined)};if(isDeclarationExported(c))return;const t=getReferenceNodes(c,a,e);return t&&{references:t,declaration:c,replacement:c.initializer}}if(n){let t=a.resolveName(s.text,s,111551,!1);if(t=t&&a.getMergedSymbol(t),1!==(null==(o=null==t?void 0:t.declarations)?void 0:o.length))return{error:getLocaleSpecificMessage(Ot.Variables_with_multiple_declarations_cannot_be_inlined)};const n=t.declarations[0];if(!isInitializedVariable(n)||!isVariableDeclarationInVariableStatement(n)||!isIdentifier(n.name))return;if(isDeclarationExported(n))return;const r=getReferenceNodes(n,a,e);return r&&{references:r,declaration:n,replacement:n.initializer}}return{error:getLocaleSpecificMessage(Ot.Could_not_find_variable_to_inline)}}}function isDeclarationExported(e){return some(cast(e.parent.parent,isVariableStatement).modifiers,isExportModifier)}function getReferenceNodes(e,t,n){const r=[],i=vm.Core.eachSymbolReferenceInFile(e.name,t,n,t=>!(!vm.isWriteAccessForReference(t)||isShorthandPropertyAssignment(t.parent))||(!(!isExportSpecifier(t.parent)&&!isExportAssignment(t.parent))||(!!isTypeQueryNode(t.parent)||(!!textRangeContainsPositionInclusive(e,t.pos)||void r.push(t)))));return 0===r.length||i?void 0:r}function getReplacementExpression(e,t){t=getSynthesizedDeepClone(t);const{parent:n}=e;return isExpression(n)&&(getExpressionPrecedence(t)<getExpressionPrecedence(n)||needsParentheses(n))||isFunctionLike(t)&&(isCallLikeExpression(n)||isPropertyAccessExpression(n))||isPropertyAccessExpression(n)&&(isNumericLiteral(t)||isObjectLiteralExpression(t))?Wr.createParenthesizedExpression(t):isIdentifier(e)&&isShorthandPropertyAssignment(n)?Wr.createPropertyAssignment(e,t):t}function replaceTemplateStringVariableWithLiteral(e,t,n,r){const i=n.parent,o=i.templateSpans.indexOf(n),a=0===o?i.head:i.templateSpans[o-1];e.replaceRangeWithText(t,{pos:a.getEnd()-2,end:n.literal.getStart()+1},r.text.replace(/\\/g,"\\\\").replace(/`/g,"\\`"))}registerRefactor(Rc,{kinds:[jc.kind],getAvailableActions(e){const{file:t,program:n,preferences:r,startPosition:i,triggerReason:o}=e,a=getInliningInfo(t,i,"invoked"===o,n);return a?bc.isRefactorErrorInfo(a)?r.provideRefactorNotApplicableReason?[{name:Rc,description:Bc,actions:[{...jc,notApplicableReason:a.error}]}]:l:[{name:Rc,description:Bc,actions:[jc]}]:l},getEditsForAction(e,t){h.assert(t===Rc,"Unexpected refactor invoked");const{file:n,program:r,startPosition:i}=e,o=getInliningInfo(n,i,!0,r);if(!o||bc.isRefactorErrorInfo(o))return;const{references:a,declaration:s,replacement:c}=o;return{edits:$m.ChangeTracker.with(e,e=>{for(const t of a){const r=isStringLiteral(c)&&isIdentifier(t)&&walkUpParenthesizedExpressions(t.parent);r&&isTemplateSpan(r)&&!isTaggedTemplateExpression(r.parent.parent)?replaceTemplateStringVariableWithLiteral(e,n,r,c):e.replaceNode(n,t,getReplacementExpression(t,c))}e.delete(n,s)})}}});var Jc="Move to a new file",Wc=getLocaleSpecificMessage(Ot.Move_to_a_new_file),Uc={name:Jc,description:Wc,kind:"refactor.move.newFile"};registerRefactor(Jc,{kinds:[Uc.kind],getAvailableActions:function getRefactorActionsToMoveToNewFile(e){const t=getStatementsToMove(e),n=e.file;if("implicit"===e.triggerReason&&void 0!==e.endPosition){const t=findAncestor(getTokenAtPosition(n,e.startPosition),isBlockLike),r=findAncestor(getTokenAtPosition(n,e.endPosition),isBlockLike);if(t&&!isSourceFile(t)&&r&&!isSourceFile(r))return l}if(e.preferences.allowTextChangesInNewFiles&&t){const n=e.file,r={start:{line:getLineAndCharacterOfPosition(n,t.all[0].getStart(n)).line,offset:getLineAndCharacterOfPosition(n,t.all[0].getStart(n)).character},end:{line:getLineAndCharacterOfPosition(n,last(t.all).end).line,offset:getLineAndCharacterOfPosition(n,last(t.all).end).character}};return[{name:Jc,description:Wc,actions:[{...Uc,range:r}]}]}return e.preferences.provideRefactorNotApplicableReason?[{name:Jc,description:Wc,actions:[{...Uc,notApplicableReason:getLocaleSpecificMessage(Ot.Selection_is_not_a_valid_statement_or_statements)}]}]:l},getEditsForAction:function getRefactorEditsToMoveToNewFile(e,t){h.assert(t===Jc,"Wrong refactor invoked");const n=h.checkDefined(getStatementsToMove(e)),r=$m.ChangeTracker.with(e,t=>function doChange4(e,t,n,r,i,o,a){const s=t.getTypeChecker(),c=getUsageInfo(e,n.all,s),l=createNewFileName(e,t,i,n),d=createFutureSourceFile(l,e.externalModuleIndicator?99:e.commonJsModuleIndicator?1:void 0,t,i),p=ed.createImportAdder(e,o.program,o.preferences,o.host),u=ed.createImportAdder(d,o.program,o.preferences,o.host);getNewStatementsAndRemoveFromOldFile(e,d,c,r,n,t,i,a,u,p),addNewFileToTsconfig(t,r,e.fileName,l,hostGetCanonicalFileName(i))}(e.file,e.program,n,t,e.host,e,e.preferences));return{edits:r,renameFilename:void 0,renameLocation:void 0}}});var zc={},Vc="Convert overload list to single signature",qc=getLocaleSpecificMessage(Ot.Convert_overload_list_to_single_signature),Hc={name:Vc,description:qc,kind:"refactor.rewrite.function.overloadList"};function isConvertableSignatureDeclaration(e){switch(e.kind){case 174:case 175:case 180:case 177:case 181:case 263:return!0}return!1}function getConvertableOverloadListAtPosition(e,t,n){const r=findAncestor(getTokenAtPosition(e,t),isConvertableSignatureDeclaration);if(!r)return;if(isFunctionLikeDeclaration(r)&&r.body&&rangeContainsPosition(r.body,t))return;const i=n.getTypeChecker(),o=r.symbol;if(!o)return;const a=o.declarations;if(length(a)<=1)return;if(!every(a,t=>getSourceFileOfNode(t)===e))return;if(!isConvertableSignatureDeclaration(a[0]))return;const s=a[0].kind;if(!every(a,e=>e.kind===s))return;const c=a;if(some(c,e=>!!e.typeParameters||some(e.parameters,e=>!!e.modifiers||!isIdentifier(e.name))))return;const l=mapDefined(c,e=>i.getSignatureFromDeclaration(e));if(length(l)!==length(a))return;const d=i.getReturnTypeOfSignature(l[0]);return every(l,e=>i.getReturnTypeOfSignature(e)===d)?c:void 0}registerRefactor(Vc,{kinds:[Hc.kind],getEditsForAction:function getRefactorEditsToConvertOverloadsToOneSignature(e){const{file:t,startPosition:n,program:r}=e,i=getConvertableOverloadListAtPosition(t,n,r);if(!i)return;const o=r.getTypeChecker(),a=i[i.length-1];let s=a;switch(a.kind){case 174:s=Wr.updateMethodSignature(a,a.modifiers,a.name,a.questionToken,a.typeParameters,getNewParametersForCombinedSignature(i),a.type);break;case 175:s=Wr.updateMethodDeclaration(a,a.modifiers,a.asteriskToken,a.name,a.questionToken,a.typeParameters,getNewParametersForCombinedSignature(i),a.type,a.body);break;case 180:s=Wr.updateCallSignature(a,a.typeParameters,getNewParametersForCombinedSignature(i),a.type);break;case 177:s=Wr.updateConstructorDeclaration(a,a.modifiers,getNewParametersForCombinedSignature(i),a.body);break;case 181:s=Wr.updateConstructSignature(a,a.typeParameters,getNewParametersForCombinedSignature(i),a.type);break;case 263:s=Wr.updateFunctionDeclaration(a,a.modifiers,a.asteriskToken,a.name,a.typeParameters,getNewParametersForCombinedSignature(i),a.type,a.body);break;default:return h.failBadSyntaxKind(a,"Unhandled signature kind in overload list conversion refactoring")}if(s===a)return;return{renameFilename:void 0,renameLocation:void 0,edits:$m.ChangeTracker.with(e,e=>{e.replaceNodeRange(t,i[0],i[i.length-1],s)})};function getNewParametersForCombinedSignature(e){const t=e[e.length-1];return isFunctionLikeDeclaration(t)&&t.body&&(e=e.slice(0,e.length-1)),Wr.createNodeArray([Wr.createParameterDeclaration(void 0,Wr.createToken(26),"args",void 0,Wr.createUnionTypeNode(map(e,convertSignatureParametersToTuple)))])}function convertSignatureParametersToTuple(e){const t=map(e.parameters,convertParameterToNamedTupleMember);return setEmitFlags(Wr.createTupleTypeNode(t),some(t,e=>!!length(getSyntheticLeadingComments(e)))?0:1)}function convertParameterToNamedTupleMember(e){h.assert(isIdentifier(e.name));const t=setTextRange(Wr.createNamedTupleMember(e.dotDotDotToken,e.name,e.questionToken,e.type||Wr.createKeywordTypeNode(133)),e),n=e.symbol&&e.symbol.getDocumentationComment(o);if(n){const e=displayPartsToString(n);e.length&&setSyntheticLeadingComments(t,[{text:`*\n${e.split("\n").map(e=>` * ${e}`).join("\n")}\n `,kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return t}},getAvailableActions:function getRefactorActionsToConvertOverloadsToOneSignature(e){const{file:t,startPosition:n,program:r}=e;return getConvertableOverloadListAtPosition(t,n,r)?[{name:Vc,description:qc,actions:[Hc]}]:l}});var Kc="Add or remove braces in an arrow function",Gc=getLocaleSpecificMessage(Ot.Add_or_remove_braces_in_an_arrow_function),$c={name:"Add braces to arrow function",description:getLocaleSpecificMessage(Ot.Add_braces_to_arrow_function),kind:"refactor.rewrite.arrow.braces.add"},Qc={name:"Remove braces from arrow function",description:getLocaleSpecificMessage(Ot.Remove_braces_from_arrow_function),kind:"refactor.rewrite.arrow.braces.remove"};function getConvertibleArrowFunctionAtPosition(e,t,n=!0,r){const i=getTokenAtPosition(e,t),o=getContainingFunction(i);if(!o)return{error:getLocaleSpecificMessage(Ot.Could_not_find_a_containing_arrow_function)};if(!isArrowFunction(o))return{error:getLocaleSpecificMessage(Ot.Containing_function_is_not_an_arrow_function)};if(rangeContainsRange(o,i)&&(!rangeContainsRange(o.body,i)||n)){if(refactorKindBeginsWith($c.kind,r)&&isExpression(o.body))return{func:o,addBraces:!0,expression:o.body};if(refactorKindBeginsWith(Qc.kind,r)&&isBlock(o.body)&&1===o.body.statements.length){const e=first(o.body.statements);if(isReturnStatement(e)){return{func:o,addBraces:!1,expression:e.expression&&isObjectLiteralExpression(getLeftmostExpression(e.expression,!1))?Wr.createParenthesizedExpression(e.expression):e.expression,returnStatement:e}}}}}registerRefactor(Kc,{kinds:[Qc.kind],getEditsForAction:function getRefactorEditsToRemoveFunctionBraces(e,t){const{file:n,startPosition:r}=e,i=getConvertibleArrowFunctionAtPosition(n,r);h.assert(i&&!isRefactorErrorInfo(i),"Expected applicable refactor info");const{expression:o,returnStatement:a,func:s}=i;let c;if(t===$c.name){const e=Wr.createReturnStatement(o);c=Wr.createBlock([e],!0),copyLeadingComments(o,e,n,3,!0)}else if(t===Qc.name&&a){const e=o||Wr.createVoidZero();c=needsParentheses(e)?Wr.createParenthesizedExpression(e):e,copyTrailingAsLeadingComments(a,c,n,3,!1),copyLeadingComments(a,c,n,3,!1),copyTrailingComments(a,c,n,3,!1)}else h.fail("invalid action");return{renameFilename:void 0,renameLocation:void 0,edits:$m.ChangeTracker.with(e,e=>{e.replaceNode(n,s.body,c)})}},getAvailableActions:function getRefactorActionsToRemoveFunctionBraces(e){const{file:t,startPosition:n,triggerReason:r}=e,i=getConvertibleArrowFunctionAtPosition(t,n,"invoked"===r);if(!i)return l;if(!isRefactorErrorInfo(i))return[{name:Kc,description:Gc,actions:[i.addBraces?$c:Qc]}];if(e.preferences.provideRefactorNotApplicableReason)return[{name:Kc,description:Gc,actions:[{...$c,notApplicableReason:i.error},{...Qc,notApplicableReason:i.error}]}];return l}});var Xc={},Yc="Convert arrow function or function expression",Zc=getLocaleSpecificMessage(Ot.Convert_arrow_function_or_function_expression),el={name:"Convert to anonymous function",description:getLocaleSpecificMessage(Ot.Convert_to_anonymous_function),kind:"refactor.rewrite.function.anonymous"},tl={name:"Convert to named function",description:getLocaleSpecificMessage(Ot.Convert_to_named_function),kind:"refactor.rewrite.function.named"},nl={name:"Convert to arrow function",description:getLocaleSpecificMessage(Ot.Convert_to_arrow_function),kind:"refactor.rewrite.function.arrow"};function containingThis(e){let t=!1;return e.forEachChild(function checkThis(e){isThis(e)?t=!0:isClassLike(e)||isFunctionDeclaration(e)||isFunctionExpression(e)||forEachChild(e,checkThis)}),t}function getFunctionInfo(e,t,n){const r=getTokenAtPosition(e,t),i=n.getTypeChecker(),o=function tryGetFunctionFromVariableDeclaration(e,t,n){if(!function isSingleVariableDeclaration(e){return isVariableDeclaration(e)||isVariableDeclarationList(e)&&1===e.declarations.length}(n))return;const r=(isVariableDeclaration(n)?n:first(n.declarations)).initializer;if(r&&(isArrowFunction(r)||isFunctionExpression(r)&&!isFunctionReferencedInFile(e,t,r)))return r;return}(e,i,r.parent);if(o&&!containingThis(o.body)&&!i.containsArgumentsReference(o))return{selectedVariableDeclaration:!0,func:o};const a=getContainingFunction(r);if(a&&(isFunctionExpression(a)||isArrowFunction(a))&&!rangeContainsRange(a.body,r)&&!containingThis(a.body)&&!i.containsArgumentsReference(a)){if(isFunctionExpression(a)&&isFunctionReferencedInFile(e,i,a))return;return{selectedVariableDeclaration:!1,func:a}}}function convertToBlock(e){if(isExpression(e)){const t=Wr.createReturnStatement(e),n=e.getSourceFile();return setTextRange(t,e),suppressLeadingAndTrailingTrivia(t),copyTrailingAsLeadingComments(e,t,n,void 0,!0),Wr.createBlock([t],!0)}return e}function isFunctionReferencedInFile(e,t,n){return!!n.name&&vm.Core.isSymbolReferencedInFile(n.name,t,e)}registerRefactor(Yc,{kinds:[el.kind,tl.kind,nl.kind],getEditsForAction:function getRefactorEditsToConvertFunctionExpressions(e,t){const{file:n,startPosition:r,program:i}=e,o=getFunctionInfo(n,r,i);if(!o)return;const{func:a}=o,s=[];switch(t){case el.name:s.push(...function getEditInfoForConvertToAnonymousFunction(e,t){const{file:n}=e,r=convertToBlock(t.body),i=Wr.createFunctionExpression(t.modifiers,t.asteriskToken,void 0,t.typeParameters,t.parameters,t.type,r);return $m.ChangeTracker.with(e,e=>e.replaceNode(n,t,i))}(e,a));break;case tl.name:const t=function getVariableInfo(e){const t=e.parent;if(!isVariableDeclaration(t)||!isVariableDeclarationInVariableStatement(t))return;const n=t.parent,r=n.parent;return isVariableDeclarationList(n)&&isVariableStatement(r)&&isIdentifier(t.name)?{variableDeclaration:t,variableDeclarationList:n,statement:r,name:t.name}:void 0}(a);if(!t)return;s.push(...function getEditInfoForConvertToNamedFunction(e,t,n){const{file:r}=e,i=convertToBlock(t.body),{variableDeclaration:o,variableDeclarationList:a,statement:s,name:c}=n;suppressLeadingTrivia(s);const l=32&getCombinedModifierFlags(o)|getEffectiveModifierFlags(t),d=Wr.createModifiersFromModifierFlags(l),p=Wr.createFunctionDeclaration(length(d)?d:void 0,t.asteriskToken,c,t.typeParameters,t.parameters,t.type,i);return 1===a.declarations.length?$m.ChangeTracker.with(e,e=>e.replaceNode(r,s,p)):$m.ChangeTracker.with(e,e=>{e.delete(r,o),e.insertNodeAfter(r,s,p)})}(e,a,t));break;case nl.name:if(!isFunctionExpression(a))return;s.push(...function getEditInfoForConvertToArrowFunction(e,t){const{file:n}=e,r=t.body.statements,i=r[0];let o;!function canBeConvertedToExpression(e,t){return 1===e.statements.length&&isReturnStatement(t)&&!!t.expression}(t.body,i)?o=t.body:(o=i.expression,suppressLeadingAndTrailingTrivia(o),copyComments(i,o));const a=Wr.createArrowFunction(t.modifiers,t.typeParameters,t.parameters,t.type,Wr.createToken(39),o);return $m.ChangeTracker.with(e,e=>e.replaceNode(n,t,a))}(e,a));break;default:return h.fail("invalid action")}return{renameFilename:void 0,renameLocation:void 0,edits:s}},getAvailableActions:function getRefactorActionsToConvertFunctionExpressions(e){const{file:t,startPosition:n,program:r,kind:i}=e,o=getFunctionInfo(t,n,r);if(!o)return l;const{selectedVariableDeclaration:a,func:s}=o,c=[],d=[];if(refactorKindBeginsWith(tl.kind,i)){const e=a||isArrowFunction(s)&&isVariableDeclaration(s.parent)?void 0:getLocaleSpecificMessage(Ot.Could_not_convert_to_named_function);e?d.push({...tl,notApplicableReason:e}):c.push(tl)}if(refactorKindBeginsWith(el.kind,i)){const e=!a&&isArrowFunction(s)?void 0:getLocaleSpecificMessage(Ot.Could_not_convert_to_anonymous_function);e?d.push({...el,notApplicableReason:e}):c.push(el)}if(refactorKindBeginsWith(nl.kind,i)){const e=isFunctionExpression(s)?void 0:getLocaleSpecificMessage(Ot.Could_not_convert_to_arrow_function);e?d.push({...nl,notApplicableReason:e}):c.push(nl)}return[{name:Yc,description:Zc,actions:0===c.length&&e.preferences.provideRefactorNotApplicableReason?d:c}]}});var rl={},il="Convert parameters to destructured object",ol=getLocaleSpecificMessage(Ot.Convert_parameters_to_destructured_object),al={name:il,description:ol,kind:"refactor.rewrite.parameters.toDestructured"};function getSymbolForContextualType(e,t){const n=getContainingObjectLiteralElement(e);if(n){const e=t.getContextualTypeForObjectLiteralElement(n),r=null==e?void 0:e.getSymbol();if(r&&!(6&getCheckFlags(r)))return r}}function entryToImportOrExport(e){const t=e.node;return isImportSpecifier(t.parent)||isImportClause(t.parent)||isImportEqualsDeclaration(t.parent)||isNamespaceImport(t.parent)||isExportSpecifier(t.parent)||isExportAssignment(t.parent)?t:void 0}function entryToDeclaration(e){if(isDeclaration(e.node.parent))return e.node}function entryToFunctionCall(e){if(e.node.parent){const t=e.node,n=t.parent;switch(n.kind){case 214:case 215:const e=tryCast(n,isCallOrNewExpression);if(e&&e.expression===t)return e;break;case 212:const r=tryCast(n,isPropertyAccessExpression);if(r&&r.parent&&r.name===t){const e=tryCast(r.parent,isCallOrNewExpression);if(e&&e.expression===r)return e}break;case 213:const i=tryCast(n,isElementAccessExpression);if(i&&i.parent&&i.argumentExpression===t){const e=tryCast(i.parent,isCallOrNewExpression);if(e&&e.expression===i)return e}}}}function entryToAccessExpression(e){if(e.node.parent){const t=e.node,n=t.parent;switch(n.kind){case 212:const e=tryCast(n,isPropertyAccessExpression);if(e&&e.expression===t)return e;break;case 213:const r=tryCast(n,isElementAccessExpression);if(r&&r.expression===t)return r}}}function entryToType(e){const t=e.node;if(2===getMeaningFromLocation(t)||isExpressionWithTypeArgumentsInClassExtendsClause(t.parent))return t}function getFunctionDeclarationAtPosition(e,t,n){const r=getTouchingToken(e,t),i=getContainingFunctionDeclaration(r);if(!function isTopLevelJSDoc(e){const t=findAncestor(e,isJSDocNode);if(t){const e=findAncestor(t,e=>!isJSDocNode(e));return!!e&&isFunctionLikeDeclaration(e)}return!1}(r))return!(i&&function isValidFunctionDeclaration(e,t){var n;if(!function isValidParameterNodeArray(e,t){return function getRefactorableParametersLength(e){if(hasThisParameter(e))return e.length-1;return e.length}(e)>=1&&every(e,e=>function isValidParameterDeclaration(e,t){if(isRestParameter(e)){const n=t.getTypeAtLocation(e);if(!t.isArrayType(n)&&!t.isTupleType(n))return!1}return!e.modifiers&&isIdentifier(e.name)}(e,t))}(e.parameters,t))return!1;switch(e.kind){case 263:return hasNameOrDefault(e)&&isSingleImplementation(e,t);case 175:if(isObjectLiteralExpression(e.parent)){const r=getSymbolForContextualType(e.name,t);return 1===(null==(n=null==r?void 0:r.declarations)?void 0:n.length)&&isSingleImplementation(e,t)}return isSingleImplementation(e,t);case 177:return isClassDeclaration(e.parent)?hasNameOrDefault(e.parent)&&isSingleImplementation(e,t):isValidVariableDeclaration(e.parent.parent)&&isSingleImplementation(e,t);case 219:case 220:return isValidVariableDeclaration(e.parent)}return!1}(i,n)&&rangeContainsRange(i,r))||i.body&&rangeContainsRange(i.body,r)?void 0:i}function isValidMethodSignature(e){return isMethodSignature(e)&&(isInterfaceDeclaration(e.parent)||isTypeLiteralNode(e.parent))}function isSingleImplementation(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function hasNameOrDefault(e){if(!e.name){return!!findModifier(e,90)}return!0}function isValidVariableDeclaration(e){return isVariableDeclaration(e)&&isVarConst(e)&&isIdentifier(e.name)&&!e.type}function hasThisParameter(e){return e.length>0&&isThis(e[0].name)}function getRefactorableParameters(e){return hasThisParameter(e)&&(e=Wr.createNodeArray(e.slice(1),e.hasTrailingComma)),e}function createNewArgument(e,t){const n=getRefactorableParameters(e.parameters),r=isRestParameter(last(n)),i=map(r?t.slice(0,n.length-1):t,(e,t)=>{const r=function createPropertyOrShorthandAssignment(e,t){return isIdentifier(t)&&getTextOfIdentifierOrLiteral(t)===e?Wr.createShorthandPropertyAssignment(e):Wr.createPropertyAssignment(e,t)}(getParameterName(n[t]),e);return suppressLeadingAndTrailingTrivia(r.name),isPropertyAssignment(r)&&suppressLeadingAndTrailingTrivia(r.initializer),copyComments(e,r),r});if(r&&t.length>=n.length){const e=t.slice(n.length-1),r=Wr.createPropertyAssignment(getParameterName(last(n)),Wr.createArrayLiteralExpression(e));i.push(r)}return Wr.createObjectLiteralExpression(i,!1)}function createNewParameters(e,t,n){const r=t.getTypeChecker(),i=getRefactorableParameters(e.parameters),o=map(i,function createBindingElementFromParameterDeclaration(e){const t=Wr.createBindingElement(void 0,void 0,getParameterName(e),isRestParameter(e)&&isOptionalParameter(e)?Wr.createArrayLiteralExpression():e.initializer);suppressLeadingAndTrailingTrivia(t),e.initializer&&t.initializer&©Comments(e.initializer,t.initializer);return t}),a=Wr.createObjectBindingPattern(o),s=function createParameterTypeNode(e){const t=map(e,createPropertySignatureFromParameterDeclaration);return addEmitFlags(Wr.createTypeLiteralNode(t),1)}(i);let c;every(i,isOptionalParameter)&&(c=Wr.createObjectLiteralExpression());const l=Wr.createParameterDeclaration(void 0,void 0,a,void 0,s,c);if(hasThisParameter(e.parameters)){const t=e.parameters[0],n=Wr.createParameterDeclaration(void 0,void 0,t.name,void 0,t.type);return suppressLeadingAndTrailingTrivia(n.name),copyComments(t.name,n.name),t.type&&(suppressLeadingAndTrailingTrivia(n.type),copyComments(t.type,n.type)),Wr.createNodeArray([n,l])}return Wr.createNodeArray([l]);function createPropertySignatureFromParameterDeclaration(e){let i=e.type;i||!e.initializer&&!isRestParameter(e)||(i=function getTypeNode3(e){return getTypeNodeIfAccessible(r.getTypeAtLocation(e),e,t,n)}(e));const o=Wr.createPropertySignature(void 0,getParameterName(e),isOptionalParameter(e)?Wr.createToken(58):e.questionToken,i);return suppressLeadingAndTrailingTrivia(o),copyComments(e.name,o.name),e.type&&o.type&©Comments(e.type,o.type),o}function isOptionalParameter(e){if(isRestParameter(e)){const t=r.getTypeAtLocation(e);return!r.isTupleType(t)}return r.isOptionalParameter(e)}}function getParameterName(e){return getTextOfIdentifierOrLiteral(e.name)}registerRefactor(il,{kinds:[al.kind],getEditsForAction:function getRefactorEditsToConvertParametersToDestructuredObject(e,t){h.assert(t===il,"Unexpected action name");const{file:n,startPosition:r,program:i,cancellationToken:o,host:a}=e,s=getFunctionDeclarationAtPosition(n,r,i.getTypeChecker());if(!s||!o)return;const c=function getGroupedReferences(e,t,n){const r=function getFunctionNames(e){switch(e.kind){case 263:if(e.name)return[e.name];return[h.checkDefined(findModifier(e,90),"Nameless function declaration should be a default export")];case 175:return[e.name];case 177:const t=h.checkDefined(findChildOfKind(e,137,e.getSourceFile()),"Constructor declaration should have constructor keyword");if(232===e.parent.kind){return[e.parent.parent.name,t]}return[t];case 220:return[e.parent.name];case 219:return e.name?[e.name,e.parent.name]:[e.parent.name];default:return h.assertNever(e,`Unexpected function declaration kind ${e.kind}`)}}(e),i=isConstructorDeclaration(e)?function getClassNames(e){switch(e.parent.kind){case 264:const t=e.parent;if(t.name)return[t.name];return[h.checkDefined(findModifier(t,90),"Nameless class declaration should be a default export")];case 232:const n=e.parent,r=e.parent.parent,i=n.name;return i?[i,r.name]:[r.name]}}(e):[],o=deduplicate([...r,...i],equateValues),a=t.getTypeChecker(),s=flatMap(o,e=>vm.getReferenceEntriesForNode(-1,e,t,t.getSourceFiles(),n)),c=groupReferences(s);every(c.declarations,e=>contains(o,e))||(c.valid=!1);return c;function groupReferences(t){const n={accessExpressions:[],typeUsages:[]},o={functionCalls:[],declarations:[],classReferences:n,valid:!0},s=map(r,getSymbolTargetAtLocation),c=map(i,getSymbolTargetAtLocation),l=isConstructorDeclaration(e),d=map(r,e=>getSymbolForContextualType(e,a));for(const r of t){if(r.kind===vm.EntryKind.Span){o.valid=!1;continue}if(contains(d,getSymbolTargetAtLocation(r.node))){if(isValidMethodSignature(r.node.parent)){o.signature=r.node.parent;continue}const e=entryToFunctionCall(r);if(e){o.functionCalls.push(e);continue}}const t=getSymbolForContextualType(r.node,a);if(t&&contains(d,t)){const e=entryToDeclaration(r);if(e){o.declarations.push(e);continue}}if(contains(s,getSymbolTargetAtLocation(r.node))||isNewExpressionTarget(r.node)){if(entryToImportOrExport(r))continue;const e=entryToDeclaration(r);if(e){o.declarations.push(e);continue}const t=entryToFunctionCall(r);if(t){o.functionCalls.push(t);continue}}if(l&&contains(c,getSymbolTargetAtLocation(r.node))){if(entryToImportOrExport(r))continue;const t=entryToDeclaration(r);if(t){o.declarations.push(t);continue}const i=entryToAccessExpression(r);if(i){n.accessExpressions.push(i);continue}if(isClassDeclaration(e.parent)){const e=entryToType(r);if(e){n.typeUsages.push(e);continue}}}o.valid=!1}return o}function getSymbolTargetAtLocation(e){const t=a.getSymbolAtLocation(e);return t&&getSymbolTarget(t,a)}}(s,i,o);if(c.valid){const t=$m.ChangeTracker.with(e,e=>function doChange5(e,t,n,r,i,o){const a=o.signature,s=map(createNewParameters(i,t,n),e=>getSynthesizedDeepClone(e));if(a){replaceParameters(a,map(createNewParameters(a,t,n),e=>getSynthesizedDeepClone(e)))}replaceParameters(i,s);const c=sortAndDeduplicate(o.functionCalls,(e,t)=>compareValues(e.pos,t.pos));for(const e of c)if(e.arguments&&e.arguments.length){const t=getSynthesizedDeepClone(createNewArgument(i,e.arguments),!0);r.replaceNodeRange(getSourceFileOfNode(e),first(e.arguments),last(e.arguments),t,{leadingTriviaOption:$m.LeadingTriviaOption.IncludeAll,trailingTriviaOption:$m.TrailingTriviaOption.Include})}function replaceParameters(t,n){r.replaceNodeRangeWithNodes(e,first(t.parameters),last(t.parameters),n,{joiner:", ",indentation:0,leadingTriviaOption:$m.LeadingTriviaOption.IncludeAll,trailingTriviaOption:$m.TrailingTriviaOption.Include})}}(n,i,a,e,s,c));return{renameFilename:void 0,renameLocation:void 0,edits:t}}return{edits:[]}},getAvailableActions:function getRefactorActionsToConvertParametersToDestructuredObject(e){const{file:t,startPosition:n}=e;if(isSourceFileJS(t))return l;return getFunctionDeclarationAtPosition(t,n,e.program.getTypeChecker())?[{name:il,description:ol,actions:[al]}]:l}});var sl={},cl="Convert to template string",ll=getLocaleSpecificMessage(Ot.Convert_to_template_string),dl={name:cl,description:ll,kind:"refactor.rewrite.string"};function getNodeOrParentOfParentheses(e,t){const n=getTokenAtPosition(e,t),r=getParentBinaryExpression(n);return!treeToArray(r).isValidConcatenation&&isParenthesizedExpression(r.parent)&&isBinaryExpression(r.parent.parent)?r.parent.parent:n}function getEditsForToTemplateLiteral(e,t){const n=getParentBinaryExpression(t),r=e.file,i=function nodesToTemplate({nodes:e,operators:t},n){const r=copyTrailingOperatorComments(t,n),i=copyCommentFromMultiNode(e,n,r),[o,a,s,c]=concatConsecutiveString(0,e);if(o===e.length){const e=Wr.createNoSubstitutionTemplateLiteral(a,s);return i(c,e),e}const l=[],d=Wr.createTemplateHead(a,s);i(c,d);for(let t=o;t<e.length;t++){const n=getExpressionFromParenthesesOrExpression(e[t]);r(t,n);const[o,a,s,c]=concatConsecutiveString(t+1,e);t=o-1;const d=t===e.length-1;if(isTemplateExpression(n)){const e=map(n.templateSpans,(e,t)=>{copyExpressionComments(e);const r=t===n.templateSpans.length-1,i=e.literal.text+(r?a:""),o=getRawTextOfTemplate(e.literal)+(r?s:"");return Wr.createTemplateSpan(e.expression,d&&r?Wr.createTemplateTail(i,o):Wr.createTemplateMiddle(i,o))});l.push(...e)}else{const e=d?Wr.createTemplateTail(a,s):Wr.createTemplateMiddle(a,s);i(c,e),l.push(Wr.createTemplateSpan(n,e))}}return Wr.createTemplateExpression(d,l)}(treeToArray(n),r),o=getTrailingCommentRanges(r.text,n.end);if(o){const t=o[o.length-1],a={pos:o[0].pos,end:t.end};return $m.ChangeTracker.with(e,e=>{e.deleteRange(r,a),e.replaceNode(r,n,i)})}return $m.ChangeTracker.with(e,e=>e.replaceNode(r,n,i))}function getParentBinaryExpression(e){return findAncestor(e.parent,e=>{switch(e.kind){case 212:case 213:return!1;case 229:case 227:return!(isBinaryExpression(e.parent)&&function isNotEqualsOperator(e){return!(64===e.operatorToken.kind||65===e.operatorToken.kind)}(e.parent));default:return"quit"}})||e}function treeToArray(e){const loop=e=>{if(!isBinaryExpression(e))return{nodes:[e],operators:[],validOperators:!0,hasString:isStringLiteral(e)||isNoSubstitutionTemplateLiteral(e)};const{nodes:t,operators:n,hasString:r,validOperators:i}=loop(e.left);if(!(r||isStringLiteral(e.right)||isTemplateExpression(e.right)))return{nodes:[e],operators:[],hasString:!1,validOperators:!0};const o=40===e.operatorToken.kind,a=i&&o;return t.push(e.right),n.push(e.operatorToken),{nodes:t,operators:n,hasString:!0,validOperators:a}},{nodes:t,operators:n,validOperators:r,hasString:i}=loop(e);return{nodes:t,operators:n,isValidConcatenation:r&&i}}registerRefactor(cl,{kinds:[dl.kind],getEditsForAction:function getRefactorEditsToConvertToTemplateString(e,t){const{file:n,startPosition:r}=e,i=getNodeOrParentOfParentheses(n,r);if(t===ll)return{edits:getEditsForToTemplateLiteral(e,i)};return h.fail("invalid action")},getAvailableActions:function getRefactorActionsToConvertToTemplateString(e){const{file:t,startPosition:n}=e,r=getParentBinaryExpression(getNodeOrParentOfParentheses(t,n)),i=isStringLiteral(r),o={name:cl,description:ll,actions:[]};if(i&&"invoked"!==e.triggerReason)return l;if(isExpressionNode(r)&&(i||isBinaryExpression(r)&&treeToArray(r).isValidConcatenation))return o.actions.push(dl),[o];if(e.preferences.provideRefactorNotApplicableReason)return o.actions.push({...dl,notApplicableReason:getLocaleSpecificMessage(Ot.Can_only_convert_string_concatenations_and_string_literals)}),[o];return l}});var copyTrailingOperatorComments=(e,t)=>(n,r)=>{n<e.length&©TrailingComments(e[n],r,t,3,!1)},copyCommentFromMultiNode=(e,t,n)=>(r,i)=>{for(;r.length>0;){const o=r.shift();copyTrailingComments(e[o],i,t,3,!1),n(o,i)}};function escapeRawStringForTemplate(e){return e.replace(/\\.|[$`]/g,e=>"\\"===e[0]?e:"\\"+e)}function getRawTextOfTemplate(e){const t=isTemplateHead(e)||isTemplateMiddle(e)?-2:-1;return getTextOfNode(e).slice(1,t)}function concatConsecutiveString(e,t){const n=[];let r="",i="";for(;e<t.length;){const o=t[e];if(!isStringLiteralLike(o)){if(isTemplateExpression(o)){r+=o.head.text,i+=getRawTextOfTemplate(o.head);break}break}r+=o.text,i+=escapeRawStringForTemplate(getTextOfNode(o).slice(1,-1)),n.push(e),e++}return[e,r,i,n]}function copyExpressionComments(e){const t=e.getSourceFile();copyTrailingComments(e,e.expression,t,3,!1),copyTrailingAsLeadingComments(e.expression,e.expression,t,3,!1)}function getExpressionFromParenthesesOrExpression(e){return isParenthesizedExpression(e)&&(copyExpressionComments(e),e=e.expression),e}var pl={},ul="Convert to optional chain expression",ml=getLocaleSpecificMessage(Ot.Convert_to_optional_chain_expression),_l={name:ul,description:ml,kind:"refactor.rewrite.expression.optionalChain"};function isValidExpression(e){return isBinaryExpression(e)||isConditionalExpression(e)}function isValidExpressionOrStatement(e){return isValidExpression(e)||function isValidStatement(e){return isExpressionStatement(e)||isReturnStatement(e)||isVariableStatement(e)}(e)}function getInfo3(e,t=!0){const{file:n,program:r}=e,i=getRefactorContextSpan(e),o=0===i.length;if(o&&!t)return;const a=getTokenAtPosition(n,i.start),s=findTokenOnLeftOfPosition(n,i.start+i.length),c=createTextSpanFromBounds(a.pos,s&&s.end>=a.pos?s.getEnd():a.getEnd()),l=o?function getValidParentNodeOfEmptySpan(e){for(;e.parent;){if(isValidExpressionOrStatement(e)&&!isValidExpressionOrStatement(e.parent))return e;e=e.parent}return}(a):function getValidParentNodeContainingSpan(e,t){for(;e.parent;){if(isValidExpressionOrStatement(e)&&0!==t.length&&e.end>=t.start+t.length)return e;e=e.parent}return}(a,c),d=l&&isValidExpressionOrStatement(l)?function getExpression(e){if(isValidExpression(e))return e;if(isVariableStatement(e)){const t=getSingleVariableOfVariableStatement(e),n=null==t?void 0:t.initializer;return n&&isValidExpression(n)?n:void 0}return e.expression&&isValidExpression(e.expression)?e.expression:void 0}(l):void 0;if(!d)return{error:getLocaleSpecificMessage(Ot.Could_not_find_convertible_access_expression)};const p=r.getTypeChecker();return isConditionalExpression(d)?function getConditionalInfo(e,t){const n=e.condition,r=getFinalExpressionInChain(e.whenTrue);if(!r||t.isNullableType(t.getTypeAtLocation(r)))return{error:getLocaleSpecificMessage(Ot.Could_not_find_convertible_access_expression)};if((isPropertyAccessExpression(n)||isIdentifier(n))&&getMatchingStart(n,r.expression))return{finalExpression:r,occurrences:[n],expression:e};if(isBinaryExpression(n)){const t=getOccurrencesInExpression(r.expression,n);return t?{finalExpression:r,occurrences:t,expression:e}:{error:getLocaleSpecificMessage(Ot.Could_not_find_matching_access_expressions)}}}(d,p):function getBinaryInfo(e){if(56!==e.operatorToken.kind)return{error:getLocaleSpecificMessage(Ot.Can_only_convert_logical_AND_access_chains)};const t=getFinalExpressionInChain(e.right);if(!t)return{error:getLocaleSpecificMessage(Ot.Could_not_find_convertible_access_expression)};const n=getOccurrencesInExpression(t.expression,e.left);return n?{finalExpression:t,occurrences:n,expression:e}:{error:getLocaleSpecificMessage(Ot.Could_not_find_matching_access_expressions)}}(d)}function getOccurrencesInExpression(e,t){const n=[];for(;isBinaryExpression(t)&&56===t.operatorToken.kind;){const r=getMatchingStart(skipParentheses(e),skipParentheses(t.right));if(!r)break;n.push(r),e=r,t=t.left}const r=getMatchingStart(e,t);return r&&n.push(r),n.length>0?n:void 0}function getMatchingStart(e,t){if(isIdentifier(t)||isPropertyAccessExpression(t)||isElementAccessExpression(t))return function chainStartsWith(e,t){for(;(isCallExpression(e)||isPropertyAccessExpression(e)||isElementAccessExpression(e))&&getTextOfChainNode(e)!==getTextOfChainNode(t);)e=e.expression;for(;isPropertyAccessExpression(e)&&isPropertyAccessExpression(t)||isElementAccessExpression(e)&&isElementAccessExpression(t);){if(getTextOfChainNode(e)!==getTextOfChainNode(t))return!1;e=e.expression,t=t.expression}return isIdentifier(e)&&isIdentifier(t)&&e.getText()===t.getText()}(e,t)?t:void 0}function getTextOfChainNode(e){return isIdentifier(e)||isStringOrNumericLiteralLike(e)?e.getText():isPropertyAccessExpression(e)?getTextOfChainNode(e.name):isElementAccessExpression(e)?getTextOfChainNode(e.argumentExpression):void 0}function getFinalExpressionInChain(e){return isBinaryExpression(e=skipParentheses(e))?getFinalExpressionInChain(e.left):(isPropertyAccessExpression(e)||isElementAccessExpression(e)||isCallExpression(e))&&!isOptionalChain(e)?e:void 0}function convertOccurrences(e,t,n){if(isPropertyAccessExpression(t)||isElementAccessExpression(t)||isCallExpression(t)){const r=convertOccurrences(e,t.expression,n),i=n.length>0?n[n.length-1]:void 0,o=(null==i?void 0:i.getText())===t.expression.getText();if(o&&n.pop(),isCallExpression(t))return o?Wr.createCallChain(r,Wr.createToken(29),t.typeArguments,t.arguments):Wr.createCallChain(r,t.questionDotToken,t.typeArguments,t.arguments);if(isPropertyAccessExpression(t))return o?Wr.createPropertyAccessChain(r,Wr.createToken(29),t.name):Wr.createPropertyAccessChain(r,t.questionDotToken,t.name);if(isElementAccessExpression(t))return o?Wr.createElementAccessChain(r,Wr.createToken(29),t.argumentExpression):Wr.createElementAccessChain(r,t.questionDotToken,t.argumentExpression)}return t}registerRefactor(ul,{kinds:[_l.kind],getEditsForAction:function getRefactorEditsToConvertToOptionalChain(e,t){const n=getInfo3(e);h.assert(n&&!isRefactorErrorInfo(n),"Expected applicable refactor info");return{edits:$m.ChangeTracker.with(e,t=>function doChange6(e,t,n,r,i){const{finalExpression:o,occurrences:a,expression:s}=r,c=a[a.length-1],l=convertOccurrences(t,o,a);l&&(isPropertyAccessExpression(l)||isElementAccessExpression(l)||isCallExpression(l))&&(isBinaryExpression(s)?n.replaceNodeRange(e,c,o,l):isConditionalExpression(s)&&n.replaceNode(e,s,Wr.createBinaryExpression(l,Wr.createToken(61),s.whenFalse)))}(e.file,e.program.getTypeChecker(),t,n)),renameFilename:void 0,renameLocation:void 0}},getAvailableActions:function getRefactorActionsToConvertToOptionalChain(e){const t=getInfo3(e,"invoked"===e.triggerReason);if(!t)return l;if(!isRefactorErrorInfo(t))return[{name:ul,description:ml,actions:[_l]}];if(e.preferences.provideRefactorNotApplicableReason)return[{name:ul,description:ml,actions:[{..._l,notApplicableReason:t.error}]}];return l}});var fl={};i(fl,{Messages:()=>gl,RangeFacts:()=>Sl,getRangeToExtract:()=>getRangeToExtract2,getRefactorActionsToExtractSymbol:()=>getRefactorActionsToExtractSymbol,getRefactorEditsToExtractSymbol:()=>getRefactorEditsToExtractSymbol});var gl,yl="Extract Symbol",hl={name:"Extract Constant",description:getLocaleSpecificMessage(Ot.Extract_constant),kind:"refactor.extract.constant"},Tl={name:"Extract Function",description:getLocaleSpecificMessage(Ot.Extract_function),kind:"refactor.extract.function"};function getRefactorActionsToExtractSymbol(e){const t=e.kind,n=getRangeToExtract2(e.file,getRefactorContextSpan(e),"invoked"===e.triggerReason),r=n.targetRange;if(void 0===r){if(!n.errors||0===n.errors.length||!e.preferences.provideRefactorNotApplicableReason)return l;const r=[];return refactorKindBeginsWith(Tl.kind,t)&&r.push({name:yl,description:Tl.description,actions:[{...Tl,notApplicableReason:getStringError(n.errors)}]}),refactorKindBeginsWith(hl.kind,t)&&r.push({name:yl,description:hl.description,actions:[{...hl,notApplicableReason:getStringError(n.errors)}]}),r}const{affectedTextRange:i,extractions:o}=function getPossibleExtractions(e,t){const{scopes:n,affectedTextRange:r,readsAndWrites:{functionErrorsPerScope:i,constantErrorsPerScope:o}}=getPossibleExtractionsWorker(e,t),a=n.map((e,t)=>{const n=function getDescriptionForFunctionInScope(e){return isFunctionLikeDeclaration(e)?"inner function":isClassLike(e)?"method":"function"}(e),r=function getDescriptionForConstantInScope(e){return isClassLike(e)?"readonly field":"constant"}(e),a=isFunctionLikeDeclaration(e)?function getDescriptionForFunctionLikeDeclaration(e){switch(e.kind){case 177:return"constructor";case 219:case 263:return e.name?`function '${e.name.text}'`:Xs;case 220:return"arrow function";case 175:return`method '${e.name.getText()}'`;case 178:return`'get ${e.name.getText()}'`;case 179:return`'set ${e.name.getText()}'`;default:h.assertNever(e,`Unexpected scope kind ${e.kind}`)}}(e):isClassLike(e)?function getDescriptionForClassLikeDeclaration(e){return 264===e.kind?e.name?`class '${e.name.text}'`:"anonymous class declaration":e.name?`class expression '${e.name.text}'`:"anonymous class expression"}(e):function getDescriptionForModuleLikeDeclaration(e){return 269===e.kind?`namespace '${e.parent.name.getText()}'`:e.externalModuleIndicator?0:1}(e);let s,c;return 1===a?(s=formatStringFromArgs(getLocaleSpecificMessage(Ot.Extract_to_0_in_1_scope),[n,"global"]),c=formatStringFromArgs(getLocaleSpecificMessage(Ot.Extract_to_0_in_1_scope),[r,"global"])):0===a?(s=formatStringFromArgs(getLocaleSpecificMessage(Ot.Extract_to_0_in_1_scope),[n,"module"]),c=formatStringFromArgs(getLocaleSpecificMessage(Ot.Extract_to_0_in_1_scope),[r,"module"])):(s=formatStringFromArgs(getLocaleSpecificMessage(Ot.Extract_to_0_in_1),[n,a]),c=formatStringFromArgs(getLocaleSpecificMessage(Ot.Extract_to_0_in_1),[r,a])),0!==t||isClassLike(e)||(c=formatStringFromArgs(getLocaleSpecificMessage(Ot.Extract_to_0_in_enclosing_scope),[r])),{functionExtraction:{description:s,errors:i[t]},constantExtraction:{description:c,errors:o[t]}}});return{affectedTextRange:r,extractions:a}}(r,e);if(void 0===o)return l;const a=[],s=new Map;let c;const d=[],p=new Map;let u,m=0;for(const{functionExtraction:n,constantExtraction:r}of o){if(refactorKindBeginsWith(Tl.kind,t)){const t=n.description;0===n.errors.length?s.has(t)||(s.set(t,!0),a.push({description:t,name:`function_scope_${m}`,kind:Tl.kind,range:{start:{line:getLineAndCharacterOfPosition(e.file,i.pos).line,offset:getLineAndCharacterOfPosition(e.file,i.pos).character},end:{line:getLineAndCharacterOfPosition(e.file,i.end).line,offset:getLineAndCharacterOfPosition(e.file,i.end).character}}})):c||(c={description:t,name:`function_scope_${m}`,notApplicableReason:getStringError(n.errors),kind:Tl.kind})}if(refactorKindBeginsWith(hl.kind,t)){const t=r.description;0===r.errors.length?p.has(t)||(p.set(t,!0),d.push({description:t,name:`constant_scope_${m}`,kind:hl.kind,range:{start:{line:getLineAndCharacterOfPosition(e.file,i.pos).line,offset:getLineAndCharacterOfPosition(e.file,i.pos).character},end:{line:getLineAndCharacterOfPosition(e.file,i.end).line,offset:getLineAndCharacterOfPosition(e.file,i.end).character}}})):u||(u={description:t,name:`constant_scope_${m}`,notApplicableReason:getStringError(r.errors),kind:hl.kind})}m++}const _=[];return a.length?_.push({name:yl,description:getLocaleSpecificMessage(Ot.Extract_function),actions:a}):e.preferences.provideRefactorNotApplicableReason&&c&&_.push({name:yl,description:getLocaleSpecificMessage(Ot.Extract_function),actions:[c]}),d.length?_.push({name:yl,description:getLocaleSpecificMessage(Ot.Extract_constant),actions:d}):e.preferences.provideRefactorNotApplicableReason&&u&&_.push({name:yl,description:getLocaleSpecificMessage(Ot.Extract_constant),actions:[u]}),_.length?_:l;function getStringError(e){let t=e[0].messageText;return"string"!=typeof t&&(t=t.messageText),t}}function getRefactorEditsToExtractSymbol(e,t){const n=getRangeToExtract2(e.file,getRefactorContextSpan(e)).targetRange,r=/^function_scope_(\d+)$/.exec(t);if(r){const t=+r[1];return h.assert(isFinite(t),"Expected to parse a finite number from the function scope index"),function getFunctionExtractionAtIndex(e,t,n){const{scopes:r,readsAndWrites:{target:i,usagesPerScope:o,functionErrorsPerScope:a,exposedVariableDeclarations:s}}=getPossibleExtractionsWorker(e,t);return h.assert(!a[n].length,"The extraction went missing? How?"),t.cancellationToken.throwIfCancellationRequested(),function extractFunctionInScope(e,t,{usages:n,typeParameterUsages:r,substitutions:i},o,a,s){const c=s.program.getTypeChecker(),d=zn(s.program.getCompilerOptions()),p=ed.createImportAdder(s.file,s.program,s.preferences,s.host),u=t.getSourceFile(),m=getUniqueName(isClassLike(t)?"newMethod":"newFunction",u),_=isInJSFile(t),f=Wr.createIdentifier(m);let g;const y=[],T=[];let S;n.forEach((e,n)=>{let r;if(!_){let n=c.getTypeOfSymbolAtLocation(e.symbol,e.node);n=c.getBaseTypeOfLiteralType(n),r=ed.typeToAutoImportableTypeNode(c,p,n,t,d,1,8)}const i=Wr.createParameterDeclaration(void 0,void 0,n,void 0,r);y.push(i),2===e.usage&&(S||(S=[])).push(e),T.push(Wr.createIdentifier(n))});const x=arrayFrom(r.values(),e=>({type:e,declaration:getFirstDeclarationBeforePosition(e,s.startPosition)}));x.sort(compareTypesByDeclarationOrder);const v=0===x.length?void 0:mapDefined(x,({declaration:e})=>e),b=void 0!==v?v.map(e=>Wr.createTypeReferenceNode(e.name,void 0)):void 0;if(isExpression(e)&&!_){const n=c.getContextualType(e);g=c.typeToTypeNode(n,t,1,8)}const{body:C,returnValueProperty:E}=function transformFunctionBody(e,t,n,r,i){const o=void 0!==n||t.length>0;if(isBlock(e)&&!o&&0===r.size)return{body:Wr.createBlock(e.statements,!0),returnValueProperty:void 0};let a,s=!1;const c=Wr.createNodeArray(isBlock(e)?e.statements.slice(0):[isStatement(e)?e:Wr.createReturnStatement(skipParentheses(e))]);if(o||r.size){const r=visitNodes2(c,visitor,isStatement).slice();if(o&&!i&&isStatement(e)){const e=getPropertyAssignmentsForWritesAndVariableDeclarations(t,n);1===e.length?r.push(Wr.createReturnStatement(e[0].name)):r.push(Wr.createReturnStatement(Wr.createObjectLiteralExpression(e)))}return{body:Wr.createBlock(r,!0),returnValueProperty:a}}return{body:Wr.createBlock(c,!0),returnValueProperty:void 0};function visitor(e){if(!s&&isReturnStatement(e)&&o){const r=getPropertyAssignmentsForWritesAndVariableDeclarations(t,n);return e.expression&&(a||(a="__return"),r.unshift(Wr.createPropertyAssignment(a,visitNode(e.expression,visitor,isExpression)))),1===r.length?Wr.createReturnStatement(r[0].name):Wr.createReturnStatement(Wr.createObjectLiteralExpression(r))}{const t=s;s=s||isFunctionLikeDeclaration(e)||isClassLike(e);const n=r.get(getNodeId(e).toString()),i=n?getSynthesizedDeepClone(n):visitEachChild(e,visitor,void 0);return s=t,i}}}(e,o,S,i,!!(1&a.facts));let N;suppressLeadingAndTrailingTrivia(C);const k=!!(16&a.facts);if(isClassLike(t)){const e=_?[]:[Wr.createModifier(123)];32&a.facts&&e.push(Wr.createModifier(126)),4&a.facts&&e.push(Wr.createModifier(134)),N=Wr.createMethodDeclaration(e.length?e:void 0,2&a.facts?Wr.createToken(42):void 0,f,void 0,v,y,g,C)}else k&&y.unshift(Wr.createParameterDeclaration(void 0,void 0,"this",void 0,c.typeToTypeNode(c.getTypeAtLocation(a.thisNode),t,1,8),void 0)),N=Wr.createFunctionDeclaration(4&a.facts?[Wr.createToken(134)]:void 0,2&a.facts?Wr.createToken(42):void 0,f,v,y,g,C);const F=$m.ChangeTracker.fromContext(s),P=function getNodeToInsertFunctionBefore(e,t){return find(function getStatementsOrClassElements(e){if(isFunctionLikeDeclaration(e)){const t=e.body;if(isBlock(t))return t.statements}else{if(isModuleBlock(e)||isSourceFile(e))return e.statements;if(isClassLike(e))return e.members}return l}(t),t=>t.pos>=e&&isFunctionLikeDeclaration(t)&&!isConstructorDeclaration(t))}((isReadonlyArray(a.range)?last(a.range):a.range).end,t);P?F.insertNodeBefore(s.file,P,N,!0):F.insertNodeAtEndOfScope(s.file,t,N);p.writeFixes(F);const D=[],I=function getCalledExpression(e,t,n){const r=Wr.createIdentifier(n);if(isClassLike(e)){const n=32&t.facts?Wr.createIdentifier(e.name.text):Wr.createThis();return Wr.createPropertyAccessExpression(n,r)}return r}(t,a,m);k&&T.unshift(Wr.createIdentifier("this"));let A=Wr.createCallExpression(k?Wr.createPropertyAccessExpression(I,"call"):I,b,T);2&a.facts&&(A=Wr.createYieldExpression(Wr.createToken(42),A));4&a.facts&&(A=Wr.createAwaitExpression(A));isInJSXContent(e)&&(A=Wr.createJsxExpression(void 0,A));if(o.length&&!S)if(h.assert(!E,"Expected no returnValueProperty"),h.assert(!(1&a.facts),"Expected RangeFacts.HasReturn flag to be unset"),1===o.length){const e=o[0];D.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(getSynthesizedDeepClone(e.name),void 0,getSynthesizedDeepClone(e.type),A)],e.parent.flags)))}else{const e=[],n=[];let r=o[0].parent.flags,i=!1;for(const a of o){e.push(Wr.createBindingElement(void 0,void 0,getSynthesizedDeepClone(a.name)));const o=c.typeToTypeNode(c.getBaseTypeOfLiteralType(c.getTypeAtLocation(a)),t,1,8);n.push(Wr.createPropertySignature(void 0,a.symbol.name,void 0,o)),i=i||void 0!==a.type,r&=a.parent.flags}const a=i?Wr.createTypeLiteralNode(n):void 0;a&&setEmitFlags(a,1),D.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(Wr.createObjectBindingPattern(e),void 0,a,A)],r)))}else if(o.length||S){if(o.length)for(const e of o){let t=e.parent.flags;2&t&&(t=-3&t|1),D.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(e.symbol.name,void 0,getTypeDeepCloneUnionUndefined(e.type))],t)))}E&&D.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(E,void 0,getTypeDeepCloneUnionUndefined(g))],1)));const e=getPropertyAssignmentsForWritesAndVariableDeclarations(o,S);E&&e.unshift(Wr.createShorthandPropertyAssignment(E)),1===e.length?(h.assert(!E,"Shouldn't have returnValueProperty here"),D.push(Wr.createExpressionStatement(Wr.createAssignment(e[0].name,A))),1&a.facts&&D.push(Wr.createReturnStatement())):(D.push(Wr.createExpressionStatement(Wr.createAssignment(Wr.createObjectLiteralExpression(e),A))),E&&D.push(Wr.createReturnStatement(Wr.createIdentifier(E))))}else 1&a.facts?D.push(Wr.createReturnStatement(A)):isReadonlyArray(a.range)?D.push(Wr.createExpressionStatement(A)):D.push(A);isReadonlyArray(a.range)?F.replaceNodeRangeWithNodes(s.file,first(a.range),last(a.range),D):F.replaceNodeWithNodes(s.file,a.range,D);const O=F.getChanges(),w=(isReadonlyArray(a.range)?first(a.range):a.range).getSourceFile().fileName,L=getRenameLocation(O,w,m,!1);return{renameFilename:w,renameLocation:L,edits:O};function getTypeDeepCloneUnionUndefined(e){if(void 0===e)return;const t=getSynthesizedDeepClone(e);let n=t;for(;isParenthesizedTypeNode(n);)n=n.type;return isUnionTypeNode(n)&&find(n.types,e=>157===e.kind)?t:Wr.createUnionTypeNode([t,Wr.createKeywordTypeNode(157)])}}(i,r[n],o[n],s,e,t)}(n,e,t)}const i=/^constant_scope_(\d+)$/.exec(t);if(i){const t=+i[1];return h.assert(isFinite(t),"Expected to parse a finite number from the constant scope index"),function getConstantExtractionAtIndex(e,t,n){const{scopes:r,readsAndWrites:{target:i,usagesPerScope:o,constantErrorsPerScope:a,exposedVariableDeclarations:s}}=getPossibleExtractionsWorker(e,t);h.assert(!a[n].length,"The extraction went missing? How?"),h.assert(0===s.length,"Extract constant accepted a range containing a variable declaration?"),t.cancellationToken.throwIfCancellationRequested();return function extractConstantInScope(e,t,{substitutions:n},r,i){const o=i.program.getTypeChecker(),a=t.getSourceFile(),s=getIdentifierForNode(e,t,o,a),c=isInJSFile(t);let l=c||!o.isContextSensitive(e)?void 0:o.typeToTypeNode(o.getContextualType(e),t,1,8),d=function transformConstantInitializer(e,t){return t.size?visitor(e):e;function visitor(e){const n=t.get(getNodeId(e).toString());return n?getSynthesizedDeepClone(n):visitEachChild(e,visitor,void 0)}}(skipParentheses(e),n);({variableType:l,initializer:d}=transformFunctionInitializerAndType(l,d)),suppressLeadingAndTrailingTrivia(d);const p=$m.ChangeTracker.fromContext(i);if(isClassLike(t)){h.assert(!c,"Cannot extract to a JS class");const n=[];n.push(Wr.createModifier(123)),32&r&&n.push(Wr.createModifier(126)),n.push(Wr.createModifier(148));const o=Wr.createPropertyDeclaration(n,s,void 0,l,d);let a=Wr.createPropertyAccessExpression(32&r?Wr.createIdentifier(t.name.getText()):Wr.createThis(),Wr.createIdentifier(s));isInJSXContent(e)&&(a=Wr.createJsxExpression(void 0,a));const u=function getNodeToInsertPropertyBefore(e,t){const n=t.members;let r;h.assert(n.length>0,"Found no members");let i=!0;for(const t of n){if(t.pos>e)return r||n[0];if(i&&!isPropertyDeclaration(t)){if(void 0!==r)return t;i=!1}r=t}return void 0===r?h.fail():r}(e.pos,t);p.insertNodeBefore(i.file,u,o,!0),p.replaceNode(i.file,e,a)}else{const n=Wr.createVariableDeclaration(s,void 0,l,d),r=function getContainingVariableDeclarationIfInList(e,t){let n;for(;void 0!==e&&e!==t;){if(isVariableDeclaration(e)&&e.initializer===n&&isVariableDeclarationList(e.parent)&&e.parent.declarations.length>1)return e;n=e,e=e.parent}}(e,t);if(r){p.insertNodeBefore(i.file,r,n);const t=Wr.createIdentifier(s);p.replaceNode(i.file,e,t)}else if(245===e.parent.kind&&t===findAncestor(e,isScope)){const t=Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([n],2));p.replaceNode(i.file,e.parent,t)}else{const r=Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([n],2)),o=function getNodeToInsertConstantBefore(e,t){let n;h.assert(!isClassLike(t));for(let r=e;r!==t;r=r.parent)isScope(r)&&(n=r);for(let r=(n||e).parent;;r=r.parent){if(isBlockLike(r)){let t;for(const n of r.statements){if(n.pos>e.pos)break;t=n}return!t&&isCaseClause(r)?(h.assert(isSwitchStatement(r.parent.parent),"Grandparent isn't a switch statement"),r.parent.parent):h.checkDefined(t,"prevStatement failed to get set")}h.assert(r!==t,"Didn't encounter a block-like before encountering scope")}}(e,t);if(0===o.pos?p.insertNodeAtTopOfFile(i.file,r,!1):p.insertNodeBefore(i.file,o,r,!1),245===e.parent.kind)p.delete(i.file,e.parent);else{let t=Wr.createIdentifier(s);isInJSXContent(e)&&(t=Wr.createJsxExpression(void 0,t)),p.replaceNode(i.file,e,t)}}}const u=p.getChanges(),m=e.getSourceFile().fileName,_=getRenameLocation(u,m,s,!0);return{renameFilename:m,renameLocation:_,edits:u};function transformFunctionInitializerAndType(n,r){if(void 0===n)return{variableType:n,initializer:r};if(!isFunctionExpression(r)&&!isArrowFunction(r)||r.typeParameters)return{variableType:n,initializer:r};const i=o.getTypeAtLocation(e),a=singleOrUndefined(o.getSignaturesOfType(i,0));if(!a)return{variableType:n,initializer:r};if(a.getTypeParameters())return{variableType:n,initializer:r};const s=[];let c=!1;for(const e of r.parameters)if(e.type)s.push(e);else{const n=o.getTypeAtLocation(e);n===o.getAnyType()&&(c=!0),s.push(Wr.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,e.name,e.questionToken,e.type||o.typeToTypeNode(n,t,1,8),e.initializer))}if(c)return{variableType:n,initializer:r};if(n=void 0,isArrowFunction(r))r=Wr.updateArrowFunction(r,canHaveModifiers(e)?getModifiers(e):void 0,r.typeParameters,s,r.type||o.typeToTypeNode(a.getReturnType(),t,1,8),r.equalsGreaterThanToken,r.body);else{if(a&&a.thisParameter){const n=firstOrUndefined(s);if(!n||isIdentifier(n.name)&&"this"!==n.name.escapedText){const n=o.getTypeOfSymbolAtLocation(a.thisParameter,e);s.splice(0,0,Wr.createParameterDeclaration(void 0,void 0,"this",void 0,o.typeToTypeNode(n,t,1,8)))}}r=Wr.updateFunctionExpression(r,canHaveModifiers(e)?getModifiers(e):void 0,r.asteriskToken,r.name,r.typeParameters,s,r.type||o.typeToTypeNode(a.getReturnType(),t,1),r.body)}return{variableType:n,initializer:r}}}(isExpression(i)?i:i.statements[0].expression,r[n],o[n],e.facts,t)}(n,e,t)}h.fail("Unrecognized action name")}registerRefactor(yl,{kinds:[hl.kind,Tl.kind],getEditsForAction:getRefactorEditsToExtractSymbol,getAvailableActions:getRefactorActionsToExtractSymbol}),(e=>{function createMessage(e){return{message:e,code:0,category:3,key:e}}e.cannotExtractRange=createMessage("Cannot extract range."),e.cannotExtractImport=createMessage("Cannot extract import statement."),e.cannotExtractSuper=createMessage("Cannot extract super call."),e.cannotExtractJSDoc=createMessage("Cannot extract JSDoc."),e.cannotExtractEmpty=createMessage("Cannot extract empty range."),e.expressionExpected=createMessage("expression expected."),e.uselessConstantType=createMessage("No reason to extract constant of type."),e.statementOrExpressionExpected=createMessage("Statement or expression expected."),e.cannotExtractRangeContainingConditionalBreakOrContinueStatements=createMessage("Cannot extract range containing conditional break or continue statements."),e.cannotExtractRangeContainingConditionalReturnStatement=createMessage("Cannot extract range containing conditional return statement."),e.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange=createMessage("Cannot extract range containing labeled break or continue with target outside of the range."),e.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators=createMessage("Cannot extract range containing writes to references located outside of the target range in generators."),e.typeWillNotBeVisibleInTheNewScope=createMessage("Type will not visible in the new scope."),e.functionWillNotBeVisibleInTheNewScope=createMessage("Function will not visible in the new scope."),e.cannotExtractIdentifier=createMessage("Select more than a single identifier."),e.cannotExtractExportedEntity=createMessage("Cannot extract exported declaration"),e.cannotWriteInExpression=createMessage("Cannot write back side-effects when extracting an expression"),e.cannotExtractReadonlyPropertyInitializerOutsideConstructor=createMessage("Cannot move initialization of read-only class property outside of the constructor"),e.cannotExtractAmbientBlock=createMessage("Cannot extract code from ambient contexts"),e.cannotAccessVariablesFromNestedScopes=createMessage("Cannot access variables from nested scopes"),e.cannotExtractToJSClass=createMessage("Cannot extract constant to a class scope in JS"),e.cannotExtractToExpressionArrowFunction=createMessage("Cannot extract constant to an arrow function without a block"),e.cannotExtractFunctionsContainingThisToMethod=createMessage("Cannot extract functions containing this to method")})(gl||(gl={}));var Sl=(e=>(e[e.None=0]="None",e[e.HasReturn=1]="HasReturn",e[e.IsGenerator=2]="IsGenerator",e[e.IsAsyncFunction=4]="IsAsyncFunction",e[e.UsesThis=8]="UsesThis",e[e.UsesThisInFunction=16]="UsesThisInFunction",e[e.InStaticRegion=32]="InStaticRegion",e))(Sl||{});function getRangeToExtract2(e,t,n=!0){const{length:r}=t;if(0===r&&!n)return{errors:[createFileDiagnostic(e,t.start,r,gl.cannotExtractEmpty)]};const i=0===r&&n,o=findFirstNonJsxWhitespaceToken(e,t.start),a=findTokenOnLeftOfPosition(e,textSpanEnd(t)),s=o&&a&&n?function getAdjustedSpanFromNodes(e,t,n){const r=e.getStart(n);let i=t.getEnd();59===n.text.charCodeAt(i)&&i++;return{start:r,length:i-r}}(o,a,e):t,c=i?function getExtractableParent(e){return findAncestor(e,e=>e.parent&&isExtractableExpression(e)&&!isBinaryExpression(e.parent))}(o):getParentNodeInSpan(o,e,s),l=i?c:getParentNodeInSpan(a,e,s);let d,p=0;if(!c||!l)return{errors:[createFileDiagnostic(e,t.start,r,gl.cannotExtractRange)]};if(16777216&c.flags)return{errors:[createFileDiagnostic(e,t.start,r,gl.cannotExtractJSDoc)]};if(c.parent!==l.parent)return{errors:[createFileDiagnostic(e,t.start,r,gl.cannotExtractRange)]};if(c!==l){if(!isBlockLike(c.parent))return{errors:[createFileDiagnostic(e,t.start,r,gl.cannotExtractRange)]};const n=[];for(const e of c.parent.statements){if(e===c||n.length){const t=checkNode(e);if(t)return{errors:t};n.push(e)}if(e===l)break}return n.length?{targetRange:{range:n,facts:p,thisNode:d}}:{errors:[createFileDiagnostic(e,t.start,r,gl.cannotExtractRange)]}}if(isReturnStatement(c)&&!c.expression)return{errors:[createFileDiagnostic(e,t.start,r,gl.cannotExtractRange)]};const u=function refineNode(e){if(isReturnStatement(e)){if(e.expression)return e.expression}else if(isVariableStatement(e)||isVariableDeclarationList(e)){const t=isVariableStatement(e)?e.declarationList.declarations:e.declarations;let n,r=0;for(const e of t)e.initializer&&(r++,n=e.initializer);if(1===r)return n}else if(isVariableDeclaration(e)&&e.initializer)return e.initializer;return e}(c),m=function checkRootNode(e){if(isIdentifier(isExpressionStatement(e)?e.expression:e))return[createDiagnosticForNode(e,gl.cannotExtractIdentifier)];return}(u)||checkNode(u);return m?{errors:m}:{targetRange:{range:getStatementOrExpressionRange(u),facts:p,thisNode:d}};function checkNode(e){let n;var r;if((r=n||(n={}))[r.None=0]="None",r[r.Break=1]="Break",r[r.Continue=2]="Continue",r[r.Return=4]="Return",h.assert(e.pos<=e.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (1)"),h.assert(!positionIsSynthesized(e.pos),"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)"),!(isStatement(e)||isExpressionNode(e)&&isExtractableExpression(e)||isStringLiteralJsxAttribute(e)))return[createDiagnosticForNode(e,gl.statementOrExpressionExpected)];if(33554432&e.flags)return[createDiagnosticForNode(e,gl.cannotExtractAmbientBlock)];const i=getContainingClass(e);let o;i&&function checkForStaticContext(e,t){let n=e;for(;n!==t;){if(173===n.kind){isStatic(n)&&(p|=32);break}if(170===n.kind){177===getContainingFunction(n).kind&&(p|=32);break}175===n.kind&&isStatic(n)&&(p|=32),n=n.parent}}(e,i);let a,s=4;if(function visit(e){if(o)return!0;if(isDeclaration(e)){if(hasSyntacticModifier(261===e.kind?e.parent.parent:e,32))return(o||(o=[])).push(createDiagnosticForNode(e,gl.cannotExtractExportedEntity)),!0}switch(e.kind){case 273:return(o||(o=[])).push(createDiagnosticForNode(e,gl.cannotExtractImport)),!0;case 278:return(o||(o=[])).push(createDiagnosticForNode(e,gl.cannotExtractExportedEntity)),!0;case 108:if(214===e.parent.kind){const n=getContainingClass(e);if(void 0===n||n.pos<t.start||n.end>=t.start+t.length)return(o||(o=[])).push(createDiagnosticForNode(e,gl.cannotExtractSuper)),!0}else p|=8,d=e;break;case 220:forEachChild(e,function check(t){if(isThis(t))p|=8,d=e;else{if(isClassLike(t)||isFunctionLike(t)&&!isArrowFunction(t))return!1;forEachChild(t,check)}});case 264:case 263:isSourceFile(e.parent)&&void 0===e.parent.externalModuleIndicator&&(o||(o=[])).push(createDiagnosticForNode(e,gl.functionWillNotBeVisibleInTheNewScope));case 232:case 219:case 175:case 177:case 178:case 179:return!1}const n=s;switch(e.kind){case 246:s&=-5;break;case 259:s=0;break;case 242:e.parent&&259===e.parent.kind&&e.parent.finallyBlock===e&&(s=4);break;case 298:case 297:s|=1;break;default:isIterationStatement(e,!1)&&(s|=3)}switch(e.kind){case 198:case 110:p|=8,d=e;break;case 257:{const t=e.label;(a||(a=[])).push(t.escapedText),forEachChild(e,visit),a.pop();break}case 253:case 252:{const t=e.label;t?contains(a,t.escapedText)||(o||(o=[])).push(createDiagnosticForNode(e,gl.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):s&(253===e.kind?1:2)||(o||(o=[])).push(createDiagnosticForNode(e,gl.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break}case 224:p|=4;break;case 230:p|=2;break;case 254:4&s?p|=1:(o||(o=[])).push(createDiagnosticForNode(e,gl.cannotExtractRangeContainingConditionalReturnStatement));break;default:forEachChild(e,visit)}s=n}(e),8&p){const t=getThisContainer(e,!1,!1);(263===t.kind||175===t.kind&&211===t.parent.kind||219===t.kind)&&(p|=16)}return o}}function getStatementOrExpressionRange(e){return isStatement(e)?[e]:isExpressionNode(e)?isExpressionStatement(e.parent)?[e.parent]:e:isStringLiteralJsxAttribute(e)?e:void 0}function isScope(e){return isArrowFunction(e)?isFunctionBody(e.body):isFunctionLikeDeclaration(e)||isSourceFile(e)||isModuleBlock(e)||isClassLike(e)}function getPossibleExtractionsWorker(e,t){const{file:n}=t,r=function collectEnclosingScopes(e){let t=isReadonlyArray(e.range)?first(e.range):e.range;if(8&e.facts&&!(16&e.facts)){const e=getContainingClass(t);if(e){const n=findAncestor(t,isFunctionLikeDeclaration);return n?[n,e]:[e]}}const n=[];for(;;)if(t=t.parent,170===t.kind&&(t=findAncestor(t,e=>isFunctionLikeDeclaration(e)).parent),isScope(t)&&(n.push(t),308===t.kind))return n}(e),i=function getEnclosingTextRange(e,t){return isReadonlyArray(e.range)?{pos:first(e.range).getStart(t),end:last(e.range).getEnd()}:e.range}(e,n),o=function collectReadsAndWrites(e,t,n,r,i,o){const a=new Map,s=[],c=[],l=[],d=[],p=[],u=new Map,m=[];let _;const f=isReadonlyArray(e.range)?1===e.range.length&&isExpressionStatement(e.range[0])?e.range[0].expression:void 0:e.range;let g;if(void 0===f){const t=e.range,n=first(t).getStart(),i=last(t).end;g=createFileDiagnostic(r,n,i-n,gl.expressionExpected)}else 147456&i.getTypeAtLocation(f).flags&&(g=createDiagnosticForNode(f,gl.uselessConstantType));for(const e of t){s.push({usages:new Map,typeParameterUsages:new Map,substitutions:new Map}),c.push(new Map),l.push([]);const t=[];g&&t.push(g),isClassLike(e)&&isInJSFile(e)&&t.push(createDiagnosticForNode(e,gl.cannotExtractToJSClass)),isArrowFunction(e)&&!isBlock(e.body)&&t.push(createDiagnosticForNode(e,gl.cannotExtractToExpressionArrowFunction)),d.push(t)}const y=new Map,T=isReadonlyArray(e.range)?Wr.createBlock(e.range):e.range,S=isReadonlyArray(e.range)?first(e.range):e.range,x=isInGenericContext(S);if(collectUsages(T),x&&!isReadonlyArray(e.range)&&!isJsxAttribute(e.range)){recordTypeParameterUsages(i.getContextualType(e.range))}if(a.size>0){const e=new Map;let n=0;for(let r=S;void 0!==r&&n<t.length;r=r.parent)if(r===t[n]&&(e.forEach((e,t)=>{s[n].typeParameterUsages.set(t,e)}),n++),isDeclarationWithTypeParameters(r))for(const t of getEffectiveTypeParameterDeclarations(r)){const n=i.getTypeAtLocation(t);a.has(n.id.toString())&&e.set(n.id.toString(),n)}h.assert(n===t.length,"Should have iterated all scopes")}if(p.length){forEachChild(isBlockScope(t[0],t[0].parent)?t[0]:getEnclosingBlockScopeContainer(t[0]),checkForUsedDeclarations)}for(let n=0;n<t.length;n++){const r=s[n];if(n>0&&(r.usages.size>0||r.typeParameterUsages.size>0)){const t=isReadonlyArray(e.range)?e.range[0]:e.range;d[n].push(createDiagnosticForNode(t,gl.cannotAccessVariablesFromNestedScopes))}16&e.facts&&isClassLike(t[n])&&l[n].push(createDiagnosticForNode(e.thisNode,gl.cannotExtractFunctionsContainingThisToMethod));let i,o=!1;if(s[n].usages.forEach(e=>{2===e.usage&&(o=!0,106500&e.symbol.flags&&e.symbol.valueDeclaration&&hasEffectiveModifier(e.symbol.valueDeclaration,8)&&(i=e.symbol.valueDeclaration))}),h.assert(isReadonlyArray(e.range)||0===m.length,"No variable declarations expected if something was extracted"),o&&!isReadonlyArray(e.range)){const t=createDiagnosticForNode(e.range,gl.cannotWriteInExpression);l[n].push(t),d[n].push(t)}else if(i&&n>0){const e=createDiagnosticForNode(i,gl.cannotExtractReadonlyPropertyInitializerOutsideConstructor);l[n].push(e),d[n].push(e)}else if(_){const e=createDiagnosticForNode(_,gl.cannotExtractExportedEntity);l[n].push(e),d[n].push(e)}}return{target:T,usagesPerScope:s,functionErrorsPerScope:l,constantErrorsPerScope:d,exposedVariableDeclarations:m};function isInGenericContext(e){return!!findAncestor(e,e=>isDeclarationWithTypeParameters(e)&&0!==getEffectiveTypeParameterDeclarations(e).length)}function recordTypeParameterUsages(e){const t=i.getSymbolWalker(()=>(o.throwIfCancellationRequested(),!0)),{visitedTypes:n}=t.walkType(e);for(const e of n)e.isTypeParameter()&&a.set(e.id.toString(),e)}function collectUsages(e,t=1){if(x){recordTypeParameterUsages(i.getTypeAtLocation(e))}if(isDeclaration(e)&&e.symbol&&p.push(e),isAssignmentExpression(e))collectUsages(e.left,2),collectUsages(e.right);else if(isUnaryExpressionWithWrite(e))collectUsages(e.operand,2);else if(isPropertyAccessExpression(e)||isElementAccessExpression(e))forEachChild(e,collectUsages);else if(isIdentifier(e)){if(!e.parent)return;if(isQualifiedName(e.parent)&&e!==e.parent.left)return;if(isPropertyAccessExpression(e.parent)&&e!==e.parent.expression)return;recordUsage(e,t,isPartOfTypeNode(e))}else forEachChild(e,collectUsages)}function recordUsage(e,n,r){const i=recordUsagebySymbol(e,n,r);if(i)for(let n=0;n<t.length;n++){const t=c[n].get(i);t&&s[n].substitutions.set(getNodeId(e).toString(),t)}}function recordUsagebySymbol(o,a,p){const u=getSymbolReferencedByIdentifier(o);if(!u)return;const m=getSymbolId(u).toString(),_=y.get(m);if(_&&_>=a)return m;if(y.set(m,a),_){for(const e of s){e.usages.get(o.text)&&e.usages.set(o.text,{usage:a,symbol:u,node:o})}return m}const f=u.getDeclarations(),g=f&&find(f,e=>e.getSourceFile()===r);if(g&&!rangeContainsStartEnd(n,g.getStart(),g.end)){if(2&e.facts&&2===a){const e=createDiagnosticForNode(o,gl.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators);for(const t of l)t.push(e);for(const t of d)t.push(e)}for(let e=0;e<t.length;e++){const n=t[e];if(i.resolveName(u.name,n,u.flags,!1)!==u&&!c[e].has(m)){const t=tryReplaceWithQualifiedNameOrPropertyAccess(u.exportSymbol||u,n,p);if(t)c[e].set(m,t);else if(p){if(!(262144&u.flags)){const t=createDiagnosticForNode(o,gl.typeWillNotBeVisibleInTheNewScope);l[e].push(t),d[e].push(t)}}else s[e].usages.set(o.text,{usage:a,symbol:u,node:o})}}return m}}function checkForUsedDeclarations(t){if(t===e.range||isReadonlyArray(e.range)&&e.range.includes(t))return;const n=isIdentifier(t)?getSymbolReferencedByIdentifier(t):i.getSymbolAtLocation(t);if(n){const e=find(p,e=>e.symbol===n);if(e)if(isVariableDeclaration(e)){const t=e.symbol.id.toString();u.has(t)||(m.push(e),u.set(t,!0))}else _=_||e}forEachChild(t,checkForUsedDeclarations)}function getSymbolReferencedByIdentifier(e){return e.parent&&isShorthandPropertyAssignment(e.parent)&&e.parent.name===e?i.getShorthandAssignmentValueSymbol(e.parent):i.getSymbolAtLocation(e)}function tryReplaceWithQualifiedNameOrPropertyAccess(e,t,n){if(!e)return;const r=e.getDeclarations();if(r&&r.some(e=>e.parent===t))return Wr.createIdentifier(e.name);const i=tryReplaceWithQualifiedNameOrPropertyAccess(e.parent,t,n);return void 0!==i?n?Wr.createQualifiedName(i,Wr.createIdentifier(e.name)):Wr.createPropertyAccessExpression(i,e.name):void 0}}(e,r,i,n,t.program.getTypeChecker(),t.cancellationToken);return{scopes:r,affectedTextRange:i,readsAndWrites:o}}function getFirstDeclarationBeforePosition(e,t){let n;const r=e.symbol;if(r&&r.declarations)for(const e of r.declarations)(void 0===n||e.pos<n.pos)&&e.pos<t&&(n=e);return n}function compareTypesByDeclarationOrder({type:e,declaration:t},{type:n,declaration:r}){return compareProperties(t,r,"pos",compareValues)||compareStringsCaseSensitive(e.symbol?e.symbol.getName():"",n.symbol?n.symbol.getName():"")||compareValues(e.id,n.id)}function getPropertyAssignmentsForWritesAndVariableDeclarations(e,t){const n=map(e,e=>Wr.createShorthandPropertyAssignment(e.symbol.name)),r=map(t,e=>Wr.createShorthandPropertyAssignment(e.symbol.name));return void 0===n?r:void 0===r?n:n.concat(r)}function isReadonlyArray(e){return isArray(e)}function isExtractableExpression(e){const{parent:t}=e;if(307===t.kind)return!1;switch(e.kind){case 11:return 273!==t.kind&&277!==t.kind;case 231:case 207:case 209:return!1;case 80:return 209!==t.kind&&277!==t.kind&&282!==t.kind}return!0}function isInJSXContent(e){return isStringLiteralJsxAttribute(e)||(isJsxElement(e)||isJsxSelfClosingElement(e)||isJsxFragment(e))&&(isJsxElement(e.parent)||isJsxFragment(e.parent))}function isStringLiteralJsxAttribute(e){return isStringLiteral(e)&&e.parent&&isJsxAttribute(e.parent)}var xl={},vl="Generate 'get' and 'set' accessors",bl=getLocaleSpecificMessage(Ot.Generate_get_and_set_accessors),Cl={name:vl,description:bl,kind:"refactor.rewrite.property.generateAccessors"};registerRefactor(vl,{kinds:[Cl.kind],getEditsForAction:function getRefactorActionsToGenerateGetAndSetAccessors(e,t){if(!e.endPosition)return;const n=ed.getAccessorConvertiblePropertyAtPosition(e.file,e.program,e.startPosition,e.endPosition);h.assert(n&&!isRefactorErrorInfo(n),"Expected applicable refactor info");const r=ed.generateAccessorFromProperty(e.file,e.program,e.startPosition,e.endPosition,e,t);if(!r)return;const i=e.file.fileName,o=n.renameAccessor?n.accessorName:n.fieldName;return{renameFilename:i,renameLocation:(isIdentifier(o)?0:-1)+getRenameLocation(r,i,o.text,isParameter(n.declaration)),edits:r}},getAvailableActions(e){if(!e.endPosition)return l;const t=ed.getAccessorConvertiblePropertyAtPosition(e.file,e.program,e.startPosition,e.endPosition,"invoked"===e.triggerReason);return t?isRefactorErrorInfo(t)?e.preferences.provideRefactorNotApplicableReason?[{name:vl,description:bl,actions:[{...Cl,notApplicableReason:t.error}]}]:l:[{name:vl,description:bl,actions:[Cl]}]:l}});var El={},Nl="Infer function return type",kl=getLocaleSpecificMessage(Ot.Infer_function_return_type),Fl={name:Nl,description:kl,kind:"refactor.rewrite.function.returnType"};function getInfo4(e){if(isInJSFile(e.file)||!refactorKindBeginsWith(Fl.kind,e.kind))return;const t=findAncestor(getTouchingPropertyName(e.file,e.startPosition),e=>isBlock(e)||e.parent&&isArrowFunction(e.parent)&&(39===e.kind||e.parent.body===e)?"quit":function isConvertibleDeclaration(e){switch(e.kind){case 263:case 219:case 220:case 175:return!0;default:return!1}}(e));if(!t||!t.body||t.type)return{error:getLocaleSpecificMessage(Ot.Return_type_must_be_inferred_from_a_function)};const n=e.program.getTypeChecker();let r;if(n.isImplementationOfOverload(t)){const e=n.getTypeAtLocation(t).getCallSignatures();e.length>1&&(r=n.getUnionType(mapDefined(e,e=>e.getReturnType())))}if(!r){const e=n.getSignatureFromDeclaration(t);if(e){const i=n.getTypePredicateOfSignature(e);if(i&&i.type){const e=n.typePredicateToTypePredicateNode(i,t,1,8);if(e)return{declaration:t,returnTypeNode:e}}else r=n.getReturnTypeOfSignature(e)}}if(!r)return{error:getLocaleSpecificMessage(Ot.Could_not_determine_function_return_type)};const i=n.typeToTypeNode(r,t,1,8);return i?{declaration:t,returnTypeNode:i}:void 0}registerRefactor(Nl,{kinds:[Fl.kind],getEditsForAction:function getRefactorEditsToInferReturnType(e){const t=getInfo4(e);if(t&&!isRefactorErrorInfo(t)){return{renameFilename:void 0,renameLocation:void 0,edits:$m.ChangeTracker.with(e,n=>function doChange7(e,t,n,r){const i=findChildOfKind(n,22,e),o=isArrowFunction(n)&&void 0===i,a=o?first(n.parameters):i;a&&(o&&(t.insertNodeBefore(e,a,Wr.createToken(21)),t.insertNodeAfter(e,a,Wr.createToken(22))),t.insertNodeAt(e,a.end,r,{prefix:": "}))}(e.file,n,t.declaration,t.returnTypeNode))}}return},getAvailableActions:function getRefactorActionsToInferReturnType(e){const t=getInfo4(e);if(!t)return l;if(!isRefactorErrorInfo(t))return[{name:Nl,description:kl,actions:[Fl]}];if(e.preferences.provideRefactorNotApplicableReason)return[{name:Nl,description:kl,actions:[{...Fl,notApplicableReason:t.error}]}];return l}});var Pl=(e=>(e[e.typeOffset=8]="typeOffset",e[e.modifierMask=255]="modifierMask",e))(Pl||{}),Dl=(e=>(e[e.class=0]="class",e[e.enum=1]="enum",e[e.interface=2]="interface",e[e.namespace=3]="namespace",e[e.typeParameter=4]="typeParameter",e[e.type=5]="type",e[e.parameter=6]="parameter",e[e.variable=7]="variable",e[e.enumMember=8]="enumMember",e[e.property=9]="property",e[e.function=10]="function",e[e.member=11]="member",e))(Dl||{}),Il=(e=>(e[e.declaration=0]="declaration",e[e.static=1]="static",e[e.async=2]="async",e[e.readonly=3]="readonly",e[e.defaultLibrary=4]="defaultLibrary",e[e.local=5]="local",e))(Il||{});function getSemanticClassifications2(e,t,n,r){const i=getEncodedSemanticClassifications2(e,t,n,r);h.assert(i.spans.length%3==0);const o=i.spans,a=[];for(let e=0;e<o.length;e+=3)a.push({textSpan:createTextSpan(o[e],o[e+1]),classificationType:o[e+2]});return a}function getEncodedSemanticClassifications2(e,t,n,r){return{spans:getSemanticTokens(e,n,r,t),endOfLineState:0}}function getSemanticTokens(e,t,n,r){const i=[];return e&&t&&function collectTokens(e,t,n,r,i){const o=e.getTypeChecker();let a=!1;function visit(s){switch(s.kind){case 268:case 264:case 265:case 263:case 232:case 219:case 220:i.throwIfCancellationRequested()}if(!s||!textSpanIntersectsWith(n,s.pos,s.getFullWidth())||0===s.getFullWidth())return;const c=a;if((isJsxElement(s)||isJsxSelfClosingElement(s))&&(a=!0),isJsxExpression(s)&&(a=!1),isIdentifier(s)&&!a&&!function inImportClause(e){const t=e.parent;return t&&(isImportClause(t)||isImportSpecifier(t)||isNamespaceImport(t))}(s)&&!isInfinityOrNaNString(s.escapedText)){let n=o.getSymbolAtLocation(s);if(n){2097152&n.flags&&(n=o.getAliasedSymbol(n));let i=function classifySymbol2(e,t){const n=e.getFlags();if(32&n)return 0;if(384&n)return 1;if(524288&n)return 5;if(64&n){if(2&t)return 2}else if(262144&n)return 4;let r=e.valueDeclaration||e.declarations&&e.declarations[0];r&&isBindingElement(r)&&(r=getDeclarationForBindingElement(r));return r&&Al.get(r.kind)}(n,getMeaningFromLocation(s));if(void 0!==i){let a=0;if(s.parent){(isBindingElement(s.parent)||Al.get(s.parent.kind)===i)&&s.parent.name===s&&(a=1)}6===i&&isRightSideOfQualifiedNameOrPropertyAccess2(s)&&(i=9),i=function reclassifyByType(e,t,n){if(7===n||9===n||6===n){const r=e.getTypeAtLocation(t);if(r){const test=e=>e(r)||r.isUnion()&&r.types.some(e);if(6!==n&&test(e=>e.getConstructSignatures().length>0))return 0;if(test(e=>e.getCallSignatures().length>0)&&!test(e=>e.getProperties().length>0)||function isExpressionInCallExpression(e){for(;isRightSideOfQualifiedNameOrPropertyAccess2(e);)e=e.parent;return isCallExpression(e.parent)&&e.parent.expression===e}(t))return 9===n?11:10}}return n}(o,s,i);const c=n.valueDeclaration;if(c){const r=getCombinedModifierFlags(c),o=getCombinedNodeFlags(c);256&r&&(a|=2),1024&r&&(a|=4),0!==i&&2!==i&&(8&r||2&o||8&n.getFlags())&&(a|=8),7!==i&&10!==i||!function isLocalDeclaration(e,t){isBindingElement(e)&&(e=getDeclarationForBindingElement(e));if(isVariableDeclaration(e))return(!isSourceFile(e.parent.parent.parent)||isCatchClause(e.parent))&&e.getSourceFile()===t;if(isFunctionDeclaration(e))return!isSourceFile(e.parent)&&e.getSourceFile()===t;return!1}(c,t)||(a|=32),e.isSourceFileDefaultLibrary(c.getSourceFile())&&(a|=16)}else n.declarations&&n.declarations.some(t=>e.isSourceFileDefaultLibrary(t.getSourceFile()))&&(a|=16);r(s,i,a)}}}forEachChild(s,visit),a=c}visit(t)}(e,t,n,(e,n,r)=>{i.push(e.getStart(t),e.getWidth(t),(n+1<<8)+r)},r),i}function getDeclarationForBindingElement(e){for(;;){if(!isBindingElement(e.parent.parent))return e.parent.parent;e=e.parent.parent}}function isRightSideOfQualifiedNameOrPropertyAccess2(e){return isQualifiedName(e.parent)&&e.parent.right===e||isPropertyAccessExpression(e.parent)&&e.parent.name===e}var Al=new Map([[261,7],[170,6],[173,9],[268,3],[267,1],[307,8],[264,0],[175,11],[263,10],[219,10],[174,11],[178,9],[179,9],[172,9],[265,2],[266,5],[169,4],[304,9],[305,9]]),Ol="0.8";function createNode(e,t,n,r){const i=isNodeKind(e)?new wl(e,t,n):80===e?new Bl(80,t,n):81===e?new jl(81,t,n):new Rl(e,t,n);return i.parent=r,i.flags=101441536&r.flags,i}var wl=class{constructor(e,t,n){this.pos=t,this.end=n,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}assertHasRealPosition(e){h.assert(!positionIsSynthesized(this.pos)&&!positionIsSynthesized(this.end),e||"Node must have a real position for this operation")}getSourceFile(){return getSourceFileOfNode(this)}getStart(e,t){return this.assertHasRealPosition(),getTokenPosOfNode(this,e,t)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos}getFullText(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(e){return this.getChildren(e).length}getChildAt(e,t){return this.getChildren(t)[e]}getChildren(e=getSourceFileOfNode(this)){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),getNodeChildren(this,e)??setNodeChildren(this,e,function createChildren(e,t){const n=[];if(isJSDocCommentContainingNode(e))return e.forEachChild(e=>{n.push(e)}),n;const r=(null==t?void 0:t.languageVariant)??0;Vs.setText((t||e.getSourceFile()).text),Vs.setLanguageVariant(r);let i=e.pos;const processNode=t=>{addSyntheticNodes(n,i,t.pos,e),n.push(t),i=t.end},processNodes=t=>{addSyntheticNodes(n,i,t.pos,e),n.push(function createSyntaxList(e,t){const n=createNode(353,e.pos,e.end,t),r=[];let i=e.pos;for(const n of e)addSyntheticNodes(r,i,n.pos,t),r.push(n),i=n.end;return addSyntheticNodes(r,i,e.end,t),n._children=r,n}(t,e)),i=t.end};return forEach(e.jsDoc,processNode),i=e.pos,e.forEachChild(processNode,processNodes),addSyntheticNodes(n,i,e.end,e),Vs.setText(void 0),Vs.setLanguageVariant(0),n}(this,e))}getFirstToken(e){this.assertHasRealPosition();const t=this.getChildren(e);if(!t.length)return;const n=find(t,e=>e.kind<310||e.kind>352);return n.kind<167?n:n.getFirstToken(e)}getLastToken(e){this.assertHasRealPosition();const t=lastOrUndefined(this.getChildren(e));if(t)return t.kind<167?t:t.getLastToken(e)}forEachChild(e,t){return forEachChild(this,e,t)}};function addSyntheticNodes(e,t,n,r){for(Vs.resetTokenState(t);t<n;){const i=Vs.scan(),o=Vs.getTokenEnd();if(o<=n){if(80===i){if(hasTabstop(r))continue;h.fail(`Did not expect ${h.formatSyntaxKind(r.kind)} to have an Identifier in its trivia`)}e.push(createNode(i,t,o,r))}if(t=o,1===i)break}}var Ll=class{constructor(e,t,n){this.pos=t,this.end=n,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}getSourceFile(){return getSourceFileOfNode(this)}getStart(e,t){return getTokenPosOfNode(this,e,t)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(e){return this.getEnd()-this.getStart(e)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(e){return this.getStart(e)-this.pos}getFullText(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(e){return this.getChildren()[e]}getChildren(){return 1===this.kind&&this.jsDoc||l}getFirstToken(){}getLastToken(){}forEachChild(){}},Ml=class{constructor(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.lastAssignmentPos=void 0,this.links=void 0}getFlags(){return this.flags}get name(){return symbolName(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(e){if(!this.documentationComment)if(this.documentationComment=l,!this.declarations&&isTransientSymbol(this)&&this.links.target&&isTransientSymbol(this.links.target)&&this.links.target.links.tupleLabelDeclaration){const t=this.links.target.links.tupleLabelDeclaration;this.documentationComment=getDocumentationComment([t],e)}else this.documentationComment=getDocumentationComment(this.declarations,e);return this.documentationComment}getContextualDocumentationComment(e,t){if(e){if(isGetAccessor(e)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=l,this.contextualGetAccessorDocumentationComment=getDocumentationComment(filter(this.declarations,isGetAccessor),t)),length(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(isSetAccessor(e)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=l,this.contextualSetAccessorDocumentationComment=getDocumentationComment(filter(this.declarations,isSetAccessor),t)),length(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(t)}getJsDocTags(e){return void 0===this.tags&&(this.tags=l,this.tags=getJsDocTagsOfDeclarations(this.declarations,e)),this.tags}getContextualJsDocTags(e,t){if(e){if(isGetAccessor(e)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=l,this.contextualGetAccessorTags=getJsDocTagsOfDeclarations(filter(this.declarations,isGetAccessor),t)),length(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(isSetAccessor(e)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=l,this.contextualSetAccessorTags=getJsDocTagsOfDeclarations(filter(this.declarations,isSetAccessor),t)),length(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(t)}},Rl=class extends Ll{constructor(e,t,n){super(e,t,n)}},Bl=class extends Ll{constructor(e,t,n){super(e,t,n)}get text(){return idText(this)}},jl=class extends Ll{constructor(e,t,n){super(e,t,n)}get text(){return idText(this)}},Jl=class{constructor(e,t){this.flags=t,this.checker=e}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(e){return this.checker.getPropertyOfType(this,e)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(1048576&this.flags)}isIntersection(){return!!(2097152&this.flags)}isUnionOrIntersection(){return!!(3145728&this.flags)}isLiteral(){return!!(2432&this.flags)}isStringLiteral(){return!!(128&this.flags)}isNumberLiteral(){return!!(256&this.flags)}isTypeParameter(){return!!(262144&this.flags)}isClassOrInterface(){return!!(3&getObjectFlags(this))}isClass(){return!!(1&getObjectFlags(this))}isIndexType(){return!!(4194304&this.flags)}get typeArguments(){if(4&getObjectFlags(this))return this.checker.getTypeArguments(this)}},Wl=class{constructor(e,t){this.flags=t,this.checker=e}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(e){const t=this.checker.getParameterType(this,e);if(t.isIndexType()&&isThisTypeParameter(t.type)){const e=t.type.getConstraint();if(e)return this.checker.getIndexType(e)}return t}getDocumentationComment(){return this.documentationComment||(this.documentationComment=getDocumentationComment(singleElementArray(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=getJsDocTagsOfDeclarations(singleElementArray(this.declaration),this.checker))}};function hasJSDocInheritDocTag(e){return getJSDocTags(e).some(e=>"inheritDoc"===e.tagName.text||"inheritdoc"===e.tagName.text)}function getJsDocTagsOfDeclarations(e,t){if(!e)return l;let n=Am.getJsDocTagsFromDeclarations(e,t);if(t&&(0===n.length||e.some(hasJSDocInheritDocTag))){const r=new Set;for(const i of e){const e=findBaseOfDeclaration(t,i,e=>{var n;if(!r.has(e))return r.add(e),178===i.kind||179===i.kind?e.getContextualJsDocTags(i,t):1===(null==(n=e.declarations)?void 0:n.length)?e.getJsDocTags(t):void 0});e&&(n=[...e,...n])}}return n}function getDocumentationComment(e,t){if(!e)return l;let n=Am.getJsDocCommentsFromDeclarations(e,t);if(t&&(0===n.length||e.some(hasJSDocInheritDocTag))){const r=new Set;for(const i of e){const e=findBaseOfDeclaration(t,i,e=>{if(!r.has(e))return r.add(e),178===i.kind||179===i.kind?e.getContextualDocumentationComment(i,t):e.getDocumentationComment(t)});e&&(n=0===n.length?e.slice():e.concat(lineBreakPart(),n))}}return n}function findBaseOfDeclaration(e,t,n){var r;const i=177===(null==(r=t.parent)?void 0:r.kind)?t.parent.parent:t.parent;if(!i)return;const o=hasStaticModifier(t);return firstDefined(getAllSuperTypeNodes(i),r=>{const i=e.getTypeAtLocation(r),a=o&&i.symbol?e.getTypeOfSymbol(i.symbol):i,s=e.getPropertyOfType(a,t.symbol.name);return s?n(s):void 0})}var Ul=class extends wl{constructor(e,t,n){super(e,t,n)}update(e,t){return updateSourceFile(this,e,t)}getLineAndCharacterOfPosition(e){return getLineAndCharacterOfPosition(this,e)}getLineStarts(){return getLineStarts(this)}getPositionOfLineAndCharacter(e,t,n){return computePositionOfLineAndCharacter(getLineStarts(this),e,t,this.text,n)}getLineEndOfPosition(e){const{line:t}=this.getLineAndCharacterOfPosition(e),n=this.getLineStarts();let r;t+1>=n.length&&(r=this.getEnd()),r||(r=n[t+1]-1);const i=this.getFullText();return"\n"===i[r]&&"\r"===i[r-1]?r-1:r}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){const e=createMultiMap();return this.forEachChild(function visit(t){switch(t.kind){case 263:case 219:case 175:case 174:const n=t,r=getDeclarationName(n);if(r){const t=function getDeclarations(t){let n=e.get(t);n||e.set(t,n=[]);return n}(r),i=lastOrUndefined(t);i&&n.parent===i.parent&&n.symbol===i.symbol?n.body&&!i.body&&(t[t.length-1]=n):t.push(n)}forEachChild(t,visit);break;case 264:case 232:case 265:case 266:case 267:case 268:case 272:case 282:case 277:case 274:case 275:case 178:case 179:case 188:addDeclaration(t),forEachChild(t,visit);break;case 170:if(!hasSyntacticModifier(t,31))break;case 261:case 209:{const e=t;if(isBindingPattern(e.name)){forEachChild(e.name,visit);break}e.initializer&&visit(e.initializer)}case 307:case 173:case 172:addDeclaration(t);break;case 279:const i=t;i.exportClause&&(isNamedExports(i.exportClause)?forEach(i.exportClause.elements,visit):visit(i.exportClause.name));break;case 273:const o=t.importClause;o&&(o.name&&addDeclaration(o.name),o.namedBindings&&(275===o.namedBindings.kind?addDeclaration(o.namedBindings):forEach(o.namedBindings.elements,visit)));break;case 227:0!==getAssignmentDeclarationKind(t)&&addDeclaration(t);default:forEachChild(t,visit)}}),e;function addDeclaration(t){const n=getDeclarationName(t);n&&e.add(n,t)}function getDeclarationName(e){const t=getNonAssignedNameOfDeclaration(e);return t&&(isComputedPropertyName(t)&&isPropertyAccessExpression(t.expression)?t.expression.name.text:isPropertyName(t)?getNameFromPropertyName(t):void 0)}}},zl=class{constructor(e,t,n){this.fileName=e,this.text=t,this.skipTrivia=n||(e=>e)}getLineAndCharacterOfPosition(e){return getLineAndCharacterOfPosition(this,e)}};function toEditorSettings(e){let t=!0;for(const n in e)if(hasProperty(e,n)&&!isCamelCase(n)){t=!1;break}if(t)return e;const n={};for(const t in e)if(hasProperty(e,t)){n[isCamelCase(t)?t:t.charAt(0).toLowerCase()+t.substr(1)]=e[t]}return n}function isCamelCase(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function displayPartsToString(e){return e?map(e,e=>e.text).join(""):""}function getDefaultCompilerOptions2(){return{target:1,jsx:1}}function getSupportedCodeFixes(){return ed.getSupportedErrorCodes()}var Vl=class{constructor(e){this.host=e}getCurrentSourceFile(e){var t,n,r,i,o,a,s,c;const l=this.host.getScriptSnapshot(e);if(!l)throw new Error("Could not find file: '"+e+"'.");const d=getScriptKind(e,this.host),p=this.host.getScriptVersion(e);let u;if(this.currentFileName!==e){u=createLanguageServiceSourceFile(e,l,{languageVersion:99,impliedNodeFormat:getImpliedNodeFormatForFile(toPath(e,this.host.getCurrentDirectory(),(null==(r=null==(n=(t=this.host).getCompilerHost)?void 0:n.call(t))?void 0:r.getCanonicalFileName)||hostGetCanonicalFileName(this.host)),null==(c=null==(s=null==(a=null==(o=(i=this.host).getCompilerHost)?void 0:o.call(i))?void 0:a.getModuleResolutionCache)?void 0:s.call(a))?void 0:c.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:getSetExternalModuleIndicator(this.host.getCompilationSettings()),jsDocParsingMode:0},p,!0,d)}else if(this.currentFileVersion!==p){const e=l.getChangeRange(this.currentFileScriptSnapshot);u=updateLanguageServiceSourceFile(this.currentSourceFile,l,p,e)}return u&&(this.currentFileVersion=p,this.currentFileName=e,this.currentFileScriptSnapshot=l,this.currentSourceFile=u),this.currentSourceFile}};function setSourceFileFields(e,t,n){e.version=n,e.scriptSnapshot=t}function createLanguageServiceSourceFile(e,t,n,r,i,o){const a=createSourceFile(e,getSnapshotText(t),n,i,o);return setSourceFileFields(a,t,r),a}function updateLanguageServiceSourceFile(e,t,n,r,i){if(r&&n!==e.version){let o;const a=0!==r.span.start?e.text.substr(0,r.span.start):"",s=textSpanEnd(r.span)!==e.text.length?e.text.substr(textSpanEnd(r.span)):"";if(0===r.newLength)o=a&&s?a+s:a||s;else{const e=t.getText(r.span.start,r.span.start+r.newLength);o=a&&s?a+e+s:a?a+e:e+s}const c=updateSourceFile(e,o,r,i);return setSourceFileFields(c,t,n),c.nameTable=void 0,e!==c&&e.scriptSnapshot&&(e.scriptSnapshot.dispose&&e.scriptSnapshot.dispose(),e.scriptSnapshot=void 0),c}const o={languageVersion:e.languageVersion,impliedNodeFormat:e.impliedNodeFormat,setExternalModuleIndicator:e.setExternalModuleIndicator,jsDocParsingMode:e.jsDocParsingMode};return createLanguageServiceSourceFile(e.fileName,t,o,n,!0,e.scriptKind)}var ql={isCancellationRequested:returnFalse,throwIfCancellationRequested:noop},Hl=class{constructor(e){this.cancellationToken=e}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw null==(e=J)||e.instant(J.Phase.Session,"cancellationThrown",{kind:"CancellationTokenObject"}),new se}},Kl=class{constructor(e,t=20){this.hostCancellationToken=e,this.throttleWaitMilliseconds=t,this.lastCancellationCheckTime=0}isCancellationRequested(){const e=B();return Math.abs(e-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=e,this.hostCancellationToken.isCancellationRequested())}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw null==(e=J)||e.instant(J.Phase.Session,"cancellationThrown",{kind:"ThrottledCancellationToken"}),new se}},Gl=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes","getPasteEdits"],$l=[...Gl,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors","preparePasteEditsForFile"];function createLanguageService(e,t=createDocumentRegistry(e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames(),e.getCurrentDirectory(),e.jsDocParsingMode),n){var r;let i;i=void 0===n?0:"boolean"==typeof n?n?2:0:n;const o=new Vl(e);let a,s,c=0;const d=e.getCancellationToken?new Hl(e.getCancellationToken()):ql,p=e.getCurrentDirectory();function log(t){e.log&&e.log(t)}maybeSetLocalizedDiagnosticMessages(null==(r=e.getLocalizedDiagnosticMessages)?void 0:r.bind(e));const u=hostUsesCaseSensitiveFileNames(e),m=createGetCanonicalFileName(u),_=getSourceMapper({useCaseSensitiveFileNames:()=>u,getCurrentDirectory:()=>p,getProgram,fileExists:maybeBind(e,e.fileExists),readFile:maybeBind(e,e.readFile),getDocumentPositionMapper:maybeBind(e,e.getDocumentPositionMapper),getSourceFileLike:maybeBind(e,e.getSourceFileLike),log});function getValidSourceFile(e){const t=a.getSourceFile(e);if(!t){const t=new Error(`Could not find source file: '${e}'.`);throw t.ProgramFiles=a.getSourceFiles().map(e=>e.fileName),t}return t}function synchronizeHostData(){e.updateFromProject&&!e.updateFromProjectInProgress?e.updateFromProject():function synchronizeHostDataWorker(){var n,r,o;if(h.assert(2!==i),e.getProjectVersion){const t=e.getProjectVersion();if(t){if(s===t&&!(null==(n=e.hasChangedAutomaticTypeDirectiveNames)?void 0:n.call(e)))return;s=t}}const l=e.getTypeRootsVersion?e.getTypeRootsVersion():0;c!==l&&(log("TypeRoots version has changed; provide new program"),a=void 0,c=l);const f=e.getScriptFileNames().slice(),g=e.getCompilationSettings()||{target:1,jsx:1},y=e.hasInvalidatedResolutions||returnFalse,T=maybeBind(e,e.hasInvalidatedLibResolutions)||returnFalse,S=maybeBind(e,e.hasChangedAutomaticTypeDirectiveNames),x=null==(r=e.getProjectReferences)?void 0:r.call(e);let v,b={getSourceFile:getOrCreateSourceFile,getSourceFileByPath:getOrCreateSourceFileByPath,getCancellationToken:()=>d,getCanonicalFileName:m,useCaseSensitiveFileNames:()=>u,getNewLine:()=>getNewLineCharacter(g),getDefaultLibFileName:t=>e.getDefaultLibFileName(t),writeFile:noop,getCurrentDirectory:()=>p,fileExists:t=>e.fileExists(t),readFile:t=>e.readFile&&e.readFile(t),getSymlinkCache:maybeBind(e,e.getSymlinkCache),realpath:maybeBind(e,e.realpath),directoryExists:t=>directoryProbablyExists(t,e),getDirectories:t=>e.getDirectories?e.getDirectories(t):[],readDirectory:(t,n,r,i,o)=>(h.checkDefined(e.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),e.readDirectory(t,n,r,i,o)),onReleaseOldSourceFile,onReleaseParsedCommandLine,hasInvalidatedResolutions:y,hasInvalidatedLibResolutions:T,hasChangedAutomaticTypeDirectiveNames:S,trace:maybeBind(e,e.trace),resolveModuleNames:maybeBind(e,e.resolveModuleNames),getModuleResolutionCache:maybeBind(e,e.getModuleResolutionCache),createHash:maybeBind(e,e.createHash),resolveTypeReferenceDirectives:maybeBind(e,e.resolveTypeReferenceDirectives),resolveModuleNameLiterals:maybeBind(e,e.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:maybeBind(e,e.resolveTypeReferenceDirectiveReferences),resolveLibrary:maybeBind(e,e.resolveLibrary),useSourceOfProjectReferenceRedirect:maybeBind(e,e.useSourceOfProjectReferenceRedirect),getParsedCommandLine,jsDocParsingMode:e.jsDocParsingMode,getGlobalTypingsCacheLocation:maybeBind(e,e.getGlobalTypingsCacheLocation)};const C=b.getSourceFile,{getSourceFileWithCache:E}=changeCompilerHostLikeToUseCache(b,e=>toPath(e,p,m),(...e)=>C.call(b,...e));b.getSourceFile=E,null==(o=e.setCompilerHost)||o.call(e,b);const N={useCaseSensitiveFileNames:u,fileExists:e=>b.fileExists(e),readFile:e=>b.readFile(e),directoryExists:e=>b.directoryExists(e),getDirectories:e=>b.getDirectories(e),realpath:b.realpath,readDirectory:(...e)=>b.readDirectory(...e),trace:b.trace,getCurrentDirectory:b.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:noop},k=t.getKeyForCompilationSettings(g);let F=new Set;if(isProgramUptoDate(a,f,g,(t,n)=>e.getScriptVersion(n),e=>b.fileExists(e),y,T,S,getParsedCommandLine,x))return b=void 0,v=void 0,void(F=void 0);return a=createProgram({rootNames:f,options:g,host:b,oldProgram:a,projectReferences:x}),b=void 0,v=void 0,F=void 0,_.clearCache(),void a.getTypeChecker();function getParsedCommandLine(t){const n=toPath(t,p,m),r=null==v?void 0:v.get(n);if(void 0!==r)return r||void 0;const i=e.getParsedCommandLine?e.getParsedCommandLine(t):getParsedCommandLineOfConfigFileUsingSourceFile(t);return(v||(v=new Map)).set(n,i||!1),i}function getParsedCommandLineOfConfigFileUsingSourceFile(e){const t=getOrCreateSourceFile(e,100);if(t)return t.path=toPath(e,p,m),t.resolvedPath=t.path,t.originalFileName=t.fileName,parseJsonSourceFileConfigFileContent(t,N,getNormalizedAbsolutePath(getDirectoryPath(e),p),void 0,getNormalizedAbsolutePath(e,p))}function onReleaseParsedCommandLine(t,n,r){var i;e.getParsedCommandLine?null==(i=e.onReleaseParsedCommandLine)||i.call(e,t,n,r):n&&releaseOldSourceFile(n.sourceFile,r)}function releaseOldSourceFile(e,n){const r=t.getKeyForCompilationSettings(n);t.releaseDocumentWithKey(e.resolvedPath,r,e.scriptKind,e.impliedNodeFormat)}function onReleaseOldSourceFile(t,n,r,i){var o;releaseOldSourceFile(t,n),null==(o=e.onReleaseOldSourceFile)||o.call(e,t,n,r,i)}function getOrCreateSourceFile(e,t,n,r){return getOrCreateSourceFileByPath(e,toPath(e,p,m),t,n,r)}function getOrCreateSourceFileByPath(n,r,i,o,s){h.assert(b,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");const c=e.getScriptSnapshot(n);if(!c)return;const l=getScriptKind(n,e),d=e.getScriptVersion(n);if(!s){const o=a&&a.getSourceFileByPath(r);if(o){if(l===o.scriptKind||F.has(o.resolvedPath))return t.updateDocumentWithKey(n,r,e,k,c,d,l,i);t.releaseDocumentWithKey(o.resolvedPath,t.getKeyForCompilationSettings(a.getCompilerOptions()),o.scriptKind,o.impliedNodeFormat),F.add(o.resolvedPath)}}return t.acquireDocumentWithKey(n,r,e,k,c,d,l,i)}}()}function getProgram(){if(2!==i)return synchronizeHostData(),a;h.assert(void 0===a)}function cleanupSemanticCache(){if(a){const e=t.getKeyForCompilationSettings(a.getCompilerOptions());forEach(a.getSourceFiles(),n=>t.releaseDocumentWithKey(n.resolvedPath,e,n.scriptKind,n.impliedNodeFormat)),a=void 0}}function getNodesForSpan(e,t){if(textSpanContainsTextRange(t,e))return;const n=findAncestor(findTokenOnLeftOfPosition(e,textSpanEnd(t))||e,e=>textRangeContainsTextSpan(e,t)),r=[];return chooseOverlappingNodes(t,n,r),e.end===t.start+t.length&&r.push(e.endOfFileToken),some(r,isSourceFile)?void 0:r}function chooseOverlappingNodes(e,t,n){return!!function nodeOverlapsWithSpan(e,t){const n=t.start+t.length;return e.pos<n&&e.end>t.start}(t,e)&&(textSpanContainsTextRange(e,t)?(addSourceElement(t,n),!0):isBlockLike(t)?function chooseOverlappingBlockLike(e,t,n){const r=[],i=t.statements.filter(t=>chooseOverlappingNodes(e,t,r));if(i.length===t.statements.length)return addSourceElement(t,n),!0;return n.push(...r),!1}(e,t,n):isClassLike(t)?function chooseOverlappingClassLike(e,t,n){var r,i,o;const overlaps=t=>textRangeIntersectsWithTextSpan(t,e);if((null==(r=t.modifiers)?void 0:r.some(overlaps))||t.name&&overlaps(t.name)||(null==(i=t.typeParameters)?void 0:i.some(overlaps))||(null==(o=t.heritageClauses)?void 0:o.some(overlaps)))return addSourceElement(t,n),!0;const a=[],s=t.members.filter(t=>chooseOverlappingNodes(e,t,a));if(s.length===t.members.length)return addSourceElement(t,n),!0;return n.push(...a),!1}(e,t,n):(addSourceElement(t,n),!0))}function addSourceElement(e,t){for(;e.parent&&!isSourceElement(e);)e=e.parent;t.push(e)}function getReferencesWorker2(e,t,n,r){synchronizeHostData();const i=n&&n.use===vm.FindReferencesUse.Rename?a.getSourceFiles().filter(e=>!a.isSourceFileDefaultLibrary(e)):a.getSourceFiles();return vm.findReferenceOrRenameEntries(a,d,i,e,t,n,r)}const f=new Map(Object.entries({19:20,21:22,23:24,32:30}));function applySingleCodeActionCommand(t){return h.assertEqual(t.type,"install package"),e.installPackage?e.installPackage({fileName:(n=t.file,toPath(n,p,m)),packageName:t.packageName}):Promise.reject("Host does not implement `installPackage`");var n}function getLinesForRange(e,t){return{lineStarts:e.getLineStarts(),firstLine:e.getLineAndCharacterOfPosition(t.pos).line,lastLine:e.getLineAndCharacterOfPosition(t.end).line}}function toggleLineComment(e,t,n){const r=o.getCurrentSourceFile(e),i=[],{lineStarts:a,firstLine:s,lastLine:c}=getLinesForRange(r,t);let l=n||!1,d=Number.MAX_VALUE;const p=new Map,u=new RegExp(/\S/),m=isInsideJsxElement(r,a[s]),_=m?"{/*":"//";for(let e=s;e<=c;e++){const t=r.text.substring(a[e],r.getLineEndOfPosition(a[e])),i=u.exec(t);i&&(d=Math.min(d,i.index),p.set(e.toString(),i.index),t.substr(i.index,_.length)!==_&&(l=void 0===n||n))}for(let n=s;n<=c;n++){if(s!==c&&a[n]===t.end)continue;const o=p.get(n.toString());void 0!==o&&(m?i.push(...toggleMultilineComment(e,{pos:a[n]+d,end:r.getLineEndOfPosition(a[n])},l,m)):l?i.push({newText:_,span:{length:0,start:a[n]+d}}):r.text.substr(a[n]+o,_.length)===_&&i.push({newText:"",span:{length:_.length,start:a[n]+o}}))}return i}function toggleMultilineComment(e,t,n,r){var i;const a=o.getCurrentSourceFile(e),s=[],{text:c}=a;let l=!1,d=n||!1;const p=[];let{pos:u}=t;const m=void 0!==r?r:isInsideJsxElement(a,u),_=m?"{/*":"/*",f=m?"*/}":"*/",g=m?"\\{\\/\\*":"\\/\\*",y=m?"\\*\\/\\}":"\\*\\/";for(;u<=t.end;){const e=isInComment(a,u+(c.substr(u,_.length)===_?_.length:0));if(e)m&&(e.pos--,e.end++),p.push(e.pos),3===e.kind&&p.push(e.end),l=!0,u=e.end+1;else{const e=c.substring(u,t.end).search(`(${g})|(${y})`);d=void 0!==n?n:d||!isTextWhiteSpaceLike(c,u,-1===e?t.end:u+e),u=-1===e?t.end+1:u+e+f.length}}if(d||!l){2!==(null==(i=isInComment(a,t.pos))?void 0:i.kind)&&insertSorted(p,t.pos,compareValues),insertSorted(p,t.end,compareValues);const e=p[0];c.substr(e,_.length)!==_&&s.push({newText:_,span:{length:0,start:e}});for(let e=1;e<p.length-1;e++)c.substr(p[e]-f.length,f.length)!==f&&s.push({newText:f,span:{length:0,start:p[e]}}),c.substr(p[e],_.length)!==_&&s.push({newText:_,span:{length:0,start:p[e]}});s.length%2!=0&&s.push({newText:f,span:{length:0,start:p[p.length-1]}})}else for(const e of p){const t=e-f.length>0?e-f.length:0,n=c.substr(t,f.length)===f?f.length:0;s.push({newText:"",span:{length:_.length,start:e-n}})}return s}function isUnclosedTag({openingElement:e,closingElement:t,parent:n}){return!tagNamesAreEquivalent(e.tagName,t.tagName)||isJsxElement(n)&&tagNamesAreEquivalent(e.tagName,n.openingElement.tagName)&&isUnclosedTag(n)}function isUnclosedFragment({closingFragment:e,parent:t}){return!!(262144&e.flags)||isJsxFragment(t)&&isUnclosedFragment(t)}function getRefactorContext(t,n,r,i,o,a){const[s,c]="number"==typeof n?[n,void 0]:[n.pos,n.end];return{file:t,startPosition:s,endPosition:c,program:getProgram(),host:e,formatContext:r_.getFormatContext(i,e),cancellationToken:d,preferences:r,triggerReason:o,kind:a}}f.forEach((e,t)=>f.set(e.toString(),Number(t)));const g={dispose:function dispose(){cleanupSemanticCache(),e=void 0},cleanupSemanticCache,getSyntacticDiagnostics:function getSyntacticDiagnostics(e){return synchronizeHostData(),a.getSyntacticDiagnostics(getValidSourceFile(e),d).slice()},getSemanticDiagnostics:function getSemanticDiagnostics(e){synchronizeHostData();const t=getValidSourceFile(e),n=a.getSemanticDiagnostics(t,d);if(!Zn(a.getCompilerOptions()))return n.slice();const r=a.getDeclarationDiagnostics(t,d);return[...n,...r]},getRegionSemanticDiagnostics:function getRegionSemanticDiagnostics(e,t){synchronizeHostData();const n=getValidSourceFile(e),r=a.getCompilerOptions();if(skipTypeChecking(n,r,a)||!canIncludeBindAndCheckDiagnostics(n,r)||a.getCachedSemanticDiagnostics(n))return;const i=function getNodesForRanges(e,t){const n=[],r=normalizeSpans(t.map(e=>createTextSpanFromRange(e)));for(const t of r){const r=getNodesForSpan(e,t);if(!r)return;n.push(...r)}if(!n.length)return;return n}(n,t);if(!i)return;const o=normalizeSpans(i.map(e=>createTextSpanFromBounds(e.getFullStart(),e.getEnd())));return{diagnostics:a.getSemanticDiagnostics(n,d,i).slice(),spans:o}},getSuggestionDiagnostics:function getSuggestionDiagnostics(e){return synchronizeHostData(),computeSuggestionDiagnostics(getValidSourceFile(e),a,d)},getCompilerOptionsDiagnostics:function getCompilerOptionsDiagnostics(){return synchronizeHostData(),[...a.getOptionsDiagnostics(d),...a.getGlobalDiagnostics(d)]},getSyntacticClassifications:function getSyntacticClassifications2(e,t){return getSyntacticClassifications(d,o.getCurrentSourceFile(e),t)},getSemanticClassifications:function getSemanticClassifications3(e,t,n){return synchronizeHostData(),"2020"===(n||"original")?getSemanticClassifications2(a,d,getValidSourceFile(e),t):getSemanticClassifications(a.getTypeChecker(),d,getValidSourceFile(e),a.getClassifiableNames(),t)},getEncodedSyntacticClassifications:function getEncodedSyntacticClassifications2(e,t){return getEncodedSyntacticClassifications(d,o.getCurrentSourceFile(e),t)},getEncodedSemanticClassifications:function getEncodedSemanticClassifications3(e,t,n){return synchronizeHostData(),"original"===(n||"original")?getEncodedSemanticClassifications(a.getTypeChecker(),d,getValidSourceFile(e),a.getClassifiableNames(),t):getEncodedSemanticClassifications2(a,d,getValidSourceFile(e),t)},getCompletionsAtPosition:function getCompletionsAtPosition2(t,n,r=Es,i){const o={...r,includeCompletionsForModuleExports:r.includeCompletionsForModuleExports||r.includeExternalModuleExports,includeCompletionsWithInsertText:r.includeCompletionsWithInsertText||r.includeInsertTextCompletions};return synchronizeHostData(),sm.getCompletionsAtPosition(e,a,log,getValidSourceFile(t),n,o,r.triggerCharacter,r.triggerKind,d,i&&r_.getFormatContext(i,e),r.includeSymbol)},getCompletionEntryDetails:function getCompletionEntryDetails2(t,n,r,i,o,s=Es,c){return synchronizeHostData(),sm.getCompletionEntryDetails(a,log,getValidSourceFile(t),n,{name:r,source:o,data:c},e,i&&r_.getFormatContext(i,e),s,d)},getCompletionEntrySymbol:function getCompletionEntrySymbol2(t,n,r,i,o=Es){return synchronizeHostData(),sm.getCompletionEntrySymbol(a,log,getValidSourceFile(t),n,{name:r,source:i},e,o)},getSignatureHelpItems:function getSignatureHelpItems2(e,t,{triggerReason:n}=Es){synchronizeHostData();const r=getValidSourceFile(e);return Um.getSignatureHelpItems(a,r,t,n,d)},getQuickInfoAtPosition:function getQuickInfoAtPosition(e,t,n,r){synchronizeHostData();const i=getValidSourceFile(e),o=getTouchingPropertyName(i,t);if(o===i)return;const s=a.getTypeChecker(),c=function getNodeForQuickInfo(e){if(isNewExpression(e.parent)&&e.pos===e.parent.pos)return e.parent.expression;if(isNamedTupleMember(e.parent)&&e.pos===e.parent.pos)return e.parent;if(isImportMeta(e.parent)&&e.parent.name===e)return e.parent;if(isJsxNamespacedName(e.parent))return e.parent;return e}(o),l=function getSymbolAtLocationForQuickInfo(e,t){const n=getContainingObjectLiteralElement(e);if(n){const e=t.getContextualType(n.parent),r=e&&getPropertySymbolsFromContextualType(n,t,e,!1);if(r&&1===r.length)return first(r)}return t.getSymbolAtLocation(e)}(c,s);if(!l||s.isUnknownSymbol(l)){const e=function shouldGetType(e,t,n){switch(t.kind){case 80:return!(16777216&t.flags&&!isInJSFile(t)&&(172===t.parent.kind&&t.parent.name===t||findAncestor(t,e=>170===e.kind)))&&(!isLabelName(t)&&!isTagName(t)&&!isConstTypeReference(t.parent));case 212:case 167:return!isInComment(e,n);case 110:case 198:case 108:case 203:return!0;case 237:return isImportMeta(t);default:return!1}}(i,c,t)?s.getTypeAtLocation(c):void 0;return e&&{kind:"",kindModifiers:"",textSpan:createTextSpanFromNode(c,i),displayParts:s.runWithCancellationToken(d,t=>typeToDisplayParts(t,e,getContainerNode(c),void 0,r)),documentation:e.symbol?e.symbol.getDocumentationComment(s):void 0,tags:e.symbol?e.symbol.getJsDocTags(s):void 0}}const{symbolKind:p,displayParts:u,documentation:m,tags:_,canIncreaseVerbosityLevel:f}=s.runWithCancellationToken(d,e=>Km.getSymbolDisplayPartsDocumentationAndSymbolKind(e,l,i,getContainerNode(c),c,void 0,void 0,n??dn,r));return{kind:p,kindModifiers:Km.getSymbolModifiers(s,l),textSpan:createTextSpanFromNode(c,i),displayParts:u,documentation:m,tags:_,canIncreaseVerbosityLevel:f}},getDefinitionAtPosition:function getDefinitionAtPosition2(e,t,n,r){return synchronizeHostData(),Pm.getDefinitionAtPosition(a,getValidSourceFile(e),t,n,r)},getDefinitionAndBoundSpan:function getDefinitionAndBoundSpan2(e,t){return synchronizeHostData(),Pm.getDefinitionAndBoundSpan(a,getValidSourceFile(e),t)},getImplementationAtPosition:function getImplementationAtPosition(e,t){return synchronizeHostData(),vm.getImplementationsAtPosition(a,d,a.getSourceFiles(),getValidSourceFile(e),t)},getTypeDefinitionAtPosition:function getTypeDefinitionAtPosition2(e,t){return synchronizeHostData(),Pm.getTypeDefinitionAtPosition(a.getTypeChecker(),getValidSourceFile(e),t)},getReferencesAtPosition:function getReferencesAtPosition(e,t){return synchronizeHostData(),getReferencesWorker2(getTouchingPropertyName(getValidSourceFile(e),t),t,{use:vm.FindReferencesUse.References},vm.toReferenceEntry)},findReferences:function findReferences(e,t){return synchronizeHostData(),vm.findReferencedSymbols(a,d,a.getSourceFiles(),getValidSourceFile(e),t)},getFileReferences:function getFileReferences(e){return synchronizeHostData(),vm.Core.getReferencesForFileName(e,a,a.getSourceFiles()).map(vm.toReferenceEntry)},getDocumentHighlights:function getDocumentHighlights(e,t,n){const r=normalizePath(e);h.assert(n.some(e=>normalizePath(e)===r)),synchronizeHostData();const i=mapDefined(n,e=>a.getSourceFile(e)),o=getValidSourceFile(e);return tc.getDocumentHighlights(a,d,o,t,i)},getNameOrDottedNameSpan:function getNameOrDottedNameSpan(e,t,n){const r=o.getCurrentSourceFile(e),i=getTouchingPropertyName(r,t);if(i===r)return;switch(i.kind){case 212:case 167:case 11:case 97:case 112:case 106:case 108:case 110:case 198:case 80:break;default:return}let a=i;for(;;)if(isRightSideOfPropertyAccess(a)||isRightSideOfQualifiedName(a))a=a.parent;else{if(!isNameOfModuleDeclaration(a))break;if(268!==a.parent.parent.kind||a.parent.parent.body!==a.parent)break;a=a.parent.parent.name}return createTextSpanFromBounds(a.getStart(),i.getEnd())},getBreakpointStatementAtPosition:function getBreakpointStatementAtPosition(e,t){const n=o.getCurrentSourceFile(e);return Ql.spanInSourceFileAtLocation(n,t)},getNavigateToItems:function getNavigateToItems2(e,t,n,r=!1,i=!1){return synchronizeHostData(),getNavigateToItems(n?[getValidSourceFile(n)]:a.getSourceFiles(),a.getTypeChecker(),d,e,t,r,i)},getRenameInfo:function getRenameInfo2(e,t,n){return synchronizeHostData(),Wm.getRenameInfo(a,getValidSourceFile(e),t,n||{})},getSmartSelectionRange:function getSmartSelectionRange2(e,t){return qm.getSmartSelectionRange(t,o.getCurrentSourceFile(e))},findRenameLocations:function findRenameLocations(e,t,n,r,i){synchronizeHostData();const o=getValidSourceFile(e),a=getAdjustedRenameLocation(getTouchingPropertyName(o,t));if(Wm.nodeIsEligibleForRename(a)){if(isIdentifier(a)&&(isJsxOpeningElement(a.parent)||isJsxClosingElement(a.parent))&&isIntrinsicJsxName(a.escapedText)){const{openingElement:e,closingElement:t}=a.parent.parent;return[e,t].map(e=>{const t=createTextSpanFromNode(e.tagName,o);return{fileName:o.fileName,textSpan:t,...vm.toContextSpan(t,o,e.parent)}})}{const e=getQuotePreference(o,i??Es),s="boolean"==typeof i?i:null==i?void 0:i.providePrefixAndSuffixTextForRename;return getReferencesWorker2(a,t,{findInStrings:n,findInComments:r,providePrefixAndSuffixTextForRename:s,use:vm.FindReferencesUse.Rename},(t,n,r)=>vm.toRenameLocation(t,n,r,s||!1,e))}}},getNavigationBarItems:function getNavigationBarItems2(e){return getNavigationBarItems(o.getCurrentSourceFile(e),d)},getNavigationTree:function getNavigationTree2(e){return getNavigationTree(o.getCurrentSourceFile(e),d)},getOutliningSpans:function getOutliningSpans(e){const t=o.getCurrentSourceFile(e);return jm.collectElements(t,d)},getTodoComments:function getTodoComments(e,t){synchronizeHostData();const n=getValidSourceFile(e);d.throwIfCancellationRequested();const r=n.text,i=[];if(t.length>0&&!function isNodeModulesFile(e){return e.includes("/node_modules/")}(n.fileName)){const e=function getTodoCommentsRegExp(){const e="("+/(?:^(?:\s|\*)*)/.source+"|"+/(?:\/{2,}\s*)/.source+"|"+/(?:\/\*+\s*)/.source+")",n="(?:"+map(t,e=>"("+function escapeRegExp(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}(e.text)+")").join("|")+")";return new RegExp(e+"("+n+/(?:.*?)/.source+")"+/(?:$|\*\/)/.source,"gim")}();let o;for(;o=e.exec(r);){d.throwIfCancellationRequested();const e=3;h.assert(o.length===t.length+e);const a=o[1],s=o.index+a.length;if(!isInComment(n,s))continue;let c;for(let n=0;n<t.length;n++)o[n+e]&&(c=t[n]);if(void 0===c)return h.fail();if(isLetterOrDigit(r.charCodeAt(s+c.text.length)))continue;const l=o[2];i.push({descriptor:c,message:l,position:s})}}return i;function isLetterOrDigit(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}},getBraceMatchingAtPosition:function getBraceMatchingAtPosition(e,t){const n=o.getCurrentSourceFile(e),r=getTouchingToken(n,t),i=r.getStart(n)===t?f.get(r.kind.toString()):void 0,a=i&&findChildOfKind(r.parent,i,n);return a?[createTextSpanFromNode(r,n),createTextSpanFromNode(a,n)].sort((e,t)=>e.start-t.start):l},getIndentationAtPosition:function getIndentationAtPosition(e,t,n){let r=B();const i=toEditorSettings(n),a=o.getCurrentSourceFile(e);log("getIndentationAtPosition: getCurrentSourceFile: "+(B()-r)),r=B();const s=r_.SmartIndenter.getIndentation(t,a,i);return log("getIndentationAtPosition: computeIndentation : "+(B()-r)),s},getFormattingEditsForRange:function getFormattingEditsForRange(t,n,r,i){const a=o.getCurrentSourceFile(t);return r_.formatSelection(n,r,a,r_.getFormatContext(toEditorSettings(i),e))},getFormattingEditsForDocument:function getFormattingEditsForDocument(t,n){return r_.formatDocument(o.getCurrentSourceFile(t),r_.getFormatContext(toEditorSettings(n),e))},getFormattingEditsAfterKeystroke:function getFormattingEditsAfterKeystroke(t,n,r,i){const a=o.getCurrentSourceFile(t),s=r_.getFormatContext(toEditorSettings(i),e);if(!isInComment(a,n))switch(r){case"{":return r_.formatOnOpeningCurly(n,a,s);case"}":return r_.formatOnClosingCurly(n,a,s);case";":return r_.formatOnSemicolon(n,a,s);case"\n":return r_.formatOnEnter(n,a,s)}return[]},getDocCommentTemplateAtPosition:function getDocCommentTemplateAtPosition2(t,n,r,i){const a=i?r_.getFormatContext(i,e).options:void 0;return Am.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(e,a),o.getCurrentSourceFile(t),n,r)},isValidBraceCompletionAtPosition:function isValidBraceCompletionAtPosition(e,t,n){if(60===n)return!1;const r=o.getCurrentSourceFile(e);if(isInString(r,t))return!1;if(isInsideJsxElementOrAttribute(r,t))return 123===n;if(isInTemplateString(r,t))return!1;switch(n){case 39:case 34:case 96:return!isInComment(r,t)}return!0},getJsxClosingTagAtPosition:function getJsxClosingTagAtPosition(e,t){const n=o.getCurrentSourceFile(e),r=findPrecedingToken(t,n);if(!r)return;const i=32===r.kind&&isJsxOpeningElement(r.parent)?r.parent.parent:isJsxText(r)&&isJsxElement(r.parent)?r.parent:void 0;if(i&&isUnclosedTag(i))return{newText:`</${i.openingElement.tagName.getText(n)}>`};const a=32===r.kind&&isJsxOpeningFragment(r.parent)?r.parent.parent:isJsxText(r)&&isJsxFragment(r.parent)?r.parent:void 0;return a&&isUnclosedFragment(a)?{newText:"</>"}:void 0},getLinkedEditingRangeAtPosition:function getLinkedEditingRangeAtPosition(e,t){const n=o.getCurrentSourceFile(e),r=findPrecedingToken(t,n);if(!r||308===r.parent.kind)return;const i="[a-zA-Z0-9:\\-\\._$]*";if(isJsxFragment(r.parent.parent)){const e=r.parent.parent.openingFragment,o=r.parent.parent.closingFragment;if(containsParseError(e)||containsParseError(o))return;const a=e.getStart(n)+1,s=o.getStart(n)+2;if(t!==a&&t!==s)return;return{ranges:[{start:a,length:0},{start:s,length:0}],wordPattern:i}}{const e=findAncestor(r.parent,e=>!(!isJsxOpeningElement(e)&&!isJsxClosingElement(e)));if(!e)return;h.assert(isJsxOpeningElement(e)||isJsxClosingElement(e),"tag should be opening or closing element");const o=e.parent.openingElement,a=e.parent.closingElement,s=o.tagName.getStart(n),c=o.tagName.end,l=a.tagName.getStart(n),d=a.tagName.end;if(s===o.getStart(n)||l===a.getStart(n)||c===o.getEnd()||d===a.getEnd())return;if(!(s<=t&&t<=c||l<=t&&t<=d))return;if(o.tagName.getText(n)!==a.tagName.getText(n))return;return{ranges:[{start:s,length:c-s},{start:l,length:d-l}],wordPattern:i}}},getSpanOfEnclosingComment:function getSpanOfEnclosingComment(e,t,n){const r=o.getCurrentSourceFile(e),i=r_.getRangeOfEnclosingComment(r,t);return!i||n&&3!==i.kind?void 0:createTextSpanFromRange(i)},getCodeFixesAtPosition:function getCodeFixesAtPosition(t,n,r,i,o,s=Es){synchronizeHostData();const c=getValidSourceFile(t),l=createTextSpanFromBounds(n,r),p=r_.getFormatContext(o,e);return flatMap(deduplicate(i,equateValues,compareValues),t=>(d.throwIfCancellationRequested(),ed.getFixes({errorCode:t,sourceFile:c,span:l,program:a,host:e,cancellationToken:d,formatContext:p,preferences:s})))},getCombinedCodeFix:function getCombinedCodeFix(t,n,r,i=Es){synchronizeHostData(),h.assert("file"===t.type);const o=getValidSourceFile(t.fileName),s=r_.getFormatContext(r,e);return ed.getAllFixes({fixId:n,sourceFile:o,program:a,host:e,cancellationToken:d,formatContext:s,preferences:i})},applyCodeActionCommand:function applyCodeActionCommand(e,t){const n="string"==typeof e?t:e;return isArray(n)?Promise.all(n.map(e=>applySingleCodeActionCommand(e))):applySingleCodeActionCommand(n)},organizeImports:function organizeImports2(t,n,r=Es){synchronizeHostData(),h.assert("file"===t.type);const i=getValidSourceFile(t.fileName);if(containsParseError(i))return l;const o=r_.getFormatContext(n,e),s=t.mode??(t.skipDestructiveCodeActions?"SortAndCombine":"All");return Bm.organizeImports(i,o,e,a,r,s)},getEditsForFileRename:function getEditsForFileRename2(t,n,r,i=Es){return getEditsForFileRename(getProgram(),t,n,e,r_.getFormatContext(r,e),i,_)},getEmitOutput:function getEmitOutput(t,n,r){synchronizeHostData();const i=getValidSourceFile(t),o=e.getCustomTransformers&&e.getCustomTransformers();return getFileEmitOutput(a,i,!!n,d,o,r)},getNonBoundSourceFile:function getNonBoundSourceFile(e){return o.getCurrentSourceFile(e)},getProgram,getCurrentProgram:()=>a,getAutoImportProvider:function getAutoImportProvider(){var t;return null==(t=e.getPackageJsonAutoImportProvider)?void 0:t.call(e)},updateIsDefinitionOfReferencedSymbols:function updateIsDefinitionOfReferencedSymbols(t,n){const r=a.getTypeChecker(),i=function getSymbolForProgram(){for(const i of t)for(const t of i.references){if(n.has(t)){const e=getNodeForSpan(t);return h.assertIsDefined(e),r.getSymbolAtLocation(e)}const i=getMappedDocumentSpan(t,_,maybeBind(e,e.fileExists));if(i&&n.has(i)){const e=getNodeForSpan(i);if(e)return r.getSymbolAtLocation(e)}}return}();if(!i)return!1;for(const r of t)for(const t of r.references){const r=getNodeForSpan(t);if(h.assertIsDefined(r),n.has(t)||vm.isDeclarationOfSymbol(r,i)){n.add(t),t.isDefinition=!0;const r=getMappedDocumentSpan(t,_,maybeBind(e,e.fileExists));r&&n.add(r)}else t.isDefinition=!1}return!0;function getNodeForSpan(e){const t=a.getSourceFile(e.fileName);if(!t)return;const n=getTouchingPropertyName(t,e.textSpan.start);return vm.Core.getAdjustedNode(n,{use:vm.FindReferencesUse.References})}},getApplicableRefactors:function getApplicableRefactors2(e,t,n=Es,r,i,o){synchronizeHostData();const a=getValidSourceFile(e);return bc.getApplicableRefactors(getRefactorContext(a,t,n,Es,r,i),o)},getEditsForRefactor:function getEditsForRefactor2(e,t,n,r,i,o=Es,a){synchronizeHostData();const s=getValidSourceFile(e);return bc.getEditsForRefactor(getRefactorContext(s,n,o,t),r,i,a)},getMoveToRefactoringFileSuggestions:function getMoveToRefactoringFileSuggestions(t,n,r=Es){synchronizeHostData();const i=getValidSourceFile(t),o=h.checkDefined(a.getSourceFiles()),s=extensionFromPath(t),c=getStatementsToMove(getRefactorContext(i,n,r,Es)),l=containsJsx(null==c?void 0:c.all),d=mapDefined(o,e=>{const t=extensionFromPath(e.fileName);return!(null==a?void 0:a.isSourceFileFromExternalLibrary(i))&&!(i===getValidSourceFile(e.fileName)||".ts"===s&&".d.ts"===t||".d.ts"===s&&startsWith(getBaseFileName(e.fileName),"lib.")&&".d.ts"===t)&&(s===t||(".tsx"===s&&".ts"===t||".jsx"===s&&".js"===t)&&!l)?e.fileName:void 0});return{newFileName:createNewFileName(i,a,e,c),files:d}},toLineColumnOffset:function toLineColumnOffset(e,t){return 0===t?{line:0,character:0}:_.toLineColumnOffset(e,t)},getSourceMapper:()=>_,clearSourceMapperCache:()=>_.clearCache(),prepareCallHierarchy:function prepareCallHierarchy(e,t){synchronizeHostData();const n=Xl.resolveCallHierarchyDeclaration(a,getTouchingPropertyName(getValidSourceFile(e),t));return n&&mapOneOrMany(n,e=>Xl.createCallHierarchyItem(a,e))},provideCallHierarchyIncomingCalls:function provideCallHierarchyIncomingCalls(e,t){synchronizeHostData();const n=getValidSourceFile(e),r=firstOrOnly(Xl.resolveCallHierarchyDeclaration(a,0===t?n:getTouchingPropertyName(n,t)));return r?Xl.getIncomingCalls(a,r,d):[]},provideCallHierarchyOutgoingCalls:function provideCallHierarchyOutgoingCalls(e,t){synchronizeHostData();const n=getValidSourceFile(e),r=firstOrOnly(Xl.resolveCallHierarchyDeclaration(a,0===t?n:getTouchingPropertyName(n,t)));return r?Xl.getOutgoingCalls(a,r):[]},toggleLineComment,toggleMultilineComment,commentSelection:function commentSelection(e,t){const n=o.getCurrentSourceFile(e),{firstLine:r,lastLine:i}=getLinesForRange(n,t);return r===i&&t.pos!==t.end?toggleMultilineComment(e,t,!0):toggleLineComment(e,t,!0)},uncommentSelection:function uncommentSelection(e,t){const n=o.getCurrentSourceFile(e),r=[],{pos:i}=t;let{end:a}=t;i===a&&(a+=isInsideJsxElement(n,i)?2:1);for(let t=i;t<=a;t++){const i=isInComment(n,t);if(i){switch(i.kind){case 2:r.push(...toggleLineComment(e,{end:i.end,pos:i.pos+1},!1));break;case 3:r.push(...toggleMultilineComment(e,{end:i.end,pos:i.pos+1},!1))}t=i.end+1}}return r},provideInlayHints:function provideInlayHints2(t,n,r=Es){synchronizeHostData();const i=getValidSourceFile(t);return Im.provideInlayHints(function getInlayHintsContext(t,n,r){return{file:t,program:getProgram(),host:e,span:n,preferences:r,cancellationToken:d}}(i,n,r))},getSupportedCodeFixes,preparePasteEditsForFile:function preparePasteEditsForFile(e,t){return synchronizeHostData(),x_.preparePasteEdits(getValidSourceFile(e),t,a.getTypeChecker())},getPasteEdits:function getPasteEdits(t,n){return synchronizeHostData(),v_.pasteEditsProvider(getValidSourceFile(t.targetFile),t.pastedText,t.pasteLocations,t.copiedFrom?{file:getValidSourceFile(t.copiedFrom.file),range:t.copiedFrom.range}:void 0,e,t.preferences,r_.getFormatContext(n,e),d)},mapCode:function mapCode2(t,n,r,i,a){return Rm.mapCode(o.getCurrentSourceFile(t),n,r,e,r_.getFormatContext(i,e),a)}};switch(i){case 0:break;case 1:Gl.forEach(e=>g[e]=()=>{throw new Error(`LanguageService Operation: ${e} not allowed in LanguageServiceMode.PartialSemantic`)});break;case 2:$l.forEach(e=>g[e]=()=>{throw new Error(`LanguageService Operation: ${e} not allowed in LanguageServiceMode.Syntactic`)});break;default:h.assertNever(i)}return g}function getNameTable(e){return e.nameTable||function initializeNameTable(e){const t=e.nameTable=new Map;e.forEachChild(function walk(e){if(isIdentifier(e)&&!isTagName(e)&&e.escapedText||isStringOrNumericLiteralLike(e)&&function literalIsName(e){return isDeclarationName(e)||284===e.parent.kind||function isArgumentOfElementAccessExpression(e){return e&&e.parent&&213===e.parent.kind&&e.parent.argumentExpression===e}(e)||isLiteralComputedPropertyDeclarationName(e)}(e)){const n=getEscapedTextOfIdentifierOrLiteral(e);t.set(n,void 0===t.get(n)?e.pos:-1)}else if(isPrivateIdentifier(e)){const n=e.escapedText;t.set(n,void 0===t.get(n)?e.pos:-1)}if(forEachChild(e,walk),hasJSDocNodes(e))for(const t of e.jsDoc)forEachChild(t,walk)})}(e),e.nameTable}function getContainingObjectLiteralElement(e){const t=function getContainingObjectLiteralElementWorker(e){switch(e.kind){case 11:case 15:case 9:if(168===e.parent.kind)return isObjectLiteralElement(e.parent.parent)?e.parent.parent:void 0;case 80:case 296:return!isObjectLiteralElement(e.parent)||211!==e.parent.parent.kind&&293!==e.parent.parent.kind||e.parent.name!==e?void 0:e.parent}return}(e);return t&&(isObjectLiteralExpression(t.parent)||isJsxAttributes(t.parent))?t:void 0}function getPropertySymbolsFromContextualType(e,t,n,r){const i=getNameFromPropertyName(e.name);if(!i)return l;if(!n.isUnion()){const e=n.getProperty(i);return e?[e]:l}const o=isObjectLiteralExpression(e.parent)||isJsxAttributes(e.parent)?filter(n.types,n=>!t.isTypeInvalidDueToUnionDiscriminant(n,e.parent)):n.types,a=mapDefined(o,e=>e.getProperty(i));if(r&&(0===a.length||a.length===n.types.length)){const e=n.getProperty(i);if(e)return[e]}return o.length||a.length?deduplicate(a,equateValues):mapDefined(n.types,e=>e.getProperty(i))}function getDefaultLibFilePath(e){if(kt)return combinePaths(getDirectoryPath(normalizePath(kt.getExecutingFilePath())),getDefaultLibFileName(e));throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}function transform(e,t,n){const r=[];n=fixupCompilerOptions(n,r);const i=isArray(e)?e:[e],o=transformNodes(void 0,void 0,Wr,n,i,t,!0);return o.diagnostics=concatenate(o.diagnostics,r),o}setObjectAllocator(function getServicesObjectAllocator(){return{getNodeConstructor:()=>wl,getTokenConstructor:()=>Rl,getIdentifierConstructor:()=>Bl,getPrivateIdentifierConstructor:()=>jl,getSourceFileConstructor:()=>Ul,getSymbolConstructor:()=>Ml,getTypeConstructor:()=>Jl,getSignatureConstructor:()=>Wl,getSourceMapSourceConstructor:()=>zl}}());var Ql={};function spanInSourceFileAtLocation(e,t){if(e.isDeclarationFile)return;let n=getTokenAtPosition(e,t);const r=e.getLineAndCharacterOfPosition(t).line;if(e.getLineAndCharacterOfPosition(n.getStart(e)).line>r){const t=findPrecedingToken(n.pos,e);if(!t||e.getLineAndCharacterOfPosition(t.getEnd()).line!==r)return;n=t}if(!(33554432&n.flags))return spanInNode(n);function textSpan(t,n){const r=canHaveDecorators(t)?findLast(t.modifiers,isDecorator):void 0;return createTextSpanFromBounds(r?skipTrivia(e.text,r.end):t.getStart(e),(n||t).getEnd())}function textSpanEndingAtNextToken(t,n){return textSpan(t,findNextToken(n,n.parent,e))}function spanInNodeIfStartsOnSameLine(t,n){return t&&r===e.getLineAndCharacterOfPosition(t.getStart(e)).line?spanInNode(t):spanInNode(n)}function spanInPreviousNode(t){return spanInNode(findPrecedingToken(t.pos,e))}function spanInNextNode(t){return spanInNode(findNextToken(t,t.parent,e))}function spanInNode(t){if(t){const{parent:n}=t;switch(t.kind){case 244:return spanInVariableDeclaration(t.declarationList.declarations[0]);case 261:case 173:case 172:return spanInVariableDeclaration(t);case 170:return function spanInParameterDeclaration(e){if(isBindingPattern(e.name))return spanInBindingPattern(e.name);if(function canHaveSpanInParameterDeclaration(e){return!!e.initializer||void 0!==e.dotDotDotToken||hasSyntacticModifier(e,3)}(e))return textSpan(e);{const t=e.parent,n=t.parameters.indexOf(e);return h.assert(-1!==n),0!==n?spanInParameterDeclaration(t.parameters[n-1]):spanInNode(t.body)}}(t);case 263:case 175:case 174:case 178:case 179:case 177:case 219:case 220:return function spanInFunctionDeclaration(e){if(!e.body)return;if(canFunctionHaveSpanInWholeDeclaration(e))return textSpan(e);return spanInNode(e.body)}(t);case 242:if(isFunctionBlock(t))return function spanInFunctionBlock(e){const t=e.statements.length?e.statements[0]:e.getLastToken();if(canFunctionHaveSpanInWholeDeclaration(e.parent))return spanInNodeIfStartsOnSameLine(e.parent,t);return spanInNode(t)}(t);case 269:return spanInBlock(t);case 300:return spanInBlock(t.block);case 245:return textSpan(t.expression);case 254:return textSpan(t.getChildAt(0),t.expression);case 248:return textSpanEndingAtNextToken(t,t.expression);case 247:return spanInNode(t.statement);case 260:return textSpan(t.getChildAt(0));case 246:return textSpanEndingAtNextToken(t,t.expression);case 257:return spanInNode(t.statement);case 253:case 252:return textSpan(t.getChildAt(0),t.label);case 249:return function spanInForStatement(e){if(e.initializer)return spanInInitializerOfForLike(e);if(e.condition)return textSpan(e.condition);if(e.incrementor)return textSpan(e.incrementor)}(t);case 250:return textSpanEndingAtNextToken(t,t.expression);case 251:return spanInInitializerOfForLike(t);case 256:return textSpanEndingAtNextToken(t,t.expression);case 297:case 298:return spanInNode(t.statements[0]);case 259:return spanInBlock(t.tryBlock);case 258:case 278:return textSpan(t,t.expression);case 272:return textSpan(t,t.moduleReference);case 273:case 279:return textSpan(t,t.moduleSpecifier);case 268:if(1!==getModuleInstanceState(t))return;case 264:case 267:case 307:case 209:return textSpan(t);case 255:return spanInNode(t.statement);case 171:return function spanInNodeArray(t,n,r){if(t){const i=t.indexOf(n);if(i>=0){let n=i,o=i+1;for(;n>0&&r(t[n-1]);)n--;for(;o<t.length&&r(t[o]);)o++;return createTextSpanFromBounds(skipTrivia(e.text,t[n].pos),t[o-1].end)}}return textSpan(n)}(n.modifiers,t,isDecorator);case 207:case 208:return spanInBindingPattern(t);case 265:case 266:return;case 27:case 1:return spanInNodeIfStartsOnSameLine(findPrecedingToken(t.pos,e));case 28:return spanInPreviousNode(t);case 19:return function spanInOpenBraceToken(t){switch(t.parent.kind){case 267:const n=t.parent;return spanInNodeIfStartsOnSameLine(findPrecedingToken(t.pos,e,t.parent),n.members.length?n.members[0]:n.getLastToken(e));case 264:const r=t.parent;return spanInNodeIfStartsOnSameLine(findPrecedingToken(t.pos,e,t.parent),r.members.length?r.members[0]:r.getLastToken(e));case 270:return spanInNodeIfStartsOnSameLine(t.parent.parent,t.parent.clauses[0])}return spanInNode(t.parent)}(t);case 20:return function spanInCloseBraceToken(e){switch(e.parent.kind){case 269:if(1!==getModuleInstanceState(e.parent.parent))return;case 267:case 264:return textSpan(e);case 242:if(isFunctionBlock(e.parent))return textSpan(e);case 300:return spanInNode(lastOrUndefined(e.parent.statements));case 270:const t=lastOrUndefined(e.parent.clauses);return t?spanInNode(lastOrUndefined(t.statements)):void 0;case 207:const n=e.parent;return spanInNode(lastOrUndefined(n.elements)||n);default:if(isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent)){const t=e.parent;return textSpan(lastOrUndefined(t.properties)||t)}return spanInNode(e.parent)}}(t);case 24:return function spanInCloseBracketToken(e){if(208===e.parent.kind){const t=e.parent;return textSpan(lastOrUndefined(t.elements)||t)}if(isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent)){const t=e.parent;return textSpan(lastOrUndefined(t.elements)||t)}return spanInNode(e.parent)}(t);case 21:return function spanInOpenParenToken(e){if(247===e.parent.kind||214===e.parent.kind||215===e.parent.kind)return spanInPreviousNode(e);if(218===e.parent.kind)return spanInNextNode(e);return spanInNode(e.parent)}(t);case 22:return function spanInCloseParenToken(e){switch(e.parent.kind){case 219:case 263:case 220:case 175:case 174:case 178:case 179:case 177:case 248:case 247:case 249:case 251:case 214:case 215:case 218:return spanInPreviousNode(e);default:return spanInNode(e.parent)}}(t);case 59:return function spanInColonToken(e){if(isFunctionLike(e.parent)||304===e.parent.kind||170===e.parent.kind)return spanInPreviousNode(e);return spanInNode(e.parent)}(t);case 32:case 30:return function spanInGreaterThanOrLessThanToken(e){if(217===e.parent.kind)return spanInNextNode(e);return spanInNode(e.parent)}(t);case 117:return function spanInWhileKeyword(e){if(247===e.parent.kind)return textSpanEndingAtNextToken(e,e.parent.expression);return spanInNode(e.parent)}(t);case 93:case 85:case 98:return spanInNextNode(t);case 165:return function spanInOfKeyword(e){if(251===e.parent.kind)return spanInNextNode(e);return spanInNode(e.parent)}(t);default:if(isArrayLiteralOrObjectLiteralDestructuringPattern(t))return spanInArrayLiteralOrObjectLiteralDestructuringPattern(t);if((80===t.kind||231===t.kind||304===t.kind||305===t.kind)&&isArrayLiteralOrObjectLiteralDestructuringPattern(n))return textSpan(t);if(227===t.kind){const{left:e,operatorToken:n}=t;if(isArrayLiteralOrObjectLiteralDestructuringPattern(e))return spanInArrayLiteralOrObjectLiteralDestructuringPattern(e);if(64===n.kind&&isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent))return textSpan(t);if(28===n.kind)return spanInNode(e)}if(isExpressionNode(t))switch(n.kind){case 247:return spanInPreviousNode(t);case 171:return spanInNode(t.parent);case 249:case 251:return textSpan(t);case 227:if(28===t.parent.operatorToken.kind)return textSpan(t);break;case 220:if(t.parent.body===t)return textSpan(t)}switch(t.parent.kind){case 304:if(t.parent.name===t&&!isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent.parent))return spanInNode(t.parent.initializer);break;case 217:if(t.parent.type===t)return spanInNextNode(t.parent.type);break;case 261:case 170:{const{initializer:e,type:n}=t.parent;if(e===t||n===t||isAssignmentOperator(t.kind))return spanInPreviousNode(t);break}case 227:{const{left:e}=t.parent;if(isArrayLiteralOrObjectLiteralDestructuringPattern(e)&&t!==e)return spanInPreviousNode(t);break}default:if(isFunctionLike(t.parent)&&t.parent.type===t)return spanInPreviousNode(t)}return spanInNode(t.parent)}}function textSpanFromVariableDeclaration(t){return isVariableDeclarationList(t.parent)&&t.parent.declarations[0]===t?textSpan(findPrecedingToken(t.pos,e,t.parent),t):textSpan(t)}function spanInVariableDeclaration(t){if(250===t.parent.parent.kind)return spanInNode(t.parent.parent);const n=t.parent;return isBindingPattern(t.name)?spanInBindingPattern(t.name):hasOnlyExpressionInitializer(t)&&t.initializer||hasSyntacticModifier(t,32)||251===n.parent.kind?textSpanFromVariableDeclaration(t):isVariableDeclarationList(t.parent)&&t.parent.declarations[0]!==t?spanInNode(findPrecedingToken(t.pos,e,t.parent)):void 0}function canFunctionHaveSpanInWholeDeclaration(e){return hasSyntacticModifier(e,32)||264===e.parent.kind&&177!==e.kind}function spanInBlock(t){switch(t.parent.kind){case 268:if(1!==getModuleInstanceState(t.parent))return;case 248:case 246:case 250:return spanInNodeIfStartsOnSameLine(t.parent,t.statements[0]);case 249:case 251:return spanInNodeIfStartsOnSameLine(findPrecedingToken(t.pos,e,t.parent),t.statements[0])}return spanInNode(t.statements[0])}function spanInInitializerOfForLike(e){if(262!==e.initializer.kind)return spanInNode(e.initializer);{const t=e.initializer;if(t.declarations.length>0)return spanInNode(t.declarations[0])}}function spanInBindingPattern(e){const t=forEach(e.elements,e=>233!==e.kind?e:void 0);return t?spanInNode(t):209===e.parent.kind?textSpan(e.parent):textSpanFromVariableDeclaration(e.parent)}function spanInArrayLiteralOrObjectLiteralDestructuringPattern(e){h.assert(208!==e.kind&&207!==e.kind);const t=forEach(210===e.kind?e.elements:e.properties,e=>233!==e.kind?e:void 0);return t?spanInNode(t):textSpan(227===e.parent.kind?e.parent:e)}}}i(Ql,{spanInSourceFileAtLocation:()=>spanInSourceFileAtLocation});var Xl={};function isVariableLike2(e){return isPropertyDeclaration(e)||isVariableDeclaration(e)}function isAssignedExpression(e){return(isFunctionExpression(e)||isArrowFunction(e)||isClassExpression(e))&&isVariableLike2(e.parent)&&e===e.parent.initializer&&isIdentifier(e.parent.name)&&(!!(2&getCombinedNodeFlags(e.parent))||isPropertyDeclaration(e.parent))}function isPossibleCallHierarchyDeclaration(e){return isSourceFile(e)||isModuleDeclaration(e)||isFunctionDeclaration(e)||isFunctionExpression(e)||isClassDeclaration(e)||isClassExpression(e)||isClassStaticBlockDeclaration(e)||isMethodDeclaration(e)||isMethodSignature(e)||isGetAccessorDeclaration(e)||isSetAccessorDeclaration(e)}function isValidCallHierarchyDeclaration(e){return isSourceFile(e)||isModuleDeclaration(e)&&isIdentifier(e.name)||isFunctionDeclaration(e)||isClassDeclaration(e)||isClassStaticBlockDeclaration(e)||isMethodDeclaration(e)||isMethodSignature(e)||isGetAccessorDeclaration(e)||isSetAccessorDeclaration(e)||function isNamedExpression(e){return(isFunctionExpression(e)||isClassExpression(e))&&isNamedDeclaration(e)}(e)||isAssignedExpression(e)}function getCallHierarchyDeclarationReferenceNode(e){return isSourceFile(e)?e:isNamedDeclaration(e)?e.name:isAssignedExpression(e)?e.parent.name:h.checkDefined(e.modifiers&&find(e.modifiers,isDefaultModifier3))}function isDefaultModifier3(e){return 90===e.kind}function getSymbolOfCallHierarchyDeclaration(e,t){const n=getCallHierarchyDeclarationReferenceNode(t);return n&&e.getSymbolAtLocation(n)}function findImplementation(e,t){if(t.body)return t;if(isConstructorDeclaration(t))return getFirstConstructorWithBody(t.parent);if(isFunctionDeclaration(t)||isMethodDeclaration(t)){const n=getSymbolOfCallHierarchyDeclaration(e,t);return n&&n.valueDeclaration&&isFunctionLikeDeclaration(n.valueDeclaration)&&n.valueDeclaration.body?n.valueDeclaration:void 0}return t}function findAllInitialDeclarations(e,t){const n=getSymbolOfCallHierarchyDeclaration(e,t);let r;if(n&&n.declarations){const e=indicesOf(n.declarations),t=map(n.declarations,e=>({file:e.getSourceFile().fileName,pos:e.pos}));e.sort((e,n)=>compareStringsCaseSensitive(t[e].file,t[n].file)||t[e].pos-t[n].pos);const i=map(e,e=>n.declarations[e]);let o;for(const e of i)isValidCallHierarchyDeclaration(e)&&(o&&o.parent===e.parent&&o.end===e.pos||(r=append(r,e)),o=e)}return r}function findImplementationOrAllInitialDeclarations(e,t){return isClassStaticBlockDeclaration(t)?t:isFunctionLikeDeclaration(t)?findImplementation(e,t)??findAllInitialDeclarations(e,t)??t:findAllInitialDeclarations(e,t)??t}function resolveCallHierarchyDeclaration(e,t){const n=e.getTypeChecker();let r=!1;for(;;){if(isValidCallHierarchyDeclaration(t))return findImplementationOrAllInitialDeclarations(n,t);if(isPossibleCallHierarchyDeclaration(t)){const e=findAncestor(t,isValidCallHierarchyDeclaration);return e&&findImplementationOrAllInitialDeclarations(n,e)}if(isDeclarationName(t)){if(isValidCallHierarchyDeclaration(t.parent))return findImplementationOrAllInitialDeclarations(n,t.parent);if(isPossibleCallHierarchyDeclaration(t.parent)){const e=findAncestor(t.parent,isValidCallHierarchyDeclaration);return e&&findImplementationOrAllInitialDeclarations(n,e)}return isVariableLike2(t.parent)&&t.parent.initializer&&isAssignedExpression(t.parent.initializer)?t.parent.initializer:void 0}if(isConstructorDeclaration(t))return isValidCallHierarchyDeclaration(t.parent)?t.parent:void 0;if(126!==t.kind||!isClassStaticBlockDeclaration(t.parent)){if(isVariableDeclaration(t)&&t.initializer&&isAssignedExpression(t.initializer))return t.initializer;if(!r){let e=n.getSymbolAtLocation(t);if(e&&(2097152&e.flags&&(e=n.getAliasedSymbol(e)),e.valueDeclaration)){r=!0,t=e.valueDeclaration;continue}}return}t=t.parent}}function createCallHierarchyItem(e,t){const n=t.getSourceFile(),r=function getCallHierarchyItemName(e,t){if(isSourceFile(t))return{text:t.fileName,pos:0,end:0};if((isFunctionDeclaration(t)||isClassDeclaration(t))&&!isNamedDeclaration(t)){const e=t.modifiers&&find(t.modifiers,isDefaultModifier3);if(e)return{text:"default",pos:e.getStart(),end:e.getEnd()}}if(isClassStaticBlockDeclaration(t)){const n=skipTrivia(t.getSourceFile().text,moveRangePastModifiers(t).pos),r=n+6,i=e.getTypeChecker(),o=i.getSymbolAtLocation(t.parent);return{text:(o?`${i.symbolToString(o,t.parent)} `:"")+"static {}",pos:n,end:r}}const n=isAssignedExpression(t)?t.parent.name:h.checkDefined(getNameOfDeclaration(t),"Expected call hierarchy item to have a name");let r=isIdentifier(n)?idText(n):isStringOrNumericLiteralLike(n)?n.text:isComputedPropertyName(n)&&isStringOrNumericLiteralLike(n.expression)?n.expression.text:void 0;if(void 0===r){const i=e.getTypeChecker(),o=i.getSymbolAtLocation(n);o&&(r=i.symbolToString(o,t))}if(void 0===r){const e=Pa();r=usingSingleLineStringWriter(n=>e.writeNode(4,t,t.getSourceFile(),n))}return{text:r,pos:n.getStart(),end:n.getEnd()}}(e,t),i=function getCallHierarchItemContainerName(e){var t,n,r,i;if(isAssignedExpression(e))return isPropertyDeclaration(e.parent)&&isClassLike(e.parent.parent)?isClassExpression(e.parent.parent)?null==(t=getAssignedName(e.parent.parent))?void 0:t.getText():null==(n=e.parent.parent.name)?void 0:n.getText():isModuleBlock(e.parent.parent.parent.parent)&&isIdentifier(e.parent.parent.parent.parent.parent.name)?e.parent.parent.parent.parent.parent.name.getText():void 0;switch(e.kind){case 178:case 179:case 175:return 211===e.parent.kind?null==(r=getAssignedName(e.parent))?void 0:r.getText():null==(i=getNameOfDeclaration(e.parent))?void 0:i.getText();case 263:case 264:case 268:if(isModuleBlock(e.parent)&&isIdentifier(e.parent.parent.name))return e.parent.parent.name.getText()}}(t),o=getNodeKind(t),a=getNodeModifiers(t),s=createTextSpanFromBounds(skipTrivia(n.text,t.getFullStart(),!1,!0),t.getEnd()),c=createTextSpanFromBounds(r.pos,r.end);return{file:n.fileName,kind:o,kindModifiers:a,name:r.text,containerName:i,span:s,selectionSpan:c}}function isDefined(e){return void 0!==e}function convertEntryToCallSite(e){if(e.kind===vm.EntryKind.Node){const{node:t}=e;if(isCallOrNewExpressionTarget(t,!0,!0)||isTaggedTemplateTag(t,!0,!0)||isDecoratorTarget(t,!0,!0)||isJsxOpeningLikeElementTagName(t,!0,!0)||isRightSideOfPropertyAccess(t)||isArgumentExpressionOfElementAccess(t)){const e=t.getSourceFile();return{declaration:findAncestor(t,isValidCallHierarchyDeclaration)||e,range:createTextRangeFromNode(t,e)}}}}function getCallSiteGroupKey(e){return getNodeId(e.declaration)}function getIncomingCalls(e,t,n){if(isSourceFile(t)||isModuleDeclaration(t)||isClassStaticBlockDeclaration(t))return[];const r=getCallHierarchyDeclarationReferenceNode(t),i=filter(vm.findReferenceOrRenameEntries(e,n,e.getSourceFiles(),r,0,{use:vm.FindReferencesUse.References},convertEntryToCallSite),isDefined);return i?group(i,getCallSiteGroupKey,t=>function convertCallSiteGroupToIncomingCall(e,t){return function createCallHierarchyIncomingCall(e,t){return{from:e,fromSpans:t}}(createCallHierarchyItem(e,t[0].declaration),map(t,e=>createTextSpanFromRange(e.range)))}(e,t)):[]}function collectCallSites(e,t){const n=[],r=function createCallSiteCollector(e,t){function recordCallSite(n){const r=isTaggedTemplateExpression(n)?n.tag:isJsxOpeningLikeElement(n)?n.tagName:isAccessExpression(n)||isClassStaticBlockDeclaration(n)?n:n.expression,i=resolveCallHierarchyDeclaration(e,r);if(i){const e=createTextRangeFromNode(r,n.getSourceFile());if(isArray(i))for(const n of i)t.push({declaration:n,range:e});else t.push({declaration:i,range:e})}}return function collect(e){if(e&&!(33554432&e.flags))if(isValidCallHierarchyDeclaration(e)){if(isClassLike(e))for(const t of e.members)t.name&&isComputedPropertyName(t.name)&&collect(t.name.expression)}else{switch(e.kind){case 80:case 272:case 273:case 279:case 265:case 266:return;case 176:return void recordCallSite(e);case 217:case 235:case 239:return void collect(e.expression);case 261:case 170:return collect(e.name),void collect(e.initializer);case 214:case 215:return recordCallSite(e),collect(e.expression),void forEach(e.arguments,collect);case 216:return recordCallSite(e),collect(e.tag),void collect(e.template);case 287:case 286:return recordCallSite(e),collect(e.tagName),void collect(e.attributes);case 171:return recordCallSite(e),void collect(e.expression);case 212:case 213:recordCallSite(e),forEachChild(e,collect)}isPartOfTypeNode(e)||forEachChild(e,collect)}}}(e,n);switch(t.kind){case 308:!function collectCallSitesOfSourceFile(e,t){forEach(e.statements,t)}(t,r);break;case 268:!function collectCallSitesOfModuleDeclaration(e,t){!hasSyntacticModifier(e,128)&&e.body&&isModuleBlock(e.body)&&forEach(e.body.statements,t)}(t,r);break;case 263:case 219:case 220:case 175:case 178:case 179:!function collectCallSitesOfFunctionLikeDeclaration(e,t,n){const r=findImplementation(e,t);r&&(forEach(r.parameters,n),n(r.body))}(e.getTypeChecker(),t,r);break;case 264:case 232:!function collectCallSitesOfClassLikeDeclaration(e,t){forEach(e.modifiers,t);const n=getClassExtendsHeritageElement(e);n&&t(n.expression);for(const n of e.members)canHaveModifiers(n)&&forEach(n.modifiers,t),isPropertyDeclaration(n)?t(n.initializer):isConstructorDeclaration(n)&&n.body?(forEach(n.parameters,t),t(n.body)):isClassStaticBlockDeclaration(n)&&t(n)}(t,r);break;case 176:!function collectCallSitesOfClassStaticBlockDeclaration(e,t){t(e.body)}(t,r);break;default:h.assertNever(t)}return n}function getOutgoingCalls(e,t){return 33554432&t.flags||isMethodSignature(t)?[]:group(collectCallSites(e,t),getCallSiteGroupKey,t=>function convertCallSiteGroupToOutgoingCall(e,t){return function createCallHierarchyOutgoingCall(e,t){return{to:e,fromSpans:t}}(createCallHierarchyItem(e,t[0].declaration),map(t,e=>createTextSpanFromRange(e.range)))}(e,t))}i(Xl,{createCallHierarchyItem:()=>createCallHierarchyItem,getIncomingCalls:()=>getIncomingCalls,getOutgoingCalls:()=>getOutgoingCalls,resolveCallHierarchyDeclaration:()=>resolveCallHierarchyDeclaration});var Yl={};i(Yl,{v2020:()=>Zl});var Zl={};i(Zl,{TokenEncodingConsts:()=>Pl,TokenModifier:()=>Il,TokenType:()=>Dl,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications2,getSemanticClassifications:()=>getSemanticClassifications2});var ed={};i(ed,{PreserveOptionalFlags:()=>Pu,addNewNodeForMemberSymbol:()=>addNewNodeForMemberSymbol,codeFixAll:()=>codeFixAll,createCodeFixAction:()=>createCodeFixAction,createCodeFixActionMaybeFixAll:()=>createCodeFixActionMaybeFixAll,createCodeFixActionWithoutFixAll:()=>createCodeFixActionWithoutFixAll,createCombinedCodeActions:()=>createCombinedCodeActions,createFileTextChanges:()=>createFileTextChanges,createImportAdder:()=>createImportAdder,createImportSpecifierResolver:()=>createImportSpecifierResolver,createMissingMemberNodes:()=>createMissingMemberNodes,createSignatureDeclarationFromCallExpression:()=>createSignatureDeclarationFromCallExpression,createSignatureDeclarationFromSignature:()=>createSignatureDeclarationFromSignature,createStubbedBody:()=>createStubbedBody,eachDiagnostic:()=>eachDiagnostic,findAncestorMatchingSpan:()=>findAncestorMatchingSpan,generateAccessorFromProperty:()=>generateAccessorFromProperty,getAccessorConvertiblePropertyAtPosition:()=>getAccessorConvertiblePropertyAtPosition,getAllFixes:()=>getAllFixes,getFixes:()=>getFixes,getImportCompletionAction:()=>getImportCompletionAction,getImportKind:()=>getImportKind,getJSDocTypedefNodes:()=>getJSDocTypedefNodes,getNoopSymbolTrackerWithResolver:()=>getNoopSymbolTrackerWithResolver,getPromoteTypeOnlyCompletionAction:()=>getPromoteTypeOnlyCompletionAction,getSupportedErrorCodes:()=>getSupportedErrorCodes,importFixName:()=>Ud,importSymbols:()=>importSymbols,parameterShouldGetTypeFromJSDoc:()=>parameterShouldGetTypeFromJSDoc,registerCodeFix:()=>registerCodeFix,setJsonCompilerOptionValue:()=>setJsonCompilerOptionValue,setJsonCompilerOptionValues:()=>setJsonCompilerOptionValues,tryGetAutoImportableReferenceFromTypeNode:()=>tryGetAutoImportableReferenceFromTypeNode,typeNodeToAutoImportableTypeNode:()=>typeNodeToAutoImportableTypeNode,typePredicateToAutoImportableTypeNode:()=>typePredicateToAutoImportableTypeNode,typeToAutoImportableTypeNode:()=>typeToAutoImportableTypeNode,typeToMinimizedReferenceType:()=>typeToMinimizedReferenceType});var td,nd=createMultiMap(),rd=new Map;function createCodeFixActionWithoutFixAll(e,t,n){return createCodeFixActionWorker(e,diagnosticToString(n),t,void 0,void 0)}function createCodeFixAction(e,t,n,r,i,o){return createCodeFixActionWorker(e,diagnosticToString(n),t,r,diagnosticToString(i),o)}function createCodeFixActionMaybeFixAll(e,t,n,r,i,o){return createCodeFixActionWorker(e,diagnosticToString(n),t,r,i&&diagnosticToString(i),o)}function createCodeFixActionWorker(e,t,n,r,i,o){return{fixName:e,description:t,changes:n,fixId:r,fixAllDescription:i,commands:o?[o]:void 0}}function registerCodeFix(e){for(const t of e.errorCodes)td=void 0,nd.add(String(t),e);if(e.fixIds)for(const t of e.fixIds)h.assert(!rd.has(t)),rd.set(t,e)}function getSupportedErrorCodes(){return td??(td=arrayFrom(nd.keys()))}function getFixes(e){const t=getDiagnostics(e);return flatMap(nd.get(String(e.errorCode)),n=>map(n.getCodeActions(e),function removeFixIdIfFixAllUnavailable(e,t){const{errorCodes:n}=e;let r=0;for(const e of t)if(contains(n,e.code)&&r++,r>1)break;const i=r<2;return({fixId:e,fixAllDescription:t,...n})=>i?n:{...n,fixId:e,fixAllDescription:t}}(n,t)))}function getAllFixes(e){return rd.get(cast(e.fixId,isString)).getAllCodeActions(e)}function createCombinedCodeActions(e,t){return{changes:e,commands:t}}function createFileTextChanges(e,t){return{fileName:e,textChanges:t}}function codeFixAll(e,t,n){const r=[];return createCombinedCodeActions($m.ChangeTracker.with(e,i=>eachDiagnostic(e,t,e=>n(i,e,r))),0===r.length?void 0:r)}function eachDiagnostic(e,t,n){for(const r of getDiagnostics(e))contains(t,r.code)&&n(r)}function getDiagnostics({program:e,sourceFile:t,cancellationToken:n}){const r=[...e.getSemanticDiagnostics(t,n),...e.getSyntacticDiagnostics(t,n),...computeSuggestionDiagnostics(t,e,n)];return Zn(e.getCompilerOptions())&&r.push(...e.getDeclarationDiagnostics(t,n)),r}var id="addConvertToUnknownForNonOverlappingTypes",od=[Ot.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];function makeChange(e,t,n){const r=isAsExpression(n)?Wr.createAsExpression(n.expression,Wr.createKeywordTypeNode(159)):Wr.createTypeAssertion(Wr.createKeywordTypeNode(159),n.expression);e.replaceNode(t,n.expression,r)}function getAssertion(e,t){if(!isInJSFile(e))return findAncestor(getTokenAtPosition(e,t),e=>isAsExpression(e)||isTypeAssertionExpression(e))}registerCodeFix({errorCodes:od,getCodeActions:function getCodeActionsToAddConvertToUnknownForNonOverlappingTypes(e){const t=getAssertion(e.sourceFile,e.span.start);if(void 0===t)return;const n=$m.ChangeTracker.with(e,n=>makeChange(n,e.sourceFile,t));return[createCodeFixAction(id,n,Ot.Add_unknown_conversion_for_non_overlapping_types,id,Ot.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[id],getAllCodeActions:e=>codeFixAll(e,od,(e,t)=>{const n=getAssertion(t.file,t.start);n&&makeChange(e,t.file,n)})}),registerCodeFix({errorCodes:[Ot.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,Ot.await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,Ot.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function getCodeActionsToAddEmptyExportDeclaration(e){const{sourceFile:t}=e;return[createCodeFixActionWithoutFixAll("addEmptyExportDeclaration",$m.ChangeTracker.with(e,e=>{const n=Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports([]),void 0);e.insertNodeAtEndOfScope(t,t,n)}),Ot.Add_export_to_make_this_file_into_a_module)]}});var ad="addMissingAsync",sd=[Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,Ot.Type_0_is_not_assignable_to_type_1.code,Ot.Type_0_is_not_comparable_to_type_1.code];function getFix(e,t,n,r){const i=n(n=>function makeChange2(e,t,n,r){if(r&&r.has(getNodeId(n)))return;null==r||r.add(getNodeId(n));const i=Wr.replaceModifiers(getSynthesizedDeepClone(n,!0),Wr.createNodeArray(Wr.createModifiersFromModifierFlags(1024|getSyntacticModifierFlags(n))));e.replaceNode(t,n,i)}(n,e.sourceFile,t,r));return createCodeFixAction(ad,i,Ot.Add_async_modifier_to_containing_function,ad,Ot.Add_all_missing_async_modifiers)}function getFixableErrorSpanDeclaration(e,t){if(!t)return;return findAncestor(getTokenAtPosition(e,t.start),n=>n.getStart(e)<t.start||n.getEnd()>textSpanEnd(t)?"quit":(isArrowFunction(n)||isMethodDeclaration(n)||isFunctionExpression(n)||isFunctionDeclaration(n))&&textSpansEqual(t,createTextSpanFromNode(n,e)))}registerCodeFix({fixIds:[ad],errorCodes:sd,getCodeActions:function getCodeActionsToAddMissingAsync(e){const{sourceFile:t,errorCode:n,cancellationToken:r,program:i,span:o}=e,a=find(i.getTypeChecker().getDiagnostics(t,r),function getIsMatchingAsyncError(e,t){return({start:n,length:r,relatedInformation:i,code:o})=>isNumber(n)&&isNumber(r)&&textSpansEqual({start:n,length:r},e)&&o===t&&!!i&&some(i,e=>e.code===Ot.Did_you_mean_to_mark_this_function_as_async.code)}(o,n)),s=getFixableErrorSpanDeclaration(t,a&&a.relatedInformation&&find(a.relatedInformation,e=>e.code===Ot.Did_you_mean_to_mark_this_function_as_async.code));if(!s)return;return[getFix(e,s,t=>$m.ChangeTracker.with(e,t))]},getAllCodeActions:e=>{const{sourceFile:t}=e,n=new Set;return codeFixAll(e,sd,(r,i)=>{const o=i.relatedInformation&&find(i.relatedInformation,e=>e.code===Ot.Did_you_mean_to_mark_this_function_as_async.code),a=getFixableErrorSpanDeclaration(t,o);if(!a)return;return getFix(e,a,e=>(e(r),[]),n)})}});var cd="addMissingAwait",ld=Ot.Property_0_does_not_exist_on_type_1.code,dd=[Ot.This_expression_is_not_callable.code,Ot.This_expression_is_not_constructable.code],pd=[Ot.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,Ot.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,Ot.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,Ot.Operator_0_cannot_be_applied_to_type_1.code,Ot.Operator_0_cannot_be_applied_to_types_1_and_2.code,Ot.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap.code,Ot.This_condition_will_always_return_true_since_this_0_is_always_defined.code,Ot.Type_0_is_not_an_array_type.code,Ot.Type_0_is_not_an_array_type_or_a_string_type.code,Ot.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher.code,Ot.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,Ot.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,Ot.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,Ot.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,ld,...dd];function getAwaitErrorSpanExpression(e,t,n,r,i){const o=getFixableErrorSpanExpression(e,n);return o&&function isMissingAwaitError(e,t,n,r,i){const o=i.getTypeChecker(),a=o.getDiagnostics(e,r);return some(a,({start:e,length:r,relatedInformation:i,code:o})=>isNumber(e)&&isNumber(r)&&textSpansEqual({start:e,length:r},n)&&o===t&&!!i&&some(i,e=>e.code===Ot.Did_you_forget_to_use_await.code))}(e,t,n,r,i)&&isInsideAwaitableBody(o)?o:void 0}function getDeclarationSiteFix(e,t,n,r,i,o){const{sourceFile:a,program:s,cancellationToken:c}=e,l=function findAwaitableInitializers(e,t,n,r,i){const o=function getIdentifiersFromErrorSpanExpression(e,t){if(isPropertyAccessExpression(e.parent)&&isIdentifier(e.parent.expression))return{identifiers:[e.parent.expression],isCompleteFix:!0};if(isIdentifier(e))return{identifiers:[e],isCompleteFix:!0};if(isBinaryExpression(e)){let n,r=!0;for(const i of[e.left,e.right]){const e=t.getTypeAtLocation(i);if(t.getPromisedTypeOfPromise(e)){if(!isIdentifier(i)){r=!1;continue}(n||(n=[])).push(i)}}return n&&{identifiers:n,isCompleteFix:r}}}(e,i);if(!o)return;let a,s=o.isCompleteFix;for(const e of o.identifiers){const o=i.getSymbolAtLocation(e);if(!o)continue;const c=tryCast(o.valueDeclaration,isVariableDeclaration),l=c&&tryCast(c.name,isIdentifier),d=getAncestor(c,244);if(!c||!d||c.type||!c.initializer||d.getSourceFile()!==t||hasSyntacticModifier(d,32)||!l||!isInsideAwaitableBody(c.initializer)){s=!1;continue}const p=r.getSemanticDiagnostics(t,n);vm.Core.eachSymbolReferenceInFile(l,i,t,n=>e!==n&&!symbolReferenceIsAlsoMissingAwait(n,p,t,i))?s=!1:(a||(a=[])).push({expression:c.initializer,declarationSymbol:o})}return a&&{initializers:a,needsSecondPassForFixAll:!s}}(t,a,c,s,r);if(l){return createCodeFixActionWithoutFixAll("addMissingAwaitToInitializer",i(e=>{forEach(l.initializers,({expression:t})=>makeChange3(e,n,a,r,t,o)),o&&l.needsSecondPassForFixAll&&makeChange3(e,n,a,r,t,o)}),1===l.initializers.length?[Ot.Add_await_to_initializer_for_0,l.initializers[0].declarationSymbol.name]:Ot.Add_await_to_initializers)}}function getUseSiteFix(e,t,n,r,i,o){const a=i(i=>makeChange3(i,n,e.sourceFile,r,t,o));return createCodeFixAction(cd,a,Ot.Add_await,cd,Ot.Fix_all_expressions_possibly_missing_await)}function symbolReferenceIsAlsoMissingAwait(e,t,n,r){const i=isPropertyAccessExpression(e.parent)?e.parent.name:isBinaryExpression(e.parent)?e.parent:e,o=find(t,e=>e.start===i.getStart(n)&&e.start+e.length===i.getEnd());return o&&contains(pd,o.code)||1&r.getTypeAtLocation(i).flags}function isInsideAwaitableBody(e){return 65536&e.flags||!!findAncestor(e,e=>e.parent&&isArrowFunction(e.parent)&&e.parent.body===e||isBlock(e)&&(263===e.parent.kind||219===e.parent.kind||220===e.parent.kind||175===e.parent.kind))}function makeChange3(e,t,n,r,i,o){if(isForOfStatement(i.parent)&&!i.parent.awaitModifier){const t=r.getTypeAtLocation(i),o=r.getAnyAsyncIterableType();if(o&&r.isTypeAssignableTo(t,o)){const t=i.parent;return void e.replaceNode(n,t,Wr.updateForOfStatement(t,Wr.createToken(135),t.initializer,t.expression,t.statement))}}if(isBinaryExpression(i))for(const t of[i.left,i.right]){if(o&&isIdentifier(t)){const e=r.getSymbolAtLocation(t);if(e&&o.has(getSymbolId(e)))continue}const i=r.getTypeAtLocation(t),a=r.getPromisedTypeOfPromise(i)?Wr.createAwaitExpression(t):t;e.replaceNode(n,t,a)}else if(t===ld&&isPropertyAccessExpression(i.parent)){if(o&&isIdentifier(i.parent.expression)){const e=r.getSymbolAtLocation(i.parent.expression);if(e&&o.has(getSymbolId(e)))return}e.replaceNode(n,i.parent.expression,Wr.createParenthesizedExpression(Wr.createAwaitExpression(i.parent.expression))),insertLeadingSemicolonIfNeeded(e,i.parent.expression,n)}else if(contains(dd,t)&&isCallOrNewExpression(i.parent)){if(o&&isIdentifier(i)){const e=r.getSymbolAtLocation(i);if(e&&o.has(getSymbolId(e)))return}e.replaceNode(n,i,Wr.createParenthesizedExpression(Wr.createAwaitExpression(i))),insertLeadingSemicolonIfNeeded(e,i,n)}else{if(o&&isVariableDeclaration(i.parent)&&isIdentifier(i.parent.name)){const e=r.getSymbolAtLocation(i.parent.name);if(e&&!tryAddToSet(o,getSymbolId(e)))return}e.replaceNode(n,i,Wr.createAwaitExpression(i))}}function insertLeadingSemicolonIfNeeded(e,t,n){const r=findPrecedingToken(t.pos,n);r&&positionIsASICandidate(r.end,r.parent,n)&&e.insertText(n,t.getStart(n),";")}registerCodeFix({fixIds:[cd],errorCodes:pd,getCodeActions:function getCodeActionsToAddMissingAwait(e){const{sourceFile:t,errorCode:n,span:r,cancellationToken:i,program:o}=e,a=getAwaitErrorSpanExpression(t,n,r,i,o);if(!a)return;const s=e.program.getTypeChecker(),trackChanges=t=>$m.ChangeTracker.with(e,t);return compact([getDeclarationSiteFix(e,a,n,s,trackChanges),getUseSiteFix(e,a,n,s,trackChanges)])},getAllCodeActions:e=>{const{sourceFile:t,program:n,cancellationToken:r}=e,i=e.program.getTypeChecker(),o=new Set;return codeFixAll(e,pd,(a,s)=>{const c=getAwaitErrorSpanExpression(t,s.code,s,r,n);if(!c)return;const trackChanges=e=>(e(a),[]);return getDeclarationSiteFix(e,c,s.code,i,trackChanges,o)||getUseSiteFix(e,c,s.code,i,trackChanges,o)})}});var ud="addMissingConst",md=[Ot.Cannot_find_name_0.code,Ot.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code];function makeChange4(e,t,n,r,i){const o=getTokenAtPosition(t,n),a=findAncestor(o,e=>isForInOrOfStatement(e.parent)?e.parent.initializer===e:!function isPossiblyPartOfDestructuring(e){switch(e.kind){case 80:case 210:case 211:case 304:case 305:return!0;default:return!1}}(e)&&"quit");if(a)return applyChange(e,a,t,i);const s=o.parent;if(isBinaryExpression(s)&&64===s.operatorToken.kind&&isExpressionStatement(s.parent))return applyChange(e,o,t,i);if(isArrayLiteralExpression(s)){const n=r.getTypeChecker();if(!every(s.elements,e=>function arrayElementCouldBeVariableDeclaration(e,t){const n=isIdentifier(e)?e:isAssignmentExpression(e,!0)&&isIdentifier(e.left)?e.left:void 0;return!!n&&!t.getSymbolAtLocation(n)}(e,n)))return;return applyChange(e,s,t,i)}const c=findAncestor(o,e=>!!isExpressionStatement(e.parent)||!function isPossiblyPartOfCommaSeperatedInitializer(e){switch(e.kind){case 80:case 227:case 28:return!0;default:return!1}}(e)&&"quit");if(c){if(!expressionCouldBeVariableDeclaration(c,r.getTypeChecker()))return;return applyChange(e,c,t,i)}}function applyChange(e,t,n,r){r&&!tryAddToSet(r,t)||e.insertModifierBefore(n,87,t)}function expressionCouldBeVariableDeclaration(e,t){return!!isBinaryExpression(e)&&(28===e.operatorToken.kind?every([e.left,e.right],e=>expressionCouldBeVariableDeclaration(e,t)):64===e.operatorToken.kind&&isIdentifier(e.left)&&!t.getSymbolAtLocation(e.left))}registerCodeFix({errorCodes:md,getCodeActions:function getCodeActionsToAddMissingConst(e){const t=$m.ChangeTracker.with(e,t=>makeChange4(t,e.sourceFile,e.span.start,e.program));if(t.length>0)return[createCodeFixAction(ud,t,Ot.Add_const_to_unresolved_variable,ud,Ot.Add_const_to_all_unresolved_variables)]},fixIds:[ud],getAllCodeActions:e=>{const t=new Set;return codeFixAll(e,md,(n,r)=>makeChange4(n,r.file,r.start,e.program,t))}});var _d="addMissingDeclareProperty",fd=[Ot.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];function makeChange5(e,t,n,r){const i=getTokenAtPosition(t,n);if(!isIdentifier(i))return;const o=i.parent;173!==o.kind||r&&!tryAddToSet(r,o)||e.insertModifierBefore(t,138,o)}registerCodeFix({errorCodes:fd,getCodeActions:function getCodeActionsToAddMissingDeclareOnProperty(e){const t=$m.ChangeTracker.with(e,t=>makeChange5(t,e.sourceFile,e.span.start));if(t.length>0)return[createCodeFixAction(_d,t,Ot.Prefix_with_declare,_d,Ot.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[_d],getAllCodeActions:e=>{const t=new Set;return codeFixAll(e,fd,(e,n)=>makeChange5(e,n.file,n.start,t))}});var gd="addMissingInvocationForDecorator",yd=[Ot._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];function makeChange6(e,t,n){const r=findAncestor(getTokenAtPosition(t,n),isDecorator);h.assert(!!r,"Expected position to be owned by a decorator.");const i=Wr.createCallExpression(r.expression,void 0,void 0);e.replaceNode(t,r.expression,i)}registerCodeFix({errorCodes:yd,getCodeActions:function getCodeActionsToAddMissingInvocationForDecorator(e){const t=$m.ChangeTracker.with(e,t=>makeChange6(t,e.sourceFile,e.span.start));return[createCodeFixAction(gd,t,Ot.Call_decorator_expression,gd,Ot.Add_to_all_uncalled_decorators)]},fixIds:[gd],getAllCodeActions:e=>codeFixAll(e,yd,(e,t)=>makeChange6(e,t.file,t.start))});var hd="addMissingResolutionModeImportAttribute",Td=[Ot.Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute.code,Ot.Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute.code];function makeChange7(e,t,n,r,i,o){var a,s,c;const l=findAncestor(getTokenAtPosition(t,n),or(isImportDeclaration,isImportTypeNode));h.assert(!!l,"Expected position to be owned by an ImportDeclaration or ImportType.");const d=0===getQuotePreference(t,o),p=tryGetModuleSpecifierFromDeclaration(l),u=!p||(null==(a=resolveModuleName(p.text,t.fileName,r.getCompilerOptions(),i,r.getModuleResolutionCache(),void 0,99).resolvedModule)?void 0:a.resolvedFileName)===(null==(c=null==(s=r.getResolvedModuleFromModuleSpecifier(p,t))?void 0:s.resolvedModule)?void 0:c.resolvedFileName),m=l.attributes?Wr.updateImportAttributes(l.attributes,Wr.createNodeArray([...l.attributes.elements,Wr.createImportAttribute(Wr.createStringLiteral("resolution-mode",d),Wr.createStringLiteral(u?"import":"require",d))],l.attributes.elements.hasTrailingComma),l.attributes.multiLine):Wr.createImportAttributes(Wr.createNodeArray([Wr.createImportAttribute(Wr.createStringLiteral("resolution-mode",d),Wr.createStringLiteral(u?"import":"require",d))]));273===l.kind?e.replaceNode(t,l,Wr.updateImportDeclaration(l,l.modifiers,l.importClause,l.moduleSpecifier,m)):e.replaceNode(t,l,Wr.updateImportTypeNode(l,l.argument,m,l.qualifier,l.typeArguments))}registerCodeFix({errorCodes:Td,getCodeActions:function getCodeActionsToAddMissingResolutionModeImportAttribute(e){const t=$m.ChangeTracker.with(e,t=>makeChange7(t,e.sourceFile,e.span.start,e.program,e.host,e.preferences));return[createCodeFixAction(hd,t,Ot.Add_resolution_mode_import_attribute,hd,Ot.Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it)]},fixIds:[hd],getAllCodeActions:e=>codeFixAll(e,Td,(t,n)=>makeChange7(t,n.file,n.start,e.program,e.host,e.preferences))});var Sd="addNameToNamelessParameter",xd=[Ot.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];function makeChange8(e,t,n){const r=getTokenAtPosition(t,n),i=r.parent;if(!isParameter(i))return h.fail("Tried to add a parameter name to a non-parameter: "+h.formatSyntaxKind(r.kind));const o=i.parent.parameters.indexOf(i);h.assert(!i.type,"Tried to add a parameter name to a parameter that already had one."),h.assert(o>-1,"Parameter not found in parent parameter list.");let a=i.name.getEnd(),s=Wr.createTypeReferenceNode(i.name,void 0),c=tryGetNextParam(t,i);for(;c;)s=Wr.createArrayTypeNode(s),a=c.getEnd(),c=tryGetNextParam(t,c);const l=Wr.createParameterDeclaration(i.modifiers,i.dotDotDotToken,"arg"+o,i.questionToken,i.dotDotDotToken&&!isArrayTypeNode(s)?Wr.createArrayTypeNode(s):s,i.initializer);e.replaceRange(t,createRange(i.getStart(t),a),l)}function tryGetNextParam(e,t){const n=findNextToken(t.name,t.parent,e);if(n&&23===n.kind&&isArrayBindingPattern(n.parent)&&isParameter(n.parent.parent))return n.parent.parent}registerCodeFix({errorCodes:xd,getCodeActions:function getCodeActionsToAddNameToNamelessParameter(e){const t=$m.ChangeTracker.with(e,t=>makeChange8(t,e.sourceFile,e.span.start));return[createCodeFixAction(Sd,t,Ot.Add_parameter_name,Sd,Ot.Add_names_to_all_parameters_without_names)]},fixIds:[Sd],getAllCodeActions:e=>codeFixAll(e,xd,(e,t)=>makeChange8(e,t.file,t.start))});var vd="addOptionalPropertyUndefined";function getSourceTarget(e,t){var n;if(e){if(isBinaryExpression(e.parent)&&64===e.parent.operatorToken.kind)return{source:e.parent.right,target:e.parent.left};if(isVariableDeclaration(e.parent)&&e.parent.initializer)return{source:e.parent.initializer,target:e.parent.name};if(isCallExpression(e.parent)){const n=t.getSymbolAtLocation(e.parent.expression);if(!(null==n?void 0:n.valueDeclaration)||!isFunctionLikeKind(n.valueDeclaration.kind))return;if(!isExpression(e))return;const r=e.parent.arguments.indexOf(e);if(-1===r)return;const i=n.valueDeclaration.parameters[r].name;if(isIdentifier(i))return{source:e,target:i}}else if(isPropertyAssignment(e.parent)&&isIdentifier(e.parent.name)||isShorthandPropertyAssignment(e.parent)){const r=getSourceTarget(e.parent.parent,t);if(!r)return;const i=t.getPropertyOfType(t.getTypeAtLocation(r.target),e.parent.name.text),o=null==(n=null==i?void 0:i.declarations)?void 0:n[0];if(!o)return;return{source:isPropertyAssignment(e.parent)?e.parent.initializer:e.parent.name,target:o}}}}registerCodeFix({errorCodes:[Ot.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target.code,Ot.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code],getCodeActions(e){const t=e.program.getTypeChecker(),n=function getPropertiesToAdd(e,t,n){var r,i;const o=getSourceTarget(getFixableErrorSpanExpression(e,t),n);if(!o)return l;const{source:a,target:s}=o,c=function shouldUseParentTypeOfProperty(e,t,n){return isPropertyAccessExpression(t)&&!!n.getExactOptionalProperties(n.getTypeAtLocation(t.expression)).length&&n.getTypeAtLocation(e)===n.getUndefinedType()}(a,s,n)?n.getTypeAtLocation(s.expression):n.getTypeAtLocation(s);if(null==(i=null==(r=c.symbol)?void 0:r.declarations)?void 0:i.some(e=>getSourceFileOfNode(e).fileName.match(/\.d\.ts$/)))return l;return n.getExactOptionalProperties(c)}(e.sourceFile,e.span,t);if(!n.length)return;const r=$m.ChangeTracker.with(e,e=>function addUndefinedToOptionalProperty(e,t){for(const n of t){const t=n.valueDeclaration;if(t&&(isPropertySignature(t)||isPropertyDeclaration(t))&&t.type){const n=Wr.createUnionTypeNode([...193===t.type.kind?t.type.types:[t.type],Wr.createTypeReferenceNode("undefined")]);e.replaceNode(t.getSourceFile(),t.type,n)}}}(e,n));return[createCodeFixActionWithoutFixAll(vd,r,Ot.Add_undefined_to_optional_property_type)]},fixIds:[vd]});var bd="annotateWithTypeFromJSDoc",Cd=[Ot.JSDoc_types_may_be_moved_to_TypeScript_types.code];function getDeclaration(e,t){const n=getTokenAtPosition(e,t);return tryCast(isParameter(n.parent)?n.parent.parent:n.parent,parameterShouldGetTypeFromJSDoc)}function parameterShouldGetTypeFromJSDoc(e){return function isDeclarationWithType(e){return isFunctionLikeDeclaration(e)||261===e.kind||172===e.kind||173===e.kind}(e)&&hasUsableJSDoc(e)}function hasUsableJSDoc(e){return isFunctionLikeDeclaration(e)?e.parameters.some(hasUsableJSDoc)||!e.type&&!!getJSDocReturnType(e):!e.type&&!!getJSDocType(e)}function doChange8(e,t,n){if(isFunctionLikeDeclaration(n)&&(getJSDocReturnType(n)||n.parameters.some(e=>!!getJSDocType(e)))){if(!n.typeParameters){const r=getJSDocTypeParameterDeclarations(n);r.length&&e.insertTypeParameters(t,n,r)}const r=isArrowFunction(n)&&!findChildOfKind(n,21,t);r&&e.insertNodeBefore(t,first(n.parameters),Wr.createToken(21));for(const r of n.parameters)if(!r.type){const n=getJSDocType(r);n&&e.tryInsertTypeAnnotation(t,r,visitNode(n,transformJSDocType,isTypeNode))}if(r&&e.insertNodeAfter(t,last(n.parameters),Wr.createToken(22)),!n.type){const r=getJSDocReturnType(n);r&&e.tryInsertTypeAnnotation(t,n,visitNode(r,transformJSDocType,isTypeNode))}}else{const r=h.checkDefined(getJSDocType(n),"A JSDocType for this declaration should exist");h.assert(!n.type,"The JSDocType decl should have a type"),e.tryInsertTypeAnnotation(t,n,visitNode(r,transformJSDocType,isTypeNode))}}function transformJSDocType(e){switch(e.kind){case 313:case 314:return Wr.createTypeReferenceNode("any",l);case 317:return function transformJSDocOptionalType(e){return Wr.createUnionTypeNode([visitNode(e.type,transformJSDocType,isTypeNode),Wr.createTypeReferenceNode("undefined",l)])}(e);case 316:return transformJSDocType(e.type);case 315:return function transformJSDocNullableType(e){return Wr.createUnionTypeNode([visitNode(e.type,transformJSDocType,isTypeNode),Wr.createTypeReferenceNode("null",l)])}(e);case 319:return function transformJSDocVariadicType(e){return Wr.createArrayTypeNode(visitNode(e.type,transformJSDocType,isTypeNode))}(e);case 318:return function transformJSDocFunctionType(e){return Wr.createFunctionTypeNode(l,e.parameters.map(transformJSDocParameter),e.type??Wr.createKeywordTypeNode(133))}(e);case 184:return function transformJSDocTypeReference(e){let t=e.typeName,n=e.typeArguments;if(isIdentifier(e.typeName)){if(isJSDocIndexSignature(e))return function transformJSDocIndexSignature(e){const t=Wr.createParameterDeclaration(void 0,void 0,150===e.typeArguments[0].kind?"n":"s",void 0,Wr.createTypeReferenceNode(150===e.typeArguments[0].kind?"number":"string",[]),void 0),n=Wr.createTypeLiteralNode([Wr.createIndexSignature(void 0,[t],e.typeArguments[1])]);return setEmitFlags(n,1),n}(e);let r=e.typeName.text;switch(e.typeName.text){case"String":case"Boolean":case"Object":case"Number":r=r.toLowerCase();break;case"array":case"date":case"promise":r=r[0].toUpperCase()+r.slice(1)}t=Wr.createIdentifier(r),n="Array"!==r&&"Promise"!==r||e.typeArguments?visitNodes2(e.typeArguments,transformJSDocType,isTypeNode):Wr.createNodeArray([Wr.createTypeReferenceNode("any",l)])}return Wr.createTypeReferenceNode(t,n)}(e);case 323:return function transformJSDocTypeLiteral(e){const t=Wr.createTypeLiteralNode(map(e.jsDocPropertyTags,e=>Wr.createPropertySignature(void 0,isIdentifier(e.name)?e.name:e.name.right,isOptionalJSDocPropertyLikeTag(e)?Wr.createToken(58):void 0,e.typeExpression&&visitNode(e.typeExpression.type,transformJSDocType,isTypeNode)||Wr.createKeywordTypeNode(133))));return setEmitFlags(t,1),t}(e);default:const t=visitEachChild(e,transformJSDocType,void 0);return setEmitFlags(t,1),t}}function transformJSDocParameter(e){const t=e.parent.parameters.indexOf(e),n=319===e.type.kind&&t===e.parent.parameters.length-1,r=e.name||(n?"rest":"arg"+t),i=n?Wr.createToken(26):e.dotDotDotToken;return Wr.createParameterDeclaration(e.modifiers,i,r,e.questionToken,visitNode(e.type,transformJSDocType,isTypeNode),e.initializer)}registerCodeFix({errorCodes:Cd,getCodeActions(e){const t=getDeclaration(e.sourceFile,e.span.start);if(!t)return;const n=$m.ChangeTracker.with(e,n=>doChange8(n,e.sourceFile,t));return[createCodeFixAction(bd,n,Ot.Annotate_with_type_from_JSDoc,bd,Ot.Annotate_everything_with_types_from_JSDoc)]},fixIds:[bd],getAllCodeActions:e=>codeFixAll(e,Cd,(e,t)=>{const n=getDeclaration(t.file,t.start);n&&doChange8(e,t.file,n)})});var Ed="convertFunctionToEs6Class",Nd=[Ot.This_constructor_function_may_be_converted_to_a_class_declaration.code];function doChange9(e,t,n,r,i,o){const a=r.getSymbolAtLocation(getTokenAtPosition(t,n));if(!(a&&a.valueDeclaration&&19&a.flags))return;const s=a.valueDeclaration;if(isFunctionDeclaration(s)||isFunctionExpression(s))e.replaceNode(t,s,function createClassFromFunction(e){const t=createClassElementsFromSymbol(a);e.body&&t.unshift(Wr.createConstructorDeclaration(void 0,e.parameters,e.body));const n=getModifierKindFromSource(e,95);return Wr.createClassDeclaration(n,e.name,void 0,void 0,t)}(s));else if(isVariableDeclaration(s)){const n=function createClassFromVariableDeclaration(e){const t=e.initializer;if(!t||!isFunctionExpression(t)||!isIdentifier(e.name))return;const n=createClassElementsFromSymbol(e.symbol);t.body&&n.unshift(Wr.createConstructorDeclaration(void 0,t.parameters,t.body));const r=getModifierKindFromSource(e.parent.parent,95);return Wr.createClassDeclaration(r,e.name,void 0,void 0,n)}(s);if(!n)return;const r=s.parent.parent;isVariableDeclarationList(s.parent)&&s.parent.declarations.length>1?(e.delete(t,s),e.insertNodeAfter(t,r,n)):e.replaceNode(t,r,n)}function createClassElementsFromSymbol(n){const r=[];return n.exports&&n.exports.forEach(e=>{if("prototype"===e.name&&e.declarations){const t=e.declarations[0];if(1===e.declarations.length&&isPropertyAccessExpression(t)&&isBinaryExpression(t.parent)&&64===t.parent.operatorToken.kind&&isObjectLiteralExpression(t.parent.right)){createClassElement(t.parent.right.symbol,void 0,r)}}else createClassElement(e,[Wr.createToken(126)],r)}),n.members&&n.members.forEach((i,o)=>{var a,s,c,l;if("constructor"===o&&i.valueDeclaration){const r=null==(l=null==(c=null==(s=null==(a=n.exports)?void 0:a.get("prototype"))?void 0:s.declarations)?void 0:c[0])?void 0:l.parent;return void(r&&isBinaryExpression(r)&&isObjectLiteralExpression(r.right)&&some(r.right.properties,isConstructorAssignment)||e.delete(t,i.valueDeclaration.parent))}createClassElement(i,void 0,r)}),r;function createClassElement(n,r,a){if(!(8192&n.flags||4096&n.flags))return;const s=n.valueDeclaration,c=s.parent,l=c.right;if(!function shouldConvertDeclaration(e,t){return isAccessExpression(e)?!(!isPropertyAccessExpression(e)||!isConstructorAssignment(e))||isFunctionLike(t):every(e.properties,e=>!!(isMethodDeclaration(e)||isGetOrSetAccessorDeclaration(e)||isPropertyAssignment(e)&&isFunctionExpression(e.initializer)&&e.name||isConstructorAssignment(e)))}(s,l))return;if(some(a,e=>{const t=getNameOfDeclaration(e);return!(!t||!isIdentifier(t)||idText(t)!==symbolName(n))}))return;const d=c.parent&&245===c.parent.kind?c.parent:c;if(e.delete(t,d),l){if(isAccessExpression(s)&&(isFunctionExpression(l)||isArrowFunction(l))){const e=getQuotePreference(t,i),n=function tryGetPropertyName(e,t,n){if(isPropertyAccessExpression(e))return e.name;const r=e.argumentExpression;if(isNumericLiteral(r))return r;if(isStringLiteralLike(r))return isIdentifierText(r.text,zn(t))?Wr.createIdentifier(r.text):isNoSubstitutionTemplateLiteral(r)?Wr.createStringLiteral(r.text,0===n):r;return}(s,o,e);return void(n&&createFunctionLikeExpressionMember(a,l,n))}if(!isObjectLiteralExpression(l)){if(isSourceFileJS(t))return;if(!isPropertyAccessExpression(s))return;const e=Wr.createPropertyDeclaration(r,s.name,void 0,void 0,l);return copyLeadingComments(c.parent,e,t),void a.push(e)}forEach(l.properties,e=>{(isMethodDeclaration(e)||isGetOrSetAccessorDeclaration(e))&&a.push(e),isPropertyAssignment(e)&&isFunctionExpression(e.initializer)&&createFunctionLikeExpressionMember(a,e.initializer,e.name),isConstructorAssignment(e)})}else a.push(Wr.createPropertyDeclaration(r,n.name,void 0,void 0,void 0));function createFunctionLikeExpressionMember(e,n,i){return isFunctionExpression(n)?function createFunctionExpressionMember(e,n,i){const o=concatenate(r,getModifierKindFromSource(n,134)),a=Wr.createMethodDeclaration(o,void 0,i,void 0,void 0,n.parameters,void 0,n.body);return copyLeadingComments(c,a,t),void e.push(a)}(e,n,i):function createArrowFunctionExpressionMember(e,n,i){const o=n.body;let a;a=242===o.kind?o:Wr.createBlock([Wr.createReturnStatement(o)]);const s=concatenate(r,getModifierKindFromSource(n,134)),l=Wr.createMethodDeclaration(s,void 0,i,void 0,void 0,n.parameters,void 0,a);copyLeadingComments(c,l,t),e.push(l)}(e,n,i)}}}}function getModifierKindFromSource(e,t){return canHaveModifiers(e)?filter(e.modifiers,e=>e.kind===t):void 0}function isConstructorAssignment(e){return!!e.name&&!(!isIdentifier(e.name)||"constructor"!==e.name.text)}registerCodeFix({errorCodes:Nd,getCodeActions(e){const t=$m.ChangeTracker.with(e,t=>doChange9(t,e.sourceFile,e.span.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions()));return[createCodeFixAction(Ed,t,Ot.Convert_function_to_an_ES2015_class,Ed,Ot.Convert_all_constructor_functions_to_classes)]},fixIds:[Ed],getAllCodeActions:e=>codeFixAll(e,Nd,(t,n)=>doChange9(t,n.file,n.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions()))});var kd="convertToAsyncFunction",Fd=[Ot.This_may_be_converted_to_an_async_function.code],Pd=!0;function convertToAsyncFunction(e,t,n,r){const i=getTokenAtPosition(t,n);let o;if(o=isIdentifier(i)&&isVariableDeclaration(i.parent)&&i.parent.initializer&&isFunctionLikeDeclaration(i.parent.initializer)?i.parent.initializer:tryCast(getContainingFunction(getTokenAtPosition(t,n)),canBeConvertedToAsync),!o)return;const a=new Map,s=isInJSFile(o),c=function getAllPromiseExpressionsToReturn(e,t){if(!e.body)return new Set;const n=new Set;return forEachChild(e.body,function visit(e){isPromiseReturningCallExpression(e,t,"then")?(n.add(getNodeId(e)),forEach(e.arguments,visit)):isPromiseReturningCallExpression(e,t,"catch")||isPromiseReturningCallExpression(e,t,"finally")?(n.add(getNodeId(e)),forEachChild(e,visit)):isPromiseTypedExpression(e,t)?n.add(getNodeId(e)):forEachChild(e,visit)}),n}(o,r),d=function renameCollidingVarNames(e,t,n){const r=new Map,i=createMultiMap();return forEachChild(e,function visit(e){if(!isIdentifier(e))return void forEachChild(e,visit);const o=t.getSymbolAtLocation(e);if(o){const a=getLastCallSignature(t.getTypeAtLocation(e),t),s=getSymbolId(o).toString();if(!a||isParameter(e.parent)||isFunctionLikeDeclaration(e.parent)||n.has(s)){if(e.parent&&(isParameter(e.parent)||isVariableDeclaration(e.parent)||isBindingElement(e.parent))){const t=e.text,a=i.get(t);if(a&&a.some(e=>e!==o)){const a=getNewNameIfConflict(e,i);r.set(s,a.identifier),n.set(s,a),i.add(t,o)}else{const r=getSynthesizedDeepClone(e);n.set(s,createSynthIdentifier(r)),i.add(t,o)}}}else{const e=firstOrUndefined(a.parameters),t=(null==e?void 0:e.valueDeclaration)&&isParameter(e.valueDeclaration)&&tryCast(e.valueDeclaration.name,isIdentifier)||Wr.createUniqueName("result",16),r=getNewNameIfConflict(t,i);n.set(s,r),i.add(t.text,o)}}}),getSynthesizedDeepCloneWithReplacements(e,!0,e=>{if(isBindingElement(e)&&isIdentifier(e.name)&&isObjectBindingPattern(e.parent)){const n=t.getSymbolAtLocation(e.name),i=n&&r.get(String(getSymbolId(n)));if(i&&i.text!==(e.name||e.propertyName).getText())return Wr.createBindingElement(e.dotDotDotToken,e.propertyName||e.name,i,e.initializer)}else if(isIdentifier(e)){const n=t.getSymbolAtLocation(e),i=n&&r.get(String(getSymbolId(n)));if(i)return Wr.createIdentifier(i.text)}})}(o,r,a);if(!returnsPromise(d,r))return;const p=d.body&&isBlock(d.body)?function getReturnStatementsWithPromiseHandlers(e,t){const n=[];return forEachReturnStatement(e,e=>{isReturnStatementWithFixablePromiseHandler(e,t)&&n.push(e)}),n}(d.body,r):l,u={checker:r,synthNamesMap:a,setOfExpressionsToReturn:c,isInJSFile:s};if(!p.length)return;const m=skipTrivia(t.text,moveRangePastModifiers(o).pos);e.insertModifierAt(t,m,134,{suffix:" "});for(const n of p)if(forEachChild(n,function visit(r){if(isCallExpression(r)){const i=transformExpression(r,r,u,!1);if(hasFailed())return!0;e.replaceNodeWithNodes(t,n,i)}else if(!isFunctionLike(r)&&(forEachChild(r,visit),hasFailed()))return!0}),hasFailed())return}function isPromiseReturningCallExpression(e,t,n){if(!isCallExpression(e))return!1;const r=hasPropertyAccessExpressionWithName(e,n)&&t.getTypeAtLocation(e);return!(!r||!t.getPromisedTypeOfPromise(r))}function isReferenceToType(e,t){return!!(4&getObjectFlags(e))&&e.target===t}function getExplicitPromisedTypeOfPromiseReturningCallExpression(e,t,n){if("finally"===e.expression.name.escapedText)return;const r=n.getTypeAtLocation(e.expression.expression);if(isReferenceToType(r,n.getPromiseType())||isReferenceToType(r,n.getPromiseLikeType())){if("then"!==e.expression.name.escapedText)return p(e.typeArguments,0);if(t===p(e.arguments,0))return p(e.typeArguments,0);if(t===p(e.arguments,1))return p(e.typeArguments,1)}}function isPromiseTypedExpression(e,t){return!!isExpression(e)&&!!t.getPromisedTypeOfPromise(t.getTypeAtLocation(e))}function getNewNameIfConflict(e,t){const n=(t.get(e.text)||l).length;return createSynthIdentifier(0===n?e:Wr.createIdentifier(e.text+"_"+n))}function hasFailed(){return!Pd}function silentFail(){return Pd=!1,l}function transformExpression(e,t,n,r,i){if(isPromiseReturningCallExpression(t,n.checker,"then"))return function transformThen(e,t,n,r,i,o){if(!t||isNullOrUndefined2(r,t))return transformCatch(e,n,r,i,o);if(n&&!isNullOrUndefined2(r,n))return silentFail();const a=getArgBindingName(t,r),s=transformExpression(e.expression.expression,e.expression.expression,r,!0,a);if(hasFailed())return silentFail();const c=transformCallbackArgument(t,i,o,a,e,r);return hasFailed()?silentFail():concatenate(s,c)}(t,p(t.arguments,0),p(t.arguments,1),n,r,i);if(isPromiseReturningCallExpression(t,n.checker,"catch"))return transformCatch(t,p(t.arguments,0),n,r,i);if(isPromiseReturningCallExpression(t,n.checker,"finally"))return function transformFinally(e,t,n,r,i){if(!t||isNullOrUndefined2(n,t))return transformExpression(e,e.expression.expression,n,r,i);const o=getPossibleNameForVarDecl(e,n,i),a=transformExpression(e,e.expression.expression,n,!0,o);if(hasFailed())return silentFail();const s=transformCallbackArgument(t,r,void 0,void 0,e,n);if(hasFailed())return silentFail();const c=Wr.createBlock(a),l=Wr.createBlock(s),d=Wr.createTryStatement(c,void 0,l);return finishCatchOrFinallyTransform(e,n,d,o,i)}(t,p(t.arguments,0),n,r,i);if(isPropertyAccessExpression(t))return transformExpression(e,t.expression,n,r,i);const o=n.checker.getTypeAtLocation(t);return o&&n.checker.getPromisedTypeOfPromise(o)?(h.assertNode(getOriginalNode(t).parent,isPropertyAccessExpression),function transformPromiseExpressionOfPropertyAccess(e,t,n,r,i){if(shouldReturn(e,n)){let e=getSynthesizedDeepClone(t);return r&&(e=Wr.createAwaitExpression(e)),[Wr.createReturnStatement(e)]}return createVariableOrAssignmentOrExpressionStatement(i,Wr.createAwaitExpression(t),void 0)}(e,t,n,r,i)):silentFail()}function isNullOrUndefined2({checker:e},t){if(106===t.kind)return!0;if(isIdentifier(t)&&!isGeneratedIdentifier(t)&&"undefined"===idText(t)){const n=e.getSymbolAtLocation(t);return!n||e.isUndefinedSymbol(n)}return!1}function getPossibleNameForVarDecl(e,t,n){let r;return n&&!shouldReturn(e,t)&&(isSynthIdentifier(n)?(r=n,t.synthNamesMap.forEach((e,r)=>{if(e.identifier.text===n.identifier.text){const e=function createUniqueSynthName(e){return createSynthIdentifier(Wr.createUniqueName(e.identifier.text,16))}(n);t.synthNamesMap.set(r,e)}})):r=createSynthIdentifier(Wr.createUniqueName("result",16),n.types),declareSynthIdentifier(r)),r}function finishCatchOrFinallyTransform(e,t,n,r,i){const o=[];let a;if(r&&!shouldReturn(e,t)){a=getSynthesizedDeepClone(declareSynthIdentifier(r));const e=r.types,n=t.checker.getUnionType(e,2),i=t.isInJSFile?void 0:t.checker.typeToTypeNode(n,void 0,void 0),s=[Wr.createVariableDeclaration(a,void 0,i)],c=Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList(s,1));o.push(c)}return o.push(n),i&&a&&function isSynthBindingPattern(e){return 1===e.kind}(i)&&o.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(getSynthesizedDeepClone(declareSynthBindingPattern(i)),void 0,void 0,a)],2))),o}function transformCatch(e,t,n,r,i){if(!t||isNullOrUndefined2(n,t))return transformExpression(e,e.expression.expression,n,r,i);const o=getArgBindingName(t,n),a=getPossibleNameForVarDecl(e,n,i),s=transformExpression(e,e.expression.expression,n,!0,a);if(hasFailed())return silentFail();const c=transformCallbackArgument(t,r,a,o,e,n);if(hasFailed())return silentFail();const l=Wr.createBlock(s),d=Wr.createCatchClause(o&&getSynthesizedDeepClone(declareSynthBindingName(o)),Wr.createBlock(c));return finishCatchOrFinallyTransform(e,n,Wr.createTryStatement(l,d,void 0),a,i)}function createVariableOrAssignmentOrExpressionStatement(e,t,n){return!e||isEmptyBindingName(e)?[Wr.createExpressionStatement(t)]:isSynthIdentifier(e)&&e.hasBeenDeclared?[Wr.createExpressionStatement(Wr.createAssignment(getSynthesizedDeepClone(referenceSynthIdentifier(e)),t))]:[Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(getSynthesizedDeepClone(declareSynthBindingName(e)),void 0,n,t)],2))]}function maybeAnnotateAndReturn(e,t){if(t&&e){const n=Wr.createUniqueName("result",16);return[...createVariableOrAssignmentOrExpressionStatement(createSynthIdentifier(n),e,t),Wr.createReturnStatement(n)]}return[Wr.createReturnStatement(e)]}function transformCallbackArgument(e,t,n,r,i,o){var a;switch(e.kind){case 106:break;case 212:case 80:if(!r)break;const s=Wr.createCallExpression(getSynthesizedDeepClone(e),void 0,isSynthIdentifier(r)?[referenceSynthIdentifier(r)]:[]);if(shouldReturn(i,o))return maybeAnnotateAndReturn(s,getExplicitPromisedTypeOfPromiseReturningCallExpression(i,e,o.checker));const c=o.checker.getTypeAtLocation(e),d=o.checker.getSignaturesOfType(c,0);if(!d.length)return silentFail();const p=d[0].getReturnType(),u=createVariableOrAssignmentOrExpressionStatement(n,Wr.createAwaitExpression(s),getExplicitPromisedTypeOfPromiseReturningCallExpression(i,e,o.checker));return n&&n.types.push(o.checker.getAwaitedType(p)||p),u;case 219:case 220:{const r=e.body,s=null==(a=getLastCallSignature(o.checker.getTypeAtLocation(e),o.checker))?void 0:a.getReturnType();if(isBlock(r)){let a=[],c=!1;for(const l of r.statements)if(isReturnStatement(l))if(c=!0,isReturnStatementWithFixablePromiseHandler(l,o.checker))a=a.concat(transformReturnStatementWithFixablePromiseHandler(o,l,t,n));else{const t=s&&l.expression?getPossiblyAwaitedRightHandSide(o.checker,s,l.expression):l.expression;a.push(...maybeAnnotateAndReturn(t,getExplicitPromisedTypeOfPromiseReturningCallExpression(i,e,o.checker)))}else{if(t&&forEachReturnStatement(l,returnTrue))return silentFail();a.push(l)}return shouldReturn(i,o)?a.map(e=>getSynthesizedDeepClone(e)):function removeReturns(e,t,n,r){const i=[];for(const r of e)if(isReturnStatement(r)){if(r.expression){const e=isPromiseTypedExpression(r.expression,n.checker)?Wr.createAwaitExpression(r.expression):r.expression;void 0===t?i.push(Wr.createExpressionStatement(e)):isSynthIdentifier(t)&&t.hasBeenDeclared?i.push(Wr.createExpressionStatement(Wr.createAssignment(referenceSynthIdentifier(t),e))):i.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(declareSynthBindingName(t),void 0,void 0,e)],2)))}}else i.push(getSynthesizedDeepClone(r));r||void 0===t||i.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(declareSynthBindingName(t),void 0,void 0,Wr.createIdentifier("undefined"))],2)));return i}(a,n,o,c)}{const a=isFixablePromiseHandler(r,o.checker)?transformReturnStatementWithFixablePromiseHandler(o,Wr.createReturnStatement(r),t,n):l;if(a.length>0)return a;if(s){const t=getPossiblyAwaitedRightHandSide(o.checker,s,r);if(shouldReturn(i,o))return maybeAnnotateAndReturn(t,getExplicitPromisedTypeOfPromiseReturningCallExpression(i,e,o.checker));{const e=createVariableOrAssignmentOrExpressionStatement(n,t,void 0);return n&&n.types.push(o.checker.getAwaitedType(s)||s),e}}return silentFail()}}default:return silentFail()}return l}function getPossiblyAwaitedRightHandSide(e,t,n){const r=getSynthesizedDeepClone(n);return e.getPromisedTypeOfPromise(t)?Wr.createAwaitExpression(r):r}function getLastCallSignature(e,t){return lastOrUndefined(t.getSignaturesOfType(e,0))}function transformReturnStatementWithFixablePromiseHandler(e,t,n,r){let i=[];return forEachChild(t,function visit(t){if(isCallExpression(t)){const o=transformExpression(t,t,e,n,r);if(i=i.concat(o),i.length>0)return}else isFunctionLike(t)||forEachChild(t,visit)}),i}function getArgBindingName(e,t){const n=[];let r;if(isFunctionLikeDeclaration(e)){if(e.parameters.length>0){r=function getMappedBindingNameOrDefault(e){if(isIdentifier(e))return getMapEntryOrDefault(e);const t=flatMap(e.elements,e=>isOmittedExpression(e)?[]:[getMappedBindingNameOrDefault(e.name)]);return function createSynthBindingPattern(e,t=l,n=[]){return{kind:1,bindingPattern:e,elements:t,types:n}}(e,t)}(e.parameters[0].name)}}else isIdentifier(e)?r=getMapEntryOrDefault(e):isPropertyAccessExpression(e)&&isIdentifier(e.name)&&(r=getMapEntryOrDefault(e.name));if(r&&(!("identifier"in r)||"undefined"!==r.identifier.text))return r;function getMapEntryOrDefault(e){const r=function getSymbol2(e){var n;return(null==(n=tryCast(e,canHaveSymbol))?void 0:n.symbol)??t.checker.getSymbolAtLocation(e)}(function getOriginalNode2(e){return e.original?e.original:e}(e));if(!r)return createSynthIdentifier(e,n);return t.synthNamesMap.get(getSymbolId(r).toString())||createSynthIdentifier(e,n)}}function isEmptyBindingName(e){return!e||(isSynthIdentifier(e)?!e.identifier.text:every(e.elements,isEmptyBindingName))}function createSynthIdentifier(e,t=[]){return{kind:0,identifier:e,types:t,hasBeenDeclared:!1,hasBeenReferenced:!1}}function referenceSynthIdentifier(e){return e.hasBeenReferenced=!0,e.identifier}function declareSynthBindingName(e){return isSynthIdentifier(e)?declareSynthIdentifier(e):declareSynthBindingPattern(e)}function declareSynthBindingPattern(e){for(const t of e.elements)declareSynthBindingName(t);return e.bindingPattern}function declareSynthIdentifier(e){return e.hasBeenDeclared=!0,e.identifier}function isSynthIdentifier(e){return 0===e.kind}function shouldReturn(e,t){return!!e.original&&t.setOfExpressionsToReturn.has(getNodeId(e.original))}function fixImportOfModuleExports(e,t,n,r,i){var o;for(const a of e.imports){const s=null==(o=n.getResolvedModuleFromModuleSpecifier(a,e))?void 0:o.resolvedModule;if(!s||s.resolvedFileName!==t.fileName)continue;const c=importFromModuleSpecifier(a);switch(c.kind){case 272:r.replaceNode(e,c,makeImport(c.name,void 0,a,i));break;case 214:isRequireCall(c,!1)&&r.replaceNode(e,c,Wr.createPropertyAccessExpression(getSynthesizedDeepClone(c),"default"))}}}function forEachExportReference(e,t){e.forEachChild(function recur(n){if(isPropertyAccessExpression(n)&&isExportsOrModuleExportsOrAlias(e,n.expression)&&isIdentifier(n.name)){const{parent:e}=n;t(n,isBinaryExpression(e)&&e.left===n&&64===e.operatorToken.kind)}n.forEachChild(recur)})}function convertStatement(e,t,n,r,i,o,a,s,c){switch(t.kind){case 244:return convertVariableStatement(e,t,r,n,i,o,c),!1;case 245:{const{expression:i}=t;switch(i.kind){case 214:return isRequireCall(i,!0)&&r.replaceNode(e,t,makeImport(void 0,void 0,i.arguments[0],c)),!1;case 227:{const{operatorToken:t}=i;return 64===t.kind&&function convertAssignment(e,t,n,r,i,o){const{left:a,right:s}=n;if(!isPropertyAccessExpression(a))return!1;if(isExportsOrModuleExportsOrAlias(e,a)){if(!isExportsOrModuleExportsOrAlias(e,s)){const i=isObjectLiteralExpression(s)?function tryChangeModuleExportsObject(e,t){const n=mapAllOrFail(e.properties,e=>{switch(e.kind){case 178:case 179:case 305:case 306:return;case 304:return isIdentifier(e.name)?function convertExportsDotXEquals_replaceNode(e,t,n){const r=[Wr.createToken(95)];switch(t.kind){case 219:{const{name:n}=t;if(n&&n.text!==e)return exportConst()}case 220:return functionExpressionToDeclaration(e,r,t,n);case 232:return function classExpressionToDeclaration(e,t,n,r){return Wr.createClassDeclaration(concatenate(t,getSynthesizedDeepClones(n.modifiers)),e,getSynthesizedDeepClones(n.typeParameters),getSynthesizedDeepClones(n.heritageClauses),replaceImportUseSites(n.members,r))}(e,r,t,n);default:return exportConst()}function exportConst(){return makeConst(r,Wr.createIdentifier(e),replaceImportUseSites(t,n))}}(e.name.text,e.initializer,t):void 0;case 175:return isIdentifier(e.name)?functionExpressionToDeclaration(e.name.text,[Wr.createToken(95)],e,t):void 0;default:h.assertNever(e,`Convert to ES6 got invalid prop kind ${e.kind}`)}});return n&&[n,!1]}(s,o):isRequireCall(s,!0)?function convertReExportAll(e,t){const n=e.text,r=t.getSymbolAtLocation(e),i=r?r.exports:d;return i.has("export=")?[[reExportDefault(n)],!0]:i.has("default")?i.size>1?[[reExportStar(n),reExportDefault(n)],!0]:[[reExportDefault(n)],!0]:[[reExportStar(n)],!1]}(s.arguments[0],t):void 0;return i?(r.replaceNodeWithNodes(e,n.parent,i[0]),i[1]):(r.replaceRangeWithText(e,createRange(a.getStart(e),s.pos),"export default"),!0)}r.delete(e,n.parent)}else isExportsOrModuleExportsOrAlias(e,a.expression)&&function convertNamedExport(e,t,n,r){const{text:i}=t.left.name,o=r.get(i);if(void 0!==o){const r=[makeConst(void 0,o,t.right),makeExportDeclaration([Wr.createExportSpecifier(!1,o,i)])];n.replaceNodeWithNodes(e,t.parent,r)}else!function convertExportsPropertyAssignment({left:e,right:t,parent:n},r,i){const o=e.name.text;if(!(isFunctionExpression(t)||isArrowFunction(t)||isClassExpression(t))||t.name&&t.name.text!==o)i.replaceNodeRangeWithNodes(r,e.expression,findChildOfKind(e,25,r),[Wr.createToken(95),Wr.createToken(87)],{joiner:" ",suffix:" "});else{i.replaceRange(r,{pos:e.getStart(r),end:t.getStart(r)},Wr.createToken(95),{suffix:" "}),t.name||i.insertName(r,t,o);const a=findChildOfKind(n,27,r);a&&i.delete(r,a)}}(t,e,n)}(e,n,r,i);return!1}(e,n,i,r,a,s)}}}default:return!1}}function convertVariableStatement(e,t,n,r,i,o,a){const{declarationList:s}=t;let c=!1;const l=map(s.declarations,t=>{const{name:n,initializer:l}=t;if(l){if(isExportsOrModuleExportsOrAlias(e,l))return c=!0,convertedImports([]);if(isRequireCall(l,!0))return c=!0,function convertSingleImport(e,t,n,r,i,o){switch(e.kind){case 207:{const n=mapAllOrFail(e.elements,e=>e.dotDotDotToken||e.initializer||e.propertyName&&!isIdentifier(e.propertyName)||!isIdentifier(e.name)?void 0:makeImportSpecifier2(e.propertyName&&e.propertyName.text,e.name.text));if(n)return convertedImports([makeImport(void 0,n,t,o)])}case 208:{const n=makeUniqueName(moduleSpecifierToValidIdentifier(t.text,i),r);return convertedImports([makeImport(Wr.createIdentifier(n),void 0,t,o),makeConst(void 0,getSynthesizedDeepClone(e),Wr.createIdentifier(n))])}case 80:return function convertSingleIdentifierImport(e,t,n,r,i){const o=n.getSymbolAtLocation(e),a=new Map;let s,c=!1;for(const t of r.original.get(e.text)){if(n.getSymbolAtLocation(t)!==o||t===e)continue;const{parent:i}=t;if(isPropertyAccessExpression(i)){const{name:{text:e}}=i;if("default"===e){c=!0;const e=t.getText();(s??(s=new Map)).set(i,Wr.createIdentifier(e))}else{h.assert(i.expression===t,"Didn't expect expression === use");let n=a.get(e);void 0===n&&(n=makeUniqueName(e,r),a.set(e,n)),(s??(s=new Map)).set(i,Wr.createIdentifier(n))}}else c=!0}const l=0===a.size?void 0:arrayFrom(mapIterator(a.entries(),([e,t])=>Wr.createImportSpecifier(!1,e===t?void 0:Wr.createIdentifier(e),Wr.createIdentifier(t))));l||(c=!0);return convertedImports([makeImport(c?getSynthesizedDeepClone(e):void 0,l,t,i)],s)}(e,t,n,r,o);default:return h.assertNever(e,`Convert to ES module got invalid name kind ${e.kind}`)}}(n,l.arguments[0],r,i,o,a);if(isPropertyAccessExpression(l)&&isRequireCall(l.expression,!0))return c=!0,function convertPropertyAccessImport(e,t,n,r,i){switch(e.kind){case 207:case 208:{const o=makeUniqueName(t,r);return convertedImports([makeSingleImport(o,t,n,i),makeConst(void 0,e,Wr.createIdentifier(o))])}case 80:return convertedImports([makeSingleImport(e.text,t,n,i)]);default:return h.assertNever(e,`Convert to ES module got invalid syntax form ${e.kind}`)}}(n,l.name.text,l.expression.arguments[0],i,a)}return convertedImports([Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([t],s.flags))])});if(c){let r;return n.replaceNodeWithNodes(e,t,flatMap(l,e=>e.newImports)),forEach(l,e=>{e.useSitesToUnqualify&©Entries(e.useSitesToUnqualify,r??(r=new Map))}),r}}function reExportStar(e){return makeExportDeclaration(void 0,e)}function reExportDefault(e){return makeExportDeclaration([Wr.createExportSpecifier(!1,void 0,"default")],e)}function replaceImportUseSites(e,t){return t&&some(arrayFrom(t.keys()),t=>rangeContainsRange(e,t))?isArray(e)?getSynthesizedDeepClonesWithReplacements(e,!0,replaceNode):getSynthesizedDeepCloneWithReplacements(e,!0,replaceNode):e;function replaceNode(e){if(212===e.kind){const n=t.get(e);return t.delete(e),n}}}function makeUniqueName(e,t){for(;t.original.has(e)||t.additional.has(e);)e=`_${e}`;return t.additional.add(e),e}function collectFreeIdentifiers(e){const t=createMultiMap();return forEachFreeIdentifier(e,e=>t.add(e.text,e)),t}function forEachFreeIdentifier(e,t){isIdentifier(e)&&function isFreeIdentifier(e){const{parent:t}=e;switch(t.kind){case 212:return t.name!==e;case 209:case 277:return t.propertyName!==e;default:return!0}}(e)&&t(e),e.forEachChild(e=>forEachFreeIdentifier(e,t))}function functionExpressionToDeclaration(e,t,n,r){return Wr.createFunctionDeclaration(concatenate(t,getSynthesizedDeepClones(n.modifiers)),getSynthesizedDeepClone(n.asteriskToken),e,getSynthesizedDeepClones(n.typeParameters),getSynthesizedDeepClones(n.parameters),getSynthesizedDeepClone(n.type),Wr.converters.convertToFunctionBlock(replaceImportUseSites(n.body,r)))}function makeSingleImport(e,t,n,r){return"default"===t?makeImport(Wr.createIdentifier(e),void 0,n,r):makeImport(void 0,[makeImportSpecifier2(t,e)],n,r)}function makeImportSpecifier2(e,t){return Wr.createImportSpecifier(!1,void 0!==e&&e!==t?Wr.createIdentifier(e):void 0,Wr.createIdentifier(t))}function makeConst(e,t,n){return Wr.createVariableStatement(e,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(t,void 0,void 0,n)],2))}function makeExportDeclaration(e,t){return Wr.createExportDeclaration(void 0,!1,e&&Wr.createNamedExports(e),void 0===t?void 0:Wr.createStringLiteral(t))}function convertedImports(e,t){return{newImports:e,useSitesToUnqualify:t}}registerCodeFix({errorCodes:Fd,getCodeActions(e){Pd=!0;const t=$m.ChangeTracker.with(e,t=>convertToAsyncFunction(t,e.sourceFile,e.span.start,e.program.getTypeChecker()));return Pd?[createCodeFixAction(kd,t,Ot.Convert_to_async_function,kd,Ot.Convert_all_to_async_functions)]:[]},fixIds:[kd],getAllCodeActions:e=>codeFixAll(e,Fd,(t,n)=>convertToAsyncFunction(t,n.file,n.start,e.program.getTypeChecker()))}),registerCodeFix({errorCodes:[Ot.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module.code],getCodeActions(e){const{sourceFile:t,program:n,preferences:r}=e;return[createCodeFixActionWithoutFixAll("convertToEsModule",$m.ChangeTracker.with(e,e=>{const i=function convertFileToEsModule(e,t,n,r,i){const o={original:collectFreeIdentifiers(e),additional:new Set},a=function collectExportRenames(e,t,n){const r=new Map;return forEachExportReference(e,e=>{const{text:i}=e.name;r.has(i)||!isIdentifierANonContextualKeyword(e.name)&&!t.resolveName(i,e,111551,!0)||r.set(i,makeUniqueName(`_${i}`,n))}),r}(e,t,o);!function convertExportsAccesses(e,t,n){forEachExportReference(e,(r,i)=>{if(i)return;const{text:o}=r.name;n.replaceNode(e,r,Wr.createIdentifier(t.get(o)||o))})}(e,a,n);let s,c=!1;for(const a of filter(e.statements,isVariableStatement)){const c=convertVariableStatement(e,a,n,t,o,r,i);c&©Entries(c,s??(s=new Map))}for(const l of filter(e.statements,e=>!isVariableStatement(e))){const d=convertStatement(e,l,t,n,o,r,a,s,i);c=c||d}return null==s||s.forEach((t,r)=>{n.replaceNode(e,r,t)}),c}(t,n.getTypeChecker(),e,zn(n.getCompilerOptions()),getQuotePreference(t,r));if(i)for(const i of n.getSourceFiles())fixImportOfModuleExports(i,t,n,e,getQuotePreference(i,r))}),Ot.Convert_to_ES_module)]}});var Dd="correctQualifiedNameToIndexedAccessType",Id=[Ot.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1.code];function getQualifiedName(e,t){const n=findAncestor(getTokenAtPosition(e,t),isQualifiedName);return h.assert(!!n,"Expected position to be owned by a qualified name."),isIdentifier(n.left)?n:void 0}function doChange10(e,t,n){const r=n.right.text,i=Wr.createIndexedAccessTypeNode(Wr.createTypeReferenceNode(n.left,void 0),Wr.createLiteralTypeNode(Wr.createStringLiteral(r)));e.replaceNode(t,n,i)}registerCodeFix({errorCodes:Id,getCodeActions(e){const t=getQualifiedName(e.sourceFile,e.span.start);if(!t)return;const n=$m.ChangeTracker.with(e,n=>doChange10(n,e.sourceFile,t)),r=`${t.left.text}["${t.right.text}"]`;return[createCodeFixAction(Dd,n,[Ot.Rewrite_as_the_indexed_access_type_0,r],Dd,Ot.Rewrite_all_as_indexed_access_types)]},fixIds:[Dd],getAllCodeActions:e=>codeFixAll(e,Id,(e,t)=>{const n=getQualifiedName(t.file,t.start);n&&doChange10(e,t.file,n)})});var Ad=[Ot.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type.code],Od="convertToTypeOnlyExport";function getExportSpecifierForDiagnosticSpan(e,t){return tryCast(getTokenAtPosition(t,e.start).parent,isExportSpecifier)}function fixSingleExportDeclaration(e,t,n){if(!t)return;const r=t.parent,i=r.parent,o=function getTypeExportSpecifiers(e,t){const n=e.parent;if(1===n.elements.length)return n.elements;const r=getDiagnosticsWithinSpan(createTextSpanFromNode(n),t.program.getSemanticDiagnostics(t.sourceFile,t.cancellationToken));return filter(n.elements,t=>{var n;return t===e||(null==(n=findDiagnosticForNode(t,r))?void 0:n.code)===Ad[0]})}(t,n);if(o.length===r.elements.length)e.insertModifierBefore(n.sourceFile,156,r);else{const t=Wr.updateExportDeclaration(i,i.modifiers,!1,Wr.updateNamedExports(r,filter(r.elements,e=>!contains(o,e))),i.moduleSpecifier,void 0),a=Wr.createExportDeclaration(void 0,!0,Wr.createNamedExports(o),i.moduleSpecifier,void 0);e.replaceNode(n.sourceFile,i,t,{leadingTriviaOption:$m.LeadingTriviaOption.IncludeAll,trailingTriviaOption:$m.TrailingTriviaOption.Exclude}),e.insertNodeAfter(n.sourceFile,i,a)}}registerCodeFix({errorCodes:Ad,getCodeActions:function getCodeActionsToConvertToTypeOnlyExport(e){const t=$m.ChangeTracker.with(e,t=>fixSingleExportDeclaration(t,getExportSpecifierForDiagnosticSpan(e.span,e.sourceFile),e));if(t.length)return[createCodeFixAction(Od,t,Ot.Convert_to_type_only_export,Od,Ot.Convert_all_re_exported_types_to_type_only_exports)]},fixIds:[Od],getAllCodeActions:function getAllCodeActionsToConvertToTypeOnlyExport(e){const t=new Set;return codeFixAll(e,Ad,(n,r)=>{const i=getExportSpecifierForDiagnosticSpan(r,e.sourceFile);i&&addToSeen(t,getNodeId(i.parent.parent))&&fixSingleExportDeclaration(n,i,e)})}});var wd=[Ot._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code,Ot._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code],Ld="convertToTypeOnlyImport";function getDeclaration2(e,t){const{parent:n}=getTokenAtPosition(e,t);return isImportSpecifier(n)||isImportDeclaration(n)&&n.importClause?n:void 0}function canConvertImportDeclarationForSpecifier(e,t,n){if(e.parent.parent.name)return!1;const r=e.parent.elements.filter(e=>!e.isTypeOnly);if(1===r.length)return!0;const i=n.getTypeChecker();for(const e of r){if(vm.Core.eachSymbolReferenceInFile(e.name,i,t,e=>{const t=i.getSymbolAtLocation(e);return!!t&&i.symbolIsValue(t)||!isValidTypeOnlyAliasUseSite(e)}))return!1}return!0}function doChange11(e,t,n){var r;if(isImportSpecifier(n))e.replaceNode(t,n,Wr.updateImportSpecifier(n,!0,n.propertyName,n.name));else{const i=n.importClause;if(i.name&&i.namedBindings)e.replaceNodeWithNodes(t,n,[Wr.createImportDeclaration(getSynthesizedDeepClones(n.modifiers,!0),Wr.createImportClause(156,getSynthesizedDeepClone(i.name,!0),void 0),getSynthesizedDeepClone(n.moduleSpecifier,!0),getSynthesizedDeepClone(n.attributes,!0)),Wr.createImportDeclaration(getSynthesizedDeepClones(n.modifiers,!0),Wr.createImportClause(156,void 0,getSynthesizedDeepClone(i.namedBindings,!0)),getSynthesizedDeepClone(n.moduleSpecifier,!0),getSynthesizedDeepClone(n.attributes,!0))]);else{const o=276===(null==(r=i.namedBindings)?void 0:r.kind)?Wr.updateNamedImports(i.namedBindings,sameMap(i.namedBindings.elements,e=>Wr.updateImportSpecifier(e,!1,e.propertyName,e.name))):i.namedBindings,a=Wr.updateImportDeclaration(n,n.modifiers,Wr.updateImportClause(i,156,i.name,o),n.moduleSpecifier,n.attributes);e.replaceNode(t,n,a)}}}registerCodeFix({errorCodes:wd,getCodeActions:function getCodeActionsToConvertToTypeOnlyImport(e){var t;const n=getDeclaration2(e.sourceFile,e.span.start);if(n){const r=$m.ChangeTracker.with(e,t=>doChange11(t,e.sourceFile,n)),i=277===n.kind&&isImportDeclaration(n.parent.parent.parent)&&canConvertImportDeclarationForSpecifier(n,e.sourceFile,e.program)?$m.ChangeTracker.with(e,t=>doChange11(t,e.sourceFile,n.parent.parent.parent)):void 0,o=createCodeFixAction(Ld,r,277===n.kind?[Ot.Use_type_0,(null==(t=n.propertyName)?void 0:t.text)??n.name.text]:Ot.Use_import_type,Ld,Ot.Fix_all_with_type_only_imports);return some(i)?[createCodeFixActionWithoutFixAll(Ld,i,Ot.Use_import_type),o]:[o]}},fixIds:[Ld],getAllCodeActions:function getAllCodeActionsToConvertToTypeOnlyImport(e){const t=new Set;return codeFixAll(e,wd,(n,r)=>{const i=getDeclaration2(r.file,r.start);273!==(null==i?void 0:i.kind)||t.has(i)?277===(null==i?void 0:i.kind)&&isImportDeclaration(i.parent.parent.parent)&&!t.has(i.parent.parent.parent)&&canConvertImportDeclarationForSpecifier(i,r.file,e.program)?(doChange11(n,r.file,i.parent.parent.parent),t.add(i.parent.parent.parent)):277===(null==i?void 0:i.kind)&&doChange11(n,r.file,i):(doChange11(n,r.file,i),t.add(i))})}});var Md="convertTypedefToType",Rd=[Ot.JSDoc_typedef_may_be_converted_to_TypeScript_type.code];function doChange12(e,t,n,r,i=!1){if(!isJSDocTypedefTag(t))return;const o=function createDeclaration(e){var t;const{typeExpression:n}=e;if(!n)return;const r=null==(t=e.name)?void 0:t.getText();if(!r)return;if(323===n.kind)return function createInterfaceForTypeLiteral(e,t){const n=createSignatureFromTypeLiteral(t);if(!some(n))return;return Wr.createInterfaceDeclaration(void 0,e,void 0,void 0,n)}(r,n);if(310===n.kind)return function createTypeAliasForTypeExpression(e,t){const n=getSynthesizedDeepClone(t.type);if(!n)return;return Wr.createTypeAliasDeclaration(void 0,Wr.createIdentifier(e),void 0,n)}(r,n)}(t);if(!o)return;const a=t.parent,{leftSibling:s,rightSibling:c}=function getLeftAndRightSiblings(e){const t=e.parent,n=t.getChildCount()-1,r=t.getChildren().findIndex(t=>t.getStart()===e.getStart()&&t.getEnd()===e.getEnd()),i=r>0?t.getChildAt(r-1):void 0,o=r<n?t.getChildAt(r+1):void 0;return{leftSibling:i,rightSibling:o}}(t);let l=a.getStart(),d="";!s&&a.comment&&(l=findEndOfTextBetween(a,a.getStart(),t.getStart()),d=`${r} */${r}`),s&&(i&&isJSDocTypedefTag(s)?(l=t.getStart(),d=""):(l=findEndOfTextBetween(a,s.getStart(),t.getStart()),d=`${r} */${r}`));let p=a.getEnd(),u="";c&&(i&&isJSDocTypedefTag(c)?(p=c.getStart(),u=`${r}${r}`):(p=c.getStart(),u=`${r}/**${r} * `)),e.replaceRange(n,{pos:l,end:p},o,{prefix:d,suffix:u})}function findEndOfTextBetween(e,t,n){const r=e.getText().substring(t-e.getStart(),n-e.getStart());for(let e=r.length;e>0;e--)if(!/[*/\s]/.test(r.substring(e-1,e)))return t+e;return n}function createSignatureFromTypeLiteral(e){const t=e.jsDocPropertyTags;if(!some(t))return;return mapDefined(t,e=>{var t;const n=function getPropertyName(e){return 80===e.name.kind?e.name.text:e.name.right.text}(e),r=null==(t=e.typeExpression)?void 0:t.type,i=e.isBracketed;let o;if(r&&isJSDocTypeLiteral(r)){const e=createSignatureFromTypeLiteral(r);o=Wr.createTypeLiteralNode(e)}else r&&(o=getSynthesizedDeepClone(r));if(o&&n){const e=i?Wr.createToken(58):void 0;return Wr.createPropertySignature(void 0,n,e,o)}})}function getJSDocTypedefNodes(e){return hasJSDocNodes(e)?flatMap(e.jsDoc,e=>{var t;return null==(t=e.tags)?void 0:t.filter(e=>isJSDocTypedefTag(e))}):[]}registerCodeFix({fixIds:[Md],errorCodes:Rd,getCodeActions(e){const t=getNewLineOrDefaultFromHost(e.host,e.formatContext.options),n=getTokenAtPosition(e.sourceFile,e.span.start);if(!n)return;const r=$m.ChangeTracker.with(e,r=>doChange12(r,n,e.sourceFile,t));return r.length>0?[createCodeFixAction(Md,r,Ot.Convert_typedef_to_TypeScript_type,Md,Ot.Convert_all_typedef_to_TypeScript_types)]:void 0},getAllCodeActions:e=>codeFixAll(e,Rd,(t,n)=>{const r=getNewLineOrDefaultFromHost(e.host,e.formatContext.options),i=getTokenAtPosition(n.file,n.start);i&&doChange12(t,i,n.file,r,!0)})});var Bd="convertLiteralTypeToMappedType",jd=[Ot._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code];function getInfo5(e,t){const n=getTokenAtPosition(e,t);if(isIdentifier(n)){const t=cast(n.parent.parent,isPropertySignature),r=n.getText(e);return{container:cast(t.parent,isTypeLiteralNode),typeNode:t.type,constraint:r,name:"K"===r?"P":"K"}}}function doChange13(e,t,{container:n,typeNode:r,constraint:i,name:o}){e.replaceNode(t,n,Wr.createMappedTypeNode(void 0,Wr.createTypeParameterDeclaration(void 0,o,Wr.createTypeReferenceNode(i)),void 0,void 0,r,void 0))}registerCodeFix({errorCodes:jd,getCodeActions:function getCodeActionsToConvertLiteralTypeToMappedType(e){const{sourceFile:t,span:n}=e,r=getInfo5(t,n.start);if(!r)return;const{name:i,constraint:o}=r,a=$m.ChangeTracker.with(e,e=>doChange13(e,t,r));return[createCodeFixAction(Bd,a,[Ot.Convert_0_to_1_in_0,o,i],Bd,Ot.Convert_all_type_literals_to_mapped_type)]},fixIds:[Bd],getAllCodeActions:e=>codeFixAll(e,jd,(e,t)=>{const n=getInfo5(t.file,t.start);n&&doChange13(e,t.file,n)})});var Jd=[Ot.Class_0_incorrectly_implements_interface_1.code,Ot.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code],Wd="fixClassIncorrectlyImplementsInterface";function getClass(e,t){return h.checkDefined(getContainingClass(getTokenAtPosition(e,t)),"There should be a containing class")}function symbolPointsToNonPrivateMember(e){return!(e.valueDeclaration&&2&getEffectiveModifierFlags(e.valueDeclaration))}function addMissingDeclarations(e,t,n,r,i,o){const a=e.program.getTypeChecker(),s=function getHeritageClauseSymbolTable(e,t){const n=getEffectiveBaseTypeNode(e);if(!n)return createSymbolTable();const r=t.getTypeAtLocation(n),i=t.getPropertiesOfType(r);return createSymbolTable(i.filter(symbolPointsToNonPrivateMember))}(r,a),c=a.getTypeAtLocation(t),l=a.getPropertiesOfType(c).filter(and(symbolPointsToNonPrivateMember,e=>!s.has(e.escapedName))),d=a.getTypeAtLocation(r),p=find(r.members,e=>isConstructorDeclaration(e));d.getNumberIndexType()||createMissingIndexSignatureDeclaration(c,1),d.getStringIndexType()||createMissingIndexSignatureDeclaration(c,0);const u=createImportAdder(n,e.program,o,e.host);function createMissingIndexSignatureDeclaration(t,i){const o=a.getIndexInfoOfType(t,i);o&&insertInterfaceMemberNode(n,r,a.indexInfoToIndexSignatureDeclaration(o,r,void 0,void 0,getNoopSymbolTrackerWithResolver(e)))}function insertInterfaceMemberNode(e,t,n){p?i.insertNodeAfter(e,p,n):i.insertMemberAtStart(e,t,n)}createMissingMemberNodes(r,l,n,e,o,u,e=>insertInterfaceMemberNode(n,r,e)),u.writeFixes(i)}registerCodeFix({errorCodes:Jd,getCodeActions(e){const{sourceFile:t,span:n}=e,r=getClass(t,n.start);return mapDefined(getEffectiveImplementsTypeNodes(r),n=>{const i=$m.ChangeTracker.with(e,i=>addMissingDeclarations(e,n,t,r,i,e.preferences));return 0===i.length?void 0:createCodeFixAction(Wd,i,[Ot.Implement_interface_0,n.getText(t)],Wd,Ot.Implement_all_unimplemented_interfaces)})},fixIds:[Wd],getAllCodeActions(e){const t=new Set;return codeFixAll(e,Jd,(n,r)=>{const i=getClass(r.file,r.start);if(addToSeen(t,getNodeId(i)))for(const t of getEffectiveImplementsTypeNodes(i))addMissingDeclarations(e,t,r.file,i,n,e.preferences)})}});var Ud="import",zd="fixMissingImport",Vd=[Ot.Cannot_find_name_0.code,Ot.Cannot_find_name_0_Did_you_mean_1.code,Ot.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,Ot.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,Ot.Cannot_find_namespace_0.code,Ot._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code,Ot._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code,Ot.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code,Ot._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code,Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery.code,Ot.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later.code,Ot.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom.code,Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig.code,Ot.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code,Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig.code,Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha.code,Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode.code,Ot.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig.code,Ot.Cannot_find_namespace_0_Did_you_mean_1.code,Ot.Cannot_extend_an_interface_0_Did_you_mean_implements.code,Ot.This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found.code];function createImportAdder(e,t,n,r,i){return createImportAdderWorker(e,t,!1,n,r,i)}function createImportAdderWorker(e,t,n,r,i,o){const a=t.getCompilerOptions(),s=[],c=[],l=new Map,d=new Set,p=new Set,u=new Map;return{addImportFromDiagnostic:function addImportFromDiagnostic(e,t){const r=getFixInfos(t,e.code,e.start,n);if(!r||!r.length)return;addImport(first(r))},addImportFromExportedSymbol:function addImportFromExportedSymbol(n,s,c){var l,d;const p=h.checkDefined(n.parent,"Expected exported symbol to have module symbol as parent"),u=getNameForExportedSymbol(n,zn(a)),m=t.getTypeChecker(),_=m.getMergedSymbol(skipAlias(n,m)),f=getAllExportInfoForSymbol(e,_,u,p,!1,t,i,r,o);if(!f)return void h.assert(null==(l=r.autoImportFileExcludePatterns)?void 0:l.length);const g=shouldUseRequire(e,t);let y=getImportFixForSymbol(e,f,t,void 0,!!s,g,i,r);if(y){const e=(null==(d=tryCast(null==c?void 0:c.name,isIdentifier))?void 0:d.text)??u;let t,r;c&&isTypeOnlyImportDeclaration(c)&&(3===y.kind||2===y.kind)&&1===y.addAsTypeOnly&&(t=2),n.name!==e&&(r=n.name),y={...y,...void 0===t?{}:{addAsTypeOnly:t},...void 0===r?{}:{propertyName:r}},addImport({fix:y,symbolName:e??u,errorIdentifierText:void 0})}},addImportForModuleSymbol:function addImportForModuleSymbol(n,o,s){var c,l,d;const p=t.getTypeChecker(),u=p.getAliasedSymbol(n);h.assert(1536&u.flags,"Expected symbol to be a module");const m=createModuleSpecifierResolutionHost(t,i),_=Wo.getModuleSpecifiersWithCacheInfo(u,p,a,e,m,r,void 0,!0),f=shouldUseRequire(e,t);let g=getAddAsTypeOnly(o,!0,void 0,n.flags,t.getTypeChecker(),a);g=1===g&&isTypeOnlyImportDeclaration(s)?2:1;const y=isImportDeclaration(s)?isDefaultImport(s)?1:2:isImportSpecifier(s)?0:isImportClause(s)&&s.name?1:2,T=[{symbol:n,moduleSymbol:u,moduleFileName:null==(d=null==(l=null==(c=u.declarations)?void 0:c[0])?void 0:l.getSourceFile())?void 0:d.fileName,exportKind:4,targetFlags:n.flags,isFromPackageJson:!1}],S=getImportFixForSymbol(e,T,t,void 0,!!o,f,i,r);let x;x=S&&2!==y&&0!==S.kind&&1!==S.kind?{...S,addAsTypeOnly:g,importKind:y}:{kind:3,moduleSpecifierKind:void 0!==S?S.moduleSpecifierKind:_.kind,moduleSpecifier:void 0!==S?S.moduleSpecifier:first(_.moduleSpecifiers),importKind:y,addAsTypeOnly:g,useRequire:f};addImport({fix:x,symbolName:n.name,errorIdentifierText:void 0})},writeFixes:function writeFixes(t,n){var i,o;let p,m,_;p=void 0!==e.imports&&0===e.imports.length&&void 0!==n?n:getQuotePreference(e,r);for(const n of s)addNamespaceQualifier(t,e,n);for(const n of c)addImportType(t,e,n,p);if(d.size){h.assert(isFullSourceFile(e),"Cannot remove imports from a future source file");const n=new Set(mapDefined([...d],e=>findAncestor(e,isImportDeclaration))),r=new Set(mapDefined([...d],e=>findAncestor(e,isVariableDeclarationInitializedToRequire))),a=[...n].filter(e=>{var t,n,r;return!l.has(e.importClause)&&(!(null==(t=e.importClause)?void 0:t.name)||d.has(e.importClause))&&(!tryCast(null==(n=e.importClause)?void 0:n.namedBindings,isNamespaceImport)||d.has(e.importClause.namedBindings))&&(!tryCast(null==(r=e.importClause)?void 0:r.namedBindings,isNamedImports)||every(e.importClause.namedBindings.elements,e=>d.has(e)))}),s=[...r].filter(e=>(207!==e.name.kind||!l.has(e.name))&&(207!==e.name.kind||every(e.name.elements,e=>d.has(e)))),c=[...n].filter(e=>{var t,n;return(null==(t=e.importClause)?void 0:t.namedBindings)&&-1===a.indexOf(e)&&!(null==(n=l.get(e.importClause))?void 0:n.namedImports)&&(275===e.importClause.namedBindings.kind||every(e.importClause.namedBindings.elements,e=>d.has(e)))});for(const n of[...a,...s])t.delete(e,n);for(const n of c)t.replaceNode(e,n.importClause,Wr.updateImportClause(n.importClause,n.importClause.phaseModifier,n.importClause.name,void 0));for(const n of d){const r=findAncestor(n,isImportDeclaration);r&&-1===a.indexOf(r)&&-1===c.indexOf(r)?274===n.kind?t.delete(e,n.name):(h.assert(277===n.kind,"NamespaceImport should have been handled earlier"),(null==(i=l.get(r.importClause))?void 0:i.namedImports)?(m??(m=new Set)).add(n):t.delete(e,n)):209===n.kind?(null==(o=l.get(n.parent))?void 0:o.namedImports)?(m??(m=new Set)).add(n):t.delete(e,n):272===n.kind&&t.delete(e,n)}}l.forEach(({importClauseOrBindingPattern:n,defaultImport:i,namedImports:o})=>{doAddExistingFix(t,e,n,i,arrayFrom(o.entries(),([e,{addAsTypeOnly:t,propertyName:n}])=>({addAsTypeOnly:t,propertyName:n,name:e})),m,r)}),u.forEach(({useRequire:e,defaultImport:t,namedImports:n,namespaceLikeImport:i},o)=>{const s=(e?getNewRequires:getNewImports)(o.slice(2),p,t,n&&arrayFrom(n.entries(),([e,[t,n]])=>({addAsTypeOnly:t,propertyName:n,name:e})),i,a,r);_=combine(_,s)}),_=combine(_,getCombinedVerbatimImports()),_&&insertImports(t,e,_,!0,r)},hasFixes:function hasFixes(){return s.length>0||c.length>0||l.size>0||u.size>0||p.size>0||d.size>0},addImportForUnresolvedIdentifier:function addImportForUnresolvedIdentifier(e,t,n){const r=function getFixInfosWithoutDiagnostic(e,t,n){const r=getFixesInfoForNonUMDImport(e,t,n),i=createPackageJsonImportFilter(e.sourceFile,e.preferences,e.host);return r&&sortFixInfo(r,e.sourceFile,e.program,i,e.host,e.preferences)}(e,t,n);if(!r||!r.length)return;addImport(first(r))},addImportForNonExistentExport:function addImportForNonExistentExport(n,o,s,c,l){const d=t.getSourceFile(o),p=shouldUseRequire(e,t);if(d&&d.symbol){const{fixes:a}=getImportFixes([{exportKind:s,isFromPackageJson:!1,moduleFileName:o,moduleSymbol:d.symbol,targetFlags:c}],void 0,l,p,t,e,i,r);a.length&&addImport({fix:a[0],symbolName:n,errorIdentifierText:n})}else{const d=createFutureSourceFile(o,99,t,i);addImport({fix:{kind:3,moduleSpecifierKind:"relative",moduleSpecifier:Wo.getLocalModuleSpecifierBetweenFileNames(e,o,a,createModuleSpecifierResolutionHost(t,i),r),importKind:getImportKind(d,s,t),addAsTypeOnly:getAddAsTypeOnly(l,!0,void 0,c,t.getTypeChecker(),a),useRequire:p},symbolName:n,errorIdentifierText:n})}},removeExistingImport:function removeExistingImport(e){274===e.kind&&h.assertIsDefined(e.name,"ImportClause should have a name if it's being removed");d.add(e)},addVerbatimImport:function addVerbatimImport(e){p.add(e)}};function addImport(e){var t,n,r;const{fix:i,symbolName:o}=e;switch(i.kind){case 0:s.push(i);break;case 1:c.push(i);break;case 2:{const{importClauseOrBindingPattern:e,importKind:r,addAsTypeOnly:a,propertyName:s}=i;let c=l.get(e);if(c||l.set(e,c={importClauseOrBindingPattern:e,defaultImport:void 0,namedImports:new Map}),0===r){const e=null==(t=null==c?void 0:c.namedImports.get(o))?void 0:t.addAsTypeOnly;c.namedImports.set(o,{addAsTypeOnly:reduceAddAsTypeOnlyValues(e,a),propertyName:s})}else h.assert(void 0===c.defaultImport||c.defaultImport.name===o,"(Add to Existing) Default import should be missing or match symbolName"),c.defaultImport={name:o,addAsTypeOnly:reduceAddAsTypeOnlyValues(null==(n=c.defaultImport)?void 0:n.addAsTypeOnly,a)};break}case 3:{const{moduleSpecifier:e,importKind:t,useRequire:n,addAsTypeOnly:s,propertyName:c}=i,l=function getNewImportEntry(e,t,n,r){const i=newImportsKey(e,!0),o=newImportsKey(e,!1),a=u.get(i),s=u.get(o),c={defaultImport:void 0,namedImports:void 0,namespaceLikeImport:void 0,useRequire:n};if(1===t&&2===r)return a||(u.set(i,c),c);if(1===r&&(a||s))return a||s;if(s)return s;return u.set(o,c),c}(e,t,n,s);switch(h.assert(l.useRequire===n,"(Add new) Tried to add an `import` and a `require` for the same module"),t){case 1:h.assert(void 0===l.defaultImport||l.defaultImport.name===o,"(Add new) Default import should be missing or match symbolName"),l.defaultImport={name:o,addAsTypeOnly:reduceAddAsTypeOnlyValues(null==(r=l.defaultImport)?void 0:r.addAsTypeOnly,s)};break;case 0:const e=(l.namedImports||(l.namedImports=new Map)).get(o);l.namedImports.set(o,[reduceAddAsTypeOnlyValues(e,s),c]);break;case 3:if(a.verbatimModuleSyntax){const e=(l.namedImports||(l.namedImports=new Map)).get(o);l.namedImports.set(o,[reduceAddAsTypeOnlyValues(e,s),c])}else h.assert(void 0===l.namespaceLikeImport||l.namespaceLikeImport.name===o,"Namespacelike import shoudl be missing or match symbolName"),l.namespaceLikeImport={importKind:t,name:o,addAsTypeOnly:s};break;case 2:h.assert(void 0===l.namespaceLikeImport||l.namespaceLikeImport.name===o,"Namespacelike import shoudl be missing or match symbolName"),l.namespaceLikeImport={importKind:t,name:o,addAsTypeOnly:s}}break}case 4:break;default:h.assertNever(i,`fix wasn't never - got kind ${i.kind}`)}function reduceAddAsTypeOnlyValues(e,t){return Math.max(e??0,t)}function newImportsKey(e,t){return`${t?1:0}|${e}`}}function getCombinedVerbatimImports(){if(!p.size)return;const e=new Set(mapDefined([...p],e=>findAncestor(e,isImportDeclaration))),t=new Set(mapDefined([...p],e=>findAncestor(e,isRequireVariableStatement)));return[...mapDefined([...p],e=>272===e.kind?getSynthesizedDeepClone(e,!0):void 0),...[...e].map(e=>{var t;return p.has(e)?getSynthesizedDeepClone(e,!0):getSynthesizedDeepClone(Wr.updateImportDeclaration(e,e.modifiers,e.importClause&&Wr.updateImportClause(e.importClause,e.importClause.phaseModifier,p.has(e.importClause)?e.importClause.name:void 0,p.has(e.importClause.namedBindings)?e.importClause.namedBindings:(null==(t=tryCast(e.importClause.namedBindings,isNamedImports))?void 0:t.elements.some(e=>p.has(e)))?Wr.updateNamedImports(e.importClause.namedBindings,e.importClause.namedBindings.elements.filter(e=>p.has(e))):void 0),e.moduleSpecifier,e.attributes),!0)}),...[...t].map(e=>p.has(e)?getSynthesizedDeepClone(e,!0):getSynthesizedDeepClone(Wr.updateVariableStatement(e,e.modifiers,Wr.updateVariableDeclarationList(e.declarationList,mapDefined(e.declarationList.declarations,e=>p.has(e)?e:Wr.updateVariableDeclaration(e,207===e.name.kind?Wr.updateObjectBindingPattern(e.name,e.name.elements.filter(e=>p.has(e))):e.name,e.exclamationToken,e.type,e.initializer)))),!0))]}}function createImportSpecifierResolver(e,t,n,r){const i=createPackageJsonImportFilter(e,r,n),o=createExistingImportMap(e,t);return{getModuleSpecifierForBestExportInfo:function getModuleSpecifierForBestExportInfo(a,s,c,l){const{fixes:d,computedWithoutCacheCount:p}=getImportFixes(a,s,c,!1,t,e,n,r,o,l),u=getBestFix(d,e,t,i,n,r);return u&&{...u,computedWithoutCacheCount:p}}}}function getImportCompletionAction(e,t,n,r,i,o,a,s,c,l,d,p){let u;n?(u=getExportInfoMap(r,a,s,d,p).get(r.path,n),h.assertIsDefined(u,"Some exportInfo should match the specified exportMapKey")):(u=pathIsBareSpecifier(stripQuotes(t.name))?[getSingleExportInfoForSymbol(e,i,t,s,a)]:getAllExportInfoForSymbol(r,e,i,t,o,s,a,d,p),h.assertIsDefined(u,"Some exportInfo should match the specified symbol / moduleSymbol"));const m=shouldUseRequire(r,s),_=isValidTypeOnlyAliasUseSite(getTokenAtPosition(r,l)),f=h.checkDefined(getImportFixForSymbol(r,u,s,l,_,m,a,d));return{moduleSpecifier:f.moduleSpecifier,codeAction:codeFixActionToCodeAction(codeActionForFix({host:a,formatContext:c,preferences:d},r,i,f,!1,s,d))}}function getPromoteTypeOnlyCompletionAction(e,t,n,r,i,o){const a=n.getCompilerOptions(),s=single(getSymbolNamesToImport(e,n.getTypeChecker(),t,a)),c=getTypeOnlyPromotionFix(e,t,s,n),l=s!==t.text;return c&&codeFixActionToCodeAction(codeActionForFix({host:r,formatContext:i,preferences:o},e,s,c,l,n,o))}function getImportFixForSymbol(e,t,n,r,i,o,a,s){const c=createPackageJsonImportFilter(e,s,a);return getBestFix(getImportFixes(t,r,i,o,n,e,a,s).fixes,e,n,c,a,s)}function codeFixActionToCodeAction({description:e,changes:t,commands:n}){return{description:e,changes:t,commands:n}}function getAllExportInfoForSymbol(e,t,n,r,i,o,a,s,c){const l=createGetChecker(o,a),d=s.autoImportFileExcludePatterns&&getIsFileExcluded(a,s),p=o.getTypeChecker().getMergedSymbol(r),u=d&&p.declarations&&getDeclarationOfKind(p,308),m=u&&d(u);return getExportInfoMap(e,a,o,s,c).search(e.path,i,e=>e===n,e=>{const n=l(e[0].isFromPackageJson);if(n.getMergedSymbol(skipAlias(e[0].symbol,n))===t&&(m||e.some(e=>n.getMergedSymbol(e.moduleSymbol)===r||e.symbol.parent===r)))return e})}function getSingleExportInfoForSymbol(e,t,n,r,i){var o,a;const s=getInfoWithChecker(r.getTypeChecker(),!1);if(s)return s;const c=null==(a=null==(o=i.getPackageJsonAutoImportProvider)?void 0:o.call(i))?void 0:a.getTypeChecker();return h.checkDefined(c&&getInfoWithChecker(c,!0),"Could not find symbol in specified module for code actions");function getInfoWithChecker(r,i){const o=getDefaultLikeExportInfo(n,r);if(o&&skipAlias(o.symbol,r)===e)return{symbol:o.symbol,moduleSymbol:n,moduleFileName:void 0,exportKind:o.exportKind,targetFlags:skipAlias(e,r).flags,isFromPackageJson:i};const a=r.tryGetMemberInModuleExportsAndProperties(t,n);return a&&skipAlias(a,r)===e?{symbol:a,moduleSymbol:n,moduleFileName:void 0,exportKind:0,targetFlags:skipAlias(e,r).flags,isFromPackageJson:i}:void 0}}function getImportFixes(e,t,n,r,i,o,a,s,c=(isFullSourceFile(o)?createExistingImportMap(o,i):void 0),d){const p=i.getTypeChecker(),u=c?flatMap(e,c.getImportsForExportInfo):l,m=void 0!==t&&function tryUseExistingNamespaceImport(e,t){return firstDefined(e,({declaration:e,importKind:n})=>{var r;if(0!==n)return;const i=function getNamespaceLikeImportText(e){var t,n,r;switch(e.kind){case 261:return null==(t=tryCast(e.name,isIdentifier))?void 0:t.text;case 272:return e.name.text;case 352:case 273:return null==(r=tryCast(null==(n=e.importClause)?void 0:n.namedBindings,isNamespaceImport))?void 0:r.name.text;default:return h.assertNever(e)}}(e),o=i&&(null==(r=tryGetModuleSpecifierFromDeclaration(e))?void 0:r.text);return o?{kind:0,namespacePrefix:i,usagePosition:t,moduleSpecifierKind:void 0,moduleSpecifier:o}:void 0})}(u,t),_=function tryAddToExistingImport(e,t,n,r){let i;for(const t of e){const e=getAddToExistingImportFix(t);if(!e)continue;const n=isTypeOnlyImportDeclaration(e.importClauseOrBindingPattern);if(4!==e.addAsTypeOnly&&n||4===e.addAsTypeOnly&&!n)return e;i??(i=e)}return i;function getAddToExistingImportFix({declaration:e,importKind:i,symbol:o,targetFlags:a}){if(3===i||2===i||272===e.kind)return;if(261===e.kind)return 0!==i&&1!==i||207!==e.name.kind?void 0:{kind:2,importClauseOrBindingPattern:e.name,importKind:i,moduleSpecifierKind:void 0,moduleSpecifier:e.initializer.arguments[0].text,addAsTypeOnly:4};const{importClause:s}=e;if(!s||!isStringLiteralLike(e.moduleSpecifier))return;const{name:c,namedBindings:l}=s;if(s.isTypeOnly&&(0!==i||!l))return;const d=getAddAsTypeOnly(t,!1,o,a,n,r);return 1===i&&(c||2===d&&l)||0===i&&275===(null==l?void 0:l.kind)?void 0:{kind:2,importClauseOrBindingPattern:s,importKind:i,moduleSpecifierKind:void 0,moduleSpecifier:e.moduleSpecifier.text,addAsTypeOnly:d}}}(u,n,p,i.getCompilerOptions());if(_)return{computedWithoutCacheCount:0,fixes:[...m?[m]:l,_]};const{fixes:f,computedWithoutCacheCount:g=0}=function getFixesForAddImport(e,t,n,r,i,o,a,s,c,l){const d=firstDefined(t,e=>function newImportInfoFromExistingSpecifier({declaration:e,importKind:t,symbol:n,targetFlags:r},i,o,a,s){var c;const l=null==(c=tryGetModuleSpecifierFromDeclaration(e))?void 0:c.text;if(l){return{kind:3,moduleSpecifierKind:void 0,moduleSpecifier:l,importKind:t,addAsTypeOnly:o?4:getAddAsTypeOnly(i,!0,n,r,a,s),useRequire:o}}}(e,o,a,n.getTypeChecker(),n.getCompilerOptions()));return d?{fixes:[d]}:function getNewImportFixes(e,t,n,r,i,o,a,s,c){const l=hasJSFileExtension(t.fileName),d=e.getCompilerOptions(),p=createModuleSpecifierResolutionHost(e,a),u=createGetChecker(e,a),m=moduleResolutionUsesNodeModules(qn(d)),_=c?e=>Wo.tryGetModuleSpecifiersFromCache(e.moduleSymbol,t,p,s):(e,n)=>Wo.getModuleSpecifiersWithCacheInfo(e.moduleSymbol,n,d,t,p,s,void 0,!0);let f=0;const g=flatMap(o,(o,a)=>{const s=u(o.isFromPackageJson),{computedWithoutCache:c,moduleSpecifiers:p,kind:g}=_(o,s)??{},y=!!(111551&o.targetFlags),h=getAddAsTypeOnly(r,!0,o.symbol,o.targetFlags,s,d);return f+=c?1:0,mapDefined(p,r=>{if(m&&pathContainsNodeModules(r))return;if(!y&&l&&void 0!==n)return{kind:1,moduleSpecifierKind:g,moduleSpecifier:r,usagePosition:n,exportInfo:o,isReExport:a>0};const c=getImportKind(t,o.exportKind,e);let p;if(void 0!==n&&3===c&&0===o.exportKind){const e=s.resolveExternalModuleSymbol(o.moduleSymbol);let t;e!==o.moduleSymbol&&(t=forEachNameOfDefaultExport(e,s,zn(d),identity)),t||(t=moduleSymbolToValidIdentifier(o.moduleSymbol,zn(d),!1)),p={namespacePrefix:t,usagePosition:n}}return{kind:3,moduleSpecifierKind:g,moduleSpecifier:r,importKind:c,useRequire:i,addAsTypeOnly:h,exportInfo:o,isReExport:a>0,qualification:p}})});return{computedWithoutCacheCount:f,fixes:g}}(n,r,i,o,a,e,s,c,l)}(e,u,i,o,t,n,r,a,s,d);return{computedWithoutCacheCount:g,fixes:[...m?[m]:l,...f]}}function getAddAsTypeOnly(e,t,n,r,i,o){return e?!n||!o.verbatimModuleSyntax||111551&r&&!i.getTypeOnlyAliasDeclaration(n)?1:2:4}function createExistingImportMap(e,t){const n=t.getTypeChecker();let r;for(const t of e.imports){const e=importFromModuleSpecifier(t);if(isVariableDeclarationInitializedToRequire(e.parent)){const i=n.resolveExternalModuleName(t);i&&(r||(r=createMultiMap())).add(getSymbolId(i),e.parent)}else if(273===e.kind||272===e.kind||352===e.kind){const i=n.getSymbolAtLocation(t);i&&(r||(r=createMultiMap())).add(getSymbolId(i),e)}}return{getImportsForExportInfo:({moduleSymbol:n,exportKind:i,targetFlags:o,symbol:a})=>{const s=null==r?void 0:r.get(getSymbolId(n));if(!s)return l;if(isSourceFileJS(e)&&!(111551&o)&&!every(s,isJSDocImportTag))return l;const c=getImportKind(e,i,t);return s.map(e=>({declaration:e,importKind:c,symbol:a,targetFlags:o}))}}}function shouldUseRequire(e,t){if(!hasJSFileExtension(e.fileName))return!1;if(e.commonJsModuleIndicator&&!e.externalModuleIndicator)return!0;if(e.externalModuleIndicator&&!e.commonJsModuleIndicator)return!1;const n=t.getCompilerOptions();if(n.configFile)return Vn(n)<5;if(1===getImpliedNodeFormatForEmit(e,t))return!0;if(99===getImpliedNodeFormatForEmit(e,t))return!1;for(const n of t.getSourceFiles())if(n!==e&&isSourceFileJS(n)&&!t.isSourceFileFromExternalLibrary(n)){if(n.commonJsModuleIndicator&&!n.externalModuleIndicator)return!0;if(n.externalModuleIndicator&&!n.commonJsModuleIndicator)return!1}return!0}function createGetChecker(e,t){return memoizeOne(n=>n?t.getPackageJsonAutoImportProvider().getTypeChecker():e.getTypeChecker())}function getFixInfos(e,t,n,r){const i=getTokenAtPosition(e.sourceFile,n);let o;if(t===Ot._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code)o=function getFixesInfoForUMDImport({sourceFile:e,program:t,host:n,preferences:r},i){const o=t.getTypeChecker(),a=function getUmdSymbol(e,t){const n=isIdentifier(e)?t.getSymbolAtLocation(e):void 0;if(isUMDExportSymbol(n))return n;const{parent:r}=e;if(isJsxOpeningLikeElement(r)&&r.tagName===e||isJsxOpeningFragment(r)){const n=t.resolveName(t.getJsxNamespace(r),isJsxOpeningLikeElement(r)?e:r,111551,!1);if(isUMDExportSymbol(n))return n}return}(i,o);if(!a)return;const s=o.getAliasedSymbol(a),c=a.name,l=[{symbol:a,moduleSymbol:s,moduleFileName:void 0,exportKind:3,targetFlags:s.flags,isFromPackageJson:!1}],d=shouldUseRequire(e,t);return getImportFixes(l,void 0,!1,d,t,e,n,r).fixes.map(e=>{var t;return{fix:e,symbolName:c,errorIdentifierText:null==(t=tryCast(i,isIdentifier))?void 0:t.text}})}(e,i);else{if(!isIdentifier(i))return;if(t===Ot._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code){const t=single(getSymbolNamesToImport(e.sourceFile,e.program.getTypeChecker(),i,e.program.getCompilerOptions())),n=getTypeOnlyPromotionFix(e.sourceFile,i,t,e.program);return n&&[{fix:n,symbolName:t,errorIdentifierText:i.text}]}o=getFixesInfoForNonUMDImport(e,i,r)}const a=createPackageJsonImportFilter(e.sourceFile,e.preferences,e.host);return o&&sortFixInfo(o,e.sourceFile,e.program,a,e.host,e.preferences)}function sortFixInfo(e,t,n,r,i,o){const _toPath=e=>toPath(e,i.getCurrentDirectory(),hostGetCanonicalFileName(i));return toSorted(e,(e,i)=>compareBooleans(!!e.isJsxNamespaceFix,!!i.isJsxNamespaceFix)||compareValues(e.fix.kind,i.fix.kind)||compareModuleSpecifiers(e.fix,i.fix,t,n,o,r.allowsImportingSpecifier,_toPath))}function getBestFix(e,t,n,r,i,o){if(some(e))return 0===e[0].kind||2===e[0].kind?e[0]:e.reduce((e,a)=>-1===compareModuleSpecifiers(a,e,t,n,o,r.allowsImportingSpecifier,e=>toPath(e,i.getCurrentDirectory(),hostGetCanonicalFileName(i)))?a:e)}function compareModuleSpecifiers(e,t,n,r,i,o,a){return 0!==e.kind&&0!==t.kind?compareBooleans("node_modules"!==t.moduleSpecifierKind||o(t.moduleSpecifier),"node_modules"!==e.moduleSpecifierKind||o(e.moduleSpecifier))||function compareModuleSpecifierRelativity(e,t,n){if("non-relative"===n.importModuleSpecifierPreference||"project-relative"===n.importModuleSpecifierPreference)return compareBooleans("relative"===e.moduleSpecifierKind,"relative"===t.moduleSpecifierKind);return 0}(e,t,i)||function compareNodeCoreModuleSpecifiers(e,t,n,r){return startsWith(e,"node:")&&!startsWith(t,"node:")?shouldUseUriStyleNodeCoreModules(n,r)?-1:1:startsWith(t,"node:")&&!startsWith(e,"node:")?shouldUseUriStyleNodeCoreModules(n,r)?1:-1:0}(e.moduleSpecifier,t.moduleSpecifier,n,r)||compareBooleans(isFixPossiblyReExportingImportingFile(e,n.path,a),isFixPossiblyReExportingImportingFile(t,n.path,a))||compareNumberOfDirectorySeparators(e.moduleSpecifier,t.moduleSpecifier):0}function isFixPossiblyReExportingImportingFile(e,t,n){var r;if(e.isReExport&&(null==(r=e.exportInfo)?void 0:r.moduleFileName)&&function isIndexFileName(e){return"index"===getBaseFileName(e,[".js",".jsx",".d.ts",".ts",".tsx"],!0)}(e.exportInfo.moduleFileName)){return startsWith(t,n(getDirectoryPath(e.exportInfo.moduleFileName)))}return!1}function getImportKind(e,t,n,r){if(n.getCompilerOptions().verbatimModuleSyntax&&1===function getEmitModuleFormatOfFile(e,t){return isFullSourceFile(e)?t.getEmitModuleFormatOfFile(e):getEmitModuleFormatOfFileWorker(e,t.getCompilerOptions())}(e,n))return 3;switch(t){case 0:return 0;case 1:return 1;case 2:return function getExportEqualsImportKind(e,t,n){const r=$n(t),i=hasJSFileExtension(e.fileName);if(!i&&Vn(t)>=5)return r?1:2;if(i)return e.externalModuleIndicator||n?r?1:2:3;for(const t of e.statements??l)if(isImportEqualsDeclaration(t)&&!nodeIsMissing(t.moduleReference))return 3;return r?1:3}(e,n.getCompilerOptions(),!!r);case 3:return function getUmdImportKind(e,t,n){if($n(t.getCompilerOptions()))return 1;const r=Vn(t.getCompilerOptions());switch(r){case 2:case 1:case 3:return hasJSFileExtension(e.fileName)&&(e.externalModuleIndicator||n)?2:3;case 4:case 5:case 6:case 7:case 99:case 0:case 200:return 2;case 100:case 101:case 102:case 199:return 99===getImpliedNodeFormatForEmit(e,t)?2:3;default:return h.assertNever(r,`Unexpected moduleKind ${r}`)}}(e,n,!!r);case 4:return 2;default:return h.assertNever(t)}}function getFixesInfoForNonUMDImport({sourceFile:e,program:t,cancellationToken:n,host:r,preferences:i},o,a){const s=t.getTypeChecker(),c=t.getCompilerOptions();return flatMap(getSymbolNamesToImport(e,s,o,c),s=>{if("default"===s)return;const c=isValidTypeOnlyAliasUseSite(o),l=shouldUseRequire(e,t),d=function getExportInfos(e,t,n,r,i,o,a,s,c){var l;const d=createMultiMap(),p=createPackageJsonImportFilter(i,c,s),u=null==(l=s.getModuleSpecifierCache)?void 0:l.call(s),m=memoizeOne(e=>createModuleSpecifierResolutionHost(e?s.getPackageJsonAutoImportProvider():o,s));function addSymbol(e,t,n,r,o,a){const s=m(a);if(isImportable(o,i,t,e,c,p,s,u)){const i=o.getTypeChecker();d.add(getUniqueSymbolId(n,i).toString(),{symbol:n,moduleSymbol:e,moduleFileName:null==t?void 0:t.fileName,exportKind:r,targetFlags:skipAlias(n,i).flags,isFromPackageJson:a})}}return forEachExternalModuleToImportFrom(o,s,c,a,(i,o,a,s)=>{const c=a.getTypeChecker();r.throwIfCancellationRequested();const l=a.getCompilerOptions(),d=getDefaultLikeExportInfo(i,c);d&&symbolFlagsHaveMeaning(c.getSymbolFlags(d.symbol),n)&&forEachNameOfDefaultExport(d.symbol,c,zn(l),(n,r)=>(t?r??n:n)===e)&&addSymbol(i,o,d.symbol,d.exportKind,a,s);const p=c.tryGetMemberInModuleExportsAndProperties(e,i);p&&symbolFlagsHaveMeaning(c.getSymbolFlags(p),n)&&addSymbol(i,o,p,0,a,s)}),d}(s,isJSXTagName(o),getMeaningFromLocation(o),n,e,t,a,r,i);return arrayFrom(flatMapIterator(d.values(),n=>getImportFixes(n,o.getStart(e),c,l,t,e,r,i).fixes),e=>({fix:e,symbolName:s,errorIdentifierText:o.text,isJsxNamespaceFix:s!==o.text}))})}function getTypeOnlyPromotionFix(e,t,n,r){const i=r.getTypeChecker(),o=i.resolveName(n,t,111551,!0);if(!o)return;const a=i.getTypeOnlyAliasDeclaration(o);return a&&getSourceFileOfNode(a)===e?{kind:4,typeOnlyAliasDeclaration:a}:void 0}function getSymbolNamesToImport(e,t,n,r){const i=n.parent;if((isJsxOpeningLikeElement(i)||isJsxClosingElement(i))&&i.tagName===n&&jsxModeNeedsExplicitImport(r.jsx)){const r=t.getJsxNamespace(e);if(function needsJsxNamespaceFix(e,t,n){if(isIntrinsicJsxName(t.text))return!0;const r=n.resolveName(e,t,111551,!0);return!r||some(r.declarations,isTypeOnlyImportOrExportDeclaration)&&!(111551&r.flags)}(r,n,t)){return!isIntrinsicJsxName(n.text)&&!t.resolveName(n.text,n,111551,!1)?[n.text,r]:[r]}}return[n.text]}function codeActionForFix(e,t,n,r,i,o,a){let s;const c=$m.ChangeTracker.with(e,e=>{s=function codeActionForFixWorker(e,t,n,r,i,o,a){const s=getQuotePreference(t,a);switch(r.kind){case 0:return addNamespaceQualifier(e,t,r),[Ot.Change_0_to_1,n,`${r.namespacePrefix}.${n}`];case 1:return addImportType(e,t,r,s),[Ot.Change_0_to_1,n,getImportTypePrefix(r.moduleSpecifier,s)+n];case 2:{const{importClauseOrBindingPattern:o,importKind:s,addAsTypeOnly:c,moduleSpecifier:d}=r;doAddExistingFix(e,t,o,1===s?{name:n,addAsTypeOnly:c}:void 0,0===s?[{name:n,addAsTypeOnly:c}]:l,void 0,a);const p=stripQuotes(d);return i?[Ot.Import_0_from_1,n,p]:[Ot.Update_import_from_0,p]}case 3:{const{importKind:c,moduleSpecifier:l,addAsTypeOnly:d,useRequire:p,qualification:u}=r;return insertImports(e,t,(p?getNewRequires:getNewImports)(l,s,1===c?{name:n,addAsTypeOnly:d}:void 0,0===c?[{name:n,addAsTypeOnly:d}]:void 0,2===c||3===c?{importKind:c,name:(null==u?void 0:u.namespacePrefix)||n,addAsTypeOnly:d}:void 0,o.getCompilerOptions(),a),!0,a),u&&addNamespaceQualifier(e,t,u),i?[Ot.Import_0_from_1,n,l]:[Ot.Add_import_from_0,l]}case 4:{const{typeOnlyAliasDeclaration:i}=r,s=function promoteFromTypeOnly(e,t,n,r,i){const o=n.getCompilerOptions(),a=o.verbatimModuleSyntax;switch(t.kind){case 277:if(t.isTypeOnly){if(t.parent.elements.length>1){const n=Wr.updateImportSpecifier(t,!1,t.propertyName,t.name),{specifierComparer:o}=Bm.getNamedImportSpecifierComparerWithDetection(t.parent.parent.parent,i,r),a=Bm.getImportSpecifierInsertionIndex(t.parent.elements,n,o);if(a!==t.parent.elements.indexOf(t))return e.delete(r,t),e.insertImportSpecifierAtIndex(r,n,t.parent,a),t}return e.deleteRange(r,{pos:getTokenPosOfNode(t.getFirstToken()),end:getTokenPosOfNode(t.propertyName??t.name)}),t}return h.assert(t.parent.parent.isTypeOnly),promoteImportClause(t.parent.parent),t.parent.parent;case 274:return promoteImportClause(t),t;case 275:return promoteImportClause(t.parent),t.parent;case 272:return e.deleteRange(r,t.getChildAt(1)),t;default:h.failBadSyntaxKind(t)}function promoteImportClause(s){var c;if(e.delete(r,getTypeKeywordOfTypeOnlyImport(s,r)),!o.allowImportingTsExtensions){const t=tryGetModuleSpecifierFromDeclaration(s.parent),i=t&&(null==(c=n.getResolvedModuleFromModuleSpecifier(t,r))?void 0:c.resolvedModule);if(null==i?void 0:i.resolvedUsingTsExtension){const n=changeAnyExtension(t.text,getOutputExtension(t.text,o));e.replaceNode(r,t,Wr.createStringLiteral(n))}}if(a){const n=tryCast(s.namedBindings,isNamedImports);if(n&&n.elements.length>1){!1!==Bm.getNamedImportSpecifierComparerWithDetection(s.parent,i,r).isSorted&&277===t.kind&&0!==n.elements.indexOf(t)&&(e.delete(r,t),e.insertImportSpecifierAtIndex(r,t,n,0));for(const i of n.elements)i===t||i.isTypeOnly||e.insertModifierBefore(r,156,i)}}}}(e,i,o,t,a);return 277===s.kind?[Ot.Remove_type_from_import_of_0_from_1,n,getModuleSpecifierText(s.parent.parent)]:[Ot.Remove_type_from_import_declaration_from_0,getModuleSpecifierText(s)]}default:return h.assertNever(r,`Unexpected fix kind ${r.kind}`)}}(e,t,n,r,i,o,a)});return createCodeFixAction(Ud,c,s,zd,Ot.Add_all_missing_imports)}function getModuleSpecifierText(e){var t,n;return 272===e.kind?(null==(n=tryCast(null==(t=tryCast(e.moduleReference,isExternalModuleReference))?void 0:t.expression,isStringLiteralLike))?void 0:n.text)||e.moduleReference.getText():cast(e.parent.moduleSpecifier,isStringLiteral).text}function doAddExistingFix(e,t,n,r,i,o,a){var s;if(207===n.kind){if(o&&n.elements.some(e=>o.has(e)))return void e.replaceNode(t,n,Wr.createObjectBindingPattern([...n.elements.filter(e=>!o.has(e)),...r?[Wr.createBindingElement(void 0,"default",r.name)]:l,...i.map(e=>Wr.createBindingElement(void 0,e.propertyName,e.name))]));r&&addElementToBindingPattern(n,r.name,"default");for(const e of i)addElementToBindingPattern(n,e.name,e.propertyName);return}const c=n.isTypeOnly&&some([r,...i],e=>4===(null==e?void 0:e.addAsTypeOnly)),d=n.namedBindings&&(null==(s=tryCast(n.namedBindings,isNamedImports))?void 0:s.elements);if(r&&(h.assert(!n.name,"Cannot add a default import to an import clause that already has one"),e.insertNodeAt(t,n.getStart(t),Wr.createIdentifier(r.name),{suffix:", "})),i.length){const{specifierComparer:r,isSorted:s}=Bm.getNamedImportSpecifierComparerWithDetection(n.parent,a,t),l=toSorted(i.map(e=>Wr.createImportSpecifier((!n.isTypeOnly||c)&&shouldUseTypeOnly(e,a),void 0===e.propertyName?void 0:Wr.createIdentifier(e.propertyName),Wr.createIdentifier(e.name))),r);if(o)e.replaceNode(t,n.namedBindings,Wr.updateNamedImports(n.namedBindings,toSorted([...d.filter(e=>!o.has(e)),...l],r)));else if((null==d?void 0:d.length)&&!1!==s){const i=c&&d?Wr.updateNamedImports(n.namedBindings,sameMap(d,e=>Wr.updateImportSpecifier(e,!0,e.propertyName,e.name))).elements:d;for(const o of l){const a=Bm.getImportSpecifierInsertionIndex(i,o,r);e.insertImportSpecifierAtIndex(t,o,n.namedBindings,a)}}else if(null==d?void 0:d.length)for(const n of l)e.insertNodeInListAfter(t,last(d),n,d);else if(l.length){const r=Wr.createNamedImports(l);n.namedBindings?e.replaceNode(t,n.namedBindings,r):e.insertNodeAfter(t,h.checkDefined(n.name,"Import clause must have either named imports or a default import"),r)}}if(c&&(e.delete(t,getTypeKeywordOfTypeOnlyImport(n,t)),d))for(const n of d)e.insertModifierBefore(t,156,n);function addElementToBindingPattern(n,r,i){const o=Wr.createBindingElement(void 0,i,r);n.elements.length?e.insertNodeInListAfter(t,last(n.elements),o):e.replaceNode(t,n,Wr.createObjectBindingPattern([o]))}}function addNamespaceQualifier(e,t,{namespacePrefix:n,usagePosition:r}){e.insertText(t,r,n+".")}function addImportType(e,t,{moduleSpecifier:n,usagePosition:r},i){e.insertText(t,r,getImportTypePrefix(n,i))}function getImportTypePrefix(e,t){const n=getQuoteFromPreference(t);return`import(${n}${e}${n}).`}function needsTypeOnly({addAsTypeOnly:e}){return 2===e}function shouldUseTypeOnly(e,t){return needsTypeOnly(e)||!!t.preferTypeOnlyAutoImports&&4!==e.addAsTypeOnly}function getNewImports(e,t,n,r,i,o,a){const s=makeStringLiteral(e,t);let c;if(void 0!==n||(null==r?void 0:r.length)){const i=(!n||needsTypeOnly(n))&&every(r,needsTypeOnly)||(o.verbatimModuleSyntax||a.preferTypeOnlyAutoImports)&&4!==(null==n?void 0:n.addAsTypeOnly)&&!some(r,e=>4===e.addAsTypeOnly);c=combine(c,makeImport(n&&Wr.createIdentifier(n.name),null==r?void 0:r.map(e=>Wr.createImportSpecifier(!i&&shouldUseTypeOnly(e,a),void 0===e.propertyName?void 0:Wr.createIdentifier(e.propertyName),Wr.createIdentifier(e.name))),e,t,i))}if(i){c=combine(c,3===i.importKind?Wr.createImportEqualsDeclaration(void 0,shouldUseTypeOnly(i,a),Wr.createIdentifier(i.name),Wr.createExternalModuleReference(s)):Wr.createImportDeclaration(void 0,Wr.createImportClause(shouldUseTypeOnly(i,a)?156:void 0,void 0,Wr.createNamespaceImport(Wr.createIdentifier(i.name))),s,void 0))}return h.checkDefined(c)}function getNewRequires(e,t,n,r,i){const o=makeStringLiteral(e,t);let a;if(n||(null==r?void 0:r.length)){const e=(null==r?void 0:r.map(({name:e,propertyName:t})=>Wr.createBindingElement(void 0,t,e)))||[];n&&e.unshift(Wr.createBindingElement(void 0,"default",n.name));a=combine(a,createConstEqualsRequireDeclaration(Wr.createObjectBindingPattern(e),o))}if(i){a=combine(a,createConstEqualsRequireDeclaration(i.name,o))}return h.checkDefined(a)}function createConstEqualsRequireDeclaration(e,t){return Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration("string"==typeof e?Wr.createIdentifier(e):e,void 0,void 0,Wr.createCallExpression(Wr.createIdentifier("require"),void 0,[t]))],2))}function symbolFlagsHaveMeaning(e,t){return 7===t||(1&t?!!(111551&e):2&t?!!(788968&e):!!(4&t)&&!!(1920&e))}function getImpliedNodeFormatForEmit(e,t){return isFullSourceFile(e)?t.getImpliedNodeFormatForEmit(e):getImpliedNodeFormatForEmitWorker(e,t.getCompilerOptions())}registerCodeFix({errorCodes:Vd,getCodeActions(e){const{errorCode:t,preferences:n,sourceFile:r,span:i,program:o}=e,a=getFixInfos(e,t,i.start,!0);if(a)return a.map(({fix:t,symbolName:i,errorIdentifierText:a})=>codeActionForFix(e,r,i,t,i!==a,o,n))},fixIds:[zd],getAllCodeActions:e=>{const{sourceFile:t,program:n,preferences:r,host:i,cancellationToken:o}=e,a=createImportAdderWorker(t,n,!0,r,i,o);return eachDiagnostic(e,Vd,t=>a.addImportFromDiagnostic(t,e)),createCombinedCodeActions($m.ChangeTracker.with(e,a.writeFixes))}});var qd="addMissingConstraint",Hd=[Ot.Type_0_is_not_comparable_to_type_1.code,Ot.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,Ot.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,Ot.Type_0_is_not_assignable_to_type_1.code,Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,Ot.Property_0_is_incompatible_with_index_signature.code,Ot.Property_0_in_type_1_is_not_assignable_to_type_2.code,Ot.Type_0_does_not_satisfy_the_constraint_1.code];function getInfo6(e,t,n){const r=find(e.getSemanticDiagnostics(t),e=>e.start===n.start&&e.length===n.length);if(void 0===r||void 0===r.relatedInformation)return;const i=find(r.relatedInformation,e=>e.code===Ot.This_type_parameter_might_need_an_extends_0_constraint.code);if(void 0===i||void 0===i.file||void 0===i.start||void 0===i.length)return;let o=findAncestorMatchingSpan(i.file,createTextSpan(i.start,i.length));if(void 0!==o&&(isIdentifier(o)&&isTypeParameterDeclaration(o.parent)&&(o=o.parent),isTypeParameterDeclaration(o))){if(isMappedTypeNode(o.parent))return;const r=getTokenAtPosition(t,n.start),a=function tryGetConstraintType(e,t){if(isTypeNode(t.parent))return e.getTypeArgumentConstraint(t.parent);const n=isExpression(t)?e.getContextualType(t):void 0;return n||e.getTypeAtLocation(t)}(e.getTypeChecker(),r)||function tryGetConstraintFromDiagnosticMessage(e){const[,t]=flattenDiagnosticMessageText(e,"\n",0).match(/`extends (.*)`/)||[];return t}(i.messageText);return{constraint:a,declaration:o,token:r}}}function addMissingConstraint(e,t,n,r,i,o){const{declaration:a,constraint:s}=o,c=t.getTypeChecker();if(isString(s))e.insertText(i,a.name.end,` extends ${s}`);else{const o=zn(t.getCompilerOptions()),l=getNoopSymbolTrackerWithResolver({program:t,host:r}),d=createImportAdder(i,t,n,r),p=typeToAutoImportableTypeNode(c,d,s,void 0,o,void 0,void 0,l);p&&(e.replaceNode(i,a,Wr.updateTypeParameterDeclaration(a,void 0,a.name,p,a.default)),d.writeFixes(e))}}registerCodeFix({errorCodes:Hd,getCodeActions(e){const{sourceFile:t,span:n,program:r,preferences:i,host:o}=e,a=getInfo6(r,t,n);if(void 0===a)return;const s=$m.ChangeTracker.with(e,e=>addMissingConstraint(e,r,i,o,t,a));return[createCodeFixAction(qd,s,Ot.Add_extends_constraint,qd,Ot.Add_extends_constraint_to_all_type_parameters)]},fixIds:[qd],getAllCodeActions:e=>{const{program:t,preferences:n,host:r}=e,i=new Set;return createCombinedCodeActions($m.ChangeTracker.with(e,o=>{eachDiagnostic(e,Hd,e=>{const a=getInfo6(t,e.file,createTextSpan(e.start,e.length));if(a&&addToSeen(i,getNodeId(a.declaration)))return addMissingConstraint(o,t,n,r,e.file,a)})}))}});var Kd="fixOverrideModifier",Gd="fixAddOverrideModifier",$d="fixRemoveOverrideModifier",Qd=[Ot.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code,Ot.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,Ot.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code,Ot.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code,Ot.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code,Ot.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code,Ot.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code],Xd={[Ot.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:Ot.Add_override_modifier,fixId:Gd,fixAllDescriptions:Ot.Add_all_missing_override_modifiers},[Ot.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:Ot.Add_override_modifier,fixId:Gd,fixAllDescriptions:Ot.Add_all_missing_override_modifiers},[Ot.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code]:{descriptions:Ot.Remove_override_modifier,fixId:$d,fixAllDescriptions:Ot.Remove_all_unnecessary_override_modifiers},[Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code]:{descriptions:Ot.Remove_override_modifier,fixId:$d,fixAllDescriptions:Ot.Remove_override_modifier},[Ot.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code]:{descriptions:Ot.Add_override_modifier,fixId:Gd,fixAllDescriptions:Ot.Add_all_missing_override_modifiers},[Ot.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:Ot.Add_override_modifier,fixId:Gd,fixAllDescriptions:Ot.Add_all_missing_override_modifiers},[Ot.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code]:{descriptions:Ot.Add_override_modifier,fixId:Gd,fixAllDescriptions:Ot.Remove_all_unnecessary_override_modifiers},[Ot.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code]:{descriptions:Ot.Remove_override_modifier,fixId:$d,fixAllDescriptions:Ot.Remove_all_unnecessary_override_modifiers},[Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code]:{descriptions:Ot.Remove_override_modifier,fixId:$d,fixAllDescriptions:Ot.Remove_all_unnecessary_override_modifiers}};function dispatchChanges(e,t,n,r){switch(n){case Ot.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:case Ot.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:case Ot.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code:case Ot.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:case Ot.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:return function doAddOverrideModifierChange(e,t,n){const r=findContainerClassElementLike(t,n);if(isSourceFileJS(t))return void e.addJSDocTags(t,r,[Wr.createJSDocOverrideTag(Wr.createIdentifier("override"))]);const i=r.modifiers||l,o=find(i,isStaticModifier),a=find(i,isAbstractModifier),s=find(i,e=>isAccessibilityModifier(e.kind)),c=findLast(i,isDecorator),d=a?a.end:o?o.end:s?s.end:c?skipTrivia(t.text,c.end):r.getStart(t),p=s||o||a?{prefix:" "}:{suffix:" "};e.insertModifierAt(t,d,164,p)}(e,t.sourceFile,r);case Ot.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:case Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code:case Ot.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:case Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code:return function doRemoveOverrideModifierChange(e,t,n){const r=findContainerClassElementLike(t,n);if(isSourceFileJS(t))return void e.filterJSDocTags(t,r,not(isJSDocOverrideTag));const i=find(r.modifiers,isOverrideModifier);h.assertIsDefined(i),e.deleteModifier(t,i)}(e,t.sourceFile,r);default:h.fail("Unexpected error code: "+n)}}function isClassElementLikeHasJSDoc(e){switch(e.kind){case 177:case 173:case 175:case 178:case 179:return!0;case 170:return isParameterPropertyDeclaration(e,e.parent);default:return!1}}function findContainerClassElementLike(e,t){const n=findAncestor(getTokenAtPosition(e,t),e=>isClassLike(e)?"quit":isClassElementLikeHasJSDoc(e));return h.assert(n&&isClassElementLikeHasJSDoc(n)),n}registerCodeFix({errorCodes:Qd,getCodeActions:function getCodeActionsToFixOverrideModifierIssues(e){const{errorCode:t,span:n}=e,r=Xd[t];if(!r)return l;const{descriptions:i,fixId:o,fixAllDescriptions:a}=r,s=$m.ChangeTracker.with(e,r=>dispatchChanges(r,e,t,n.start));return[createCodeFixActionMaybeFixAll(Kd,s,i,o,a)]},fixIds:[Kd,Gd,$d],getAllCodeActions:e=>codeFixAll(e,Qd,(t,n)=>{const{code:r,start:i}=n,o=Xd[r];o&&o.fixId===e.fixId&&dispatchChanges(t,e,r,i)})});var Yd="fixNoPropertyAccessFromIndexSignature",Zd=[Ot.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0.code];function doChange14(e,t,n,r){const i=getQuotePreference(t,r),o=Wr.createStringLiteral(n.name.text,0===i);e.replaceNode(t,n,isPropertyAccessChain(n)?Wr.createElementAccessChain(n.expression,n.questionDotToken,o):Wr.createElementAccessExpression(n.expression,o))}function getPropertyAccessExpression(e,t){return cast(getTokenAtPosition(e,t).parent,isPropertyAccessExpression)}registerCodeFix({errorCodes:Zd,fixIds:[Yd],getCodeActions(e){const{sourceFile:t,span:n,preferences:r}=e,i=getPropertyAccessExpression(t,n.start),o=$m.ChangeTracker.with(e,t=>doChange14(t,e.sourceFile,i,r));return[createCodeFixAction(Yd,o,[Ot.Use_element_access_for_0,i.name.text],Yd,Ot.Use_element_access_for_all_undeclared_properties)]},getAllCodeActions:e=>codeFixAll(e,Zd,(t,n)=>doChange14(t,n.file,getPropertyAccessExpression(n.file,n.start),e.preferences))});var ep="fixImplicitThis",tp=[Ot.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code];function doChange15(e,t,n,r){const i=getTokenAtPosition(t,n);if(!isThis(i))return;const o=getThisContainer(i,!1,!1);if((isFunctionDeclaration(o)||isFunctionExpression(o))&&!isSourceFile(getThisContainer(o,!1,!1))){const n=h.checkDefined(findChildOfKind(o,100,t)),{name:i}=o,a=h.checkDefined(o.body);if(isFunctionExpression(o)){if(i&&vm.Core.isSymbolReferencedInFile(i,r,t,a))return;return e.delete(t,n),i&&e.delete(t,i),e.insertText(t,a.pos," =>"),[Ot.Convert_function_expression_0_to_arrow_function,i?i.text:Xs]}return e.replaceNode(t,n,Wr.createToken(87)),e.insertText(t,i.end," = "),e.insertText(t,a.pos," =>"),[Ot.Convert_function_declaration_0_to_arrow_function,i.text]}}registerCodeFix({errorCodes:tp,getCodeActions:function getCodeActionsToFixImplicitThis(e){const{sourceFile:t,program:n,span:r}=e;let i;const o=$m.ChangeTracker.with(e,e=>{i=doChange15(e,t,r.start,n.getTypeChecker())});return i?[createCodeFixAction(ep,o,i,ep,Ot.Fix_all_implicit_this_errors)]:l},fixIds:[ep],getAllCodeActions:e=>codeFixAll(e,tp,(t,n)=>{doChange15(t,n.file,n.start,e.program.getTypeChecker())})});var np="fixImportNonExportedMember",rp=[Ot.Module_0_declares_1_locally_but_it_is_not_exported.code];function getInfo7(e,t,n){var r,i;const o=getTokenAtPosition(e,t);if(isIdentifier(o)){const t=findAncestor(o,isImportDeclaration);if(void 0===t)return;const a=isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier:void 0;if(void 0===a)return;const s=null==(r=n.getResolvedModuleFromModuleSpecifier(a,e))?void 0:r.resolvedModule;if(void 0===s)return;const c=n.getSourceFile(s.resolvedFileName);if(void 0===c||isSourceFileFromLibrary(n,c))return;const l=null==(i=tryCast(c.symbol.valueDeclaration,canHaveLocals))?void 0:i.locals;if(void 0===l)return;const d=l.get(o.escapedText);if(void 0===d)return;const p=function getNodeOfSymbol(e){if(void 0===e.valueDeclaration)return firstOrUndefined(e.declarations);const t=e.valueDeclaration,n=isVariableDeclaration(t)?tryCast(t.parent.parent,isVariableStatement):void 0;return n&&1===length(n.declarationList.declarations)?n:t}(d);if(void 0===p)return;return{exportName:{node:o,isTypeOnly:isTypeDeclaration(p)},node:p,moduleSourceFile:c,moduleSpecifier:a.text}}}function doChanges(e,t,n,r,i){length(r)&&(i?updateExport(e,t,n,i,r):createExport(e,t,n,r))}function tryGetExportDeclaration(e,t){return findLast(e.statements,e=>isExportDeclaration(e)&&(t&&e.isTypeOnly||!e.isTypeOnly))}function updateExport(e,t,n,r,i){const o=r.exportClause&&isNamedExports(r.exportClause)?r.exportClause.elements:Wr.createNodeArray([]),a=!(r.isTypeOnly||!Kn(t.getCompilerOptions())&&!find(o,e=>e.isTypeOnly));e.replaceNode(n,r,Wr.updateExportDeclaration(r,r.modifiers,r.isTypeOnly,Wr.createNamedExports(Wr.createNodeArray([...o,...createExportSpecifiers(i,a)],o.hasTrailingComma)),r.moduleSpecifier,r.attributes))}function createExport(e,t,n,r){e.insertNodeAtEndOfScope(n,n,Wr.createExportDeclaration(void 0,!1,Wr.createNamedExports(createExportSpecifiers(r,Kn(t.getCompilerOptions()))),void 0,void 0))}function createExportSpecifiers(e,t){return Wr.createNodeArray(map(e,e=>Wr.createExportSpecifier(t&&e.isTypeOnly,void 0,e.node)))}registerCodeFix({errorCodes:rp,fixIds:[np],getCodeActions(e){const{sourceFile:t,span:n,program:r}=e,i=getInfo7(t,n.start,r);if(void 0===i)return;const o=$m.ChangeTracker.with(e,e=>function doChange16(e,t,{exportName:n,node:r,moduleSourceFile:i}){const o=tryGetExportDeclaration(i,n.isTypeOnly);o?updateExport(e,t,i,o,[n]):canHaveExportModifier(r)?e.insertExportModifier(i,r):createExport(e,t,i,[n])}(e,r,i));return[createCodeFixAction(np,o,[Ot.Export_0_from_module_1,i.exportName.node.text,i.moduleSpecifier],np,Ot.Export_all_referenced_locals)]},getAllCodeActions(e){const{program:t}=e;return createCombinedCodeActions($m.ChangeTracker.with(e,n=>{const r=new Map;eachDiagnostic(e,rp,e=>{const i=getInfo7(e.file,e.start,t);if(void 0===i)return;const{exportName:o,node:a,moduleSourceFile:s}=i;if(void 0===tryGetExportDeclaration(s,o.isTypeOnly)&&canHaveExportModifier(a))n.insertExportModifier(s,a);else{const e=r.get(s)||{typeOnlyExports:[],exports:[]};o.isTypeOnly?e.typeOnlyExports.push(o):e.exports.push(o),r.set(s,e)}}),r.forEach((e,r)=>{const i=tryGetExportDeclaration(r,!0);i&&i.isTypeOnly?(doChanges(n,t,r,e.typeOnlyExports,i),doChanges(n,t,r,e.exports,tryGetExportDeclaration(r,!1))):doChanges(n,t,r,[...e.exports,...e.typeOnlyExports],i)})}))}});var ip="fixIncorrectNamedTupleSyntax";registerCodeFix({errorCodes:[Ot.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,Ot.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code],getCodeActions:function getCodeActionsToFixIncorrectNamedTupleSyntax(e){const{sourceFile:t,span:n}=e,r=function getNamedTupleMember(e,t){const n=getTokenAtPosition(e,t);return findAncestor(n,e=>203===e.kind)}(t,n.start),i=$m.ChangeTracker.with(e,e=>function doChange17(e,t,n){if(!n)return;let r=n.type,i=!1,o=!1;for(;191===r.kind||192===r.kind||197===r.kind;)191===r.kind?i=!0:192===r.kind&&(o=!0),r=r.type;const a=Wr.updateNamedTupleMember(n,n.dotDotDotToken||(o?Wr.createToken(26):void 0),n.name,n.questionToken||(i?Wr.createToken(58):void 0),r);if(a===n)return;e.replaceNode(t,n,a)}(e,t,r));return[createCodeFixAction(ip,i,Ot.Move_labeled_tuple_element_modifiers_to_labels,ip,Ot.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[ip]});var op="fixSpelling",ap=[Ot.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,Ot.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,Ot.Cannot_find_name_0_Did_you_mean_1.code,Ot.Could_not_find_name_0_Did_you_mean_1.code,Ot.Cannot_find_namespace_0_Did_you_mean_1.code,Ot.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,Ot.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,Ot._0_has_no_exported_member_named_1_Did_you_mean_2.code,Ot.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,Ot.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,Ot.No_overload_matches_this_call.code,Ot.Type_0_is_not_assignable_to_type_1.code];function getInfo8(e,t,n,r){const i=getTokenAtPosition(e,t),o=i.parent;if((r===Ot.No_overload_matches_this_call.code||r===Ot.Type_0_is_not_assignable_to_type_1.code)&&!isJsxAttribute(o))return;const a=n.program.getTypeChecker();let s;if(isPropertyAccessExpression(o)&&o.name===i){h.assert(isMemberName(i),"Expected an identifier for spelling (property access)");let e=a.getTypeAtLocation(o.expression);64&o.flags&&(e=a.getNonNullableType(e)),s=a.getSuggestedSymbolForNonexistentProperty(i,e)}else if(isBinaryExpression(o)&&103===o.operatorToken.kind&&o.left===i&&isPrivateIdentifier(i)){const e=a.getTypeAtLocation(o.right);s=a.getSuggestedSymbolForNonexistentProperty(i,e)}else if(isQualifiedName(o)&&o.right===i){const e=a.getSymbolAtLocation(o.left);e&&1536&e.flags&&(s=a.getSuggestedSymbolForNonexistentModule(o.right,e))}else if(isImportSpecifier(o)&&o.name===i){h.assertNode(i,isIdentifier,"Expected an identifier for spelling (import)");const t=function getResolvedSourceFileFromImportDeclaration(e,t,n){var r;if(!t||!isStringLiteralLike(t.moduleSpecifier))return;const i=null==(r=e.program.getResolvedModuleFromModuleSpecifier(t.moduleSpecifier,n))?void 0:r.resolvedModule;return i?e.program.getSourceFile(i.resolvedFileName):void 0}(n,findAncestor(i,isImportDeclaration),e);t&&t.symbol&&(s=a.getSuggestedSymbolForNonexistentModule(i,t.symbol))}else if(isJsxAttribute(o)&&o.name===i){h.assertNode(i,isIdentifier,"Expected an identifier for JSX attribute");const e=findAncestor(i,isJsxOpeningLikeElement),t=a.getContextualTypeForArgumentAtIndex(e,0);s=a.getSuggestedSymbolForNonexistentJSXAttribute(i,t)}else if(hasOverrideModifier(o)&&isClassElement(o)&&o.name===i){const e=findAncestor(i,isClassLike),t=e?getEffectiveBaseTypeNode(e):void 0,n=t?a.getTypeAtLocation(t):void 0;n&&(s=a.getSuggestedSymbolForNonexistentClassMember(getTextOfNode(i),n))}else{const e=getMeaningFromLocation(i),t=getTextOfNode(i);h.assert(void 0!==t,"name should be defined"),s=a.getSuggestedSymbolForNonexistentSymbol(i,t,function convertSemanticMeaningToSymbolFlags(e){let t=0;4&e&&(t|=1920);2&e&&(t|=788968);1&e&&(t|=111551);return t}(e))}return void 0===s?void 0:{node:i,suggestedSymbol:s}}function doChange18(e,t,n,r,i){const o=symbolName(r);if(!isIdentifierText(o,i)&&isPropertyAccessExpression(n.parent)){const i=r.valueDeclaration;i&&isNamedDeclaration(i)&&isPrivateIdentifier(i.name)?e.replaceNode(t,n,Wr.createIdentifier(o)):e.replaceNode(t,n.parent,Wr.createElementAccessExpression(n.parent.expression,Wr.createStringLiteral(o)))}else e.replaceNode(t,n,Wr.createIdentifier(o))}registerCodeFix({errorCodes:ap,getCodeActions(e){const{sourceFile:t,errorCode:n}=e,r=getInfo8(t,e.span.start,e,n);if(!r)return;const{node:i,suggestedSymbol:o}=r,a=zn(e.host.getCompilationSettings());return[createCodeFixAction("spelling",$m.ChangeTracker.with(e,e=>doChange18(e,t,i,o,a)),[Ot.Change_spelling_to_0,symbolName(o)],op,Ot.Fix_all_detected_spelling_errors)]},fixIds:[op],getAllCodeActions:e=>codeFixAll(e,ap,(t,n)=>{const r=getInfo8(n.file,n.start,e,n.code),i=zn(e.host.getCompilationSettings());r&&doChange18(t,e.sourceFile,r.node,r.suggestedSymbol,i)})});var sp="returnValueCorrect",cp="fixAddReturnStatement",lp="fixRemoveBracesFromArrowFunctionBody",dp="fixWrapTheBlockWithParen",pp=[Ot.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value.code,Ot.Type_0_is_not_assignable_to_type_1.code,Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code];function createObjectTypeFromLabeledExpression(e,t,n){const r=e.createSymbol(4,t.escapedText);r.links.type=e.getTypeAtLocation(n);const i=createSymbolTable([r]);return e.createAnonymousType(void 0,i,[],[],[])}function getFixInfo(e,t,n,r){if(!t.body||!isBlock(t.body)||1!==length(t.body.statements))return;const i=first(t.body.statements);if(isExpressionStatement(i)&&checkFixedAssignableTo(e,t,e.getTypeAtLocation(i.expression),n,r))return{declaration:t,kind:0,expression:i.expression,statement:i,commentSource:i.expression};if(isLabeledStatement(i)&&isExpressionStatement(i.statement)){const o=Wr.createObjectLiteralExpression([Wr.createPropertyAssignment(i.label,i.statement.expression)]);if(checkFixedAssignableTo(e,t,createObjectTypeFromLabeledExpression(e,i.label,i.statement.expression),n,r))return isArrowFunction(t)?{declaration:t,kind:1,expression:o,statement:i,commentSource:i.statement.expression}:{declaration:t,kind:0,expression:o,statement:i,commentSource:i.statement.expression}}else if(isBlock(i)&&1===length(i.statements)){const o=first(i.statements);if(isLabeledStatement(o)&&isExpressionStatement(o.statement)){const a=Wr.createObjectLiteralExpression([Wr.createPropertyAssignment(o.label,o.statement.expression)]);if(checkFixedAssignableTo(e,t,createObjectTypeFromLabeledExpression(e,o.label,o.statement.expression),n,r))return{declaration:t,kind:0,expression:a,statement:i,commentSource:o}}}}function checkFixedAssignableTo(e,t,n,r,i){if(i){const r=e.getSignatureFromDeclaration(t);if(r){hasSyntacticModifier(t,1024)&&(n=e.createPromiseType(n));const i=e.createSignature(t,r.typeParameters,r.thisParameter,r.parameters,n,void 0,r.minArgumentCount,r.flags);n=e.createAnonymousType(void 0,createSymbolTable(),[i],[],[])}else n=e.getAnyType()}return e.isTypeAssignableTo(n,r)}function getInfo9(e,t,n,r){const i=getTokenAtPosition(t,n);if(!i.parent)return;const o=findAncestor(i.parent,isFunctionLikeDeclaration);switch(r){case Ot.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value.code:if(!(o&&o.body&&o.type&&rangeContainsRange(o.type,i)))return;return getFixInfo(e,o,e.getTypeFromTypeNode(o.type),!1);case Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!o||!isCallExpression(o.parent)||!o.body)return;const t=o.parent.arguments.indexOf(o);if(-1===t)return;const n=e.getContextualTypeForArgumentAtIndex(o.parent,t);if(!n)return;return getFixInfo(e,o,n,!0);case Ot.Type_0_is_not_assignable_to_type_1.code:if(!isDeclarationName(i)||!isVariableLike(i.parent)&&!isJsxAttribute(i.parent))return;const r=function getVariableLikeInitializer(e){switch(e.kind){case 261:case 170:case 209:case 173:case 304:return e.initializer;case 292:return e.initializer&&(isJsxExpression(e.initializer)?e.initializer.expression:void 0);case 305:case 172:case 307:case 349:case 342:return}}(i.parent);if(!r||!isFunctionLikeDeclaration(r)||!r.body)return;return getFixInfo(e,r,e.getTypeAtLocation(i.parent),!0)}}function addReturnStatement(e,t,n,r){suppressLeadingAndTrailingTrivia(n);const i=probablyUsesSemicolons(t);e.replaceNode(t,r,Wr.createReturnStatement(n),{leadingTriviaOption:$m.LeadingTriviaOption.Exclude,trailingTriviaOption:$m.TrailingTriviaOption.Exclude,suffix:i?";":void 0})}function removeBlockBodyBrace(e,t,n,r,i,o){const a=o||needsParentheses(r)?Wr.createParenthesizedExpression(r):r;suppressLeadingAndTrailingTrivia(i),copyComments(i,a),e.replaceNode(t,n.body,a)}function wrapBlockWithParen(e,t,n,r){e.replaceNode(t,n.body,Wr.createParenthesizedExpression(r))}function getActionForfixAddReturnStatement(e,t,n){const r=$m.ChangeTracker.with(e,r=>addReturnStatement(r,e.sourceFile,t,n));return createCodeFixAction(sp,r,Ot.Add_a_return_statement,cp,Ot.Add_all_missing_return_statement)}function getActionForfixWrapTheBlockWithParen(e,t,n){const r=$m.ChangeTracker.with(e,r=>wrapBlockWithParen(r,e.sourceFile,t,n));return createCodeFixAction(sp,r,Ot.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,dp,Ot.Wrap_all_object_literal_with_parentheses)}registerCodeFix({errorCodes:pp,fixIds:[cp,lp,dp],getCodeActions:function getCodeActionsToCorrectReturnValue(e){const{program:t,sourceFile:n,span:{start:r},errorCode:i}=e,o=getInfo9(t.getTypeChecker(),n,r,i);if(o)return 0===o.kind?append([getActionForfixAddReturnStatement(e,o.expression,o.statement)],isArrowFunction(o.declaration)?function getActionForFixRemoveBracesFromArrowFunctionBody(e,t,n,r){const i=$m.ChangeTracker.with(e,i=>removeBlockBodyBrace(i,e.sourceFile,t,n,r,!1));return createCodeFixAction(sp,i,Ot.Remove_braces_from_arrow_function_body,lp,Ot.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}(e,o.declaration,o.expression,o.commentSource):void 0):[getActionForfixWrapTheBlockWithParen(e,o.declaration,o.expression)]},getAllCodeActions:e=>codeFixAll(e,pp,(t,n)=>{const r=getInfo9(e.program.getTypeChecker(),n.file,n.start,n.code);if(r)switch(e.fixId){case cp:addReturnStatement(t,n.file,r.expression,r.statement);break;case lp:if(!isArrowFunction(r.declaration))return;removeBlockBodyBrace(t,n.file,r.declaration,r.expression,r.commentSource,!1);break;case dp:if(!isArrowFunction(r.declaration))return;wrapBlockWithParen(t,n.file,r.declaration,r.expression);break;default:h.fail(JSON.stringify(e.fixId))}})});var up="fixMissingMember",mp="fixMissingProperties",_p="fixMissingAttributes",fp="fixMissingFunctionDeclaration",gp=[Ot.Property_0_does_not_exist_on_type_1.code,Ot.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,Ot.Property_0_is_missing_in_type_1_but_required_in_type_2.code,Ot.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,Ot.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,Ot.Cannot_find_name_0.code,Ot.Type_0_does_not_satisfy_the_expected_type_1.code];function getInfo10(e,t,n,r,i){var o,a;const s=getTokenAtPosition(e,t),c=s.parent;if(n===Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code){if(19!==s.kind||!isObjectLiteralExpression(c)||!isCallExpression(c.parent))return;const e=findIndex(c.parent.arguments,e=>e===c);if(e<0)return;const t=r.getResolvedSignature(c.parent);if(!(t&&t.declaration&&t.parameters[e]))return;const n=t.parameters[e].valueDeclaration;if(!(n&&isParameter(n)&&isIdentifier(n.name)))return;const i=arrayFrom(r.getUnmatchedProperties(r.getTypeAtLocation(c),r.getParameterType(t,e).getNonNullableType(),!1,!1));if(!length(i))return;return{kind:3,token:n.name,identifier:n.name.text,properties:i,parentDeclaration:c}}if(19===s.kind||isSatisfiesExpression(c)||isReturnStatement(c)){const e=(isSatisfiesExpression(c)||isReturnStatement(c))&&c.expression?c.expression:c;if(isObjectLiteralExpression(e)){const t=isSatisfiesExpression(c)?r.getTypeFromTypeNode(c.type):r.getContextualType(e)||r.getTypeAtLocation(e),n=arrayFrom(r.getUnmatchedProperties(r.getTypeAtLocation(c),t.getNonNullableType(),!1,!1));if(!length(n))return;return{kind:3,token:c,identifier:void 0,properties:n,parentDeclaration:e,indentation:isReturnStatement(e.parent)||isYieldExpression(e.parent)?0:void 0}}}if(!isMemberName(s))return;if(isIdentifier(s)&&hasInitializer(c)&&c.initializer&&isObjectLiteralExpression(c.initializer)){const e=null==(o=r.getContextualType(s)||r.getTypeAtLocation(s))?void 0:o.getNonNullableType(),t=arrayFrom(r.getUnmatchedProperties(r.getTypeAtLocation(c.initializer),e,!1,!1));if(!length(t))return;return{kind:3,token:s,identifier:s.text,properties:t,parentDeclaration:c.initializer}}if(isIdentifier(s)&&isJsxOpeningLikeElement(s.parent)){const e=function getUnmatchedAttributes(e,t,n){const r=e.getContextualType(n.attributes);if(void 0===r)return l;const i=r.getProperties();if(!length(i))return l;const o=new Set;for(const t of n.attributes.properties)if(isJsxAttribute(t)&&o.add(getEscapedTextOfJsxAttributeName(t.name)),isJsxSpreadAttribute(t)){const n=e.getTypeAtLocation(t.expression);for(const e of n.getProperties())o.add(e.escapedName)}return filter(i,e=>isIdentifierText(e.name,t,1)&&!(16777216&e.flags||48&getCheckFlags(e)||o.has(e.escapedName)))}(r,zn(i.getCompilerOptions()),s.parent);if(!length(e))return;return{kind:4,token:s,attributes:e,parentDeclaration:s.parent}}if(isIdentifier(s)){const t=null==(a=r.getContextualType(s))?void 0:a.getNonNullableType();if(t&&16&getObjectFlags(t)){const n=firstOrUndefined(r.getSignaturesOfType(t,0));if(void 0===n)return;return{kind:5,token:s,signature:n,sourceFile:e,parentDeclaration:findScope(s)}}if(isCallExpression(c)&&c.expression===s)return{kind:2,token:s,call:c,sourceFile:e,modifierFlags:0,parentDeclaration:findScope(s)}}if(!isPropertyAccessExpression(c))return;const d=skipConstraint(r.getTypeAtLocation(c.expression)),p=d.symbol;if(!p||!p.declarations)return;if(isIdentifier(s)&&isCallExpression(c.parent)){const t=find(p.declarations,isModuleDeclaration),n=null==t?void 0:t.getSourceFile();if(t&&n&&!isSourceFileFromLibrary(i,n))return{kind:2,token:s,call:c.parent,sourceFile:n,modifierFlags:32,parentDeclaration:t};const r=find(p.declarations,isSourceFile);if(e.commonJsModuleIndicator)return;if(r&&!isSourceFileFromLibrary(i,r))return{kind:2,token:s,call:c.parent,sourceFile:r,modifierFlags:32,parentDeclaration:r}}const u=find(p.declarations,isClassLike);if(!u&&isPrivateIdentifier(s))return;const m=u||find(p.declarations,e=>isInterfaceDeclaration(e)||isTypeLiteralNode(e));if(m&&!isSourceFileFromLibrary(i,m.getSourceFile())){const e=!isTypeLiteralNode(m)&&(d.target||d)!==r.getDeclaredTypeOfSymbol(p);if(e&&(isPrivateIdentifier(s)||isInterfaceDeclaration(m)))return;const t=m.getSourceFile(),n=isTypeLiteralNode(m)?0:(e?256:0)|(startsWithUnderscore(s.text)?2:0),i=isSourceFileJS(t);return{kind:0,token:s,call:tryCast(c.parent,isCallExpression),modifierFlags:n,parentDeclaration:m,declSourceFile:t,isJSFile:i}}const _=find(p.declarations,isEnumDeclaration);return!_||1056&d.flags||isPrivateIdentifier(s)||isSourceFileFromLibrary(i,_.getSourceFile())?void 0:{kind:1,token:s,parentDeclaration:_}}function addMissingMemberInJs(e,t,n,r,i){const o=r.text;if(i){if(232===n.kind)return;const r=n.name.getText(),i=initializePropertyToUndefined(Wr.createIdentifier(r),o);e.insertNodeAfter(t,n,i)}else if(isPrivateIdentifier(r)){const r=Wr.createPropertyDeclaration(void 0,o,void 0,void 0,void 0),i=getNodeToInsertPropertyAfter(n);i?e.insertNodeAfter(t,i,r):e.insertMemberAtStart(t,n,r)}else{const r=getFirstConstructorWithBody(n);if(!r)return;const i=initializePropertyToUndefined(Wr.createThis(),o);e.insertNodeAtConstructorEnd(t,r,i)}}function initializePropertyToUndefined(e,t){return Wr.createExpressionStatement(Wr.createAssignment(Wr.createPropertyAccessExpression(e,t),createUndefined()))}function getTypeNode2(e,t,n){let r;if(227===n.parent.parent.kind){const i=n.parent.parent,o=n.parent===i.left?i.right:i.left,a=e.getWidenedType(e.getBaseTypeOfLiteralType(e.getTypeAtLocation(o)));r=e.typeToTypeNode(a,t,1,8)}else{const t=e.getContextualType(n.parent);r=t?e.typeToTypeNode(t,void 0,1,8):void 0}return r||Wr.createKeywordTypeNode(133)}function addPropertyDeclaration(e,t,n,r,i,o){const a=o?Wr.createNodeArray(Wr.createModifiersFromModifierFlags(o)):void 0,s=isClassLike(n)?Wr.createPropertyDeclaration(a,r,void 0,i,void 0):Wr.createPropertySignature(void 0,r,void 0,i),c=getNodeToInsertPropertyAfter(n);c?e.insertNodeAfter(t,c,s):e.insertMemberAtStart(t,n,s)}function getNodeToInsertPropertyAfter(e){let t;for(const n of e.members){if(!isPropertyDeclaration(n))break;t=n}return t}function addMethodDeclaration(e,t,n,r,i,o,a){const s=createImportAdder(a,e.program,e.preferences,e.host),c=createSignatureDeclarationFromCallExpression(isClassLike(o)?175:174,e,s,n,r,i,o),l=function tryGetContainingMethodDeclaration(e,t){if(isTypeLiteralNode(e))return;const n=findAncestor(t,e=>isMethodDeclaration(e)||isConstructorDeclaration(e));return n&&n.parent===e?n:void 0}(o,n);l?t.insertNodeAfter(a,l,c):t.insertMemberAtStart(a,o,c),s.writeFixes(t)}function addEnumMemberDeclaration(e,t,{token:n,parentDeclaration:r}){const i=some(r.members,e=>{const n=t.getTypeAtLocation(e);return!!(n&&402653316&n.flags)}),o=r.getSourceFile(),a=Wr.createEnumMember(n,i?Wr.createStringLiteral(n.text):void 0),s=lastOrUndefined(r.members);s?e.insertNodeInListAfter(o,s,a,r.members):e.insertMemberAtStart(o,r,a)}function addFunctionDeclaration(e,t,n){const r=getQuotePreference(t.sourceFile,t.preferences),i=createImportAdder(t.sourceFile,t.program,t.preferences,t.host),o=2===n.kind?createSignatureDeclarationFromCallExpression(263,t,i,n.call,idText(n.token),n.modifierFlags,n.parentDeclaration):createSignatureDeclarationFromSignature(263,t,r,n.signature,createStubbedBody(Ot.Function_not_implemented.message,r),n.token,void 0,void 0,void 0,i);void 0===o&&h.fail("fixMissingFunctionDeclaration codefix got unexpected error."),isReturnStatement(n.parentDeclaration)?e.insertNodeBefore(n.sourceFile,n.parentDeclaration,o,!0):e.insertNodeAtEndOfScope(n.sourceFile,n.parentDeclaration,o),i.writeFixes(e)}function addJsxAttributes(e,t,n){const r=createImportAdder(t.sourceFile,t.program,t.preferences,t.host),i=getQuotePreference(t.sourceFile,t.preferences),o=t.program.getTypeChecker(),a=n.parentDeclaration.attributes,s=some(a.properties,isJsxSpreadAttribute),c=map(n.attributes,e=>{const a=tryGetValueFromType(t,o,r,i,o.getTypeOfSymbol(e),n.parentDeclaration),s=Wr.createIdentifier(e.name),c=Wr.createJsxAttribute(s,Wr.createJsxExpression(void 0,a));return setParent(s,c),c}),l=Wr.createJsxAttributes(s?[...c,...a.properties]:[...a.properties,...c]),d={prefix:a.pos===a.end?" ":void 0};e.replaceNode(t.sourceFile,a,l,d),r.writeFixes(e)}function addObjectLiteralProperties(e,t,n){const r=createImportAdder(t.sourceFile,t.program,t.preferences,t.host),i=getQuotePreference(t.sourceFile,t.preferences),o=zn(t.program.getCompilerOptions()),a=t.program.getTypeChecker(),s=map(n.properties,e=>{const s=tryGetValueFromType(t,a,r,i,a.getTypeOfSymbol(e),n.parentDeclaration);return Wr.createPropertyAssignment(function createPropertyNameFromSymbol(e,t,n,r){if(isTransientSymbol(e)){const t=r.symbolToNode(e,111551,void 0,void 0,1);if(t&&isComputedPropertyName(t))return t}return createPropertyNameNodeForIdentifierOrLiteral(e.name,t,0===n,!1,!1)}(e,o,i,a),s)}),c={leadingTriviaOption:$m.LeadingTriviaOption.Exclude,trailingTriviaOption:$m.TrailingTriviaOption.Exclude,indentation:n.indentation};e.replaceNode(t.sourceFile,n.parentDeclaration,Wr.createObjectLiteralExpression([...n.parentDeclaration.properties,...s],!0),c),r.writeFixes(e)}function tryGetValueFromType(e,t,n,r,i,o){if(3&i.flags)return createUndefined();if(134217732&i.flags)return Wr.createStringLiteral("",0===r);if(8&i.flags)return Wr.createNumericLiteral(0);if(64&i.flags)return Wr.createBigIntLiteral("0n");if(16&i.flags)return Wr.createFalse();if(1056&i.flags){const e=i.symbol.exports?firstOrUndefinedIterator(i.symbol.exports.values()):i.symbol,n=i.symbol.parent&&256&i.symbol.parent.flags?i.symbol.parent:i.symbol,r=t.symbolToExpression(n,111551,void 0,64);return void 0===e||void 0===r?Wr.createNumericLiteral(0):Wr.createPropertyAccessExpression(r,t.symbolToString(e))}if(256&i.flags)return Wr.createNumericLiteral(i.value);if(2048&i.flags)return Wr.createBigIntLiteral(i.value);if(128&i.flags)return Wr.createStringLiteral(i.value,0===r);if(512&i.flags)return i===t.getFalseType()||i===t.getFalseType(!0)?Wr.createFalse():Wr.createTrue();if(65536&i.flags)return Wr.createNull();if(1048576&i.flags){return firstDefined(i.types,i=>tryGetValueFromType(e,t,n,r,i,o))??createUndefined()}if(t.isArrayLikeType(i))return Wr.createArrayLiteralExpression();if(function isObjectLiteralType(e){return 524288&e.flags&&(128&getObjectFlags(e)||e.symbol&&tryCast(singleOrUndefined(e.symbol.declarations),isTypeLiteralNode))}(i)){const a=map(t.getPropertiesOfType(i),i=>{const a=tryGetValueFromType(e,t,n,r,t.getTypeOfSymbol(i),o);return Wr.createPropertyAssignment(i.name,a)});return Wr.createObjectLiteralExpression(a,!0)}if(16&getObjectFlags(i)){if(void 0===find(i.symbol.declarations||l,or(isFunctionTypeNode,isMethodSignature,isMethodDeclaration)))return createUndefined();const a=t.getSignaturesOfType(i,0);if(void 0===a)return createUndefined();return createSignatureDeclarationFromSignature(219,e,r,a[0],createStubbedBody(Ot.Function_not_implemented.message,r),void 0,void 0,void 0,o,n)??createUndefined()}if(1&getObjectFlags(i)){const e=getClassLikeDeclarationOfSymbol(i.symbol);if(void 0===e||hasAbstractModifier(e))return createUndefined();const t=getFirstConstructorWithBody(e);return t&&length(t.parameters)?createUndefined():Wr.createNewExpression(Wr.createIdentifier(i.symbol.name),void 0,void 0)}return createUndefined()}function createUndefined(){return Wr.createIdentifier("undefined")}function findScope(e){if(findAncestor(e,isJsxExpression)){const t=findAncestor(e.parent,isReturnStatement);if(t)return t}return getSourceFileOfNode(e)}registerCodeFix({errorCodes:gp,getCodeActions(e){const t=e.program.getTypeChecker(),n=getInfo10(e.sourceFile,e.span.start,e.errorCode,t,e.program);if(n){if(3===n.kind){const t=$m.ChangeTracker.with(e,t=>addObjectLiteralProperties(t,e,n));return[createCodeFixAction(mp,t,Ot.Add_missing_properties,mp,Ot.Add_all_missing_properties)]}if(4===n.kind){const t=$m.ChangeTracker.with(e,t=>addJsxAttributes(t,e,n));return[createCodeFixAction(_p,t,Ot.Add_missing_attributes,_p,Ot.Add_all_missing_attributes)]}if(2===n.kind||5===n.kind){const t=$m.ChangeTracker.with(e,t=>addFunctionDeclaration(t,e,n));return[createCodeFixAction(fp,t,[Ot.Add_missing_function_declaration_0,n.token.text],fp,Ot.Add_all_missing_function_declarations)]}if(1===n.kind){const t=$m.ChangeTracker.with(e,t=>addEnumMemberDeclaration(t,e.program.getTypeChecker(),n));return[createCodeFixAction(up,t,[Ot.Add_missing_enum_member_0,n.token.text],up,Ot.Add_all_missing_members)]}return concatenate(function getActionsForMissingMethodDeclaration(e,t){const{parentDeclaration:n,declSourceFile:r,modifierFlags:i,token:o,call:a}=t;if(void 0===a)return;const s=o.text,addMethodDeclarationChanges=t=>$m.ChangeTracker.with(e,i=>addMethodDeclaration(e,i,a,o,t,n,r)),c=[createCodeFixAction(up,addMethodDeclarationChanges(256&i),[256&i?Ot.Declare_static_method_0:Ot.Declare_method_0,s],up,Ot.Add_all_missing_members)];2&i&&c.unshift(createCodeFixActionWithoutFixAll(up,addMethodDeclarationChanges(2),[Ot.Declare_private_method_0,s]));return c}(e,n),function getActionsForMissingMemberDeclaration(e,t){return t.isJSFile?singleElementArray(function createActionForAddMissingMemberInJavascriptFile(e,{parentDeclaration:t,declSourceFile:n,modifierFlags:r,token:i}){if(isInterfaceDeclaration(t)||isTypeLiteralNode(t))return;const o=$m.ChangeTracker.with(e,e=>addMissingMemberInJs(e,n,t,i,!!(256&r)));if(0===o.length)return;const a=256&r?Ot.Initialize_static_property_0:isPrivateIdentifier(i)?Ot.Declare_a_private_field_named_0:Ot.Initialize_property_0_in_the_constructor;return createCodeFixAction(up,o,[a,i.text],up,Ot.Add_all_missing_members)}(e,t)):function createActionsForAddMissingMemberInTypeScriptFile(e,{parentDeclaration:t,declSourceFile:n,modifierFlags:r,token:i}){const o=i.text,a=256&r,s=getTypeNode2(e.program.getTypeChecker(),t,i),addPropertyDeclarationChanges=r=>$m.ChangeTracker.with(e,e=>addPropertyDeclaration(e,n,t,o,s,r)),c=[createCodeFixAction(up,addPropertyDeclarationChanges(256&r),[a?Ot.Declare_static_property_0:Ot.Declare_property_0,o],up,Ot.Add_all_missing_members)];if(a||isPrivateIdentifier(i))return c;2&r&&c.unshift(createCodeFixActionWithoutFixAll(up,addPropertyDeclarationChanges(2),[Ot.Declare_private_property_0,o]));return c.push(function createAddIndexSignatureAction(e,t,n,r,i){const o=Wr.createKeywordTypeNode(154),a=Wr.createParameterDeclaration(void 0,void 0,"x",void 0,o,void 0),s=Wr.createIndexSignature(void 0,[a],i),c=$m.ChangeTracker.with(e,e=>e.insertMemberAtStart(t,n,s));return createCodeFixActionWithoutFixAll(up,c,[Ot.Add_index_signature_for_property_0,r])}(e,n,t,i.text,s)),c}(e,t)}(e,n))}},fixIds:[up,fp,mp,_p],getAllCodeActions:e=>{const{program:t,fixId:n}=e,r=t.getTypeChecker(),i=new Set,o=new Map;return createCombinedCodeActions($m.ChangeTracker.with(e,t=>{eachDiagnostic(e,gp,a=>{const s=getInfo10(a.file,a.start,a.code,r,e.program);if(void 0===s)return;const c=getNodeId(s.parentDeclaration)+"#"+(3===s.kind?s.identifier||getNodeId(s.token):s.token.text);if(addToSeen(i,c))if(n!==fp||2!==s.kind&&5!==s.kind){if(n===mp&&3===s.kind)addObjectLiteralProperties(t,e,s);else if(n===_p&&4===s.kind)addJsxAttributes(t,e,s);else if(1===s.kind&&addEnumMemberDeclaration(t,r,s),0===s.kind){const{parentDeclaration:e,token:t}=s,n=getOrUpdate(o,e,()=>[]);n.some(e=>e.token.text===t.text)||n.push(s)}}else addFunctionDeclaration(t,e,s)}),o.forEach((n,i)=>{const a=isTypeLiteralNode(i)?void 0:function getAllSupers(e,t){const n=[];for(;e;){const r=getClassExtendsHeritageElement(e),i=r&&t.getSymbolAtLocation(r.expression);if(!i)break;const o=2097152&i.flags?t.getAliasedSymbol(i):i,a=o.declarations&&find(o.declarations,isClassLike);if(!a)break;n.push(a),e=a}return n}(i,r);for(const i of n){if(null==a?void 0:a.some(e=>{const t=o.get(e);return!!t&&t.some(({token:e})=>e.text===i.token.text)}))continue;const{parentDeclaration:n,declSourceFile:s,modifierFlags:c,token:l,call:d,isJSFile:p}=i;if(d&&!isPrivateIdentifier(l))addMethodDeclaration(e,t,d,l,256&c,n,s);else if(!p||isInterfaceDeclaration(n)||isTypeLiteralNode(n)){const e=getTypeNode2(r,n,l);addPropertyDeclaration(t,s,n,l.text,e,256&c)}else addMissingMemberInJs(t,s,n,l,!!(256&c))}})}))}});var yp="addMissingNewOperator",hp=[Ot.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code];function addMissingNewOperator(e,t,n){const r=cast(function findAncestorMatchingSpan2(e,t){let n=getTokenAtPosition(e,t.start);const r=textSpanEnd(t);for(;n.end<r;)n=n.parent;return n}(t,n),isCallExpression),i=Wr.createNewExpression(r.expression,r.typeArguments,r.arguments);e.replaceNode(t,r,i)}registerCodeFix({errorCodes:hp,getCodeActions(e){const{sourceFile:t,span:n}=e,r=$m.ChangeTracker.with(e,e=>addMissingNewOperator(e,t,n));return[createCodeFixAction(yp,r,Ot.Add_missing_new_operator_to_call,yp,Ot.Add_missing_new_operator_to_all_calls)]},fixIds:[yp],getAllCodeActions:e=>codeFixAll(e,hp,(t,n)=>addMissingNewOperator(t,e.sourceFile,n))});var Tp="addMissingParam",Sp="addOptionalParam",xp=[Ot.Expected_0_arguments_but_got_1.code];function getInfo11(e,t,n){const r=findAncestor(getTokenAtPosition(e,n),isCallExpression);if(void 0===r||0===length(r.arguments))return;const i=t.getTypeChecker(),o=filter(i.getTypeAtLocation(r.expression).symbol.declarations,isConvertibleSignatureDeclaration);if(void 0===o)return;const a=lastOrUndefined(o);if(void 0===a||void 0===a.body||isSourceFileFromLibrary(t,a.getSourceFile()))return;const s=function tryGetName2(e){const t=getNameOfDeclaration(e);if(t)return t;if(isVariableDeclaration(e.parent)&&isIdentifier(e.parent.name)||isPropertyDeclaration(e.parent)||isParameter(e.parent))return e.parent.name}(a);if(void 0===s)return;const c=[],l=[],d=length(a.parameters),p=length(r.arguments);if(d>p)return;const u=[a,...getOverloads(a,o)];for(let e=0,t=0,n=0;e<p;e++){const o=r.arguments[e],s=isAccessExpression(o)?getNameOfAccessExpression(o):o,p=i.getWidenedType(i.getBaseTypeOfLiteralType(i.getTypeAtLocation(o))),m=t<d?a.parameters[t]:void 0;if(m&&i.isTypeAssignableTo(p,i.getTypeAtLocation(m))){t++;continue}const _=s&&isIdentifier(s)?s.text:"p"+n++,f=typeToTypeNode(i,p,a);append(c,{pos:e,declaration:createParameter(_,f,void 0)}),isOptionalPos(u,t)||append(l,{pos:e,declaration:createParameter(_,f,Wr.createToken(58))})}return{newParameters:c,newOptionalParameters:l,name:declarationNameToString(s),declarations:u}}function typeToTypeNode(e,t,n){return e.typeToTypeNode(e.getWidenedType(t),n,1,8)??Wr.createKeywordTypeNode(159)}function doChange19(e,t,n,r,i,o){const a=zn(t.getCompilerOptions());forEach(i,i=>{const s=getSourceFileOfNode(i),c=createImportAdder(s,t,n,r);length(i.parameters)?e.replaceNodeRangeWithNodes(s,first(i.parameters),last(i.parameters),updateParameters(c,a,i,o),{joiner:", ",indentation:0,leadingTriviaOption:$m.LeadingTriviaOption.IncludeAll,trailingTriviaOption:$m.TrailingTriviaOption.Include}):forEach(updateParameters(c,a,i,o),(t,n)=>{0===length(i.parameters)&&0===n?e.insertNodeAt(s,i.parameters.end,t):e.insertNodeAtEndOfList(s,i.parameters,t)}),c.writeFixes(e)})}function isConvertibleSignatureDeclaration(e){switch(e.kind){case 263:case 219:case 175:case 220:return!0;default:return!1}}function updateParameters(e,t,n,r){const i=map(n.parameters,e=>Wr.createParameterDeclaration(e.modifiers,e.dotDotDotToken,e.name,e.questionToken,e.type,e.initializer));for(const{pos:n,declaration:o}of r){const r=n>0?i[n-1]:void 0;i.splice(n,0,Wr.updateParameterDeclaration(o,o.modifiers,o.dotDotDotToken,o.name,r&&r.questionToken?Wr.createToken(58):o.questionToken,getParameterType(e,o.type,t),o.initializer))}return i}function getOverloads(e,t){const n=[];for(const r of t)if(isOverload(r)){if(length(r.parameters)===length(e.parameters)){n.push(r);continue}if(length(r.parameters)>length(e.parameters))return[]}return n}function isOverload(e){return isConvertibleSignatureDeclaration(e)&&void 0===e.body}function createParameter(e,t,n){return Wr.createParameterDeclaration(void 0,void 0,e,n,t,void 0)}function isOptionalPos(e,t){return length(e)&&some(e,e=>t<length(e.parameters)&&!!e.parameters[t]&&void 0===e.parameters[t].questionToken)}function getParameterType(e,t,n){const r=tryGetAutoImportableReferenceFromTypeNode(t,n);return r?(importSymbols(e,r.symbols),r.typeNode):t}registerCodeFix({errorCodes:xp,fixIds:[Tp,Sp],getCodeActions(e){const t=getInfo11(e.sourceFile,e.program,e.span.start);if(void 0===t)return;const{name:n,declarations:r,newParameters:i,newOptionalParameters:o}=t,a=[];return length(i)&&append(a,createCodeFixAction(Tp,$m.ChangeTracker.with(e,t=>doChange19(t,e.program,e.preferences,e.host,r,i)),[length(i)>1?Ot.Add_missing_parameters_to_0:Ot.Add_missing_parameter_to_0,n],Tp,Ot.Add_all_missing_parameters)),length(o)&&append(a,createCodeFixAction(Sp,$m.ChangeTracker.with(e,t=>doChange19(t,e.program,e.preferences,e.host,r,o)),[length(o)>1?Ot.Add_optional_parameters_to_0:Ot.Add_optional_parameter_to_0,n],Sp,Ot.Add_all_optional_parameters)),a},getAllCodeActions:e=>codeFixAll(e,xp,(t,n)=>{const r=getInfo11(e.sourceFile,e.program,n.start);if(r){const{declarations:n,newParameters:i,newOptionalParameters:o}=r;e.fixId===Tp&&doChange19(t,e.program,e.preferences,e.host,n,i),e.fixId===Sp&&doChange19(t,e.program,e.preferences,e.host,n,o)}})});var vp="installTypesPackage",bp=Ot.Cannot_find_module_0_or_its_corresponding_type_declarations.code,Cp=Ot.This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed.code,Ep=[bp,Ot.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type.code,Cp];function getInstallCommand(e,t){return{type:"install package",file:e,packageName:t}}function tryGetImportedPackageName(e,t){const n=tryCast(getTokenAtPosition(e,t),isStringLiteral);if(!n)return;const r=n.text,{packageName:i}=parsePackageName(r);return isExternalModuleNameRelative(i)?void 0:i}function getTypesPackageNameToInstall(e,t,n){var r;return n===bp?Ir.has(e)?"@types/node":void 0:(null==(r=t.isKnownTypesPackageName)?void 0:r.call(t,e))?getTypesPackageName(e):void 0}registerCodeFix({errorCodes:Ep,getCodeActions:function getCodeActionsToFixNotFoundModule(e){const{host:t,sourceFile:n,span:{start:r},errorCode:i}=e,o=i===Cp?getJSXImplicitImportBase(e.program.getCompilerOptions(),n):tryGetImportedPackageName(n,r);if(void 0===o)return;const a=getTypesPackageNameToInstall(o,t,i);return void 0===a?[]:[createCodeFixAction("fixCannotFindModule",[],[Ot.Install_0,a],vp,Ot.Install_all_missing_types_packages,getInstallCommand(n.fileName,a))]},fixIds:[vp],getAllCodeActions:e=>codeFixAll(e,Ep,(t,n,r)=>{const i=tryGetImportedPackageName(n.file,n.start);if(void 0!==i)switch(e.fixId){case vp:{const t=getTypesPackageNameToInstall(i,e.host,n.code);t&&r.push(getInstallCommand(n.file.fileName,t));break}default:h.fail(`Bad fixId: ${e.fixId}`)}})});var Np=[Ot.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code,Ot.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2.code,Ot.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more.code,Ot.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1.code,Ot.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1.code,Ot.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more.code],kp="fixClassDoesntImplementInheritedAbstractMember";function getClass2(e,t){return cast(getTokenAtPosition(e,t).parent,isClassLike)}function addMissingMembers(e,t,n,r,i){const o=getEffectiveBaseTypeNode(e),a=n.program.getTypeChecker(),s=a.getTypeAtLocation(o),c=a.getPropertiesOfType(s).filter(symbolPointsToNonPrivateAndAbstractMember),l=createImportAdder(t,n.program,i,n.host);createMissingMemberNodes(e,c,t,n,i,l,n=>r.insertMemberAtStart(t,e,n)),l.writeFixes(r)}function symbolPointsToNonPrivateAndAbstractMember(e){const t=getSyntacticModifierFlags(first(e.getDeclarations()));return!(2&t||!(64&t))}registerCodeFix({errorCodes:Np,getCodeActions:function getCodeActionsToFixClassNotImplementingInheritedMembers(e){const{sourceFile:t,span:n}=e,r=$m.ChangeTracker.with(e,r=>addMissingMembers(getClass2(t,n.start),t,e,r,e.preferences));return 0===r.length?void 0:[createCodeFixAction(kp,r,Ot.Implement_inherited_abstract_class,kp,Ot.Implement_all_inherited_abstract_classes)]},fixIds:[kp],getAllCodeActions:function getAllCodeActionsToFixClassDoesntImplementInheritedAbstractMember(e){const t=new Set;return codeFixAll(e,Np,(n,r)=>{const i=getClass2(r.file,r.start);addToSeen(t,getNodeId(i))&&addMissingMembers(i,e.sourceFile,e,n,e.preferences)})}});var Fp="classSuperMustPrecedeThisAccess",Pp=[Ot.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code];function doChange20(e,t,n,r){e.insertNodeAtConstructorStart(t,n,r),e.delete(t,r)}function getNodes(e,t){const n=getTokenAtPosition(e,t);if(110!==n.kind)return;const r=getContainingFunction(n),i=findSuperCall(r.body);return i&&!i.expression.arguments.some(e=>isPropertyAccessExpression(e)&&e.expression===n)?{constructor:r,superCall:i}:void 0}function findSuperCall(e){return isExpressionStatement(e)&&isSuperCall(e.expression)?e:isFunctionLike(e)?void 0:forEachChild(e,findSuperCall)}registerCodeFix({errorCodes:Pp,getCodeActions(e){const{sourceFile:t,span:n}=e,r=getNodes(t,n.start);if(!r)return;const{constructor:i,superCall:o}=r,a=$m.ChangeTracker.with(e,e=>doChange20(e,t,i,o));return[createCodeFixAction(Fp,a,Ot.Make_super_call_the_first_statement_in_the_constructor,Fp,Ot.Make_all_super_calls_the_first_statement_in_their_constructor)]},fixIds:[Fp],getAllCodeActions(e){const{sourceFile:t}=e,n=new Set;return codeFixAll(e,Pp,(e,r)=>{const i=getNodes(r.file,r.start);if(!i)return;const{constructor:o,superCall:a}=i;addToSeen(n,getNodeId(o.parent))&&doChange20(e,t,o,a)})}});var Dp="constructorForDerivedNeedSuperCall",Ip=[Ot.Constructors_for_derived_classes_must_contain_a_super_call.code];function getNode(e,t){const n=getTokenAtPosition(e,t);return h.assert(isConstructorDeclaration(n.parent),"token should be at the constructor declaration"),n.parent}function doChange21(e,t,n){const r=Wr.createExpressionStatement(Wr.createCallExpression(Wr.createSuper(),void 0,l));e.insertNodeAtConstructorStart(t,n,r)}registerCodeFix({errorCodes:Ip,getCodeActions(e){const{sourceFile:t,span:n}=e,r=getNode(t,n.start),i=$m.ChangeTracker.with(e,e=>doChange21(e,t,r));return[createCodeFixAction(Dp,i,Ot.Add_missing_super_call,Dp,Ot.Add_all_missing_super_calls)]},fixIds:[Dp],getAllCodeActions:e=>codeFixAll(e,Ip,(t,n)=>doChange21(t,e.sourceFile,getNode(n.file,n.start)))});var Ap="fixEnableJsxFlag",Op=[Ot.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code];function doChange22(e,t){setJsonCompilerOptionValue(e,t,"jsx",Wr.createStringLiteral("react"))}registerCodeFix({errorCodes:Op,getCodeActions:function getCodeActionsToFixEnableJsxFlag(e){const{configFile:t}=e.program.getCompilerOptions();if(void 0===t)return;const n=$m.ChangeTracker.with(e,e=>doChange22(e,t));return[createCodeFixActionWithoutFixAll(Ap,n,Ot.Enable_the_jsx_flag_in_your_configuration_file)]},fixIds:[Ap],getAllCodeActions:e=>codeFixAll(e,Op,t=>{const{configFile:n}=e.program.getCompilerOptions();void 0!==n&&doChange22(t,n)})});var wp="fixNaNEquality",Lp=[Ot.This_condition_will_always_return_0.code];function getInfo12(e,t,n){const r=find(e.getSemanticDiagnostics(t),e=>e.start===n.start&&e.length===n.length);if(void 0===r||void 0===r.relatedInformation)return;const i=find(r.relatedInformation,e=>e.code===Ot.Did_you_mean_0.code);if(void 0===i||void 0===i.file||void 0===i.start||void 0===i.length)return;const o=findAncestorMatchingSpan(i.file,createTextSpan(i.start,i.length));return void 0!==o&&isExpression(o)&&isBinaryExpression(o.parent)?{suggestion:getSuggestion(i.messageText),expression:o.parent,arg:o}:void 0}function doChange23(e,t,n,r){const i=Wr.createCallExpression(Wr.createPropertyAccessExpression(Wr.createIdentifier("Number"),Wr.createIdentifier("isNaN")),void 0,[n]),o=r.operatorToken.kind;e.replaceNode(t,r,38===o||36===o?Wr.createPrefixUnaryExpression(54,i):i)}function getSuggestion(e){const[,t]=flattenDiagnosticMessageText(e,"\n",0).match(/'(.*)'/)||[];return t}registerCodeFix({errorCodes:Lp,getCodeActions(e){const{sourceFile:t,span:n,program:r}=e,i=getInfo12(r,t,n);if(void 0===i)return;const{suggestion:o,expression:a,arg:s}=i,c=$m.ChangeTracker.with(e,e=>doChange23(e,t,s,a));return[createCodeFixAction(wp,c,[Ot.Use_0,o],wp,Ot.Use_Number_isNaN_in_all_conditions)]},fixIds:[wp],getAllCodeActions:e=>codeFixAll(e,Lp,(t,n)=>{const r=getInfo12(e.program,n.file,createTextSpan(n.start,n.length));r&&doChange23(t,n.file,r.arg,r.expression)})}),registerCodeFix({errorCodes:[Ot.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,Ot.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,Ot.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code],getCodeActions:function getCodeActionsToFixModuleAndTarget(e){const t=e.program.getCompilerOptions(),{configFile:n}=t;if(void 0===n)return;const r=[],i=Vn(t);if(i>=5&&i<99){const t=$m.ChangeTracker.with(e,e=>{setJsonCompilerOptionValue(e,n,"module",Wr.createStringLiteral("esnext"))});r.push(createCodeFixActionWithoutFixAll("fixModuleOption",t,[Ot.Set_the_module_option_in_your_configuration_file_to_0,"esnext"]))}const o=zn(t);if(o<4||o>99){const t=$m.ChangeTracker.with(e,e=>{if(!getTsConfigObjectLiteralExpression(n))return;const t=[["target",Wr.createStringLiteral("es2017")]];1===i&&t.push(["module",Wr.createStringLiteral("commonjs")]),setJsonCompilerOptionValues(e,n,t)});r.push(createCodeFixActionWithoutFixAll("fixTargetOption",t,[Ot.Set_the_target_option_in_your_configuration_file_to_0,"es2017"]))}return r.length?r:void 0}});var Mp="fixPropertyAssignment",Rp=[Ot.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];function doChange24(e,t,n){e.replaceNode(t,n,Wr.createPropertyAssignment(n.name,n.objectAssignmentInitializer))}function getProperty2(e,t){return cast(getTokenAtPosition(e,t).parent,isShorthandPropertyAssignment)}registerCodeFix({errorCodes:Rp,fixIds:[Mp],getCodeActions(e){const{sourceFile:t,span:n}=e,r=getProperty2(t,n.start),i=$m.ChangeTracker.with(e,t=>doChange24(t,e.sourceFile,r));return[createCodeFixAction(Mp,i,[Ot.Change_0_to_1,"=",":"],Mp,[Ot.Switch_each_misused_0_to_1,"=",":"])]},getAllCodeActions:e=>codeFixAll(e,Rp,(e,t)=>doChange24(e,t.file,getProperty2(t.file,t.start)))});var Bp="extendsInterfaceBecomesImplements",jp=[Ot.Cannot_extend_an_interface_0_Did_you_mean_implements.code];function getNodes2(e,t){const n=getContainingClass(getTokenAtPosition(e,t)).heritageClauses,r=n[0].getFirstToken();return 96===r.kind?{extendsToken:r,heritageClauses:n}:void 0}function doChanges2(e,t,n,r){if(e.replaceNode(t,n,Wr.createToken(119)),2===r.length&&96===r[0].token&&119===r[1].token){const n=r[1].getFirstToken(),i=n.getFullStart();e.replaceRange(t,{pos:i,end:i},Wr.createToken(28));const o=t.text;let a=n.end;for(;a<o.length&&isWhiteSpaceSingleLine(o.charCodeAt(a));)a++;e.deleteRange(t,{pos:n.getStart(),end:a})}}registerCodeFix({errorCodes:jp,getCodeActions(e){const{sourceFile:t}=e,n=getNodes2(t,e.span.start);if(!n)return;const{extendsToken:r,heritageClauses:i}=n,o=$m.ChangeTracker.with(e,e=>doChanges2(e,t,r,i));return[createCodeFixAction(Bp,o,Ot.Change_extends_to_implements,Bp,Ot.Change_all_extended_interfaces_to_implements)]},fixIds:[Bp],getAllCodeActions:e=>codeFixAll(e,jp,(e,t)=>{const n=getNodes2(t.file,t.start);n&&doChanges2(e,t.file,n.extendsToken,n.heritageClauses)})});var Jp="forgottenThisPropertyAccess",Wp=Ot.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,Up=[Ot.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,Ot.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,Wp];function getInfo13(e,t,n){const r=getTokenAtPosition(e,t);if(isIdentifier(r)||isPrivateIdentifier(r))return{node:r,className:n===Wp?getContainingClass(r).name.text:void 0}}function doChange25(e,t,{node:n,className:r}){suppressLeadingAndTrailingTrivia(n),e.replaceNode(t,n,Wr.createPropertyAccessExpression(r?Wr.createIdentifier(r):Wr.createThis(),n))}registerCodeFix({errorCodes:Up,getCodeActions(e){const{sourceFile:t}=e,n=getInfo13(t,e.span.start,e.errorCode);if(!n)return;const r=$m.ChangeTracker.with(e,e=>doChange25(e,t,n));return[createCodeFixAction(Jp,r,[Ot.Add_0_to_unresolved_variable,n.className||"this"],Jp,Ot.Add_qualifier_to_all_unresolved_variables_matching_a_member_name)]},fixIds:[Jp],getAllCodeActions:e=>codeFixAll(e,Up,(t,n)=>{const r=getInfo13(n.file,n.start,n.code);r&&doChange25(t,e.sourceFile,r)})});var zp="fixInvalidJsxCharacters_expression",Vp="fixInvalidJsxCharacters_htmlEntity",qp=[Ot.Unexpected_token_Did_you_mean_or_gt.code,Ot.Unexpected_token_Did_you_mean_or_rbrace.code];registerCodeFix({errorCodes:qp,fixIds:[zp,Vp],getCodeActions(e){const{sourceFile:t,preferences:n,span:r}=e,i=$m.ChangeTracker.with(e,e=>doChange26(e,n,t,r.start,!1)),o=$m.ChangeTracker.with(e,e=>doChange26(e,n,t,r.start,!0));return[createCodeFixAction(zp,i,Ot.Wrap_invalid_character_in_an_expression_container,zp,Ot.Wrap_all_invalid_characters_in_an_expression_container),createCodeFixAction(Vp,o,Ot.Convert_invalid_character_to_its_html_entity_code,Vp,Ot.Convert_all_invalid_characters_to_HTML_entity_code)]},getAllCodeActions:e=>codeFixAll(e,qp,(t,n)=>doChange26(t,e.preferences,n.file,n.start,e.fixId===Vp))});var Hp={">":">","}":"}"};function doChange26(e,t,n,r,i){const o=n.getText()[r];if(!function isValidCharacter(e){return hasProperty(Hp,e)}(o))return;const a=i?Hp[o]:`{${quote(n,t,o)}}`;e.replaceRangeWithText(n,{pos:r,end:r+1},a)}var Kp="deleteUnmatchedParameter",Gp="renameUnmatchedParameter",$p=[Ot.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code];function getInfo14(e,t){const n=getTokenAtPosition(e,t);if(n.parent&&isJSDocParameterTag(n.parent)&&isIdentifier(n.parent.name)){const e=n.parent,t=getJSDocHost(e),r=getHostSignatureFromJSDoc(e);if(t&&r)return{jsDocHost:t,signature:r,name:n.parent.name,jsDocParameterTag:e}}}registerCodeFix({fixIds:[Kp,Gp],errorCodes:$p,getCodeActions:function getCodeActionsToFixUnmatchedParameter(e){const{sourceFile:t,span:n}=e,r=[],i=getInfo14(t,n.start);if(i)return append(r,function getDeleteAction(e,{name:t,jsDocHost:n,jsDocParameterTag:r}){const i=$m.ChangeTracker.with(e,t=>t.filterJSDocTags(e.sourceFile,n,e=>e!==r));return createCodeFixAction(Kp,i,[Ot.Delete_unused_param_tag_0,t.getText(e.sourceFile)],Kp,Ot.Delete_all_unused_param_tags)}(e,i)),append(r,function getRenameAction(e,{name:t,jsDocHost:n,signature:r,jsDocParameterTag:i}){if(!length(r.parameters))return;const o=e.sourceFile,a=getJSDocTags(r),s=new Set;for(const e of a)isJSDocParameterTag(e)&&isIdentifier(e.name)&&s.add(e.name.escapedText);const c=firstDefined(r.parameters,e=>isIdentifier(e.name)&&!s.has(e.name.escapedText)?e.name.getText(o):void 0);if(void 0===c)return;const l=Wr.updateJSDocParameterTag(i,i.tagName,Wr.createIdentifier(c),i.isBracketed,i.typeExpression,i.isNameFirst,i.comment),d=$m.ChangeTracker.with(e,e=>e.replaceJSDocComment(o,n,map(a,e=>e===i?l:e)));return createCodeFixActionWithoutFixAll(Gp,d,[Ot.Rename_param_tag_name_0_to_1,t.getText(o),c])}(e,i)),r},getAllCodeActions:function getAllCodeActionsToFixUnmatchedParameter(e){const t=new Map;return createCombinedCodeActions($m.ChangeTracker.with(e,n=>{eachDiagnostic(e,$p,({file:e,start:n})=>{const r=getInfo14(e,n);r&&t.set(r.signature,append(t.get(r.signature),r.jsDocParameterTag))}),t.forEach((t,r)=>{if(e.fixId===Kp){const e=new Set(t);n.filterJSDocTags(r.getSourceFile(),r,t=>!e.has(t))}})}))}});var Qp="fixUnreferenceableDecoratorMetadata";registerCodeFix({errorCodes:[Ot.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled.code],getCodeActions:e=>{const t=function getImportDeclaration(e,t,n){const r=tryCast(getTokenAtPosition(e,n),isIdentifier);if(!r||184!==r.parent.kind)return;const i=t.getTypeChecker().getSymbolAtLocation(r);return find((null==i?void 0:i.declarations)||l,or(isImportClause,isImportSpecifier,isImportEqualsDeclaration))}(e.sourceFile,e.program,e.span.start);if(!t)return;const n=$m.ChangeTracker.with(e,n=>277===t.kind&&function doNamespaceImportChange(e,t,n,r){bc.doChangeNamedToNamespaceOrDefault(t,r,e,n.parent)}(n,e.sourceFile,t,e.program)),r=$m.ChangeTracker.with(e,n=>function doTypeOnlyImportChange(e,t,n,r){if(272===n.kind)return void e.insertModifierBefore(t,156,n.name);const i=274===n.kind?n:n.parent.parent;if(i.name&&i.namedBindings)return;const o=r.getTypeChecker();if(forEachImportClauseDeclaration(i,e=>{if(111551&skipAlias(e.symbol,o).flags)return!0}))return;e.insertModifierBefore(t,156,i)}(n,e.sourceFile,t,e.program));let i;return n.length&&(i=append(i,createCodeFixActionWithoutFixAll(Qp,n,Ot.Convert_named_imports_to_namespace_import))),r.length&&(i=append(i,createCodeFixActionWithoutFixAll(Qp,r,Ot.Use_import_type))),i},fixIds:[Qp]});var Xp="unusedIdentifier",Yp="unusedIdentifier_prefix",Zp="unusedIdentifier_delete",eu="unusedIdentifier_deleteImports",tu="unusedIdentifier_infer",nu=[Ot._0_is_declared_but_its_value_is_never_read.code,Ot._0_is_declared_but_never_used.code,Ot.Property_0_is_declared_but_its_value_is_never_read.code,Ot.All_imports_in_import_declaration_are_unused.code,Ot.All_destructured_elements_are_unused.code,Ot.All_variables_are_unused.code,Ot.All_type_parameters_are_unused.code];function changeInferToUnknown(e,t,n){e.replaceNode(t,n.parent,Wr.createKeywordTypeNode(159))}function createDeleteFix(e,t){return createCodeFixAction(Xp,e,t,Zp,Ot.Delete_all_unused_declarations)}function deleteTypeParameters(e,t,n){e.delete(t,h.checkDefined(cast(n.parent,isDeclarationWithTypeParameterChildren).typeParameters,"The type parameter to delete should exist"))}function isImport(e){return 102===e.kind||80===e.kind&&(277===e.parent.kind||274===e.parent.kind)}function tryGetFullImport(e){return 102===e.kind?tryCast(e.parent,isImportDeclaration):void 0}function canDeleteEntireVariableStatement(e,t){return isVariableDeclarationList(t.parent)&&first(t.parent.getChildren(e))===t}function deleteEntireVariableStatement(e,t,n){e.delete(t,244===n.parent.kind?n.parent:n)}function tryPrefixDeclaration(e,t,n,r){t!==Ot.Property_0_is_declared_but_its_value_is_never_read.code&&(140===r.kind&&(r=cast(r.parent,isInferTypeNode).typeParameter.name),isIdentifier(r)&&function canPrefix(e){switch(e.parent.kind){case 170:case 169:return!0;case 261:switch(e.parent.parent.parent.kind){case 251:case 250:return!0}}return!1}(r)&&(e.replaceNode(n,r,Wr.createIdentifier(`_${r.text}`)),isParameter(r.parent)&&getJSDocParameterTags(r.parent).forEach(t=>{isIdentifier(t.name)&&e.replaceNode(n,t.name,Wr.createIdentifier(`_${t.name.text}`))})))}function tryDeleteDeclaration(e,t,n,r,i,o,a,s){!function tryDeleteDeclarationWorker(e,t,n,r,i,o,a,s){const{parent:c}=e;if(isParameter(c))!function tryDeleteParameter(e,t,n,r,i,o,a,s=!1){if(function mayDeleteParameter(e,t,n,r,i,o,a){const{parent:s}=n;switch(s.kind){case 175:case 177:const c=s.parameters.indexOf(n),l=isMethodDeclaration(s)?s.name:s,d=vm.Core.getReferencedSymbolsForNode(s.pos,l,i,r,o);if(d)for(const e of d)for(const t of e.references)if(t.kind===vm.EntryKind.Node){const e=isSuperKeyword(t.node)&&isCallExpression(t.node.parent)&&t.node.parent.arguments.length>c,r=isPropertyAccessExpression(t.node.parent)&&isSuperKeyword(t.node.parent.expression)&&isCallExpression(t.node.parent.parent)&&t.node.parent.parent.arguments.length>c,i=(isMethodDeclaration(t.node.parent)||isMethodSignature(t.node.parent))&&t.node.parent!==n.parent&&t.node.parent.parameters.length>c;if(e||r||i)return!1}return!0;case 263:return!s.name||!function isCallbackLike(e,t,n){return!!vm.Core.eachSymbolReferenceInFile(n,e,t,e=>isIdentifier(e)&&isCallExpression(e.parent)&&e.parent.arguments.includes(e))}(e,t,s.name)||isLastParameter(s,n,a);case 219:case 220:return isLastParameter(s,n,a);case 179:return!1;case 178:return!0;default:return h.failBadSyntaxKind(s)}}(r,t,n,i,o,a,s))if(n.modifiers&&n.modifiers.length>0&&(!isIdentifier(n.name)||vm.Core.isSymbolReferencedInFile(n.name,r,t)))for(const r of n.modifiers)isModifier(r)&&e.deleteModifier(t,r);else!n.initializer&&isNotProvidedArguments(n,r,i)&&e.delete(t,n)}(t,n,c,r,i,o,a,s);else if(!(s&&isIdentifier(e)&&vm.Core.isSymbolReferencedInFile(e,r,n))){const r=isImportClause(c)?e:isComputedPropertyName(c)?c.parent:c;h.assert(r!==n,"should not delete whole source file"),t.delete(n,r)}}(t,n,e,r,i,o,a,s),isIdentifier(t)&&vm.Core.eachSymbolReferenceInFile(t,r,e,t=>{isPropertyAccessExpression(t.parent)&&t.parent.name===t&&(t=t.parent),!s&&function mayDeleteExpression(e){return(isBinaryExpression(e.parent)&&e.parent.left===e||(isPostfixUnaryExpression(e.parent)||isPrefixUnaryExpression(e.parent))&&e.parent.operand===e)&&isExpressionStatement(e.parent.parent)}(t)&&n.delete(e,t.parent.parent)})}function isNotProvidedArguments(e,t,n){const r=e.parent.parameters.indexOf(e);return!vm.Core.someSignatureUsage(e.parent,n,t,(e,t)=>!t||t.arguments.length>r)}function isLastParameter(e,t,n){const r=e.parameters,i=r.indexOf(t);return h.assert(-1!==i,"The parameter should already be in the list"),n?r.slice(i+1).every(e=>isIdentifier(e.name)&&!e.symbol.isReferenced):i===r.length-1}function deleteFunctionLikeDeclaration(e,t,n){const r=n.symbol.declarations;if(r)for(const n of r)e.delete(t,n)}registerCodeFix({errorCodes:nu,getCodeActions(e){const{errorCode:t,sourceFile:n,program:r,cancellationToken:i}=e,o=r.getTypeChecker(),a=r.getSourceFiles(),s=getTokenAtPosition(n,e.span.start);if(isJSDocTemplateTag(s))return[createDeleteFix($m.ChangeTracker.with(e,e=>e.delete(n,s)),Ot.Remove_template_tag)];if(30===s.kind){return[createDeleteFix($m.ChangeTracker.with(e,e=>deleteTypeParameters(e,n,s)),Ot.Remove_type_parameters)]}const c=tryGetFullImport(s);if(c){const t=$m.ChangeTracker.with(e,e=>e.delete(n,c));return[createCodeFixAction(Xp,t,[Ot.Remove_import_from_0,showModuleSpecifier(c)],eu,Ot.Delete_all_unused_imports)]}if(isImport(s)){const t=$m.ChangeTracker.with(e,e=>tryDeleteDeclaration(n,s,e,o,a,r,i,!1));if(t.length)return[createCodeFixAction(Xp,t,[Ot.Remove_unused_declaration_for_Colon_0,s.getText(n)],eu,Ot.Delete_all_unused_imports)]}if(isObjectBindingPattern(s.parent)||isArrayBindingPattern(s.parent)){if(isParameter(s.parent.parent)){const t=s.parent.elements,r=[t.length>1?Ot.Remove_unused_declarations_for_Colon_0:Ot.Remove_unused_declaration_for_Colon_0,map(t,e=>e.getText(n)).join(", ")];return[createDeleteFix($m.ChangeTracker.with(e,e=>function deleteDestructuringElements(e,t,n){forEach(n.elements,n=>e.delete(t,n))}(e,n,s.parent)),r)]}return[createDeleteFix($m.ChangeTracker.with(e,t=>function deleteDestructuring(e,t,n,{parent:r}){if(isVariableDeclaration(r)&&r.initializer&&isCallLikeExpression(r.initializer))if(isVariableDeclarationList(r.parent)&&length(r.parent.declarations)>1){const i=r.parent.parent,o=i.getStart(n),a=i.end;t.delete(n,r),t.insertNodeAt(n,a,r.initializer,{prefix:getNewLineOrDefaultFromHost(e.host,e.formatContext.options)+n.text.slice(getPrecedingNonSpaceCharacterPosition(n.text,o-1),o),suffix:probablyUsesSemicolons(n)?";":""})}else t.replaceNode(n,r.parent,r.initializer);else t.delete(n,r)}(e,t,n,s.parent)),Ot.Remove_unused_destructuring_declaration)]}if(canDeleteEntireVariableStatement(n,s))return[createDeleteFix($m.ChangeTracker.with(e,e=>deleteEntireVariableStatement(e,n,s.parent)),Ot.Remove_variable_statement)];if(isIdentifier(s)&&isFunctionDeclaration(s.parent))return[createDeleteFix($m.ChangeTracker.with(e,e=>deleteFunctionLikeDeclaration(e,n,s.parent)),[Ot.Remove_unused_declaration_for_Colon_0,s.getText(n)])];const l=[];if(140===s.kind){const t=$m.ChangeTracker.with(e,e=>changeInferToUnknown(e,n,s)),r=cast(s.parent,isInferTypeNode).typeParameter.name.text;l.push(createCodeFixAction(Xp,t,[Ot.Replace_infer_0_with_unknown,r],tu,Ot.Replace_all_unused_infer_with_unknown))}else{const t=$m.ChangeTracker.with(e,e=>tryDeleteDeclaration(n,s,e,o,a,r,i,!1));if(t.length){const e=isComputedPropertyName(s.parent)?s.parent:s;l.push(createDeleteFix(t,[Ot.Remove_unused_declaration_for_Colon_0,e.getText(n)]))}}const d=$m.ChangeTracker.with(e,e=>tryPrefixDeclaration(e,t,n,s));return d.length&&l.push(createCodeFixAction(Xp,d,[Ot.Prefix_0_with_an_underscore,s.getText(n)],Yp,Ot.Prefix_all_unused_declarations_with_where_possible)),l},fixIds:[Yp,Zp,eu,tu],getAllCodeActions:e=>{const{sourceFile:t,program:n,cancellationToken:r}=e,i=n.getTypeChecker(),o=n.getSourceFiles();return codeFixAll(e,nu,(a,s)=>{const c=getTokenAtPosition(t,s.start);switch(e.fixId){case Yp:tryPrefixDeclaration(a,s.code,t,c);break;case eu:{const e=tryGetFullImport(c);e?a.delete(t,e):isImport(c)&&tryDeleteDeclaration(t,c,a,i,o,n,r,!0);break}case Zp:if(140===c.kind||isImport(c))break;if(isJSDocTemplateTag(c))a.delete(t,c);else if(30===c.kind)deleteTypeParameters(a,t,c);else if(isObjectBindingPattern(c.parent)){if(c.parent.parent.initializer)break;isParameter(c.parent.parent)&&!isNotProvidedArguments(c.parent.parent,i,o)||a.delete(t,c.parent.parent)}else{if(isArrayBindingPattern(c.parent.parent)&&c.parent.parent.parent.initializer)break;canDeleteEntireVariableStatement(t,c)?deleteEntireVariableStatement(a,t,c.parent):isIdentifier(c)&&isFunctionDeclaration(c.parent)?deleteFunctionLikeDeclaration(a,t,c.parent):tryDeleteDeclaration(t,c,a,i,o,n,r,!0)}break;case tu:140===c.kind&&changeInferToUnknown(a,t,c);break;default:h.fail(JSON.stringify(e.fixId))}})}});var ru="fixUnreachableCode",iu=[Ot.Unreachable_code_detected.code];function doChange27(e,t,n,r,i){const o=getTokenAtPosition(t,n),a=findAncestor(o,isStatement);if(a.getStart(t)!==o.getStart(t)){const e=JSON.stringify({statementKind:h.formatSyntaxKind(a.kind),tokenKind:h.formatSyntaxKind(o.kind),errorCode:i,start:n,length:r});h.fail("Token and statement should start at the same point. "+e)}const s=(isBlock(a.parent)?a.parent:a).parent;if(!isBlock(a.parent)||a===first(a.parent.statements))switch(s.kind){case 246:if(s.elseStatement){if(isBlock(a.parent))break;return void e.replaceNode(t,a,Wr.createBlock(l))}case 248:case 249:return void e.delete(t,s)}if(isBlock(a.parent)){const i=n+r,o=h.checkDefined(function lastWhere(e,t){let n;for(const r of e){if(!t(r))break;n=r}return n}(sliceAfter(a.parent.statements,a),e=>e.pos<i),"Some statement should be last");e.deleteNodeRange(t,a,o)}else e.delete(t,a)}registerCodeFix({errorCodes:iu,getCodeActions(e){if(e.program.getSyntacticDiagnostics(e.sourceFile,e.cancellationToken).length)return;const t=$m.ChangeTracker.with(e,t=>doChange27(t,e.sourceFile,e.span.start,e.span.length,e.errorCode));return[createCodeFixAction(ru,t,Ot.Remove_unreachable_code,ru,Ot.Remove_all_unreachable_code)]},fixIds:[ru],getAllCodeActions:e=>codeFixAll(e,iu,(e,t)=>doChange27(e,t.file,t.start,t.length,t.code))});var ou="fixUnusedLabel",au=[Ot.Unused_label.code];function doChange28(e,t,n){const r=getTokenAtPosition(t,n),i=cast(r.parent,isLabeledStatement),o=r.getStart(t),a=i.statement.getStart(t),s=positionsAreOnSameLine(o,a,t)?a:skipTrivia(t.text,findChildOfKind(i,59,t).end,!0);e.deleteRange(t,{pos:o,end:s})}registerCodeFix({errorCodes:au,getCodeActions(e){const t=$m.ChangeTracker.with(e,t=>doChange28(t,e.sourceFile,e.span.start));return[createCodeFixAction(ou,t,Ot.Remove_unused_label,ou,Ot.Remove_all_unused_labels)]},fixIds:[ou],getAllCodeActions:e=>codeFixAll(e,au,(e,t)=>doChange28(e,t.file,t.start))});var su="fixJSDocTypes_plain",cu="fixJSDocTypes_nullable",lu=[Ot.JSDoc_types_can_only_be_used_inside_documentation_comments.code,Ot._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code,Ot._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code];function doChange29(e,t,n,r,i){e.replaceNode(t,n,i.typeToTypeNode(r,n,void 0))}function getInfo15(e,t,n){const r=findAncestor(getTokenAtPosition(e,t),isTypeContainer),i=r&&r.type;return i&&{typeNode:i,type:getType(n,i)}}function isTypeContainer(e){switch(e.kind){case 235:case 180:case 181:case 263:case 178:case 182:case 201:case 175:case 174:case 170:case 173:case 172:case 179:case 266:case 217:case 261:return!0;default:return!1}}function getType(e,t){if(isJSDocNullableType(t)){const n=e.getTypeFromTypeNode(t.type);return n===e.getNeverType()||n===e.getVoidType()?n:e.getUnionType(append([n,e.getUndefinedType()],t.postfix?void 0:e.getNullType()))}return e.getTypeFromTypeNode(t)}registerCodeFix({errorCodes:lu,getCodeActions(e){const{sourceFile:t}=e,n=e.program.getTypeChecker(),r=getInfo15(t,e.span.start,n);if(!r)return;const{typeNode:i,type:o}=r,a=i.getText(t),s=[fix(o,su,Ot.Change_all_jsdoc_style_types_to_TypeScript)];return 315===i.kind&&s.push(fix(o,cu,Ot.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)),s;function fix(r,o,s){return createCodeFixAction("jdocTypes",$m.ChangeTracker.with(e,e=>doChange29(e,t,i,r,n)),[Ot.Change_0_to_1,a,n.typeToString(r)],o,s)}},fixIds:[su,cu],getAllCodeActions(e){const{fixId:t,program:n,sourceFile:r}=e,i=n.getTypeChecker();return codeFixAll(e,lu,(e,n)=>{const o=getInfo15(n.file,n.start,i);if(!o)return;const{typeNode:a,type:s}=o,c=315===a.kind&&t===cu?i.getNullableType(s,32768):s;doChange29(e,r,a,c,i)})}});var du="fixMissingCallParentheses",pu=[Ot.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead.code];function doChange30(e,t,n){e.replaceNodeWithText(t,n,`${n.text}()`)}function getCallName(e,t){const n=getTokenAtPosition(e,t);if(isPropertyAccessExpression(n.parent)){let e=n.parent;for(;isPropertyAccessExpression(e.parent);)e=e.parent;return e.name}if(isIdentifier(n))return n}registerCodeFix({errorCodes:pu,fixIds:[du],getCodeActions(e){const{sourceFile:t,span:n}=e,r=getCallName(t,n.start);if(!r)return;const i=$m.ChangeTracker.with(e,t=>doChange30(t,e.sourceFile,r));return[createCodeFixAction(du,i,Ot.Add_missing_call_parentheses,du,Ot.Add_all_missing_call_parentheses)]},getAllCodeActions:e=>codeFixAll(e,pu,(e,t)=>{const n=getCallName(t.file,t.start);n&&doChange30(e,t.file,n)})});var uu="fixMissingTypeAnnotationOnExports",mu="add-annotation",_u="add-type-assertion",fu=[Ot.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations.code,Ot.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations.code,Ot.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,Ot.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,Ot.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,Ot.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,Ot.Expression_type_can_t_be_inferred_with_isolatedDeclarations.code,Ot.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations.code,Ot.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations.code,Ot.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations.code,Ot.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations.code,Ot.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations.code,Ot.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations.code,Ot.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations.code,Ot.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations.code,Ot.Default_exports_can_t_be_inferred_with_isolatedDeclarations.code,Ot.Only_const_arrays_can_be_inferred_with_isolatedDeclarations.code,Ot.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function.code,Ot.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations.code,Ot.Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations.code,Ot.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit.code],gu=new Set([178,175,173,263,219,220,261,170,278,264,207,208]),yu=531469;function addCodeAction(e,t,n,r,i){const o=withContext(n,r,i);o.result&&o.textChanges.length&&t.push(createCodeFixAction(e,o.textChanges,o.result,uu,Ot.Add_all_missing_type_annotations))}function withContext(e,t,n){const r={typeNode:void 0,mutatedTarget:!1},i=$m.ChangeTracker.fromContext(e),o=e.sourceFile,a=e.program,s=a.getTypeChecker(),c=zn(a.getCompilerOptions()),l=createImportAdder(e.sourceFile,e.program,e.preferences,e.host),d=new Set,p=new Set,u=createPrinter({preserveSourceNewlines:!1}),m=n({addTypeAnnotation:function addTypeAnnotation(t){e.cancellationToken.throwIfCancellationRequested();const n=getTokenAtPosition(o,t.start),r=findExpandoFunction(n);if(r)return isFunctionDeclaration(r)?function createNamespaceForExpandoProperties(e){var t;if(null==p?void 0:p.has(e))return;null==p||p.add(e);const n=s.getTypeAtLocation(e),r=s.getPropertiesOfType(n);if(!e.name||0===r.length)return;const c=[];for(const t of r)isIdentifierText(t.name,zn(a.getCompilerOptions()))&&(t.valueDeclaration&&isVariableDeclaration(t.valueDeclaration)||c.push(Wr.createVariableStatement([Wr.createModifier(95)],Wr.createVariableDeclarationList([Wr.createVariableDeclaration(t.name,void 0,typeToTypeNode2(s.getTypeOfSymbol(t),e),void 0)]))));if(0===c.length)return;const l=[];(null==(t=e.modifiers)?void 0:t.some(e=>95===e.kind))&&l.push(Wr.createModifier(95));l.push(Wr.createModifier(138));const d=Wr.createModuleDeclaration(l,e.name,Wr.createModuleBlock(c),101441696);return i.insertNodeAfter(o,e,d),[Ot.Annotate_types_of_properties_expando_function_in_a_namespace]}(r):fixIsolatedDeclarationError(r);const c=function findAncestorWithMissingType(e){return findAncestor(e,e=>gu.has(e.kind)&&(!isObjectBindingPattern(e)&&!isArrayBindingPattern(e)||isVariableDeclaration(e.parent)))}(n);if(c)return fixIsolatedDeclarationError(c);return},addInlineAssertion:function addInlineAssertion(t){e.cancellationToken.throwIfCancellationRequested();const n=getTokenAtPosition(o,t.start);if(findExpandoFunction(n))return;const r=findBestFittingNode(n,t);if(!r||isValueSignatureDeclaration(r)||isValueSignatureDeclaration(r.parent))return;const a=isExpression(r),c=isShorthandPropertyAssignment(r);if(!c&&isDeclaration(r))return;if(findAncestor(r,isBindingPattern))return;if(findAncestor(r,isEnumMember))return;if(a&&(findAncestor(r,isHeritageClause)||findAncestor(r,isTypeNode)))return;if(isSpreadElement(r))return;const l=findAncestor(r,isVariableDeclaration),d=l&&s.getTypeAtLocation(l);if(d&&8192&d.flags)return;if(!a&&!c)return;const{typeNode:p,mutatedTarget:u}=inferType(r,d);if(!p||u)return;c?i.insertNodeAt(o,r.end,createAsExpression(getSynthesizedDeepClone(r.name),p),{prefix:": "}):a?i.replaceNode(o,r,function createSatisfiesAsExpression(e,t){needsParenthesizedExpressionForAssertion(e)&&(e=Wr.createParenthesizedExpression(e));return Wr.createAsExpression(Wr.createSatisfiesExpression(e,getSynthesizedDeepClone(t)),t)}(getSynthesizedDeepClone(r),p)):h.assertNever(r);return[Ot.Add_satisfies_and_an_inline_type_assertion_with_0,typeToStringForDiag(p)]},extractAsVariable:function extractAsVariable(t){e.cancellationToken.throwIfCancellationRequested();const n=findBestFittingNode(getTokenAtPosition(o,t.start),t);if(!n||isValueSignatureDeclaration(n)||isValueSignatureDeclaration(n.parent))return;if(!isExpression(n))return;if(isArrayLiteralExpression(n))return i.replaceNode(o,n,createAsExpression(n,Wr.createTypeReferenceNode("const"))),[Ot.Mark_array_literal_as_const];const r=findAncestor(n,isPropertyAssignment);if(r){if(r===n.parent&&isEntityNameExpression(n))return;const e=Wr.createUniqueName(getIdentifierForNode(n,o,s,o),16);let t=n,a=n;if(isSpreadElement(t)&&(t=walkUpParenthesizedExpressions(t.parent),a=isConstAssertion2(t.parent)?t=t.parent:createAsExpression(t,Wr.createTypeReferenceNode("const"))),isEntityNameExpression(t))return;const c=Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(e,void 0,void 0,a)],2)),l=findAncestor(n,isStatement);return i.insertNodeBefore(o,l,c),i.replaceNode(o,t,Wr.createAsExpression(Wr.cloneNode(e),Wr.createTypeQueryNode(Wr.cloneNode(e)))),[Ot.Extract_to_variable_and_replace_with_0_as_typeof_0,typeToStringForDiag(e)]}}});return l.writeFixes(i),{result:m,textChanges:i.getChanges()};function needsParenthesizedExpressionForAssertion(e){return!(isEntityNameExpression(e)||isCallExpression(e)||isObjectLiteralExpression(e)||isArrayLiteralExpression(e))}function createAsExpression(e,t){return needsParenthesizedExpressionForAssertion(e)&&(e=Wr.createParenthesizedExpression(e)),Wr.createAsExpression(e,t)}function findExpandoFunction(e){const t=findAncestor(e,e=>isStatement(e)?"quit":isExpandoPropertyDeclaration(e));if(t&&isExpandoPropertyDeclaration(t)){let e=t;if(isBinaryExpression(e)&&(e=e.left,!isExpandoPropertyDeclaration(e)))return;const n=s.getTypeAtLocation(e.expression);if(!n)return;if(some(s.getPropertiesOfType(n),e=>e.valueDeclaration===t||e.valueDeclaration===t.parent)){const e=n.symbol.valueDeclaration;if(e){if(isFunctionExpressionOrArrowFunction(e)&&isVariableDeclaration(e.parent))return e.parent;if(isFunctionDeclaration(e))return e}}}}function fixIsolatedDeclarationError(e){if(!(null==d?void 0:d.has(e)))switch(null==d||d.add(e),e.kind){case 170:case 173:case 261:return function addTypeToVariableLike(e){const{typeNode:t}=inferType(e);if(t)return e.type?i.replaceNode(getSourceFileOfNode(e),e.type,t):i.tryInsertTypeAnnotation(getSourceFileOfNode(e),e,t),[Ot.Add_annotation_of_type_0,typeToStringForDiag(t)]}(e);case 220:case 219:case 263:case 175:case 178:return function addTypeToSignatureDeclaration(e,t){if(e.type)return;const{typeNode:n}=inferType(e);if(n)return i.tryInsertTypeAnnotation(t,e,n),[Ot.Add_return_type_0,typeToStringForDiag(n)]}(e,o);case 278:return function transformExportAssignment(e){if(e.isExportEquals)return;const{typeNode:t}=inferType(e.expression);if(!t)return;const n=Wr.createUniqueName("_default");return i.replaceNodeWithNodes(o,e,[Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(n,void 0,t,e.expression)],2)),Wr.updateExportAssignment(e,null==e?void 0:e.modifiers,n)]),[Ot.Extract_default_export_to_variable]}(e);case 264:return function transformExtendsClauseWithExpression(e){var t,n;const r=null==(t=e.heritageClauses)?void 0:t.find(e=>96===e.token),a=null==r?void 0:r.types[0];if(!a)return;const{typeNode:s}=inferType(a.expression);if(!s)return;const c=Wr.createUniqueName(e.name?e.name.text+"Base":"Anonymous",16),l=Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(c,void 0,s,a.expression)],2));i.insertNodeBefore(o,e,l);const d=getTrailingCommentRanges(o.text,a.end),p=(null==(n=null==d?void 0:d[d.length-1])?void 0:n.end)??a.end;return i.replaceRange(o,{pos:a.getFullStart(),end:p},c,{prefix:" "}),[Ot.Extract_base_class_to_variable]}(e);case 207:case 208:return function transformDestructuringPatterns(e){var t;const n=e.parent,r=e.parent.parent.parent;if(!n.initializer)return;let a;const s=[];if(isIdentifier(n.initializer))a={expression:{kind:3,identifier:n.initializer}};else{const e=Wr.createUniqueName("dest",16);a={expression:{kind:3,identifier:e}},s.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(e,void 0,void 0,n.initializer)],2)))}const c=[];isArrayBindingPattern(e)?addArrayBindingPatterns(e,c,a):addObjectBindingPatterns(e,c,a);const l=new Map;for(const e of c){if(e.element.propertyName&&isComputedPropertyName(e.element.propertyName)){const t=e.element.propertyName.expression,n=Wr.getGeneratedNameForNode(t),r=Wr.createVariableDeclaration(n,void 0,void 0,t),i=Wr.createVariableDeclarationList([r],2),o=Wr.createVariableStatement(void 0,i);s.push(o),l.set(t,n)}const n=e.element.name;if(isArrayBindingPattern(n))addArrayBindingPatterns(n,c,e);else if(isObjectBindingPattern(n))addObjectBindingPatterns(n,c,e);else{const{typeNode:i}=inferType(n);let o=createChainedExpression(e,l);if(e.element.initializer){const n=null==(t=e.element)?void 0:t.propertyName,r=Wr.createUniqueName(n&&isIdentifier(n)?n.text:"temp",16);s.push(Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(r,void 0,void 0,o)],2))),o=Wr.createConditionalExpression(Wr.createBinaryExpression(r,Wr.createToken(37),Wr.createIdentifier("undefined")),Wr.createToken(58),e.element.initializer,Wr.createToken(59),o)}const a=hasSyntacticModifier(r,32)?[Wr.createToken(95)]:void 0;s.push(Wr.createVariableStatement(a,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(n,void 0,i,o)],2)))}}r.declarationList.declarations.length>1&&s.push(Wr.updateVariableStatement(r,r.modifiers,Wr.updateVariableDeclarationList(r.declarationList,r.declarationList.declarations.filter(t=>t!==e.parent))));return i.replaceNodeWithNodes(o,r,s),[Ot.Extract_binding_expressions_to_variable]}(e);default:throw new Error(`Cannot find a fix for the given node ${e.kind}`)}}function addArrayBindingPatterns(e,t,n){for(let r=0;r<e.elements.length;++r){const i=e.elements[r];isOmittedExpression(i)||t.push({element:i,parent:n,expression:{kind:2,arrayIndex:r}})}}function addObjectBindingPatterns(e,t,n){for(const r of e.elements){let e;if(r.propertyName){if(isComputedPropertyName(r.propertyName)){t.push({element:r,parent:n,expression:{kind:1,computed:r.propertyName.expression}});continue}e=r.propertyName.text}else e=r.name.text;t.push({element:r,parent:n,expression:{kind:0,text:e}})}}function createChainedExpression(e,t){const n=[e];for(;e.parent;)e=e.parent,n.push(e);let r=n[n.length-1].expression.identifier;for(let e=n.length-2;e>=0;--e){const i=n[e].expression;0===i.kind?r=Wr.createPropertyAccessChain(r,void 0,Wr.createIdentifier(i.text)):1===i.kind?r=Wr.createElementAccessExpression(r,t.get(i.computed)):2===i.kind&&(r=Wr.createElementAccessExpression(r,i.arrayIndex))}return r}function inferType(e,n){if(1===t)return relativeType(e);let i;if(isValueSignatureDeclaration(e)){const t=s.getSignatureFromDeclaration(e);if(t){const n=s.getTypePredicateOfSignature(t);if(n)return n.type?{typeNode:typePredicateToTypeNode(n,findAncestor(e,isDeclaration)??o,getFlags(n.type)),mutatedTarget:!1}:r;i=s.getReturnTypeOfSignature(t)}}else i=s.getTypeAtLocation(e);if(!i)return r;if(2===t){n&&(i=n);const e=s.getWidenedLiteralType(i);if(s.isTypeAssignableTo(e,i))return r;i=e}const a=findAncestor(e,isDeclaration)??o;return isParameter(e)&&s.requiresAddingImplicitUndefined(e,a)&&(i=s.getUnionType([s.getUndefinedType(),i],0)),{typeNode:typeToTypeNode2(i,a,getFlags(i)),mutatedTarget:!1};function getFlags(t){return(isVariableDeclaration(e)||isPropertyDeclaration(e)&&hasSyntacticModifier(e,264))&&8192&t.flags?1048576:0}}function createTypeOfFromEntityNameExpression(e){return Wr.createTypeQueryNode(getSynthesizedDeepClone(e))}function typeFromSpreads(e,t,n,a,s,c,l,d){const p=[],u=[];let m;const _=findAncestor(e,isStatement);for(const t of a(e))s(t)?(finalizesVariablePart(),isEntityNameExpression(t.expression)?(p.push(createTypeOfFromEntityNameExpression(t.expression)),u.push(t)):makeVariable(t.expression)):(m??(m=[])).push(t);return 0===u.length?r:(finalizesVariablePart(),i.replaceNode(o,e,l(u)),{typeNode:d(p),mutatedTarget:!0});function makeVariable(e){const r=Wr.createUniqueName(t+"_Part"+(u.length+1),16),a=n?Wr.createAsExpression(e,Wr.createTypeReferenceNode("const")):e,s=Wr.createVariableStatement(void 0,Wr.createVariableDeclarationList([Wr.createVariableDeclaration(r,void 0,void 0,a)],2));i.insertNodeBefore(o,_,s),p.push(createTypeOfFromEntityNameExpression(r)),u.push(c(r))}function finalizesVariablePart(){m&&(makeVariable(l(m)),m=void 0)}}function isConstAssertion2(e){return isAssertionExpression(e)&&isConstTypeReference(e.type)}function relativeType(e){if(isParameter(e))return r;if(isShorthandPropertyAssignment(e))return{typeNode:createTypeOfFromEntityNameExpression(e.name),mutatedTarget:!1};if(isEntityNameExpression(e))return{typeNode:createTypeOfFromEntityNameExpression(e),mutatedTarget:!1};if(isConstAssertion2(e))return relativeType(e.expression);if(isArrayLiteralExpression(e)){const t=findAncestor(e,isVariableDeclaration);return function typeFromArraySpreadElements(e,t="temp"){const n=!!findAncestor(e,isConstAssertion2);return n?typeFromSpreads(e,t,n,e=>e.elements,isSpreadElement,Wr.createSpreadElement,e=>Wr.createArrayLiteralExpression(e,!0),e=>Wr.createTupleTypeNode(e.map(Wr.createRestTypeNode))):r}(e,t&&isIdentifier(t.name)?t.name.text:void 0)}if(isObjectLiteralExpression(e)){const t=findAncestor(e,isVariableDeclaration);return function typeFromObjectSpreadAssignment(e,t="temp"){return typeFromSpreads(e,t,!!findAncestor(e,isConstAssertion2),e=>e.properties,isSpreadAssignment,Wr.createSpreadAssignment,e=>Wr.createObjectLiteralExpression(e,!0),Wr.createIntersectionTypeNode)}(e,t&&isIdentifier(t.name)?t.name.text:void 0)}if(isVariableDeclaration(e)&&e.initializer)return relativeType(e.initializer);if(isConditionalExpression(e)){const{typeNode:t,mutatedTarget:n}=relativeType(e.whenTrue);if(!t)return r;const{typeNode:i,mutatedTarget:o}=relativeType(e.whenFalse);return i?{typeNode:Wr.createUnionTypeNode([t,i]),mutatedTarget:n||o}:r}return r}function typeToTypeNode2(e,t,n=0){let r=!1;const i=typeToMinimizedReferenceType(s,e,t,yu|n,1,{moduleResolverHost:a,trackSymbol:()=>!0,reportTruncationError(){r=!0}});if(!i)return;const o=typeNodeToAutoImportableTypeNode(i,l,c);return r?Wr.createKeywordTypeNode(133):o}function typePredicateToTypeNode(e,t,n=0){let r=!1;const i=typePredicateToAutoImportableTypeNode(s,l,e,t,c,yu|n,1,{moduleResolverHost:a,trackSymbol:()=>!0,reportTruncationError(){r=!0}});return r?Wr.createKeywordTypeNode(133):i}function typeToStringForDiag(e){setEmitFlags(e,1);const t=u.printNode(4,e,o);return t.length>cn?t.substring(0,cn-3)+"...":(setEmitFlags(e,0),t)}function findBestFittingNode(e,t){for(;e&&e.end<t.start+t.length;)e=e.parent;for(;e.parent.pos===e.pos&&e.parent.end===e.end;)e=e.parent;return isIdentifier(e)&&hasInitializer(e.parent)&&e.parent.initializer?e.parent.initializer:e}}registerCodeFix({errorCodes:fu,fixIds:[uu],getCodeActions(e){const t=[];return addCodeAction(mu,t,e,0,t=>t.addTypeAnnotation(e.span)),addCodeAction(mu,t,e,1,t=>t.addTypeAnnotation(e.span)),addCodeAction(mu,t,e,2,t=>t.addTypeAnnotation(e.span)),addCodeAction(_u,t,e,0,t=>t.addInlineAssertion(e.span)),addCodeAction(_u,t,e,1,t=>t.addInlineAssertion(e.span)),addCodeAction(_u,t,e,2,t=>t.addInlineAssertion(e.span)),addCodeAction("extract-expression",t,e,0,t=>t.extractAsVariable(e.span)),t},getAllCodeActions:e=>createCombinedCodeActions(withContext(e,0,t=>{eachDiagnostic(e,fu,e=>{t.addTypeAnnotation(e)})}).textChanges)});var hu="fixAwaitInSyncFunction",Tu=[Ot.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,Ot.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,Ot.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,Ot.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code];function getNodes3(e,t){const n=getContainingFunction(getTokenAtPosition(e,t));if(!n)return;let r;switch(n.kind){case 175:r=n.name;break;case 263:case 219:r=findChildOfKind(n,100,e);break;case 220:r=findChildOfKind(n,n.typeParameters?30:21,e)||first(n.parameters);break;default:return}return r&&{insertBefore:r,returnType:(i=n,i.type?i.type:isVariableDeclaration(i.parent)&&i.parent.type&&isFunctionTypeNode(i.parent.type)?i.parent.type.type:void 0)};var i}function doChange31(e,t,{insertBefore:n,returnType:r}){if(r){const n=getEntityNameFromTypeNode(r);n&&80===n.kind&&"Promise"===n.text||e.replaceNode(t,r,Wr.createTypeReferenceNode("Promise",Wr.createNodeArray([r])))}e.insertModifierBefore(t,134,n)}registerCodeFix({errorCodes:Tu,getCodeActions(e){const{sourceFile:t,span:n}=e,r=getNodes3(t,n.start);if(!r)return;const i=$m.ChangeTracker.with(e,e=>doChange31(e,t,r));return[createCodeFixAction(hu,i,Ot.Add_async_modifier_to_containing_function,hu,Ot.Add_all_missing_async_modifiers)]},fixIds:[hu],getAllCodeActions:function getAllCodeActionsToFixAwaitInSyncFunction(e){const t=new Set;return codeFixAll(e,Tu,(n,r)=>{const i=getNodes3(r.file,r.start);i&&addToSeen(t,getNodeId(i.insertBefore))&&doChange31(n,e.sourceFile,i)})}});var Su=[Ot._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code,Ot._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code],xu="fixPropertyOverrideAccessor";function doChange32(e,t,n,r,i){let o,a;if(r===Ot._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code)o=t,a=t+n;else if(r===Ot._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code){const n=i.program.getTypeChecker(),r=getTokenAtPosition(e,t).parent;if(isComputedPropertyName(r))return;h.assert(isAccessor(r),"error span of fixPropertyOverrideAccessor should only be on an accessor");const s=r.parent;h.assert(isClassLike(s),"erroneous accessors should only be inside classes");const c=getEffectiveBaseTypeNode(s);if(!c)return;const l=skipParentheses(c.expression),d=isClassExpression(l)?l.symbol:n.getSymbolAtLocation(l);if(!d)return;const p=n.getDeclaredTypeOfSymbol(d),u=n.getPropertyOfType(p,unescapeLeadingUnderscores(getTextOfPropertyName(r.name)));if(!u||!u.valueDeclaration)return;o=u.valueDeclaration.pos,a=u.valueDeclaration.end,e=getSourceFileOfNode(u.valueDeclaration)}else h.fail("fixPropertyOverrideAccessor codefix got unexpected error code "+r);return generateAccessorFromProperty(e,i.program,o,a,i,Ot.Generate_get_and_set_accessors.message)}registerCodeFix({errorCodes:Su,getCodeActions(e){const t=doChange32(e.sourceFile,e.span.start,e.span.length,e.errorCode,e);if(t)return[createCodeFixAction(xu,t,Ot.Generate_get_and_set_accessors,xu,Ot.Generate_get_and_set_accessors_for_all_overriding_properties)]},fixIds:[xu],getAllCodeActions:e=>codeFixAll(e,Su,(t,n)=>{const r=doChange32(n.file,n.start,n.length,n.code,e);if(r)for(const n of r)t.pushRaw(e.sourceFile,n)})});var vu="inferFromUsage",bu=[Ot.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code,Ot.Variable_0_implicitly_has_an_1_type.code,Ot.Parameter_0_implicitly_has_an_1_type.code,Ot.Rest_parameter_0_implicitly_has_an_any_type.code,Ot.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code,Ot._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code,Ot.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code,Ot.Member_0_implicitly_has_an_1_type.code,Ot.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code,Ot.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,Ot.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,Ot.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code,Ot.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code,Ot._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code,Ot.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code,Ot.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,Ot.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code];function getDiagnostic(e,t){switch(e){case Ot.Parameter_0_implicitly_has_an_1_type.code:case Ot.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return isSetAccessorDeclaration(getContainingFunction(t))?Ot.Infer_type_of_0_from_usage:Ot.Infer_parameter_types_from_usage;case Ot.Rest_parameter_0_implicitly_has_an_any_type.code:case Ot.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return Ot.Infer_parameter_types_from_usage;case Ot.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:return Ot.Infer_this_type_of_0_from_usage;default:return Ot.Infer_type_of_0_from_usage}}function doChange33(e,t,n,r,i,o,a,s,c){if(!isParameterPropertyModifier(n.kind)&&80!==n.kind&&26!==n.kind&&110!==n.kind)return;const{parent:l}=n,d=createImportAdder(t,i,c,s);switch(r=function mapSuggestionDiagnostic(e){switch(e){case Ot.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code:return Ot.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code;case Ot.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return Ot.Variable_0_implicitly_has_an_1_type.code;case Ot.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return Ot.Parameter_0_implicitly_has_an_1_type.code;case Ot.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return Ot.Rest_parameter_0_implicitly_has_an_any_type.code;case Ot.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code:return Ot.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code;case Ot._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code:return Ot._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code;case Ot.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code:return Ot.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code;case Ot.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return Ot.Member_0_implicitly_has_an_1_type.code}return e}(r)){case Ot.Member_0_implicitly_has_an_1_type.code:case Ot.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code:if(isVariableDeclaration(l)&&a(l)||isPropertyDeclaration(l)||isPropertySignature(l))return annotateVariableDeclaration(e,d,t,l,i,s,o),d.writeFixes(e),l;if(isPropertyAccessExpression(l)){const n=getTypeNodeIfAccessible(inferTypeForVariableFromUsage(l.name,i,o),l,i,s);if(n){const r=Wr.createJSDocTypeTag(void 0,Wr.createJSDocTypeExpression(n),void 0);e.addJSDocTags(t,cast(l.parent.parent,isExpressionStatement),[r])}return d.writeFixes(e),l}return;case Ot.Variable_0_implicitly_has_an_1_type.code:{const t=i.getTypeChecker().getSymbolAtLocation(n);return t&&t.valueDeclaration&&isVariableDeclaration(t.valueDeclaration)&&a(t.valueDeclaration)?(annotateVariableDeclaration(e,d,getSourceFileOfNode(t.valueDeclaration),t.valueDeclaration,i,s,o),d.writeFixes(e),t.valueDeclaration):void 0}}const p=getContainingFunction(n);if(void 0===p)return;let u;switch(r){case Ot.Parameter_0_implicitly_has_an_1_type.code:if(isSetAccessorDeclaration(p)){annotateSetAccessor(e,d,t,p,i,s,o),u=p;break}case Ot.Rest_parameter_0_implicitly_has_an_any_type.code:if(a(p)){const n=cast(l,isParameter);!function annotateParameters(e,t,n,r,i,o,a,s){if(!isIdentifier(r.name))return;const c=function inferTypeForParametersFromUsage(e,t,n,r){const i=getFunctionReferences(e,t,n,r);return i&&inferTypeFromReferences(n,i,r).parameters(e)||e.parameters.map(e=>({declaration:e,type:isIdentifier(e.name)?inferTypeForVariableFromUsage(e.name,n,r):n.getTypeChecker().getAnyType()}))}(i,n,o,s);if(h.assert(i.parameters.length===c.length,"Parameter count and inference count should match"),isInJSFile(i))annotateJSDocParameters(e,n,c,o,a);else{const r=isArrowFunction(i)&&!findChildOfKind(i,21,n);r&&e.insertNodeBefore(n,first(i.parameters),Wr.createToken(21));for(const{declaration:r,type:i}of c)!r||r.type||r.initializer||annotate(e,t,n,r,i,o,a);r&&e.insertNodeAfter(n,last(i.parameters),Wr.createToken(22))}}(e,d,t,n,p,i,s,o),u=n}break;case Ot.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code:case Ot._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code:isGetAccessorDeclaration(p)&&isIdentifier(p.name)&&(annotate(e,d,t,p,inferTypeForVariableFromUsage(p.name,i,o),i,s),u=p);break;case Ot.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code:isSetAccessorDeclaration(p)&&(annotateSetAccessor(e,d,t,p,i,s,o),u=p);break;case Ot.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:$m.isThisTypeAnnotatable(p)&&a(p)&&(!function annotateThis(e,t,n,r,i,o){const a=getFunctionReferences(n,t,r,o);if(!a||!a.length)return;const s=inferTypeFromReferences(r,a,o).thisParameter(),c=getTypeNodeIfAccessible(s,n,r,i);if(!c)return;isInJSFile(n)?function annotateJSDocThis(e,t,n,r){e.addJSDocTags(t,n,[Wr.createJSDocThisTag(void 0,Wr.createJSDocTypeExpression(r))])}(e,t,n,c):e.tryInsertThisTypeAnnotation(t,n,c)}(e,t,p,i,s,o),u=p);break;default:return h.fail(String(r))}return d.writeFixes(e),u}function annotateVariableDeclaration(e,t,n,r,i,o,a){isIdentifier(r.name)&&annotate(e,t,n,r,inferTypeForVariableFromUsage(r.name,i,a),i,o)}function annotateSetAccessor(e,t,n,r,i,o,a){const s=firstOrUndefined(r.parameters);if(s&&isIdentifier(r.name)&&isIdentifier(s.name)){let c=inferTypeForVariableFromUsage(r.name,i,a);c===i.getTypeChecker().getAnyType()&&(c=inferTypeForVariableFromUsage(s.name,i,a)),isInJSFile(r)?annotateJSDocParameters(e,n,[{declaration:s,type:c}],i,o):annotate(e,t,n,s,c,i,o)}}function annotate(e,t,n,r,i,o,a){const s=getTypeNodeIfAccessible(i,r,o,a);if(s)if(isInJSFile(n)&&172!==r.kind){const t=isVariableDeclaration(r)?tryCast(r.parent.parent,isVariableStatement):r;if(!t)return;const i=Wr.createJSDocTypeExpression(s),o=isGetAccessorDeclaration(r)?Wr.createJSDocReturnTag(void 0,i,void 0):Wr.createJSDocTypeTag(void 0,i,void 0);e.addJSDocTags(n,t,[o])}else(function tryReplaceImportTypeNodeWithAutoImport(e,t,n,r,i,o){const a=tryGetAutoImportableReferenceFromTypeNode(e,o);if(a&&r.tryInsertTypeAnnotation(n,t,a.typeNode))return forEach(a.symbols,e=>i.addImportFromExportedSymbol(e,!0)),!0;return!1})(s,r,n,e,t,zn(o.getCompilerOptions()))||e.tryInsertTypeAnnotation(n,r,s)}function annotateJSDocParameters(e,t,n,r,i){const o=n.length&&n[0].declaration.parent;if(!o)return;const a=mapDefined(n,e=>{const t=e.declaration;if(t.initializer||getJSDocType(t)||!isIdentifier(t.name))return;const n=e.type&&getTypeNodeIfAccessible(e.type,t,r,i);if(n){return setEmitFlags(Wr.cloneNode(t.name),7168),{name:Wr.cloneNode(t.name),param:t,isOptional:!!e.isOptional,typeNode:n}}});if(a.length)if(isArrowFunction(o)||isFunctionExpression(o)){const n=isArrowFunction(o)&&!findChildOfKind(o,21,t);n&&e.insertNodeBefore(t,first(o.parameters),Wr.createToken(21)),forEach(a,({typeNode:n,param:r})=>{const i=Wr.createJSDocTypeTag(void 0,Wr.createJSDocTypeExpression(n)),o=Wr.createJSDocComment(void 0,[i]);e.insertNodeAt(t,r.getStart(t),o,{suffix:" "})}),n&&e.insertNodeAfter(t,last(o.parameters),Wr.createToken(22))}else{const n=map(a,({name:e,typeNode:t,isOptional:n})=>Wr.createJSDocParameterTag(void 0,e,!!n,Wr.createJSDocTypeExpression(t),!1,void 0));e.addJSDocTags(t,o,n)}}function getReferences(e,t,n){return mapDefined(vm.getReferenceEntriesForNode(-1,e,t,t.getSourceFiles(),n),e=>e.kind!==vm.EntryKind.Span?tryCast(e.node,isIdentifier):void 0)}function inferTypeForVariableFromUsage(e,t,n){return inferTypeFromReferences(t,getReferences(e,t,n),n).single()}function getFunctionReferences(e,t,n,r){let i;switch(e.kind){case 177:i=findChildOfKind(e,137,t);break;case 220:case 219:const n=e.parent;i=(isVariableDeclaration(n)||isPropertyDeclaration(n))&&isIdentifier(n.name)?n.name:e.name;break;case 263:case 175:case 174:i=e.name}if(i)return getReferences(i,n,r)}function inferTypeFromReferences(e,t,n){const r=e.getTypeChecker(),i={string:()=>r.getStringType(),number:()=>r.getNumberType(),Array:e=>r.createArrayType(e),Promise:e=>r.createPromiseType(e)},o=[r.getStringType(),r.getNumberType(),r.createArrayType(r.getAnyType()),r.createPromiseType(r.getAnyType())];return{single:function single2(){return combineTypes(inferTypesFromReferencesSingle(t))},parameters:function parameters(i){if(0===t.length||!i.parameters)return;const o={isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0};for(const e of t)n.throwIfCancellationRequested(),calculateUsageOfNode(e,o);const a=[...o.constructs||[],...o.calls||[]];return i.parameters.map((t,o)=>{const s=[],c=isRestParameter(t);let l=!1;for(const e of a)if(e.argumentTypes.length<=o)l=isInJSFile(i),s.push(r.getUndefinedType());else if(c)for(let t=o;t<e.argumentTypes.length;t++)s.push(r.getBaseTypeOfLiteralType(e.argumentTypes[t]));else s.push(r.getBaseTypeOfLiteralType(e.argumentTypes[o]));if(isIdentifier(t.name)){const i=inferTypesFromReferencesSingle(getReferences(t.name,e,n));s.push(...c?mapDefined(i,r.getElementTypeOfArrayType):i)}const d=combineTypes(s);return{type:c?r.createArrayType(d):d,isOptional:l&&!c,declaration:t}})},thisParameter:function thisParameter(){const e={isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0};for(const r of t)n.throwIfCancellationRequested(),calculateUsageOfNode(r,e);return combineTypes(e.candidateThisTypes||l)}};function combineUsages(e){const t=new Map;for(const n of e)n.properties&&n.properties.forEach((e,n)=>{t.has(n)||t.set(n,[]),t.get(n).push(e)});const n=new Map;return t.forEach((e,t)=>{n.set(t,combineUsages(e))}),{isNumber:e.some(e=>e.isNumber),isString:e.some(e=>e.isString),isNumberOrString:e.some(e=>e.isNumberOrString),candidateTypes:flatMap(e,e=>e.candidateTypes),properties:n,calls:flatMap(e,e=>e.calls),constructs:flatMap(e,e=>e.constructs),numberIndex:forEach(e,e=>e.numberIndex),stringIndex:forEach(e,e=>e.stringIndex),candidateThisTypes:flatMap(e,e=>e.candidateThisTypes),inferredTypes:void 0}}function inferTypesFromReferencesSingle(e){const t={isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0};for(const r of e)n.throwIfCancellationRequested(),calculateUsageOfNode(r,t);return inferTypes(t)}function calculateUsageOfNode(e,t){for(;isRightSideOfQualifiedNameOrPropertyAccess(e);)e=e.parent;switch(e.parent.kind){case 245:!function inferTypeFromExpressionStatement(e,t){addCandidateType(t,isCallExpression(e)?r.getVoidType():r.getAnyType())}(e,t);break;case 226:t.isNumber=!0;break;case 225:!function inferTypeFromPrefixUnaryExpression(e,t){switch(e.operator){case 46:case 47:case 41:case 55:t.isNumber=!0;break;case 40:t.isNumberOrString=!0}}(e.parent,t);break;case 227:!function inferTypeFromBinaryExpression(e,t,n){switch(t.operatorToken.kind){case 43:case 42:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 66:case 68:case 67:case 69:case 70:case 74:case 75:case 79:case 71:case 73:case 72:case 41:case 30:case 33:case 32:case 34:const i=r.getTypeAtLocation(t.left===e?t.right:t.left);1056&i.flags?addCandidateType(n,i):n.isNumber=!0;break;case 65:case 40:const o=r.getTypeAtLocation(t.left===e?t.right:t.left);1056&o.flags?addCandidateType(n,o):296&o.flags?n.isNumber=!0:402653316&o.flags?n.isString=!0:1&o.flags||(n.isNumberOrString=!0);break;case 64:case 35:case 37:case 38:case 36:case 77:case 78:case 76:addCandidateType(n,r.getTypeAtLocation(t.left===e?t.right:t.left));break;case 103:e===t.left&&(n.isString=!0);break;case 57:case 61:e!==t.left||261!==e.parent.parent.kind&&!isAssignmentExpression(e.parent.parent,!0)||addCandidateType(n,r.getTypeAtLocation(t.right))}}(e,e.parent,t);break;case 297:case 298:!function inferTypeFromSwitchStatementLabel(e,t){addCandidateType(t,r.getTypeAtLocation(e.parent.parent.expression))}(e.parent,t);break;case 214:case 215:e.parent.expression===e?function inferTypeFromCallExpression(e,t){const n={argumentTypes:[],return_:{isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0}};if(e.arguments)for(const t of e.arguments)n.argumentTypes.push(r.getTypeAtLocation(t));calculateUsageOfNode(e,n.return_),214===e.kind?(t.calls||(t.calls=[])).push(n):(t.constructs||(t.constructs=[])).push(n)}(e.parent,t):inferTypeFromContextualType(e,t);break;case 212:!function inferTypeFromPropertyAccessExpression(e,t){const n=escapeLeadingUnderscores(e.name.text);t.properties||(t.properties=new Map);const r=t.properties.get(n)||{isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0};calculateUsageOfNode(e,r),t.properties.set(n,r)}(e.parent,t);break;case 213:!function inferTypeFromPropertyElementExpression(e,t,n){if(t===e.argumentExpression)return void(n.isNumberOrString=!0);{const t=r.getTypeAtLocation(e.argumentExpression),i={isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0};calculateUsageOfNode(e,i),296&t.flags?n.numberIndex=i:n.stringIndex=i}}(e.parent,e,t);break;case 304:case 305:!function inferTypeFromPropertyAssignment(e,t){const n=isVariableDeclaration(e.parent.parent)?e.parent.parent:e.parent;addCandidateThisType(t,r.getTypeAtLocation(n))}(e.parent,t);break;case 173:!function inferTypeFromPropertyDeclaration(e,t){addCandidateThisType(t,r.getTypeAtLocation(e.parent))}(e.parent,t);break;case 261:{const{name:n,initializer:i}=e.parent;if(e===n){i&&addCandidateType(t,r.getTypeAtLocation(i));break}}default:return inferTypeFromContextualType(e,t)}}function inferTypeFromContextualType(e,t){isExpressionNode(e)&&addCandidateType(t,r.getContextualType(e))}function combineFromUsage(e){return combineTypes(inferTypes(e))}function combineTypes(e){if(!e.length)return r.getAnyType();const t=r.getUnionType([r.getStringType(),r.getNumberType()]);let n=function removeLowPriorityInferences(e,t){const n=[];for(const r of e)for(const{high:e,low:i}of t)e(r)&&(h.assert(!i(r),"Priority can't have both low and high"),n.push(i));return e.filter(e=>n.every(t=>!t(e)))}(e,[{high:e=>e===r.getStringType()||e===r.getNumberType(),low:e=>e===t},{high:e=>!(16385&e.flags),low:e=>!!(16385&e.flags)},{high:e=>!(114689&e.flags||16&getObjectFlags(e)),low:e=>!!(16&getObjectFlags(e))}]);const i=n.filter(e=>16&getObjectFlags(e));return i.length&&(n=n.filter(e=>!(16&getObjectFlags(e))),n.push(function combineAnonymousTypes(e){if(1===e.length)return e[0];const t=[],n=[],i=[],o=[];let a=!1,s=!1;const c=createMultiMap();for(const l of e){for(const e of r.getPropertiesOfType(l))c.add(e.escapedName,e.valueDeclaration?r.getTypeOfSymbolAtLocation(e,e.valueDeclaration):r.getAnyType());t.push(...r.getSignaturesOfType(l,0)),n.push(...r.getSignaturesOfType(l,1));const e=r.getIndexInfoOfType(l,0);e&&(i.push(e.type),a=a||e.isReadonly);const d=r.getIndexInfoOfType(l,1);d&&(o.push(d.type),s=s||d.isReadonly)}const l=mapEntries(c,(t,n)=>{const i=n.length<e.length?16777216:0,o=r.createSymbol(4|i,t);return o.links.type=r.getUnionType(n),[t,o]}),d=[];i.length&&d.push(r.createIndexInfo(r.getStringType(),r.getUnionType(i),a));o.length&&d.push(r.createIndexInfo(r.getNumberType(),r.getUnionType(o),s));return r.createAnonymousType(e[0].symbol,l,t,n,d)}(i))),r.getWidenedType(r.getUnionType(n.map(r.getBaseTypeOfLiteralType),2))}function inferTypes(e){var t,n,a;const s=[];e.isNumber&&s.push(r.getNumberType()),e.isString&&s.push(r.getStringType()),e.isNumberOrString&&s.push(r.getUnionType([r.getStringType(),r.getNumberType()])),e.numberIndex&&s.push(r.createArrayType(combineFromUsage(e.numberIndex))),((null==(t=e.properties)?void 0:t.size)||(null==(n=e.constructs)?void 0:n.length)||e.stringIndex)&&s.push(inferStructuralType(e));const c=(e.candidateTypes||[]).map(e=>r.getBaseTypeOfLiteralType(e)),d=(null==(a=e.calls)?void 0:a.length)?inferStructuralType(e):void 0;return d&&c?s.push(r.getUnionType([d,...c],2)):(d&&s.push(d),length(c)&&s.push(...c)),s.push(...function inferNamedTypesFromProperties(e){if(!e.properties||!e.properties.size)return[];const t=o.filter(t=>function allPropertiesAreAssignableToUsage(e,t){return!!t.properties&&!forEachEntry(t.properties,(t,n)=>{const i=r.getTypeOfPropertyOfType(e,n);if(!i)return!0;if(t.calls){return!r.getSignaturesOfType(i,0).length||!r.isTypeAssignableTo(i,function getFunctionFromCalls(e){return r.createAnonymousType(void 0,createSymbolTable(),[getSignatureFromCalls(e)],l,l)}(t.calls))}return!r.isTypeAssignableTo(i,combineFromUsage(t))})}(t,e));if(0<t.length&&t.length<3)return t.map(t=>function inferInstantiationFromUsage(e,t){if(!(4&getObjectFlags(e)&&t.properties))return e;const n=e.target,o=singleOrUndefined(n.typeParameters);if(!o)return e;const a=[];return t.properties.forEach((e,t)=>{const i=r.getTypeOfPropertyOfType(n,t);h.assert(!!i,"generic should have all the properties of its reference."),a.push(...inferTypeParameters(i,combineFromUsage(e),o))}),i[e.symbol.escapedName](combineTypes(a))}(t,e));return[]}(e)),s}function inferStructuralType(e){const t=new Map;e.properties&&e.properties.forEach((e,n)=>{const i=r.createSymbol(4,n);i.links.type=combineFromUsage(e),t.set(n,i)});const n=e.calls?[getSignatureFromCalls(e.calls)]:[],i=e.constructs?[getSignatureFromCalls(e.constructs)]:[],o=e.stringIndex?[r.createIndexInfo(r.getStringType(),combineFromUsage(e.stringIndex),!1)]:[];return r.createAnonymousType(void 0,t,n,i,o)}function inferTypeParameters(e,t,n){if(e===n)return[t];if(3145728&e.flags)return flatMap(e.types,e=>inferTypeParameters(e,t,n));if(4&getObjectFlags(e)&&4&getObjectFlags(t)){const i=r.getTypeArguments(e),o=r.getTypeArguments(t),a=[];if(i&&o)for(let e=0;e<i.length;e++)o[e]&&a.push(...inferTypeParameters(i[e],o[e],n));return a}const i=r.getSignaturesOfType(e,0),o=r.getSignaturesOfType(t,0);return 1===i.length&&1===o.length?function inferFromSignatures(e,t,n){var i;const o=[];for(let a=0;a<e.parameters.length;a++){const s=e.parameters[a],c=t.parameters[a],l=e.declaration&&isRestParameter(e.declaration.parameters[a]);if(!c)break;let d=s.valueDeclaration?r.getTypeOfSymbolAtLocation(s,s.valueDeclaration):r.getAnyType();const p=l&&r.getElementTypeOfArrayType(d);p&&(d=p);const u=(null==(i=tryCast(c,isTransientSymbol))?void 0:i.links.type)||(c.valueDeclaration?r.getTypeOfSymbolAtLocation(c,c.valueDeclaration):r.getAnyType());o.push(...inferTypeParameters(d,u,n))}const a=r.getReturnTypeOfSignature(e),s=r.getReturnTypeOfSignature(t);return o.push(...inferTypeParameters(a,s,n)),o}(i[0],o[0],n):[]}function getSignatureFromCalls(e){const t=[],n=Math.max(...e.map(e=>e.argumentTypes.length));for(let i=0;i<n;i++){const n=r.createSymbol(1,escapeLeadingUnderscores(`arg${i}`));n.links.type=combineTypes(e.map(e=>e.argumentTypes[i]||r.getUndefinedType())),e.some(e=>void 0===e.argumentTypes[i])&&(n.flags|=16777216),t.push(n)}const i=combineFromUsage(combineUsages(e.map(e=>e.return_)));return r.createSignature(void 0,void 0,void 0,t,i,void 0,n,0)}function addCandidateType(e,t){!t||1&t.flags||131072&t.flags||(e.candidateTypes||(e.candidateTypes=[])).push(t)}function addCandidateThisType(e,t){!t||1&t.flags||131072&t.flags||(e.candidateThisTypes||(e.candidateThisTypes=[])).push(t)}}registerCodeFix({errorCodes:bu,getCodeActions(e){const{sourceFile:t,program:n,span:{start:r},errorCode:i,cancellationToken:o,host:a,preferences:s}=e,c=getTokenAtPosition(t,r);let l;const d=$m.ChangeTracker.with(e,e=>{l=doChange33(e,t,c,i,n,o,returnTrue,a,s)}),p=l&&getNameOfDeclaration(l);return p&&0!==d.length?[createCodeFixAction(vu,d,[getDiagnostic(i,c),getTextOfNode(p)],vu,Ot.Infer_all_types_from_usage)]:void 0},fixIds:[vu],getAllCodeActions(e){const{sourceFile:t,program:n,cancellationToken:r,host:i,preferences:o}=e,a=nodeSeenTracker();return codeFixAll(e,bu,(e,s)=>{doChange33(e,t,getTokenAtPosition(s.file,s.start),s.code,n,r,a,i,o)})}});var Cu="fixReturnTypeInAsyncFunction",Eu=[Ot.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0.code];function getInfo16(e,t,n){if(isInJSFile(e))return;const r=findAncestor(getTokenAtPosition(e,n),isFunctionLikeDeclaration),i=null==r?void 0:r.type;if(!i)return;const o=t.getTypeFromTypeNode(i),a=t.getAwaitedType(o)||t.getVoidType(),s=t.typeToTypeNode(a,i,void 0);return s?{returnTypeNode:i,returnType:o,promisedTypeNode:s,promisedType:a}:void 0}function doChange34(e,t,n,r){e.replaceNode(t,n,Wr.createTypeReferenceNode("Promise",[r]))}registerCodeFix({errorCodes:Eu,fixIds:[Cu],getCodeActions:function getCodeActionsToFixReturnTypeInAsyncFunction(e){const{sourceFile:t,program:n,span:r}=e,i=n.getTypeChecker(),o=getInfo16(t,n.getTypeChecker(),r.start);if(!o)return;const{returnTypeNode:a,returnType:s,promisedTypeNode:c,promisedType:l}=o,d=$m.ChangeTracker.with(e,e=>doChange34(e,t,a,c));return[createCodeFixAction(Cu,d,[Ot.Replace_0_with_Promise_1,i.typeToString(s),i.typeToString(l)],Cu,Ot.Fix_all_incorrect_return_type_of_an_async_functions)]},getAllCodeActions:e=>codeFixAll(e,Eu,(t,n)=>{const r=getInfo16(n.file,e.program.getTypeChecker(),n.start);r&&doChange34(t,n.file,r.returnTypeNode,r.promisedTypeNode)})});var Nu="disableJsDiagnostics",ku="disableJsDiagnostics",Fu=mapDefined(Object.keys(Ot),e=>{const t=Ot[e];return 1===t.category?t.code:void 0});function makeChange9(e,t,n,r){const{line:i}=getLineAndCharacterOfPosition(t,n);r&&!tryAddToSet(r,i)||e.insertCommentBeforeLine(t,i,n," @ts-ignore")}function createMissingMemberNodes(e,t,n,r,i,o,a){const s=e.symbol.members;for(const c of t)s.has(c.escapedName)||addNewNodeForMemberSymbol(c,e,n,r,i,o,a,void 0)}function getNoopSymbolTrackerWithResolver(e){return{trackSymbol:()=>!1,moduleResolverHost:getModuleSpecifierResolverHost(e.program,e.host)}}registerCodeFix({errorCodes:Fu,getCodeActions:function getCodeActionsToDisableJsDiagnostics(e){const{sourceFile:t,program:n,span:r,host:i,formatContext:o}=e;if(!isInJSFile(t)||!isCheckJsEnabledForFile(t,n.getCompilerOptions()))return;const a=t.checkJsDirective?"":getNewLineOrDefaultFromHost(i,o.options),s=[createCodeFixActionWithoutFixAll(Nu,[createFileTextChanges(t.fileName,[createTextChange(t.checkJsDirective?createTextSpanFromBounds(t.checkJsDirective.pos,t.checkJsDirective.end):createTextSpan(0,0),`// @ts-nocheck${a}`)])],Ot.Disable_checking_for_this_file)];return $m.isValidLocationToAddComment(t,r.start)&&s.unshift(createCodeFixAction(Nu,$m.ChangeTracker.with(e,e=>makeChange9(e,t,r.start)),Ot.Ignore_this_error_message,ku,Ot.Add_ts_ignore_to_all_error_messages)),s},fixIds:[ku],getAllCodeActions:e=>{const t=new Set;return codeFixAll(e,Fu,(e,n)=>{$m.isValidLocationToAddComment(n.file,n.start)&&makeChange9(e,n.file,n.start,t)})}});var Pu=(e=>(e[e.Method=1]="Method",e[e.Property=2]="Property",e[e.All=3]="All",e))(Pu||{});function addNewNodeForMemberSymbol(e,t,n,r,i,o,a,s,c=3,d=!1){const p=e.getDeclarations(),u=firstOrUndefined(p),m=r.program.getTypeChecker(),_=zn(r.program.getCompilerOptions()),f=(null==u?void 0:u.kind)??172,g=function createDeclarationName(e,t){if(262144&getCheckFlags(e)){const t=e.links.nameType;if(t&&isTypeUsableAsPropertyName(t))return Wr.createIdentifier(unescapeLeadingUnderscores(getPropertyNameFromType(t)))}return getSynthesizedDeepClone(getNameOfDeclaration(t),!1)}(e,u),y=u?getEffectiveModifierFlags(u):0;let T=256&y;T|=1&y?1:4&y?4:0,u&&isAutoAccessorPropertyDeclaration(u)&&(T|=512);const S=function createModifiers(){let e;T&&(e=combine(e,Wr.createModifiersFromModifierFlags(T)));(function shouldAddOverrideKeyword(){return!!(r.program.getCompilerOptions().noImplicitOverride&&u&&hasAbstractModifier(u))})()&&(e=append(e,Wr.createToken(164)));return e&&Wr.createNodeArray(e)}(),x=m.getWidenedType(m.getTypeOfSymbolAtLocation(e,t)),v=!!(16777216&e.flags),b=!!(33554432&t.flags)||d,C=getQuotePreference(n,i),E=1|(0===C?268435456:0);switch(f){case 172:case 173:let n=m.typeToTypeNode(x,t,E,8,getNoopSymbolTrackerWithResolver(r));if(o){const e=tryGetAutoImportableReferenceFromTypeNode(n,_);e&&(n=e.typeNode,importSymbols(o,e.symbols))}a(Wr.createPropertyDeclaration(S,u?createName(g):e.getName(),v&&2&c?Wr.createToken(58):void 0,n,void 0));break;case 178:case 179:{h.assertIsDefined(p);let e=m.typeToTypeNode(x,t,E,void 0,getNoopSymbolTrackerWithResolver(r));const n=getAllAccessorDeclarations(p,u),i=n.secondAccessor?[n.firstAccessor,n.secondAccessor]:[n.firstAccessor];if(o){const t=tryGetAutoImportableReferenceFromTypeNode(e,_);t&&(e=t.typeNode,importSymbols(o,t.symbols))}for(const t of i)if(isGetAccessorDeclaration(t))a(Wr.createGetAccessorDeclaration(S,createName(g),l,createTypeNode(e),createBody(s,C,b)));else{h.assertNode(t,isSetAccessorDeclaration,"The counterpart to a getter should be a setter");const n=getSetAccessorValueParameter(t),r=n&&isIdentifier(n.name)?idText(n.name):void 0;a(Wr.createSetAccessorDeclaration(S,createName(g),createDummyParameters(1,[r],[createTypeNode(e)],1,!1),createBody(s,C,b)))}break}case 174:case 175:h.assertIsDefined(p);const i=x.isUnion()?flatMap(x.types,e=>e.getCallSignatures()):x.getCallSignatures();if(!some(i))break;if(1===p.length){h.assert(1===i.length,"One declaration implies one signature");const e=i[0];outputMethod(C,e,S,createName(g),createBody(s,C,b));break}for(const e of i)e.declaration&&33554432&e.declaration.flags||outputMethod(C,e,S,createName(g));if(!b)if(p.length>i.length){const e=m.getSignatureFromDeclaration(p[p.length-1]);outputMethod(C,e,S,createName(g),createBody(s,C))}else h.assert(p.length===i.length,"Declarations and signatures should match count"),a(function createMethodImplementingSignatures(e,t,n,r,i,o,a,s,c){let l=r[0],d=r[0].minArgumentCount,p=!1;for(const e of r)d=Math.min(e.minArgumentCount,d),signatureHasRestParameter(e)&&(p=!0),e.parameters.length>=l.parameters.length&&(!signatureHasRestParameter(e)||signatureHasRestParameter(l))&&(l=e);const u=l.parameters.length-(signatureHasRestParameter(l)?1:0),m=l.parameters.map(e=>e.name),_=createDummyParameters(u,m,void 0,d,!1);if(p){const e=Wr.createParameterDeclaration(void 0,Wr.createToken(26),m[u]||"rest",u>=d?Wr.createToken(58):void 0,Wr.createArrayTypeNode(Wr.createKeywordTypeNode(159)),void 0);_.push(e)}return function createStubbedMethod(e,t,n,r,i,o,a,s){return Wr.createMethodDeclaration(e,void 0,t,n?Wr.createToken(58):void 0,r,i,o,s||createStubbedMethodBody(a))}(a,i,o,void 0,_,function getReturnTypeFromSignatures(e,t,n,r){if(length(e)){const i=t.getUnionType(map(e,t.getReturnTypeOfSignature));return t.typeToTypeNode(i,r,1,8,getNoopSymbolTrackerWithResolver(n))}}(r,e,t,n),s,c)}(m,r,t,i,createName(g),v&&!!(1&c),S,C,s))}function outputMethod(e,n,i,s,l){const d=createSignatureDeclarationFromSignature(175,r,e,n,l,s,i,v&&!!(1&c),t,o);d&&a(d)}function createName(e){return isIdentifier(e)&&"constructor"===e.escapedText?Wr.createComputedPropertyName(Wr.createStringLiteral(idText(e),0===C)):getSynthesizedDeepClone(e,!1)}function createBody(e,t,n){return n?void 0:getSynthesizedDeepClone(e,!1)||createStubbedMethodBody(t)}function createTypeNode(e){return getSynthesizedDeepClone(e,!1)}}function createSignatureDeclarationFromSignature(e,t,n,r,i,o,a,s,c,l){const d=t.program,p=d.getTypeChecker(),u=zn(d.getCompilerOptions()),m=isInJSFile(c),_=524545|(0===n?268435456:0),f=p.signatureToSignatureDeclaration(r,e,c,_,8,getNoopSymbolTrackerWithResolver(t));if(!f)return;let g=m?void 0:f.typeParameters,y=f.parameters,h=m?void 0:getSynthesizedDeepClone(f.type);if(l){if(g){const e=sameMap(g,e=>{let t=e.constraint,n=e.default;if(t){const e=tryGetAutoImportableReferenceFromTypeNode(t,u);e&&(t=e.typeNode,importSymbols(l,e.symbols))}if(n){const e=tryGetAutoImportableReferenceFromTypeNode(n,u);e&&(n=e.typeNode,importSymbols(l,e.symbols))}return Wr.updateTypeParameterDeclaration(e,e.modifiers,e.name,t,n)});g!==e&&(g=setTextRange(Wr.createNodeArray(e,g.hasTrailingComma),g))}const e=sameMap(y,e=>{let t=m?void 0:e.type;if(t){const e=tryGetAutoImportableReferenceFromTypeNode(t,u);e&&(t=e.typeNode,importSymbols(l,e.symbols))}return Wr.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,e.name,m?void 0:e.questionToken,t,e.initializer)});if(y!==e&&(y=setTextRange(Wr.createNodeArray(e,y.hasTrailingComma),y)),h){const e=tryGetAutoImportableReferenceFromTypeNode(h,u);e&&(h=e.typeNode,importSymbols(l,e.symbols))}}const T=s?Wr.createToken(58):void 0,S=f.asteriskToken;return isFunctionExpression(f)?Wr.updateFunctionExpression(f,a,f.asteriskToken,tryCast(o,isIdentifier),g,y,h,i??f.body):isArrowFunction(f)?Wr.updateArrowFunction(f,a,g,y,h,f.equalsGreaterThanToken,i??f.body):isMethodDeclaration(f)?Wr.updateMethodDeclaration(f,a,S,o??Wr.createIdentifier(""),T,g,y,h,i):isFunctionDeclaration(f)?Wr.updateFunctionDeclaration(f,a,f.asteriskToken,tryCast(o,isIdentifier),g,y,h,i??f.body):void 0}function createSignatureDeclarationFromCallExpression(e,t,n,r,i,o,a){const s=getQuotePreference(t.sourceFile,t.preferences),c=zn(t.program.getCompilerOptions()),l=getNoopSymbolTrackerWithResolver(t),d=t.program.getTypeChecker(),p=isInJSFile(a),{typeArguments:u,arguments:m,parent:_}=r,f=p?void 0:d.getContextualType(r),g=map(m,e=>isIdentifier(e)?e.text:isPropertyAccessExpression(e)&&isIdentifier(e.name)?e.name.text:void 0),y=p?[]:map(m,e=>d.getTypeAtLocation(e)),{argumentTypeNodes:T,argumentTypeParameters:S}=function getArgumentTypesAndTypeParameters(e,t,n,r,i,o,a,s){const c=[],l=new Map;for(let d=0;d<n.length;d+=1){const p=n[d];if(p.isUnionOrIntersection()&&p.types.some(typeContainsTypeParameter)){const e=createTypeParameterName(d);c.push(Wr.createTypeReferenceNode(e)),l.set(e,void 0);continue}const u=e.getBaseTypeOfLiteralType(p),m=typeToAutoImportableTypeNode(e,t,u,r,i,o,a,s);if(!m)continue;c.push(m);const _=getFirstTypeParameterName(p),f=p.isTypeParameter()&&p.constraint&&!isAnonymousObjectConstraintType(p.constraint)?typeToAutoImportableTypeNode(e,t,p.constraint,r,i,o,a,s):void 0;_&&l.set(_,{argumentType:p,constraint:f})}return{argumentTypeNodes:c,argumentTypeParameters:arrayFrom(l.entries())}}(d,n,y,a,c,1,8,l),x=o?Wr.createNodeArray(Wr.createModifiersFromModifierFlags(o)):void 0,v=isYieldExpression(_)?Wr.createToken(42):void 0,b=p?void 0:function createTypeParametersForArguments(e,t,n){const r=new Set(t.map(e=>e[0])),i=new Map(t);if(n){const i=n.filter(n=>!t.some(t=>{var r;return e.getTypeAtLocation(n)===(null==(r=t[1])?void 0:r.argumentType)})),o=r.size+i.length;for(let e=0;r.size<o;e+=1)r.add(createTypeParameterName(e))}return arrayFrom(r.values(),e=>{var t;return Wr.createTypeParameterDeclaration(void 0,e,null==(t=i.get(e))?void 0:t.constraint)})}(d,S,u),C=createDummyParameters(m.length,g,T,void 0,p),E=p||void 0===f?void 0:d.typeToTypeNode(f,a,void 0,void 0,l);switch(e){case 175:return Wr.createMethodDeclaration(x,v,i,void 0,b,C,E,createStubbedMethodBody(s));case 174:return Wr.createMethodSignature(x,i,void 0,b,C,void 0===E?Wr.createKeywordTypeNode(159):E);case 263:return h.assert("string"==typeof i||isIdentifier(i),"Unexpected name"),Wr.createFunctionDeclaration(x,v,i,b,C,E,createStubbedBody(Ot.Function_not_implemented.message,s));default:h.fail("Unexpected kind")}}function createTypeParameterName(e){return 84+e<=90?String.fromCharCode(84+e):`T${e}`}function typeToAutoImportableTypeNode(e,t,n,r,i,o,a,s){const c=e.typeToTypeNode(n,r,o,a,s);if(c)return typeNodeToAutoImportableTypeNode(c,t,i)}function typeNodeToAutoImportableTypeNode(e,t,n){const r=tryGetAutoImportableReferenceFromTypeNode(e,n);return r&&(importSymbols(t,r.symbols),e=r.typeNode),getSynthesizedDeepClone(e)}function typeToMinimizedReferenceType(e,t,n,r,i,o){let a=e.typeToTypeNode(t,n,r,i,o);if(a){if(isTypeReferenceNode(a)){const n=t;if(n.typeArguments&&a.typeArguments){const t=function endOfRequiredTypeParameters(e,t){var n;h.assert(t.typeArguments);const r=t.typeArguments,i=t.target;for(let t=0;t<r.length;t++){if(void 0===(null==(n=i.localTypeParameters)?void 0:n[t].constraint))continue;const o=r.slice(0,t);if(e.fillMissingTypeArguments(o,i.typeParameters,t,!1).every((e,t)=>e===r[t]))return t}return r.length}(e,n);if(t<a.typeArguments.length){const e=Wr.createNodeArray(a.typeArguments.slice(0,t));a=Wr.updateTypeReferenceNode(a,a.typeName,e)}}}return a}}function typePredicateToAutoImportableTypeNode(e,t,n,r,i,o,a,s){let c=e.typePredicateToTypePredicateNode(n,r,o,a,s);if((null==c?void 0:c.type)&&isImportTypeNode(c.type)){const e=tryGetAutoImportableReferenceFromTypeNode(c.type,i);e&&(importSymbols(t,e.symbols),c=Wr.updateTypePredicateNode(c,c.assertsModifier,c.parameterName,e.typeNode))}return getSynthesizedDeepClone(c)}function typeContainsTypeParameter(e){return e.isUnionOrIntersection()?e.types.some(typeContainsTypeParameter):262144&e.flags}function isAnonymousObjectConstraintType(e){return 524288&e.flags&&16===e.objectFlags}function getFirstTypeParameterName(e){var t;if(3145728&e.flags)for(const t of e.types){const e=getFirstTypeParameterName(t);if(e)return e}return 262144&e.flags?null==(t=e.getSymbol())?void 0:t.getName():void 0}function createDummyParameters(e,t,n,r,i){const o=[],a=new Map;for(let s=0;s<e;s++){const e=(null==t?void 0:t[s])||`arg${s}`,c=a.get(e);a.set(e,(c||0)+1);const l=Wr.createParameterDeclaration(void 0,void 0,e+(c||""),void 0!==r&&s>=r?Wr.createToken(58):void 0,i?void 0:(null==n?void 0:n[s])||Wr.createKeywordTypeNode(159),void 0);o.push(l)}return o}function createStubbedMethodBody(e){return createStubbedBody(Ot.Method_not_implemented.message,e)}function createStubbedBody(e,t){return Wr.createBlock([Wr.createThrowStatement(Wr.createNewExpression(Wr.createIdentifier("Error"),void 0,[Wr.createStringLiteral(e,0===t)]))],!0)}function setJsonCompilerOptionValues(e,t,n){const r=getTsConfigObjectLiteralExpression(t);if(!r)return;const i=findJsonProperty(r,"compilerOptions");if(void 0===i)return void e.insertNodeAtObjectStart(t,r,createJsonPropertyAssignment("compilerOptions",Wr.createObjectLiteralExpression(n.map(([e,t])=>createJsonPropertyAssignment(e,t)),!0)));const o=i.initializer;if(isObjectLiteralExpression(o))for(const[r,i]of n){const n=findJsonProperty(o,r);void 0===n?e.insertNodeAtObjectStart(t,o,createJsonPropertyAssignment(r,i)):e.replaceNode(t,n.initializer,i)}}function setJsonCompilerOptionValue(e,t,n,r){setJsonCompilerOptionValues(e,t,[[n,r]])}function createJsonPropertyAssignment(e,t){return Wr.createPropertyAssignment(Wr.createStringLiteral(e),t)}function findJsonProperty(e,t){return find(e.properties,e=>isPropertyAssignment(e)&&!!e.name&&isStringLiteral(e.name)&&e.name.text===t)}function tryGetAutoImportableReferenceFromTypeNode(e,t){let n;const r=visitNode(e,function visit(e){if(isLiteralImportTypeNode(e)&&e.qualifier){const r=getFirstIdentifier(e.qualifier);if(!r.symbol)return visitEachChild(e,visit,void 0);const i=getNameForExportedSymbol(r.symbol,t),o=i!==r.text?replaceFirstIdentifierOfEntityName(e.qualifier,Wr.createIdentifier(i)):e.qualifier;n=append(n,r.symbol);const a=visitNodes2(e.typeArguments,visit,isTypeNode);return Wr.createTypeReferenceNode(o,a)}return visitEachChild(e,visit,void 0)},isTypeNode);if(n&&r)return{typeNode:r,symbols:n}}function replaceFirstIdentifierOfEntityName(e,t){return 80===e.kind?t:Wr.createQualifiedName(replaceFirstIdentifierOfEntityName(e.left,t),e.right)}function importSymbols(e,t){t.forEach(t=>e.addImportFromExportedSymbol(t,!0))}function findAncestorMatchingSpan(e,t){const n=textSpanEnd(t);let r=getTokenAtPosition(e,t.start);for(;r.end<n;)r=r.parent;return r}function generateAccessorFromProperty(e,t,n,r,i,o){const a=getAccessorConvertiblePropertyAtPosition(e,t,n,r);if(!a||bc.isRefactorErrorInfo(a))return;const s=$m.ChangeTracker.fromContext(i),{isStatic:c,isReadonly:l,fieldName:d,accessorName:p,originalName:u,type:m,container:_,declaration:f}=a;let g,y;if(suppressLeadingAndTrailingTrivia(d),suppressLeadingAndTrailingTrivia(p),suppressLeadingAndTrailingTrivia(f),suppressLeadingAndTrailingTrivia(_),isClassLike(_)){const t=getEffectiveModifierFlags(f);if(isSourceFileJS(e)){const e=Wr.createModifiersFromModifierFlags(t);g=e,y=e}else g=Wr.createModifiersFromModifierFlags(function prepareModifierFlagsForAccessor(e){e&=-9,e&=-3,4&e||(e|=1);return e}(t)),y=Wr.createModifiersFromModifierFlags(function prepareModifierFlagsForField(e){return e&=-2,e&=-5,e|=2,e}(t));canHaveDecorators(f)&&(y=concatenate(getDecorators(f),y))}!function updateFieldDeclaration(e,t,n,r,i,o){isPropertyDeclaration(n)?function updatePropertyDeclaration(e,t,n,r,i,o){const a=Wr.updatePropertyDeclaration(n,o,i,n.questionToken||n.exclamationToken,r,n.initializer);e.replaceNode(t,n,a)}(e,t,n,r,i,o):isPropertyAssignment(n)?function updatePropertyAssignmentDeclaration(e,t,n,r){let i=Wr.updatePropertyAssignment(n,r,n.initializer);(i.modifiers||i.questionToken||i.exclamationToken)&&(i===n&&(i=Wr.cloneNode(i)),i.modifiers=void 0,i.questionToken=void 0,i.exclamationToken=void 0);e.replacePropertyAssignment(t,n,i)}(e,t,n,i):e.replaceNode(t,n,Wr.updateParameterDeclaration(n,o,n.dotDotDotToken,cast(i,isIdentifier),n.questionToken,n.type,n.initializer))}(s,e,f,m,d,y);const h=function generateGetAccessor(e,t,n,r,i,o){return Wr.createGetAccessorDeclaration(r,t,[],n,Wr.createBlock([Wr.createReturnStatement(createAccessorAccessExpression(e,i,o))],!0))}(d,p,m,g,c,_);if(suppressLeadingAndTrailingTrivia(h),insertAccessor(s,e,h,f,_),l){const t=getFirstConstructorWithBody(_);t&&function updateReadonlyPropertyInitializerStatementConstructor(e,t,n,r,i){if(!n.body)return;n.body.forEachChild(function recur(n){isElementAccessExpression(n)&&110===n.expression.kind&&isStringLiteral(n.argumentExpression)&&n.argumentExpression.text===i&&isWriteAccess(n)&&e.replaceNode(t,n.argumentExpression,Wr.createStringLiteral(r)),isPropertyAccessExpression(n)&&110===n.expression.kind&&n.name.text===i&&isWriteAccess(n)&&e.replaceNode(t,n.name,Wr.createIdentifier(r)),isFunctionLike(n)||isClassLike(n)||n.forEachChild(recur)})}(s,e,t,d.text,u)}else{const t=function generateSetAccessor(e,t,n,r,i,o){return Wr.createSetAccessorDeclaration(r,t,[Wr.createParameterDeclaration(void 0,void 0,Wr.createIdentifier("value"),void 0,n)],Wr.createBlock([Wr.createExpressionStatement(Wr.createAssignment(createAccessorAccessExpression(e,i,o),Wr.createIdentifier("value")))],!0))}(d,p,m,g,c,_);suppressLeadingAndTrailingTrivia(t),insertAccessor(s,e,t,f,_)}return s.getChanges()}function isAcceptedDeclaration(e){return isParameterPropertyDeclaration(e,e.parent)||isPropertyDeclaration(e)||isPropertyAssignment(e)}function createPropertyName(e,t){return isIdentifier(t)?Wr.createIdentifier(e):Wr.createStringLiteral(e)}function createAccessorAccessExpression(e,t,n){const r=t?n.name:Wr.createThis();return isIdentifier(e)?Wr.createPropertyAccessExpression(r,e):Wr.createElementAccessExpression(r,Wr.createStringLiteralFromNode(e))}function getAccessorConvertiblePropertyAtPosition(e,t,n,r,i=!0){const o=n===r&&i,a=findAncestor(getTokenAtPosition(e,n).parent,isAcceptedDeclaration);if(!a||!nodeOverlapsWithStartEnd(a.name,e,n,r)&&!o)return{error:getLocaleSpecificMessage(Ot.Could_not_find_property_for_which_to_generate_accessor)};if(!function isConvertibleName(e){return isIdentifier(e)||isStringLiteral(e)}(a.name))return{error:getLocaleSpecificMessage(Ot.Name_is_not_valid)};if(271!=(98303&getEffectiveModifierFlags(a)|271))return{error:getLocaleSpecificMessage(Ot.Can_only_convert_property_with_modifier)};const s=a.name.text,c=startsWithUnderscore(s),l=createPropertyName(c?s:getUniqueName(`_${s}`,e),a.name),d=createPropertyName(c?getUniqueName(s.substring(1),e):s,a.name);return{isStatic:hasStaticModifier(a),isReadonly:hasEffectiveReadonlyModifier(a),type:getDeclarationType(a,t),container:170===a.kind?a.parent.parent:a.parent,originalName:a.name.text,declaration:a,fieldName:l,accessorName:d,renameAccessor:c}}function insertAccessor(e,t,n,r,i){isParameterPropertyDeclaration(r,r.parent)?e.insertMemberAtStart(t,i,n):isPropertyAssignment(r)?e.insertNodeAfterComma(t,r,n):e.insertNodeAfter(t,r,n)}function getDeclarationType(e,t){const n=getTypeAnnotationNode(e);if(isPropertyDeclaration(e)&&n&&e.questionToken){const e=t.getTypeChecker(),r=e.getTypeFromTypeNode(n);if(!e.isTypeAssignableTo(e.getUndefinedType(),r)){const e=isUnionTypeNode(n)?n.types:[n];return Wr.createUnionTypeNode([...e,Wr.createKeywordTypeNode(157)])}}return n}var Du="invalidImportSyntax";function createAction(e,t,n,r){const i=$m.ChangeTracker.with(e,e=>e.replaceNode(t,n,r));return createCodeFixActionWithoutFixAll(Du,i,[Ot.Replace_import_with_0,i[0].textChanges[0].newText])}function getImportCodeFixesForExpression(e,t){const n=e.program.getTypeChecker().getTypeAtLocation(t);if(!(n.symbol&&isTransientSymbol(n.symbol)&&n.symbol.links.originatingImport))return[];const r=[],i=n.symbol.links.originatingImport;if(isImportCall(i)||addRange(r,function getCodeFixesForImportDeclaration(e,t){const n=getSourceFileOfNode(t),r=getNamespaceDeclarationNode(t),i=e.program.getCompilerOptions(),o=[];return o.push(createAction(e,n,t,makeImport(r.name,void 0,t.moduleSpecifier,getQuotePreference(n,e.preferences)))),1===Vn(i)&&o.push(createAction(e,n,t,Wr.createImportEqualsDeclaration(void 0,!1,r.name,Wr.createExternalModuleReference(t.moduleSpecifier)))),o}(e,i)),isExpression(t)&&(!isNamedDeclaration(t.parent)||t.parent.name!==t)){const n=e.sourceFile,i=$m.ChangeTracker.with(e,e=>e.replaceNode(n,t,Wr.createPropertyAccessExpression(t,"default"),{}));r.push(createCodeFixActionWithoutFixAll(Du,i,Ot.Use_synthetic_default_member))}return r}registerCodeFix({errorCodes:[Ot.This_expression_is_not_callable.code,Ot.This_expression_is_not_constructable.code],getCodeActions:function getActionsForUsageOfInvalidImport(e){const t=e.sourceFile,n=Ot.This_expression_is_not_callable.code===e.errorCode?214:215,r=findAncestor(getTokenAtPosition(t,e.span.start),e=>e.kind===n);if(!r)return[];const i=r.expression;return getImportCodeFixesForExpression(e,i)}}),registerCodeFix({errorCodes:[Ot.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,Ot.Type_0_does_not_satisfy_the_constraint_1.code,Ot.Type_0_is_not_assignable_to_type_1.code,Ot.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,Ot.Type_predicate_0_is_not_assignable_to_1.code,Ot.Property_0_of_type_1_is_not_assignable_to_2_index_type_3.code,Ot._0_index_type_1_is_not_assignable_to_2_index_type_3.code,Ot.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code,Ot.Property_0_in_type_1_is_not_assignable_to_type_2.code,Ot.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code,Ot.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code],getCodeActions:function getActionsForInvalidImportLocation(e){const t=findAncestor(getTokenAtPosition(e.sourceFile,e.span.start),t=>t.getStart()===e.span.start&&t.getEnd()===e.span.start+e.span.length);if(!t)return[];return getImportCodeFixesForExpression(e,t)}});var Iu="strictClassInitialization",Au="addMissingPropertyDefiniteAssignmentAssertions",Ou="addMissingPropertyUndefinedType",wu="addMissingPropertyInitializer",Lu=[Ot.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code];function getInfo17(e,t){const n=getTokenAtPosition(e,t);if(isIdentifier(n)&&isPropertyDeclaration(n.parent)){const e=getEffectiveTypeAnnotationNode(n.parent);if(e)return{type:e,prop:n.parent,isJs:isInJSFile(n.parent)}}}function addDefiniteAssignmentAssertion(e,t,n){suppressLeadingAndTrailingTrivia(n);const r=Wr.updatePropertyDeclaration(n,n.modifiers,n.name,Wr.createToken(54),n.type,n.initializer);e.replaceNode(t,n,r)}function addUndefinedType(e,t,n){const r=Wr.createKeywordTypeNode(157),i=isUnionTypeNode(n.type)?n.type.types.concat(r):[n.type,r],o=Wr.createUnionTypeNode(i);n.isJs?e.addJSDocTags(t,n.prop,[Wr.createJSDocTypeTag(void 0,Wr.createJSDocTypeExpression(o))]):e.replaceNode(t,n.type,o)}function addInitializer(e,t,n,r){suppressLeadingAndTrailingTrivia(n);const i=Wr.updatePropertyDeclaration(n,n.modifiers,n.name,n.questionToken,n.type,r);e.replaceNode(t,n,i)}function getInitializer(e,t){return getDefaultValueFromType(e,e.getTypeFromTypeNode(t.type))}function getDefaultValueFromType(e,t){if(512&t.flags)return t===e.getFalseType()||t===e.getFalseType(!0)?Wr.createFalse():Wr.createTrue();if(t.isStringLiteral())return Wr.createStringLiteral(t.value);if(t.isNumberLiteral())return Wr.createNumericLiteral(t.value);if(2048&t.flags)return Wr.createBigIntLiteral(t.value);if(t.isUnion())return firstDefined(t.types,t=>getDefaultValueFromType(e,t));if(t.isClass()){const e=getClassLikeDeclarationOfSymbol(t.symbol);if(!e||hasSyntacticModifier(e,64))return;const n=getFirstConstructorWithBody(e);if(n&&n.parameters.length)return;return Wr.createNewExpression(Wr.createIdentifier(t.symbol.name),void 0,void 0)}return e.isArrayLikeType(t)?Wr.createArrayLiteralExpression():void 0}registerCodeFix({errorCodes:Lu,getCodeActions:function getCodeActionsForStrictClassInitializationErrors(e){const t=getInfo17(e.sourceFile,e.span.start);if(!t)return;const n=[];return append(n,function getActionForAddMissingUndefinedType(e,t){const n=$m.ChangeTracker.with(e,n=>addUndefinedType(n,e.sourceFile,t));return createCodeFixAction(Iu,n,[Ot.Add_undefined_type_to_property_0,t.prop.name.getText()],Ou,Ot.Add_undefined_type_to_all_uninitialized_properties)}(e,t)),append(n,function getActionForAddMissingDefiniteAssignmentAssertion(e,t){if(t.isJs)return;const n=$m.ChangeTracker.with(e,n=>addDefiniteAssignmentAssertion(n,e.sourceFile,t.prop));return createCodeFixAction(Iu,n,[Ot.Add_definite_assignment_assertion_to_property_0,t.prop.getText()],Au,Ot.Add_definite_assignment_assertions_to_all_uninitialized_properties)}(e,t)),append(n,function getActionForAddMissingInitializer(e,t){if(t.isJs)return;const n=e.program.getTypeChecker(),r=getInitializer(n,t.prop);if(!r)return;const i=$m.ChangeTracker.with(e,n=>addInitializer(n,e.sourceFile,t.prop,r));return createCodeFixAction(Iu,i,[Ot.Add_initializer_to_property_0,t.prop.name.getText()],wu,Ot.Add_initializers_to_all_uninitialized_properties)}(e,t)),n},fixIds:[Au,Ou,wu],getAllCodeActions:e=>codeFixAll(e,Lu,(t,n)=>{const r=getInfo17(n.file,n.start);if(r)switch(e.fixId){case Au:addDefiniteAssignmentAssertion(t,n.file,r.prop);break;case Ou:addUndefinedType(t,n.file,r);break;case wu:const i=getInitializer(e.program.getTypeChecker(),r.prop);if(!i)return;addInitializer(t,n.file,r.prop,i);break;default:h.fail(JSON.stringify(e.fixId))}})});var Mu="requireInTs",Ru=[Ot.require_call_may_be_converted_to_an_import.code];function doChange35(e,t,n){const{allowSyntheticDefaults:r,defaultImportName:i,namedImports:o,statement:a,moduleSpecifier:s}=n;e.replaceNode(t,a,i&&!r?Wr.createImportEqualsDeclaration(void 0,!1,i,Wr.createExternalModuleReference(s)):Wr.createImportDeclaration(void 0,Wr.createImportClause(void 0,i,o),s,void 0))}function getInfo18(e,t,n,r){const{parent:i}=getTokenAtPosition(e,n);isRequireCall(i,!0)||h.failBadSyntaxKind(i);const o=cast(i.parent,isVariableDeclaration),a=getQuotePreference(e,r),s=tryCast(o.name,isIdentifier),c=isObjectBindingPattern(o.name)?function tryCreateNamedImportsFromObjectBindingPattern(e){const t=[];for(const n of e.elements){if(!isIdentifier(n.name)||n.initializer)return;t.push(Wr.createImportSpecifier(!1,tryCast(n.propertyName,isIdentifier),n.name))}if(t.length)return Wr.createNamedImports(t)}(o.name):void 0;if(s||c){const e=first(i.arguments);return{allowSyntheticDefaults:$n(t.getCompilerOptions()),defaultImportName:s,namedImports:c,statement:cast(o.parent.parent,isVariableStatement),moduleSpecifier:isNoSubstitutionTemplateLiteral(e)?Wr.createStringLiteral(e.text,0===a):e}}}registerCodeFix({errorCodes:Ru,getCodeActions(e){const t=getInfo18(e.sourceFile,e.program,e.span.start,e.preferences);if(!t)return;const n=$m.ChangeTracker.with(e,n=>doChange35(n,e.sourceFile,t));return[createCodeFixAction(Mu,n,Ot.Convert_require_to_import,Mu,Ot.Convert_all_require_to_import)]},fixIds:[Mu],getAllCodeActions:e=>codeFixAll(e,Ru,(t,n)=>{const r=getInfo18(n.file,e.program,n.start,e.preferences);r&&doChange35(t,e.sourceFile,r)})});var Bu="useDefaultImport",ju=[Ot.Import_may_be_converted_to_a_default_import.code];function getInfo19(e,t){const n=getTokenAtPosition(e,t);if(!isIdentifier(n))return;const{parent:r}=n;if(isImportEqualsDeclaration(r)&&isExternalModuleReference(r.moduleReference))return{importNode:r,name:n,moduleSpecifier:r.moduleReference.expression};if(isNamespaceImport(r)&&isImportDeclaration(r.parent.parent)){const e=r.parent.parent;return{importNode:e,name:n,moduleSpecifier:e.moduleSpecifier}}}function doChange36(e,t,n,r){e.replaceNode(t,n.importNode,makeImport(n.name,void 0,n.moduleSpecifier,getQuotePreference(t,r)))}registerCodeFix({errorCodes:ju,getCodeActions(e){const{sourceFile:t,span:{start:n}}=e,r=getInfo19(t,n);if(!r)return;const i=$m.ChangeTracker.with(e,n=>doChange36(n,t,r,e.preferences));return[createCodeFixAction(Bu,i,Ot.Convert_to_default_import,Bu,Ot.Convert_all_to_default_imports)]},fixIds:[Bu],getAllCodeActions:e=>codeFixAll(e,ju,(t,n)=>{const r=getInfo19(n.file,n.start);r&&doChange36(t,n.file,r,e.preferences)})});var Ju="useBigintLiteral",Wu=[Ot.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers.code];function makeChange10(e,t,n){const r=tryCast(getTokenAtPosition(t,n.start),isNumericLiteral);if(!r)return;const i=r.getText(t)+"n";e.replaceNode(t,r,Wr.createBigIntLiteral(i))}registerCodeFix({errorCodes:Wu,getCodeActions:function getCodeActionsToUseBigintLiteral(e){const t=$m.ChangeTracker.with(e,t=>makeChange10(t,e.sourceFile,e.span));if(t.length>0)return[createCodeFixAction(Ju,t,Ot.Convert_to_a_bigint_numeric_literal,Ju,Ot.Convert_all_to_bigint_numeric_literals)]},fixIds:[Ju],getAllCodeActions:e=>codeFixAll(e,Wu,(e,t)=>makeChange10(e,t.file,t))});var Uu="fixAddModuleReferTypeMissingTypeof",zu=[Ot.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];function getImportTypeNode(e,t){const n=getTokenAtPosition(e,t);return h.assert(102===n.kind,"This token should be an ImportKeyword"),h.assert(206===n.parent.kind,"Token parent should be an ImportType"),n.parent}function doChange37(e,t,n){const r=Wr.updateImportTypeNode(n,n.argument,n.attributes,n.qualifier,n.typeArguments,!0);e.replaceNode(t,n,r)}registerCodeFix({errorCodes:zu,getCodeActions:function getCodeActionsToAddMissingTypeof(e){const{sourceFile:t,span:n}=e,r=getImportTypeNode(t,n.start),i=$m.ChangeTracker.with(e,e=>doChange37(e,t,r));return[createCodeFixAction(Uu,i,Ot.Add_missing_typeof,Uu,Ot.Add_missing_typeof)]},fixIds:[Uu],getAllCodeActions:e=>codeFixAll(e,zu,(t,n)=>doChange37(t,e.sourceFile,getImportTypeNode(n.file,n.start)))});var Vu="wrapJsxInFragment",qu=[Ot.JSX_expressions_must_have_one_parent_element.code];function findNodeToFix(e,t){let n=getTokenAtPosition(e,t).parent.parent;if((isBinaryExpression(n)||(n=n.parent,isBinaryExpression(n)))&&nodeIsMissing(n.operatorToken))return n}function doChange38(e,t,n){const r=function flattenInvalidBinaryExpr(e){const t=[];let n=e;for(;;){if(isBinaryExpression(n)&&nodeIsMissing(n.operatorToken)&&28===n.operatorToken.kind){if(t.push(n.left),isJsxChild(n.right))return t.push(n.right),t;if(isBinaryExpression(n.right)){n=n.right;continue}return}return}}(n);r&&e.replaceNode(t,n,Wr.createJsxFragment(Wr.createJsxOpeningFragment(),r,Wr.createJsxJsxClosingFragment()))}registerCodeFix({errorCodes:qu,getCodeActions:function getCodeActionsToWrapJsxInFragment(e){const{sourceFile:t,span:n}=e,r=findNodeToFix(t,n.start);if(!r)return;const i=$m.ChangeTracker.with(e,e=>doChange38(e,t,r));return[createCodeFixAction(Vu,i,Ot.Wrap_in_JSX_fragment,Vu,Ot.Wrap_all_unparented_JSX_in_JSX_fragment)]},fixIds:[Vu],getAllCodeActions:e=>codeFixAll(e,qu,(t,n)=>{const r=findNodeToFix(e.sourceFile,n.start);r&&doChange38(t,e.sourceFile,r)})});var Hu="wrapDecoratorInParentheses",Ku=[Ot.Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator.code];function makeChange11(e,t,n){const r=findAncestor(getTokenAtPosition(t,n),isDecorator);h.assert(!!r,"Expected position to be owned by a decorator.");const i=Wr.createParenthesizedExpression(r.expression);e.replaceNode(t,r.expression,i)}registerCodeFix({errorCodes:Ku,getCodeActions:function getCodeActionsToWrapDecoratorExpressionInParentheses(e){const t=$m.ChangeTracker.with(e,t=>makeChange11(t,e.sourceFile,e.span.start));return[createCodeFixAction(Hu,t,Ot.Wrap_in_parentheses,Hu,Ot.Wrap_all_invalid_decorator_expressions_in_parentheses)]},fixIds:[Hu],getAllCodeActions:e=>codeFixAll(e,Ku,(e,t)=>makeChange11(e,t.file,t.start))});var Gu="fixConvertToMappedObjectType",$u=[Ot.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code];function getInfo20(e,t){const n=tryCast(getTokenAtPosition(e,t).parent.parent,isIndexSignatureDeclaration);if(!n)return;const r=isInterfaceDeclaration(n.parent)?n.parent:tryCast(n.parent.parent,isTypeAliasDeclaration);return r?{indexSignature:n,container:r}:void 0}function doChange39(e,t,{indexSignature:n,container:r}){const i=(isInterfaceDeclaration(r)?r.members:r.type.members).filter(e=>!isIndexSignatureDeclaration(e)),o=first(n.parameters),a=Wr.createTypeParameterDeclaration(void 0,cast(o.name,isIdentifier),o.type),s=Wr.createMappedTypeNode(hasEffectiveReadonlyModifier(n)?Wr.createModifier(148):void 0,a,void 0,n.questionToken,n.type,void 0),c=Wr.createIntersectionTypeNode([...getAllSuperTypeNodes(r),s,...i.length?[Wr.createTypeLiteralNode(i)]:l]);e.replaceNode(t,r,function createTypeAliasFromInterface(e,t){return Wr.createTypeAliasDeclaration(e.modifiers,e.name,e.typeParameters,t)}(r,c))}registerCodeFix({errorCodes:$u,getCodeActions:function getCodeActionsToConvertToMappedTypeObject(e){const{sourceFile:t,span:n}=e,r=getInfo20(t,n.start);if(!r)return;const i=$m.ChangeTracker.with(e,e=>doChange39(e,t,r)),o=idText(r.container.name);return[createCodeFixAction(Gu,i,[Ot.Convert_0_to_mapped_object_type,o],Gu,[Ot.Convert_0_to_mapped_object_type,o])]},fixIds:[Gu],getAllCodeActions:e=>codeFixAll(e,$u,(e,t)=>{const n=getInfo20(t.file,t.start);n&&doChange39(e,t.file,n)})});var Qu="removeAccidentalCallParentheses";registerCodeFix({errorCodes:[Ot.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code],getCodeActions(e){const t=findAncestor(getTokenAtPosition(e.sourceFile,e.span.start),isCallExpression);if(!t)return;const n=$m.ChangeTracker.with(e,n=>{n.deleteRange(e.sourceFile,{pos:t.expression.end,end:t.end})});return[createCodeFixActionWithoutFixAll(Qu,n,Ot.Remove_parentheses)]},fixIds:[Qu]});var Xu="removeUnnecessaryAwait",Yu=[Ot.await_has_no_effect_on_the_type_of_this_expression.code];function makeChange12(e,t,n){const r=tryCast(getTokenAtPosition(t,n.start),e=>135===e.kind),i=r&&tryCast(r.parent,isAwaitExpression);if(!i)return;let o=i;if(isParenthesizedExpression(i.parent)){if(isIdentifier(getLeftmostExpression(i.expression,!1))){const e=findPrecedingToken(i.parent.pos,t);e&&105!==e.kind&&(o=i.parent)}}e.replaceNode(t,o,i.expression)}registerCodeFix({errorCodes:Yu,getCodeActions:function getCodeActionsToRemoveUnnecessaryAwait(e){const t=$m.ChangeTracker.with(e,t=>makeChange12(t,e.sourceFile,e.span));if(t.length>0)return[createCodeFixAction(Xu,t,Ot.Remove_unnecessary_await,Xu,Ot.Remove_all_unnecessary_uses_of_await)]},fixIds:[Xu],getAllCodeActions:e=>codeFixAll(e,Yu,(e,t)=>makeChange12(e,t.file,t))});var Zu=[Ot.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],em="splitTypeOnlyImport";function getImportDeclaration2(e,t){return findAncestor(getTokenAtPosition(e,t.start),isImportDeclaration)}function splitTypeOnlyImport(e,t,n){if(!t)return;const r=h.checkDefined(t.importClause);e.replaceNode(n.sourceFile,t,Wr.updateImportDeclaration(t,t.modifiers,Wr.updateImportClause(r,r.phaseModifier,r.name,void 0),t.moduleSpecifier,t.attributes)),e.insertNodeAfter(n.sourceFile,t,Wr.createImportDeclaration(void 0,Wr.updateImportClause(r,r.phaseModifier,void 0,r.namedBindings),t.moduleSpecifier,t.attributes))}registerCodeFix({errorCodes:Zu,fixIds:[em],getCodeActions:function getCodeActionsToSplitTypeOnlyImport(e){const t=$m.ChangeTracker.with(e,t=>splitTypeOnlyImport(t,getImportDeclaration2(e.sourceFile,e.span),e));if(t.length)return[createCodeFixAction(em,t,Ot.Split_into_two_separate_import_declarations,em,Ot.Split_all_invalid_type_only_imports)]},getAllCodeActions:e=>codeFixAll(e,Zu,(t,n)=>{splitTypeOnlyImport(t,getImportDeclaration2(e.sourceFile,n),e)})});var tm="fixConvertConstToLet",nm=[Ot.Cannot_assign_to_0_because_it_is_a_constant.code];function getInfo21(e,t,n){var r;const i=n.getTypeChecker().getSymbolAtLocation(getTokenAtPosition(e,t));if(void 0===i)return;const o=tryCast(null==(r=null==i?void 0:i.valueDeclaration)?void 0:r.parent,isVariableDeclarationList);if(void 0===o)return;const a=findChildOfKind(o,87,e);return void 0!==a?{symbol:i,token:a}:void 0}function doChange40(e,t,n){e.replaceNode(t,n,Wr.createToken(121))}registerCodeFix({errorCodes:nm,getCodeActions:function getCodeActionsToConvertConstToLet(e){const{sourceFile:t,span:n,program:r}=e,i=getInfo21(t,n.start,r);if(void 0===i)return;const o=$m.ChangeTracker.with(e,e=>doChange40(e,t,i.token));return[createCodeFixActionMaybeFixAll(tm,o,Ot.Convert_const_to_let,tm,Ot.Convert_all_const_to_let)]},getAllCodeActions:e=>{const{program:t}=e,n=new Set;return createCombinedCodeActions($m.ChangeTracker.with(e,r=>{eachDiagnostic(e,nm,e=>{const i=getInfo21(e.file,e.start,t);if(i&&addToSeen(n,getSymbolId(i.symbol)))return doChange40(r,e.file,i.token)})}))},fixIds:[tm]});var rm="fixExpectedComma",im=[Ot._0_expected.code];function getInfo22(e,t,n){const r=getTokenAtPosition(e,t);return 27===r.kind&&r.parent&&(isObjectLiteralExpression(r.parent)||isArrayLiteralExpression(r.parent))?{node:r}:void 0}function doChange41(e,t,{node:n}){const r=Wr.createToken(28);e.replaceNode(t,n,r)}registerCodeFix({errorCodes:im,getCodeActions(e){const{sourceFile:t}=e,n=getInfo22(t,e.span.start,e.errorCode);if(!n)return;const r=$m.ChangeTracker.with(e,e=>doChange41(e,t,n));return[createCodeFixAction(rm,r,[Ot.Change_0_to_1,";",","],rm,[Ot.Change_0_to_1,";",","])]},fixIds:[rm],getAllCodeActions:e=>codeFixAll(e,im,(t,n)=>{const r=getInfo22(n.file,n.start,n.code);r&&doChange41(t,e.sourceFile,r)})});var om="addVoidToPromise",am=[Ot.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments.code,Ot.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];function makeChange13(e,t,n,r,i){const o=getTokenAtPosition(t,n.start);if(!isIdentifier(o)||!isCallExpression(o.parent)||o.parent.expression!==o||0!==o.parent.arguments.length)return;const a=r.getTypeChecker(),s=a.getSymbolAtLocation(o),c=null==s?void 0:s.valueDeclaration;if(!c||!isParameter(c)||!isNewExpression(c.parent.parent))return;if(null==i?void 0:i.has(c))return;null==i||i.add(c);const l=function getEffectiveTypeArguments(e){var t;if(!isInJSFile(e))return e.typeArguments;if(isParenthesizedExpression(e.parent)){const n=null==(t=getJSDocTypeTag(e.parent))?void 0:t.typeExpression.type;if(n&&isTypeReferenceNode(n)&&isIdentifier(n.typeName)&&"Promise"===idText(n.typeName))return n.typeArguments}}(c.parent.parent);if(some(l)){const n=l[0],r=!isUnionTypeNode(n)&&!isParenthesizedTypeNode(n)&&isParenthesizedTypeNode(Wr.createUnionTypeNode([n,Wr.createKeywordTypeNode(116)]).types[0]);r&&e.insertText(t,n.pos,"("),e.insertText(t,n.end,r?") | void":" | void")}else{const n=a.getResolvedSignature(o.parent),r=null==n?void 0:n.parameters[0],i=r&&a.getTypeOfSymbolAtLocation(r,c.parent.parent);isInJSFile(c)?(!i||3&i.flags)&&(e.insertText(t,c.parent.parent.end,")"),e.insertText(t,skipTrivia(t.text,c.parent.parent.pos),"/** @type {Promise<void>} */(")):(!i||2&i.flags)&&e.insertText(t,c.parent.parent.expression.end,"<void>")}}registerCodeFix({errorCodes:am,fixIds:[om],getCodeActions(e){const t=$m.ChangeTracker.with(e,t=>makeChange13(t,e.sourceFile,e.span,e.program));if(t.length>0)return[createCodeFixAction("addVoidToPromise",t,Ot.Add_void_to_Promise_resolved_without_a_value,om,Ot.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:e=>codeFixAll(e,am,(t,n)=>makeChange13(t,n.file,n,e.program,new Set))});var sm={};i(sm,{CompletionKind:()=>fm,CompletionSource:()=>mm,SortText:()=>dm,StringCompletions:()=>hm,SymbolOriginInfoKind:()=>_m,createCompletionDetails:()=>createCompletionDetails,createCompletionDetailsForSymbol:()=>createCompletionDetailsForSymbol,getCompletionEntriesFromSymbols:()=>getCompletionEntriesFromSymbols,getCompletionEntryDetails:()=>getCompletionEntryDetails,getCompletionEntrySymbol:()=>getCompletionEntrySymbol,getCompletionsAtPosition:()=>getCompletionsAtPosition,getDefaultCommitCharacters:()=>getDefaultCommitCharacters,getPropertiesForObjectExpression:()=>getPropertiesForObjectExpression,moduleSpecifierResolutionCacheAttemptLimit:()=>lm,moduleSpecifierResolutionLimit:()=>cm});var cm=100,lm=1e3,dm={LocalDeclarationPriority:"10",LocationPriority:"11",OptionalMember:"12",MemberDeclaredBySpreadAssignment:"13",SuggestedClassMembers:"14",GlobalsOrKeywords:"15",AutoImportSuggestions:"16",ClassMemberSnippets:"17",JavascriptIdentifiers:"18",Deprecated:e=>"z"+e,ObjectLiteralProperty:(e,t)=>`${e}\0${t}\0`,SortBelow:e=>e+"1"},pm=[".",",",";"],um=[".",";"],mm=(e=>(e.ThisProperty="ThisProperty/",e.ClassMemberSnippet="ClassMemberSnippet/",e.TypeOnlyAlias="TypeOnlyAlias/",e.ObjectLiteralMethodSnippet="ObjectLiteralMethodSnippet/",e.SwitchCases="SwitchCases/",e.ObjectLiteralMemberWithComma="ObjectLiteralMemberWithComma/",e))(mm||{}),_m=(e=>(e[e.ThisType=1]="ThisType",e[e.SymbolMember=2]="SymbolMember",e[e.Export=4]="Export",e[e.Promise=8]="Promise",e[e.Nullable=16]="Nullable",e[e.ResolvedExport=32]="ResolvedExport",e[e.TypeOnlyAlias=64]="TypeOnlyAlias",e[e.ObjectLiteralMethod=128]="ObjectLiteralMethod",e[e.Ignore=256]="Ignore",e[e.ComputedPropertyName=512]="ComputedPropertyName",e[e.SymbolMemberNoExport=2]="SymbolMemberNoExport",e[e.SymbolMemberExport=6]="SymbolMemberExport",e))(_m||{});function originIsExport(e){return!!(e&&4&e.kind)}function originIsResolvedExport(e){return!(!e||32!==e.kind)}function originIsPackageJsonImport(e){return(originIsExport(e)||originIsResolvedExport(e))&&!!e.isFromPackageJson}function originIsTypeOnlyAlias(e){return!!(e&&64&e.kind)}function originIsObjectLiteralMethod(e){return!!(e&&128&e.kind)}function originIsComputedPropertyName(e){return!!(e&&512&e.kind)}function resolvingModuleSpecifiers(e,t,n,r,i,o,a,s,c){var l,d,p,u;const m=B(),_=a||Qn(r.getCompilerOptions())||(null==(l=o.autoImportSpecifierExcludeRegexes)?void 0:l.length);let f=!1,g=0,y=0,h=0,T=0;const S=c({tryResolve:function tryResolve(e,t){if(t){const t=n.getModuleSpecifierForBestExportInfo(e,i,s);return t&&g++,t||"failed"}const r=_||o.allowIncompleteCompletions&&y<cm,a=!r&&o.allowIncompleteCompletions&&T<lm,c=r||a?n.getModuleSpecifierForBestExportInfo(e,i,s,a):void 0;(!r&&!a||a&&!c)&&(f=!0);y+=(null==c?void 0:c.computedWithoutCacheCount)||0,h+=e.length-((null==c?void 0:c.computedWithoutCacheCount)||0),a&&T++;return c||(_?"failed":"skipped")},skippedAny:()=>f,resolvedAny:()=>y>0,resolvedBeyondLimit:()=>y>cm}),x=T?` (${(h/T*100).toFixed(1)}% hit rate)`:"";return null==(d=t.log)||d.call(t,`${e}: resolved ${y} module specifiers, plus ${g} ambient and ${h} from cache${x}`),null==(p=t.log)||p.call(t,`${e}: response is ${f?"incomplete":"complete"}`),null==(u=t.log)||u.call(t,`${e}: ${B()-m}`),S}function getDefaultCommitCharacters(e){return e?[]:pm}function getCompletionsAtPosition(e,t,n,r,i,o,a,s,c,l,d=!1){var p;const{previousToken:u}=getRelevantTokens(i,r);if(a&&!isInString(r,i,u)&&!function isValidTrigger(e,t,n,r){switch(t){case".":case"@":return!0;case'"':case"'":case"`":return!!n&&isStringLiteralOrTemplate(n)&&r===n.getStart(e)+1;case"#":return!!n&&isPrivateIdentifier(n)&&!!getContainingClass(n);case"<":return!!n&&30===n.kind&&(!isBinaryExpression(n.parent)||binaryExpressionMayBeOpenTag(n.parent));case"/":return!!n&&(isStringLiteralLike(n)?!!tryGetImportFromModuleSpecifier(n):31===n.kind&&isJsxClosingElement(n.parent));case" ":return!!n&&isImportKeyword(n)&&308===n.parent.kind;default:return h.assertNever(t)}}(r,a,u,i))return;if(" "===a)return o.includeCompletionsForImportStatements&&o.includeCompletionsWithInsertText?{isGlobalCompletion:!0,isMemberCompletion:!1,isNewIdentifierLocation:!0,isIncomplete:!0,entries:[],defaultCommitCharacters:getDefaultCommitCharacters(!0)}:void 0;const m=t.getCompilerOptions(),_=t.getTypeChecker(),f=o.allowIncompleteCompletions?null==(p=e.getIncompleteCompletionsCache)?void 0:p.call(e):void 0;if(f&&3===s&&u&&isIdentifier(u)){const n=function continuePreviousIncompleteResponse(e,t,n,r,i,o,a,s){const c=e.get();if(!c)return;const l=getTouchingPropertyName(t,s),d=n.text.toLowerCase(),p=getExportInfoMap(t,i,r,o,a),u=resolvingModuleSpecifiers("continuePreviousIncompleteResponse",i,ed.createImportSpecifierResolver(t,r,i,o),r,n.getStart(),o,!1,isValidTypeOnlyAliasUseSite(n),e=>{const n=mapDefined(c.entries,n=>{var o;if(!n.hasAction||!n.source||!n.data||completionEntryDataIsResolved(n.data))return n;if(!charactersFuzzyMatchInString(n.name,d))return;const{origin:a}=h.checkDefined(getAutoImportSymbolFromCompletionEntryData(n.name,n.data,r,i)),s=p.get(t.path,n.data.exportMapKey),c=s&&e.tryResolve(s,!isExternalModuleNameRelative(stripQuotes(a.moduleSymbol.name)));if("skipped"===c)return n;if(!c||"failed"===c)return void(null==(o=i.log)||o.call(i,`Unexpected failure resolving auto import for '${n.name}' from '${n.source}'`));const l={...a,kind:32,moduleSpecifier:c.moduleSpecifier};return n.data=originToCompletionEntryData(l),n.source=getSourceFromOrigin(l),n.sourceDisplay=[textPart(l.moduleSpecifier)],n});return e.skippedAny()||(c.isIncomplete=void 0),n});return c.entries=u,c.flags=4|(c.flags||0),c.optionalReplacementSpan=getOptionalReplacementSpan(l),c}(f,r,u,t,e,o,c,i);if(n)return n}else null==f||f.clear();const g=hm.getStringLiteralCompletions(r,i,u,m,e,t,n,o,d);if(g)return g;if(u&&isBreakOrContinueStatement(u.parent)&&(83===u.kind||88===u.kind||80===u.kind))return function getLabelCompletionAtPosition(e){const t=function getLabelStatementCompletions(e){const t=[],n=new Map;let r=e;for(;r&&!isFunctionLike(r);){if(isLabeledStatement(r)){const e=r.label.text;n.has(e)||(n.set(e,!0),t.push({name:e,kindModifiers:"",kind:"label",sortText:dm.LocationPriority}))}r=r.parent}return t}(e);if(t.length)return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:t,defaultCommitCharacters:getDefaultCommitCharacters(!1)}}(u.parent);const y=getCompletionData(t,n,r,m,i,o,void 0,e,l,c);if(y)switch(y.kind){case 0:const a=function completionInfoFromData(e,t,n,r,i,o,a,s,c,l){const{symbols:d,contextToken:p,completionKind:u,isInSnippetScope:m,isNewIdentifierLocation:_,location:f,propertyAccessToConvert:g,keywordFilters:y,symbolToOriginInfoMap:h,recommendedCompletion:T,isJsxInitializer:S,isTypeOnlyLocation:x,isJsxIdentifierExpected:v,isRightOfOpenTag:b,isRightOfDotOrQuestionDot:C,importStatementCompletion:E,insideJsDocTagTypeExpression:N,symbolToSortTextMap:k,hasUnresolvedAutoImports:F,defaultCommitCharacters:P}=o;let D=o.literals;const I=n.getTypeChecker();if(1===getLanguageVariant(e.scriptKind)){const t=function getJsxClosingTagCompletion(e,t){const n=findAncestor(e,e=>{switch(e.kind){case 288:return!0;case 31:case 32:case 80:case 212:return!1;default:return"quit"}});if(n){const e=!!findChildOfKind(n,32,t),r=n.parent.openingElement.tagName.getText(t)+(e?"":">");return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:createTextSpanFromNode(n.tagName),entries:[{name:r,kind:"class",kindModifiers:void 0,sortText:dm.LocationPriority}],defaultCommitCharacters:getDefaultCommitCharacters(!1)}}return}(f,e);if(t)return t}const A=findAncestor(p,isCaseClause);if(A&&(isCaseKeyword(p)||isNodeDescendantOf(p,A.expression))){const e=newCaseClauseTracker(I,A.parent.clauses);D=D.filter(t=>!e.hasValue(t)),d.forEach((t,n)=>{if(t.valueDeclaration&&isEnumMember(t.valueDeclaration)){const r=I.getConstantValue(t.valueDeclaration);void 0!==r&&e.hasValue(r)&&(h[n]={kind:256})}})}const O=[],w=isCheckedFile(e,r);if(w&&!_&&(!d||0===d.length)&&0===y)return;const L=getCompletionEntriesFromSymbols(d,O,void 0,p,f,c,e,t,n,zn(r),i,u,a,r,s,x,g,v,S,E,T,h,k,v,b,l);if(0!==y)for(const t of getKeywordCompletions(y,!N&&isSourceFileJS(e)))(x&&isTypeKeyword(stringToToken(t.name))||!x&&isContextualKeywordInAutoImportableExpressionSpace(t.name)||!L.has(t.name))&&(L.add(t.name),insertSorted(O,t,compareCompletionEntries,void 0,!0));for(const e of function getContextualKeywords(e,t){const n=[];if(e){const r=e.getSourceFile(),i=e.parent,o=r.getLineAndCharacterOfPosition(e.end).line,a=r.getLineAndCharacterOfPosition(t).line;(isImportDeclaration(i)||isExportDeclaration(i)&&i.moduleSpecifier)&&e===i.moduleSpecifier&&o===a&&n.push({name:tokenToString(132),kind:"keyword",kindModifiers:"",sortText:dm.GlobalsOrKeywords})}return n}(p,c))L.has(e.name)||(L.add(e.name),insertSorted(O,e,compareCompletionEntries,void 0,!0));for(const t of D){const n=createCompletionEntryForLiteral(e,a,t);L.add(n.name),insertSorted(O,n,compareCompletionEntries,void 0,!0)}w||function getJSCompletionEntries(e,t,n,r,i){getNameTable(e).forEach((e,o)=>{if(e===t)return;const a=unescapeLeadingUnderscores(o);!n.has(a)&&isIdentifierText(a,r)&&(n.add(a),insertSorted(i,{name:a,kind:"warning",kindModifiers:"",sortText:dm.JavascriptIdentifiers,isFromUncheckedFile:!0,commitCharacters:[]},compareCompletionEntries))})}(e,f.pos,L,zn(r),O);let M;if(a.includeCompletionsWithInsertText&&p&&!b&&!C&&(M=findAncestor(p,isCaseBlock))){const i=getExhaustiveCaseSnippets(M,e,a,r,t,n,s);i&&O.push(i.entry)}return{flags:o.flags,isGlobalCompletion:m,isIncomplete:!(!a.allowIncompleteCompletions||!F)||void 0,isMemberCompletion:isMemberCompletionKind(u),isNewIdentifierLocation:_,optionalReplacementSpan:getOptionalReplacementSpan(f),entries:O,defaultCommitCharacters:P??getDefaultCommitCharacters(_)}}(r,e,t,m,n,y,o,l,i,d);return(null==a?void 0:a.isIncomplete)&&(null==f||f.set(a)),a;case 1:return jsdocCompletionInfo([...Am.getJSDocTagNameCompletions(),...getJSDocParameterCompletions(r,i,_,m,o,!0)]);case 2:return jsdocCompletionInfo([...Am.getJSDocTagCompletions(),...getJSDocParameterCompletions(r,i,_,m,o,!1)]);case 3:return jsdocCompletionInfo(Am.getJSDocParameterNameCompletions(y.tag));case 4:return function specificKeywordCompletionInfo(e,t){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:t,entries:e.slice(),defaultCommitCharacters:getDefaultCommitCharacters(t)}}(y.keywordCompletions,y.isNewIdentifierLocation);default:return h.assertNever(y)}}function compareCompletionEntries(e,t){var n,r;let i=compareStringsCaseSensitiveUI(e.sortText,t.sortText);return 0===i&&(i=compareStringsCaseSensitiveUI(e.name,t.name)),0===i&&(null==(n=e.data)?void 0:n.moduleSpecifier)&&(null==(r=t.data)?void 0:r.moduleSpecifier)&&(i=compareNumberOfDirectorySeparators(e.data.moduleSpecifier,t.data.moduleSpecifier)),0===i?-1:i}function completionEntryDataIsResolved(e){return!!(null==e?void 0:e.moduleSpecifier)}function jsdocCompletionInfo(e){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:e,defaultCommitCharacters:getDefaultCommitCharacters(!1)}}function getJSDocParameterCompletions(e,t,n,r,i,o){const a=getTokenAtPosition(e,t);if(!isJSDocTag(a)&&!isJSDoc(a))return[];const s=isJSDoc(a)?a:a.parent;if(!isJSDoc(s))return[];const c=s.parent;if(!isFunctionLike(c))return[];const l=isSourceFileJS(e),d=i.includeCompletionsWithSnippetText||void 0,p=countWhere(s.tags,e=>isJSDocParameterTag(e)&&e.getEnd()<=t);return mapDefined(c.parameters,e=>{if(!getJSDocParameterTags(e).length){if(isIdentifier(e.name)){const t={tabstop:1},a=e.name.text;let s=getJSDocParamAnnotation(a,e.initializer,e.dotDotDotToken,l,!1,!1,n,r,i),c=d?getJSDocParamAnnotation(a,e.initializer,e.dotDotDotToken,l,!1,!0,n,r,i,t):void 0;return o&&(s=s.slice(1),c&&(c=c.slice(1))),{name:s,kind:"parameter",sortText:dm.LocationPriority,insertText:d?c:void 0,isSnippet:d}}if(e.parent.parameters.indexOf(e)===p){const t=`param${p}`,a=generateJSDocParamTagsForDestructuring(t,e.name,e.initializer,e.dotDotDotToken,l,!1,n,r,i),s=d?generateJSDocParamTagsForDestructuring(t,e.name,e.initializer,e.dotDotDotToken,l,!0,n,r,i):void 0;let c=a.join(getNewLineCharacter(r)+"* "),u=null==s?void 0:s.join(getNewLineCharacter(r)+"* ");return o&&(c=c.slice(1),u&&(u=u.slice(1))),{name:c,kind:"parameter",sortText:dm.LocationPriority,insertText:d?u:void 0,isSnippet:d}}}})}function generateJSDocParamTagsForDestructuring(e,t,n,r,i,o,a,s,c){return i?patternWorker(e,t,n,r,{tabstop:1}):[getJSDocParamAnnotation(e,n,r,i,!1,o,a,s,c,{tabstop:1})];function patternWorker(e,t,n,r,l){if(isObjectBindingPattern(t)&&!r){const d={tabstop:l.tabstop},p=getJSDocParamAnnotation(e,n,r,i,!0,o,a,s,c,d);let u=[];for(const n of t.elements){const t=elementWorker(e,n,d);if(!t){u=void 0;break}u.push(...t)}if(u)return l.tabstop=d.tabstop,[p,...u]}return[getJSDocParamAnnotation(e,n,r,i,!1,o,a,s,c,l)]}function elementWorker(e,t,n){if(!t.propertyName&&isIdentifier(t.name)||isIdentifier(t.name)){const r=t.propertyName?tryGetTextOfPropertyName(t.propertyName):t.name.text;if(!r)return;return[getJSDocParamAnnotation(`${e}.${r}`,t.initializer,t.dotDotDotToken,i,!1,o,a,s,c,n)]}if(t.propertyName){const r=tryGetTextOfPropertyName(t.propertyName);return r&&patternWorker(`${e}.${r}`,t.name,t.initializer,t.dotDotDotToken,n)}}}function getJSDocParamAnnotation(e,t,n,r,i,o,a,s,c,l){if(o&&h.assertIsDefined(l),t&&(e=function getJSDocParamNameWithInitializer(e,t){const n=t.getText().trim();if(n.includes("\n")||n.length>80)return`[${e}]`;return`[${e}=${n}]`}(e,t)),o&&(e=escapeSnippetText(e)),r){let r="*";if(i)h.assert(!n,"Cannot annotate a rest parameter with type 'Object'."),r="Object";else{if(t){const e=a.getTypeAtLocation(t.parent);if(!(16385&e.flags)){const n=t.getSourceFile(),i=0===getQuotePreference(n,c)?268435456:0,l=a.typeToTypeNode(e,findAncestor(t,isFunctionLike),i);if(l){const e=o?createSnippetPrinter({removeComments:!0,module:s.module,moduleResolution:s.moduleResolution,target:s.target}):createPrinter({removeComments:!0,module:s.module,moduleResolution:s.moduleResolution,target:s.target});setEmitFlags(l,1),r=e.printNode(4,l,n)}}}o&&"*"===r&&(r=`\${${l.tabstop++}:${r}}`)}return`@param {${!i&&n?"...":""}${r}} ${e} ${o?`\${${l.tabstop++}}`:""}`}return`@param ${e} ${o?`\${${l.tabstop++}}`:""}`}function keywordCompletionData(e,t,n){return{kind:4,keywordCompletions:getKeywordCompletions(e,t),isNewIdentifierLocation:n}}function getOptionalReplacementSpan(e){return 80===(null==e?void 0:e.kind)?createTextSpanFromNode(e):void 0}function isCheckedFile(e,t){return!isSourceFileJS(e)||!!isCheckJsEnabledForFile(e,t)}function getExhaustiveCaseSnippets(e,t,n,r,i,o,a){const s=e.clauses,c=o.getTypeChecker(),l=c.getTypeAtLocation(e.parent.expression);if(l&&l.isUnion()&&every(l.types,e=>e.isLiteral())){const d=newCaseClauseTracker(c,s),p=zn(r),u=getQuotePreference(t,n),m=ed.createImportAdder(t,o,n,i),_=[];for(const t of l.types)if(1024&t.flags){h.assert(t.symbol,"An enum member type should have a symbol"),h.assert(t.symbol.parent,"An enum member type should have a parent symbol (the enum symbol)");const n=t.symbol.valueDeclaration&&c.getConstantValue(t.symbol.valueDeclaration);if(void 0!==n){if(d.hasValue(n))continue;d.addValue(n)}const r=ed.typeToAutoImportableTypeNode(c,m,t,e,p);if(!r)return;const i=typeNodeToExpression(r,p,u);if(!i)return;_.push(i)}else if(!d.hasValue(t.value))switch(typeof t.value){case"object":_.push(t.value.negative?Wr.createPrefixUnaryExpression(41,Wr.createBigIntLiteral({negative:!1,base10Value:t.value.base10Value})):Wr.createBigIntLiteral(t.value));break;case"number":_.push(t.value<0?Wr.createPrefixUnaryExpression(41,Wr.createNumericLiteral(-t.value)):Wr.createNumericLiteral(t.value));break;case"string":_.push(Wr.createStringLiteral(t.value,0===u))}if(0===_.length)return;const f=map(_,e=>Wr.createCaseClause(e,[])),g=getNewLineOrDefaultFromHost(i,null==a?void 0:a.options),y=createSnippetPrinter({removeComments:!0,module:r.module,moduleResolution:r.moduleResolution,target:r.target,newLine:getNewLineKind(g)}),T=a?e=>y.printAndFormatNode(4,e,t,a):e=>y.printNode(4,e,t),S=map(f,(e,t)=>n.includeCompletionsWithSnippetText?`${T(e)}$${t+1}`:`${T(e)}`).join(g);return{entry:{name:`${y.printNode(4,f[0],t)} ...`,kind:"",sortText:dm.GlobalsOrKeywords,insertText:S,hasAction:m.hasFixes()||void 0,source:"SwitchCases/",isSnippet:!!n.includeCompletionsWithSnippetText||void 0},importAdder:m}}}function typeNodeToExpression(e,t,n){switch(e.kind){case 184:return entityNameToExpression(e.typeName,t,n);case 200:const r=typeNodeToExpression(e.objectType,t,n),i=typeNodeToExpression(e.indexType,t,n);return r&&i&&Wr.createElementAccessExpression(r,i);case 202:const o=e.literal;switch(o.kind){case 11:return Wr.createStringLiteral(o.text,0===n);case 9:return Wr.createNumericLiteral(o.text,o.numericLiteralFlags)}return;case 197:const a=typeNodeToExpression(e.type,t,n);return a&&(isIdentifier(a)?a:Wr.createParenthesizedExpression(a));case 187:return entityNameToExpression(e.exprName,t,n);case 206:h.fail("We should not get an import type after calling 'codefix.typeToAutoImportableTypeNode'.")}}function entityNameToExpression(e,t,n){if(isIdentifier(e))return e;const r=unescapeLeadingUnderscores(e.right.escapedText);return canUsePropertyAccess(r,t)?Wr.createPropertyAccessExpression(entityNameToExpression(e.left,t,n),r):Wr.createElementAccessExpression(entityNameToExpression(e.left,t,n),Wr.createStringLiteral(r,0===n))}function isMemberCompletionKind(e){switch(e){case 0:case 3:case 2:return!0;default:return!1}}function completionNameForLiteral(e,t,n){return"object"==typeof n?pseudoBigIntToString(n)+"n":isString(n)?quote(e,t,n):JSON.stringify(n)}function createCompletionEntryForLiteral(e,t,n){return{name:completionNameForLiteral(e,t,n),kind:"string",kindModifiers:"",sortText:dm.LocationPriority,commitCharacters:[]}}function createCompletionEntry(e,t,n,r,i,o,a,s,c,l,d,p,u,m,_,f,g,y,h,T,S,x,v,b){var C,E;let N,k,F,P,D,I,A,O=getReplacementSpanForContextToken(n,o),w=getSourceFromOrigin(p);const L=c.getTypeChecker(),M=p&&function originIsNullableMember(e){return!!(16&e.kind)}(p),R=p&&function originIsSymbolMember(e){return!!(2&e.kind)}(p)||d;if(p&&function originIsThisType(e){return!!(1&e.kind)}(p))N=d?`this${M?"?.":""}[${quotePropertyName(a,h,l)}]`:`this${M?"?.":"."}${l}`;else if((R||M)&&m){N=R?d?`[${quotePropertyName(a,h,l)}]`:`[${l}]`:l,(M||m.questionDotToken)&&(N=`?.${N}`);const e=findChildOfKind(m,25,a)||findChildOfKind(m,29,a);if(!e)return;const t=startsWith(l,m.name.text)?m.name.end:e.end;O=createTextSpanFromBounds(e.getStart(a),t)}if(_&&(void 0===N&&(N=l),N=`{${N}}`,"boolean"!=typeof _&&(O=createTextSpanFromNode(_,a))),p&&function originIsPromise(e){return!!(8&e.kind)}(p)&&m){void 0===N&&(N=l);const e=findPrecedingToken(m.pos,a);let t="";e&&positionIsASICandidate(e.end,e.parent,a)&&(t=";"),t+=`(await ${m.expression.getText()})`,N=d?`${t}${N}`:`${t}${M?"?.":"."}${N}`;O=createTextSpanFromBounds((tryCast(m.parent,isAwaitExpression)?m.parent:m.expression).getStart(a),m.end)}if(originIsResolvedExport(p)&&(D=[textPart(p.moduleSpecifier)],f&&(({insertText:N,replacementSpan:O}=function getInsertTextAndReplacementSpanForImportCompletion(e,t,n,r,i,o,a){const s=t.replacementSpan,c=escapeSnippetText(quote(i,a,n.moduleSpecifier)),l=n.isDefaultExport?1:"export="===n.exportName?2:0,d=a.includeCompletionsWithSnippetText?"$1":"",p=ed.getImportKind(i,l,o,!0),u=t.couldBeTypeOnlyImportSpecifier,m=t.isTopLevelTypeOnly?` ${tokenToString(156)} `:" ",_=u?`${tokenToString(156)} `:"",f=r?";":"";switch(p){case 3:return{replacementSpan:s,insertText:`import${m}${escapeSnippetText(e)}${d} = require(${c})${f}`};case 1:return{replacementSpan:s,insertText:`import${m}${escapeSnippetText(e)}${d} from ${c}${f}`};case 2:return{replacementSpan:s,insertText:`import${m}* as ${escapeSnippetText(e)} from ${c}${f}`};case 0:return{replacementSpan:s,insertText:`import${m}{ ${_}${escapeSnippetText(e)}${d} } from ${c}${f}`}}}(l,f,p,g,a,c,h)),P=!!h.includeCompletionsWithSnippetText||void 0)),64===(null==p?void 0:p.kind)&&(I=!0),0===T&&r&&28!==(null==(C=findPrecedingToken(r.pos,a,r))?void 0:C.kind)&&(isMethodDeclaration(r.parent.parent)||isGetAccessorDeclaration(r.parent.parent)||isSetAccessorDeclaration(r.parent.parent)||isSpreadAssignment(r.parent)||(null==(E=findAncestor(r.parent,isPropertyAssignment))?void 0:E.getLastToken(a))===r||isShorthandPropertyAssignment(r.parent)&&getLineAndCharacterOfPosition(a,r.getEnd()).line!==getLineAndCharacterOfPosition(a,o).line)&&(w="ObjectLiteralMemberWithComma/",I=!0),h.includeCompletionsWithClassMemberSnippets&&h.includeCompletionsWithInsertText&&3===T&&function isClassLikeMemberCompletion(e,t,n){if(isInJSFile(t))return!1;const r=106500;return!!(e.flags&r)&&(isClassLike(t)||t.parent&&t.parent.parent&&isClassElement(t.parent)&&t===t.parent.name&&t.parent.getLastToken(n)===t.parent.name&&isClassLike(t.parent.parent)||t.parent&&isSyntaxList(t)&&isClassLike(t.parent))}(e,i,a)){let t;const n=getEntryForMemberCompletion(s,c,y,h,l,e,i,o,r,S);if(!n)return;({insertText:N,filterText:k,isSnippet:P,importAdder:t}=n),((null==t?void 0:t.hasFixes())||n.eraseRange)&&(I=!0,w="ClassMemberSnippet/")}if(p&&originIsObjectLiteralMethod(p)&&(({insertText:N,isSnippet:P,labelDetails:A}=p),h.useLabelDetailsInCompletionEntries||(l+=A.detail,A=void 0),w="ObjectLiteralMethodSnippet/",t=dm.SortBelow(t)),x&&!v&&h.includeCompletionsWithSnippetText&&h.jsxAttributeCompletionStyle&&"none"!==h.jsxAttributeCompletionStyle&&(!isJsxAttribute(i.parent)||!i.parent.initializer)){let t="braces"===h.jsxAttributeCompletionStyle;const n=L.getTypeOfSymbolAtLocation(e,i);"auto"!==h.jsxAttributeCompletionStyle||528&n.flags||1048576&n.flags&&find(n.types,e=>!!(528&e.flags))||(402653316&n.flags||1048576&n.flags&&every(n.types,e=>!!(402686084&e.flags||isStringAndEmptyAnonymousObjectIntersection(e)))?(N=`${escapeSnippetText(l)}=${quote(a,h,"$1")}`,P=!0):t=!0),t&&(N=`${escapeSnippetText(l)}={$1}`,P=!0)}if(void 0!==N&&!h.includeCompletionsWithInsertText)return;(originIsExport(p)||originIsResolvedExport(p))&&(F=originToCompletionEntryData(p),I=!f);const B=findAncestor(i,isNamedImportsOrExports);if(B){const e=zn(s.getCompilationSettings());if(isIdentifierText(l,e)){if(276===B.kind){const e=stringToToken(l);e&&(135===e||isNonContextualKeyword(e))&&(N=`${l} as ${l}_`)}}else N=quotePropertyName(a,h,l),276===B.kind&&(Vs.setText(a.text),Vs.resetTokenState(o),130===Vs.scan()&&80===Vs.scan()||(N+=" as "+function generateIdentifierForArbitraryString(e,t){let n,r=!1,i="";for(let o=0;o<e.length;o+=void 0!==n&&n>=65536?2:1)n=e.codePointAt(o),void 0!==n&&(0===o?isIdentifierStart(n,t):isIdentifierPart(n,t))?(r&&(i+="_"),i+=String.fromCodePoint(n),r=!1):r=!0;r&&(i+="_");return i||"_"}(l,e)))}const j=Km.getSymbolKind(L,e,i),J="warning"===j||"string"===j?[]:void 0;return{name:l,kind:j,kindModifiers:Km.getSymbolModifiers(L,e),sortText:t,source:w,hasAction:!!I||void 0,isRecommended:isRecommendedCompletionMatch(e,u,L)||void 0,insertText:N,filterText:k,replacementSpan:O,sourceDisplay:D,labelDetails:A,isSnippet:P,isPackageJsonImport:originIsPackageJsonImport(p)||void 0,isImportStatementCompletion:!!f||void 0,data:F,commitCharacters:J,...b?{symbol:e}:void 0}}function getEntryForMemberCompletion(e,t,n,r,i,o,a,s,c,l){const d=findAncestor(a,isClassLike);if(!d)return;let p,u=i;const m=i,_=t.getTypeChecker(),f=a.getSourceFile(),g=createSnippetPrinter({removeComments:!0,module:n.module,moduleResolution:n.moduleResolution,target:n.target,omitTrailingSemicolon:!1,newLine:getNewLineKind(getNewLineOrDefaultFromHost(e,null==l?void 0:l.options))}),y=ed.createImportAdder(f,t,r,e);let h;if(r.includeCompletionsWithSnippetText){p=!0;const e=Wr.createEmptyStatement();h=Wr.createBlock([e],!0),setSnippetElement(e,{kind:0,order:0})}else h=Wr.createBlock([],!0);let T=0;const{modifiers:S,range:x,decorators:v}=function getPresentModifiers(e,t,n){if(!e||getLineAndCharacterOfPosition(t,n).line>getLineAndCharacterOfPosition(t,e.getEnd()).line)return{modifiers:0};let r,i,o=0;const a={pos:n,end:n};if(isPropertyDeclaration(e.parent)&&(i=function isModifierLike2(e){if(isModifier(e))return e.kind;if(isIdentifier(e)){const t=identifierToKeywordKind(e);if(t&&isModifierKind(t))return t}return}(e))){e.parent.modifiers&&(o|=98303&modifiersToFlags(e.parent.modifiers),r=e.parent.modifiers.filter(isDecorator)||[],a.pos=Math.min(...e.parent.modifiers.map(e=>e.getStart(t))));const n=modifierToFlag(i);o&n||(o|=n,a.pos=Math.min(a.pos,e.getStart(t))),e.parent.name!==e&&(a.end=e.parent.name.getStart(t))}return{modifiers:o,decorators:r,range:a.pos<a.end?a:void 0}}(c,f,s),b=64&S&&64&d.modifierFlagsCache;let C=[];if(ed.addNewNodeForMemberSymbol(o,d,f,{program:t,host:e},r,y,e=>{let t=0;b&&(t|=64),isClassElement(e)&&1===_.getMemberOverrideModifierStatus(d,e,o)&&(t|=16),C.length||(T=e.modifierFlagsCache|t),e=Wr.replaceModifiers(e,T),C.push(e)},h,ed.PreserveOptionalFlags.Property,!!b),C.length){const e=8192&o.flags;let t=17|T;t|=e?1024:136;const n=S&t;if(S&~t)return;if(4&T&&1&n&&(T&=-5),0===n||1&n||(T&=-2),T|=n,C=C.map(e=>Wr.replaceModifiers(e,T)),null==v?void 0:v.length){const e=C[C.length-1];canHaveDecorators(e)&&(C[C.length-1]=Wr.replaceDecoratorsAndModifiers(e,v.concat(getModifiers(e)||[])))}const r=131073;u=l?g.printAndFormatSnippetList(r,Wr.createNodeArray(C),f,l):g.printSnippetList(r,Wr.createNodeArray(C),f)}return{insertText:u,filterText:m,isSnippet:p,importAdder:y,eraseRange:x}}function getEntryForObjectLiteralMethodCompletion(e,t,n,r,i,o,a,s){const c=a.includeCompletionsWithSnippetText||void 0;let l=t;const d=n.getSourceFile(),p=function createObjectLiteralMethod(e,t,n,r,i,o){const a=e.getDeclarations();if(!a||!a.length)return;const s=r.getTypeChecker(),c=a[0],l=getSynthesizedDeepClone(getNameOfDeclaration(c),!1),d=s.getWidenedType(s.getTypeOfSymbolAtLocation(e,t)),p=getQuotePreference(n,o),u=33554432|(0===p?268435456:0);switch(c.kind){case 172:case 173:case 174:case 175:{let e=1048576&d.flags&&d.types.length<10?s.getUnionType(d.types,2):d;if(1048576&e.flags){const t=filter(e.types,e=>s.getSignaturesOfType(e,0).length>0);if(1!==t.length)return;e=t[0]}if(1!==s.getSignaturesOfType(e,0).length)return;const n=s.typeToTypeNode(e,t,u,void 0,ed.getNoopSymbolTrackerWithResolver({program:r,host:i}));if(!n||!isFunctionTypeNode(n))return;let a;if(o.includeCompletionsWithSnippetText){const e=Wr.createEmptyStatement();a=Wr.createBlock([e],!0),setSnippetElement(e,{kind:0,order:0})}else a=Wr.createBlock([],!0);const c=n.parameters.map(e=>Wr.createParameterDeclaration(void 0,e.dotDotDotToken,e.name,void 0,void 0,e.initializer));return Wr.createMethodDeclaration(void 0,void 0,l,void 0,void 0,c,void 0,a)}default:return}}(e,n,d,r,i,a);if(!p)return;const u=createSnippetPrinter({removeComments:!0,module:o.module,moduleResolution:o.moduleResolution,target:o.target,omitTrailingSemicolon:!1,newLine:getNewLineKind(getNewLineOrDefaultFromHost(i,null==s?void 0:s.options))});l=s?u.printAndFormatSnippetList(80,Wr.createNodeArray([p],!0),d,s):u.printSnippetList(80,Wr.createNodeArray([p],!0),d);const m=createPrinter({removeComments:!0,module:o.module,moduleResolution:o.moduleResolution,target:o.target,omitTrailingSemicolon:!0}),_=Wr.createMethodSignature(void 0,"",p.questionToken,p.typeParameters,p.parameters,p.type);return{isSnippet:c,insertText:l,labelDetails:{detail:m.printNode(4,_,d)}}}function createSnippetPrinter(e){let t;const n=$m.createWriter(getNewLineCharacter(e)),r=createPrinter(e,n),i={...n,write:e=>escapingWrite(e,()=>n.write(e)),nonEscapingWrite:n.write,writeLiteral:e=>escapingWrite(e,()=>n.writeLiteral(e)),writeStringLiteral:e=>escapingWrite(e,()=>n.writeStringLiteral(e)),writeSymbol:(e,t)=>escapingWrite(e,()=>n.writeSymbol(e,t)),writeParameter:e=>escapingWrite(e,()=>n.writeParameter(e)),writeComment:e=>escapingWrite(e,()=>n.writeComment(e)),writeProperty:e=>escapingWrite(e,()=>n.writeProperty(e))};return{printSnippetList:function printSnippetList(e,n,r){const i=printUnescapedSnippetList(e,n,r);return t?$m.applyChanges(i,t):i},printAndFormatSnippetList:function printAndFormatSnippetList(e,n,r,i){const o={text:printUnescapedSnippetList(e,n,r),getLineAndCharacterOfPosition(e){return getLineAndCharacterOfPosition(this,e)}},a=getFormatCodeSettingsForWriting(i,r),s=flatMap(n,e=>{const t=$m.assignPositionsToNode(e);return r_.formatNodeGivenIndentation(t,o,r.languageVariant,0,0,{...i,options:a})}),c=t?toSorted(concatenate(s,t),(e,t)=>compareTextSpans(e.span,t.span)):s;return $m.applyChanges(o.text,c)},printNode:function printNode(e,n,r){const i=printUnescapedNode(e,n,r);return t?$m.applyChanges(i,t):i},printAndFormatNode:function printAndFormatNode(e,n,r,i){const o={text:printUnescapedNode(e,n,r),getLineAndCharacterOfPosition(e){return getLineAndCharacterOfPosition(this,e)}},a=getFormatCodeSettingsForWriting(i,r),s=$m.assignPositionsToNode(n),c=r_.formatNodeGivenIndentation(s,o,r.languageVariant,0,0,{...i,options:a}),l=t?toSorted(concatenate(c,t),(e,t)=>compareTextSpans(e.span,t.span)):c;return $m.applyChanges(o.text,l)}};function escapingWrite(e,r){const i=escapeSnippetText(e);if(i!==e){const e=n.getTextPos();r();const o=n.getTextPos();t=append(t||(t=[]),{newText:i,span:{start:e,length:o-e}})}else r()}function printUnescapedSnippetList(e,n,o){return t=void 0,i.clear(),r.writeList(e,n,o,i),i.getText()}function printUnescapedNode(e,n,o){return t=void 0,i.clear(),r.writeNode(e,n,o,i),i.getText()}}function originToCompletionEntryData(e){const t=e.fileName?void 0:stripQuotes(e.moduleSymbol.name),n=!!e.isFromPackageJson||void 0;if(originIsResolvedExport(e)){return{exportName:e.exportName,exportMapKey:e.exportMapKey,moduleSpecifier:e.moduleSpecifier,ambientModuleName:t,fileName:e.fileName,isPackageJsonImport:n}}return{exportName:e.exportName,exportMapKey:e.exportMapKey,fileName:e.fileName,ambientModuleName:e.fileName?void 0:stripQuotes(e.moduleSymbol.name),isPackageJsonImport:!!e.isFromPackageJson||void 0}}function completionEntryDataToSymbolOriginInfo(e,t,n){const r="default"===e.exportName,i=!!e.isPackageJsonImport;if(completionEntryDataIsResolved(e)){return{kind:32,exportName:e.exportName,exportMapKey:e.exportMapKey,moduleSpecifier:e.moduleSpecifier,symbolName:t,fileName:e.fileName,moduleSymbol:n,isDefaultExport:r,isFromPackageJson:i}}return{kind:4,exportName:e.exportName,exportMapKey:e.exportMapKey,symbolName:t,fileName:e.fileName,moduleSymbol:n,isDefaultExport:r,isFromPackageJson:i}}function quotePropertyName(e,t,n){return/^\d+$/.test(n)?n:quote(e,t,n)}function isRecommendedCompletionMatch(e,t,n){return e===t||!!(1048576&e.flags)&&n.getExportSymbolOfSymbol(e)===t}function getSourceFromOrigin(e){return originIsExport(e)?stripQuotes(e.moduleSymbol.name):originIsResolvedExport(e)?e.moduleSpecifier:1===(null==e?void 0:e.kind)?"ThisProperty/":64===(null==e?void 0:e.kind)?"TypeOnlyAlias/":void 0}function getCompletionEntriesFromSymbols(e,t,n,r,i,o,a,s,c,l,d,p,u,m,_,f,g,y,h,T,S,x,v,b,C,E=!1){const N=B(),k=function getClosestSymbolDeclaration(e,t){if(!e)return;let n=findAncestor(e,e=>isFunctionBlock(e)||isArrowFunctionBody(e)||isBindingPattern(e)?"quit":(isParameter(e)||isTypeParameterDeclaration(e))&&!isIndexSignatureDeclaration(e.parent));n||(n=findAncestor(t,e=>isFunctionBlock(e)||isArrowFunctionBody(e)||isBindingPattern(e)?"quit":isVariableDeclaration(e)));return n}(r,i),F=probablyUsesSemicolons(a),P=c.getTypeChecker(),D=new Map;for(let d=0;d<e.length;d++){const N=e[d],k=null==x?void 0:x[d],I=getCompletionEntryDisplayNameForSymbol(N,l,k,p,!!y);if(!I||D.get(I.name)&&(!k||!originIsObjectLiteralMethod(k))||1===p&&v&&!shouldIncludeSymbol(N,v))continue;if(!f&&isInJSFile(a)&&symbolAppearsToBeTypeOnly(N))continue;const{name:A,needsConvertPropertyAccess:O}=I,w=(null==v?void 0:v[getSymbolId(N)])??dm.LocationPriority,L=createCompletionEntry(N,isDeprecated(N,P)?dm.Deprecated(w):w,n,r,i,o,a,s,c,A,O,k,S,g,h,T,F,m,u,p,_,b,C,E);if(!L)continue;const M=(!k||originIsTypeOnlyAlias(k))&&!(void 0===N.parent&&!some(N.declarations,e=>e.getSourceFile()===i.getSourceFile()));D.set(A,M),insertSorted(t,L,compareCompletionEntries,void 0,!0)}return d("getCompletionsAtPosition: getCompletionEntriesFromSymbols: "+(B()-N)),{has:e=>D.has(e),add:e=>D.set(e,!0)};function shouldIncludeSymbol(e,t){var n;let o=e.flags;if(i.parent&&isExportAssignment(i.parent))return!0;if(k&&tryCast(k,isVariableDeclaration)){if(e.valueDeclaration===k)return!1;if(isBindingPattern(k.name)&&k.name.elements.some(t=>t===e.valueDeclaration))return!1}const s=e.valueDeclaration??(null==(n=e.declarations)?void 0:n[0]);if(k&&s)if(isParameter(k)&&isParameter(s)){const e=k.parent.parameters;if(s.pos>=k.pos&&s.pos<e.end)return!1}else if(isTypeParameterDeclaration(k)&&isTypeParameterDeclaration(s)){if(k===s&&96===(null==r?void 0:r.kind))return!1;if(function isInTypeParameterDefault(e){if(!e)return!1;let t=e,n=e.parent;for(;n;){if(isTypeParameterDeclaration(n))return n.default===t||64===t.kind;t=n,n=n.parent}return!1}(r)&&!isInferTypeNode(k.parent)){const e=k.parent.typeParameters;if(e&&s.pos>=k.pos&&s.pos<e.end)return!1}}const c=skipAlias(e,P);return!(a.externalModuleIndicator&&!m.allowUmdGlobalAccess&&t[getSymbolId(e)]===dm.GlobalsOrKeywords&&(t[getSymbolId(c)]===dm.AutoImportSuggestions||t[getSymbolId(c)]===dm.LocationPriority))&&(o|=getCombinedLocalAndExportSymbolFlags(c),isInRightSideOfInternalImportEqualsDeclaration(i)?!!(1920&o):f?symbolCanBeReferencedAtTypeLocation(e,P):!!(111551&o))}function symbolAppearsToBeTypeOnly(e){var t;const n=getCombinedLocalAndExportSymbolFlags(skipAlias(e,P));return!(111551&n||isInJSFile(null==(t=e.declarations)?void 0:t[0])&&!(788968&n))}}function getSymbolCompletionFromEntryId(e,t,n,r,i,o,a){if("SwitchCases/"===i.source)return{type:"cases"};if(i.data){const t=getAutoImportSymbolFromCompletionEntryData(i.name,i.data,e,o);if(t){const{contextToken:e,previousToken:i}=getRelevantTokens(r,n);return{type:"symbol",symbol:t.symbol,location:getTouchingPropertyName(n,r),previousToken:i,contextToken:e,isJsxInitializer:!1,isTypeOnlyLocation:!1,origin:t.origin}}}const s=e.getCompilerOptions(),c=getCompletionData(e,t,n,s,r,{includeCompletionsForModuleExports:!0,includeCompletionsWithInsertText:!0},i,o,void 0);if(!c)return{type:"none"};if(0!==c.kind)return{type:"request",request:c};const{symbols:l,literals:d,location:p,completionKind:u,symbolToOriginInfoMap:m,contextToken:_,previousToken:f,isJsxInitializer:g,isTypeOnlyLocation:y}=c,h=find(d,e=>completionNameForLiteral(n,a,e)===i.name);return void 0!==h?{type:"literal",literal:h}:firstDefined(l,(e,t)=>{const n=m[t],r=getCompletionEntryDisplayNameForSymbol(e,zn(s),n,u,c.isJsxIdentifierExpected);return r&&r.name===i.name&&("ClassMemberSnippet/"===i.source&&106500&e.flags||"ObjectLiteralMethodSnippet/"===i.source&&8196&e.flags||getSourceFromOrigin(n)===i.source||"ObjectLiteralMemberWithComma/"===i.source)?{type:"symbol",symbol:e,location:p,origin:n,contextToken:_,previousToken:f,isJsxInitializer:g,isTypeOnlyLocation:y}:void 0})||{type:"none"}}function getCompletionEntryDetails(e,t,n,r,i,o,a,s,c){const l=e.getTypeChecker(),d=e.getCompilerOptions(),{name:p,source:u,data:m}=i,{previousToken:_,contextToken:f}=getRelevantTokens(r,n);if(isInString(n,r,_))return hm.getStringLiteralCompletionDetails(p,n,r,_,e,o,c,s);const g=getSymbolCompletionFromEntryId(e,t,n,r,i,o,s);switch(g.type){case"request":{const{request:e}=g;switch(e.kind){case 1:return Am.getJSDocTagNameCompletionDetails(p);case 2:return Am.getJSDocTagCompletionDetails(p);case 3:return Am.getJSDocParameterNameCompletionDetails(p);case 4:return some(e.keywordCompletions,e=>e.name===p)?createSimpleDetails(p,"keyword",5):void 0;default:return h.assertNever(e)}}case"symbol":{const{symbol:t,location:i,contextToken:_,origin:f,previousToken:y}=g,{codeActions:T,sourceDisplay:S}=function getCompletionEntryCodeActionsAndSourceDisplay(e,t,n,r,i,o,a,s,c,l,d,p,u,m,_,f){if((null==m?void 0:m.moduleSpecifier)&&d&&getImportStatementCompletionInfo(n||d,c).replacementSpan)return{codeActions:void 0,sourceDisplay:[textPart(m.moduleSpecifier)]};if("ClassMemberSnippet/"===_){const{importAdder:r,eraseRange:d}=getEntryForMemberCompletion(a,o,s,u,e,i,t,l,n,p);if((null==r?void 0:r.hasFixes())||d){return{sourceDisplay:void 0,codeActions:[{changes:$m.ChangeTracker.with({host:a,formatContext:p,preferences:u},e=>{r&&r.writeFixes(e),d&&e.deleteRange(c,d)}),description:(null==r?void 0:r.hasFixes())?diagnosticToString([Ot.Includes_imports_of_types_referenced_by_0,e]):diagnosticToString([Ot.Update_modifiers_of_0,e])}]}}}if(originIsTypeOnlyAlias(r)){const e=ed.getPromoteTypeOnlyCompletionAction(c,r.declaration.name,o,a,p,u);return h.assertIsDefined(e,"Expected to have a code action for promoting type-only alias"),{codeActions:[e],sourceDisplay:void 0}}if("ObjectLiteralMemberWithComma/"===_&&n){const t=$m.ChangeTracker.with({host:a,formatContext:p,preferences:u},e=>e.insertText(c,n.end,","));if(t)return{sourceDisplay:void 0,codeActions:[{changes:t,description:diagnosticToString([Ot.Add_missing_comma_for_object_member_completion_0,e])}]}}if(!r||!originIsExport(r)&&!originIsResolvedExport(r))return{codeActions:void 0,sourceDisplay:void 0};const g=r.isFromPackageJson?a.getPackageJsonAutoImportProvider().getTypeChecker():o.getTypeChecker(),{moduleSymbol:y}=r,T=g.getMergedSymbol(skipAlias(i.exportSymbol||i,g)),S=30===(null==n?void 0:n.kind)&&isJsxOpeningLikeElement(n.parent),{moduleSpecifier:x,codeAction:v}=ed.getImportCompletionAction(T,y,null==m?void 0:m.exportMapKey,c,e,S,a,o,p,d&&isIdentifier(d)?d.getStart(c):l,u,f);return h.assert(!(null==m?void 0:m.moduleSpecifier)||x===m.moduleSpecifier),{sourceDisplay:[textPart(x)],codeActions:[v]}}(p,i,_,f,t,e,o,d,n,r,y,a,s,m,u,c);return createCompletionDetailsForSymbol(t,originIsComputedPropertyName(f)?f.symbolName:t.name,l,n,i,c,T,S)}case"literal":{const{literal:e}=g;return createSimpleDetails(completionNameForLiteral(n,s,e),"string","string"==typeof e?8:7)}case"cases":{const t=getExhaustiveCaseSnippets(f.parent,n,s,e.getCompilerOptions(),o,e,void 0);if(null==t?void 0:t.importAdder.hasFixes()){const{entry:e,importAdder:n}=t,r=$m.ChangeTracker.with({host:o,formatContext:a,preferences:s},n.writeFixes);return{name:e.name,kind:"",kindModifiers:"",displayParts:[],sourceDisplay:void 0,codeActions:[{changes:r,description:diagnosticToString([Ot.Includes_imports_of_types_referenced_by_0,p])}]}}return{name:p,kind:"",kindModifiers:"",displayParts:[],sourceDisplay:void 0}}case"none":return ym().some(e=>e.name===p)?createSimpleDetails(p,"keyword",5):void 0;default:h.assertNever(g)}}function createSimpleDetails(e,t,n){return createCompletionDetails(e,"",t,[displayPart(e,n)])}function createCompletionDetailsForSymbol(e,t,n,r,i,o,a,s){const{displayParts:c,documentation:l,symbolKind:d,tags:p}=n.runWithCancellationToken(o,t=>Km.getSymbolDisplayPartsDocumentationAndSymbolKind(t,e,r,i,i,7));return createCompletionDetails(t,Km.getSymbolModifiers(n,e),d,c,l,p,a,s)}function createCompletionDetails(e,t,n,r,i,o,a,s){return{name:e,kindModifiers:t,kind:n,displayParts:r,documentation:i,tags:o,codeActions:a,source:s,sourceDisplay:s}}function getCompletionEntrySymbol(e,t,n,r,i,o,a){const s=getSymbolCompletionFromEntryId(e,t,n,r,i,o,a);return"symbol"===s.type?s.symbol:void 0}var fm=(e=>(e[e.ObjectPropertyDeclaration=0]="ObjectPropertyDeclaration",e[e.Global=1]="Global",e[e.PropertyAccess=2]="PropertyAccess",e[e.MemberLike=3]="MemberLike",e[e.String=4]="String",e[e.None=5]="None",e))(fm||{});function getFirstSymbolInChain(e,t,n){const r=n.getAccessibleSymbolChain(e,t,-1,!1);return r?first(r):e.parent&&(function isModuleSymbol(e){var t;return!!(null==(t=e.declarations)?void 0:t.some(e=>308===e.kind))}(e.parent)?e:getFirstSymbolInChain(e.parent,t,n))}function getCompletionData(e,t,n,r,i,o,a,s,c,l){const d=e.getTypeChecker(),p=isCheckedFile(n,r);let u=B(),m=getTokenAtPosition(n,i);t("getCompletionData: Get current token: "+(B()-u)),u=B();const _=isInComment(n,i,m);t("getCompletionData: Is inside comment: "+(B()-u));let f=!1,g=!1,y=!1;if(_){if(hasDocComment(n,i)){if(64===n.text.charCodeAt(i-1))return{kind:1};{const e=getLineStartPositionForPosition(i,n);if(!/[^*|\s(/)]/.test(n.text.substring(e,i)))return{kind:2}}}const e=function getJsDocTagAtPosition(e,t){return findAncestor(e,e=>!(!isJSDocTag(e)||!rangeContainsPosition(e,t))||!!isJSDoc(e)&&"quit")}(m,i);if(e){if(e.tagName.pos<=i&&i<=e.tagName.end)return{kind:1};if(isJSDocImportTag(e))g=!0;else{const t=function tryGetTypeExpressionFromTag(e){if(function isTagWithTypeExpression(e){switch(e.kind){case 342:case 349:case 343:case 345:case 347:case 350:case 351:return!0;case 346:return!!e.constraint;default:return!1}}(e)){const t=isJSDocTemplateTag(e)?e.constraint:e.typeExpression;return t&&310===t.kind?t:void 0}if(isJSDocAugmentsTag(e)||isJSDocImplementsTag(e))return e.class;return}(e);if(t&&(m=getTokenAtPosition(n,i),m&&(isDeclarationName(m)||349===m.parent.kind&&m.parent.name===m)||(f=isCurrentlyEditingNode(t))),!f&&isJSDocParameterTag(e)&&(nodeIsMissing(e.name)||e.name.pos<=i&&i<=e.name.end))return{kind:3,tag:e}}}if(!f&&!g)return void t("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.")}u=B();const T=!f&&!g&&isSourceFileJS(n),S=getRelevantTokens(i,n),x=S.previousToken;let v=S.contextToken;t("getCompletionData: Get previous token: "+(B()-u));let b,C,E,N=m,k=!1,F=!1,P=!1,D=!1,I=!1,A=!1,O=getTouchingPropertyName(n,i),w=0,L=!1,M=0;if(v){const e=getImportStatementCompletionInfo(v,n);if(e.keywordCompletion){if(e.isKeywordOnlyCompletion)return{kind:4,keywordCompletions:[(R=e.keywordCompletion,{name:tokenToString(R),kind:"keyword",kindModifiers:"",sortText:dm.GlobalsOrKeywords})],isNewIdentifierLocation:e.isNewIdentifierLocation};w=function keywordFiltersFromSyntaxKind(e){if(156===e)return 8;h.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters")}(e.keywordCompletion)}if(e.replacementSpan&&o.includeCompletionsForImportStatements&&o.includeCompletionsWithInsertText&&(M|=2,C=e,L=e.isNewIdentifierLocation),!e.replacementSpan&&function isCompletionListBlocker(e){const r=B(),o=function isInStringOrRegularExpressionOrTemplateLiteral(e){return(isRegularExpressionLiteral(e)||isStringTextContainingNode(e))&&(rangeContainsPositionExclusive(e,i)||i===e.end&&(!!e.isUnterminated||isRegularExpressionLiteral(e)))}(e)||function isSolelyIdentifierDefinitionLocation(e){const t=e.parent,r=t.kind;switch(e.kind){case 28:return 261===r||function isVariableDeclarationListButNotTypeArgument(e){return 262===e.parent.kind&&!isPossiblyTypeArgumentPosition(e,n,d)}(e)||244===r||267===r||isFunctionLikeButNotConstructor(r)||265===r||208===r||266===r||isClassLike(t)&&!!t.typeParameters&&t.typeParameters.end>=e.pos;case 25:case 23:return 208===r;case 59:return 209===r;case 21:return 300===r||isFunctionLikeButNotConstructor(r);case 19:return 267===r;case 30:return 264===r||232===r||265===r||266===r||isFunctionLikeKind(r);case 126:return 173===r&&!isClassLike(t.parent);case 26:return 170===r||!!t.parent&&208===t.parent.kind;case 125:case 123:case 124:return 170===r&&!isConstructorDeclaration(t.parent);case 130:return 277===r||282===r||275===r;case 139:case 153:return!isFromObjectTypeDeclaration(e);case 80:if((277===r||282===r)&&e===t.name&&"type"===e.text)return!1;if(findAncestor(e.parent,isVariableDeclaration)&&function isInDifferentLineThanContextToken(e,t){return n.getLineEndOfPosition(e.getEnd())<t}(e,i))return!1;break;case 86:case 94:case 120:case 100:case 115:case 102:case 121:case 87:case 140:return!0;case 156:return 277!==r;case 42:return isFunctionLike(e.parent)&&!isMethodDeclaration(e.parent)}if(isClassMemberCompletionKeyword(keywordForNode(e))&&isFromObjectTypeDeclaration(e))return!1;if(isConstructorParameterCompletion(e)&&(!isIdentifier(e)||isParameterPropertyModifier(keywordForNode(e))||isCurrentlyEditingNode(e)))return!1;switch(keywordForNode(e)){case 128:case 86:case 87:case 138:case 94:case 100:case 120:case 121:case 123:case 124:case 125:case 126:case 115:return!0;case 134:return isPropertyDeclaration(e.parent)}const o=findAncestor(e.parent,isClassLike);if(o&&e===x&&isPreviousPropertyDeclarationTerminated(e,i))return!1;const a=getAncestor(e.parent,173);if(a&&e!==x&&isClassLike(x.parent.parent)&&i<=x.end){if(isPreviousPropertyDeclarationTerminated(e,x.end))return!1;if(64!==e.kind&&(isInitializedProperty(a)||hasType(a)))return!0}return isDeclarationName(e)&&!isShorthandPropertyAssignment(e.parent)&&!isJsxAttribute(e.parent)&&!((isClassLike(e.parent)||isInterfaceDeclaration(e.parent)||isTypeParameterDeclaration(e.parent))&&(e!==x||i>x.end))}(e)||function isDotOfNumericLiteral(e){if(9===e.kind){const t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}(e)||function isInJsxText(e){if(12===e.kind)return!0;if(32===e.kind&&e.parent){if(O===e.parent&&(287===O.kind||286===O.kind))return!1;if(287===e.parent.kind)return 287!==O.parent.kind;if(288===e.parent.kind||286===e.parent.kind)return!!e.parent.parent&&285===e.parent.parent.kind}return!1}(e)||isBigIntLiteral(e);return t("getCompletionsAtPosition: isCompletionListBlocker: "+(B()-r)),o}(v))return t("Returning an empty list because completion was requested in an invalid position."),w?keywordCompletionData(w,T,computeCommitCharactersAndIsNewIdentifier().isNewIdentifierLocation):void 0;let r=v.parent;if(25===v.kind||29===v.kind)switch(k=25===v.kind,F=29===v.kind,r.kind){case 212:b=r,N=b.expression;if(nodeIsMissing(getLeftmostAccessExpression(b))||(isCallExpression(N)||isFunctionLike(N))&&N.end===v.pos&&N.getChildCount(n)&&22!==last(N.getChildren(n)).kind)return;break;case 167:N=r.left;break;case 268:N=r.name;break;case 206:N=r;break;case 237:N=r.getFirstToken(n),h.assert(102===N.kind||105===N.kind);break;default:return}else if(!C){if(r&&212===r.kind&&(v=r,r=r.parent),m.parent===O)switch(m.kind){case 32:285!==m.parent.kind&&287!==m.parent.kind||(O=m);break;case 31:286===m.parent.kind&&(O=m)}switch(r.kind){case 288:31===v.kind&&(D=!0,O=v);break;case 227:if(!binaryExpressionMayBeOpenTag(r))break;case 286:case 285:case 287:A=!0,30===v.kind&&(P=!0,O=v);break;case 295:case 294:(20===x.kind||80===x.kind&&292===x.parent.kind)&&(A=!0);break;case 292:if(r.initializer===x&&x.end<i){A=!0;break}switch(x.kind){case 64:I=!0;break;case 80:A=!0,r!==x.parent&&!r.initializer&&findChildOfKind(r,64,n)&&(I=x)}}}}var R;const j=B();let J,W=5,U=!1,z=[];const V=[],q=[],H=new Set,K=function isTypeOnlyCompletion(){return f||g||!!C&&isTypeOnlyImportOrExportDeclaration(O.parent)||!function isContextTokenValueLocation(e){return e&&(114===e.kind&&(187===e.parent.kind||isTypeOfExpression(e.parent))||131===e.kind&&183===e.parent.kind)}(v)&&(isPossiblyTypeArgumentPosition(v,n,d)||isPartOfTypeNode(O)||function isContextTokenTypeLocation(e){if(e){const t=e.parent.kind;switch(e.kind){case 59:return 173===t||172===t||170===t||261===t||isFunctionLikeKind(t);case 64:return 266===t||169===t;case 130:return 235===t;case 30:return 184===t||217===t;case 96:return 169===t;case 152:return 239===t}}return!1}(v))}(),G=memoizeOne(t=>createModuleSpecifierResolutionHost(t?s.getPackageJsonAutoImportProvider():e,s));if(k||F)!function getTypeScriptMemberSymbols(){W=2;const e=isLiteralImportTypeNode(N),t=e&&!N.isTypeOf||isPartOfTypeNode(N.parent)||isPossiblyTypeArgumentPosition(v,n,d),r=isInRightSideOfInternalImportEqualsDeclaration(N);if(isEntityName(N)||e||isPropertyAccessExpression(N)){const n=isModuleDeclaration(N.parent);n&&(L=!0,E=[]);let i=d.getSymbolAtLocation(N);if(i&&(i=skipAlias(i,d),1920&i.flags)){const a=d.getExportsOfModule(i);h.assertEachIsDefined(a,"getExportsOfModule() should all be defined");const isValidValueAccess=t=>d.isValidPropertyAccess(e?N:N.parent,t.name),isValidTypeAccess=e=>symbolCanBeReferencedAtTypeLocation(e,d),s=n?e=>{var t;return!!(1920&e.flags)&&!(null==(t=e.declarations)?void 0:t.every(e=>e.parent===N.parent))}:r?e=>isValidTypeAccess(e)||isValidValueAccess(e):t||f?isValidTypeAccess:isValidValueAccess;for(const e of a)s(e)&&z.push(e);if(!t&&!f&&i.declarations&&i.declarations.some(e=>308!==e.kind&&268!==e.kind&&267!==e.kind)){let e=d.getTypeOfSymbolAtLocation(i,N).getNonOptionalType(),t=!1;if(e.isNullableType()){const n=k&&!F&&!1!==o.includeAutomaticOptionalChainCompletions;(n||F)&&(e=e.getNonNullableType(),n&&(t=!0))}addTypeProperties(e,!!(65536&N.flags),t)}return}}if(!t||isInTypeQuery(N)){d.tryGetThisTypeAt(N,!1);let e=d.getTypeAtLocation(N).getNonOptionalType();if(t)addTypeProperties(e.getNonNullableType(),!1,!1);else{let t=!1;if(e.isNullableType()){const n=k&&!F&&!1!==o.includeAutomaticOptionalChainCompletions;(n||F)&&(e=e.getNonNullableType(),n&&(t=!0))}addTypeProperties(e,!!(65536&N.flags),t)}}}();else if(P)z=d.getJsxIntrinsicTagNamesAt(O),h.assertEachIsDefined(z,"getJsxIntrinsicTagNames() should all be defined"),tryGetGlobalSymbols(),W=1,w=0;else if(D){const e=v.parent.parent.openingElement.tagName,t=d.getSymbolAtLocation(e);t&&(z=[t]),W=1,w=0}else if(!tryGetGlobalSymbols())return w?keywordCompletionData(w,T,L):void 0;t("getCompletionData: Semantic work: "+(B()-j));const $=x&&function getContextualType(e,t,n,r){const{parent:i}=e;switch(e.kind){case 80:return getContextualTypeFromParent(e,r);case 64:switch(i.kind){case 261:return r.getContextualType(i.initializer);case 227:return r.getTypeAtLocation(i.left);case 292:return r.getContextualTypeForJsxAttribute(i);default:return}case 105:return r.getContextualType(i);case 84:const o=tryCast(i,isCaseClause);return o?getSwitchedType(o,r):void 0;case 19:return!isJsxExpression(i)||isJsxElement(i.parent)||isJsxFragment(i.parent)?void 0:r.getContextualTypeForJsxAttribute(i.parent);default:const a=Um.getArgumentInfoForCompletions(e,t,n,r);return a?r.getContextualTypeForArgumentAtIndex(a.invocation,a.argumentIndex):isEqualityOperatorKind(e.kind)&&isBinaryExpression(i)&&isEqualityOperatorKind(i.operatorToken.kind)?r.getTypeAtLocation(i.left):r.getContextualType(e,4)||r.getContextualType(e)}}(x,i,n,d),Q=!tryCast(x,isStringLiteralLike)&&!A?mapDefined($&&($.isUnion()?$.types:[$]),e=>!e.isLiteral()||1024&e.flags?void 0:e.value):[],X=x&&$&&function getRecommendedCompletion(e,t,n){return firstDefined(t&&(t.isUnion()?t.types:[t]),t=>{const r=t&&t.symbol;return r&&424&r.flags&&!isAbstractConstructorSymbol(r)?getFirstSymbolInChain(r,e,n):void 0})}(x,$,d);return{kind:0,symbols:z,completionKind:W,isInSnippetScope:y,propertyAccessToConvert:b,isNewIdentifierLocation:L,location:O,keywordFilters:w,literals:Q,symbolToOriginInfoMap:V,recommendedCompletion:X,previousToken:x,contextToken:v,isJsxInitializer:I,insideJsDocTagTypeExpression:f,symbolToSortTextMap:q,isTypeOnlyLocation:K,isJsxIdentifierExpected:A,isRightOfOpenTag:P,isRightOfDotOrQuestionDot:k||F,importStatementCompletion:C,hasUnresolvedAutoImports:U,flags:M,defaultCommitCharacters:E};function addTypeProperties(e,t,n){e.getStringIndexType()&&(L=!0,E=[]),F&&some(e.getCallSignatures())&&(L=!0,E??(E=pm));const r=206===N.kind?N:N.parent;if(p)for(const t of e.getApparentProperties())d.isValidPropertyAccessForCompletions(r,e,t)&&addPropertySymbol(t,!1,n);else z.push(...filter(getPropertiesForCompletion(e,d),t=>d.isValidPropertyAccessForCompletions(r,e,t)));if(t&&o.includeCompletionsWithInsertText){const t=d.getPromisedTypeOfPromise(e);if(t)for(const e of t.getApparentProperties())d.isValidPropertyAccessForCompletions(r,t,e)&&addPropertySymbol(e,!0,n)}}function addPropertySymbol(t,r,a){var c;const l=firstDefined(t.declarations,e=>tryCast(getNameOfDeclaration(e),isComputedPropertyName));if(l){const r=getLeftMostName(l.expression),a=r&&d.getSymbolAtLocation(r),p=a&&getFirstSymbolInChain(a,v,d),u=p&&getSymbolId(p);if(u&&addToSeen(H,u)){const t=z.length;z.push(p),q[getSymbolId(p)]=dm.GlobalsOrKeywords;const r=p.parent;if(r&&isExternalModuleSymbol(r)&&d.tryGetMemberInModuleExportsAndProperties(p.name,r)===p){const a=isExternalModuleNameRelative(stripQuotes(r.name))?null==(c=getSourceFileOfModule(r))?void 0:c.fileName:void 0,{moduleSpecifier:l}=(J||(J=ed.createImportSpecifierResolver(n,e,s,o))).getModuleSpecifierForBestExportInfo([{exportKind:0,moduleFileName:a,isFromPackageJson:!1,moduleSymbol:r,symbol:p,targetFlags:skipAlias(p,d).flags}],i,isValidTypeOnlyAliasUseSite(O))||{};if(l){const e={kind:getNullableSymbolOriginInfoKind(6),moduleSymbol:r,isDefaultExport:!1,symbolName:p.name,exportName:p.name,fileName:a,moduleSpecifier:l};V[t]=e}}else V[t]={kind:getNullableSymbolOriginInfoKind(2)}}else if(o.includeCompletionsWithInsertText){if(u&&H.has(u))return;addSymbolOriginInfo(t),addSymbolSortInfo(t),z.push(t)}}else addSymbolOriginInfo(t),addSymbolSortInfo(t),z.push(t);function addSymbolSortInfo(e){(function isStaticProperty(e){return!!(e.valueDeclaration&&256&getEffectiveModifierFlags(e.valueDeclaration)&&isClassLike(e.valueDeclaration.parent))})(e)&&(q[getSymbolId(e)]=dm.LocalDeclarationPriority)}function addSymbolOriginInfo(e){o.includeCompletionsWithInsertText&&(r&&addToSeen(H,getSymbolId(e))?V[z.length]={kind:getNullableSymbolOriginInfoKind(8)}:a&&(V[z.length]={kind:16}))}function getNullableSymbolOriginInfoKind(e){return a?16|e:e}}function getLeftMostName(e){return isIdentifier(e)?e:isPropertyAccessExpression(e)?getLeftMostName(e.expression):void 0}function tryGetGlobalSymbols(){const t=function tryGetObjectTypeLiteralInTypeArgumentCompletionSymbols(){const e=function tryGetTypeLiteralNode(e){if(!e)return;const t=e.parent;switch(e.kind){case 19:if(isTypeLiteralNode(t))return t;break;case 27:case 28:case 80:if(172===t.kind&&isTypeLiteralNode(t.parent))return t.parent}return}(v);if(!e)return 0;const t=(isIntersectionTypeNode(e.parent)?e.parent:void 0)||e,n=getConstraintOfTypeArgumentProperty(t,d);if(!n)return 0;const r=d.getTypeFromTypeNode(t),i=getPropertiesForCompletion(n,d),o=getPropertiesForCompletion(r,d),a=new Set;return o.forEach(e=>a.add(e.escapedName)),z=concatenate(z,filter(i,e=>!a.has(e.escapedName))),W=0,L=!0,1}()||function tryGetObjectLikeCompletionSymbols(){if(26===(null==v?void 0:v.kind))return 0;const t=z.length,a=function tryGetObjectLikeCompletionContainer(e,t,n){var r;if(e){const{parent:i}=e;switch(e.kind){case 19:case 28:if(isObjectLiteralExpression(i)||isObjectBindingPattern(i))return i;break;case 42:return isMethodDeclaration(i)?tryCast(i.parent,isObjectLiteralExpression):void 0;case 134:return tryCast(i.parent,isObjectLiteralExpression);case 80:if("async"===e.text&&isShorthandPropertyAssignment(e.parent))return e.parent.parent;{if(isObjectLiteralExpression(e.parent.parent)&&(isSpreadAssignment(e.parent)||isShorthandPropertyAssignment(e.parent)&&getLineAndCharacterOfPosition(n,e.getEnd()).line!==getLineAndCharacterOfPosition(n,t).line))return e.parent.parent;const r=findAncestor(i,isPropertyAssignment);if((null==r?void 0:r.getLastToken(n))===e&&isObjectLiteralExpression(r.parent))return r.parent}break;default:if((null==(r=i.parent)?void 0:r.parent)&&(isMethodDeclaration(i.parent)||isGetAccessorDeclaration(i.parent)||isSetAccessorDeclaration(i.parent))&&isObjectLiteralExpression(i.parent.parent))return i.parent.parent;if(isSpreadAssignment(i)&&isObjectLiteralExpression(i.parent))return i.parent;const o=findAncestor(i,isPropertyAssignment);if(59!==e.kind&&(null==o?void 0:o.getLastToken(n))===e&&isObjectLiteralExpression(o.parent))return o.parent}}return}(v,i,n);if(!a)return 0;let l,p;if(W=0,211===a.kind){const e=function tryGetObjectLiteralContextualType(e,t){const n=t.getContextualType(e);if(n)return n;const r=walkUpParenthesizedExpressions(e.parent);if(isBinaryExpression(r)&&64===r.operatorToken.kind&&e===r.left)return t.getTypeAtLocation(r);if(isExpression(r))return t.getContextualType(r);return}(a,d);if(void 0===e)return 67108864&a.flags?2:0;const t=d.getContextualType(a,4),n=(t||e).getStringIndexType(),r=(t||e).getNumberIndexType();if(L=!!n||!!r,l=getPropertiesForObjectExpression(e,t,a,d),p=a.properties,0===l.length&&!r)return 0}else{h.assert(207===a.kind),L=!1;const e=getRootDeclaration(a.parent);if(!isVariableLike(e))return h.fail("Root declaration is not variable-like.");let t=hasInitializer(e)||!!getEffectiveTypeAnnotationNode(e)||251===e.parent.parent.kind;if(t||170!==e.kind||(isExpression(e.parent)?t=!!d.getContextualType(e.parent):175!==e.parent.kind&&179!==e.parent.kind||(t=isExpression(e.parent.parent)&&!!d.getContextualType(e.parent.parent))),t){const e=d.getTypeAtLocation(a);if(!e)return 2;l=d.getPropertiesOfType(e).filter(t=>d.isPropertyAccessible(a,!1,!1,e,t)),p=a.elements}}if(l&&l.length>0){const n=function filterObjectMembersList(e,t){if(0===t.length)return e;const n=new Set,r=new Set;for(const e of t){if(304!==e.kind&&305!==e.kind&&209!==e.kind&&175!==e.kind&&178!==e.kind&&179!==e.kind&&306!==e.kind)continue;if(isCurrentlyEditingNode(e))continue;let t;if(isSpreadAssignment(e))setMembersDeclaredBySpreadAssignment(e,n);else if(isBindingElement(e)&&e.propertyName)80===e.propertyName.kind&&(t=e.propertyName.escapedText);else{const n=getNameOfDeclaration(e);t=n&&isPropertyNameLiteral(n)?getEscapedTextOfIdentifierOrLiteral(n):void 0}void 0!==t&&r.add(t)}const i=e.filter(e=>!r.has(e.escapedName));return setSortTextToMemberDeclaredBySpreadAssignment(n,i),i}(l,h.checkDefined(p));z=concatenate(z,n),setSortTextToOptionalMember(),211===a.kind&&o.includeCompletionsWithObjectLiteralMethodSnippets&&o.includeCompletionsWithInsertText&&(!function transformObjectLiteralMembersSortText(e){for(let t=e;t<z.length;t++){const e=z[t],n=getSymbolId(e),i=null==V?void 0:V[t],o=getCompletionEntryDisplayNameForSymbol(e,zn(r),i,0,!1);if(o){const e=q[n]??dm.LocationPriority,{name:t}=o;q[n]=dm.ObjectLiteralProperty(e,t)}}}(t),function collectObjectLiteralMethodSymbols(t,n){if(isInJSFile(O))return;t.forEach(t=>{if(!function isObjectLiteralMethodSymbol(e){if(!(8196&e.flags))return!1;return!0}(t))return;const i=getCompletionEntryDisplayNameForSymbol(t,zn(r),void 0,0,!1);if(!i)return;const{name:a}=i,l=getEntryForObjectLiteralMethodCompletion(t,a,n,e,s,r,o,c);if(!l)return;const d={kind:128,...l};M|=32,V[z.length]=d,z.push(t)})}(n,a))}return 1}()||function tryGetImportCompletionSymbols(){return C?(L=!0,collectAutoImports(),1):0}()||function tryGetImportOrExportClauseCompletionSymbols(){if(!v)return 0;const e=19===v.kind||28===v.kind?tryCast(v.parent,isNamedImportsOrExports):isTypeKeywordTokenOrIdentifier(v)?tryCast(v.parent.parent,isNamedImportsOrExports):void 0;if(!e)return 0;isTypeKeywordTokenOrIdentifier(v)||(w=8);const{moduleSpecifier:t}=276===e.kind?e.parent.parent:e.parent;if(!t)return L=!0,276===e.kind?2:0;const n=d.getSymbolAtLocation(t);if(!n)return L=!0,2;W=3,L=!1;const r=d.getExportsAndPropertiesOfModule(n),i=new Set(e.elements.filter(e=>!isCurrentlyEditingNode(e)).map(e=>moduleExportNameTextEscaped(e.propertyName||e.name))),o=r.filter(e=>"default"!==e.escapedName&&!i.has(e.escapedName));z=concatenate(z,o),o.length||(w=0);return 1}()||function tryGetImportAttributesCompletionSymbols(){if(void 0===v)return 0;const e=19===v.kind||28===v.kind?tryCast(v.parent,isImportAttributes):59===v.kind?tryCast(v.parent.parent,isImportAttributes):void 0;if(void 0===e)return 0;const t=new Set(e.elements.map(getNameFromImportAttribute));return z=filter(d.getTypeAtLocation(e).getApparentProperties(),e=>!t.has(e.escapedName)),1}()||function tryGetLocalNamedExportCompletionSymbols(){var e;const t=!v||19!==v.kind&&28!==v.kind?void 0:tryCast(v.parent,isNamedExports);if(!t)return 0;const n=findAncestor(t,or(isSourceFile,isModuleDeclaration));return W=5,L=!1,null==(e=n.locals)||e.forEach((e,t)=>{var r,i;z.push(e),(null==(i=null==(r=n.symbol)?void 0:r.exports)?void 0:i.has(t))&&(q[getSymbolId(e)]=dm.OptionalMember)}),1}()||function tryGetConstructorCompletion(){return function tryGetConstructorLikeCompletionContainer(e){if(e){const t=e.parent;switch(e.kind){case 21:case 28:return isConstructorDeclaration(e.parent)?e.parent:void 0;default:if(isConstructorParameterCompletion(e))return t.parent}}return}(v)?(W=5,L=!0,w=4,1):0}()||function tryGetClassLikeCompletionSymbols(){const e=function tryGetObjectTypeDeclarationCompletionContainer(e,t,n,r){switch(n.kind){case 353:return tryCast(n.parent,isObjectTypeDeclaration);case 1:const t=tryCast(lastOrUndefined(cast(n.parent,isSourceFile).statements),isObjectTypeDeclaration);if(t&&!findChildOfKind(t,20,e))return t;break;case 81:if(tryCast(n.parent,isPropertyDeclaration))return findAncestor(n,isClassLike);break;case 80:if(identifierToKeywordKind(n))return;if(isPropertyDeclaration(n.parent)&&n.parent.initializer===n)return;if(isFromObjectTypeDeclaration(n))return findAncestor(n,isObjectTypeDeclaration)}if(!t)return;if(137===n.kind||isIdentifier(t)&&isPropertyDeclaration(t.parent)&&isClassLike(n))return findAncestor(t,isClassLike);switch(t.kind){case 64:return;case 27:case 20:return isFromObjectTypeDeclaration(n)&&n.parent.name===n?n.parent.parent:tryCast(n,isObjectTypeDeclaration);case 19:case 28:return tryCast(t.parent,isObjectTypeDeclaration);default:if(isObjectTypeDeclaration(n)){if(getLineAndCharacterOfPosition(e,t.getEnd()).line!==getLineAndCharacterOfPosition(e,r).line)return n;const i=isClassLike(t.parent.parent)?isClassMemberCompletionKeyword:isInterfaceOrTypeLiteralCompletionKeyword;return i(t.kind)||42===t.kind||isIdentifier(t)&&i(identifierToKeywordKind(t)??0)?t.parent.parent:void 0}return}}(n,v,O,i);if(!e)return 0;if(W=3,L=!0,w=42===v.kind?0:isClassLike(e)?2:3,!isClassLike(e))return 1;const t=27===v.kind?v.parent.parent:v.parent;let r=isClassElement(t)?getEffectiveModifierFlags(t):0;if(80===v.kind&&!isCurrentlyEditingNode(v))switch(v.getText()){case"private":r|=2;break;case"static":r|=256;break;case"override":r|=16}isClassStaticBlockDeclaration(t)&&(r|=256);if(!(2&r)){const t=flatMap(isClassLike(e)&&16&r?singleElementArray(getEffectiveBaseTypeNode(e)):getAllSuperTypeNodes(e),t=>{const n=d.getTypeAtLocation(t);return 256&r?(null==n?void 0:n.symbol)&&d.getPropertiesOfType(d.getTypeOfSymbolAtLocation(n.symbol,e)):n&&d.getPropertiesOfType(n)});z=concatenate(z,function filterClassMembersList(e,t,n){const r=new Set;for(const e of t){if(173!==e.kind&&175!==e.kind&&178!==e.kind&&179!==e.kind)continue;if(isCurrentlyEditingNode(e))continue;if(hasEffectiveModifier(e,2))continue;if(isStatic(e)!==!!(256&n))continue;const t=getPropertyNameForPropertyNameNode(e.name);t&&r.add(t)}return e.filter(e=>!(r.has(e.escapedName)||!e.declarations||2&getDeclarationModifierFlagsFromSymbol(e)||e.valueDeclaration&&isPrivateIdentifierClassElementDeclaration(e.valueDeclaration)))}(t,e.members,r)),forEach(z,(e,t)=>{const n=null==e?void 0:e.valueDeclaration;if(n&&isClassElement(n)&&n.name&&isComputedPropertyName(n.name)){const n={kind:512,symbolName:d.symbolToString(e)};V[t]=n}})}return 1}()||function tryGetJsxCompletionSymbols(){const e=function tryGetContainingJsxElement(e){if(e){const t=e.parent;switch(e.kind){case 32:case 31:case 44:case 80:case 212:case 293:case 292:case 294:if(t&&(286===t.kind||287===t.kind)){if(32===e.kind){const r=findPrecedingToken(e.pos,n,void 0);if(!t.typeArguments||r&&44===r.kind)break}return t}if(292===t.kind)return t.parent.parent;break;case 11:if(t&&(292===t.kind||294===t.kind))return t.parent.parent;break;case 20:if(t&&295===t.kind&&t.parent&&292===t.parent.kind)return t.parent.parent.parent;if(t&&294===t.kind)return t.parent.parent}}return}(v),t=e&&d.getContextualType(e.attributes);if(!t)return 0;const r=e&&d.getContextualType(e.attributes,4);return z=concatenate(z,function filterJsxAttributes(e,t){const n=new Set,r=new Set;for(const e of t)isCurrentlyEditingNode(e)||(292===e.kind?n.add(getEscapedTextOfJsxAttributeName(e.name)):isJsxSpreadAttribute(e)&&setMembersDeclaredBySpreadAssignment(e,r));const i=e.filter(e=>!n.has(e.escapedName));return setSortTextToMemberDeclaredBySpreadAssignment(r,i),i}(getPropertiesForObjectExpression(t,r,e.attributes,d),e.attributes.properties)),setSortTextToOptionalMember(),W=3,L=!1,1}()||(function getGlobalCompletions(){w=function tryGetFunctionLikeBodyCompletionContainer(e){if(e){let t;const n=findAncestor(e.parent,e=>isClassLike(e)?"quit":!(!isFunctionLikeDeclaration(e)||t!==e.body)||(t=e,!1));return n&&n}}(v)?5:1,W=1,({isNewIdentifierLocation:L,defaultCommitCharacters:E}=computeCommitCharactersAndIsNewIdentifier()),x!==v&&h.assert(!!x,"Expected 'contextToken' to be defined when different from 'previousToken'.");const e=x!==v?x.getStart():i,t=function getScopeNode(e,t,n){let r=e;for(;r&&!positionBelongsToNode(r,t,n);)r=r.parent;return r}(v,e,n)||n;y=function isSnippetScope(e){switch(e.kind){case 308:case 229:case 295:case 242:return!0;default:return isStatement(e)}}(t);const r=2887656|(K?0:111551),a=x&&!isValidTypeOnlyAliasUseSite(x);z=concatenate(z,d.getSymbolsInScope(t,r)),h.assertEachIsDefined(z,"getSymbolsInScope() should all be defined");for(let e=0;e<z.length;e++){const t=z[e];if(d.isArgumentsSymbol(t)||some(t.declarations,e=>e.getSourceFile()===n)||(q[getSymbolId(t)]=dm.GlobalsOrKeywords),a&&!(111551&t.flags)){const n=t.declarations&&find(t.declarations,isTypeOnlyImportDeclaration);if(n){const t={kind:64,declaration:n};V[e]=t}}}if(o.includeCompletionsWithInsertText&&308!==t.kind){const e=d.tryGetThisTypeAt(t,!1,isClassLike(t.parent)?t:void 0);if(e&&!function isProbablyGlobalType(e,t,n){const r=n.resolveName("self",void 0,111551,!1);if(r&&n.getTypeOfSymbolAtLocation(r,t)===e)return!0;const i=n.resolveName("global",void 0,111551,!1);if(i&&n.getTypeOfSymbolAtLocation(i,t)===e)return!0;const o=n.resolveName("globalThis",void 0,111551,!1);if(o&&n.getTypeOfSymbolAtLocation(o,t)===e)return!0;return!1}(e,n,d))for(const t of getPropertiesForCompletion(e,d))V[z.length]={kind:1},z.push(t),q[getSymbolId(t)]=dm.SuggestedClassMembers}collectAutoImports(),K&&(w=v&&isAssertionExpression(v.parent)?6:7)}(),1);return 1===t}function collectAutoImports(){var t,r;if(!function shouldOfferImportCompletions(){var t;return!!C||!!o.includeCompletionsForModuleExports&&(!(!n.externalModuleIndicator&&!n.commonJsModuleIndicator)||!!compilerOptionsIndicateEsModules(e.getCompilerOptions())||(null==(t=e.getSymlinkCache)?void 0:t.call(e).hasAnySymlinks())||!!e.getCompilerOptions().paths||programContainsModules(e))}())return;if(h.assert(!(null==a?void 0:a.data),"Should not run 'collectAutoImports' when faster path is available via `data`"),a&&!a.source)return;M|=1;const c=x===v&&C?"":x&&isIdentifier(x)?x.text.toLowerCase():"",d=null==(t=s.getModuleSpecifierCache)?void 0:t.call(s),p=getExportInfoMap(n,s,e,o,l),u=null==(r=s.getPackageJsonAutoImportProvider)?void 0:r.call(s),m=a?void 0:createPackageJsonImportFilter(n,o,s);function isImportableExportInfo(t){return isImportable(t.isFromPackageJson?u:e,n,tryCast(t.moduleSymbol.valueDeclaration,isSourceFile),t.moduleSymbol,o,m,G(t.isFromPackageJson),d)}resolvingModuleSpecifiers("collectAutoImports",s,J||(J=ed.createImportSpecifierResolver(n,e,s,o)),e,i,o,!!C,isValidTypeOnlyAliasUseSite(O),e=>{p.search(n.path,P,(e,t)=>{if(!isIdentifierText(e,zn(s.getCompilationSettings())))return!1;if(!a&&isStringANonContextualKeyword(e))return!1;if(!(K||C||111551&t))return!1;if(K&&!(790504&t))return!1;const n=e.charCodeAt(0);return(!P||!(n<65||n>90))&&(!!a||charactersFuzzyMatchInString(e,c))},(t,n,r,i)=>{if(a&&!some(t,e=>a.source===stripQuotes(e.moduleSymbol.name)))return;if(!(t=filter(t,isImportableExportInfo)).length)return;const o=e.tryResolve(t,r)||{};if("failed"===o)return;let s,c=t[0];"skipped"!==o&&({exportInfo:c=t[0],moduleSpecifier:s}=o);const l=1===c.exportKind;!function pushAutoImportSymbol(e,t){const n=getSymbolId(e);if(q[n]===dm.GlobalsOrKeywords)return;V[z.length]=t,q[n]=C?dm.LocationPriority:dm.AutoImportSuggestions,z.push(e)}(l&&getLocalSymbolForExportDefault(h.checkDefined(c.symbol))||h.checkDefined(c.symbol),{kind:s?32:4,moduleSpecifier:s,symbolName:n,exportMapKey:i,exportName:2===c.exportKind?"export=":h.checkDefined(c.symbol).name,fileName:c.moduleFileName,isDefaultExport:l,moduleSymbol:c.moduleSymbol,isFromPackageJson:c.isFromPackageJson})}),U=e.skippedAny(),M|=e.resolvedAny()?8:0,M|=e.resolvedBeyondLimit()?16:0})}function computeCommitCharactersAndIsNewIdentifier(){if(v){const e=v.parent.kind,t=keywordForNode(v);switch(t){case 28:switch(e){case 214:case 215:{const e=v.parent.expression;return getLineAndCharacterOfPosition(n,e.end).line!==getLineAndCharacterOfPosition(n,i).line?{defaultCommitCharacters:um,isNewIdentifierLocation:!0}:{defaultCommitCharacters:pm,isNewIdentifierLocation:!0}}case 227:return{defaultCommitCharacters:um,isNewIdentifierLocation:!0};case 177:case 185:case 211:return{defaultCommitCharacters:[],isNewIdentifierLocation:!0};case 210:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!0};default:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!1}}case 21:switch(e){case 214:case 215:{const e=v.parent.expression;return getLineAndCharacterOfPosition(n,e.end).line!==getLineAndCharacterOfPosition(n,i).line?{defaultCommitCharacters:um,isNewIdentifierLocation:!0}:{defaultCommitCharacters:pm,isNewIdentifierLocation:!0}}case 218:return{defaultCommitCharacters:um,isNewIdentifierLocation:!0};case 177:case 197:return{defaultCommitCharacters:[],isNewIdentifierLocation:!0};default:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!1}}case 23:switch(e){case 210:case 182:case 190:case 168:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!0};default:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!1}}case 144:case 145:case 102:return{defaultCommitCharacters:[],isNewIdentifierLocation:!0};case 25:return 268===e?{defaultCommitCharacters:[],isNewIdentifierLocation:!0}:{defaultCommitCharacters:pm,isNewIdentifierLocation:!1};case 19:switch(e){case 264:case 211:return{defaultCommitCharacters:[],isNewIdentifierLocation:!0};default:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!1}}case 64:switch(e){case 261:case 227:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!0};default:return{defaultCommitCharacters:pm,isNewIdentifierLocation:!1}}case 16:return{defaultCommitCharacters:pm,isNewIdentifierLocation:229===e};case 17:return{defaultCommitCharacters:pm,isNewIdentifierLocation:240===e};case 134:return 175===e||305===e?{defaultCommitCharacters:[],isNewIdentifierLocation:!0}:{defaultCommitCharacters:pm,isNewIdentifierLocation:!1};case 42:return 175===e?{defaultCommitCharacters:[],isNewIdentifierLocation:!0}:{defaultCommitCharacters:pm,isNewIdentifierLocation:!1}}if(isClassMemberCompletionKeyword(t))return{defaultCommitCharacters:[],isNewIdentifierLocation:!0}}return{defaultCommitCharacters:pm,isNewIdentifierLocation:!1}}function isConstructorParameterCompletion(e){return!!e.parent&&isParameter(e.parent)&&isConstructorDeclaration(e.parent.parent)&&(isParameterPropertyModifier(e.kind)||isDeclarationName(e))}function isPreviousPropertyDeclarationTerminated(e,t){return 64!==e.kind&&(27===e.kind||!positionsAreOnSameLine(e.end,t,n))}function isFunctionLikeButNotConstructor(e){return isFunctionLikeKind(e)&&177!==e}function setMembersDeclaredBySpreadAssignment(e,t){const n=e.expression,r=d.getSymbolAtLocation(n),i=r&&d.getTypeOfSymbolAtLocation(r,n),o=i&&i.properties;o&&o.forEach(e=>{t.add(e.name)})}function setSortTextToOptionalMember(){z.forEach(e=>{if(16777216&e.flags){const t=getSymbolId(e);q[t]=q[t]??dm.OptionalMember}})}function setSortTextToMemberDeclaredBySpreadAssignment(e,t){if(0!==e.size)for(const n of t)e.has(n.name)&&(q[getSymbolId(n)]=dm.MemberDeclaredBySpreadAssignment)}function isCurrentlyEditingNode(e){return e.getStart(n)<=i&&i<=e.getEnd()}}function getRelevantTokens(e,t){const n=findPrecedingToken(e,t);if(n&&e<=n.end&&(isMemberName(n)||isKeyword(n.kind))){return{contextToken:findPrecedingToken(n.getFullStart(),t,void 0),previousToken:n}}return{contextToken:n,previousToken:n}}function getAutoImportSymbolFromCompletionEntryData(e,t,n,r){const i=t.isPackageJsonImport?r.getPackageJsonAutoImportProvider():n,o=i.getTypeChecker(),a=t.ambientModuleName?o.tryFindAmbientModule(t.ambientModuleName):t.fileName?o.getMergedSymbol(h.checkDefined(i.getSourceFile(t.fileName)).symbol):void 0;if(!a)return;let s="export="===t.exportName?o.resolveExternalModuleSymbol(a):o.tryGetMemberInModuleExportsAndProperties(t.exportName,a);if(!s)return;return s="default"===t.exportName&&getLocalSymbolForExportDefault(s)||s,{symbol:s,origin:completionEntryDataToSymbolOriginInfo(t,e,a)}}function getCompletionEntryDisplayNameForSymbol(e,t,n,r,i){if(function originIsIgnore(e){return!!(e&&256&e.kind)}(n))return;const o=function originIncludesSymbolName(e){return originIsExport(e)||originIsResolvedExport(e)||originIsComputedPropertyName(e)}(n)?n.symbolName:e.name;if(void 0===o||1536&e.flags&&isSingleOrDoubleQuote(o.charCodeAt(0))||isKnownSymbol(e))return;const a={name:o,needsConvertPropertyAccess:!1};if(isIdentifierText(o,t,i?1:0)||e.valueDeclaration&&isPrivateIdentifierClassElementDeclaration(e.valueDeclaration))return a;if(2097152&e.flags)return{name:o,needsConvertPropertyAccess:!0};switch(r){case 3:return originIsComputedPropertyName(n)?{name:n.symbolName,needsConvertPropertyAccess:!1}:void 0;case 0:return{name:JSON.stringify(o),needsConvertPropertyAccess:!1};case 2:case 1:return 32===o.charCodeAt(0)?void 0:{name:o,needsConvertPropertyAccess:!0};case 5:case 4:return a;default:h.assertNever(r)}}var gm=[],ym=memoize(()=>{const e=[];for(let t=83;t<=166;t++)e.push({name:tokenToString(t),kind:"keyword",kindModifiers:"",sortText:dm.GlobalsOrKeywords});return e});function getKeywordCompletions(e,t){if(!t)return getTypescriptKeywordCompletions(e);const n=e+8+1;return gm[n]||(gm[n]=getTypescriptKeywordCompletions(e).filter(e=>!function isTypeScriptOnlyKeyword(e){switch(e){case 128:case 133:case 163:case 136:case 138:case 94:case 162:case 119:case 140:case 120:case 142:case 143:case 144:case 145:case 146:case 150:case 151:case 164:case 123:case 124:case 125:case 148:case 154:case 155:case 156:case 158:case 159:return!0;default:return!1}}(stringToToken(e.name))))}function getTypescriptKeywordCompletions(e){return gm[e]||(gm[e]=ym().filter(t=>{const n=stringToToken(t.name);switch(e){case 0:return!1;case 1:return isFunctionLikeBodyKeyword(n)||138===n||144===n||156===n||145===n||128===n||isTypeKeyword(n)&&157!==n;case 5:return isFunctionLikeBodyKeyword(n);case 2:return isClassMemberCompletionKeyword(n);case 3:return isInterfaceOrTypeLiteralCompletionKeyword(n);case 4:return isParameterPropertyModifier(n);case 6:return isTypeKeyword(n)||87===n;case 7:return isTypeKeyword(n);case 8:return 156===n;default:return h.assertNever(e)}}))}function isInterfaceOrTypeLiteralCompletionKeyword(e){return 148===e}function isClassMemberCompletionKeyword(e){switch(e){case 128:case 129:case 137:case 139:case 153:case 134:case 138:case 164:return!0;default:return isClassMemberModifier(e)}}function isFunctionLikeBodyKeyword(e){return 134===e||135===e||160===e||130===e||152===e||156===e||!isContextualKeyword(e)&&!isClassMemberCompletionKeyword(e)}function keywordForNode(e){return isIdentifier(e)?identifierToKeywordKind(e)??0:e.kind}function getPropertiesForObjectExpression(e,t,n,r){const i=t&&t!==e,o=r.getUnionType(filter(1048576&e.flags?e.types:[e],e=>!r.getPromisedTypeOfPromise(e))),a=!i||3&t.flags?o:r.getUnionType([o,t]),s=function getApparentProperties(e,t,n){return e.isUnion()?n.getAllPossiblePropertiesOfTypes(filter(e.types,e=>!(402784252&e.flags||n.isArrayLikeType(e)||n.isTypeInvalidDueToUnionDiscriminant(e,t)||n.typeHasCallOrConstructSignatures(e)||e.isClass()&&containsNonPublicProperties(e.getApparentProperties())))):e.getApparentProperties()}(a,n,r);return a.isClass()&&containsNonPublicProperties(s)?[]:i?filter(s,function hasDeclarationOtherThanSelf(e){return!length(e.declarations)||some(e.declarations,e=>e.parent!==n)}):s}function containsNonPublicProperties(e){return some(e,e=>!!(6&getDeclarationModifierFlagsFromSymbol(e)))}function getPropertiesForCompletion(e,t){return e.isUnion()?h.checkEachDefined(t.getAllPossiblePropertiesOfTypes(e.types),"getAllPossiblePropertiesOfTypes() should all be defined"):h.checkEachDefined(e.getApparentProperties(),"getApparentProperties() should all be defined")}function getConstraintOfTypeArgumentProperty(e,t){if(!e)return;if(isTypeNode(e)&&isTypeReferenceType(e.parent))return t.getTypeArgumentConstraint(e);const n=getConstraintOfTypeArgumentProperty(e.parent,t);if(n)switch(e.kind){case 172:return t.getTypeOfPropertyOfContextualType(n,e.symbol.escapedName);case 194:case 188:case 193:return n}}function isFromObjectTypeDeclaration(e){return e.parent&&isClassOrTypeElement(e.parent)&&isObjectTypeDeclaration(e.parent.parent)}function binaryExpressionMayBeOpenTag({left:e}){return nodeIsMissing(e)}function getImportStatementCompletionInfo(e,t){var n,r,i;let o,a=!1;const s=function getCandidate(){const n=e.parent;if(isImportEqualsDeclaration(n)){const r=n.getLastToken(t);return isIdentifier(e)&&r!==e?(o=161,void(a=!0)):(o=156===e.kind?void 0:156,isModuleSpecifierMissingOrEmpty(n.moduleReference)?n:void 0)}if(couldBeTypeOnlyImportSpecifier(n,e)&&canCompleteFromNamedBindings(n.parent))return n;if(isNamedImports(n)||isNamespaceImport(n)){if(n.parent.isTypeOnly||19!==e.kind&&102!==e.kind&&28!==e.kind||(o=156),canCompleteFromNamedBindings(n)){if(20!==e.kind&&80!==e.kind)return n.parent.parent;a=!0,o=161}return}if(isExportDeclaration(n)&&42===e.kind||isNamedExports(n)&&20===e.kind)return a=!0,void(o=161);if(isImportKeyword(e)&&isSourceFile(n))return o=156,e;if(isImportKeyword(e)&&isImportDeclaration(n))return o=156,isModuleSpecifierMissingOrEmpty(n.moduleSpecifier)?n:void 0;return}();return{isKeywordOnlyCompletion:a,keywordCompletion:o,isNewIdentifierLocation:!(!s&&156!==o),isTopLevelTypeOnly:!!(null==(r=null==(n=tryCast(s,isImportDeclaration))?void 0:n.importClause)?void 0:r.isTypeOnly)||!!(null==(i=tryCast(s,isImportEqualsDeclaration))?void 0:i.isTypeOnly),couldBeTypeOnlyImportSpecifier:!!s&&couldBeTypeOnlyImportSpecifier(s,e),replacementSpan:getSingleLineReplacementSpanForImportCompletionNode(s)}}function getSingleLineReplacementSpanForImportCompletionNode(e){var t;if(!e)return;const n=findAncestor(e,or(isImportDeclaration,isImportEqualsDeclaration,isJSDocImportTag))??e,r=n.getSourceFile();if(rangeIsOnSingleLine(n,r))return createTextSpanFromNode(n,r);h.assert(102!==n.kind&&277!==n.kind);const i=273===n.kind||352===n.kind?getPotentiallyInvalidImportSpecifier(null==(t=n.importClause)?void 0:t.namedBindings)??n.moduleSpecifier:n.moduleReference,o={pos:n.getFirstToken().getStart(),end:i.pos};return rangeIsOnSingleLine(o,r)?createTextSpanFromRange(o):void 0}function getPotentiallyInvalidImportSpecifier(e){var t;return find(null==(t=tryCast(e,isNamedImports))?void 0:t.elements,t=>{var n;return!t.propertyName&&isStringANonContextualKeyword(t.name.text)&&28!==(null==(n=findPrecedingToken(t.name.pos,e.getSourceFile(),e))?void 0:n.kind)})}function couldBeTypeOnlyImportSpecifier(e,t){return isImportSpecifier(e)&&(e.isTypeOnly||t===e.name&&isTypeKeywordTokenOrIdentifier(t))}function canCompleteFromNamedBindings(e){if(!isModuleSpecifierMissingOrEmpty(e.parent.parent.moduleSpecifier)||e.parent.name)return!1;if(isNamedImports(e)){const t=getPotentiallyInvalidImportSpecifier(e);return(t?e.elements.indexOf(t):e.elements.length)<2}return!0}function isModuleSpecifierMissingOrEmpty(e){var t;return!!nodeIsMissing(e)||!(null==(t=tryCast(isExternalModuleReference(e)?e.expression:e,isStringLiteralLike))?void 0:t.text)}function isArrowFunctionBody(e){return e.parent&&isArrowFunction(e.parent)&&(e.parent.body===e||39===e.kind)}function symbolCanBeReferencedAtTypeLocation(e,t,n=new Set){return nonAliasCanBeReferencedAtTypeLocation(e)||nonAliasCanBeReferencedAtTypeLocation(skipAlias(e.exportSymbol||e,t));function nonAliasCanBeReferencedAtTypeLocation(e){return!!(788968&e.flags)||t.isUnknownSymbol(e)||!!(1536&e.flags)&&addToSeen(n,e)&&t.getExportsOfModule(e).some(e=>symbolCanBeReferencedAtTypeLocation(e,t,n))}}function isDeprecated(e,t){const n=skipAlias(e,t).declarations;return!!length(n)&&every(n,isDeprecatedDeclaration)}function charactersFuzzyMatchInString(e,t){if(0===t.length)return!0;let n,r=!1,i=0;const o=e.length;for(let a=0;a<o;a++){const o=e.charCodeAt(a),s=t.charCodeAt(i);if((o===s||o===toUpperCharCode(s))&&(r||(r=void 0===n||97<=n&&n<=122&&65<=o&&o<=90||95===n&&95!==o),r&&i++,i===t.length))return!0;n=o}return!1}function toUpperCharCode(e){return 97<=e&&e<=122?e-32:e}function isContextualKeywordInAutoImportableExpressionSpace(e){return"abstract"===e||"async"===e||"await"===e||"declare"===e||"module"===e||"namespace"===e||"type"===e||"satisfies"===e||"as"===e}var hm={};i(hm,{getStringLiteralCompletionDetails:()=>getStringLiteralCompletionDetails,getStringLiteralCompletions:()=>getStringLiteralCompletions});var Tm={directory:0,script:1,"external module name":2};function createNameAndKindSet(){const e=new Map;return{add:function add(t){const n=e.get(t.name);(!n||Tm[n.kind]<Tm[t.kind])&&e.set(t.name,t)},has:e.has.bind(e),values:e.values.bind(e)}}function getStringLiteralCompletions(e,t,n,r,i,o,a,s,c){if(isInReferenceComment(e,t)){const n=function getTripleSlashReferenceCompletion(e,t,n,r,i){const o=n.getCompilerOptions(),a=getTokenAtPosition(e,t),s=getLeadingCommentRanges(e.text,a.pos),c=s&&find(s,e=>t>=e.pos&&t<=e.end);if(!c)return;const l=e.text.slice(c.pos,t),d=Sm.exec(l);if(!d)return;const[,p,u,m]=d,_=getDirectoryPath(e.path),f="path"===u?getCompletionEntriesForDirectoryFragment(m,_,getExtensionOptions(o,0,e),n,r,i,!0,e.path):"types"===u?getCompletionEntriesFromTypings(n,r,i,_,getFragmentDirectory(m),getExtensionOptions(o,1,e)):h.fail();return addReplacementSpans(m,c.pos+p.length,arrayFrom(f.values()))}(e,t,o,i,createModuleSpecifierResolutionHost(o,i));return n&&convertPathCompletions(n)}if(isInString(e,t,n)){if(!n||!isStringLiteralLike(n))return;return function convertStringLiteralCompletions(e,t,n,r,i,o,a,s,c,l){if(void 0===e)return;const d=createTextSpanFromStringLiteralLikeContent(t,c);switch(e.kind){case 0:return convertPathCompletions(e.paths);case 1:{const p=[];return getCompletionEntriesFromSymbols(e.symbols,p,t,t,n,c,n,r,i,99,o,4,s,a,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,l),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:e.hasIndexSignature,optionalReplacementSpan:d,entries:p,defaultCommitCharacters:getDefaultCommitCharacters(e.hasIndexSignature)}}case 2:{const n=15===t.kind?96:startsWith(getTextOfNode(t),"'")?39:34,r=e.types.map(e=>({name:escapeString(e.value,n),kindModifiers:"",kind:"string",sortText:dm.LocationPriority,replacementSpan:getReplacementSpanForContextToken(t,c),commitCharacters:[]}));return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:e.isNewIdentifier,optionalReplacementSpan:d,entries:r,defaultCommitCharacters:getDefaultCommitCharacters(e.isNewIdentifier)}}default:return h.assertNever(e)}}(getStringLiteralCompletionEntries(e,n,t,o,i,s),n,e,i,o,a,r,s,t,c)}}function getStringLiteralCompletionDetails(e,t,n,r,i,o,a,s){if(!r||!isStringLiteralLike(r))return;const c=getStringLiteralCompletionEntries(t,r,n,i,o,s);return c&&function stringLiteralCompletionDetails(e,t,n,r,i,o){switch(n.kind){case 0:{const t=find(n.paths,t=>t.name===e);return t&&createCompletionDetails(e,kindModifiersFromExtension(t.extension),t.kind,[textPart(e)])}case 1:{const a=find(n.symbols,t=>t.name===e);return a&&createCompletionDetailsForSymbol(a,a.name,i,r,t,o)}case 2:return find(n.types,t=>t.value===e)?createCompletionDetails(e,"","string",[textPart(e)]):void 0;default:return h.assertNever(n)}}(e,r,c,t,i.getTypeChecker(),a)}function convertPathCompletions(e){const t=!0;return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:t,entries:e.map(({name:e,kind:t,span:n,extension:r})=>({name:e,kind:t,kindModifiers:kindModifiersFromExtension(r),sortText:dm.LocationPriority,replacementSpan:n})),defaultCommitCharacters:getDefaultCommitCharacters(t)}}function kindModifiersFromExtension(e){switch(e){case".d.ts":return".d.ts";case".js":return".js";case".json":return".json";case".jsx":return".jsx";case".ts":return".ts";case".tsx":return".tsx";case".d.mts":return".d.mts";case".mjs":return".mjs";case".mts":return".mts";case".d.cts":return".d.cts";case".cjs":return".cjs";case".cts":return".cts";case".tsbuildinfo":return h.fail("Extension .tsbuildinfo is unsupported.");case void 0:return"";default:return h.assertNever(e)}}function getStringLiteralCompletionEntries(e,t,n,r,i,o){const a=r.getTypeChecker(),s=walkUpParentheses(t.parent);switch(s.kind){case 202:{const c=walkUpParentheses(s.parent);return 206===c.kind?{kind:0,paths:getStringLiteralCompletionsFromModuleNames(e,t,r,i,o)}:function fromUnionableLiteralType(e){switch(e.kind){case 234:case 184:{const t=findAncestor(s,t=>t.parent===e);return t?{kind:2,types:getStringLiteralTypes(a.getTypeArgumentConstraint(t)),isNewIdentifier:!1}:void 0}case 200:const{indexType:t,objectType:r}=e;if(!rangeContainsPosition(t,n))return;return stringLiteralCompletionsFromProperties(a.getTypeFromTypeNode(r));case 193:{const t=fromUnionableLiteralType(walkUpParentheses(e.parent));if(!t)return;const n=function getAlreadyUsedTypesInStringLiteralUnion(e,t){return mapDefined(e.types,e=>e!==t&&isLiteralTypeNode(e)&&isStringLiteral(e.literal)?e.literal.text:void 0)}(e,s);return 1===t.kind?{kind:1,symbols:t.symbols.filter(e=>!contains(n,e.name)),hasIndexSignature:t.hasIndexSignature}:{kind:2,types:t.types.filter(e=>!contains(n,e.value)),isNewIdentifier:!1}}default:return}}(c)}case 304:return isObjectLiteralExpression(s.parent)&&s.name===t?function stringLiteralCompletionsForObjectLiteral(e,t){const n=e.getContextualType(t);if(!n)return;const r=e.getContextualType(t,4);return{kind:1,symbols:getPropertiesForObjectExpression(n,r,t,e),hasIndexSignature:hasIndexSignature(n)}}(a,s.parent):fromContextualType()||fromContextualType(0);case 213:{const{expression:e,argumentExpression:n}=s;return t===skipParentheses(n)?stringLiteralCompletionsFromProperties(a.getTypeAtLocation(e)):void 0}case 214:case 215:case 292:if(!function isRequireCallArgument(e){return isCallExpression(e.parent)&&firstOrUndefined(e.parent.arguments)===e&&isIdentifier(e.parent.expression)&&"require"===e.parent.expression.escapedText}(t)&&!isImportCall(s)){const r=Um.getArgumentInfoForCompletions(292===s.kind?s.parent:t,n,e,a);return r&&function getStringLiteralCompletionsFromSignature(e,t,n,r){let i=!1;const o=new Set,a=isJsxOpeningLikeElement(e)?h.checkDefined(findAncestor(t.parent,isJsxAttribute)):t,s=flatMap(r.getCandidateSignaturesForStringLiteralCompletions(e,a),t=>{if(!signatureHasRestParameter(t)&&n.argumentCount>t.parameters.length)return;let s=t.getTypeParameterAtPosition(n.argumentIndex);if(isJsxOpeningLikeElement(e)){const e=r.getTypeOfPropertyOfType(s,getTextOfJsxAttributeName(a.name));e&&(s=e)}return i=i||!!(4&s.flags),getStringLiteralTypes(s,o)});return length(s)?{kind:2,types:s,isNewIdentifier:i}:void 0}(r.invocation,t,r,a)||fromContextualType(0)}case 273:case 279:case 284:case 352:return{kind:0,paths:getStringLiteralCompletionsFromModuleNames(e,t,r,i,o)};case 297:const c=newCaseClauseTracker(a,s.parent.clauses),l=fromContextualType();if(!l)return;return{kind:2,types:l.types.filter(e=>!c.hasValue(e.value)),isNewIdentifier:!1};case 277:case 282:const d=s;if(d.propertyName&&t!==d.propertyName)return;const p=d.parent,{moduleSpecifier:u}=276===p.kind?p.parent.parent:p.parent;if(!u)return;const m=a.getSymbolAtLocation(u);if(!m)return;const _=a.getExportsAndPropertiesOfModule(m),f=new Set(p.elements.map(e=>moduleExportNameTextEscaped(e.propertyName||e.name)));return{kind:1,symbols:_.filter(e=>"default"!==e.escapedName&&!f.has(e.escapedName)),hasIndexSignature:!1};case 227:if(103===s.operatorToken.kind){const e=a.getTypeAtLocation(s.right);return{kind:1,symbols:(e.isUnion()?a.getAllPossiblePropertiesOfTypes(e.types):e.getApparentProperties()).filter(e=>!e.valueDeclaration||!isPrivateIdentifierClassElementDeclaration(e.valueDeclaration)),hasIndexSignature:!1}}return fromContextualType(0);default:return fromContextualType()||fromContextualType(0)}function fromContextualType(e=4){const n=getStringLiteralTypes(getContextualTypeFromParent(t,a,e));if(n.length)return{kind:2,types:n,isNewIdentifier:!1}}}function walkUpParentheses(e){switch(e.kind){case 197:return walkUpParenthesizedTypes(e);case 218:return walkUpParenthesizedExpressions(e);default:return e}}function stringLiteralCompletionsFromProperties(e){return e&&{kind:1,symbols:filter(e.getApparentProperties(),e=>!(e.valueDeclaration&&isPrivateIdentifierClassElementDeclaration(e.valueDeclaration))),hasIndexSignature:hasIndexSignature(e)}}function getStringLiteralTypes(e,t=new Set){return e?(e=skipConstraint(e)).isUnion()?flatMap(e.types,e=>getStringLiteralTypes(e,t)):!e.isStringLiteral()||1024&e.flags||!addToSeen(t,e.value)?l:[e]:l}function nameAndKind(e,t,n){return{name:e,kind:t,extension:n}}function directoryResult(e){return nameAndKind(e,"directory",void 0)}function addReplacementSpans(e,t,n){const r=function getDirectoryFragmentTextSpan(e,t){const n=Math.max(e.lastIndexOf(Ft),e.lastIndexOf(Pt)),r=-1!==n?n+1:0,i=e.length-r;return 0===i||isIdentifierText(e.substr(r,i),99)?void 0:createTextSpan(t+r,i)}(e,t),i=0===e.length?void 0:createTextSpan(t,e.length);return n.map(({name:e,kind:t,extension:n})=>e.includes(Ft)||e.includes(Pt)?{name:e,kind:t,extension:n,span:i}:{name:e,kind:t,extension:n,span:r})}function getStringLiteralCompletionsFromModuleNames(e,t,n,r,i){return addReplacementSpans(t.text,t.getStart(e)+1,function getStringLiteralCompletionsFromModuleNamesWorker(e,t,n,r,i){const o=normalizeSlashes(t.text),a=isStringLiteralLike(t)?n.getModeForUsageLocation(e,t):void 0,s=e.path,c=getDirectoryPath(s),d=n.getCompilerOptions(),p=n.getTypeChecker(),u=createModuleSpecifierResolutionHost(n,r),m=getExtensionOptions(d,1,e,p,i,a);return function isPathRelativeToScript(e){if(e&&e.length>=2&&46===e.charCodeAt(0)){const t=e.length>=3&&46===e.charCodeAt(1)?2:1,n=e.charCodeAt(t);return 47===n||92===n}return!1}(o)||!d.baseUrl&&!d.paths&&(isRootedDiskPath(o)||isUrl(o))?function getCompletionEntriesForRelativeModules(e,t,n,r,i,o,a){const s=n.getCompilerOptions();return s.rootDirs?function getCompletionEntriesForDirectoryFragmentWithRootDirs(e,t,n,r,i,o,a,s){const c=i.getCompilerOptions(),l=c.project||o.getCurrentDirectory(),d=!(o.useCaseSensitiveFileNames&&o.useCaseSensitiveFileNames()),p=function getBaseDirectoriesFromRootDirs(e,t,n,r){e=e.map(e=>ensureTrailingDirectorySeparator(normalizePath(isRootedDiskPath(e)?e:combinePaths(t,e))));const i=firstDefined(e,e=>containsPath(e,n,t,r)?n.substr(e.length):void 0);return deduplicate([...e.map(e=>combinePaths(e,i)),n].map(e=>removeTrailingDirectorySeparator(e)),equateStringsCaseSensitive,compareStringsCaseSensitive)}(e,l,n,d);return deduplicate(flatMap(p,e=>arrayFrom(getCompletionEntriesForDirectoryFragment(t,e,r,i,o,a,!0,s).values())),(e,t)=>e.name===t.name&&e.kind===t.kind&&e.extension===t.extension)}(s.rootDirs,e,t,a,n,r,i,o):arrayFrom(getCompletionEntriesForDirectoryFragment(e,t,a,n,r,i,!0,o).values())}(o,c,n,r,u,s,m):function getCompletionEntriesForNonRelativeModules(e,t,n,r,i,o,a){const s=r.getTypeChecker(),c=r.getCompilerOptions(),{baseUrl:d,paths:p}=c,u=createNameAndKindSet(),m=qn(c);if(d){const t=normalizePath(combinePaths(i.getCurrentDirectory(),d));getCompletionEntriesForDirectoryFragment(e,t,a,r,i,o,!1,void 0,u)}if(p){const t=getPathsBasePath(c,i);addCompletionEntriesFromPaths(u,e,t,a,r,i,o,p)}const _=getFragmentDirectory(e);for(const t of function getAmbientModuleCompletions(e,t,n){const r=n.getAmbientModules().map(e=>stripQuotes(e.name)).filter(t=>startsWith(t,e)&&!t.includes("*"));if(void 0!==t){const e=ensureTrailingDirectorySeparator(t);return r.map(t=>removePrefix(t,e))}return r}(e,_,s))u.add(nameAndKind(t,"external module name",void 0));if(getCompletionEntriesFromTypings(r,i,o,t,_,a,u),moduleResolutionUsesNodeModules(m)){let n=!1;if(void 0===_)for(const e of function enumerateNodeModulesVisibleToScript(e,t){if(!e.readFile||!e.fileExists)return l;const n=[];for(const r of findPackageJsons(t,e)){const t=readJson(r,e);for(const e of xm){const r=t[e];if(r)for(const e in r)hasProperty(r,e)&&!startsWith(e,"@types/")&&n.push(e)}}return n}(i,t)){const t=nameAndKind(e,"external module name",void 0);u.has(t.name)||(n=!0,u.add(t))}if(!n){const n=Qn(c),s=Xn(c);let l=!1;const importsLookup=t=>{if(s&&!l){const n=combinePaths(t,"package.json");if(l=tryFileExists(i,n)){exportsOrImportsLookup(readJson(n,i).imports,e,t,!1,!0)}}};let ancestorLookup=t=>{const n=combinePaths(t,"node_modules");tryDirectoryExists(i,n)&&getCompletionEntriesForDirectoryFragment(e,n,a,r,i,o,!1,void 0,u),importsLookup(t)};if(_&&n){const t=ancestorLookup;ancestorLookup=n=>{const r=getPathComponents(e);r.shift();let o=r.shift();if(!o)return t(n);if(startsWith(o,"@")){const e=r.shift();if(!e)return t(n);o=combinePaths(o,e)}if(s&&startsWith(o,"#"))return importsLookup(n);const a=combinePaths(n,"node_modules",o),c=combinePaths(a,"package.json");if(tryFileExists(i,c)){const t=readJson(c,i),n=r.join("/")+(r.length&&hasTrailingDirectorySeparator(e)?"/":"");return void exportsOrImportsLookup(t.exports,n,a,!0,!1)}return t(n)}}forEachAncestorDirectoryStoppingAtGlobalCache(i,t,ancestorLookup)}}return arrayFrom(u.values());function exportsOrImportsLookup(e,t,s,l,d){if("object"!=typeof e||null===e)return;const p=getOwnKeys(e),m=getConditions(c,n);addCompletionEntriesFromPathsOrExportsOrImports(u,l,d,t,s,a,r,i,o,p,t=>{const n=getPatternFromFirstMatchingCondition(e[t],m);if(void 0!==n)return singleElementArray(endsWith(t,"/")&&endsWith(n,"/")?n+"*":n)},comparePatternKeys)}}(o,c,a,n,r,u,m)}(e,t,n,r,i))}function getExtensionOptions(e,t,n,r,i,o){return{extensionsToSearch:flatten(getSupportedExtensionsForModuleResolution(e,r)),referenceKind:t,importingSourceFile:n,endingPreference:null==i?void 0:i.importModuleSpecifierEnding,resolutionMode:o}}function getSupportedExtensionsForModuleResolution(e,t){const n=t?mapDefined(t.getAmbientModules(),e=>{const t=e.name.slice(1,-1);if(t.startsWith("*.")&&!t.includes("/"))return t.slice(1)}):[],r=[...getSupportedExtensions(e),n];return moduleResolutionUsesNodeModules(qn(e))?getSupportedExtensionsWithJsonIfResolveJsonModule(e,r):r}function getCompletionEntriesForDirectoryFragment(e,t,n,r,i,o,a,s,c=createNameAndKindSet()){var l;void 0===e&&(e=""),hasTrailingDirectorySeparator(e=normalizeSlashes(e))||(e=getDirectoryPath(e)),""===e&&(e="."+Ft);const d=resolvePath(t,e=ensureTrailingDirectorySeparator(e)),p=hasTrailingDirectorySeparator(d)?d:getDirectoryPath(d);if(!a){const e=findPackageJson(p,i);if(e){const t=readJson(e,i).typesVersions;if("object"==typeof t){const a=null==(l=getPackageJsonTypesVersionsPaths(t))?void 0:l.paths;if(a){const t=getDirectoryPath(e);if(addCompletionEntriesFromPaths(c,d.slice(ensureTrailingDirectorySeparator(t).length),t,n,r,i,o,a))return c}}}}const u=!(i.useCaseSensitiveFileNames&&i.useCaseSensitiveFileNames());if(!tryDirectoryExists(i,p))return c;const m=tryReadDirectory(i,p,n.extensionsToSearch,void 0,["./*"]);if(m)for(let e of m){if(e=normalizePath(e),s&&0===comparePaths(e,s,t,u))continue;const{name:i,extension:o}=getFilenameWithExtensionOption(getBaseFileName(e),r,n,!1);c.add(nameAndKind(i,"script",o))}const _=tryGetDirectories(i,p);if(_)for(const e of _){const t=getBaseFileName(normalizePath(e));"@types"!==t&&c.add(directoryResult(t))}return c}function getFilenameWithExtensionOption(e,t,n,r){const i=Wo.tryGetRealFileNameForNonJsDeclarationFileName(e);if(i)return{name:i,extension:tryGetExtensionFromPath2(i)};if(0===n.referenceKind)return{name:e,extension:tryGetExtensionFromPath2(e)};let o=Wo.getModuleSpecifierPreferences({importModuleSpecifierEnding:n.endingPreference},t,t.getCompilerOptions(),n.importingSourceFile).getAllowedEndingsInPreferredOrder(n.resolutionMode);if(r&&(o=o.filter(e=>0!==e&&1!==e)),3===o[0]){if(fileExtensionIsOneOf(e,xr))return{name:e,extension:tryGetExtensionFromPath2(e)};const n=Wo.tryGetJSExtensionForFile(e,t.getCompilerOptions());return n?{name:changeExtension(e,n),extension:n}:{name:e,extension:tryGetExtensionFromPath2(e)}}if(!r&&(0===o[0]||1===o[0])&&fileExtensionIsOneOf(e,[".js",".jsx",".ts",".tsx",".d.ts"]))return{name:removeFileExtension(e),extension:tryGetExtensionFromPath2(e)};const a=Wo.tryGetJSExtensionForFile(e,t.getCompilerOptions());return a?{name:changeExtension(e,a),extension:a}:{name:e,extension:tryGetExtensionFromPath2(e)}}function addCompletionEntriesFromPaths(e,t,n,r,i,o,a,s){return addCompletionEntriesFromPathsOrExportsOrImports(e,!1,!1,t,n,r,i,o,a,getOwnKeys(s),e=>s[e],(e,t)=>{const n=tryParsePattern(e),r=tryParsePattern(t),i="object"==typeof n?n.prefix.length:e.length;return compareValues("object"==typeof r?r.prefix.length:t.length,i)})}function addCompletionEntriesFromPathsOrExportsOrImports(e,t,n,r,i,o,a,s,c,l,d,p){let u,m=[];for(const e of l){if("."===e)continue;const l=e.replace(/^\.\//,"")+((t||n)&&endsWith(e,"/")?"*":""),_=d(e);if(_){const e=tryParsePattern(l);if(!e)continue;const d="object"==typeof e&&isPatternMatch(e,r);d&&(void 0===u||-1===p(l,u))&&(u=l,m=m.filter(e=>!e.matchedPattern)),"string"!=typeof e&&void 0!==u&&1===p(l,u)||m.push({matchedPattern:d,results:getCompletionsForPathMapping(l,_,r,i,o,t,n,a,s,c).map(({name:e,kind:t,extension:n})=>nameAndKind(e,t,n))})}}return m.forEach(t=>t.results.forEach(t=>e.add(t))),void 0!==u}function getPatternFromFirstMatchingCondition(e,t){if("string"==typeof e)return e;if(e&&"object"==typeof e&&!isArray(e))for(const n in e)if("default"===n||t.includes(n)||isApplicableVersionedTypesKey(t,n)){return getPatternFromFirstMatchingCondition(e[n],t)}}function getFragmentDirectory(e){return containsSlash(e)?hasTrailingDirectorySeparator(e)?e:getDirectoryPath(e):void 0}function getCompletionsForPathMapping(e,t,n,r,i,o,a,s,c,d){const p=tryParsePattern(e);if(!p)return l;if("string"==typeof p)return justPathMappingName(e,"script");const u=tryRemovePrefix(n,p.prefix);if(void 0===u){return endsWith(e,"/*")?justPathMappingName(p.prefix,"directory"):flatMap(t,e=>{var t;return null==(t=getModulesForPathsPattern("",r,e,i,o,a,s,c,d))?void 0:t.map(({name:e,...t})=>({name:p.prefix+e+p.suffix,...t}))})}return flatMap(t,e=>getModulesForPathsPattern(u,r,e,i,o,a,s,c,d));function justPathMappingName(e,t){return startsWith(e,n)?[{name:removeTrailingDirectorySeparator(e),kind:t,extension:void 0}]:l}}function getModulesForPathsPattern(e,t,n,r,i,o,a,s,c){if(!s.readDirectory)return;const l=tryParsePattern(n);if(void 0===l||isString(l))return;const d=resolvePath(l.prefix),p=hasTrailingDirectorySeparator(l.prefix)?d:getDirectoryPath(d),u=hasTrailingDirectorySeparator(l.prefix)?"":getBaseFileName(d),m=containsSlash(e),_=m?hasTrailingDirectorySeparator(e)?e:getDirectoryPath(e):void 0,getCommonSourceDirectory2=()=>c.getCommonSourceDirectory(),f=!hostUsesCaseSensitiveFileNames(c),g=a.getCompilerOptions().outDir,y=a.getCompilerOptions().declarationDir,h=m?combinePaths(p,u+_):p,T=normalizePath(combinePaths(t,h)),S=o&&g&&getPossibleOriginalInputPathWithoutChangingExt(T,f,g,getCommonSourceDirectory2),x=o&&y&&getPossibleOriginalInputPathWithoutChangingExt(T,f,y,getCommonSourceDirectory2),v=normalizePath(l.suffix),b=v&&getDeclarationEmitExtensionForPath("_"+v),C=v?getPossibleOriginalInputExtensionForExtension("_"+v):void 0,E=[b&&changeExtension(v,b),...C?C.map(e=>changeExtension(v,e)):[],v].filter(isString),N=v?E.map(e=>"**/*"+e):["./*"],k=(i||o)&&endsWith(n,"/*");let F=getMatchesWithPrefix(T);return S&&(F=concatenate(F,getMatchesWithPrefix(S))),x&&(F=concatenate(F,getMatchesWithPrefix(x))),v||(F=concatenate(F,getDirectoryMatches(T)),S&&(F=concatenate(F,getDirectoryMatches(S))),x&&(F=concatenate(F,getDirectoryMatches(x)))),F;function getMatchesWithPrefix(e){const t=m?e:ensureTrailingDirectorySeparator(e)+u;return mapDefined(tryReadDirectory(s,e,r.extensionsToSearch,void 0,N),e=>{const n=function trimPrefixAndSuffix(e,t){return firstDefined(E,n=>{const r=function withoutStartAndEnd(e,t,n){return startsWith(e,t)&&endsWith(e,n)?e.slice(t.length,e.length-n.length):void 0}(normalizePath(e),t,n);return void 0===r?void 0:removeLeadingDirectorySeparator(r)})}(e,t);if(n){if(containsSlash(n))return directoryResult(getPathComponents(removeLeadingDirectorySeparator(n))[1]);const{name:e,extension:t}=getFilenameWithExtensionOption(n,a,r,k);return nameAndKind(e,"script",t)}})}function getDirectoryMatches(e){return mapDefined(tryGetDirectories(s,e),e=>"node_modules"===e?void 0:directoryResult(e))}}function removeLeadingDirectorySeparator(e){return e[0]===Ft?e.slice(1):e}function getCompletionEntriesFromTypings(e,t,n,r,i,o,a=createNameAndKindSet()){const s=e.getCompilerOptions(),c=new Map,d=tryAndIgnoreErrors(()=>getEffectiveTypeRoots(s,t))||l;for(const e of d)getCompletionEntriesFromDirectories(e);for(const e of findPackageJsons(r,t)){getCompletionEntriesFromDirectories(combinePaths(getDirectoryPath(e),"node_modules/@types"))}return a;function getCompletionEntriesFromDirectories(r){if(tryDirectoryExists(t,r))for(const l of tryGetDirectories(t,r)){const d=unmangleScopedPackageName(l);if(!s.types||contains(s.types,d))if(void 0===i)c.has(d)||(a.add(nameAndKind(d,"external module name",void 0)),c.set(d,!0));else{const s=combinePaths(r,l),c=tryRemoveDirectoryPrefix(i,d,hostGetCanonicalFileName(t));void 0!==c&&getCompletionEntriesForDirectoryFragment(c,s,o,e,t,n,!1,void 0,a)}}}}var Sm=/^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\x03"]*)$/,xm=["dependencies","devDependencies","peerDependencies","optionalDependencies"];function containsSlash(e){return e.includes(Ft)}var vm={};function createImportTracker(e,t,n,r){const i=function getDirectImportsMap(e,t,n){const r=new Map;for(const i of e)n&&n.throwIfCancellationRequested(),forEachImport(i,(e,n)=>{const i=t.getSymbolAtLocation(n);if(i){const t=getSymbolId(i).toString();let n=r.get(t);n||r.set(t,n=[]),n.push(e)}});return r}(e,n,r);return(o,a,s)=>{const{directImports:c,indirectUsers:l}=function getImportersForExport(e,t,n,{exportingModuleSymbol:r,exportKind:i},o,a){const s=nodeSeenTracker(),c=nodeSeenTracker(),l=[],d=!!r.globalExports,p=d?void 0:[];return handleDirectImports(r),{directImports:l,indirectUsers:getIndirectUsers()};function getIndirectUsers(){if(d)return e;if(r.declarations)for(const e of r.declarations)isExternalModuleAugmentation(e)&&t.has(e.getSourceFile().fileName)&&addIndirectUser(e);return p.map(getSourceFileOfNode)}function handleDirectImports(e){const t=getDirectImports(e);if(t)for(const e of t)if(s(e))switch(a&&a.throwIfCancellationRequested(),e.kind){case 214:if(isImportCall(e)){handleImportCall(e);break}if(!d){const t=e.parent;if(2===i&&261===t.kind){const{name:e}=t;if(80===e.kind){l.push(e);break}}}break;case 80:break;case 272:handleNamespaceImport(e,e.name,hasSyntacticModifier(e,32),!1);break;case 273:case 352:l.push(e);const t=e.importClause&&e.importClause.namedBindings;t&&275===t.kind?handleNamespaceImport(e,t.name,!1,!0):!d&&isDefaultImport(e)&&addIndirectUser(getSourceFileLikeForImportDeclaration(e));break;case 279:e.exportClause?281===e.exportClause.kind?addIndirectUser(getSourceFileLikeForImportDeclaration(e),!0):l.push(e):handleDirectImports(getContainingModuleSymbol(e,o));break;case 206:!d&&e.isTypeOf&&!e.qualifier&&isExported2(e)&&addIndirectUser(e.getSourceFile(),!0),l.push(e);break;default:h.failBadSyntaxKind(e,"Unexpected import kind.")}}function handleImportCall(e){addIndirectUser(findAncestor(e,isAmbientModuleDeclaration)||e.getSourceFile(),!!isExported2(e,!0))}function isExported2(e,t=!1){return findAncestor(e,e=>t&&isAmbientModuleDeclaration(e)?"quit":canHaveModifiers(e)&&some(e.modifiers,isExportModifier))}function handleNamespaceImport(e,t,n,r){if(2===i)r||l.push(e);else if(!d){const r=getSourceFileLikeForImportDeclaration(e);h.assert(308===r.kind||268===r.kind),n||function findNamespaceReExports(e,t,n){const r=n.getSymbolAtLocation(t);return!!forEachPossibleImportOrExportStatement(e,e=>{if(!isExportDeclaration(e))return;const{exportClause:t,moduleSpecifier:i}=e;return!i&&t&&isNamedExports(t)&&t.elements.some(e=>n.getExportSpecifierLocalTargetSymbol(e)===r)})}(r,t,o)?addIndirectUser(r,!0):addIndirectUser(r)}}function addIndirectUser(e,t=!1){h.assert(!d);if(!c(e))return;if(p.push(e),!t)return;const n=o.getMergedSymbol(e.symbol);if(!n)return;h.assert(!!(1536&n.flags));const r=getDirectImports(n);if(r)for(const e of r)isImportTypeNode(e)||addIndirectUser(getSourceFileLikeForImportDeclaration(e),!0)}function getDirectImports(e){return n.get(getSymbolId(e).toString())}}(e,t,i,a,n,r);return{indirectUsers:l,...getSearchesFromDirectImports(c,o,a.exportKind,n,s)}}}i(vm,{Core:()=>km,DefinitionKind:()=>Em,EntryKind:()=>Nm,ExportKind:()=>bm,FindReferencesUse:()=>Fm,ImportExport:()=>Cm,createImportTracker:()=>createImportTracker,findModuleReferences:()=>findModuleReferences,findReferenceOrRenameEntries:()=>findReferenceOrRenameEntries,findReferencedSymbols:()=>findReferencedSymbols,getContextNode:()=>getContextNode,getExportInfo:()=>getExportInfo,getImplementationsAtPosition:()=>getImplementationsAtPosition,getImportOrExportSymbol:()=>getImportOrExportSymbol,getReferenceEntriesForNode:()=>getReferenceEntriesForNode,isContextWithStartAndEndNode:()=>isContextWithStartAndEndNode,isDeclarationOfSymbol:()=>isDeclarationOfSymbol,isWriteAccessForReference:()=>isWriteAccessForReference,toContextSpan:()=>toContextSpan,toHighlightSpan:()=>toHighlightSpan,toReferenceEntry:()=>toReferenceEntry,toRenameLocation:()=>toRenameLocation});var bm=(e=>(e[e.Named=0]="Named",e[e.Default=1]="Default",e[e.ExportEquals=2]="ExportEquals",e))(bm||{}),Cm=(e=>(e[e.Import=0]="Import",e[e.Export=1]="Export",e))(Cm||{});function getSearchesFromDirectImports(e,t,n,r,i){const o=[],a=[];function addSearch(e,t){o.push([e,t])}if(e)for(const t of e)handleImport(t);return{importSearches:o,singleReferences:a};function handleImport(e){if(272===e.kind)return void(isExternalModuleImportEquals(e)&&handleNamespaceImportLike(e.name));if(80===e.kind)return void handleNamespaceImportLike(e);if(206===e.kind){if(e.qualifier){const n=getFirstIdentifier(e.qualifier);n.escapedText===symbolName(t)&&a.push(n)}else 2===n&&a.push(e.argument.literal);return}if(11!==e.moduleSpecifier.kind)return;if(279===e.kind)return void(e.exportClause&&isNamedExports(e.exportClause)&&searchForNamedImport(e.exportClause));const{name:o,namedBindings:s}=e.importClause||{name:void 0,namedBindings:void 0};if(s)switch(s.kind){case 275:handleNamespaceImportLike(s.name);break;case 276:0!==n&&1!==n||searchForNamedImport(s);break;default:h.assertNever(s)}if(o&&(1===n||2===n)&&(!i||o.escapedText===symbolEscapedNameNoDefault(t))){addSearch(o,r.getSymbolAtLocation(o))}}function handleNamespaceImportLike(e){2!==n||i&&!isNameMatch(e.escapedText)||addSearch(e,r.getSymbolAtLocation(e))}function searchForNamedImport(e){if(e)for(const n of e.elements){const{name:e,propertyName:o}=n;if(isNameMatch(moduleExportNameTextEscaped(o||e)))if(o)a.push(o),i&&moduleExportNameTextEscaped(e)!==t.escapedName||addSearch(e,r.getSymbolAtLocation(e));else{addSearch(e,282===n.kind&&n.propertyName?r.getExportSpecifierLocalTargetSymbol(n):r.getSymbolAtLocation(e))}}}function isNameMatch(e){return e===t.escapedName||0!==n&&"default"===e}}function findModuleReferences(e,t,n){var r;const i=[],o=e.getTypeChecker();for(const a of t){const t=n.valueDeclaration;if(308===(null==t?void 0:t.kind)){for(const n of a.referencedFiles)e.getSourceFileFromReference(a,n)===t&&i.push({kind:"reference",referencingFile:a,ref:n});for(const n of a.typeReferenceDirectives){const o=null==(r=e.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(n,a))?void 0:r.resolvedTypeReferenceDirective;void 0!==o&&o.resolvedFileName===t.fileName&&i.push({kind:"reference",referencingFile:a,ref:n})}}forEachImport(a,(e,t)=>{o.getSymbolAtLocation(t)===n&&i.push(nodeIsSynthesized(e)?{kind:"implicit",literal:t,referencingFile:a}:{kind:"import",literal:t})})}return i}function forEachPossibleImportOrExportStatement(e,t){return forEach(308===e.kind?e.statements:e.body.statements,e=>t(e)||isAmbientModuleDeclaration(e)&&forEach(e.body&&e.body.statements,t))}function forEachImport(e,t){if(e.externalModuleIndicator||void 0!==e.imports)for(const n of e.imports)t(importFromModuleSpecifier(n),n);else forEachPossibleImportOrExportStatement(e,e=>{switch(e.kind){case 279:case 273:{const n=e;n.moduleSpecifier&&isStringLiteral(n.moduleSpecifier)&&t(n,n.moduleSpecifier);break}case 272:{const n=e;isExternalModuleImportEquals(n)&&t(n,n.moduleReference.expression);break}}})}function getImportOrExportSymbol(e,t,n,r){return r?getExport():getExport()||function getImport(){if(!function isNodeImport(e){const{parent:t}=e;switch(t.kind){case 272:return t.name===e&&isExternalModuleImportEquals(t);case 277:return!t.propertyName;case 274:case 275:return h.assert(t.name===e),!0;case 209:return isInJSFile(e)&&isVariableDeclarationInitializedToBareOrAccessedRequire(t.parent.parent);default:return!1}}(e))return;let r=n.getImmediateAliasedSymbol(t);if(!r)return;if(r=function skipExportSpecifierSymbol(e,t){if(e.declarations)for(const n of e.declarations){if(isExportSpecifier(n)&&!n.propertyName&&!n.parent.parent.moduleSpecifier)return t.getExportSpecifierLocalTargetSymbol(n)||e;if(isPropertyAccessExpression(n)&&isModuleExportsAccessExpression(n.expression)&&!isPrivateIdentifier(n.name))return t.getSymbolAtLocation(n);if(isShorthandPropertyAssignment(n)&&isBinaryExpression(n.parent.parent)&&2===getAssignmentDeclarationKind(n.parent.parent))return t.getExportSpecifierLocalTargetSymbol(n.name)}return e}(r,n),"export="===r.escapedName&&(r=function getExportEqualsLocalSymbol(e,t){var n,r;if(2097152&e.flags)return t.getImmediateAliasedSymbol(e);const i=h.checkDefined(e.valueDeclaration);if(isExportAssignment(i))return null==(n=tryCast(i.expression,canHaveSymbol))?void 0:n.symbol;if(isBinaryExpression(i))return null==(r=tryCast(i.right,canHaveSymbol))?void 0:r.symbol;if(isSourceFile(i))return i.symbol;return}(r,n),void 0===r))return;const i=symbolEscapedNameNoDefault(r);if(void 0===i||"default"===i||i===t.escapedName)return{kind:0,symbol:r}}();function getExport(){var i;const{parent:o}=e,a=o.parent;if(t.exportSymbol)return 212===o.kind?(null==(i=t.declarations)?void 0:i.some(e=>e===o))&&isBinaryExpression(a)?getSpecialPropertyExport(a,!1):void 0:exportInfo(t.exportSymbol,getExportKindForDeclaration(o));{const i=function getExportNode(e,t){const n=isVariableDeclaration(e)?e:isBindingElement(e)?walkUpBindingElementsAndPatterns(e):void 0;return n?e.name!==t||isCatchClause(n.parent)?void 0:isVariableStatement(n.parent.parent)?n.parent.parent:void 0:e}(o,e);if(i&&hasSyntacticModifier(i,32)){if(isImportEqualsDeclaration(i)&&i.moduleReference===e){if(r)return;return{kind:0,symbol:n.getSymbolAtLocation(i.name)}}return exportInfo(t,getExportKindForDeclaration(i))}if(isNamespaceExport(o))return exportInfo(t,0);if(isExportAssignment(o))return getExportAssignmentExport(o);if(isExportAssignment(a))return getExportAssignmentExport(a);if(isBinaryExpression(o))return getSpecialPropertyExport(o,!0);if(isBinaryExpression(a))return getSpecialPropertyExport(a,!0);if(isJSDocTypedefTag(o)||isJSDocCallbackTag(o))return exportInfo(t,0)}function getExportAssignmentExport(e){if(!e.symbol.parent)return;const n=e.isExportEquals?2:1;return{kind:1,symbol:t,exportInfo:{exportingModuleSymbol:e.symbol.parent,exportKind:n}}}function getSpecialPropertyExport(e,r){let i;switch(getAssignmentDeclarationKind(e)){case 1:i=0;break;case 2:i=2;break;default:return}const o=r?n.getSymbolAtLocation(getNameOfAccessExpression(cast(e.left,isAccessExpression))):t;return o&&exportInfo(o,i)}}function exportInfo(e,t){const r=getExportInfo(e,t,n);return r&&{kind:1,symbol:e,exportInfo:r}}function getExportKindForDeclaration(e){return hasSyntacticModifier(e,2048)?1:0}}function getExportInfo(e,t,n){const r=e.parent;if(!r)return;const i=n.getMergedSymbol(r);return isExternalModuleSymbol(i)?{exportingModuleSymbol:i,exportKind:t}:void 0}function getContainingModuleSymbol(e,t){return t.getMergedSymbol(getSourceFileLikeForImportDeclaration(e).symbol)}function getSourceFileLikeForImportDeclaration(e){if(214===e.kind||352===e.kind)return e.getSourceFile();const{parent:t}=e;return 308===t.kind?t:(h.assert(269===t.kind),cast(t.parent,isAmbientModuleDeclaration))}function isAmbientModuleDeclaration(e){return 268===e.kind&&11===e.name.kind}function isExternalModuleImportEquals(e){return 284===e.moduleReference.kind&&11===e.moduleReference.expression.kind}var Em=(e=>(e[e.Symbol=0]="Symbol",e[e.Label=1]="Label",e[e.Keyword=2]="Keyword",e[e.This=3]="This",e[e.String=4]="String",e[e.TripleSlashReference=5]="TripleSlashReference",e))(Em||{}),Nm=(e=>(e[e.Span=0]="Span",e[e.Node=1]="Node",e[e.StringLiteral=2]="StringLiteral",e[e.SearchedLocalFoundProperty=3]="SearchedLocalFoundProperty",e[e.SearchedPropertyFoundLocal=4]="SearchedPropertyFoundLocal",e))(Nm||{});function nodeEntry(e,t=1){return{kind:t,node:e.name||e,context:getContextNodeForNodeEntry(e)}}function isContextWithStartAndEndNode(e){return e&&void 0===e.kind}function getContextNodeForNodeEntry(e){if(isDeclaration(e))return getContextNode(e);if(e.parent){if(!isDeclaration(e.parent)&&!isExportAssignment(e.parent)){if(isInJSFile(e)){const t=isBinaryExpression(e.parent)?e.parent:isAccessExpression(e.parent)&&isBinaryExpression(e.parent.parent)&&e.parent.parent.left===e.parent?e.parent.parent:void 0;if(t&&0!==getAssignmentDeclarationKind(t))return getContextNode(t)}if(isJsxOpeningElement(e.parent)||isJsxClosingElement(e.parent))return e.parent.parent;if(isJsxSelfClosingElement(e.parent)||isLabeledStatement(e.parent)||isBreakOrContinueStatement(e.parent))return e.parent;if(isStringLiteralLike(e)){const t=tryGetImportFromModuleSpecifier(e);if(t){const e=findAncestor(t,e=>isDeclaration(e)||isStatement(e)||isJSDocTag(e));return isDeclaration(e)?getContextNode(e):e}}const t=findAncestor(e,isComputedPropertyName);return t?getContextNode(t.parent):void 0}return e.parent.name===e||isConstructorDeclaration(e.parent)||isExportAssignment(e.parent)||(isImportOrExportSpecifier(e.parent)||isBindingElement(e.parent))&&e.parent.propertyName===e||90===e.kind&&hasSyntacticModifier(e.parent,2080)?getContextNode(e.parent):void 0}}function getContextNode(e){if(e)switch(e.kind){case 261:return isVariableDeclarationList(e.parent)&&1===e.parent.declarations.length?isVariableStatement(e.parent.parent)?e.parent.parent:isForInOrOfStatement(e.parent.parent)?getContextNode(e.parent.parent):e.parent:e;case 209:return getContextNode(e.parent.parent);case 277:return e.parent.parent.parent;case 282:case 275:return e.parent.parent;case 274:case 281:return e.parent;case 227:return isExpressionStatement(e.parent)?e.parent:e;case 251:case 250:return{start:e.initializer,end:e.expression};case 304:case 305:return isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent)?getContextNode(findAncestor(e.parent,e=>isBinaryExpression(e)||isForInOrOfStatement(e))):e;case 256:return{start:find(e.getChildren(e.getSourceFile()),e=>109===e.kind),end:e.caseBlock};default:return e}}function toContextSpan(e,t,n){if(!n)return;const r=isContextWithStartAndEndNode(n)?getTextSpan(n.start,t,n.end):getTextSpan(n,t);return r.start!==e.start||r.length!==e.length?{contextSpan:r}:void 0}var km,Fm=(e=>(e[e.Other=0]="Other",e[e.References=1]="References",e[e.Rename=2]="Rename",e))(Fm||{});function findReferencedSymbols(e,t,n,r,i){const o=getTouchingPropertyName(r,i),a={use:1},s=km.getReferencedSymbolsForNode(i,o,e,n,t,a),c=e.getTypeChecker(),l=km.getAdjustedNode(o,a),d=function isDefinitionForReference(e){return 90===e.kind||!!getDeclarationFromName(e)||isLiteralComputedPropertyDeclarationName(e)||137===e.kind&&isConstructorDeclaration(e.parent)}(l)?c.getSymbolAtLocation(l):void 0;return s&&s.length?mapDefined(s,({definition:e,references:n})=>e&&{definition:c.runWithCancellationToken(t,t=>function definitionToReferencedSymbolDefinitionInfo(e,t,n){const r=(()=>{switch(e.type){case 0:{const{symbol:r}=e,{displayParts:i,kind:o}=getDefinitionKindAndDisplayParts(r,t,n),a=i.map(e=>e.text).join(""),s=r.declarations&&firstOrUndefined(r.declarations);return{...getFileAndTextSpanFromNode(s?getNameOfDeclaration(s)||s:n),name:a,kind:o,displayParts:i,context:getContextNode(s)}}case 1:{const{node:t}=e;return{...getFileAndTextSpanFromNode(t),name:t.text,kind:"label",displayParts:[displayPart(t.text,17)]}}case 2:{const{node:t}=e,n=tokenToString(t.kind);return{...getFileAndTextSpanFromNode(t),name:n,kind:"keyword",displayParts:[{text:n,kind:"keyword"}]}}case 3:{const{node:n}=e,r=t.getSymbolAtLocation(n),i=r&&Km.getSymbolDisplayPartsDocumentationAndSymbolKind(t,r,n.getSourceFile(),getContainerNode(n),n).displayParts||[textPart("this")];return{...getFileAndTextSpanFromNode(n),name:"this",kind:"var",displayParts:i}}case 4:{const{node:t}=e;return{...getFileAndTextSpanFromNode(t),name:t.text,kind:"var",displayParts:[displayPart(getTextOfNode(t),8)]}}case 5:return{textSpan:createTextSpanFromRange(e.reference),sourceFile:e.file,name:e.reference.fileName,kind:"string",displayParts:[displayPart(`"${e.reference.fileName}"`,8)]};default:return h.assertNever(e)}})(),{sourceFile:i,textSpan:o,name:a,kind:s,displayParts:c,context:l}=r;return{containerKind:"",containerName:"",fileName:i.fileName,kind:s,name:a,textSpan:o,displayParts:c,...toContextSpan(o,i,l)}}(e,t,o)),references:n.map(e=>function toReferencedSymbolEntry(e,t){const n=toReferenceEntry(e);return t?{...n,isDefinition:0!==e.kind&&isDeclarationOfSymbol(e.node,t)}:n}(e,d))}):void 0}function getImplementationsAtPosition(e,t,n,r,i){const o=getTouchingPropertyName(r,i);let a;const s=getImplementationReferenceEntries(e,t,n,o,i);if(212===o.parent.kind||209===o.parent.kind||213===o.parent.kind||108===o.kind)a=s&&[...s];else if(s){const r=createQueue(s),i=new Set;for(;!r.isEmpty();){const o=r.dequeue();if(!addToSeen(i,getNodeId(o.node)))continue;a=append(a,o);const s=getImplementationReferenceEntries(e,t,n,o.node,o.node.pos);s&&r.enqueue(...s)}}const c=e.getTypeChecker();return map(a,e=>function toImplementationLocation(e,t){const n=entryToDocumentSpan(e);if(0!==e.kind){const{node:r}=e;return{...n,...implementationKindDisplayParts(r,t)}}return{...n,kind:"",displayParts:[]}}(e,c))}function getImplementationReferenceEntries(e,t,n,r,i){if(308===r.kind)return;const o=e.getTypeChecker();if(305===r.parent.kind){const e=[];return km.getReferenceEntriesForShorthandPropertyAssignment(r,o,t=>e.push(nodeEntry(t))),e}if(108===r.kind||isSuperProperty(r.parent)){const e=o.getSymbolAtLocation(r);return e.valueDeclaration&&[nodeEntry(e.valueDeclaration)]}return getReferenceEntriesForNode(i,r,e,n,t,{implementations:!0,use:1})}function findReferenceOrRenameEntries(e,t,n,r,i,o,a){return map(flattenEntries(km.getReferencedSymbolsForNode(i,r,e,n,t,o)),t=>a(t,r,e.getTypeChecker()))}function getReferenceEntriesForNode(e,t,n,r,i,o={},a=new Set(r.map(e=>e.fileName))){return flattenEntries(km.getReferencedSymbolsForNode(e,t,n,r,i,o,a))}function flattenEntries(e){return e&&flatMap(e,e=>e.references)}function getFileAndTextSpanFromNode(e){const t=e.getSourceFile();return{sourceFile:t,textSpan:getTextSpan(isComputedPropertyName(e)?e.expression:e,t)}}function getDefinitionKindAndDisplayParts(e,t,n){const r=km.getIntersectingMeaningFromDeclarations(n,e),i=e.declarations&&firstOrUndefined(e.declarations)||n,{displayParts:o,symbolKind:a}=Km.getSymbolDisplayPartsDocumentationAndSymbolKind(t,e,i.getSourceFile(),i,i,r);return{displayParts:o,kind:a}}function toRenameLocation(e,t,n,r,i){return{...entryToDocumentSpan(e),...r&&getPrefixAndSuffixText(e,t,n,i)}}function toReferenceEntry(e){const t=entryToDocumentSpan(e);if(0===e.kind)return{...t,isWriteAccess:!1};const{kind:n,node:r}=e;return{...t,isWriteAccess:isWriteAccessForReference(r),isInString:2===n||void 0}}function entryToDocumentSpan(e){if(0===e.kind)return{textSpan:e.textSpan,fileName:e.fileName};{const t=e.node.getSourceFile(),n=getTextSpan(e.node,t);return{textSpan:n,fileName:t.fileName,...toContextSpan(n,t,e.context)}}}function getPrefixAndSuffixText(e,t,n,r){if(0!==e.kind&&(isIdentifier(t)||isStringLiteralLike(t))){const{node:r,kind:i}=e,o=r.parent,a=t.text,s=isShorthandPropertyAssignment(o);if(s||isObjectBindingElementWithoutPropertyName(o)&&o.name===r&&void 0===o.dotDotDotToken){const e={prefixText:a+": "},t={suffixText:": "+a};if(3===i)return e;if(4===i)return t;if(s){const n=o.parent;return isObjectLiteralExpression(n)&&isBinaryExpression(n.parent)&&isModuleExportsAccessExpression(n.parent.left)?e:t}return e}if(isImportSpecifier(o)&&!o.propertyName){return contains((isExportSpecifier(t.parent)?n.getExportSpecifierLocalTargetSymbol(t.parent):n.getSymbolAtLocation(t)).declarations,o)?{prefixText:a+" as "}:Es}if(isExportSpecifier(o)&&!o.propertyName)return t===e.node||n.getSymbolAtLocation(t)===n.getSymbolAtLocation(e.node)?{prefixText:a+" as "}:{suffixText:" as "+a}}if(0!==e.kind&&isNumericLiteral(e.node)&&isAccessExpression(e.node.parent)){const e=getQuoteFromPreference(r);return{prefixText:e,suffixText:e}}return Es}function implementationKindDisplayParts(e,t){const n=t.getSymbolAtLocation(isDeclaration(e)&&e.name?e.name:e);return n?getDefinitionKindAndDisplayParts(n,t,e):211===e.kind?{kind:"interface",displayParts:[punctuationPart(21),textPart("object literal"),punctuationPart(22)]}:232===e.kind?{kind:"local class",displayParts:[punctuationPart(21),textPart("anonymous local class"),punctuationPart(22)]}:{kind:getNodeKind(e),displayParts:[]}}function toHighlightSpan(e){const t=entryToDocumentSpan(e);if(0===e.kind)return{fileName:t.fileName,span:{textSpan:t.textSpan,kind:"reference"}};const n=isWriteAccessForReference(e.node),r={textSpan:t.textSpan,kind:n?"writtenReference":"reference",isInString:2===e.kind||void 0,...t.contextSpan&&{contextSpan:t.contextSpan}};return{fileName:t.fileName,span:r}}function getTextSpan(e,t,n){let r=e.getStart(t),i=(n||e).getEnd();return isStringLiteralLike(e)&&i-r>2&&(h.assert(void 0===n),r+=1,i-=1),270===(null==n?void 0:n.kind)&&(i=n.getFullStart()),createTextSpanFromBounds(r,i)}function getTextSpanOfEntry(e){return 0===e.kind?e.textSpan:getTextSpan(e.node,e.node.getSourceFile())}function isWriteAccessForReference(e){const t=getDeclarationFromName(e);return!!t&&function declarationIsWriteAccess(e){if(33554432&e.flags)return!0;switch(e.kind){case 227:case 209:case 264:case 232:case 90:case 267:case 307:case 282:case 274:case 272:case 277:case 265:case 339:case 347:case 292:case 268:case 271:case 275:case 281:case 170:case 305:case 266:case 169:return!0;case 304:return!isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent);case 263:case 219:case 177:case 175:case 178:case 179:return!!e.body;case 261:case 173:return!!e.initializer||isCatchClause(e.parent);case 174:case 172:case 349:case 342:return!1;default:return h.failBadSyntaxKind(e)}}(t)||90===e.kind||isWriteAccess(e)}function isDeclarationOfSymbol(e,t){var n;if(!t)return!1;const r=getDeclarationFromName(e)||(90===e.kind?e.parent:isLiteralComputedPropertyDeclarationName(e)||137===e.kind&&isConstructorDeclaration(e.parent)?e.parent.parent:void 0),i=r&&isBinaryExpression(r)?r.left:void 0;return!(!r||!(null==(n=t.declarations)?void 0:n.some(e=>e===r||e===i)))}(e=>{function getAdjustedNode2(e,t){return 1===t.use?e=getAdjustedReferenceLocation(e):2===t.use&&(e=getAdjustedRenameLocation(e)),e}function getReferencesForNonModule(e,t,n){let r;const i=t.get(e.path)||l;for(const e of i)if(isReferencedFile(e)){const t=n.getSourceFileByPath(e.file),i=getReferencedFileLocation(n,e);isReferenceFileLocation(i)&&(r=append(r,{kind:0,fileName:t.fileName,textSpan:createTextSpanFromRange(i)}))}return r}function getMergedAliasedSymbolOfNamespaceExportDeclaration(e,t,n){if(e.parent&&isNamespaceExportDeclaration(e.parent)){const e=n.getAliasedSymbol(t),r=n.getMergedSymbol(e);if(e!==r)return r}}function getReferencedSymbolsForModuleIfDeclaredBySourceFile(e,t,n,r,i,o){const a=1536&e.flags&&e.declarations&&find(e.declarations,isSourceFile);if(!a)return;const s=e.exports.get("export="),c=getReferencedSymbolsForModule(t,e,!!s,n,o);if(!s||!o.has(a.fileName))return c;const l=t.getTypeChecker();return mergeReferences(t,c,getReferencedSymbolsForSymbol(e=skipAlias(s,l),void 0,n,o,l,r,i))}function mergeReferences(e,...t){let n;for(const r of t)if(r&&r.length)if(n)for(const t of r){if(!t.definition||0!==t.definition.type){n.push(t);continue}const r=t.definition.symbol,i=findIndex(n,e=>!!e.definition&&0===e.definition.type&&e.definition.symbol===r);if(-1===i){n.push(t);continue}const o=n[i];n[i]={definition:o.definition,references:o.references.concat(t.references).sort((t,n)=>{const r=getSourceFileIndexOfEntry(e,t),i=getSourceFileIndexOfEntry(e,n);if(r!==i)return compareValues(r,i);const o=getTextSpanOfEntry(t),a=getTextSpanOfEntry(n);return o.start!==a.start?compareValues(o.start,a.start):compareValues(o.length,a.length)})}}else n=r;return n}function getSourceFileIndexOfEntry(e,t){const n=0===t.kind?e.getSourceFile(t.fileName):t.node.getSourceFile();return e.getSourceFiles().indexOf(n)}function getReferencedSymbolsForModule(e,t,n,r,i){h.assert(!!t.valueDeclaration);const o=mapDefined(findModuleReferences(e,r,t),e=>{if("import"===e.kind){const t=e.literal.parent;if(isLiteralTypeNode(t)){const e=cast(t.parent,isImportTypeNode);if(n&&!e.qualifier)return}return nodeEntry(e.literal)}if("implicit"===e.kind){return nodeEntry(e.literal.text!==sn&&forEachChildRecursively(e.referencingFile,e=>2&e.transformFlags?isJsxElement(e)||isJsxSelfClosingElement(e)||isJsxFragment(e)?e:void 0:"skip")||e.referencingFile.statements[0]||e.referencingFile)}return{kind:0,fileName:e.referencingFile.fileName,textSpan:createTextSpanFromRange(e.ref)}});if(t.declarations)for(const e of t.declarations)switch(e.kind){case 308:break;case 268:i.has(e.getSourceFile().fileName)&&o.push(nodeEntry(e.name));break;default:h.assert(!!(33554432&t.flags),"Expected a module symbol to be declared by a SourceFile or ModuleDeclaration.")}const a=t.exports.get("export=");if(null==a?void 0:a.declarations)for(const e of a.declarations){const t=e.getSourceFile();if(i.has(t.fileName)){const n=isBinaryExpression(e)&&isPropertyAccessExpression(e.left)?e.left.expression:isExportAssignment(e)?h.checkDefined(findChildOfKind(e,95,t)):getNameOfDeclaration(e)||e;o.push(nodeEntry(n))}}return o.length?[{definition:{type:0,symbol:t},references:o}]:l}function isReadonlyTypeOperator(e){return 148===e.kind&&isTypeOperatorNode(e.parent)&&148===e.parent.operator}function getReferencedSymbolsForSymbol(e,t,n,r,i,o,a){const s=t&&function skipPastExportOrImportSpecifierOrUnion(e,t,n,r){const{parent:i}=t;if(isExportSpecifier(i)&&r)return getLocalSymbolForExportSpecifier(t,e,i,n);return firstDefined(e.declarations,r=>{if(!r.parent){if(33554432&e.flags)return;h.fail(`Unexpected symbol at ${h.formatSyntaxKind(t.kind)}: ${h.formatSymbol(e)}`)}return isTypeLiteralNode(r.parent)&&isUnionTypeNode(r.parent.parent)?n.getPropertyOfType(n.getTypeFromTypeNode(r.parent.parent),e.name):void 0})}(e,t,i,!isForRenameWithPrefixAndSuffixText(a))||e,c=t&&2!==a.use?getIntersectingMeaningFromDeclarations(t,s):7,l=[],d=new State(n,r,t?function getSpecialSearchKind(e){switch(e.kind){case 177:case 137:return 1;case 80:if(isClassLike(e.parent))return h.assert(e.parent.name===e),2;default:return 0}}(t):0,i,o,c,a,l),p=isForRenameWithPrefixAndSuffixText(a)&&s.declarations?find(s.declarations,isExportSpecifier):void 0;if(p)getReferencesAtExportSpecifier(p.name,s,p,d.createSearch(t,e,void 0),d,!0,!0);else if(t&&90===t.kind&&"default"===s.escapedName&&s.parent)addReference(t,s,d),searchForImportsOfExport(t,s,{exportingModuleSymbol:s.parent,exportKind:1},d);else{const e=d.createSearch(t,s,void 0,{allSearchSymbols:t?populateSearchSymbolSet(s,t,i,2===a.use,!!a.providePrefixAndSuffixTextForRename,!!a.implementations):[s]});getReferencesInContainerOrFiles(s,d,e)}return l}function getReferencesInContainerOrFiles(e,t,n){const r=function getSymbolScope(e){const{declarations:t,flags:n,parent:r,valueDeclaration:i}=e;if(i&&(219===i.kind||232===i.kind))return i;if(!t)return;if(8196&n){const e=find(t,e=>hasEffectiveModifier(e,2)||isPrivateIdentifierClassElementDeclaration(e));return e?getAncestor(e,264):void 0}if(t.some(isObjectBindingElementWithoutPropertyName))return;const o=r&&!(262144&e.flags);if(o&&(!isExternalModuleSymbol(r)||r.globalExports))return;let a;for(const e of t){const t=getContainerNode(e);if(a&&a!==t)return;if(!t||308===t.kind&&!isExternalOrCommonJsModule(t))return;if(a=t,isFunctionExpression(a)){let e;for(;e=getNextJSDocCommentLocation(a);)a=e}}return o?a.getSourceFile():a}(e);if(r)getReferencesInContainer(r,r.getSourceFile(),n,t,!(isSourceFile(r)&&!contains(t.sourceFiles,r)));else for(const e of t.sourceFiles)t.cancellationToken.throwIfCancellationRequested(),searchForName(e,n,t)}let t;var n;function getNonModuleSymbolOfMergedModuleSymbol(e){if(!(33555968&e.flags))return;const t=e.declarations&&find(e.declarations,e=>!isSourceFile(e)&&!isModuleDeclaration(e));return t&&t.symbol}e.getReferencedSymbolsForNode=function getReferencedSymbolsForNode(e,t,n,r,i,o={},a=new Set(r.map(e=>e.fileName))){var s,c;if(isSourceFile(t=getAdjustedNode2(t,o))){const i=Pm.getReferenceAtPosition(t,e,n);if(!(null==i?void 0:i.file))return;const o=n.getTypeChecker().getMergedSymbol(i.file.symbol);if(o)return getReferencedSymbolsForModule(n,o,!1,r,a);const s=n.getFileIncludeReasons();if(!s)return;return[{definition:{type:5,reference:i.reference,file:t},references:getReferencesForNonModule(i.file,s,n)||l}]}if(!o.implementations){const e=function getReferencedSymbolsSpecial(e,t,n){if(isTypeKeyword(e.kind)){if(116===e.kind&&isVoidExpression(e.parent))return;if(148===e.kind&&!isReadonlyTypeOperator(e))return;return function getAllReferencesForKeyword(e,t,n,r){const i=flatMap(e,e=>(n.throwIfCancellationRequested(),mapDefined(getPossibleSymbolReferenceNodes(e,tokenToString(t),e),e=>{if(e.kind===t&&(!r||r(e)))return nodeEntry(e)})));return i.length?[{definition:{type:2,node:i[0].node},references:i}]:void 0}(t,e.kind,n,148===e.kind?isReadonlyTypeOperator:void 0)}if(isImportMeta(e.parent)&&e.parent.name===e)return function getAllReferencesForImportMeta(e,t){const n=flatMap(e,e=>(t.throwIfCancellationRequested(),mapDefined(getPossibleSymbolReferenceNodes(e,"meta",e),e=>{const t=e.parent;if(isImportMeta(t))return nodeEntry(t)})));return n.length?[{definition:{type:2,node:n[0].node},references:n}]:void 0}(t,n);if(isStaticModifier(e)&&isClassStaticBlockDeclaration(e.parent))return[{definition:{type:2,node:e},references:[nodeEntry(e)]}];if(isJumpStatementTarget(e)){const t=getTargetLabel(e.parent,e.text);return t&&getLabelReferencesInNode(t.parent,t)}if(isLabelOfLabeledStatement(e))return getLabelReferencesInNode(e.parent,e);if(isThis(e))return function getReferencesForThisKeyword(e,t,n){let r=getThisContainer(e,!1,!1),i=256;switch(r.kind){case 175:case 174:if(isObjectLiteralMethod(r)){i&=getSyntacticModifierFlags(r),r=r.parent;break}case 173:case 172:case 177:case 178:case 179:i&=getSyntacticModifierFlags(r),r=r.parent;break;case 308:if(isExternalModule(r)||isParameterName(e))return;case 263:case 219:break;default:return}const o=flatMap(308===r.kind?t:[r.getSourceFile()],e=>(n.throwIfCancellationRequested(),getPossibleSymbolReferenceNodes(e,"this",isSourceFile(r)?e:r).filter(e=>{if(!isThis(e))return!1;const t=getThisContainer(e,!1,!1);if(!canHaveSymbol(t))return!1;switch(r.kind){case 219:case 263:return r.symbol===t.symbol;case 175:case 174:return isObjectLiteralMethod(r)&&r.symbol===t.symbol;case 232:case 264:case 211:return t.parent&&canHaveSymbol(t.parent)&&r.symbol===t.parent.symbol&&isStatic(t)===!!i;case 308:return 308===t.kind&&!isExternalModule(t)&&!isParameterName(e)}}))).map(e=>nodeEntry(e)),a=firstDefined(o,e=>isParameter(e.node.parent)?e.node:void 0);return[{definition:{type:3,node:a||e},references:o}]}(e,t,n);if(108===e.kind)return function getReferencesForSuperKeyword(e){let t=getSuperContainer(e,!1);if(!t)return;let n=256;switch(t.kind){case 173:case 172:case 175:case 174:case 177:case 178:case 179:n&=getSyntacticModifierFlags(t),t=t.parent;break;default:return}const r=mapDefined(getPossibleSymbolReferenceNodes(t.getSourceFile(),"super",t),e=>{if(108!==e.kind)return;const r=getSuperContainer(e,!1);return r&&isStatic(r)===!!n&&r.parent.symbol===t.symbol?nodeEntry(e):void 0});return[{definition:{type:0,symbol:t.symbol},references:r}]}(e);return}(t,r,i);if(e)return e}const d=n.getTypeChecker(),p=d.getSymbolAtLocation(isConstructorDeclaration(t)&&t.parent.name||t);if(!p){if(!o.implementations&&isStringLiteralLike(t)){if(isModuleSpecifierLike(t)){const e=n.getFileIncludeReasons(),r=null==(c=null==(s=n.getResolvedModuleFromModuleSpecifier(t))?void 0:s.resolvedModule)?void 0:c.resolvedFileName,i=r?n.getSourceFile(r):void 0;if(i)return[{definition:{type:4,node:t},references:getReferencesForNonModule(i,e,n)||l}]}return function getReferencesForStringLiteral(e,t,n,r){const i=getContextualTypeFromParentOrAncestorTypeNode(e,n),o=flatMap(t,t=>(r.throwIfCancellationRequested(),mapDefined(getPossibleSymbolReferenceNodes(t,e.text),r=>{if(isStringLiteralLike(r)&&r.text===e.text){if(!i)return isNoSubstitutionTemplateLiteral(r)&&!rangeIsOnSingleLine(r,t)?void 0:nodeEntry(r,2);{const e=getContextualTypeFromParentOrAncestorTypeNode(r,n);if(i!==n.getStringType()&&(i===e||function isStringLiteralPropertyReference(e,t){if(isPropertySignature(e.parent))return t.getPropertyOfType(t.getTypeAtLocation(e.parent.parent),e.text)}(r,n)))return nodeEntry(r,2)}}})));return[{definition:{type:4,node:e},references:o}]}(t,r,d,i)}return}if("export="===p.escapedName)return getReferencedSymbolsForModule(n,p.parent,!1,r,a);const u=getReferencedSymbolsForModuleIfDeclaredBySourceFile(p,n,r,i,o,a);if(u&&!(33554432&p.flags))return u;const m=getMergedAliasedSymbolOfNamespaceExportDeclaration(t,p,d),_=m&&getReferencedSymbolsForModuleIfDeclaredBySourceFile(m,n,r,i,o,a);return mergeReferences(n,u,getReferencedSymbolsForSymbol(p,t,r,a,d,i,o),_)},e.getAdjustedNode=getAdjustedNode2,e.getReferencesForFileName=function getReferencesForFileName(e,t,n,r=new Set(n.map(e=>e.fileName))){var i,o;const a=null==(i=t.getSourceFile(e))?void 0:i.symbol;if(a)return(null==(o=getReferencedSymbolsForModule(t,a,!1,n,r)[0])?void 0:o.references)||l;const s=t.getFileIncludeReasons(),c=t.getSourceFile(e);return c&&s&&getReferencesForNonModule(c,s,t)||l},(n=t||(t={}))[n.None=0]="None",n[n.Constructor=1]="Constructor",n[n.Class=2]="Class";class State{constructor(e,t,n,r,i,o,a,s){this.sourceFiles=e,this.sourceFilesSet=t,this.specialSearchKind=n,this.checker=r,this.cancellationToken=i,this.searchMeaning=o,this.options=a,this.result=s,this.inheritsFromCache=new Map,this.markSeenContainingTypeReference=nodeSeenTracker(),this.markSeenReExportRHS=nodeSeenTracker(),this.symbolIdToReferences=[],this.sourceFileToSeenSymbols=[]}includesSourceFile(e){return this.sourceFilesSet.has(e.fileName)}getImportSearches(e,t){return this.importTracker||(this.importTracker=createImportTracker(this.sourceFiles,this.sourceFilesSet,this.checker,this.cancellationToken)),this.importTracker(e,t,2===this.options.use)}createSearch(e,t,n,r={}){const{text:i=stripQuotes(symbolName(getLocalSymbolForExportDefault(t)||getNonModuleSymbolOfMergedModuleSymbol(t)||t)),allSearchSymbols:o=[t]}=r,a=escapeLeadingUnderscores(i),s=this.options.implementations&&e?function getParentSymbolsOfPropertyAccess(e,t,n){const r=isRightSideOfPropertyAccess(e)?e.parent:void 0,i=r&&n.getTypeAtLocation(r.expression),o=mapDefined(i&&(i.isUnionOrIntersection()?i.types:i.symbol===t.parent?void 0:[i]),e=>e.symbol&&96&e.symbol.flags?e.symbol:void 0);return 0===o.length?void 0:o}(e,t,this.checker):void 0;return{symbol:t,comingFrom:n,text:i,escapedText:a,parents:s,allSearchSymbols:o,includes:e=>contains(o,e)}}referenceAdder(e){const t=getSymbolId(e);let n=this.symbolIdToReferences[t];return n||(n=this.symbolIdToReferences[t]=[],this.result.push({definition:{type:0,symbol:e},references:n})),(e,t)=>n.push(nodeEntry(e,t))}addStringOrCommentReference(e,t){this.result.push({definition:void 0,references:[{kind:0,fileName:e,textSpan:t}]})}markSearchedSymbols(e,t){const n=getNodeId(e),r=this.sourceFileToSeenSymbols[n]||(this.sourceFileToSeenSymbols[n]=new Set);let i=!1;for(const e of t)i=tryAddToSet(r,getSymbolId(e))||i;return i}}function searchForImportsOfExport(e,t,n,r){const{importSearches:i,singleReferences:o,indirectUsers:a}=r.getImportSearches(t,n);if(o.length){const e=r.referenceAdder(t);for(const t of o)shouldAddSingleReference(t,r)&&e(t)}for(const[e,t]of i)getReferencesInSourceFile(e.getSourceFile(),r.createSearch(e,t,1),r);if(a.length){let i;switch(n.exportKind){case 0:i=r.createSearch(e,t,1);break;case 1:i=2===r.options.use?void 0:r.createSearch(e,t,1,{text:"default"})}if(i)for(const e of a)searchForName(e,i,r)}}function shouldAddSingleReference(e,t){return!!hasMatchingMeaning(e,t)&&(2!==t.options.use||!(!isIdentifier(e)&&!isImportOrExportSpecifier(e.parent))&&!(isImportOrExportSpecifier(e.parent)&&moduleExportNameIsDefault(e)))}function searchForImportedSymbol(e,t){if(e.declarations)for(const n of e.declarations){const r=n.getSourceFile();getReferencesInSourceFile(r,t.createSearch(n,e,0),t,t.includesSourceFile(r))}}function searchForName(e,t,n){void 0!==getNameTable(e).get(t.escapedText)&&getReferencesInSourceFile(e,t,n)}function eachSymbolReferenceInFile(e,t,n,r,i=n){const o=isParameterPropertyDeclaration(e.parent,e.parent.parent)?first(t.getSymbolsOfParameterPropertyDeclaration(e.parent,e.text)):t.getSymbolAtLocation(e);if(o)for(const a of getPossibleSymbolReferenceNodes(n,o.name,i)){if(!isIdentifier(a)||a===e||a.escapedText!==e.escapedText)continue;const n=t.getSymbolAtLocation(a);if(n===o||t.getShorthandAssignmentValueSymbol(a.parent)===o||isExportSpecifier(a.parent)&&getLocalSymbolForExportSpecifier(a,n,a.parent,t)===o){const e=r(a);if(e)return e}}}function getPossibleSymbolReferenceNodes(e,t,n=e){return mapDefined(getPossibleSymbolReferencePositions(e,t,n),t=>{const n=getTouchingPropertyName(e,t);return n===e?void 0:n})}function getPossibleSymbolReferencePositions(e,t,n=e){const r=[];if(!t||!t.length)return r;const i=e.text,o=i.length,a=t.length;let s=i.indexOf(t,n.pos);for(;s>=0&&!(s>n.end);){const e=s+a;0!==s&&isIdentifierPart(i.charCodeAt(s-1),99)||e!==o&&isIdentifierPart(i.charCodeAt(e),99)||r.push(s),s=i.indexOf(t,s+a+1)}return r}function getLabelReferencesInNode(e,t){const n=e.getSourceFile(),r=t.text,i=mapDefined(getPossibleSymbolReferenceNodes(n,r,e),e=>e===t||isJumpStatementTarget(e)&&getTargetLabel(e,r)===t?nodeEntry(e):void 0);return[{definition:{type:1,node:t},references:i}]}function getReferencesInSourceFile(e,t,n,r=!0){return n.cancellationToken.throwIfCancellationRequested(),getReferencesInContainer(e,e,t,n,r)}function getReferencesInContainer(e,t,n,r,i){if(r.markSearchedSymbols(t,n.allSearchSymbols))for(const o of getPossibleSymbolReferencePositions(t,n.text,e))getReferencesAtLocation(t,o,n,r,i)}function hasMatchingMeaning(e,t){return!!(getMeaningFromLocation(e)&t.searchMeaning)}function getReferencesAtLocation(e,t,n,r,i){const o=getTouchingPropertyName(e,t);if(!function isValidReferencePosition(e,t){switch(e.kind){case 81:if(isJSDocMemberName(e.parent))return!0;case 80:return e.text.length===t.length;case 15:case 11:{const n=e;return n.text.length===t.length&&(isLiteralNameOfPropertyDeclarationOrIndexAccess(n)||isNameOfModuleDeclaration(e)||isExpressionOfExternalModuleImportEqualsDeclaration(e)||isCallExpression(e.parent)&&isBindableObjectDefinePropertyCall(e.parent)&&e.parent.arguments[1]===e||isImportOrExportSpecifier(e.parent))}case 9:return isLiteralNameOfPropertyDeclarationOrIndexAccess(e)&&e.text.length===t.length;case 90:return 7===t.length;default:return!1}}(o,n.text))return void(!r.options.implementations&&(r.options.findInStrings&&isInString(e,t)||r.options.findInComments&&isInNonReferenceComment(e,t))&&r.addStringOrCommentReference(e.fileName,createTextSpan(t,n.text.length)));if(!hasMatchingMeaning(o,r))return;let a=r.checker.getSymbolAtLocation(o);if(!a)return;const s=o.parent;if(isImportSpecifier(s)&&s.propertyName===o)return;if(isExportSpecifier(s))return h.assert(80===o.kind||11===o.kind),void getReferencesAtExportSpecifier(o,a,s,n,r,i);if(isJSDocPropertyLikeTag(s)&&s.isNameFirst&&s.typeExpression&&isJSDocTypeLiteral(s.typeExpression.type)&&s.typeExpression.type.jsDocPropertyTags&&length(s.typeExpression.type.jsDocPropertyTags))return void function getReferencesAtJSDocTypeLiteral(e,t,n,r){const i=r.referenceAdder(n.symbol);addReference(t,n.symbol,r),forEach(e,e=>{isQualifiedName(e.name)&&i(e.name.left)})}(s.typeExpression.type.jsDocPropertyTags,o,n,r);const c=function getRelatedSymbol(e,t,n,r){const{checker:i}=r;return forEachRelatedSymbol(t,n,i,!1,2!==r.options.use||!!r.options.providePrefixAndSuffixTextForRename,(n,r,i,o)=>(i&&isStaticSymbol(t)!==isStaticSymbol(i)&&(i=void 0),e.includes(i||r||n)?{symbol:!r||6&getCheckFlags(n)?n:r,kind:o}:void 0),t=>!(e.parents&&!e.parents.some(e=>explicitlyInheritsFrom(t.parent,e,r.inheritsFromCache,i))))}(n,a,o,r);if(c){switch(r.specialSearchKind){case 0:i&&addReference(o,c,r);break;case 1:!function addConstructorReferences(e,t,n,r){isNewExpressionTarget(e)&&addReference(e,n.symbol,r);const pusher=()=>r.referenceAdder(n.symbol);if(isClassLike(e.parent))h.assert(90===e.kind||e.parent.name===e),function findOwnConstructorReferences(e,t,n){const r=getClassConstructorSymbol(e);if(r&&r.declarations)for(const e of r.declarations){const r=findChildOfKind(e,137,t);h.assert(177===e.kind&&!!r),n(r)}e.exports&&e.exports.forEach(e=>{const t=e.valueDeclaration;if(t&&175===t.kind){const e=t.body;e&&forEachDescendantOfKind(e,110,e=>{isNewExpressionTarget(e)&&n(e)})}})}(n.symbol,t,pusher());else{const t=function tryGetClassByExtendingIdentifier(e){return tryGetClassExtendingExpressionWithTypeArguments(climbPastPropertyAccess(e).parent)}(e);t&&(!function findSuperConstructorAccesses(e,t){const n=getClassConstructorSymbol(e.symbol);if(!n||!n.declarations)return;for(const e of n.declarations){h.assert(177===e.kind);const n=e.body;n&&forEachDescendantOfKind(n,108,e=>{isCallExpressionTarget(e)&&t(e)})}}(t,pusher()),function findInheritedConstructorReferences(e,t){if(function hasOwnConstructor(e){return!!getClassConstructorSymbol(e.symbol)}(e))return;const n=e.symbol,r=t.createSearch(void 0,n,void 0);getReferencesInContainerOrFiles(n,t,r)}(t,r))}}(o,e,n,r);break;case 2:!function addClassStaticThisReferences(e,t,n){addReference(e,t.symbol,n);const r=e.parent;if(2===n.options.use||!isClassLike(r))return;h.assert(r.name===e);const i=n.referenceAdder(t.symbol);for(const e of r.members)isMethodOrAccessor(e)&&isStatic(e)&&e.body&&e.body.forEachChild(function cb(e){110===e.kind?i(e):isFunctionLike(e)||isClassLike(e)||e.forEachChild(cb)})}(o,n,r);break;default:h.assertNever(r.specialSearchKind)}isInJSFile(o)&&isBindingElement(o.parent)&&isVariableDeclarationInitializedToBareOrAccessedRequire(o.parent.parent.parent)&&(a=o.parent.symbol,!a)||function getImportOrExportReferences(e,t,n,r){const i=getImportOrExportSymbol(e,t,r.checker,1===n.comingFrom);if(!i)return;const{symbol:o}=i;0===i.kind?isForRenameWithPrefixAndSuffixText(r.options)||searchForImportedSymbol(o,r):searchForImportsOfExport(e,o,i.exportInfo,r)}(o,a,n,r)}else(function getReferenceForShorthandProperty({flags:e,valueDeclaration:t},n,r){const i=r.checker.getShorthandAssignmentValueSymbol(t),o=t&&getNameOfDeclaration(t);33554432&e||!o||!n.includes(i)||addReference(o,i,r)})(a,n,r)}function getReferencesAtExportSpecifier(e,t,n,r,i,o,a){h.assert(!a||!!i.options.providePrefixAndSuffixTextForRename,"If alwaysGetReferences is true, then prefix/suffix text must be enabled");const{parent:s,propertyName:c,name:l}=n,d=s.parent,p=getLocalSymbolForExportSpecifier(e,t,n,i.checker);if(a||r.includes(p)){if(c?e===c?(d.moduleSpecifier||addRef(),o&&2!==i.options.use&&i.markSeenReExportRHS(l)&&addReference(l,h.checkDefined(n.symbol),i)):i.markSeenReExportRHS(e)&&addRef():2===i.options.use&&moduleExportNameIsDefault(l)||addRef(),!isForRenameWithPrefixAndSuffixText(i.options)||a){const t=moduleExportNameIsDefault(e)||moduleExportNameIsDefault(n.name)?1:0,r=h.checkDefined(n.symbol),o=getExportInfo(r,t,i.checker);o&&searchForImportsOfExport(e,r,o,i)}if(1!==r.comingFrom&&d.moduleSpecifier&&!c&&!isForRenameWithPrefixAndSuffixText(i.options)){const e=i.checker.getExportSpecifierLocalTargetSymbol(n);e&&searchForImportedSymbol(e,i)}}function addRef(){o&&addReference(e,p,i)}}function getLocalSymbolForExportSpecifier(e,t,n,r){return function isExportSpecifierAlias(e,t){const{parent:n,propertyName:r,name:i}=t;return h.assert(r===e||i===e),r?r===e:!n.parent.moduleSpecifier}(e,n)&&r.getExportSpecifierLocalTargetSymbol(n)||t}function addReference(e,t,n){const{kind:r,symbol:i}="kind"in t?t:{kind:void 0,symbol:t};if(2===n.options.use&&90===e.kind)return;const o=n.referenceAdder(i);n.options.implementations?function addImplementationReferences(e,t,n){if(isDeclarationName(e)&&function isImplementation(e){return 33554432&e.flags?!(isInterfaceDeclaration(e)||isTypeAliasDeclaration(e)):isVariableLike(e)?hasInitializer(e):isFunctionLikeDeclaration(e)?!!e.body:isClassLike(e)||isModuleOrEnumDeclaration(e)}(e.parent))return void t(e);if(80!==e.kind)return;305===e.parent.kind&&getReferenceEntriesForShorthandPropertyAssignment(e,n.checker,t);const r=getContainingNodeIfInHeritageClause(e);if(r)return void t(r);const i=findAncestor(e,e=>!isQualifiedName(e.parent)&&!isTypeNode(e.parent)&&!isTypeElement(e.parent)),o=i.parent;if(hasType(o)&&o.type===i&&n.markSeenContainingTypeReference(o))if(hasInitializer(o))addIfImplementation(o.initializer);else if(isFunctionLike(o)&&o.body){const e=o.body;242===e.kind?forEachReturnStatement(e,e=>{e.expression&&addIfImplementation(e.expression)}):addIfImplementation(e)}else(isAssertionExpression(o)||isSatisfiesExpression(o))&&addIfImplementation(o.expression);function addIfImplementation(e){isImplementationExpression(e)&&t(e)}}(e,o,n):o(e,r)}function getClassConstructorSymbol(e){return e.members&&e.members.get("__constructor")}function getContainingNodeIfInHeritageClause(e){return isIdentifier(e)||isPropertyAccessExpression(e)?getContainingNodeIfInHeritageClause(e.parent):isExpressionWithTypeArguments(e)?tryCast(e.parent.parent,or(isClassLike,isInterfaceDeclaration)):void 0}function isImplementationExpression(e){switch(e.kind){case 218:return isImplementationExpression(e.expression);case 220:case 219:case 211:case 232:case 210:return!0;default:return!1}}function explicitlyInheritsFrom(e,t,n,r){if(e===t)return!0;const i=getSymbolId(e)+","+getSymbolId(t),o=n.get(i);if(void 0!==o)return o;n.set(i,!1);const a=!!e.declarations&&e.declarations.some(e=>getAllSuperTypeNodes(e).some(e=>{const i=r.getTypeAtLocation(e);return!!i&&!!i.symbol&&explicitlyInheritsFrom(i.symbol,t,n,r)}));return n.set(i,a),a}function isParameterName(e){return 80===e.kind&&170===e.parent.kind&&e.parent.name===e}function populateSearchSymbolSet(e,t,n,r,i,o){const a=[];return forEachRelatedSymbol(e,t,n,r,!(r&&i),(t,n,r)=>{r&&isStaticSymbol(e)!==isStaticSymbol(r)&&(r=void 0),a.push(r||n||t)},()=>!o),a}function forEachRelatedSymbol(e,t,n,r,i,o,a){const s=getContainingObjectLiteralElement(t);if(s){const e=n.getShorthandAssignmentValueSymbol(t.parent);if(e&&r)return o(e,void 0,void 0,3);const i=n.getContextualType(s.parent),a=i&&firstDefined(getPropertySymbolsFromContextualType(s,n,i,!0),e=>fromRoot(e,4));if(a)return a;const c=function getPropertySymbolOfDestructuringAssignment(e,t){return isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent.parent)?t.getPropertySymbolOfDestructuringAssignment(e):void 0}(t,n),l=c&&o(c,void 0,void 0,4);if(l)return l;const d=e&&o(e,void 0,void 0,3);if(d)return d}const c=getMergedAliasedSymbolOfNamespaceExportDeclaration(t,e,n);if(c){const e=o(c,void 0,void 0,1);if(e)return e}const l=fromRoot(e);if(l)return l;if(e.valueDeclaration&&isParameterPropertyDeclaration(e.valueDeclaration,e.valueDeclaration.parent)){const t=n.getSymbolsOfParameterPropertyDeclaration(cast(e.valueDeclaration,isParameter),e.name);return h.assert(2===t.length&&!!(1&t[0].flags)&&!!(4&t[1].flags)),fromRoot(1&e.flags?t[1]:t[0])}const d=getDeclarationOfKind(e,282);if(!r||d&&!d.propertyName){const e=d&&n.getExportSpecifierLocalTargetSymbol(d);if(e){const t=o(e,void 0,void 0,1);if(t)return t}}if(!r){let r;return r=i?isObjectBindingElementWithoutPropertyName(t.parent)?getPropertySymbolFromBindingElement(n,t.parent):void 0:getPropertySymbolOfObjectBindingPatternWithoutPropertyName(e,n),r&&fromRoot(r,4)}h.assert(r);if(i){const t=getPropertySymbolOfObjectBindingPatternWithoutPropertyName(e,n);return t&&fromRoot(t,4)}function fromRoot(e,t){return firstDefined(n.getRootSymbols(e),r=>o(e,r,void 0,t)||(r.parent&&96&r.parent.flags&&a(r)?function getPropertySymbolsFromBaseTypes(e,t,n,r){const i=new Set;return recur(e);function recur(e){if(96&e.flags&&addToSeen(i,e))return firstDefined(e.declarations,e=>firstDefined(getAllSuperTypeNodes(e),e=>{const i=n.getTypeAtLocation(e),o=i.symbol&&n.getPropertyOfType(i,t);return o&&firstDefined(n.getRootSymbols(o),r)||i.symbol&&recur(i.symbol)}))}}(r.parent,r.name,n,n=>o(e,r,n,t)):void 0))}function getPropertySymbolOfObjectBindingPatternWithoutPropertyName(e,t){const n=getDeclarationOfKind(e,209);if(n&&isObjectBindingElementWithoutPropertyName(n))return getPropertySymbolFromBindingElement(t,n)}}function isStaticSymbol(e){if(!e.valueDeclaration)return!1;return!!(256&getEffectiveModifierFlags(e.valueDeclaration))}function getIntersectingMeaningFromDeclarations(e,t){let n=getMeaningFromLocation(e);const{declarations:r}=t;if(r){let e;do{e=n;for(const e of r){const t=getMeaningFromDeclaration(e);t&n&&(n|=t)}}while(n!==e)}return n}function getReferenceEntriesForShorthandPropertyAssignment(e,t,n){const r=t.getSymbolAtLocation(e),i=t.getShorthandAssignmentValueSymbol(r.valueDeclaration);if(i)for(const e of i.getDeclarations())1&getMeaningFromDeclaration(e)&&n(e)}function forEachDescendantOfKind(e,t,n){forEachChild(e,e=>{e.kind===t&&n(e),forEachDescendantOfKind(e,t,n)})}function isForRenameWithPrefixAndSuffixText(e){return 2===e.use&&e.providePrefixAndSuffixTextForRename}e.eachExportReference=function eachExportReference(e,t,n,r,i,o,a,s){const c=createImportTracker(e,new Set(e.map(e=>e.fileName)),t,n),{importSearches:l,indirectUsers:d,singleReferences:p}=c(r,{exportKind:a?1:0,exportingModuleSymbol:i},!1);for(const[e]of l)s(e);for(const e of p)isIdentifier(e)&&isImportTypeNode(e.parent)&&s(e);for(const e of d)for(const n of getPossibleSymbolReferenceNodes(e,a?"default":o)){const e=t.getSymbolAtLocation(n),i=some(null==e?void 0:e.declarations,e=>!!tryCast(e,isExportAssignment));!isIdentifier(n)||isImportOrExportSpecifier(n.parent)||e!==r&&!i||s(n)}},e.isSymbolReferencedInFile=function isSymbolReferencedInFile(e,t,n,r=n){return eachSymbolReferenceInFile(e,t,n,()=>!0,r)||!1},e.eachSymbolReferenceInFile=eachSymbolReferenceInFile,e.getTopMostDeclarationNamesInFile=function getTopMostDeclarationNamesInFile(e,t){return filter(getPossibleSymbolReferenceNodes(t,e),e=>!!getDeclarationFromName(e)).reduce((e,t)=>{const n=function getDepth(e){let t=0;for(;e;)e=getContainerNode(e),t++;return t}(t);return some(e.declarationNames)&&n!==e.depth?n<e.depth&&(e.declarationNames=[t],e.depth=n):(e.declarationNames.push(t),e.depth=n),e},{depth:1/0,declarationNames:[]}).declarationNames},e.someSignatureUsage=function someSignatureUsage(e,t,n,r){if(!e.name||!isIdentifier(e.name))return!1;const i=h.checkDefined(n.getSymbolAtLocation(e.name));for(const o of t)for(const t of getPossibleSymbolReferenceNodes(o,i.name)){if(!isIdentifier(t)||t===e.name||t.escapedText!==e.name.escapedText)continue;const o=climbPastPropertyAccess(t),a=isCallExpression(o.parent)&&o.parent.expression===o?o.parent:void 0,s=n.getSymbolAtLocation(t);if(s&&n.getRootSymbols(s).some(e=>e===i)&&r(t,a))return!0}return!1},e.getIntersectingMeaningFromDeclarations=getIntersectingMeaningFromDeclarations,e.getReferenceEntriesForShorthandPropertyAssignment=getReferenceEntriesForShorthandPropertyAssignment})(km||(km={}));var Pm={};function getDefinitionAtPosition(e,t,n,r,i){var o;const a=getReferenceAtPosition(t,n,e),s=a&&[(c=a.reference.fileName,d=a.fileName,p=a.unverified,{fileName:d,textSpan:createTextSpanFromBounds(0,0),kind:"script",name:c,containerName:void 0,containerKind:void 0,unverified:p})]||l;var c,d,p;if(null==a?void 0:a.file)return s;const u=getTouchingPropertyName(t,n);if(u===t)return;const{parent:m}=u,_=e.getTypeChecker();if(164===u.kind||isIdentifier(u)&&isJSDocOverrideTag(m)&&m.tagName===u){const e=function getDefinitionFromOverriddenMember(e,t){const n=findAncestor(t,isClassElement);if(!n||!n.name)return;const r=findAncestor(n,isClassLike);if(!r)return;const i=getEffectiveBaseTypeNode(r);if(!i)return;const o=skipParentheses(i.expression),a=isClassExpression(o)?o.symbol:e.getSymbolAtLocation(o);if(!a)return;const s=hasStaticModifier(n)?e.getTypeOfSymbol(a):e.getDeclaredTypeOfSymbol(a);let c;if(isComputedPropertyName(n.name)){const t=e.getSymbolAtLocation(n.name);if(!t)return;c=isKnownSymbol(t)?find(e.getPropertiesOfType(s),e=>e.escapedName===t.escapedName):e.getPropertyOfType(s,unescapeLeadingUnderscores(t.escapedName))}else c=e.getPropertyOfType(s,unescapeLeadingUnderscores(getTextOfPropertyName(n.name)));if(!c)return;return getDefinitionFromSymbol(e,c,t)}(_,u);if(void 0!==e||164!==u.kind)return e||l}if(isJumpStatementTarget(u)){const e=getTargetLabel(u.parent,u.text);return e?[createDefinitionInfoFromName(_,e,"label",u.text,void 0)]:void 0}switch(u.kind){case 90:if(!isDefaultClause(u.parent))break;case 84:const e=findAncestor(u.parent,isSwitchStatement);if(e)return[createDefinitionInfoFromSwitch(e,t)]}let f;switch(u.kind){case 107:case 135:case 127:f=isFunctionLikeDeclaration;const e=findAncestor(u,f);return e?[createDefinitionFromSignatureDeclaration(_,e)]:void 0}if(isStaticModifier(u)&&isClassStaticBlockDeclaration(u.parent)){const e=u.parent.parent,{symbol:t,failedAliasResolution:n}=getSymbol(e,_,i),r=filter(e.members,isClassStaticBlockDeclaration),o=t?_.symbolToString(t,e):"",a=u.getSourceFile();return map(r,e=>{let{pos:t}=moveRangePastModifiers(e);return t=skipTrivia(a.text,t),createDefinitionInfoFromName(_,e,"constructor","static {}",o,!1,n,{start:t,length:6})})}let{symbol:g,failedAliasResolution:y}=getSymbol(u,_,i),h=u;if(r&&y){const e=forEach([u,...(null==g?void 0:g.declarations)||l],e=>findAncestor(e,isAnyImportOrBareOrAccessedRequire)),t=e&&tryGetModuleSpecifierFromDeclaration(e);t&&(({symbol:g,failedAliasResolution:y}=getSymbol(t,_,i)),h=t)}if(!g&&isModuleSpecifierLike(h)){const n=null==(o=e.getResolvedModuleFromModuleSpecifier(h,t))?void 0:o.resolvedModule;if(n)return[{name:h.text,fileName:n.resolvedFileName,containerName:void 0,containerKind:void 0,kind:"script",textSpan:createTextSpan(0,0),failedAliasResolution:y,isAmbient:isDeclarationFileName(n.resolvedFileName),unverified:h!==u}]}if(isModifier(u)&&(isClassElement(m)||isNamedDeclaration(m))&&(g=m.symbol),!g)return concatenate(s,function getDefinitionInfoForIndexSignatures(e,t){return mapDefined(t.getIndexInfosAtLocation(e),e=>e.declaration&&createDefinitionFromSignatureDeclaration(t,e.declaration))}(u,_));if(r&&every(g.declarations,e=>e.getSourceFile().fileName===t.fileName))return;const T=function tryGetSignatureDeclaration(e,t){const n=function getAncestorCallLikeExpression(e){const t=findAncestor(e,e=>!isRightSideOfPropertyAccess(e)),n=null==t?void 0:t.parent;return n&&isCallLikeExpression(n)&&getInvokedExpression(n)===t?n:void 0}(t),r=n&&e.getResolvedSignature(n);return tryCast(r&&r.declaration,e=>isFunctionLike(e)&&!isFunctionTypeNode(e))}(_,u);if(T&&(!isJsxOpeningLikeElement(u.parent)||!function isJsxConstructorLike(e){switch(e.kind){case 177:case 186:case 180:case 181:return!0;default:return!1}}(T))){const e=createDefinitionFromSignatureDeclaration(_,T,y);let declarationFilter=e=>e!==T;if(_.getRootSymbols(g).some(e=>function symbolMatchesSignature(e,t){var n;return e===t.symbol||e===t.symbol.parent||isAssignmentExpression(t.parent)||!isCallLikeExpression(t.parent)&&e===(null==(n=tryCast(t.parent,canHaveSymbol))?void 0:n.symbol)}(e,T))){if(!isConstructorDeclaration(T))return[e];declarationFilter=e=>e!==T&&(isClassDeclaration(e)||isClassExpression(e))}const t=getDefinitionFromSymbol(_,g,u,y,declarationFilter)||l;return 108===u.kind?[e,...t]:[...t,e]}if(305===u.parent.kind){const e=_.getShorthandAssignmentValueSymbol(g.valueDeclaration);return concatenate((null==e?void 0:e.declarations)?e.declarations.map(t=>createDefinitionInfo(t,_,e,u,!1,y)):l,getDefinitionFromObjectLiteralElement(_,u))}if(isPropertyName(u)&&isBindingElement(m)&&isObjectBindingPattern(m.parent)&&u===(m.propertyName||m.name)){const e=getNameFromPropertyName(u),t=_.getTypeAtLocation(m.parent);return void 0===e?l:flatMap(t.isUnion()?t.types:[t],t=>{const n=t.getProperty(e);return n&&getDefinitionFromSymbol(_,n,u)})}const S=getDefinitionFromObjectLiteralElement(_,u);return concatenate(s,S.length?S:getDefinitionFromSymbol(_,g,u,y))}function getDefinitionFromObjectLiteralElement(e,t){const n=getContainingObjectLiteralElement(t);if(n){const r=n&&e.getContextualType(n.parent);if(r)return flatMap(getPropertySymbolsFromContextualType(n,e,r,!1),n=>getDefinitionFromSymbol(e,n,t))}return l}function getReferenceAtPosition(e,t,n){var r,i;const o=findReferenceInPosition(e.referencedFiles,t);if(o){const t=n.getSourceFileFromReference(e,o);return t&&{reference:o,fileName:t.fileName,file:t,unverified:!1}}const a=findReferenceInPosition(e.typeReferenceDirectives,t);if(a){const t=null==(r=n.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(a,e))?void 0:r.resolvedTypeReferenceDirective,i=t&&n.getSourceFile(t.resolvedFileName);return i&&{reference:a,fileName:i.fileName,file:i,unverified:!1}}const s=findReferenceInPosition(e.libReferenceDirectives,t);if(s){const e=n.getLibFileFromReference(s);return e&&{reference:s,fileName:e.fileName,file:e,unverified:!1}}if(e.imports.length||e.moduleAugmentations.length){const r=getTouchingToken(e,t);let o;if(isModuleSpecifierLike(r)&&isExternalModuleNameRelative(r.text)&&(o=n.getResolvedModuleFromModuleSpecifier(r,e))){const t=null==(i=o.resolvedModule)?void 0:i.resolvedFileName,a=t||resolvePath(getDirectoryPath(e.fileName),r.text);return{file:n.getSourceFile(a),fileName:a,reference:{pos:r.getStart(),end:r.getEnd(),fileName:r.text},unverified:!t}}}}i(Pm,{createDefinitionInfo:()=>createDefinitionInfo,getDefinitionAndBoundSpan:()=>getDefinitionAndBoundSpan,getDefinitionAtPosition:()=>getDefinitionAtPosition,getReferenceAtPosition:()=>getReferenceAtPosition,getTypeDefinitionAtPosition:()=>getTypeDefinitionAtPosition});var Dm=new Set(["Array","ArrayLike","ReadonlyArray","Promise","PromiseLike","Iterable","IterableIterator","AsyncIterable","Set","WeakSet","ReadonlySet","Map","WeakMap","ReadonlyMap","Partial","Required","Readonly","Pick","Omit"]);function shouldUnwrapFirstTypeArgumentTypeDefinitionFromAlias(e,t){if(!t.aliasSymbol)return!1;const n=t.aliasSymbol.name;if(!Dm.has(n))return!1;const r=e.resolveName(n,void 0,788968,!1);return!!r&&r===t.aliasSymbol}function getFirstTypeArgumentDefinitions(e,t,n,r){var i,o;if(4&getObjectFlags(t)&&function shouldUnwrapFirstTypeArgumentTypeDefinitionFromTypeReference(e,t){const n=t.symbol.name;if(!Dm.has(n))return!1;const r=e.resolveName(n,void 0,788968,!1);return!!r&&r===t.target.symbol}(e,t))return definitionFromType(e.getTypeArguments(t)[0],e,n,r);if(shouldUnwrapFirstTypeArgumentTypeDefinitionFromAlias(e,t)&&t.aliasTypeArguments)return definitionFromType(t.aliasTypeArguments[0],e,n,r);if(32&getObjectFlags(t)&&t.target&&shouldUnwrapFirstTypeArgumentTypeDefinitionFromAlias(e,t.target)){const a=null==(o=null==(i=t.aliasSymbol)?void 0:i.declarations)?void 0:o[0];if(a&&isTypeAliasDeclaration(a)&&isTypeReferenceNode(a.type)&&a.type.typeArguments)return definitionFromType(e.getTypeAtLocation(a.type.typeArguments[0]),e,n,r)}return[]}function getTypeDefinitionAtPosition(e,t,n){const r=getTouchingPropertyName(t,n);if(r===t)return;if(isImportMeta(r.parent)&&r.parent.name===r)return definitionFromType(e.getTypeAtLocation(r.parent),e,r.parent,!1);let{symbol:i,failedAliasResolution:o}=getSymbol(r,e,!1);if(isModifier(r)&&(isClassElement(r.parent)||isNamedDeclaration(r.parent))&&(i=r.parent.symbol,o=!1),!i)return;const a=e.getTypeOfSymbolAtLocation(i,r),s=function tryGetReturnTypeOfFunction(e,t,n){if(t.symbol===e||e.valueDeclaration&&t.symbol&&isVariableDeclaration(e.valueDeclaration)&&e.valueDeclaration.initializer===t.symbol.valueDeclaration){const e=t.getCallSignatures();if(1===e.length)return n.getReturnTypeOfSignature(first(e))}return}(i,a,e),c=s&&definitionFromType(s,e,r,o),[l,d]=c&&0!==c.length?[s,c]:[a,definitionFromType(a,e,r,o)];return d.length?[...getFirstTypeArgumentDefinitions(e,l,r,o),...d]:!(111551&i.flags)&&788968&i.flags?getDefinitionFromSymbol(e,skipAlias(i,e),r,o):void 0}function definitionFromType(e,t,n,r){return flatMap(!e.isUnion()||32&e.flags?[e]:e.types,e=>e.symbol&&getDefinitionFromSymbol(t,e.symbol,n,r))}function getDefinitionAndBoundSpan(e,t,n){const r=getDefinitionAtPosition(e,t,n);if(!r||0===r.length)return;const i=findReferenceInPosition(t.referencedFiles,n)||findReferenceInPosition(t.typeReferenceDirectives,n)||findReferenceInPosition(t.libReferenceDirectives,n);if(i)return{definitions:r,textSpan:createTextSpanFromRange(i)};const o=getTouchingPropertyName(t,n);return{definitions:r,textSpan:createTextSpan(o.getStart(),o.getWidth())}}function getSymbol(e,t,n){const r=t.getSymbolAtLocation(e);let i=!1;if((null==r?void 0:r.declarations)&&2097152&r.flags&&!n&&function shouldSkipAlias(e,t){if(80!==e.kind&&(11!==e.kind||!isImportOrExportSpecifier(e.parent)))return!1;if(e.parent===t)return!0;if(275===t.kind)return!1;return!0}(e,r.declarations[0])){const e=t.getAliasedSymbol(r);if(e.declarations)return{symbol:e};i=!0}return{symbol:r,failedAliasResolution:i}}function getDefinitionFromSymbol(e,t,n,r,i){const o=void 0!==i?filter(t.declarations,i):t.declarations,a=!i&&(function getConstructSignatureDefinition(){if(32&t.flags&&!(19&t.flags)&&(isNewExpressionTarget(n)||137===n.kind)){const e=find(o,isClassLike);return e&&getSignatureDefinition(e.members,!0)}}()||function getCallSignatureDefinition(){return isCallOrNewExpressionTarget(n)||isNameOfFunctionDeclaration(n)?getSignatureDefinition(o,!1):void 0}());if(a)return a;const s=filter(o,e=>!function isExpandoDeclaration(e){if(!isAssignmentDeclaration(e))return!1;const t=findAncestor(e,e=>!!isAssignmentExpression(e)||!isAssignmentDeclaration(e)&&"quit");return!!t&&5===getAssignmentDeclarationKind(t)}(e));return map(some(s)?s:o,i=>createDefinitionInfo(i,e,t,n,!1,r));function getSignatureDefinition(i,o){if(!i)return;const a=i.filter(o?isConstructorDeclaration:isFunctionLike),s=a.filter(e=>!!e.body);return a.length?0!==s.length?s.map(r=>createDefinitionInfo(r,e,t,n)):[createDefinitionInfo(last(a),e,t,n,!1,r)]:void 0}}function createDefinitionInfo(e,t,n,r,i,o){const a=t.symbolToString(n),s=Km.getSymbolKind(t,n,r),c=n.parent?t.symbolToString(n.parent,r):"";return createDefinitionInfoFromName(t,e,s,a,c,i,o)}function createDefinitionInfoFromName(e,t,n,r,i,o,a,s){const c=t.getSourceFile();if(!s){s=createTextSpanFromNode(getNameOfDeclaration(t)||t,c)}return{fileName:c.fileName,textSpan:s,kind:n,name:r,containerKind:void 0,containerName:i,...vm.toContextSpan(s,c,vm.getContextNode(t)),isLocal:!isDefinitionVisible(e,t),isAmbient:!!(33554432&t.flags),unverified:o,failedAliasResolution:a}}function createDefinitionInfoFromSwitch(e,t){const n=vm.getContextNode(e),r=createTextSpanFromNode(isContextWithStartAndEndNode(n)?n.start:n,t);return{fileName:t.fileName,textSpan:r,kind:"keyword",name:"switch",containerKind:void 0,containerName:"",...vm.toContextSpan(r,t,n),isLocal:!0,isAmbient:!1,unverified:!1,failedAliasResolution:void 0}}function isDefinitionVisible(e,t){if(e.isDeclarationVisible(t))return!0;if(!t.parent)return!1;if(hasInitializer(t.parent)&&t.parent.initializer===t)return isDefinitionVisible(e,t.parent);switch(t.kind){case 173:case 178:case 179:case 175:if(hasEffectiveModifier(t,2))return!1;case 177:case 304:case 305:case 211:case 232:case 220:case 219:return isDefinitionVisible(e,t.parent);default:return!1}}function createDefinitionFromSignatureDeclaration(e,t,n){return createDefinitionInfo(t,e,t.symbol,t,!1,n)}function findReferenceInPosition(e,t){return find(e,e=>textRangeContainsPositionInclusive(e,t))}var Im={};i(Im,{provideInlayHints:()=>provideInlayHints});var leadingParameterNameCommentRegexFactory=e=>new RegExp(`^\\s?/\\*\\*?\\s?${e}\\s?\\*\\/\\s?$`);function shouldShowLiteralParameterNameHintsOnly(e){return"literals"===e.includeInlayParameterNameHints}function shouldUseInteractiveInlayHints(e){return!0===e.interactiveInlayHints}function provideInlayHints(e){const{file:t,program:n,span:r,cancellationToken:i,preferences:o}=e,a=t.text,s=n.getCompilerOptions(),c=getQuotePreference(t,o),l=n.getTypeChecker(),d=[];return function visitor(e){if(!e||0===e.getFullWidth())return;switch(e.kind){case 268:case 264:case 265:case 263:case 232:case 219:case 175:case 220:i.throwIfCancellationRequested()}if(!textSpanIntersectsWith(r,e.pos,e.getFullWidth()))return;if(isTypeNode(e)&&!isExpressionWithTypeArguments(e))return;o.includeInlayVariableTypeHints&&isVariableDeclaration(e)||o.includeInlayPropertyDeclarationTypeHints&&isPropertyDeclaration(e)?visitVariableLikeDeclaration(e):o.includeInlayEnumMemberValueHints&&isEnumMember(e)?function visitEnumMember(e){if(e.initializer)return;const t=l.getConstantValue(e);void 0!==t&&function addEnumMemberValueHints(e,t){d.push({text:`= ${e}`,position:t,kind:"Enum",whitespaceBefore:!0})}(t.toString(),e.end)}(e):!function shouldShowParameterNameHints(e){return"literals"===e.includeInlayParameterNameHints||"all"===e.includeInlayParameterNameHints}(o)||!isCallExpression(e)&&!isNewExpression(e)?(o.includeInlayFunctionParameterTypeHints&&isFunctionLikeDeclaration(e)&&hasContextSensitiveParameters(e)&&function visitFunctionLikeForParameterType(e){const t=l.getSignatureFromDeclaration(e);if(!t)return;let n=0;for(const r of e.parameters)isHintableDeclaration(r)&&addParameterTypeHint(r,parameterIsThisKeyword(r)?t.thisParameter:t.parameters[n]),parameterIsThisKeyword(r)||n++}(e),o.includeInlayFunctionLikeReturnTypeHints&&function isSignatureSupportingReturnAnnotation(e){return isArrowFunction(e)||isFunctionExpression(e)||isFunctionDeclaration(e)||isMethodDeclaration(e)||isGetAccessorDeclaration(e)}(e)&&function visitFunctionDeclarationLikeForReturnType(e){if(isArrowFunction(e)&&!findChildOfKind(e,21,t))return;if(getEffectiveReturnTypeNode(e)||!e.body)return;const n=l.getSignatureFromDeclaration(e);if(!n)return;const r=l.getTypePredicateOfSignature(n);if(null==r?void 0:r.type){const n=function typePredicateToInlayHintParts(e){if(!shouldUseInteractiveInlayHints(o))return function printTypePredicateInSingleLine(e){const n=71286784,r=ka();return usingSingleLineStringWriter(i=>{const o=l.typePredicateToTypePredicateNode(e,void 0,n);h.assertIsDefined(o,"should always get typePredicateNode"),r.writeNode(4,o,t,i)})}(e);const n=71286784,r=l.typePredicateToTypePredicateNode(e,void 0,n);return h.assertIsDefined(r,"should always get typenode"),getInlayHintDisplayParts(r)}(r);if(n)return void addTypeHints(n,getTypeAnnotationPosition(e))}const i=l.getReturnTypeOfSignature(n);if(isModuleReferenceType(i))return;const a=typeToInlayHintParts(i);a&&addTypeHints(a,getTypeAnnotationPosition(e))}(e)):function visitCallOrNewExpression(e){const t=e.arguments;if(!t||!t.length)return;const n=l.getResolvedSignature(e);if(void 0===n)return;let r=0;for(const e of t){const t=skipParentheses(e);if(shouldShowLiteralParameterNameHintsOnly(o)&&!isHintableLiteral(t)){r++;continue}let i=0;if(isSpreadElement(t)){const e=l.getTypeAtLocation(t.expression);if(l.isTupleType(e)){const{elementFlags:t,fixedLength:n}=e.target;if(0===n)continue;const r=findIndex(t,e=>!(1&e));(r<0?n:r)>0&&(i=r<0?n:r)}}const a=l.getParameterIdentifierInfoAtPosition(n,r);if(r+=i||1,a){const{parameter:n,parameterName:r,isRestParameter:i}=a;if(!(o.includeInlayParameterNameHintsWhenArgumentMatchesName||!identifierOrAccessExpressionPostfixMatchesParameterName(t,r))&&!i)continue;const s=unescapeLeadingUnderscores(r);if(leadingCommentsContainsParameterName(t,s))continue;addParameterHints(s,n,e.getStart(),i)}}}(e);return forEachChild(e,visitor)}(t),d;function addParameterHints(e,t,n,r){let i,a=`${r?"...":""}${e}`;shouldUseInteractiveInlayHints(o)?(i=[getNodeDisplayPart(a,t),{text:":"}],a=""):a+=":",d.push({text:a,position:n,kind:"Parameter",whitespaceAfter:!0,displayParts:i})}function addTypeHints(e,t){d.push({text:"string"==typeof e?`: ${e}`:"",displayParts:"string"==typeof e?void 0:[{text:": "},...e],position:t,kind:"Type",whitespaceBefore:!0})}function isModuleReferenceType(e){return e.symbol&&1536&e.symbol.flags}function visitVariableLikeDeclaration(e){if(void 0===e.initializer&&(!isPropertyDeclaration(e)||1&l.getTypeAtLocation(e).flags)||isBindingPattern(e.name)||isVariableDeclaration(e)&&!isHintableDeclaration(e))return;if(getEffectiveTypeAnnotationNode(e))return;const t=l.getTypeAtLocation(e);if(isModuleReferenceType(t))return;const n=typeToInlayHintParts(t);if(n){const t="string"==typeof n?n:n.map(e=>e.text).join("");if(!1===o.includeInlayVariableTypeHintsWhenTypeMatchesName&&equateStringsCaseInsensitive(e.name.getText(),t))return;addTypeHints(n,e.name.end)}}function identifierOrAccessExpressionPostfixMatchesParameterName(e,t){return isIdentifier(e)?e.text===t:!!isPropertyAccessExpression(e)&&e.name.text===t}function leadingCommentsContainsParameterName(e,n){if(!isIdentifierText(n,zn(s),getLanguageVariant(t.scriptKind)))return!1;const r=getLeadingCommentRanges(a,e.pos);if(!(null==r?void 0:r.length))return!1;const i=leadingParameterNameCommentRegexFactory(n);return some(r,e=>i.test(a.substring(e.pos,e.end)))}function isHintableLiteral(e){switch(e.kind){case 225:{const t=e.operand;return isLiteralExpression(t)||isIdentifier(t)&&isInfinityOrNaNString(t.escapedText)}case 112:case 97:case 106:case 15:case 229:return!0;case 80:{const t=e.escapedText;return function isUndefined(e){return"undefined"===e}(t)||isInfinityOrNaNString(t)}}return isLiteralExpression(e)}function getTypeAnnotationPosition(e){const n=findChildOfKind(e,22,t);return n?n.end:e.parameters.end}function addParameterTypeHint(e,t){if(getEffectiveTypeAnnotationNode(e)||void 0===t)return;const n=function getParameterDeclarationTypeHints(e){const t=e.valueDeclaration;if(!t||!isParameter(t))return;const n=l.getTypeOfSymbolAtLocation(e,t);if(isModuleReferenceType(n))return;return typeToInlayHintParts(n)}(t);void 0!==n&&addTypeHints(n,e.questionToken?e.questionToken.end:e.name.end)}function typeToInlayHintParts(e){if(!shouldUseInteractiveInlayHints(o))return function printTypeInSingleLine(e){const n=ka();return usingSingleLineStringWriter(r=>{const i=l.typeToTypeNode(e,void 0,71286784);h.assertIsDefined(i,"should always get typenode"),n.writeNode(4,i,t,r)})}(e);const n=l.typeToTypeNode(e,void 0,71286784);return h.assertIsDefined(n,"should always get typeNode"),getInlayHintDisplayParts(n)}function getInlayHintDisplayParts(e){const t=[];return visitForDisplayParts(e),t;function visitForDisplayParts(e){var n,r;if(!e)return;const i=tokenToString(e.kind);if(i)t.push({text:i});else if(isLiteralExpression(e))t.push({text:getLiteralText2(e)});else switch(e.kind){case 80:h.assertNode(e,isIdentifier);const i=idText(e),o=e.symbol&&e.symbol.declarations&&e.symbol.declarations.length&&getNameOfDeclaration(e.symbol.declarations[0]);o?t.push(getNodeDisplayPart(i,o)):t.push({text:i});break;case 167:h.assertNode(e,isQualifiedName),visitForDisplayParts(e.left),t.push({text:"."}),visitForDisplayParts(e.right);break;case 183:h.assertNode(e,isTypePredicateNode),e.assertsModifier&&t.push({text:"asserts "}),visitForDisplayParts(e.parameterName),e.type&&(t.push({text:" is "}),visitForDisplayParts(e.type));break;case 184:h.assertNode(e,isTypeReferenceNode),visitForDisplayParts(e.typeName),e.typeArguments&&(t.push({text:"<"}),visitDisplayPartList(e.typeArguments,", "),t.push({text:">"}));break;case 169:h.assertNode(e,isTypeParameterDeclaration),e.modifiers&&visitDisplayPartList(e.modifiers," "),visitForDisplayParts(e.name),e.constraint&&(t.push({text:" extends "}),visitForDisplayParts(e.constraint)),e.default&&(t.push({text:" = "}),visitForDisplayParts(e.default));break;case 170:h.assertNode(e,isParameter),e.modifiers&&visitDisplayPartList(e.modifiers," "),e.dotDotDotToken&&t.push({text:"..."}),visitForDisplayParts(e.name),e.questionToken&&t.push({text:"?"}),e.type&&(t.push({text:": "}),visitForDisplayParts(e.type));break;case 186:h.assertNode(e,isConstructorTypeNode),t.push({text:"new "}),visitParametersAndTypeParameters(e),t.push({text:" => "}),visitForDisplayParts(e.type);break;case 187:h.assertNode(e,isTypeQueryNode),t.push({text:"typeof "}),visitForDisplayParts(e.exprName),e.typeArguments&&(t.push({text:"<"}),visitDisplayPartList(e.typeArguments,", "),t.push({text:">"}));break;case 188:h.assertNode(e,isTypeLiteralNode),t.push({text:"{"}),e.members.length&&(t.push({text:" "}),visitDisplayPartList(e.members,"; "),t.push({text:" "})),t.push({text:"}"});break;case 189:h.assertNode(e,isArrayTypeNode),visitForDisplayParts(e.elementType),t.push({text:"[]"});break;case 190:h.assertNode(e,isTupleTypeNode),t.push({text:"["}),visitDisplayPartList(e.elements,", "),t.push({text:"]"});break;case 203:h.assertNode(e,isNamedTupleMember),e.dotDotDotToken&&t.push({text:"..."}),visitForDisplayParts(e.name),e.questionToken&&t.push({text:"?"}),t.push({text:": "}),visitForDisplayParts(e.type);break;case 191:h.assertNode(e,isOptionalTypeNode),visitForDisplayParts(e.type),t.push({text:"?"});break;case 192:h.assertNode(e,isRestTypeNode),t.push({text:"..."}),visitForDisplayParts(e.type);break;case 193:h.assertNode(e,isUnionTypeNode),visitDisplayPartList(e.types," | ");break;case 194:h.assertNode(e,isIntersectionTypeNode),visitDisplayPartList(e.types," & ");break;case 195:h.assertNode(e,isConditionalTypeNode),visitForDisplayParts(e.checkType),t.push({text:" extends "}),visitForDisplayParts(e.extendsType),t.push({text:" ? "}),visitForDisplayParts(e.trueType),t.push({text:" : "}),visitForDisplayParts(e.falseType);break;case 196:h.assertNode(e,isInferTypeNode),t.push({text:"infer "}),visitForDisplayParts(e.typeParameter);break;case 197:h.assertNode(e,isParenthesizedTypeNode),t.push({text:"("}),visitForDisplayParts(e.type),t.push({text:")"});break;case 199:h.assertNode(e,isTypeOperatorNode),t.push({text:`${tokenToString(e.operator)} `}),visitForDisplayParts(e.type);break;case 200:h.assertNode(e,isIndexedAccessTypeNode),visitForDisplayParts(e.objectType),t.push({text:"["}),visitForDisplayParts(e.indexType),t.push({text:"]"});break;case 201:h.assertNode(e,isMappedTypeNode),t.push({text:"{ "}),e.readonlyToken&&(40===e.readonlyToken.kind?t.push({text:"+"}):41===e.readonlyToken.kind&&t.push({text:"-"}),t.push({text:"readonly "})),t.push({text:"["}),visitForDisplayParts(e.typeParameter),e.nameType&&(t.push({text:" as "}),visitForDisplayParts(e.nameType)),t.push({text:"]"}),e.questionToken&&(40===e.questionToken.kind?t.push({text:"+"}):41===e.questionToken.kind&&t.push({text:"-"}),t.push({text:"?"})),t.push({text:": "}),e.type&&visitForDisplayParts(e.type),t.push({text:"; }"});break;case 202:h.assertNode(e,isLiteralTypeNode),visitForDisplayParts(e.literal);break;case 185:h.assertNode(e,isFunctionTypeNode),visitParametersAndTypeParameters(e),t.push({text:" => "}),visitForDisplayParts(e.type);break;case 206:h.assertNode(e,isImportTypeNode),e.isTypeOf&&t.push({text:"typeof "}),t.push({text:"import("}),visitForDisplayParts(e.argument),e.assertions&&(t.push({text:", { assert: "}),visitDisplayPartList(e.assertions.assertClause.elements,", "),t.push({text:" }"})),t.push({text:")"}),e.qualifier&&(t.push({text:"."}),visitForDisplayParts(e.qualifier)),e.typeArguments&&(t.push({text:"<"}),visitDisplayPartList(e.typeArguments,", "),t.push({text:">"}));break;case 172:h.assertNode(e,isPropertySignature),(null==(n=e.modifiers)?void 0:n.length)&&(visitDisplayPartList(e.modifiers," "),t.push({text:" "})),visitForDisplayParts(e.name),e.questionToken&&t.push({text:"?"}),e.type&&(t.push({text:": "}),visitForDisplayParts(e.type));break;case 182:h.assertNode(e,isIndexSignatureDeclaration),t.push({text:"["}),visitDisplayPartList(e.parameters,", "),t.push({text:"]"}),e.type&&(t.push({text:": "}),visitForDisplayParts(e.type));break;case 174:h.assertNode(e,isMethodSignature),(null==(r=e.modifiers)?void 0:r.length)&&(visitDisplayPartList(e.modifiers," "),t.push({text:" "})),visitForDisplayParts(e.name),e.questionToken&&t.push({text:"?"}),visitParametersAndTypeParameters(e),e.type&&(t.push({text:": "}),visitForDisplayParts(e.type));break;case 180:h.assertNode(e,isCallSignatureDeclaration),visitParametersAndTypeParameters(e),e.type&&(t.push({text:": "}),visitForDisplayParts(e.type));break;case 181:h.assertNode(e,isConstructSignatureDeclaration),t.push({text:"new "}),visitParametersAndTypeParameters(e),e.type&&(t.push({text:": "}),visitForDisplayParts(e.type));break;case 208:h.assertNode(e,isArrayBindingPattern),t.push({text:"["}),visitDisplayPartList(e.elements,", "),t.push({text:"]"});break;case 207:h.assertNode(e,isObjectBindingPattern),t.push({text:"{"}),e.elements.length&&(t.push({text:" "}),visitDisplayPartList(e.elements,", "),t.push({text:" "})),t.push({text:"}"});break;case 209:h.assertNode(e,isBindingElement),visitForDisplayParts(e.name);break;case 225:h.assertNode(e,isPrefixUnaryExpression),t.push({text:tokenToString(e.operator)}),visitForDisplayParts(e.operand);break;case 204:h.assertNode(e,isTemplateLiteralTypeNode),visitForDisplayParts(e.head),e.templateSpans.forEach(visitForDisplayParts);break;case 16:h.assertNode(e,isTemplateHead),t.push({text:getLiteralText2(e)});break;case 205:h.assertNode(e,isTemplateLiteralTypeSpan),visitForDisplayParts(e.type),visitForDisplayParts(e.literal);break;case 17:h.assertNode(e,isTemplateMiddle),t.push({text:getLiteralText2(e)});break;case 18:h.assertNode(e,isTemplateTail),t.push({text:getLiteralText2(e)});break;case 198:h.assertNode(e,isThisTypeNode),t.push({text:"this"});break;case 168:h.assertNode(e,isComputedPropertyName),t.push({text:"["}),visitForDisplayParts(e.expression),t.push({text:"]"});break;default:h.failBadSyntaxKind(e)}}function visitParametersAndTypeParameters(e){e.typeParameters&&(t.push({text:"<"}),visitDisplayPartList(e.typeParameters,", "),t.push({text:">"})),t.push({text:"("}),visitDisplayPartList(e.parameters,", "),t.push({text:")"})}function visitDisplayPartList(e,n){e.forEach((e,r)=>{r>0&&t.push({text:n}),visitForDisplayParts(e)})}function getLiteralText2(e){switch(e.kind){case 11:return 0===c?`'${escapeString(e.text,39)}'`:`"${escapeString(e.text,34)}"`;case 16:case 17:case 18:{const t=e.rawText??escapeTemplateSubstitution(escapeString(e.text,96));switch(e.kind){case 16:return"`"+t+"${";case 17:return"}"+t+"${";case 18:return"}"+t+"`"}}}return e.text}}function isHintableDeclaration(e){if((isPartOfParameterDeclaration(e)||isVariableDeclaration(e)&&isVarConst(e))&&e.initializer){const t=skipParentheses(e.initializer);return!(isHintableLiteral(t)||isNewExpression(t)||isObjectLiteralExpression(t)||isAssertionExpression(t))}return!0}function getNodeDisplayPart(e,t){const n=t.getSourceFile();return{text:e,span:createTextSpanFromNode(t,n),file:n.fileName}}}var Am={};i(Am,{getDocCommentTemplateAtPosition:()=>getDocCommentTemplateAtPosition,getJSDocParameterNameCompletionDetails:()=>getJSDocParameterNameCompletionDetails,getJSDocParameterNameCompletions:()=>getJSDocParameterNameCompletions,getJSDocTagCompletionDetails:()=>getJSDocTagCompletionDetails,getJSDocTagCompletions:()=>getJSDocTagCompletions,getJSDocTagNameCompletionDetails:()=>Mm,getJSDocTagNameCompletions:()=>getJSDocTagNameCompletions,getJsDocCommentsFromDeclarations:()=>getJsDocCommentsFromDeclarations,getJsDocTagsFromDeclarations:()=>getJsDocTagsFromDeclarations});var Om,wm,Lm=["abstract","access","alias","argument","async","augments","author","borrows","callback","class","classdesc","constant","constructor","constructs","copyright","default","deprecated","description","emits","enum","event","example","exports","extends","external","field","file","fileoverview","fires","function","generator","global","hideconstructor","host","ignore","implements","import","inheritdoc","inner","instance","interface","kind","lends","license","link","linkcode","linkplain","listens","member","memberof","method","mixes","module","name","namespace","overload","override","package","param","private","prop","property","protected","public","readonly","requires","returns","satisfies","see","since","static","summary","template","this","throws","todo","tutorial","type","typedef","var","variation","version","virtual","yields"];function getJsDocCommentsFromDeclarations(e,t){const n=[];return forEachUnique(e,e=>{for(const r of function getCommentHavingNodes(e){switch(e.kind){case 342:case 349:return[e];case 339:case 347:return[e,e.parent];case 324:if(isJSDocOverloadTag(e.parent))return[e.parent.parent];default:return getJSDocCommentsAndTags(e)}}(e)){const i=isJSDoc(r)&&r.tags&&find(r.tags,e=>328===e.kind&&("inheritDoc"===e.tagName.escapedText||"inheritdoc"===e.tagName.escapedText));if(void 0===r.comment&&!i||isJSDoc(r)&&347!==e.kind&&339!==e.kind&&r.tags&&r.tags.some(e=>347===e.kind||339===e.kind)&&!r.tags.some(e=>342===e.kind||343===e.kind))continue;let o=r.comment?getDisplayPartsFromComment(r.comment,t):[];i&&i.comment&&(o=o.concat(getDisplayPartsFromComment(i.comment,t))),contains(n,o,isIdenticalListOfDisplayParts)||n.push(o)}}),flatten(intersperse(n,[lineBreakPart()]))}function isIdenticalListOfDisplayParts(e,t){return arrayIsEqualTo(e,t,(e,t)=>e.kind===t.kind&&e.text===t.text)}function getJsDocTagsFromDeclarations(e,t){const n=[];return forEachUnique(e,e=>{const r=getJSDocTags(e);if(!r.some(e=>347===e.kind||339===e.kind)||r.some(e=>342===e.kind||343===e.kind))for(const e of r)n.push({name:e.tagName.text,text:getCommentDisplayParts(e,t)}),n.push(...getJSDocPropertyTagsInfo(tryGetJSDocPropertyTags(e),t))}),n}function getJSDocPropertyTagsInfo(e,t){return flatMap(e,e=>concatenate([{name:e.tagName.text,text:getCommentDisplayParts(e,t)}],getJSDocPropertyTagsInfo(tryGetJSDocPropertyTags(e),t)))}function tryGetJSDocPropertyTags(e){return isJSDocPropertyLikeTag(e)&&e.isNameFirst&&e.typeExpression&&isJSDocTypeLiteral(e.typeExpression.type)?e.typeExpression.type.jsDocPropertyTags:void 0}function getDisplayPartsFromComment(e,t){return"string"==typeof e?[textPart(e)]:flatMap(e,e=>322===e.kind?[textPart(e.text)]:buildLinkParts(e,t))}function getCommentDisplayParts(e,t){const{comment:n,kind:r}=e,i=function getTagNameDisplayPart(e){switch(e){case 342:return parameterNamePart;case 349:return propertyNamePart;case 346:return typeParameterNamePart;case 347:case 339:return typeAliasNamePart;default:return textPart}}(r);switch(r){case 350:const r=e.typeExpression;return r?withNode(r):void 0===n?void 0:getDisplayPartsFromComment(n,t);case 330:case 329:return withNode(e.class);case 346:const o=e,a=[];if(o.constraint&&a.push(textPart(o.constraint.getText())),length(o.typeParameters)){length(a)&&a.push(spacePart());const e=o.typeParameters[o.typeParameters.length-1];forEach(o.typeParameters,t=>{a.push(i(t.getText())),e!==t&&a.push(punctuationPart(28),spacePart())})}return n&&a.push(spacePart(),...getDisplayPartsFromComment(n,t)),a;case 345:case 351:return withNode(e.typeExpression);case 347:case 339:case 349:case 342:case 348:const{name:s}=e;return s?withNode(s):void 0===n?void 0:getDisplayPartsFromComment(n,t);default:return void 0===n?void 0:getDisplayPartsFromComment(n,t)}function withNode(e){return function addComment(e){return n?e.match(/^https?$/)?[textPart(e),...getDisplayPartsFromComment(n,t)]:[i(e),spacePart(),...getDisplayPartsFromComment(n,t)]:[textPart(e)]}(e.getText())}}function getJSDocTagNameCompletions(){return Om||(Om=map(Lm,e=>({name:e,kind:"keyword",kindModifiers:"",sortText:sm.SortText.LocationPriority})))}var Mm=getJSDocTagCompletionDetails;function getJSDocTagCompletions(){return wm||(wm=map(Lm,e=>({name:`@${e}`,kind:"keyword",kindModifiers:"",sortText:sm.SortText.LocationPriority})))}function getJSDocTagCompletionDetails(e){return{name:e,kind:"",kindModifiers:"",displayParts:[textPart(e)],documentation:l,tags:void 0,codeActions:void 0}}function getJSDocParameterNameCompletions(e){if(!isIdentifier(e.name))return l;const t=e.name.text,n=e.parent,r=n.parent;return isFunctionLike(r)?mapDefined(r.parameters,r=>{if(!isIdentifier(r.name))return;const i=r.name.text;return n.tags.some(t=>t!==e&&isJSDocParameterTag(t)&&isIdentifier(t.name)&&t.name.escapedText===i)||void 0!==t&&!startsWith(i,t)?void 0:{name:i,kind:"parameter",kindModifiers:"",sortText:sm.SortText.LocationPriority}}):[]}function getJSDocParameterNameCompletionDetails(e){return{name:e,kind:"parameter",kindModifiers:"",displayParts:[textPart(e)],documentation:l,tags:void 0,codeActions:void 0}}function getDocCommentTemplateAtPosition(e,t,n,r){const i=getTokenAtPosition(t,n),o=findAncestor(i,isJSDoc);if(o&&(void 0!==o.comment||length(o.tags)))return;const a=i.getStart(t);if(!o&&a<n)return;const s=function getCommentOwnerInfo(e,t){return forEachAncestor(e,e=>getCommentOwnerInfoWorker(e,t))}(i,r);if(!s)return;const{commentOwner:c,parameters:l,hasReturn:d}=s,p=lastOrUndefined(hasJSDocNodes(c)&&c.jsDoc?c.jsDoc:void 0);if(c.getStart(t)<n||p&&o&&p!==o)return;const u=function getIndentationStringAtPosition(e,t){const{text:n}=e,r=getLineStartPositionForPosition(t,e);let i=r;for(;i<=t&&isWhiteSpaceSingleLine(n.charCodeAt(i));i++);return n.slice(r,i)}(t,n),m=hasJSFileExtension(t.fileName),_=(l?function parameterDocComments(e,t,n,r){return e.map(({name:e,dotDotDotToken:i},o)=>{const a=80===e.kind?e.text:"param"+o;return`${n} * @param ${t?i?"{...any} ":"{any} ":""}${a}${r}`}).join("")}(l||[],m,u,e):"")+(d?function returnsDocComment(e,t){return`${e} * @returns${t}`}(u,e):""),f=length(getJSDocTags(c))>0;if(_&&!f){const t="/**"+e+u+" * ";return{newText:t+e+_+u+" */"+(a===n?e+u:""),caretOffset:t.length}}return{newText:"/** */",caretOffset:3}}function getCommentOwnerInfoWorker(e,t){switch(e.kind){case 263:case 219:case 175:case 177:case 174:case 220:const n=e;return{commentOwner:e,parameters:n.parameters,hasReturn:hasReturn(n,t)};case 304:return getCommentOwnerInfoWorker(e.initializer,t);case 264:case 265:case 267:case 307:case 266:return{commentOwner:e};case 172:{const n=e;return n.type&&isFunctionTypeNode(n.type)?{commentOwner:e,parameters:n.type.parameters,hasReturn:hasReturn(n.type,t)}:{commentOwner:e}}case 244:{const n=e.declarationList.declarations,r=1===n.length&&n[0].initializer?function getRightHandSideOfAssignment(e){for(;218===e.kind;)e=e.expression;switch(e.kind){case 219:case 220:return e;case 232:return find(e.members,isConstructorDeclaration)}}(n[0].initializer):void 0;return r?{commentOwner:e,parameters:r.parameters,hasReturn:hasReturn(r,t)}:{commentOwner:e}}case 308:return"quit";case 268:return 268===e.parent.kind?void 0:{commentOwner:e};case 245:return getCommentOwnerInfoWorker(e.expression,t);case 227:{const n=e;return 0===getAssignmentDeclarationKind(n)?"quit":isFunctionLike(n.right)?{commentOwner:e,parameters:n.right.parameters,hasReturn:hasReturn(n.right,t)}:{commentOwner:e}}case 173:const r=e.initializer;if(r&&(isFunctionExpression(r)||isArrowFunction(r)))return{commentOwner:e,parameters:r.parameters,hasReturn:hasReturn(r,t)}}}function hasReturn(e,t){return!!(null==t?void 0:t.generateReturnInDocTemplate)&&(isFunctionTypeNode(e)||isArrowFunction(e)&&isExpression(e.body)||isFunctionLikeDeclaration(e)&&e.body&&isBlock(e.body)&&!!forEachReturnStatement(e.body,e=>e))}var Rm={};function mapCode(e,t,n,r,i,o){return $m.ChangeTracker.with({host:r,formatContext:i,preferences:o},r=>{const i=t.map(t=>function parse(e,t){const n=[{parse:()=>createSourceFile("__mapcode_content_nodes.ts",t,e.languageVersion,!0,e.scriptKind),body:e=>e.statements},{parse:()=>createSourceFile("__mapcode_class_content_nodes.ts",`class __class {\n${t}\n}`,e.languageVersion,!0,e.scriptKind),body:e=>e.statements[0].members}],r=[];for(const{parse:e,body:t}of n){const n=e(),i=t(n);if(i.length&&0===n.parseDiagnostics.length)return i;i.length&&r.push({sourceFile:n,body:i})}r.sort((e,t)=>e.sourceFile.parseDiagnostics.length-t.sourceFile.parseDiagnostics.length);const{body:i}=r[0];return i}(e,t)),o=n&&flatten(n);for(const t of i)placeNodeGroup(e,r,t,o)})}function placeNodeGroup(e,t,n,r){isClassElement(n[0])||isTypeElement(n[0])?function placeClassNodeGroup(e,t,n,r){let i;i=r&&r.length?forEach(r,t=>findAncestor(getTokenAtPosition(e,t.start),or(isClassLike,isInterfaceDeclaration))):find(e.statements,or(isClassLike,isInterfaceDeclaration));if(!i)return;const o=i.members.find(e=>n.some(t=>matchNode(t,e)));if(o){const r=findLast(i.members,e=>n.some(t=>matchNode(t,e)));return forEach(n,wipeNode),void t.replaceNodeRangeWithNodes(e,o,r,n)}forEach(n,wipeNode),t.insertNodesAfter(e,i.members[i.members.length-1],n)}(e,t,n,r):function placeStatements(e,t,n,r){if(!(null==r?void 0:r.length))return void t.insertNodesAtEndOfFile(e,n,!1);for(const i of r){const r=findAncestor(getTokenAtPosition(e,i.start),e=>or(isBlock,isSourceFile)(e)&&some(e.statements,e=>n.some(t=>matchNode(t,e))));if(r){const i=r.statements.find(e=>n.some(t=>matchNode(t,e)));if(i){const o=findLast(r.statements,e=>n.some(t=>matchNode(t,e)));return forEach(n,wipeNode),void t.replaceNodeRangeWithNodes(e,i,o,n)}}}let i=e.statements;for(const t of r){const n=findAncestor(getTokenAtPosition(e,t.start),isBlock);if(n){i=n.statements;break}}forEach(n,wipeNode),t.insertNodesAfter(e,i[i.length-1],n)}(e,t,n,r)}function matchNode(e,t){var n,r,i,o,a,s;return e.kind===t.kind&&(177===e.kind?e.kind===t.kind:isNamedDeclaration(e)&&isNamedDeclaration(t)?e.name.getText()===t.name.getText():isIfStatement(e)&&isIfStatement(t)||isWhileStatement(e)&&isWhileStatement(t)?e.expression.getText()===t.expression.getText():isForStatement(e)&&isForStatement(t)?(null==(n=e.initializer)?void 0:n.getText())===(null==(r=t.initializer)?void 0:r.getText())&&(null==(i=e.incrementor)?void 0:i.getText())===(null==(o=t.incrementor)?void 0:o.getText())&&(null==(a=e.condition)?void 0:a.getText())===(null==(s=t.condition)?void 0:s.getText()):isForInOrOfStatement(e)&&isForInOrOfStatement(t)?e.expression.getText()===t.expression.getText()&&e.initializer.getText()===t.initializer.getText():isLabeledStatement(e)&&isLabeledStatement(t)?e.label.getText()===t.label.getText():e.getText()===t.getText())}function wipeNode(e){resetNodePositions(e),e.parent=void 0}function resetNodePositions(e){e.pos=-1,e.end=-1,e.forEachChild(resetNodePositions)}i(Rm,{mapCode:()=>mapCode});var Bm={};function organizeImports(e,t,n,r,i,o){const a=$m.ChangeTracker.fromContext({host:n,formatContext:t,preferences:i}),s="SortAndCombine"===o||"All"===o,c=s,l="RemoveUnused"===o||"All"===o,d=e.statements.filter(isImportDeclaration),p=groupByNewlineContiguous(e,d),{comparersToTest:u,typeOrdersToTest:m}=getDetectionLists(i),_=u[0],f={moduleSpecifierComparer:"boolean"==typeof i.organizeImportsIgnoreCase?_:void 0,namedImportComparer:"boolean"==typeof i.organizeImportsIgnoreCase?_:void 0,typeOrder:i.organizeImportsTypeOrder};if("boolean"!=typeof i.organizeImportsIgnoreCase&&({comparer:f.moduleSpecifierComparer}=detectModuleSpecifierCaseBySort(p,u)),!f.typeOrder||"boolean"!=typeof i.organizeImportsIgnoreCase){const e=detectNamedImportOrganizationBySort(d,u,m);if(e){const{namedImportComparer:t,typeOrder:n}=e;f.namedImportComparer=f.namedImportComparer??t,f.typeOrder=f.typeOrder??n}}p.forEach(e=>organizeImportsWorker(e,f)),"RemoveUnused"!==o&&function getTopLevelExportGroups(e){const t=[],n=e.statements,r=length(n);let i=0,o=0;for(;i<r;)if(isExportDeclaration(n[i])){void 0===t[o]&&(t[o]=[]);const e=n[i];if(e.moduleSpecifier)t[o].push(e),i++;else{for(;i<r&&isExportDeclaration(n[i]);)t[o].push(n[i++]);o++}}else i++;return flatMap(t,t=>groupByNewlineContiguous(e,t))}(e).forEach(e=>organizeExportsWorker(e,f.namedImportComparer));for(const t of e.statements.filter(isAmbientModule)){if(!t.body)continue;if(groupByNewlineContiguous(e,t.body.statements.filter(isImportDeclaration)).forEach(e=>organizeImportsWorker(e,f)),"RemoveUnused"!==o){organizeExportsWorker(t.body.statements.filter(isExportDeclaration),f.namedImportComparer)}}return a.getChanges();function organizeDeclsWorker(r,i){if(0===length(r))return;setEmitFlags(r[0],1024);const o=c?group(r,e=>getExternalModuleName2(e.moduleSpecifier)):[r],l=flatMap(s?toSorted(o,(e,t)=>compareModuleSpecifiersWorker(e[0].moduleSpecifier,t[0].moduleSpecifier,f.moduleSpecifierComparer??_)):o,e=>getExternalModuleName2(e[0].moduleSpecifier)||void 0===e[0].moduleSpecifier?i(e):e);if(0===l.length)a.deleteNodes(e,r,{leadingTriviaOption:$m.LeadingTriviaOption.Exclude,trailingTriviaOption:$m.TrailingTriviaOption.Include},!0);else{const i={leadingTriviaOption:$m.LeadingTriviaOption.Exclude,trailingTriviaOption:$m.TrailingTriviaOption.Include,suffix:getNewLineOrDefaultFromHost(n,t.options)};a.replaceNodeWithNodes(e,r[0],l,i);const o=a.nodeHasTrailingComment(e,r[0],i);a.deleteNodes(e,r.slice(1),{trailingTriviaOption:$m.TrailingTriviaOption.Include},o)}}function organizeImportsWorker(t,n){const i=n.moduleSpecifierComparer??_,o=n.namedImportComparer??_,a=getNamedImportSpecifierComparer({organizeImportsTypeOrder:n.typeOrder??"last"},o);organizeDeclsWorker(t,t=>(l&&(t=function removeUnusedImports(e,t,n){const r=n.getTypeChecker(),i=n.getCompilerOptions(),o=r.getJsxNamespace(t),a=r.getJsxFragmentFactory(t),s=!!(2&t.transformFlags),c=[];for(const n of e){const{importClause:e,moduleSpecifier:r}=n;if(!e){c.push(n);continue}let{name:i,namedBindings:o}=e;if(i&&!isDeclarationUsed(i)&&(i=void 0),o)if(isNamespaceImport(o))isDeclarationUsed(o.name)||(o=void 0);else{const e=o.elements.filter(e=>isDeclarationUsed(e.name));e.length<o.elements.length&&(o=e.length?Wr.updateNamedImports(o,e):void 0)}i||o?c.push(updateImportDeclarationAndClause(n,i,o)):hasModuleDeclarationMatchingSpecifier(t,r)&&(t.isDeclarationFile?c.push(Wr.createImportDeclaration(n.modifiers,void 0,r,void 0)):c.push(n))}return c;function isDeclarationUsed(e){return s&&(e.text===o||a&&e.text===a)&&jsxModeNeedsExplicitImport(i.jsx)||vm.Core.isSymbolReferencedInFile(e,r,t)}}(t,e,r)),c&&(t=coalesceImportsWorker(t,i,a,e)),s&&(t=toSorted(t,(e,t)=>compareImportsOrRequireStatements(e,t,i))),t))}function organizeExportsWorker(e,t){const n=getNamedImportSpecifierComparer(i,t);organizeDeclsWorker(e,e=>coalesceExportsWorker(e,n))}}function getDetectionLists(e){return{comparersToTest:"boolean"==typeof e.organizeImportsIgnoreCase?[getOrganizeImportsStringComparer(e,e.organizeImportsIgnoreCase)]:[getOrganizeImportsStringComparer(e,!0),getOrganizeImportsStringComparer(e,!1)],typeOrdersToTest:e.organizeImportsTypeOrder?[e.organizeImportsTypeOrder]:["last","inline","first"]}}function groupByNewlineContiguous(e,t){const n=createScanner(e.languageVersion,!1,e.languageVariant),r=[];let i=0;for(const o of t)r[i]&&isNewGroup(e,o,n)&&i++,r[i]||(r[i]=[]),r[i].push(o);return r}function isNewGroup(e,t,n){const r=t.getFullStart(),i=t.getStart();n.setText(e.text,r,i-r);let o=0;for(;n.getTokenStart()<i;){if(4===n.scan()&&(o++,o>=2))return!0}return!1}function getExternalModuleName2(e){return void 0!==e&&isStringLiteralLike(e)?e.text:void 0}function getCategorizedImports(e){let t;const n={defaultImports:[],namespaceImports:[],namedImports:[]},r={defaultImports:[],namespaceImports:[],namedImports:[]};for(const i of e){if(void 0===i.importClause){t=t||i;continue}const e=i.importClause.isTypeOnly?n:r,{name:o,namedBindings:a}=i.importClause;o&&e.defaultImports.push(i),a&&(isNamespaceImport(a)?e.namespaceImports.push(i):e.namedImports.push(i))}return{importWithoutClause:t,typeOnlyImports:n,regularImports:r}}function coalesceImportsWorker(e,t,n,r){if(0===e.length)return e;const i=groupBy(e,e=>{if(e.attributes){let t=e.attributes.token+" ";for(const n of toSorted(e.attributes.elements,(e,t)=>compareStringsCaseSensitive(e.name.text,t.name.text)))t+=n.name.text+":",t+=isStringLiteralLike(n.value)?`"${n.value.text}"`:n.value.getText()+" ";return t}return""}),o=[];for(const e in i){const a=i[e],{importWithoutClause:s,typeOnlyImports:c,regularImports:d}=getCategorizedImports(a);s&&o.push(s);for(const e of[d,c]){const i=e===c,{defaultImports:a,namespaceImports:s,namedImports:d}=e;if(!i&&1===a.length&&1===s.length&&0===d.length){const e=a[0];o.push(updateImportDeclarationAndClause(e,e.importClause.name,s[0].importClause.namedBindings));continue}const p=toSorted(s,(e,n)=>t(e.importClause.namedBindings.name.text,n.importClause.namedBindings.name.text));for(const e of p)o.push(updateImportDeclarationAndClause(e,void 0,e.importClause.namedBindings));const u=firstOrUndefined(a),m=firstOrUndefined(d),_=u??m;if(!_)continue;let f;const g=[];if(1===a.length)f=a[0].importClause.name;else for(const e of a)g.push(Wr.createImportSpecifier(!1,Wr.createIdentifier("default"),e.importClause.name));g.push(...getNewImportSpecifiers(d));const y=Wr.createNodeArray(toSorted(g,n),null==m?void 0:m.importClause.namedBindings.elements.hasTrailingComma),h=0===y.length?f?void 0:Wr.createNamedImports(l):m?Wr.updateNamedImports(m.importClause.namedBindings,y):Wr.createNamedImports(y);r&&h&&(null==m?void 0:m.importClause.namedBindings)&&!rangeIsOnSingleLine(m.importClause.namedBindings,r)&&setEmitFlags(h,2),i&&f&&h?(o.push(updateImportDeclarationAndClause(_,f,void 0)),o.push(updateImportDeclarationAndClause(m??_,void 0,h))):o.push(updateImportDeclarationAndClause(_,f,h))}}return o}function coalesceExportsWorker(e,t){if(0===e.length)return e;const{exportWithoutClause:n,namedExports:r,typeOnlyExports:i}=function getCategorizedExports(e){let t;const n=[],r=[];for(const i of e)void 0===i.exportClause?t=t||i:i.isTypeOnly?r.push(i):n.push(i);return{exportWithoutClause:t,namedExports:n,typeOnlyExports:r}}(e),o=[];n&&o.push(n);for(const e of[r,i]){if(0===e.length)continue;const n=[];n.push(...flatMap(e,e=>e.exportClause&&isNamedExports(e.exportClause)?e.exportClause.elements:l));const r=toSorted(n,t),i=e[0];o.push(Wr.updateExportDeclaration(i,i.modifiers,i.isTypeOnly,i.exportClause&&(isNamedExports(i.exportClause)?Wr.updateNamedExports(i.exportClause,r):Wr.updateNamespaceExport(i.exportClause,i.exportClause.name)),i.moduleSpecifier,i.attributes))}return o}function updateImportDeclarationAndClause(e,t,n){return Wr.updateImportDeclaration(e,e.modifiers,Wr.updateImportClause(e.importClause,e.importClause.phaseModifier,t,n),e.moduleSpecifier,e.attributes)}function compareImportOrExportSpecifiers(e,t,n,r){switch(null==r?void 0:r.organizeImportsTypeOrder){case"first":return compareBooleans(t.isTypeOnly,e.isTypeOnly)||n(e.name.text,t.name.text);case"inline":return n(e.name.text,t.name.text);default:return compareBooleans(e.isTypeOnly,t.isTypeOnly)||n(e.name.text,t.name.text)}}function compareModuleSpecifiersWorker(e,t,n){const r=void 0===e?void 0:getExternalModuleName2(e),i=void 0===t?void 0:getExternalModuleName2(t);return compareBooleans(void 0===r,void 0===i)||compareBooleans(isExternalModuleNameRelative(r),isExternalModuleNameRelative(i))||n(r,i)}function getModuleSpecifierExpression(e){var t;switch(e.kind){case 272:return null==(t=tryCast(e.moduleReference,isExternalModuleReference))?void 0:t.expression;case 273:return e.moduleSpecifier;case 244:return e.declarationList.declarations[0].initializer.arguments[0]}}function hasModuleDeclarationMatchingSpecifier(e,t){const n=isStringLiteral(t)&&t.text;return isString(n)&&some(e.moduleAugmentations,e=>isStringLiteral(e)&&e.text===n)}function getNewImportSpecifiers(e){return flatMap(e,e=>map(function tryGetNamedBindingElements(e){var t;return(null==(t=e.importClause)?void 0:t.namedBindings)&&isNamedImports(e.importClause.namedBindings)?e.importClause.namedBindings.elements:void 0}(e),e=>e.name&&e.propertyName&&moduleExportNameTextEscaped(e.name)===moduleExportNameTextEscaped(e.propertyName)?Wr.updateImportSpecifier(e,e.isTypeOnly,void 0,e.name):e))}function detectModuleSpecifierCaseBySort(e,t){const n=[];return e.forEach(e=>{n.push(function getModuleNamesFromDecls(e){return e.map(e=>getExternalModuleName2(getModuleSpecifierExpression(e))||"")}(e))}),detectCaseSensitivityBySort(n,t)}function detectNamedImportOrganizationBySort(e,t,n){let r=!1;const i=e.filter(e=>{var t,n;const i=null==(n=tryCast(null==(t=e.importClause)?void 0:t.namedBindings,isNamedImports))?void 0:n.elements;return!!(null==i?void 0:i.length)&&(!r&&i.some(e=>e.isTypeOnly)&&i.some(e=>!e.isTypeOnly)&&(r=!0),!0)});if(0===i.length)return;const o=i.map(e=>{var t,n;return null==(n=tryCast(null==(t=e.importClause)?void 0:t.namedBindings,isNamedImports))?void 0:n.elements}).filter(e=>void 0!==e);if(!r||0===n.length){const e=detectCaseSensitivityBySort(o.map(e=>e.map(e=>e.name.text)),t);return{namedImportComparer:e.comparer,typeOrder:1===n.length?n[0]:void 0,isSorted:e.isSorted}}const a={first:1/0,last:1/0,inline:1/0},s={first:t[0],last:t[0],inline:t[0]};for(const e of t){const t={first:0,last:0,inline:0};for(const r of o)for(const i of n)t[i]=(t[i]??0)+measureSortedness(r,(t,n)=>compareImportOrExportSpecifiers(t,n,e,{organizeImportsTypeOrder:i}));for(const r of n){const n=r;t[n]<a[n]&&(a[n]=t[n],s[n]=e)}}e:for(const e of n){const t=e;for(const e of n){if(a[e]<a[t])continue e}return{namedImportComparer:s[t],typeOrder:t,isSorted:0===a[t]}}return{namedImportComparer:s.last,typeOrder:"last",isSorted:0===a.last}}function measureSortedness(e,t){let n=0;for(let r=0;r<e.length-1;r++)t(e[r],e[r+1])>0&&n++;return n}function detectCaseSensitivityBySort(e,t){let n,r=1/0;for(const i of t){let t=0;for(const n of e){if(n.length<=1)continue;t+=measureSortedness(n,i)}t<r&&(r=t,n=i)}return{comparer:n??t[0],isSorted:0===r}}function getImportKindOrder(e){var t;switch(e.kind){case 273:return e.importClause?e.importClause.isTypeOnly?1:275===(null==(t=e.importClause.namedBindings)?void 0:t.kind)?2:e.importClause.name?3:4:0;case 272:return 5;case 244:return 6}}function getOrganizeImportsOrdinalStringComparer(e){return e?compareStringsCaseInsensitiveEslintCompatible:compareStringsCaseSensitive}function getOrganizeImportsUnicodeStringComparer(e,t){const n=function getOrganizeImportsLocale(e){let t=e.organizeImportsLocale;"auto"===t&&(t=getUILocale());void 0===t&&(t="en");const n=Intl.Collator.supportedLocalesOf(t),r=n.length?n[0]:"en";return r}(t),r=t.organizeImportsCaseFirst??!1,i=t.organizeImportsNumericCollation??!1,o=t.organizeImportsAccentCollation??!0,a=e?o?"accent":"base":o?"variant":"case";return new Intl.Collator(n,{usage:"sort",caseFirst:r||"false",sensitivity:a,numeric:i}).compare}function getOrganizeImportsStringComparer(e,t){return"unicode"===(e.organizeImportsCollation??"ordinal")?getOrganizeImportsUnicodeStringComparer(t,e):getOrganizeImportsOrdinalStringComparer(t)}function getOrganizeImportsStringComparerWithDetection(e,t){return detectModuleSpecifierCaseBySort([e],getDetectionLists(t).comparersToTest)}function getNamedImportSpecifierComparer(e,t){const n=t??getOrganizeImportsOrdinalStringComparer(!!e.organizeImportsIgnoreCase);return(t,r)=>compareImportOrExportSpecifiers(t,r,n,e)}function getNamedImportSpecifierComparerWithDetection(e,t,n){const{comparersToTest:r,typeOrdersToTest:i}=getDetectionLists(t),o=detectNamedImportOrganizationBySort([e],r,i);let a,s=getNamedImportSpecifierComparer(t,r[0]);if("boolean"!=typeof t.organizeImportsIgnoreCase||!t.organizeImportsTypeOrder)if(o){const{namedImportComparer:e,typeOrder:t,isSorted:n}=o;a=n,s=getNamedImportSpecifierComparer({organizeImportsTypeOrder:t},e)}else if(n){const e=detectNamedImportOrganizationBySort(n.statements.filter(isImportDeclaration),r,i);if(e){const{namedImportComparer:t,typeOrder:n,isSorted:r}=e;a=r,s=getNamedImportSpecifierComparer({organizeImportsTypeOrder:n},t)}}return{specifierComparer:s,isSorted:a}}function getImportDeclarationInsertionIndex(e,t,n){const r=binarySearch(e,t,identity,(e,t)=>compareImportsOrRequireStatements(e,t,n));return r<0?~r:r}function getImportSpecifierInsertionIndex(e,t,n){const r=binarySearch(e,t,identity,n);return r<0?~r:r}function compareImportsOrRequireStatements(e,t,n){return compareModuleSpecifiersWorker(getModuleSpecifierExpression(e),getModuleSpecifierExpression(t),n)||function compareImportKind(e,t){return compareValues(getImportKindOrder(e),getImportKindOrder(t))}(e,t)}function testCoalesceImports(e,t,n,r){const i=getOrganizeImportsOrdinalStringComparer(t);return coalesceImportsWorker(e,i,getNamedImportSpecifierComparer({organizeImportsTypeOrder:null==r?void 0:r.organizeImportsTypeOrder},i),n)}function testCoalesceExports(e,t,n){return coalesceExportsWorker(e,(e,r)=>compareImportOrExportSpecifiers(e,r,getOrganizeImportsOrdinalStringComparer(t),{organizeImportsTypeOrder:(null==n?void 0:n.organizeImportsTypeOrder)??"last"}))}function compareModuleSpecifiers2(e,t,n){return compareModuleSpecifiersWorker(e,t,getOrganizeImportsOrdinalStringComparer(!!n))}i(Bm,{compareImportsOrRequireStatements:()=>compareImportsOrRequireStatements,compareModuleSpecifiers:()=>compareModuleSpecifiers2,getImportDeclarationInsertionIndex:()=>getImportDeclarationInsertionIndex,getImportSpecifierInsertionIndex:()=>getImportSpecifierInsertionIndex,getNamedImportSpecifierComparerWithDetection:()=>getNamedImportSpecifierComparerWithDetection,getOrganizeImportsStringComparerWithDetection:()=>getOrganizeImportsStringComparerWithDetection,organizeImports:()=>organizeImports,testCoalesceExports:()=>testCoalesceExports,testCoalesceImports:()=>testCoalesceImports});var jm={};function collectElements(e,t){const n=[];return function addNodeOutliningSpans(e,t,n){let r=40,i=0;const o=e.statements,a=o.length;for(;i<a;){for(;i<a&&!isAnyImportSyntax(o[i]);)visitNode3(o[i]),i++;if(i===a)break;const t=i;for(;i<a&&isAnyImportSyntax(o[i]);)visitNode3(o[i]),i++;const r=i-1;r!==t&&n.push(createOutliningSpanFromBounds(findChildOfKind(o[t],102,e).getStart(e),o[r].getEnd(),"imports"))}function visitNode3(i){var o;if(0===r)return;t.throwIfCancellationRequested(),(isDeclaration(i)||isVariableStatement(i)||isReturnStatement(i)||isCallOrNewExpression(i)||1===i.kind)&&addOutliningForLeadingCommentsForNode(i,e,t,n),isFunctionLike(i)&&isBinaryExpression(i.parent)&&isPropertyAccessExpression(i.parent.left)&&addOutliningForLeadingCommentsForNode(i.parent.left,e,t,n),(isBlock(i)||isModuleBlock(i))&&addOutliningForLeadingCommentsForPos(i.statements.end,e,t,n),(isClassLike(i)||isInterfaceDeclaration(i))&&addOutliningForLeadingCommentsForPos(i.members.end,e,t,n);const a=function getOutliningSpanForNode(e,t){switch(e.kind){case 242:if(isFunctionLike(e.parent))return function functionSpan(e,t,n){const r=function tryGetFunctionOpenToken(e,t,n){if(isNodeArrayMultiLine(e.parameters,n)){const t=findChildOfKind(e,21,n);if(t)return t}return findChildOfKind(t,19,n)}(e,t,n),i=findChildOfKind(t,20,n);return r&&i&&spanBetweenTokens(r,i,e,n,220!==e.kind)}(e.parent,e,t);switch(e.parent.kind){case 247:case 250:case 251:case 249:case 246:case 248:case 255:case 300:return spanForNode(e.parent);case 259:const n=e.parent;if(n.tryBlock===e)return spanForNode(e.parent);if(n.finallyBlock===e){const e=findChildOfKind(n,98,t);if(e)return spanForNode(e)}default:return createOutliningSpan(createTextSpanFromNode(e,t),"code")}case 269:return spanForNode(e.parent);case 264:case 232:case 265:case 267:case 270:case 188:case 207:return spanForNode(e);case 190:return spanForNode(e,!1,!isTupleTypeNode(e.parent),23);case 297:case 298:return spanForNodeArray(e.statements);case 211:return spanForObjectOrArrayLiteral(e);case 210:return spanForObjectOrArrayLiteral(e,23);case 285:return spanForJSXElement(e);case 289:return spanForJSXFragment(e);case 286:case 287:return spanForJSXAttributes(e.attributes);case 229:case 15:return spanForTemplateLiteral(e);case 208:return spanForNode(e,!1,!isBindingElement(e.parent),23);case 220:return spanForArrowFunction(e);case 214:return spanForCallExpression(e);case 218:return spanForParenthesizedExpression(e);case 276:case 280:case 301:return spanForImportExportElements(e)}function spanForImportExportElements(e){if(!e.elements.length)return;const n=findChildOfKind(e,19,t),r=findChildOfKind(e,20,t);return n&&r&&!positionsAreOnSameLine(n.pos,r.pos,t)?spanBetweenTokens(n,r,e,t,!1,!1):void 0}function spanForCallExpression(e){if(!e.arguments.length)return;const n=findChildOfKind(e,21,t),r=findChildOfKind(e,22,t);return n&&r&&!positionsAreOnSameLine(n.pos,r.pos,t)?spanBetweenTokens(n,r,e,t,!1,!0):void 0}function spanForArrowFunction(e){if(isBlock(e.body)||isParenthesizedExpression(e.body)||positionsAreOnSameLine(e.body.getFullStart(),e.body.getEnd(),t))return;return createOutliningSpan(createTextSpanFromBounds(e.body.getFullStart(),e.body.getEnd()),"code",createTextSpanFromNode(e))}function spanForJSXElement(e){const n=createTextSpanFromBounds(e.openingElement.getStart(t),e.closingElement.getEnd()),r=e.openingElement.tagName.getText(t);return createOutliningSpan(n,"code",n,!1,"<"+r+">...</"+r+">")}function spanForJSXFragment(e){const n=createTextSpanFromBounds(e.openingFragment.getStart(t),e.closingFragment.getEnd());return createOutliningSpan(n,"code",n,!1,"<>...</>")}function spanForJSXAttributes(e){if(0!==e.properties.length)return createOutliningSpanFromBounds(e.getStart(t),e.getEnd(),"code")}function spanForTemplateLiteral(e){if(15!==e.kind||0!==e.text.length)return createOutliningSpanFromBounds(e.getStart(t),e.getEnd(),"code")}function spanForObjectOrArrayLiteral(e,t=19){return spanForNode(e,!1,!isArrayLiteralExpression(e.parent)&&!isCallExpression(e.parent),t)}function spanForNode(n,r=!1,i=!0,o=19,a=(19===o?20:24)){const s=findChildOfKind(e,o,t),c=findChildOfKind(e,a,t);return s&&c&&spanBetweenTokens(s,c,n,t,r,i)}function spanForNodeArray(e){return e.length?createOutliningSpan(createTextSpanFromRange(e),"code"):void 0}function spanForParenthesizedExpression(e){if(positionsAreOnSameLine(e.getStart(),e.getEnd(),t))return;return createOutliningSpan(createTextSpanFromBounds(e.getStart(),e.getEnd()),"code",createTextSpanFromNode(e))}}(i,e);a&&n.push(a),r--,isCallExpression(i)?(r++,visitNode3(i.expression),r--,i.arguments.forEach(visitNode3),null==(o=i.typeArguments)||o.forEach(visitNode3)):isIfStatement(i)&&i.elseStatement&&isIfStatement(i.elseStatement)?(visitNode3(i.expression),visitNode3(i.thenStatement),r++,visitNode3(i.elseStatement),r--):i.forEachChild(visitNode3),r++}visitNode3(e.endOfFileToken)}(e,t,n),function addRegionOutliningSpans(e,t){const n=[],r=e.getLineStarts();for(const i of r){const r=e.getLineEndOfPosition(i),o=parseRegionDelimiter(e.text.substring(i,r));if(o&&!isInComment(e,i))if(o.isStart){const t=createTextSpanFromBounds(e.text.indexOf("//",i),r);n.push(createOutliningSpan(t,"region",t,!1,o.name||"#region"))}else{const e=n.pop();e&&(e.textSpan.length=r-e.textSpan.start,e.hintSpan.length=r-e.textSpan.start,t.push(e))}}}(e,n),n.sort((e,t)=>e.textSpan.start-t.textSpan.start),n}i(jm,{collectElements:()=>collectElements});var Jm=/^#(end)?region(.*)\r?$/;function parseRegionDelimiter(e){if(!startsWith(e=e.trimStart(),"//"))return null;e=e.slice(2).trim();const t=Jm.exec(e);return t?{isStart:!t[1],name:t[2].trim()}:void 0}function addOutliningForLeadingCommentsForPos(e,t,n,r){const i=getLeadingCommentRanges(t.text,e);if(!i)return;let o=-1,a=-1,s=0;const c=t.getFullText();for(const{kind:e,pos:t,end:l}of i)switch(n.throwIfCancellationRequested(),e){case 2:if(parseRegionDelimiter(c.slice(t,l))){combineAndAddMultipleSingleLineComments(),s=0;break}0===s&&(o=t),a=l,s++;break;case 3:combineAndAddMultipleSingleLineComments(),r.push(createOutliningSpanFromBounds(t,l,"comment")),s=0;break;default:h.assertNever(e)}function combineAndAddMultipleSingleLineComments(){s>1&&r.push(createOutliningSpanFromBounds(o,a,"comment"))}combineAndAddMultipleSingleLineComments()}function addOutliningForLeadingCommentsForNode(e,t,n,r){isJsxText(e)||addOutliningForLeadingCommentsForPos(e.pos,t,n,r)}function createOutliningSpanFromBounds(e,t,n){return createOutliningSpan(createTextSpanFromBounds(e,t),n)}function spanBetweenTokens(e,t,n,r,i=!1,o=!0){return createOutliningSpan(createTextSpanFromBounds(o?e.getFullStart():e.getStart(r),t.getEnd()),"code",createTextSpanFromNode(n,r),i)}function createOutliningSpan(e,t,n=e,r=!1,i="..."){return{textSpan:e,kind:t,hintSpan:n,bannerText:i,autoCollapse:r}}var Wm={};function getRenameInfo(e,t,n,r){const i=getAdjustedRenameLocation(getTouchingPropertyName(t,n));if(nodeIsEligibleForRename(i)){const n=function getRenameInfoForNode(e,t,n,r,i){const o=t.getSymbolAtLocation(e);if(!o){if(isStringLiteralLike(e)){const r=getContextualTypeFromParentOrAncestorTypeNode(e,t);if(r&&(128&r.flags||1048576&r.flags&&every(r.types,e=>!!(128&e.flags))))return getRenameInfoSuccess(e.text,e.text,"string","",e,n)}else if(isLabelName(e)){const t=getTextOfNode(e);return getRenameInfoSuccess(t,t,"label","",e,n)}return}const{declarations:a}=o;if(!a||0===a.length)return;if(a.some(e=>function isDefinedInLibraryFile(e,t){const n=t.getSourceFile();return e.isSourceFileDefaultLibrary(n)&&fileExtensionIs(n.fileName,".d.ts")}(r,e)))return getRenameInfoError(Ot.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);if(isIdentifier(e)&&"default"===e.escapedText&&o.parent&&1536&o.parent.flags)return;if(isStringLiteralLike(e)&&tryGetImportFromModuleSpecifier(e))return i.allowRenameOfImportPath?function getRenameInfoForModule(e,t,n){if(!isExternalModuleNameRelative(e.text))return getRenameInfoError(Ot.You_cannot_rename_a_module_via_a_global_import);const r=n.declarations&&find(n.declarations,isSourceFile);if(!r)return;const i=endsWith(e.text,"/index")||endsWith(e.text,"/index.js")?void 0:tryRemoveSuffix(removeFileExtension(r.fileName),"/index"),o=void 0===i?r.fileName:i,a=void 0===i?"module":"directory",s=e.text.lastIndexOf("/")+1,c=createTextSpan(e.getStart(t)+1+s,e.text.length-s);return{canRename:!0,fileToRename:o,kind:a,displayName:o,fullDisplayName:e.text,kindModifiers:"",triggerSpan:c}}(e,n,o):void 0;const s=function wouldRenameInOtherNodeModules(e,t,n,r){if(!r.providePrefixAndSuffixTextForRename&&2097152&t.flags){const e=t.declarations&&find(t.declarations,e=>isImportSpecifier(e));e&&!e.propertyName&&(t=n.getAliasedSymbol(t))}const{declarations:i}=t;if(!i)return;const o=getPackagePathComponents(e.path);if(void 0===o)return some(i,e=>isInsideNodeModules(e.getSourceFile().path))?Ot.You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:void 0;for(const e of i){const t=getPackagePathComponents(e.getSourceFile().path);if(t){const e=Math.min(o.length,t.length);for(let n=0;n<=e;n++)if(0!==compareStringsCaseSensitive(o[n],t[n]))return Ot.You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder}}return}(n,o,t,i);if(s)return getRenameInfoError(s);const c=Km.getSymbolKind(t,o,e),l=isImportOrExportSpecifierName(e)||isStringOrNumericLiteralLike(e)&&168===e.parent.kind?stripQuotes(getTextOfIdentifierOrLiteral(e)):void 0,d=l||t.symbolToString(o),p=l||t.getFullyQualifiedName(o);return getRenameInfoSuccess(d,p,c,Km.getSymbolModifiers(t,o),e,n)}(i,e.getTypeChecker(),t,e,r);if(n)return n}return getRenameInfoError(Ot.You_cannot_rename_this_element)}function getPackagePathComponents(e){const t=getPathComponents(e),n=t.lastIndexOf("node_modules");if(-1!==n)return t.slice(0,n+2)}function getRenameInfoSuccess(e,t,n,r,i,o){return{canRename:!0,fileToRename:void 0,kind:n,displayName:e,fullDisplayName:t,kindModifiers:r,triggerSpan:createTriggerSpanForNode(i,o)}}function getRenameInfoError(e){return{canRename:!1,localizedErrorMessage:getLocaleSpecificMessage(e)}}function createTriggerSpanForNode(e,t){let n=e.getStart(t),r=e.getWidth(t);return isStringLiteralLike(e)&&(n+=1,r-=2),createTextSpan(n,r)}function nodeIsEligibleForRename(e){switch(e.kind){case 80:case 81:case 11:case 15:case 110:return!0;case 9:return isLiteralNameOfPropertyDeclarationOrIndexAccess(e);default:return!1}}i(Wm,{getRenameInfo:()=>getRenameInfo,nodeIsEligibleForRename:()=>nodeIsEligibleForRename});var Um={};function getSignatureHelpItems(e,t,n,r,i){const o=e.getTypeChecker(),a=findTokenOnLeftOfPosition(t,n);if(!a)return;const s=!!r&&"characterTyped"===r.kind;if(s&&(isInString(t,n,a)||isInComment(t,n)))return;const c=!!r&&"invoked"===r.kind,l=function getContainingArgumentInfo(e,t,n,r,i){for(let o=e;!isSourceFile(o)&&(i||!isBlock(o));o=o.parent){h.assert(rangeContainsRange(o.parent,o),"Not a subspan",()=>`Child: ${h.formatSyntaxKind(o.kind)}, parent: ${h.formatSyntaxKind(o.parent.kind)}`);const e=getImmediatelyContainingArgumentOrContextualParameterInfo(o,t,n,r);if(e)return e}return}(a,n,t,o,c);if(!l)return;i.throwIfCancellationRequested();const d=function getCandidateOrTypeInfo({invocation:e,argumentCount:t},n,r,i,o){switch(e.kind){case 0:{if(o&&!function isSyntacticOwner(e,t,n){if(!isCallOrNewExpression(t))return!1;const r=t.getChildren(n);switch(e.kind){case 21:return contains(r,e);case 28:{const t=findContainingList(e);return!!t&&contains(r,t)}case 30:return containsPrecedingToken(e,n,t.expression);default:return!1}}(i,e.node,r))return;const a=[],s=n.getResolvedSignatureForSignatureHelp(e.node,a,t);return 0===a.length?void 0:{kind:0,candidates:a,resolvedSignature:s}}case 1:{const{called:a}=e;if(o&&!containsPrecedingToken(i,r,isIdentifier(a)?a.parent:a))return;const s=getPossibleGenericSignatures(a,t,n);if(0!==s.length)return{kind:0,candidates:s,resolvedSignature:first(s)};const c=n.getSymbolAtLocation(a);return c&&{kind:1,symbol:c}}case 2:return{kind:0,candidates:[e.signature],resolvedSignature:e.signature};default:return h.assertNever(e)}}(l,o,t,a,s);return i.throwIfCancellationRequested(),d?o.runWithCancellationToken(i,e=>0===d.kind?createSignatureHelpItems(d.candidates,d.resolvedSignature,l,t,e):function createTypeHelpItems(e,{argumentCount:t,argumentsSpan:n,invocation:r,argumentIndex:i},o,a){const s=a.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);if(!s)return;const c=[getTypeHelpItem(e,s,a,getEnclosingDeclarationFromInvocation(r),o)];return{items:c,applicableSpan:n,selectedItemIndex:0,argumentIndex:i,argumentCount:t}}(d.symbol,l,t,e)):isSourceFileJS(t)?function createJSSignatureHelpItems(e,t,n){if(2===e.invocation.kind)return;const r=getExpressionFromInvocation(e.invocation),i=isPropertyAccessExpression(r)?r.name.text:void 0,o=t.getTypeChecker();return void 0===i?void 0:firstDefined(t.getSourceFiles(),t=>firstDefined(t.getNamedDeclarations().get(i),r=>{const i=r.symbol&&o.getTypeOfSymbolAtLocation(r.symbol,r),a=i&&i.getCallSignatures();if(a&&a.length)return o.runWithCancellationToken(n,n=>createSignatureHelpItems(a,a[0],e,t,n,!0))}))}(l,e,i):void 0}function containsPrecedingToken(e,t,n){const r=e.getFullStart();let i=e.parent;for(;i;){const e=findPrecedingToken(r,t,i,!0);if(e)return rangeContainsRange(n,e);i=i.parent}return h.fail("Could not find preceding token")}function getArgumentInfoForCompletions(e,t,n,r){const i=getImmediatelyContainingArgumentInfo(e,t,n,r);return!i||i.isTypeParameterList||0!==i.invocation.kind?void 0:{invocation:i.invocation.node,argumentCount:i.argumentCount,argumentIndex:i.argumentIndex}}function getArgumentOrParameterListInfo(e,t,n,r){const i=function getArgumentOrParameterListAndIndex(e,t,n){if(30===e.kind||21===e.kind)return{list:getChildListThatStartsWithOpenerToken(e.parent,e,t),argumentIndex:0};{const t=findContainingList(e);return t&&{list:t,argumentIndex:getArgumentIndex(n,t,e)}}}(e,n,r);if(!i)return;const{list:o,argumentIndex:a}=i,s=function getArgumentCount(e,t){return getArgumentIndexOrCount(e,t,void 0)}(r,o),c=function getApplicableSpanForArguments(e,t){const n=e.getFullStart(),r=skipTrivia(t.text,e.getEnd(),!1);return createTextSpan(n,r-n)}(o,n);return{list:o,argumentIndex:a,argumentCount:s,argumentsSpan:c}}function getImmediatelyContainingArgumentInfo(e,t,n,r){const{parent:i}=e;if(isCallOrNewExpression(i)){const t=i,o=getArgumentOrParameterListInfo(e,0,n,r);if(!o)return;const{list:a,argumentIndex:s,argumentCount:c,argumentsSpan:l}=o;return{isTypeParameterList:!!i.typeArguments&&i.typeArguments.pos===a.pos,invocation:{kind:0,node:t},argumentsSpan:l,argumentIndex:s,argumentCount:c}}if(isNoSubstitutionTemplateLiteral(e)&&isTaggedTemplateExpression(i))return isInsideTemplateLiteral(e,t,n)?getArgumentListInfoForTemplate(i,0,n):void 0;if(isTemplateHead(e)&&216===i.parent.kind){const r=i,o=r.parent;h.assert(229===r.kind);return getArgumentListInfoForTemplate(o,isInsideTemplateLiteral(e,t,n)?0:1,n)}if(isTemplateSpan(i)&&isTaggedTemplateExpression(i.parent.parent)){const r=i,o=i.parent.parent;if(isTemplateTail(e)&&!isInsideTemplateLiteral(e,t,n))return;const a=function getArgumentIndexForTemplatePiece(e,t,n,r){if(h.assert(n>=t.getStart(),"Assumed 'position' could not occur before node."),isTemplateLiteralToken(t))return isInsideTemplateLiteral(t,n,r)?0:e+2;return e+1}(r.parent.templateSpans.indexOf(r),e,t,n);return getArgumentListInfoForTemplate(o,a,n)}if(isJsxOpeningLikeElement(i)){const e=i.attributes.pos;return{isTypeParameterList:!1,invocation:{kind:0,node:i},argumentsSpan:createTextSpan(e,skipTrivia(n.text,i.attributes.end,!1)-e),argumentIndex:0,argumentCount:1}}{const t=getPossibleTypeArgumentsInfo(e,n);if(t){const{called:r,nTypeArguments:i}=t;return{isTypeParameterList:!0,invocation:{kind:1,called:r},argumentsSpan:createTextSpanFromBounds(r.getStart(n),e.end),argumentIndex:i,argumentCount:i+1}}return}}function getImmediatelyContainingArgumentOrContextualParameterInfo(e,t,n,r){return function tryGetParameterInfo(e,t,n,r){const i=function getAdjustedNode(e){switch(e.kind){case 21:case 28:return e;default:return findAncestor(e.parent,e=>!!isParameter(e)||!(isBindingElement(e)||isObjectBindingPattern(e)||isArrayBindingPattern(e))&&"quit")}}(e);if(void 0===i)return;const o=function getContextualSignatureLocationInfo(e,t,n,r){const{parent:i}=e;switch(i.kind){case 218:case 175:case 219:case 220:const n=getArgumentOrParameterListInfo(e,0,t,r);if(!n)return;const{argumentIndex:o,argumentCount:a,argumentsSpan:s}=n,c=isMethodDeclaration(i)?r.getContextualTypeForObjectLiteralElement(i):r.getContextualType(i);return c&&{contextualType:c,argumentIndex:o,argumentCount:a,argumentsSpan:s};case 227:{const t=getHighestBinary(i),n=r.getContextualType(t),o=21===e.kind?0:countBinaryExpressionParameters(i)-1,a=countBinaryExpressionParameters(t);return n&&{contextualType:n,argumentIndex:o,argumentCount:a,argumentsSpan:createTextSpanFromNode(i)}}default:return}}(i,n,0,r);if(void 0===o)return;const{contextualType:a,argumentIndex:s,argumentCount:c,argumentsSpan:l}=o,d=a.getNonNullableType(),p=d.symbol;if(void 0===p)return;const u=lastOrUndefined(d.getCallSignatures());if(void 0===u)return;return{isTypeParameterList:!1,invocation:{kind:2,signature:u,node:e,symbol:chooseBetterSymbol(p)},argumentsSpan:l,argumentIndex:s,argumentCount:c}}(e,0,n,r)||getImmediatelyContainingArgumentInfo(e,t,n,r)}function getHighestBinary(e){return isBinaryExpression(e.parent)?getHighestBinary(e.parent):e}function countBinaryExpressionParameters(e){return isBinaryExpression(e.left)?countBinaryExpressionParameters(e.left)+1:2}function chooseBetterSymbol(e){return"__type"===e.name&&firstDefined(e.declarations,e=>{var t;return isFunctionTypeNode(e)?null==(t=tryCast(e.parent,canHaveSymbol))?void 0:t.symbol:void 0})||e}function getSpreadElementCount(e,t){const n=t.getTypeAtLocation(e.expression);if(t.isTupleType(n)){const{elementFlags:e,fixedLength:t}=n.target;if(0===t)return 0;const r=findIndex(e,e=>!(1&e));return r<0?t:r}return 0}function getArgumentIndex(e,t,n){return getArgumentIndexOrCount(e,t,n)}function getArgumentIndexOrCount(e,t,n){const r=t.getChildren();let i=0,o=!1;for(const t of r){if(n&&t===n)return o||28!==t.kind||i++,i;isSpreadElement(t)?(i+=getSpreadElementCount(t,e),o=!0):28===t.kind?o?o=!1:i++:(i++,o=!0)}return n?i:r.length&&28===last(r).kind?i+1:i}function getArgumentListInfoForTemplate(e,t,n){const r=isNoSubstitutionTemplateLiteral(e.template)?1:e.template.templateSpans.length+1;return 0!==t&&h.assertLessThan(t,r),{isTypeParameterList:!1,invocation:{kind:0,node:e},argumentsSpan:getApplicableSpanForTaggedTemplate(e,n),argumentIndex:t,argumentCount:r}}function getApplicableSpanForTaggedTemplate(e,t){const n=e.template,r=n.getStart();let i=n.getEnd();if(229===n.kind){0===last(n.templateSpans).literal.getFullWidth()&&(i=skipTrivia(t.text,i,!1))}return createTextSpan(r,i-r)}function getChildListThatStartsWithOpenerToken(e,t,n){const r=e.getChildren(n),i=r.indexOf(t);return h.assert(i>=0&&r.length>i+1),r[i+1]}function getExpressionFromInvocation(e){return 0===e.kind?getInvokedExpression(e.node):e.called}function getEnclosingDeclarationFromInvocation(e){return 0===e.kind?e.node:1===e.kind?e.called:e.node}i(Um,{getArgumentInfoForCompletions:()=>getArgumentInfoForCompletions,getSignatureHelpItems:()=>getSignatureHelpItems});var zm=70246400;function createSignatureHelpItems(e,t,{isTypeParameterList:n,argumentCount:r,argumentsSpan:i,invocation:o,argumentIndex:a},s,c,d){var p;const u=getEnclosingDeclarationFromInvocation(o),m=2===o.kind?o.symbol:c.getSymbolAtLocation(getExpressionFromInvocation(o))||d&&(null==(p=t.declaration)?void 0:p.symbol),_=m?symbolToDisplayParts(c,m,d?s:void 0,void 0):l,f=map(e,e=>function getSignatureHelpItem(e,t,n,r,i,o){const a=(n?itemInfoForTypeParameters:itemInfoForParameters)(e,r,i,o);return map(a,({isVariadic:n,parameters:o,prefix:a,suffix:s})=>{const c=[...t,...a],l=[...s,...returnTypeToDisplayParts(e,i,r)],d=e.getDocumentationComment(r),p=e.getJsDocTags();return{isVariadic:n,prefixDisplayParts:c,suffixDisplayParts:l,separatorDisplayParts:Vm,parameters:o,documentation:d,tags:p}})}(e,_,n,c,u,s));let g=0,y=0;for(let n=0;n<f.length;n++){const i=f[n];if(e[n]===t&&(g=y,i.length>1)){let e=0;for(const t of i){if(t.isVariadic||t.parameters.length>=r){g=y+e;break}e++}}y+=i.length}h.assert(-1!==g);const T={items:flatMapToMutable(f,identity),applicableSpan:i,selectedItemIndex:g,argumentIndex:a,argumentCount:r},S=T.items[g];if(S.isVariadic){const e=findIndex(S.parameters,e=>!!e.isRest);-1<e&&e<S.parameters.length-1?T.argumentIndex=S.parameters.length:T.argumentIndex=Math.min(T.argumentIndex,S.parameters.length-1)}return T}function getTypeHelpItem(e,t,n,r,i){const o=symbolToDisplayParts(n,e),a=ka(),s=t.map(e=>createSignatureHelpParameterForTypeParameter(e,n,r,i,a)),c=e.getDocumentationComment(n),l=e.getJsDocTags(n);return{isVariadic:!1,prefixDisplayParts:[...o,punctuationPart(30)],suffixDisplayParts:[punctuationPart(32)],separatorDisplayParts:Vm,parameters:s,documentation:c,tags:l}}var Vm=[punctuationPart(28),spacePart()];function returnTypeToDisplayParts(e,t,n){return mapToDisplayParts(r=>{r.writePunctuation(":"),r.writeSpace(" ");const i=n.getTypePredicateOfSignature(e);i?n.writeTypePredicate(i,t,void 0,r):n.writeType(n.getReturnTypeOfSignature(e),t,void 0,r)})}function itemInfoForTypeParameters(e,t,n,r){const i=(e.target||e).typeParameters,o=ka(),a=(i||l).map(e=>createSignatureHelpParameterForTypeParameter(e,t,n,r,o)),s=e.thisParameter?[t.symbolToParameterDeclaration(e.thisParameter,n,zm)]:[];return t.getExpandedParameters(e).map(e=>{const i=Wr.createNodeArray([...s,...map(e,e=>t.symbolToParameterDeclaration(e,n,zm))]),c=mapToDisplayParts(e=>{o.writeList(2576,i,r,e)});return{isVariadic:!1,parameters:a,prefix:[punctuationPart(30)],suffix:[punctuationPart(32),...c]}})}function itemInfoForParameters(e,t,n,r){const i=ka(),o=mapToDisplayParts(o=>{if(e.typeParameters&&e.typeParameters.length){const a=Wr.createNodeArray(e.typeParameters.map(e=>t.typeParameterToDeclaration(e,n,zm)));i.writeList(53776,a,r,o)}}),a=t.getExpandedParameters(e),s=t.hasEffectiveRestParameter(e)?1===a.length?e=>!0:e=>{var t;return!!(e.length&&32768&(null==(t=tryCast(e[e.length-1],isTransientSymbol))?void 0:t.links.checkFlags))}:e=>!1;return a.map(e=>({isVariadic:s(e),parameters:e.map(e=>function createSignatureHelpParameterForParameter(e,t,n,r,i){const o=mapToDisplayParts(o=>{const a=t.symbolToParameterDeclaration(e,n,zm);i.writeNode(4,a,r,o)}),a=t.isOptionalParameter(e.valueDeclaration),s=isTransientSymbol(e)&&!!(32768&e.links.checkFlags);return{name:e.name,documentation:e.getDocumentationComment(t),displayParts:o,isOptional:a,isRest:s}}(e,t,n,r,i)),prefix:[...o,punctuationPart(21)],suffix:[punctuationPart(22)]}))}function createSignatureHelpParameterForTypeParameter(e,t,n,r,i){const o=mapToDisplayParts(o=>{const a=t.typeParameterToDeclaration(e,n,zm);i.writeNode(4,a,r,o)});return{name:e.symbol.name,documentation:e.symbol.getDocumentationComment(t),displayParts:o,isOptional:!1,isRest:!1}}var qm={};function getSmartSelectionRange(e,t){var n,r;let i={textSpan:createTextSpanFromBounds(t.getFullStart(),t.getEnd())},o=t;e:for(;;){const i=getSelectionChildren(o);if(!i.length)break;for(let a=0;a<i.length;a++){const s=i[a-1],c=i[a],l=i[a+1];if(getTokenPosOfNode(c,t,!0)>e)break e;const d=singleOrUndefined(getTrailingCommentRanges(t.text,c.end));if(d&&2===d.kind&&pushSelectionCommentRange(d.pos,d.end),positionShouldSnapToNode(t,e,c)){if(isFunctionBody(c)&&isFunctionLikeDeclaration(o)&&!positionsAreOnSameLine(c.getStart(t),c.getEnd(),t)&&pushSelectionRange(c.getStart(t),c.getEnd()),isBlock(c)||isTemplateSpan(c)||isTemplateHead(c)||isTemplateTail(c)||s&&isTemplateHead(s)||isVariableDeclarationList(c)&&isVariableStatement(o)||isSyntaxList(c)&&isVariableDeclarationList(o)||isVariableDeclaration(c)&&isSyntaxList(o)&&1===i.length||isJSDocTypeExpression(c)||isJSDocSignature(c)||isJSDocTypeLiteral(c)){o=c;break}if(isTemplateSpan(o)&&l&&isTemplateMiddleOrTemplateTail(l)){pushSelectionRange(c.getFullStart()-2,l.getStart()+1)}const e=isSyntaxList(c)&&isListOpener(s)&&isListCloser(l)&&!positionsAreOnSameLine(s.getStart(),l.getStart(),t);let a=e?s.getEnd():c.getStart();const d=e?l.getStart():getEndPos(t,c);if(hasJSDocNodes(c)&&(null==(n=c.jsDoc)?void 0:n.length)&&pushSelectionRange(first(c.jsDoc).getStart(),d),isSyntaxList(c)){const e=c.getChildren()[0];e&&hasJSDocNodes(e)&&(null==(r=e.jsDoc)?void 0:r.length)&&e.getStart()!==c.pos&&(a=Math.min(a,first(e.jsDoc).getStart()))}pushSelectionRange(a,d),(isStringLiteral(c)||isTemplateLiteral(c))&&pushSelectionRange(a+1,d-1),o=c;break}if(a===i.length-1)break e}}return i;function pushSelectionRange(t,n){if(t!==n){const r=createTextSpanFromBounds(t,n);(!i||!textSpansEqual(r,i.textSpan)&&textSpanIntersectsWithPosition(r,e))&&(i={textSpan:r,...i&&{parent:i}})}}function pushSelectionCommentRange(e,n){pushSelectionRange(e,n);let r=e;for(;47===t.text.charCodeAt(r);)r++;pushSelectionRange(r,n)}}function positionShouldSnapToNode(e,t,n){if(h.assert(n.pos<=t),t<n.end)return!0;return n.getEnd()===t&&getTouchingPropertyName(e,t).pos<n.end}i(qm,{getSmartSelectionRange:()=>getSmartSelectionRange});var Hm=or(isImportDeclaration,isImportEqualsDeclaration);function getSelectionChildren(e){var t;if(isSourceFile(e))return groupChildren(e.getChildAt(0).getChildren(),Hm);if(isMappedTypeNode(e)){const[t,...n]=e.getChildren(),r=h.checkDefined(n.pop());h.assertEqual(t.kind,19),h.assertEqual(r.kind,20);const i=groupChildren(n,t=>t===e.readonlyToken||148===t.kind||t===e.questionToken||58===t.kind);return[t,createSyntaxList2(splitChildren(groupChildren(i,({kind:e})=>23===e||169===e||24===e),({kind:e})=>59===e)),r]}if(isPropertySignature(e)){const n=groupChildren(e.getChildren(),t=>t===e.name||contains(e.modifiers,t)),r=321===(null==(t=n[0])?void 0:t.kind)?n[0]:void 0,i=splitChildren(r?n.slice(1):n,({kind:e})=>59===e);return r?[r,createSyntaxList2(i)]:i}if(isParameter(e)){const t=groupChildren(e.getChildren(),t=>t===e.dotDotDotToken||t===e.name);return splitChildren(groupChildren(t,n=>n===t[0]||n===e.questionToken),({kind:e})=>64===e)}return isBindingElement(e)?splitChildren(e.getChildren(),({kind:e})=>64===e):e.getChildren()}function groupChildren(e,t){const n=[];let r;for(const i of e)t(i)?(r=r||[],r.push(i)):(r&&(n.push(createSyntaxList2(r)),r=void 0),n.push(i));return r&&n.push(createSyntaxList2(r)),n}function splitChildren(e,t,n=!0){if(e.length<2)return e;const r=findIndex(e,t);if(-1===r)return e;const i=e.slice(0,r),o=e[r],a=last(e),s=n&&27===a.kind,c=e.slice(r+1,s?e.length-1:void 0),l=compact([i.length?createSyntaxList2(i):void 0,o,c.length?createSyntaxList2(c):void 0]);return s?l.concat(a):l}function createSyntaxList2(e){return h.assertGreaterThanOrEqual(e.length,1),setTextRangePosEnd(Di.createSyntaxList(e),e[0].pos,last(e).end)}function isListOpener(e){const t=e&&e.kind;return 19===t||23===t||21===t||287===t}function isListCloser(e){const t=e&&e.kind;return 20===t||24===t||22===t||288===t}function getEndPos(e,t){switch(t.kind){case 342:case 339:case 349:case 347:case 344:return e.getLineEndOfPosition(t.getStart());default:return t.getEnd()}}var Km={};i(Km,{getSymbolDisplayPartsDocumentationAndSymbolKind:()=>getSymbolDisplayPartsDocumentationAndSymbolKind,getSymbolKind:()=>getSymbolKind,getSymbolModifiers:()=>getSymbolModifiers});var Gm=70246400;function getSymbolKind(e,t,n){const r=getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(e,t,n);if(""!==r)return r;const i=getCombinedLocalAndExportSymbolFlags(t);return 32&i?getDeclarationOfKind(t,232)?"local class":"class":384&i?"enum":524288&i?"type":64&i?"interface":262144&i?"type parameter":8&i?"enum member":2097152&i?"alias":1536&i?"module":r}function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(e,t,n){const r=e.getRootSymbols(t);if(1===r.length&&8192&first(r).flags&&0!==e.getTypeOfSymbolAtLocation(t,n).getNonNullableType().getCallSignatures().length)return"method";if(e.isUndefinedSymbol(t))return"var";if(e.isArgumentsSymbol(t))return"local var";if(110===n.kind&&isExpression(n)||isThisInTypeQuery(n))return"parameter";const i=getCombinedLocalAndExportSymbolFlags(t);if(3&i)return isFirstDeclarationOfSymbolParameter(t)?"parameter":t.valueDeclaration&&isVarConst(t.valueDeclaration)?"const":t.valueDeclaration&&isVarUsing(t.valueDeclaration)?"using":t.valueDeclaration&&isVarAwaitUsing(t.valueDeclaration)?"await using":forEach(t.declarations,isLet)?"let":isLocalVariableOrFunction(t)?"local var":"var";if(16&i)return isLocalVariableOrFunction(t)?"local function":"function";if(32768&i)return"getter";if(65536&i)return"setter";if(8192&i)return"method";if(16384&i)return"constructor";if(131072&i)return"index";if(4&i){if(33554432&i&&6&t.links.checkFlags){const r=forEach(e.getRootSymbols(t),e=>{if(98311&e.getFlags())return"property"});if(!r){return e.getTypeOfSymbolAtLocation(t,n).getCallSignatures().length?"method":"property"}return r}return"property"}return""}function getNormalizedSymbolModifiers(e){if(e.declarations&&e.declarations.length){const[t,...n]=e.declarations,r=getNodeModifiers(t,length(n)&&isDeprecatedDeclaration(t)&&some(n,e=>!isDeprecatedDeclaration(e))?65536:0);if(r)return r.split(",")}return[]}function getSymbolModifiers(e,t){if(!t)return"";const n=new Set(getNormalizedSymbolModifiers(t));if(2097152&t.flags){const r=e.getAliasedSymbol(t);r!==t&&forEach(getNormalizedSymbolModifiers(r),e=>{n.add(e)})}return 16777216&t.flags&&n.add("optional"),n.size>0?arrayFrom(n.values()).join(","):""}function getSymbolDisplayPartsDocumentationAndSymbolKindWorker(e,t,n,r,i,o,a,s,c,d){var p;const u=[];let m=[],_=[];const f=getCombinedLocalAndExportSymbolFlags(t);let g=1&a?getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(e,t,i):"",y=!1;const T=110===i.kind&&isInExpressionContext(i)||isThisInTypeQuery(i);let S,x,v=!1;const b={canIncreaseExpansionDepth:!1,truncated:!1};let C=!1;if(110===i.kind&&!T)return{displayParts:[keywordPart(110)],documentation:[],symbolKind:"primitive type",tags:void 0};if(""!==g||32&f||2097152&f){if("getter"===g||"setter"===g){const e=find(t.declarations,e=>e.name===i&&212!==e.kind);if(e)switch(e.kind){case 178:g="getter";break;case 179:g="setter";break;case 173:g="accessor";break;default:h.assertNever(e)}else g="property"}let n,a;if(o??(o=T?e.getTypeAtLocation(i):e.getTypeOfSymbolAtLocation(t,i)),i.parent&&212===i.parent.kind){const e=i.parent.name;(e===i||e&&0===e.getFullWidth())&&(i=i.parent)}if(isCallOrNewExpression(i)?a=i:(isCallExpressionTarget(i)||isNewExpressionTarget(i)||i.parent&&(isJsxOpeningLikeElement(i.parent)||isTaggedTemplateExpression(i.parent))&&isFunctionLike(t.valueDeclaration))&&(a=i.parent),a){n=e.getResolvedSignature(a);const i=215===a.kind||isCallExpression(a)&&108===a.expression.kind,s=i?o.getConstructSignatures():o.getCallSignatures();if(!n||contains(s,n.target)||contains(s,n)||(n=s.length?s[0]:void 0),n){switch(i&&32&f?(g="constructor",addPrefixForAnyFunctionOrVar(o.symbol,g)):2097152&f?(g="alias",pushSymbolKind(g),u.push(spacePart()),i&&(4&n.flags&&(u.push(keywordPart(128)),u.push(spacePart())),u.push(keywordPart(105)),u.push(spacePart())),addFullSymbolName(t)):addPrefixForAnyFunctionOrVar(t,g),g){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":u.push(punctuationPart(59)),u.push(spacePart()),16&getObjectFlags(o)||!o.symbol||(addRange(u,symbolToDisplayParts(e,o.symbol,r,void 0,5)),u.push(lineBreakPart())),i&&(4&n.flags&&(u.push(keywordPart(128)),u.push(spacePart())),u.push(keywordPart(105)),u.push(spacePart())),addSignatureDisplayParts(n,s,262144);break;default:addSignatureDisplayParts(n,s)}y=!0,v=s.length>1}}else if(isNameOfFunctionDeclaration(i)&&!(98304&f)||137===i.kind&&177===i.parent.kind){const r=i.parent;if(t.declarations&&find(t.declarations,e=>e===(137===i.kind?r.parent:r))){const i=177===r.kind?o.getNonNullableType().getConstructSignatures():o.getNonNullableType().getCallSignatures();n=e.isImplementationOfOverload(r)?i[0]:e.getSignatureFromDeclaration(r),177===r.kind?(g="constructor",addPrefixForAnyFunctionOrVar(o.symbol,g)):addPrefixForAnyFunctionOrVar(180!==r.kind||2048&o.symbol.flags||4096&o.symbol.flags?t:o.symbol,g),n&&addSignatureDisplayParts(n,i),y=!0,v=i.length>1}}}if(32&f&&!y&&!T){addAliasPrefixIfNecessary();const e=getDeclarationOfKind(t,232);e&&(pushSymbolKind("local class"),u.push(spacePart())),tryExpandSymbol(t,a)||(e||(u.push(keywordPart(86)),u.push(spacePart())),addFullSymbolName(t),writeTypeParametersOfSymbol(t,n))}if(64&f&&2&a&&(prefixNextMeaning(),tryExpandSymbol(t,a)||(u.push(keywordPart(120)),u.push(spacePart()),addFullSymbolName(t),writeTypeParametersOfSymbol(t,n))),524288&f&&2&a&&(prefixNextMeaning(),u.push(keywordPart(156)),u.push(spacePart()),addFullSymbolName(t),writeTypeParametersOfSymbol(t,n),u.push(spacePart()),u.push(operatorPart(64)),u.push(spacePart()),addRange(u,typeToDisplayParts(e,i.parent&&isConstTypeReference(i.parent)?e.getTypeAtLocation(i.parent):e.getDeclaredTypeOfSymbol(t),r,8388608,c,d,b))),384&f&&(prefixNextMeaning(),tryExpandSymbol(t,a)||(some(t.declarations,e=>isEnumDeclaration(e)&&isEnumConst(e))&&(u.push(keywordPart(87)),u.push(spacePart())),u.push(keywordPart(94)),u.push(spacePart()),addFullSymbolName(t,void 0))),1536&f&&!T&&(prefixNextMeaning(),!tryExpandSymbol(t,a))){const e=getDeclarationOfKind(t,268),n=e&&e.name&&80===e.name.kind;u.push(keywordPart(n?145:144)),u.push(spacePart()),addFullSymbolName(t)}if(262144&f&&2&a)if(prefixNextMeaning(),u.push(punctuationPart(21)),u.push(textPart("type parameter")),u.push(punctuationPart(22)),u.push(spacePart()),addFullSymbolName(t),t.parent)addInPrefix(),addFullSymbolName(t.parent,r),writeTypeParametersOfSymbol(t.parent,r);else{const r=getDeclarationOfKind(t,169);if(void 0===r)return h.fail();const i=r.parent;if(i)if(isFunctionLike(i)){addInPrefix();const t=e.getSignatureFromDeclaration(i);181===i.kind?(u.push(keywordPart(105)),u.push(spacePart())):180!==i.kind&&i.name&&addFullSymbolName(i.symbol),addRange(u,signatureToDisplayParts(e,t,n,32))}else isTypeAliasDeclaration(i)&&(addInPrefix(),u.push(keywordPart(156)),u.push(spacePart()),addFullSymbolName(i.symbol),writeTypeParametersOfSymbol(i.symbol,n))}if(8&f){g="enum member",addPrefixForAnyFunctionOrVar(t,"enum member");const n=null==(p=t.declarations)?void 0:p[0];if(307===(null==n?void 0:n.kind)){const t=e.getConstantValue(n);void 0!==t&&(u.push(spacePart()),u.push(operatorPart(64)),u.push(spacePart()),u.push(displayPart(getTextOfConstantValue(t),"number"==typeof t?7:8)))}}if(2097152&t.flags){if(prefixNextMeaning(),!y||0===m.length&&0===_.length){const n=e.getAliasedSymbol(t);if(n!==t&&n.declarations&&n.declarations.length>0){const i=n.declarations[0],s=getNameOfDeclaration(i);if(s&&!y){const l=isModuleWithStringLiteralName(i)&&hasSyntacticModifier(i,128),p="default"!==t.name&&!l,m=getSymbolDisplayPartsDocumentationAndSymbolKindWorker(e,n,getSourceFileOfNode(i),r,s,o,a,p?t:n,c,d);u.push(...m.displayParts),u.push(lineBreakPart()),S=m.documentation,x=m.tags,b&&m.canIncreaseVerbosityLevel&&(b.canIncreaseExpansionDepth=!0)}else S=n.getContextualDocumentationComment(i,e),x=n.getJsDocTags(e)}}if(t.declarations)switch(t.declarations[0].kind){case 271:u.push(keywordPart(95)),u.push(spacePart()),u.push(keywordPart(145));break;case 278:u.push(keywordPart(95)),u.push(spacePart()),u.push(keywordPart(t.declarations[0].isExportEquals?64:90));break;case 282:u.push(keywordPart(95));break;default:u.push(keywordPart(102))}u.push(spacePart()),addFullSymbolName(t),forEach(t.declarations,t=>{if(272===t.kind){const n=t;if(isExternalModuleImportEqualsDeclaration(n))u.push(spacePart()),u.push(operatorPart(64)),u.push(spacePart()),u.push(keywordPart(149)),u.push(punctuationPart(21)),u.push(displayPart(getTextOfNode(getExternalModuleImportEqualsDeclarationExpression(n)),8)),u.push(punctuationPart(22));else{const t=e.getSymbolAtLocation(n.moduleReference);t&&(u.push(spacePart()),u.push(operatorPart(64)),u.push(spacePart()),addFullSymbolName(t,r))}return!0}})}if(!y)if(""!==g){if(o)if(T?(prefixNextMeaning(),u.push(keywordPart(110))):addPrefixForAnyFunctionOrVar(t,g),"property"===g||"accessor"===g||"getter"===g||"setter"===g||"JSX attribute"===g||3&f||"local var"===g||"index"===g||"using"===g||"await using"===g||T){if(u.push(punctuationPart(59)),u.push(spacePart()),o.symbol&&262144&o.symbol.flags&&"index"!==g){const t=mapToDisplayParts(t=>{const n=e.typeParameterToDeclaration(o,r,Gm,void 0,void 0,c,d,b);getPrinter().writeNode(4,n,getSourceFileOfNode(getParseTreeNode(r)),t)},c);addRange(u,t)}else addRange(u,typeToDisplayParts(e,o,r,void 0,c,d,b));if(isTransientSymbol(t)&&t.links.target&&isTransientSymbol(t.links.target)&&t.links.target.links.tupleLabelDeclaration){const e=t.links.target.links.tupleLabelDeclaration;h.assertNode(e.name,isIdentifier),u.push(spacePart()),u.push(punctuationPart(21)),u.push(textPart(idText(e.name))),u.push(punctuationPart(22))}}else if(16&f||8192&f||16384&f||131072&f||98304&f||"method"===g){const e=o.getNonNullableType().getCallSignatures();e.length&&(addSignatureDisplayParts(e[0],e),v=e.length>1)}}else g=getSymbolKind(e,t,i);if(0!==m.length||v||(m=t.getContextualDocumentationComment(r,e)),0===m.length&&4&f&&t.parent&&t.declarations&&forEach(t.parent.declarations,e=>308===e.kind))for(const n of t.declarations){if(!n.parent||227!==n.parent.kind)continue;const t=e.getSymbolAtLocation(n.parent.right);if(t&&(m=t.getDocumentationComment(e),_=t.getJsDocTags(e),m.length>0))break}if(0===m.length&&isIdentifier(i)&&t.valueDeclaration&&isBindingElement(t.valueDeclaration)){const n=t.valueDeclaration,r=n.parent,i=n.propertyName||n.name;if(isIdentifier(i)&&isObjectBindingPattern(r)){const t=getTextOfIdentifierOrLiteral(i),n=e.getTypeAtLocation(r);m=firstDefined(n.isUnion()?n.types:[n],n=>{const r=n.getProperty(t);return r?r.getDocumentationComment(e):void 0})||l}}0!==_.length||v||isInJSDoc(i)||(_=t.getContextualJsDocTags(r,e)),0===m.length&&S&&(m=S),0===_.length&&x&&(_=x);const E=!b.truncated&&b.canIncreaseExpansionDepth;return{displayParts:u,documentation:m,symbolKind:g,tags:0===_.length?void 0:_,canIncreaseVerbosityLevel:void 0!==d?E:void 0};function getPrinter(){return ka()}function prefixNextMeaning(){u.length&&u.push(lineBreakPart()),addAliasPrefixIfNecessary()}function addAliasPrefixIfNecessary(){s&&(pushSymbolKind("alias"),u.push(spacePart()))}function addInPrefix(){u.push(spacePart()),u.push(keywordPart(103)),u.push(spacePart())}function tryExpandSymbol(t,n){if(C)return!0;if(function canExpandSymbol(t,n){if(void 0===d)return!1;const r=96&t.flags?e.getDeclaredTypeOfSymbol(t):e.getTypeOfSymbolAtLocation(t,i);return!(!r||e.isLibType(r))&&(0<d||(n&&(n.canIncreaseExpansionDepth=!0),!1))}(t,b)){const r=function semanticToSymbolMeaning(e){let t=0;return 1&e&&(t|=111551),2&e&&(t|=788968),4&e&&(t|=1920),t}(n),i=mapToDisplayParts(n=>{const i=e.getEmitResolver().symbolToDeclarations(t,r,17408,c,void 0!==d?d-1:void 0,b),o=getPrinter(),a=t.valueDeclaration&&getSourceFileOfNode(t.valueDeclaration);i.forEach((e,t)=>{t>0&&n.writeLine(),o.writeNode(4,e,a,n)})},c);return addRange(u,i),C=!0,!0}return!1}function addFullSymbolName(r,i){let o;s&&r===t&&(r=s),"index"===g&&(o=e.getIndexInfosOfIndexSymbol(r));let a=[];131072&r.flags&&o?(r.parent&&(a=symbolToDisplayParts(e,r.parent)),a.push(punctuationPart(23)),o.forEach((t,n)=>{a.push(...typeToDisplayParts(e,t.keyType)),n!==o.length-1&&(a.push(spacePart()),a.push(punctuationPart(52)),a.push(spacePart()))}),a.push(punctuationPart(24))):a=symbolToDisplayParts(e,r,i||n,void 0,7),addRange(u,a),16777216&t.flags&&u.push(punctuationPart(58))}function addPrefixForAnyFunctionOrVar(e,t){prefixNextMeaning(),t&&(pushSymbolKind(t),e&&!some(e.declarations,e=>isArrowFunction(e)||(isFunctionExpression(e)||isClassExpression(e))&&!e.name)&&(u.push(spacePart()),addFullSymbolName(e)))}function pushSymbolKind(e){switch(e){case"var":case"function":case"let":case"const":case"constructor":case"using":case"await using":return void u.push(textOrKeywordPart(e));default:return u.push(punctuationPart(21)),u.push(textOrKeywordPart(e)),void u.push(punctuationPart(22))}}function addSignatureDisplayParts(t,n,i=0){addRange(u,signatureToDisplayParts(e,t,r,32|i,c,d,b)),n.length>1&&(u.push(spacePart()),u.push(punctuationPart(21)),u.push(operatorPart(40)),u.push(displayPart((n.length-1).toString(),7)),u.push(spacePart()),u.push(textPart(2===n.length?"overload":"overloads")),u.push(punctuationPart(22))),m=t.getDocumentationComment(e),_=t.getJsDocTags(),n.length>1&&0===m.length&&0===_.length&&(m=n[0].getDocumentationComment(e),_=n[0].getJsDocTags().filter(e=>"deprecated"!==e.name))}function writeTypeParametersOfSymbol(t,n){const r=mapToDisplayParts(r=>{const i=e.symbolToTypeParameterDeclarations(t,n,Gm);getPrinter().writeList(53776,i,getSourceFileOfNode(getParseTreeNode(n)),r)});addRange(u,r)}}function getSymbolDisplayPartsDocumentationAndSymbolKind(e,t,n,r,i,o=getMeaningFromLocation(i),a,s,c){return getSymbolDisplayPartsDocumentationAndSymbolKindWorker(e,t,n,r,i,void 0,o,a,s,c)}function isLocalVariableOrFunction(e){return!e.parent&&forEach(e.declarations,e=>{if(219===e.kind)return!0;if(261!==e.kind&&263!==e.kind)return!1;for(let t=e.parent;!isFunctionBlock(t);t=t.parent)if(308===t.kind||269===t.kind)return!1;return!0})}var $m={};function getPos2(e){const t=e.__pos;return h.assert("number"==typeof t),t}function setPos(e,t){h.assert("number"==typeof t),e.__pos=t}function getEnd(e){const t=e.__end;return h.assert("number"==typeof t),t}function setEnd(e,t){h.assert("number"==typeof t),e.__end=t}i($m,{ChangeTracker:()=>e_,LeadingTriviaOption:()=>Qm,TrailingTriviaOption:()=>Xm,applyChanges:()=>applyChanges,assignPositionsToNode:()=>assignPositionsToNode,createWriter:()=>createWriter,deleteNode:()=>deleteNode,getAdjustedEndPosition:()=>getAdjustedEndPosition,isThisTypeAnnotatable:()=>isThisTypeAnnotatable,isValidLocationToAddComment:()=>isValidLocationToAddComment});var Qm=(e=>(e[e.Exclude=0]="Exclude",e[e.IncludeAll=1]="IncludeAll",e[e.JSDoc=2]="JSDoc",e[e.StartLine=3]="StartLine",e))(Qm||{}),Xm=(e=>(e[e.Exclude=0]="Exclude",e[e.ExcludeWhitespace=1]="ExcludeWhitespace",e[e.Include=2]="Include",e))(Xm||{});function skipWhitespacesAndLineBreaks(e,t){return skipTrivia(e,t,!1,!0)}var Ym={leadingTriviaOption:0,trailingTriviaOption:0};function getAdjustedRange(e,t,n,r){return{pos:getAdjustedStartPosition(e,t,r),end:getAdjustedEndPosition(e,n,r)}}function getAdjustedStartPosition(e,t,n,r=!1){var i,o;const{leadingTriviaOption:a}=n;if(0===a)return t.getStart(e);if(3===a){const n=t.getStart(e),r=getLineStartPositionForPosition(n,e);return rangeContainsPosition(t,r)?r:n}if(2===a){const n=getJSDocCommentRanges(t,e.text);if(null==n?void 0:n.length)return getLineStartPositionForPosition(n[0].pos,e)}const s=t.getFullStart(),c=t.getStart(e);if(s===c)return c;const l=getLineStartPositionForPosition(s,e);if(getLineStartPositionForPosition(c,e)===l)return 1===a?s:c;if(r){const t=(null==(i=getLeadingCommentRanges(e.text,s))?void 0:i[0])||(null==(o=getTrailingCommentRanges(e.text,s))?void 0:o[0]);if(t)return skipTrivia(e.text,t.end,!0,!0)}const d=s>0?1:0;let p=getStartPositionOfLine(getLineOfLocalPosition(e,l)+d,e);return p=skipWhitespacesAndLineBreaks(e.text,p),getStartPositionOfLine(getLineOfLocalPosition(e,p),e)}function getEndPositionOfMultilineTrailingComment(e,t,n){const{end:r}=t,{trailingTriviaOption:i}=n;if(2===i){const n=getTrailingCommentRanges(e.text,r);if(n){const r=getLineOfLocalPosition(e,t.end);for(const t of n){if(2===t.kind||getLineOfLocalPosition(e,t.pos)>r)break;if(getLineOfLocalPosition(e,t.end)>r)return skipTrivia(e.text,t.end,!0,!0)}}}}function getAdjustedEndPosition(e,t,n){var r;const{end:i}=t,{trailingTriviaOption:o}=n;if(0===o)return i;if(1===o){const t=concatenate(getTrailingCommentRanges(e.text,i),getLeadingCommentRanges(e.text,i)),n=null==(r=null==t?void 0:t[t.length-1])?void 0:r.end;return n||i}const a=getEndPositionOfMultilineTrailingComment(e,t,n);if(a)return a;const s=skipTrivia(e.text,i,!0);return s===i||2!==o&&!isLineBreak(e.text.charCodeAt(s-1))?i:s}function isSeparator(e,t){return!!t&&!!e.parent&&(28===t.kind||27===t.kind&&211===e.parent.kind)}function isThisTypeAnnotatable(e){return isFunctionExpression(e)||isFunctionDeclaration(e)}var Zm,e_=class _ChangeTracker{constructor(e,t){this.newLineCharacter=e,this.formatContext=t,this.changes=[],this.classesWithNodesInsertedAtStart=new Map,this.deletedNodes=[]}static fromContext(e){return new _ChangeTracker(getNewLineOrDefaultFromHost(e.host,e.formatContext.options),e.formatContext)}static with(e,t){const n=_ChangeTracker.fromContext(e);return t(n),n.getChanges()}pushRaw(e,t){h.assertEqual(e.fileName,t.fileName);for(const n of t.textChanges)this.changes.push({kind:3,sourceFile:e,text:n.newText,range:createTextRangeFromSpan(n.span)})}deleteRange(e,t){this.changes.push({kind:0,sourceFile:e,range:t})}delete(e,t){this.deletedNodes.push({sourceFile:e,node:t})}deleteNode(e,t,n={leadingTriviaOption:1}){this.deleteRange(e,getAdjustedRange(e,t,t,n))}deleteNodes(e,t,n={leadingTriviaOption:1},r){for(const i of t){const t=getAdjustedStartPosition(e,i,n,r),o=getAdjustedEndPosition(e,i,n);this.deleteRange(e,{pos:t,end:o}),r=!!getEndPositionOfMultilineTrailingComment(e,i,n)}}deleteModifier(e,t){this.deleteRange(e,{pos:t.getStart(e),end:skipTrivia(e.text,t.end,!0)})}deleteNodeRange(e,t,n,r={leadingTriviaOption:1}){const i=getAdjustedStartPosition(e,t,r),o=getAdjustedEndPosition(e,n,r);this.deleteRange(e,{pos:i,end:o})}deleteNodeRangeExcludingEnd(e,t,n,r={leadingTriviaOption:1}){const i=getAdjustedStartPosition(e,t,r),o=void 0===n?e.text.length:getAdjustedStartPosition(e,n,r);this.deleteRange(e,{pos:i,end:o})}replaceRange(e,t,n,r={}){this.changes.push({kind:1,sourceFile:e,range:t,options:r,node:n})}replaceNode(e,t,n,r=Ym){this.replaceRange(e,getAdjustedRange(e,t,t,r),n,r)}replaceNodeRange(e,t,n,r,i=Ym){this.replaceRange(e,getAdjustedRange(e,t,n,i),r,i)}replaceRangeWithNodes(e,t,n,r={}){this.changes.push({kind:2,sourceFile:e,range:t,options:r,nodes:n})}replaceNodeWithNodes(e,t,n,r=Ym){this.replaceRangeWithNodes(e,getAdjustedRange(e,t,t,r),n,r)}replaceNodeWithText(e,t,n){this.replaceRangeWithText(e,getAdjustedRange(e,t,t,Ym),n)}replaceNodeRangeWithNodes(e,t,n,r,i=Ym){this.replaceRangeWithNodes(e,getAdjustedRange(e,t,n,i),r,i)}nodeHasTrailingComment(e,t,n=Ym){return!!getEndPositionOfMultilineTrailingComment(e,t,n)}nextCommaToken(e,t){const n=findNextToken(t,t.parent,e);return n&&28===n.kind?n:void 0}replacePropertyAssignment(e,t,n){const r=this.nextCommaToken(e,t)?"":","+this.newLineCharacter;this.replaceNode(e,t,n,{suffix:r})}insertNodeAt(e,t,n,r={}){this.replaceRange(e,createRange(t),n,r)}insertNodesAt(e,t,n,r={}){this.replaceRangeWithNodes(e,createRange(t),n,r)}insertNodeAtTopOfFile(e,t,n){this.insertAtTopOfFile(e,t,n)}insertNodesAtTopOfFile(e,t,n){this.insertAtTopOfFile(e,t,n)}insertAtTopOfFile(e,t,n){const r=function getInsertionPositionAtSourceFileTop(e){let t;for(const n of e.statements){if(!isPrologueDirective(n))break;t=n}let n=0;const r=e.text;if(t)return n=t.end,advancePastLineBreak(),n;const i=getShebang(r);void 0!==i&&(n=i.length,advancePastLineBreak());const o=getLeadingCommentRanges(r,n);if(!o)return n;let a,s;for(const t of o){if(3===t.kind){if(isPinnedComment(r,t.pos)){a={range:t,pinnedOrTripleSlash:!0};continue}}else if(isRecognizedTripleSlashComment(r,t.pos,t.end)){a={range:t,pinnedOrTripleSlash:!0};continue}if(a){if(a.pinnedOrTripleSlash)break;if(e.getLineAndCharacterOfPosition(t.pos).line>=e.getLineAndCharacterOfPosition(a.range.end).line+2)break}if(e.statements.length){void 0===s&&(s=e.getLineAndCharacterOfPosition(e.statements[0].getStart()).line);if(s<e.getLineAndCharacterOfPosition(t.end).line+2)break}a={range:t,pinnedOrTripleSlash:!1}}a&&(n=a.range.end,advancePastLineBreak());return n;function advancePastLineBreak(){if(n<r.length){const e=r.charCodeAt(n);isLineBreak(e)&&(n++,n<r.length&&13===e&&10===r.charCodeAt(n)&&n++)}}}(e),i={prefix:0===r?void 0:this.newLineCharacter,suffix:(isLineBreak(e.text.charCodeAt(r))?"":this.newLineCharacter)+(n?this.newLineCharacter:"")};isArray(t)?this.insertNodesAt(e,r,t,i):this.insertNodeAt(e,r,t,i)}insertNodesAtEndOfFile(e,t,n){this.insertAtEndOfFile(e,t,n)}insertAtEndOfFile(e,t,n){const r=e.end+1,i={prefix:this.newLineCharacter,suffix:this.newLineCharacter+(n?this.newLineCharacter:"")};this.insertNodesAt(e,r,t,i)}insertStatementsInNewFile(e,t,n){this.newFileChanges||(this.newFileChanges=createMultiMap()),this.newFileChanges.add(e,{oldFile:n,statements:t})}insertFirstParameter(e,t,n){const r=firstOrUndefined(t);r?this.insertNodeBefore(e,r,n):this.insertNodeAt(e,t.pos,n)}insertNodeBefore(e,t,n,r=!1,i={}){this.insertNodeAt(e,getAdjustedStartPosition(e,t,i),n,this.getOptionsForInsertNodeBefore(t,n,r))}insertNodesBefore(e,t,n,r=!1,i={}){this.insertNodesAt(e,getAdjustedStartPosition(e,t,i),n,this.getOptionsForInsertNodeBefore(t,first(n),r))}insertModifierAt(e,t,n,r={}){this.insertNodeAt(e,t,Wr.createToken(n),r)}insertModifierBefore(e,t,n){return this.insertModifierAt(e,n.getStart(e),t,{suffix:" "})}insertCommentBeforeLine(e,t,n,r){const i=getStartPositionOfLine(t,e),o=getFirstNonSpaceCharacterPosition(e.text,i),a=isValidLocationToAddComment(e,o),s=getTouchingToken(e,a?o:n),c=e.text.slice(i,o),l=`${a?"":this.newLineCharacter}//${r}${this.newLineCharacter}${c}`;this.insertText(e,s.getStart(e),l)}insertJsdocCommentBefore(e,t,n){const r=t.getStart(e);if(t.jsDoc)for(const n of t.jsDoc)this.deleteRange(e,{pos:getLineStartPositionForPosition(n.getStart(e),e),end:getAdjustedEndPosition(e,n,{})});const i=getPrecedingNonSpaceCharacterPosition(e.text,r-1),o=e.text.slice(i,r);this.insertNodeAt(e,r,n,{suffix:this.newLineCharacter+o})}createJSDocText(e,t){const n=flatMap(t.jsDoc,e=>isString(e.comment)?Wr.createJSDocText(e.comment):e.comment),r=singleOrUndefined(t.jsDoc);return r&&positionsAreOnSameLine(r.pos,r.end,e)&&0===length(n)?void 0:Wr.createNodeArray(intersperse(n,Wr.createJSDocText("\n")))}replaceJSDocComment(e,t,n){this.insertJsdocCommentBefore(e,function updateJSDocHost(e){if(220!==e.kind)return e;const t=173===e.parent.kind?e.parent:e.parent.parent;return t.jsDoc=e.jsDoc,t}(t),Wr.createJSDocComment(this.createJSDocText(e,t),Wr.createNodeArray(n)))}addJSDocTags(e,t,n){const r=flatMapToMutable(t.jsDoc,e=>e.tags),i=n.filter(e=>!r.some((t,n)=>{const i=function tryMergeJsdocTags(e,t){if(e.kind!==t.kind)return;switch(e.kind){case 342:{const n=e,r=t;return isIdentifier(n.name)&&isIdentifier(r.name)&&n.name.escapedText===r.name.escapedText?Wr.createJSDocParameterTag(void 0,r.name,!1,r.typeExpression,r.isNameFirst,n.comment):void 0}case 343:return Wr.createJSDocReturnTag(void 0,t.typeExpression,e.comment);case 345:return Wr.createJSDocTypeTag(void 0,t.typeExpression,e.comment)}}(t,e);return i&&(r[n]=i),!!i}));this.replaceJSDocComment(e,t,[...r,...i])}filterJSDocTags(e,t,n){this.replaceJSDocComment(e,t,filter(flatMapToMutable(t.jsDoc,e=>e.tags),n))}replaceRangeWithText(e,t,n){this.changes.push({kind:3,sourceFile:e,range:t,text:n})}insertText(e,t,n){this.replaceRangeWithText(e,createRange(t),n)}tryInsertTypeAnnotation(e,t,n){let r;if(isFunctionLike(t)){if(r=findChildOfKind(t,22,e),!r){if(!isArrowFunction(t))return!1;r=first(t.parameters)}}else r=(261===t.kind?t.exclamationToken:t.questionToken)??t.name;return this.insertNodeAt(e,r.end,n,{prefix:": "}),!0}tryInsertThisTypeAnnotation(e,t,n){const r=findChildOfKind(t,21,e).getStart(e)+1,i=t.parameters.length?", ":"";this.insertNodeAt(e,r,n,{prefix:"this: ",suffix:i})}insertTypeParameters(e,t,n){const r=(findChildOfKind(t,21,e)||first(t.parameters)).getStart(e);this.insertNodesAt(e,r,n,{prefix:"<",suffix:">",joiner:", "})}getOptionsForInsertNodeBefore(e,t,n){return isStatement(e)||isClassElement(e)?{suffix:n?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:isVariableDeclaration(e)?{suffix:", "}:isParameter(e)?isParameter(t)?{suffix:", "}:{}:isStringLiteral(e)&&isImportDeclaration(e.parent)||isNamedImports(e)?{suffix:", "}:isImportSpecifier(e)?{suffix:","+(n?this.newLineCharacter:" ")}:h.failBadSyntaxKind(e)}insertNodeAtConstructorStart(e,t,n){const r=firstOrUndefined(t.body.statements);r&&t.body.multiLine?this.insertNodeBefore(e,r,n):this.replaceConstructorBody(e,t,[n,...t.body.statements])}insertNodeAtConstructorStartAfterSuperCall(e,t,n){const r=find(t.body.statements,e=>isExpressionStatement(e)&&isSuperCall(e.expression));r&&t.body.multiLine?this.insertNodeAfter(e,r,n):this.replaceConstructorBody(e,t,[...t.body.statements,n])}insertNodeAtConstructorEnd(e,t,n){const r=lastOrUndefined(t.body.statements);r&&t.body.multiLine?this.insertNodeAfter(e,r,n):this.replaceConstructorBody(e,t,[...t.body.statements,n])}replaceConstructorBody(e,t,n){this.replaceNode(e,t.body,Wr.createBlock(n,!0))}insertNodeAtEndOfScope(e,t,n){const r=getAdjustedStartPosition(e,t.getLastToken(),{});this.insertNodeAt(e,r,n,{prefix:isLineBreak(e.text.charCodeAt(t.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})}insertMemberAtStart(e,t,n){this.insertNodeAtStartWorker(e,t,n)}insertNodeAtObjectStart(e,t,n){this.insertNodeAtStartWorker(e,t,n)}insertNodeAtStartWorker(e,t,n){const r=this.guessIndentationFromExistingMembers(e,t)??this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,getMembersOrProperties(t).pos,n,this.getInsertNodeAtStartInsertOptions(e,t,r))}guessIndentationFromExistingMembers(e,t){let n,r=t;for(const i of getMembersOrProperties(t)){if(rangeStartPositionsAreOnSameLine(r,i,e))return;const t=i.getStart(e),o=r_.SmartIndenter.findFirstNonWhitespaceColumn(getLineStartPositionForPosition(t,e),t,e,this.formatContext.options);if(void 0===n)n=o;else if(o!==n)return;r=i}return n}computeIndentationForNewMember(e,t){const n=t.getStart(e);return r_.SmartIndenter.findFirstNonWhitespaceColumn(getLineStartPositionForPosition(n,e),n,e,this.formatContext.options)+(this.formatContext.options.indentSize??4)}getInsertNodeAtStartInsertOptions(e,t,n){const r=0===getMembersOrProperties(t).length,i=!this.classesWithNodesInsertedAtStart.has(getNodeId(t));i&&this.classesWithNodesInsertedAtStart.set(getNodeId(t),{node:t,sourceFile:e});const o=isObjectLiteralExpression(t)&&(!isJsonSourceFile(e)||!r);return{indentation:n,prefix:(isObjectLiteralExpression(t)&&isJsonSourceFile(e)&&r&&!i?",":"")+this.newLineCharacter,suffix:o?",":isInterfaceDeclaration(t)&&r?";":""}}insertNodeAfterComma(e,t,n){const r=this.insertNodeAfterWorker(e,this.nextCommaToken(e,t)||t,n);this.insertNodeAt(e,r,n,this.getInsertNodeAfterOptions(e,t))}insertNodeAfter(e,t,n){const r=this.insertNodeAfterWorker(e,t,n);this.insertNodeAt(e,r,n,this.getInsertNodeAfterOptions(e,t))}insertNodeAtEndOfList(e,t,n){this.insertNodeAt(e,t.end,n,{prefix:", "})}insertNodesAfter(e,t,n){const r=this.insertNodeAfterWorker(e,t,first(n));this.insertNodesAt(e,r,n,this.getInsertNodeAfterOptions(e,t))}insertNodeAfterWorker(e,t,n){(function needSemicolonBetween(e,t){return(isPropertySignature(e)||isPropertyDeclaration(e))&&isClassOrTypeElement(t)&&168===t.name.kind||isStatementButNotDeclaration(e)&&isStatementButNotDeclaration(t)})(t,n)&&59!==e.text.charCodeAt(t.end-1)&&this.replaceRange(e,createRange(t.end),Wr.createToken(27));return getAdjustedEndPosition(e,t,{})}getInsertNodeAfterOptions(e,t){const n=this.getInsertNodeAfterOptionsWorker(t);return{...n,prefix:t.end===e.end&&isStatement(t)?n.prefix?`\n${n.prefix}`:"\n":n.prefix}}getInsertNodeAfterOptionsWorker(e){switch(e.kind){case 264:case 268:return{prefix:this.newLineCharacter,suffix:this.newLineCharacter};case 261:case 11:case 80:return{prefix:", "};case 304:return{suffix:","+this.newLineCharacter};case 95:return{prefix:" "};case 170:return{};default:return h.assert(isStatement(e)||isClassOrTypeElement(e)),{suffix:this.newLineCharacter}}}insertName(e,t,n){if(h.assert(!t.name),220===t.kind){const r=findChildOfKind(t,39,e),i=findChildOfKind(t,21,e);i?(this.insertNodesAt(e,i.getStart(e),[Wr.createToken(100),Wr.createIdentifier(n)],{joiner:" "}),deleteNode(this,e,r)):(this.insertText(e,first(t.parameters).getStart(e),`function ${n}(`),this.replaceRange(e,r,Wr.createToken(22))),242!==t.body.kind&&(this.insertNodesAt(e,t.body.getStart(e),[Wr.createToken(19),Wr.createToken(107)],{joiner:" ",suffix:" "}),this.insertNodesAt(e,t.body.end,[Wr.createToken(27),Wr.createToken(20)],{joiner:" "}))}else{const r=findChildOfKind(t,219===t.kind?100:86,e).end;this.insertNodeAt(e,r,Wr.createIdentifier(n),{prefix:" "})}}insertExportModifier(e,t){this.insertText(e,t.getStart(e),"export ")}insertImportSpecifierAtIndex(e,t,n,r){const i=n.elements[r-1];i?this.insertNodeInListAfter(e,i,t):this.insertNodeBefore(e,n.elements[0],t,!positionsAreOnSameLine(n.elements[0].getStart(),n.parent.parent.getStart(),e))}insertNodeInListAfter(e,t,n,r=r_.SmartIndenter.getContainingList(t,e)){if(!r)return void h.fail("node is not a list element");const i=indexOfNode(r,t);if(i<0)return;const o=t.getEnd();if(i!==r.length-1){const o=getTokenAtPosition(e,t.end);if(o&&isSeparator(t,o)){const t=r[i+1],a=skipWhitespacesAndLineBreaks(e.text,t.getFullStart()),s=`${tokenToString(o.kind)}${e.text.substring(o.end,a)}`;this.insertNodesAt(e,a,[n],{suffix:s})}}else{const a=t.getStart(e),s=getLineStartPositionForPosition(a,e);let c,l=!1;if(1===r.length)c=28;else{const n=findPrecedingToken(t.pos,e);c=isSeparator(t,n)?n.kind:28;l=getLineStartPositionForPosition(r[i-1].getStart(e),e)!==s}if(!function hasCommentsBeforeLineBreak(e,t){let n=t;for(;n<e.length;){const t=e.charCodeAt(n);if(!isWhiteSpaceSingleLine(t))return 47===t;n++}return!1}(e.text,t.end)&&positionsAreOnSameLine(r.pos,r.end,e)||(l=!0),l){this.replaceRange(e,createRange(o),Wr.createToken(c));const t=r_.SmartIndenter.findFirstNonWhitespaceColumn(s,a,e,this.formatContext.options);let r=skipTrivia(e.text,o,!0,!1);for(;r!==o&&isLineBreak(e.text.charCodeAt(r-1));)r--;this.replaceRange(e,createRange(r),n,{indentation:t,prefix:this.newLineCharacter})}else this.replaceRange(e,createRange(o),n,{prefix:`${tokenToString(c)} `})}}parenthesizeExpression(e,t){this.replaceRange(e,rangeOfNode(t),Wr.createParenthesizedExpression(t))}finishClassesWithNodesInsertedAtStart(){this.classesWithNodesInsertedAtStart.forEach(({node:e,sourceFile:t})=>{const[n,r]=function getClassOrObjectBraceEnds(e,t){const n=findChildOfKind(e,19,t),r=findChildOfKind(e,20,t);return[null==n?void 0:n.end,null==r?void 0:r.end]}(e,t);if(void 0!==n&&void 0!==r){const i=0===getMembersOrProperties(e).length,o=positionsAreOnSameLine(n,r,t);i&&o&&n!==r-1&&this.deleteRange(t,createRange(n,r-1)),o&&this.insertText(t,r-1,this.newLineCharacter)}})}finishDeleteDeclarations(){const e=new Set;for(const{sourceFile:t,node:n}of this.deletedNodes)this.deletedNodes.some(e=>e.sourceFile===t&&rangeContainsRangeExclusive(e.node,n))||(isArray(n)?this.deleteRange(t,rangeOfTypeParameters(t,n)):t_.deleteDeclaration(this,e,t,n));e.forEach(t=>{const n=t.getSourceFile(),r=r_.SmartIndenter.getContainingList(t,n);if(t!==last(r))return;const i=findLastIndex(r,t=>!e.has(t),r.length-2);-1!==i&&this.deleteRange(n,{pos:r[i].end,end:startPositionToDeleteNodeInList(n,r[i+1])})})}getChanges(e){this.finishDeleteDeclarations(),this.finishClassesWithNodesInsertedAtStart();const t=Zm.getTextChangesFromChanges(this.changes,this.newLineCharacter,this.formatContext,e);return this.newFileChanges&&this.newFileChanges.forEach((e,n)=>{t.push(Zm.newFileChanges(n,e,this.newLineCharacter,this.formatContext))}),t}createNewFile(e,t,n){this.insertStatementsInNewFile(t,n,e)}};function startPositionToDeleteNodeInList(e,t){return skipTrivia(e.text,getAdjustedStartPosition(e,t,{leadingTriviaOption:1}),!1,!0)}function endPositionToDeleteNodeInList(e,t,n,r){const i=startPositionToDeleteNodeInList(e,r);if(void 0===n||positionsAreOnSameLine(getAdjustedEndPosition(e,t,{}),i,e))return i;const o=findPrecedingToken(r.getStart(e),e);if(isSeparator(t,o)){const r=findPrecedingToken(t.getStart(e),e);if(isSeparator(n,r)){const t=skipTrivia(e.text,o.getEnd(),!0,!0);if(positionsAreOnSameLine(r.getStart(e),o.getStart(e),e))return isLineBreak(e.text.charCodeAt(t-1))?t-1:t;if(isLineBreak(e.text.charCodeAt(t)))return t}}return i}function getMembersOrProperties(e){return isObjectLiteralExpression(e)?e.properties:e.members}function applyChanges(e,t){for(let n=t.length-1;n>=0;n--){const{span:r,newText:i}=t[n];e=`${e.substring(0,r.start)}${i}${e.substring(textSpanEnd(r))}`}return e}(e=>{function newFileChangesWorker(e,t,n,r){const i=flatMap(t,e=>e.statements.map(t=>4===t?"":getNonformattedText(t,e.oldFile,n).text)).join(n),o=createSourceFile("any file name",i,{languageVersion:99,jsDocParsingMode:1},!0,e);return applyChanges(i,r_.formatDocument(o,r))+n}function getNonformattedText(e,t,n){const r=createWriter(n);return createPrinter({newLine:getNewLineKind(n),neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},r).writeNode(4,e,t,r),{text:r.getText(),node:assignPositionsToNode(e)}}e.getTextChangesFromChanges=function getTextChangesFromChanges(e,t,n,r){return mapDefined(group(e,e=>e.sourceFile.path),e=>{const i=e[0].sourceFile,o=toSorted(e,(e,t)=>e.range.pos-t.range.pos||e.range.end-t.range.end);for(let e=0;e<o.length-1;e++)h.assert(o[e].range.end<=o[e+1].range.pos,"Changes overlap",()=>`${JSON.stringify(o[e].range)} and ${JSON.stringify(o[e+1].range)}`);const a=mapDefined(o,e=>{const o=createTextSpanFromRange(e.range),a=1===e.kind?getSourceFileOfNode(getOriginalNode(e.node))??e.sourceFile:2===e.kind?getSourceFileOfNode(getOriginalNode(e.nodes[0]))??e.sourceFile:e.sourceFile,s=function computeNewText(e,t,n,r,i,o){var a;if(0===e.kind)return"";if(3===e.kind)return e.text;const{options:s={},range:{pos:c}}=e,format=e=>function getFormattedTextOfNode(e,t,n,r,{indentation:i,prefix:o,delta:a},s,c,l){const{node:d,text:p}=getNonformattedText(e,t,s);l&&l(d,p);const u=getFormatCodeSettingsForWriting(c,t),m=void 0!==i?i:r_.SmartIndenter.getIndentation(r,n,u,o===s||getLineStartPositionForPosition(r,t)===r);void 0===a&&(a=r_.SmartIndenter.shouldIndentChildNode(u,e)&&u.indentSize||0);const _={text:p,getLineAndCharacterOfPosition(e){return getLineAndCharacterOfPosition(this,e)}},f=r_.formatNodeGivenIndentation(d,_,t.languageVariant,m,a,{...c,options:u});return applyChanges(p,f)}(e,t,n,c,s,r,i,o),l=2===e.kind?e.nodes.map(e=>removeSuffix(format(e),r)).join((null==(a=e.options)?void 0:a.joiner)||r):format(e.node),d=void 0!==s.indentation||getLineStartPositionForPosition(c,t)===c?l:l.replace(/^\s+/,"");return(s.prefix||"")+d+(!s.suffix||endsWith(d,s.suffix)?"":s.suffix)}(e,a,i,t,n,r);if(o.length!==s.length||!stringContainsAt(a.text,s,o.start))return createTextChange(o,s)});return a.length>0?{fileName:i.fileName,textChanges:a}:void 0})},e.newFileChanges=function newFileChanges(e,t,n,r){const i=newFileChangesWorker(getScriptKindFromFileName(e),t,n,r);return{fileName:e,textChanges:[createTextChange(createTextSpan(0,0),i)],isNewFile:!0}},e.newFileChangesWorker=newFileChangesWorker,e.getNonformattedText=getNonformattedText})(Zm||(Zm={}));var t_,n_={...ba,factory:createNodeFactory(1|ba.factory.flags,ba.factory.baseFactory)};function assignPositionsToNode(e){const t=visitEachChild(e,assignPositionsToNode,n_,assignPositionsToNodeArray,assignPositionsToNode),n=nodeIsSynthesized(t)?t:Object.create(t);return setTextRangePosEnd(n,getPos2(e),getEnd(e)),n}function assignPositionsToNodeArray(e,t,n,r,i){const o=visitNodes2(e,t,n,r,i);if(!o)return o;h.assert(e);const a=o===e?Wr.createNodeArray(o.slice(0)):o;return setTextRangePosEnd(a,getPos2(e),getEnd(e)),a}function createWriter(e){let t=0;const n=createTextWriter(e);function setLastNonTriviaPosition(e,r){if(r||!function isTrivia2(e){return skipTrivia(e,0)===e.length}(e)){t=n.getTextPos();let r=0;for(;isWhiteSpaceLike(e.charCodeAt(e.length-r-1));)r++;t-=r}}return{onBeforeEmitNode:e=>{e&&setPos(e,t)},onAfterEmitNode:e=>{e&&setEnd(e,t)},onBeforeEmitNodeArray:e=>{e&&setPos(e,t)},onAfterEmitNodeArray:e=>{e&&setEnd(e,t)},onBeforeEmitToken:e=>{e&&setPos(e,t)},onAfterEmitToken:e=>{e&&setEnd(e,t)},write:function write(e){n.write(e),setLastNonTriviaPosition(e,!1)},writeComment:function writeComment(e){n.writeComment(e)},writeKeyword:function writeKeyword(e){n.writeKeyword(e),setLastNonTriviaPosition(e,!1)},writeOperator:function writeOperator(e){n.writeOperator(e),setLastNonTriviaPosition(e,!1)},writePunctuation:function writePunctuation(e){n.writePunctuation(e),setLastNonTriviaPosition(e,!1)},writeTrailingSemicolon:function writeTrailingSemicolon(e){n.writeTrailingSemicolon(e),setLastNonTriviaPosition(e,!1)},writeParameter:function writeParameter(e){n.writeParameter(e),setLastNonTriviaPosition(e,!1)},writeProperty:function writeProperty(e){n.writeProperty(e),setLastNonTriviaPosition(e,!1)},writeSpace:function writeSpace(e){n.writeSpace(e),setLastNonTriviaPosition(e,!1)},writeStringLiteral:function writeStringLiteral(e){n.writeStringLiteral(e),setLastNonTriviaPosition(e,!1)},writeSymbol:function writeSymbol(e,t){n.writeSymbol(e,t),setLastNonTriviaPosition(e,!1)},writeLine:function writeLine(e){n.writeLine(e)},increaseIndent:function increaseIndent(){n.increaseIndent()},decreaseIndent:function decreaseIndent(){n.decreaseIndent()},getText:function getText(){return n.getText()},rawWrite:function rawWrite(e){n.rawWrite(e),setLastNonTriviaPosition(e,!1)},writeLiteral:function writeLiteral(e){n.writeLiteral(e),setLastNonTriviaPosition(e,!0)},getTextPos:function getTextPos(){return n.getTextPos()},getLine:function getLine(){return n.getLine()},getColumn:function getColumn(){return n.getColumn()},getIndent:function getIndent(){return n.getIndent()},isAtStartOfLine:function isAtStartOfLine(){return n.isAtStartOfLine()},hasTrailingComment:()=>n.hasTrailingComment(),hasTrailingWhitespace:()=>n.hasTrailingWhitespace(),clear:function clear2(){n.clear(),t=0}}}function isValidLocationToAddComment(e,t){return!(isInComment(e,t)||isInString(e,t)||isInTemplateString(e,t)||isInJSXText(e,t))}function deleteNode(e,t,n,r={leadingTriviaOption:1}){const i=getAdjustedStartPosition(t,n,r),o=getAdjustedEndPosition(t,n,r);e.deleteRange(t,{pos:i,end:o})}function deleteNodeInList(e,t,n,r){const i=h.checkDefined(r_.SmartIndenter.getContainingList(r,n)),o=indexOfNode(i,r);h.assert(-1!==o),1!==i.length?(h.assert(!t.has(r),"Deleting a node twice"),t.add(r),e.deleteRange(n,{pos:startPositionToDeleteNodeInList(n,r),end:o===i.length-1?getAdjustedEndPosition(n,r,{}):endPositionToDeleteNodeInList(n,r,i[o-1],i[o+1])})):deleteNode(e,n,r)}(e=>{function deleteImportBinding(e,t,n){if(n.parent.name){const r=h.checkDefined(getTokenAtPosition(t,n.pos-1));e.deleteRange(t,{pos:r.getStart(t),end:n.end})}else{deleteNode(e,t,getAncestor(n,273))}}e.deleteDeclaration=function deleteDeclaration2(e,t,n,r){switch(r.kind){case 170:{const i=r.parent;isArrowFunction(i)&&1===i.parameters.length&&!findChildOfKind(i,21,n)?e.replaceNodeWithText(n,r,"()"):deleteNodeInList(e,t,n,r);break}case 273:case 272:deleteNode(e,n,r,{leadingTriviaOption:n.imports.length&&r===first(n.imports).parent||r===find(n.statements,isAnyImportSyntax)?0:hasJSDocNodes(r)?2:3});break;case 209:const i=r.parent;208===i.kind&&r!==last(i.elements)?deleteNode(e,n,r):deleteNodeInList(e,t,n,r);break;case 261:!function deleteVariableDeclaration(e,t,n,r){const{parent:i}=r;if(300===i.kind)return void e.deleteNodeRange(n,findChildOfKind(i,21,n),findChildOfKind(i,22,n));if(1!==i.declarations.length)return void deleteNodeInList(e,t,n,r);const o=i.parent;switch(o.kind){case 251:case 250:e.replaceNode(n,r,Wr.createObjectLiteralExpression());break;case 249:deleteNode(e,n,i);break;case 244:deleteNode(e,n,o,{leadingTriviaOption:hasJSDocNodes(o)?2:3});break;default:h.assertNever(o)}}(e,t,n,r);break;case 169:deleteNodeInList(e,t,n,r);break;case 277:const o=r.parent;1===o.elements.length?deleteImportBinding(e,n,o):deleteNodeInList(e,t,n,r);break;case 275:deleteImportBinding(e,n,r);break;case 27:deleteNode(e,n,r,{trailingTriviaOption:0});break;case 100:deleteNode(e,n,r,{leadingTriviaOption:0});break;case 264:case 263:deleteNode(e,n,r,{leadingTriviaOption:hasJSDocNodes(r)?2:3});break;default:r.parent?isImportClause(r.parent)&&r.parent.name===r?function deleteDefaultImport(e,t,n){if(n.namedBindings){const r=n.name.getStart(t),i=getTokenAtPosition(t,n.name.end);if(i&&28===i.kind){const n=skipTrivia(t.text,i.end,!1,!0);e.deleteRange(t,{pos:r,end:n})}else deleteNode(e,t,n.name)}else deleteNode(e,t,n.parent)}(e,n,r.parent):isCallExpression(r.parent)&&contains(r.parent.arguments,r)?deleteNodeInList(e,t,n,r):deleteNode(e,n,r):deleteNode(e,n,r)}}})(t_||(t_={}));var r_={};i(r_,{FormattingContext:()=>o_,FormattingRequestKind:()=>i_,RuleAction:()=>d_,RuleFlags:()=>p_,SmartIndenter:()=>g_,anyContext:()=>l_,createTextRangeWithKind:()=>createTextRangeWithKind,formatDocument:()=>formatDocument,formatNodeGivenIndentation:()=>formatNodeGivenIndentation,formatOnClosingCurly:()=>formatOnClosingCurly,formatOnEnter:()=>formatOnEnter,formatOnOpeningCurly:()=>formatOnOpeningCurly,formatOnSemicolon:()=>formatOnSemicolon,formatSelection:()=>formatSelection,getAllRules:()=>getAllRules,getFormatContext:()=>getFormatContext,getFormattingScanner:()=>getFormattingScanner,getIndentationString:()=>getIndentationString,getRangeOfEnclosingComment:()=>getRangeOfEnclosingComment});var i_=(e=>(e[e.FormatDocument=0]="FormatDocument",e[e.FormatSelection=1]="FormatSelection",e[e.FormatOnEnter=2]="FormatOnEnter",e[e.FormatOnSemicolon=3]="FormatOnSemicolon",e[e.FormatOnOpeningCurlyBrace=4]="FormatOnOpeningCurlyBrace",e[e.FormatOnClosingCurlyBrace=5]="FormatOnClosingCurlyBrace",e))(i_||{}),o_=class{constructor(e,t,n){this.sourceFile=e,this.formattingRequestKind=t,this.options=n}updateContext(e,t,n,r,i){this.currentTokenSpan=h.checkDefined(e),this.currentTokenParent=h.checkDefined(t),this.nextTokenSpan=h.checkDefined(n),this.nextTokenParent=h.checkDefined(r),this.contextNode=h.checkDefined(i),this.contextNodeAllOnSameLine=void 0,this.nextNodeAllOnSameLine=void 0,this.tokensAreOnSameLine=void 0,this.contextNodeBlockIsOnOneLine=void 0,this.nextNodeBlockIsOnOneLine=void 0}ContextNodeAllOnSameLine(){return void 0===this.contextNodeAllOnSameLine&&(this.contextNodeAllOnSameLine=this.NodeIsOnOneLine(this.contextNode)),this.contextNodeAllOnSameLine}NextNodeAllOnSameLine(){return void 0===this.nextNodeAllOnSameLine&&(this.nextNodeAllOnSameLine=this.NodeIsOnOneLine(this.nextTokenParent)),this.nextNodeAllOnSameLine}TokensAreOnSameLine(){if(void 0===this.tokensAreOnSameLine){const e=this.sourceFile.getLineAndCharacterOfPosition(this.currentTokenSpan.pos).line,t=this.sourceFile.getLineAndCharacterOfPosition(this.nextTokenSpan.pos).line;this.tokensAreOnSameLine=e===t}return this.tokensAreOnSameLine}ContextNodeBlockIsOnOneLine(){return void 0===this.contextNodeBlockIsOnOneLine&&(this.contextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.contextNode)),this.contextNodeBlockIsOnOneLine}NextNodeBlockIsOnOneLine(){return void 0===this.nextNodeBlockIsOnOneLine&&(this.nextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.nextTokenParent)),this.nextNodeBlockIsOnOneLine}NodeIsOnOneLine(e){return this.sourceFile.getLineAndCharacterOfPosition(e.getStart(this.sourceFile)).line===this.sourceFile.getLineAndCharacterOfPosition(e.getEnd()).line}BlockIsOnOneLine(e){const t=findChildOfKind(e,19,this.sourceFile),n=findChildOfKind(e,20,this.sourceFile);if(t&&n){return this.sourceFile.getLineAndCharacterOfPosition(t.getEnd()).line===this.sourceFile.getLineAndCharacterOfPosition(n.getStart(this.sourceFile)).line}return!1}},a_=createScanner(99,!1,0),s_=createScanner(99,!1,1);function getFormattingScanner(e,t,n,r,i){const o=1===t?s_:a_;o.setText(e),o.resetTokenState(n);let a,s,c,l,d,p=!0;const u=i({advance:function advance(){d=void 0;o.getTokenFullStart()!==n?p=!!s&&4===last(s).kind:o.scan();a=void 0,s=void 0;let e=o.getTokenFullStart();for(;e<r;){const t=o.getToken();if(!isTrivia(t))break;o.scan();const n={pos:e,end:o.getTokenFullStart(),kind:t};e=o.getTokenFullStart(),a=append(a,n)}c=o.getTokenFullStart()},readTokenInfo:function readTokenInfo(e){h.assert(isOnToken());const t=function shouldRescanGreaterThanToken(e){switch(e.kind){case 34:case 72:case 73:case 50:case 49:return!0}return!1}(e)?1:function shouldRescanSlashToken(e){return 14===e.kind}(e)?2:function shouldRescanTemplateToken(e){return 17===e.kind||18===e.kind}(e)?3:function shouldRescanJsxIdentifier(e){if(e.parent)switch(e.parent.kind){case 292:case 287:case 288:case 286:return isKeyword(e.kind)||80===e.kind}return!1}(e)?4:function shouldRescanJsxText(e){return isJsxText(e)||isJsxElement(e)&&12===(null==d?void 0:d.token.kind)}(e)?5:function shouldRescanJsxAttributeValue(e){return e.parent&&isJsxAttribute(e.parent)&&e.parent.initializer===e}(e)?6:0;if(d&&t===l)return fixTokenKind(d,e);o.getTokenFullStart()!==c&&(h.assert(void 0!==d),o.resetTokenState(c),o.scan());let n=function getNextToken(e,t){const n=o.getToken();switch(l=0,t){case 1:if(32===n){l=1;const t=o.reScanGreaterToken();return h.assert(e.kind===t),t}break;case 2:if(function startsWithSlashToken(e){return 44===e||69===e}(n)){l=2;const t=o.reScanSlashToken();return h.assert(e.kind===t),t}break;case 3:if(20===n)return l=3,o.reScanTemplateToken(!1);break;case 4:return l=4,o.scanJsxIdentifier();case 5:return l=5,o.reScanJsxToken(!1);case 6:return l=6,o.reScanJsxAttributeValue();case 0:break;default:h.assertNever(t)}return n}(e,t);const i=createTextRangeWithKind(o.getTokenFullStart(),o.getTokenEnd(),n);s&&(s=void 0);for(;o.getTokenFullStart()<r&&(n=o.scan(),isTrivia(n));){const e=createTextRangeWithKind(o.getTokenFullStart(),o.getTokenEnd(),n);if(s||(s=[]),s.push(e),4===n){o.scan();break}}return d={leadingTrivia:a,trailingTrivia:s,token:i},fixTokenKind(d,e)},readEOFTokenRange:function readEOFTokenRange(){return h.assert(isOnEOF()),createTextRangeWithKind(o.getTokenFullStart(),o.getTokenEnd(),1)},isOnToken,isOnEOF,getCurrentLeadingTrivia:()=>a,lastTrailingTriviaWasNewLine:()=>p,skipToEndOf:function skipToEndOf(e){o.resetTokenState(e.end),c=o.getTokenFullStart(),l=void 0,d=void 0,p=!1,a=void 0,s=void 0},skipToStartOf:function skipToStartOf(e){o.resetTokenState(e.pos),c=o.getTokenFullStart(),l=void 0,d=void 0,p=!1,a=void 0,s=void 0},getTokenFullStart:()=>(null==d?void 0:d.token.pos)??o.getTokenStart(),getStartPos:()=>(null==d?void 0:d.token.pos)??o.getTokenStart()});return d=void 0,o.setText(void 0),u;function isOnToken(){const e=d?d.token.kind:o.getToken();return 1!==e&&!isTrivia(e)}function isOnEOF(){return 1===(d?d.token.kind:o.getToken())}function fixTokenKind(e,t){return isToken(t)&&e.token.kind!==t.kind&&(e.token.kind=t.kind),e}}var c_,l_=l,d_=(e=>(e[e.None=0]="None",e[e.StopProcessingSpaceActions=1]="StopProcessingSpaceActions",e[e.StopProcessingTokenActions=2]="StopProcessingTokenActions",e[e.InsertSpace=4]="InsertSpace",e[e.InsertNewLine=8]="InsertNewLine",e[e.DeleteSpace=16]="DeleteSpace",e[e.DeleteToken=32]="DeleteToken",e[e.InsertTrailingSemicolon=64]="InsertTrailingSemicolon",e[e.StopAction=3]="StopAction",e[e.ModifySpaceAction=28]="ModifySpaceAction",e[e.ModifyTokenAction=96]="ModifyTokenAction",e))(d_||{}),p_=(e=>(e[e.None=0]="None",e[e.CanDeleteNewLines=1]="CanDeleteNewLines",e))(p_||{});function getAllRules(){const e=[];for(let t=0;t<=166;t++)1!==t&&e.push(t);function anyTokenExcept(...t){return{tokens:e.filter(e=>!t.some(t=>t===e)),isSpecific:!1}}const t={tokens:e,isSpecific:!1},n=tokenRangeFrom([...e,3]),r=tokenRangeFrom([...e,1]),i=tokenRangeFromRange(83,166),o=tokenRangeFromRange(30,79),a=[103,104,165,130,142,152],s=[80,...Ks],c=n,l=tokenRangeFrom([80,32,3,86,95,102]),d=tokenRangeFrom([22,3,92,113,98,93,85]);return[...[rule("IgnoreBeforeComment",t,[2,3],l_,1),rule("IgnoreAfterLineComment",2,t,l_,1),rule("NotSpaceBeforeColon",t,59,[isNonJsxSameLineTokenContext,isNotBinaryOpContext,isNotTypeAnnotationContext],16),rule("SpaceAfterColon",59,t,[isNonJsxSameLineTokenContext,isNotBinaryOpContext,isNextTokenParentNotJsxNamespacedName],4),rule("NoSpaceBeforeQuestionMark",t,58,[isNonJsxSameLineTokenContext,isNotBinaryOpContext,isNotTypeAnnotationContext],16),rule("SpaceAfterQuestionMarkInConditionalOperator",58,t,[isNonJsxSameLineTokenContext,isConditionalOperatorContext],4),rule("NoSpaceAfterQuestionMark",58,t,[isNonJsxSameLineTokenContext,isNonOptionalPropertyContext],16),rule("NoSpaceBeforeDot",t,[25,29],[isNonJsxSameLineTokenContext,isNotPropertyAccessOnIntegerLiteral],16),rule("NoSpaceAfterDot",[25,29],t,[isNonJsxSameLineTokenContext],16),rule("NoSpaceBetweenImportParenInImportType",102,21,[isNonJsxSameLineTokenContext,isImportTypeContext],16),rule("NoSpaceAfterUnaryPrefixOperator",[46,47,55,54],[9,10,80,21,23,19,110,105],[isNonJsxSameLineTokenContext,isNotBinaryOpContext],16),rule("NoSpaceAfterUnaryPreincrementOperator",46,[80,21,110,105],[isNonJsxSameLineTokenContext],16),rule("NoSpaceAfterUnaryPredecrementOperator",47,[80,21,110,105],[isNonJsxSameLineTokenContext],16),rule("NoSpaceBeforeUnaryPostincrementOperator",[80,22,24,105],46,[isNonJsxSameLineTokenContext,isNotStatementConditionContext],16),rule("NoSpaceBeforeUnaryPostdecrementOperator",[80,22,24,105],47,[isNonJsxSameLineTokenContext,isNotStatementConditionContext],16),rule("SpaceAfterPostincrementWhenFollowedByAdd",46,40,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterAddWhenFollowedByUnaryPlus",40,40,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterAddWhenFollowedByPreincrement",40,46,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterPostdecrementWhenFollowedBySubtract",47,41,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterSubtractWhenFollowedByUnaryMinus",41,41,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterSubtractWhenFollowedByPredecrement",41,47,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("NoSpaceAfterCloseBrace",20,[28,27],[isNonJsxSameLineTokenContext],16),rule("NewLineBeforeCloseBraceInBlockContext",n,20,[isMultilineBlockContext],8),rule("SpaceAfterCloseBrace",20,anyTokenExcept(22),[isNonJsxSameLineTokenContext,isAfterCodeBlockContext],4),rule("SpaceBetweenCloseBraceAndElse",20,93,[isNonJsxSameLineTokenContext],4),rule("SpaceBetweenCloseBraceAndWhile",20,117,[isNonJsxSameLineTokenContext],4),rule("NoSpaceBetweenEmptyBraceBrackets",19,20,[isNonJsxSameLineTokenContext,isObjectContext],16),rule("SpaceAfterConditionalClosingParen",22,23,[isControlDeclContext],4),rule("NoSpaceBetweenFunctionKeywordAndStar",100,42,[isFunctionDeclarationOrFunctionExpressionContext],16),rule("SpaceAfterStarInGeneratorDeclaration",42,80,[isFunctionDeclarationOrFunctionExpressionContext],4),rule("SpaceAfterFunctionInFuncDecl",100,t,[isFunctionDeclContext],4),rule("NewLineAfterOpenBraceInBlockContext",19,t,[isMultilineBlockContext],8),rule("SpaceAfterGetSetInMember",[139,153],80,[isFunctionDeclContext],4),rule("NoSpaceBetweenYieldKeywordAndStar",127,42,[isNonJsxSameLineTokenContext,isYieldOrYieldStarWithOperand],16),rule("SpaceBetweenYieldOrYieldStarAndOperand",[127,42],t,[isNonJsxSameLineTokenContext,isYieldOrYieldStarWithOperand],4),rule("NoSpaceBetweenReturnAndSemicolon",107,27,[isNonJsxSameLineTokenContext],16),rule("SpaceAfterCertainKeywords",[115,111,105,91,107,114,135],t,[isNonJsxSameLineTokenContext],4),rule("SpaceAfterLetConstInVariableDeclaration",[121,87],t,[isNonJsxSameLineTokenContext,isStartOfVariableDeclarationList],4),rule("NoSpaceBeforeOpenParenInFuncCall",t,21,[isNonJsxSameLineTokenContext,isFunctionCallOrNewContext,isPreviousTokenNotComma],16),rule("SpaceBeforeBinaryKeywordOperator",t,a,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterBinaryKeywordOperator",a,t,[isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterVoidOperator",116,t,[isNonJsxSameLineTokenContext,isVoidOpContext],4),rule("SpaceBetweenAsyncAndOpenParen",134,21,[isArrowFunctionContext,isNonJsxSameLineTokenContext],4),rule("SpaceBetweenAsyncAndFunctionKeyword",134,[100,80],[isNonJsxSameLineTokenContext],4),rule("NoSpaceBetweenTagAndTemplateString",[80,22],[15,16],[isNonJsxSameLineTokenContext],16),rule("SpaceBeforeJsxAttribute",t,80,[isNextTokenParentJsxAttribute,isNonJsxSameLineTokenContext],4),rule("SpaceBeforeSlashInJsxOpeningElement",t,44,[isJsxSelfClosingElementContext,isNonJsxSameLineTokenContext],4),rule("NoSpaceBeforeGreaterThanTokenInJsxOpeningElement",44,32,[isJsxSelfClosingElementContext,isNonJsxSameLineTokenContext],16),rule("NoSpaceBeforeEqualInJsxAttribute",t,64,[isJsxAttributeContext,isNonJsxSameLineTokenContext],16),rule("NoSpaceAfterEqualInJsxAttribute",64,t,[isJsxAttributeContext,isNonJsxSameLineTokenContext],16),rule("NoSpaceBeforeJsxNamespaceColon",80,59,[isNextTokenParentJsxNamespacedName],16),rule("NoSpaceAfterJsxNamespaceColon",59,80,[isNextTokenParentJsxNamespacedName],16),rule("NoSpaceAfterModuleImport",[144,149],21,[isNonJsxSameLineTokenContext],16),rule("SpaceAfterCertainTypeScriptKeywords",[128,129,86,138,90,94,95,96,139,119,102,120,144,145,123,125,124,148,153,126,156,161,143,140],t,[isNonJsxSameLineTokenContext],4),rule("SpaceBeforeCertainTypeScriptKeywords",t,[96,119,161],[isNonJsxSameLineTokenContext],4),rule("SpaceAfterModuleName",11,19,[isModuleDeclContext],4),rule("SpaceBeforeArrow",t,39,[isNonJsxSameLineTokenContext],4),rule("SpaceAfterArrow",39,t,[isNonJsxSameLineTokenContext],4),rule("NoSpaceAfterEllipsis",26,80,[isNonJsxSameLineTokenContext],16),rule("NoSpaceAfterOptionalParameters",58,[22,28],[isNonJsxSameLineTokenContext,isNotBinaryOpContext],16),rule("NoSpaceBetweenEmptyInterfaceBraceBrackets",19,20,[isNonJsxSameLineTokenContext,isObjectTypeContext],16),rule("NoSpaceBeforeOpenAngularBracket",s,30,[isNonJsxSameLineTokenContext,isTypeArgumentOrParameterOrAssertionContext],16),rule("NoSpaceBetweenCloseParenAndAngularBracket",22,30,[isNonJsxSameLineTokenContext,isTypeArgumentOrParameterOrAssertionContext],16),rule("NoSpaceAfterOpenAngularBracket",30,t,[isNonJsxSameLineTokenContext,isTypeArgumentOrParameterOrAssertionContext],16),rule("NoSpaceBeforeCloseAngularBracket",t,32,[isNonJsxSameLineTokenContext,isTypeArgumentOrParameterOrAssertionContext],16),rule("NoSpaceAfterCloseAngularBracket",32,[21,23,32,28],[isNonJsxSameLineTokenContext,isTypeArgumentOrParameterOrAssertionContext,isNotFunctionDeclContext,isNonTypeAssertionContext],16),rule("SpaceBeforeAt",[22,80],60,[isNonJsxSameLineTokenContext],4),rule("NoSpaceAfterAt",60,t,[isNonJsxSameLineTokenContext],16),rule("SpaceAfterDecorator",t,[128,80,95,90,86,126,125,123,124,139,153,23,42],[isEndOfDecoratorContextOnSameLine],4),rule("NoSpaceBeforeNonNullAssertionOperator",t,54,[isNonJsxSameLineTokenContext,isNonNullAssertionContext],16),rule("NoSpaceAfterNewKeywordOnConstructorSignature",105,21,[isNonJsxSameLineTokenContext,isConstructorSignatureContext],16),rule("SpaceLessThanAndNonJSXTypeAnnotation",30,30,[isNonJsxSameLineTokenContext],4)],...[rule("SpaceAfterConstructor",137,21,[isOptionEnabled("insertSpaceAfterConstructor"),isNonJsxSameLineTokenContext],4),rule("NoSpaceAfterConstructor",137,21,[isOptionDisabledOrUndefined("insertSpaceAfterConstructor"),isNonJsxSameLineTokenContext],16),rule("SpaceAfterComma",28,t,[isOptionEnabled("insertSpaceAfterCommaDelimiter"),isNonJsxSameLineTokenContext,isNonJsxElementOrFragmentContext,isNextTokenNotCloseBracket,isNextTokenNotCloseParen],4),rule("NoSpaceAfterComma",28,t,[isOptionDisabledOrUndefined("insertSpaceAfterCommaDelimiter"),isNonJsxSameLineTokenContext,isNonJsxElementOrFragmentContext],16),rule("SpaceAfterAnonymousFunctionKeyword",[100,42],21,[isOptionEnabled("insertSpaceAfterFunctionKeywordForAnonymousFunctions"),isFunctionDeclContext],4),rule("NoSpaceAfterAnonymousFunctionKeyword",[100,42],21,[isOptionDisabledOrUndefined("insertSpaceAfterFunctionKeywordForAnonymousFunctions"),isFunctionDeclContext],16),rule("SpaceAfterKeywordInControl",i,21,[isOptionEnabled("insertSpaceAfterKeywordsInControlFlowStatements"),isControlDeclContext],4),rule("NoSpaceAfterKeywordInControl",i,21,[isOptionDisabledOrUndefined("insertSpaceAfterKeywordsInControlFlowStatements"),isControlDeclContext],16),rule("SpaceAfterOpenParen",21,t,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),isNonJsxSameLineTokenContext],4),rule("SpaceBeforeCloseParen",t,22,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),isNonJsxSameLineTokenContext],4),rule("SpaceBetweenOpenParens",21,21,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),isNonJsxSameLineTokenContext],4),rule("NoSpaceBetweenParens",21,22,[isNonJsxSameLineTokenContext],16),rule("NoSpaceAfterOpenParen",21,t,[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),isNonJsxSameLineTokenContext],16),rule("NoSpaceBeforeCloseParen",t,22,[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),isNonJsxSameLineTokenContext],16),rule("SpaceAfterOpenBracket",23,t,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),isNonJsxSameLineTokenContext],4),rule("SpaceBeforeCloseBracket",t,24,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),isNonJsxSameLineTokenContext],4),rule("NoSpaceBetweenBrackets",23,24,[isNonJsxSameLineTokenContext],16),rule("NoSpaceAfterOpenBracket",23,t,[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),isNonJsxSameLineTokenContext],16),rule("NoSpaceBeforeCloseBracket",t,24,[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),isNonJsxSameLineTokenContext],16),rule("SpaceAfterOpenBrace",19,t,[isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),isBraceWrappedContext],4),rule("SpaceBeforeCloseBrace",t,20,[isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),isBraceWrappedContext],4),rule("NoSpaceBetweenEmptyBraceBrackets",19,20,[isNonJsxSameLineTokenContext,isObjectContext],16),rule("NoSpaceAfterOpenBrace",19,t,[isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),isNonJsxSameLineTokenContext],16),rule("NoSpaceBeforeCloseBrace",t,20,[isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),isNonJsxSameLineTokenContext],16),rule("SpaceBetweenEmptyBraceBrackets",19,20,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")],4),rule("NoSpaceBetweenEmptyBraceBrackets",19,20,[isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"),isNonJsxSameLineTokenContext],16),rule("SpaceAfterTemplateHeadAndMiddle",[16,17],t,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),isNonJsxTextContext],4,1),rule("SpaceBeforeTemplateMiddleAndTail",t,[17,18],[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),isNonJsxSameLineTokenContext],4),rule("NoSpaceAfterTemplateHeadAndMiddle",[16,17],t,[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),isNonJsxTextContext],16,1),rule("NoSpaceBeforeTemplateMiddleAndTail",t,[17,18],[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),isNonJsxSameLineTokenContext],16),rule("SpaceAfterOpenBraceInJsxExpression",19,t,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),isNonJsxSameLineTokenContext,isJsxExpressionContext],4),rule("SpaceBeforeCloseBraceInJsxExpression",t,20,[isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),isNonJsxSameLineTokenContext,isJsxExpressionContext],4),rule("NoSpaceAfterOpenBraceInJsxExpression",19,t,[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),isNonJsxSameLineTokenContext,isJsxExpressionContext],16),rule("NoSpaceBeforeCloseBraceInJsxExpression",t,20,[isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),isNonJsxSameLineTokenContext,isJsxExpressionContext],16),rule("SpaceAfterSemicolonInFor",27,t,[isOptionEnabled("insertSpaceAfterSemicolonInForStatements"),isNonJsxSameLineTokenContext,isForContext],4),rule("NoSpaceAfterSemicolonInFor",27,t,[isOptionDisabledOrUndefined("insertSpaceAfterSemicolonInForStatements"),isNonJsxSameLineTokenContext,isForContext],16),rule("SpaceBeforeBinaryOperator",t,o,[isOptionEnabled("insertSpaceBeforeAndAfterBinaryOperators"),isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("SpaceAfterBinaryOperator",o,t,[isOptionEnabled("insertSpaceBeforeAndAfterBinaryOperators"),isNonJsxSameLineTokenContext,isBinaryOpContext],4),rule("NoSpaceBeforeBinaryOperator",t,o,[isOptionDisabledOrUndefined("insertSpaceBeforeAndAfterBinaryOperators"),isNonJsxSameLineTokenContext,isBinaryOpContext],16),rule("NoSpaceAfterBinaryOperator",o,t,[isOptionDisabledOrUndefined("insertSpaceBeforeAndAfterBinaryOperators"),isNonJsxSameLineTokenContext,isBinaryOpContext],16),rule("SpaceBeforeOpenParenInFuncDecl",t,21,[isOptionEnabled("insertSpaceBeforeFunctionParenthesis"),isNonJsxSameLineTokenContext,isFunctionDeclContext],4),rule("NoSpaceBeforeOpenParenInFuncDecl",t,21,[isOptionDisabledOrUndefined("insertSpaceBeforeFunctionParenthesis"),isNonJsxSameLineTokenContext,isFunctionDeclContext],16),rule("NewLineBeforeOpenBraceInControl",d,19,[isOptionEnabled("placeOpenBraceOnNewLineForControlBlocks"),isControlDeclContext,isBeforeMultilineBlockContext],8,1),rule("NewLineBeforeOpenBraceInFunction",c,19,[isOptionEnabled("placeOpenBraceOnNewLineForFunctions"),isFunctionDeclContext,isBeforeMultilineBlockContext],8,1),rule("NewLineBeforeOpenBraceInTypeScriptDeclWithBlock",l,19,[isOptionEnabled("placeOpenBraceOnNewLineForFunctions"),isTypeScriptDeclWithBlockContext,isBeforeMultilineBlockContext],8,1),rule("SpaceAfterTypeAssertion",32,t,[isOptionEnabled("insertSpaceAfterTypeAssertion"),isNonJsxSameLineTokenContext,isTypeAssertionContext],4),rule("NoSpaceAfterTypeAssertion",32,t,[isOptionDisabledOrUndefined("insertSpaceAfterTypeAssertion"),isNonJsxSameLineTokenContext,isTypeAssertionContext],16),rule("SpaceBeforeTypeAnnotation",t,[58,59],[isOptionEnabled("insertSpaceBeforeTypeAnnotation"),isNonJsxSameLineTokenContext,isTypeAnnotationContext],4),rule("NoSpaceBeforeTypeAnnotation",t,[58,59],[isOptionDisabledOrUndefined("insertSpaceBeforeTypeAnnotation"),isNonJsxSameLineTokenContext,isTypeAnnotationContext],16),rule("NoOptionalSemicolon",27,r,[optionEquals("semicolons","remove"),isSemicolonDeletionContext],32),rule("OptionalSemicolon",t,r,[optionEquals("semicolons","insert"),isSemicolonInsertionContext],64)],...[rule("NoSpaceBeforeSemicolon",t,27,[isNonJsxSameLineTokenContext],16),rule("SpaceBeforeOpenBraceInControl",d,19,[isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForControlBlocks"),isControlDeclContext,isNotFormatOnEnter,isSameLineTokenOrBeforeBlockContext],4,1),rule("SpaceBeforeOpenBraceInFunction",c,19,[isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForFunctions"),isFunctionDeclContext,isBeforeBlockContext,isNotFormatOnEnter,isSameLineTokenOrBeforeBlockContext],4,1),rule("SpaceBeforeOpenBraceInTypeScriptDeclWithBlock",l,19,[isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForFunctions"),isTypeScriptDeclWithBlockContext,isNotFormatOnEnter,isSameLineTokenOrBeforeBlockContext],4,1),rule("NoSpaceBeforeComma",t,28,[isNonJsxSameLineTokenContext],16),rule("NoSpaceBeforeOpenBracket",anyTokenExcept(134,84),23,[isNonJsxSameLineTokenContext],16),rule("NoSpaceAfterCloseBracket",24,t,[isNonJsxSameLineTokenContext,isNotBeforeBlockInFunctionDeclarationContext],16),rule("SpaceAfterSemicolon",27,t,[isNonJsxSameLineTokenContext],4),rule("SpaceBetweenForAndAwaitKeyword",99,135,[isNonJsxSameLineTokenContext],4),rule("SpaceBetweenDotDotDotAndTypeName",26,s,[isNonJsxSameLineTokenContext],16),rule("SpaceBetweenStatements",[22,92,93,84],t,[isNonJsxSameLineTokenContext,isNonJsxElementOrFragmentContext,isNotForContext],4),rule("SpaceAfterTryCatchFinally",[113,85,98],19,[isNonJsxSameLineTokenContext],4)]]}function rule(e,t,n,r,i,o=0){return{leftTokenRange:toTokenRange(t),rightTokenRange:toTokenRange(n),rule:{debugName:e,context:r,action:i,flags:o}}}function tokenRangeFrom(e){return{tokens:e,isSpecific:!0}}function toTokenRange(e){return"number"==typeof e?tokenRangeFrom([e]):isArray(e)?tokenRangeFrom(e):e}function tokenRangeFromRange(e,t,n=[]){const r=[];for(let i=e;i<=t;i++)contains(n,i)||r.push(i);return tokenRangeFrom(r)}function optionEquals(e,t){return n=>n.options&&n.options[e]===t}function isOptionEnabled(e){return t=>t.options&&hasProperty(t.options,e)&&!!t.options[e]}function isOptionDisabled(e){return t=>t.options&&hasProperty(t.options,e)&&!t.options[e]}function isOptionDisabledOrUndefined(e){return t=>!t.options||!hasProperty(t.options,e)||!t.options[e]}function isOptionDisabledOrUndefinedOrTokensOnSameLine(e){return t=>!t.options||!hasProperty(t.options,e)||!t.options[e]||t.TokensAreOnSameLine()}function isOptionEnabledOrUndefined(e){return t=>!t.options||!hasProperty(t.options,e)||!!t.options[e]}function isForContext(e){return 249===e.contextNode.kind}function isNotForContext(e){return!isForContext(e)}function isBinaryOpContext(e){switch(e.contextNode.kind){case 227:return 28!==e.contextNode.operatorToken.kind;case 228:case 195:case 235:case 282:case 277:case 183:case 193:case 194:case 239:return!0;case 209:case 266:case 272:case 278:case 261:case 170:case 307:case 173:case 172:return 64===e.currentTokenSpan.kind||64===e.nextTokenSpan.kind;case 250:case 169:return 103===e.currentTokenSpan.kind||103===e.nextTokenSpan.kind||64===e.currentTokenSpan.kind||64===e.nextTokenSpan.kind;case 251:return 165===e.currentTokenSpan.kind||165===e.nextTokenSpan.kind}return!1}function isNotBinaryOpContext(e){return!isBinaryOpContext(e)}function isNotTypeAnnotationContext(e){return!isTypeAnnotationContext(e)}function isTypeAnnotationContext(e){const t=e.contextNode.kind;return 173===t||172===t||170===t||261===t||isFunctionLikeKind(t)}function isNonOptionalPropertyContext(e){return!function isOptionalPropertyContext(e){return isPropertyDeclaration(e.contextNode)&&e.contextNode.questionToken}(e)}function isConditionalOperatorContext(e){return 228===e.contextNode.kind||195===e.contextNode.kind}function isSameLineTokenOrBeforeBlockContext(e){return e.TokensAreOnSameLine()||isBeforeBlockContext(e)}function isBraceWrappedContext(e){return 207===e.contextNode.kind||201===e.contextNode.kind||function isSingleLineBlockContext(e){return isBlockContext(e)&&(e.ContextNodeAllOnSameLine()||e.ContextNodeBlockIsOnOneLine())}(e)}function isBeforeMultilineBlockContext(e){return isBeforeBlockContext(e)&&!(e.NextNodeAllOnSameLine()||e.NextNodeBlockIsOnOneLine())}function isMultilineBlockContext(e){return isBlockContext(e)&&!(e.ContextNodeAllOnSameLine()||e.ContextNodeBlockIsOnOneLine())}function isBlockContext(e){return nodeIsBlockContext(e.contextNode)}function isBeforeBlockContext(e){return nodeIsBlockContext(e.nextTokenParent)}function nodeIsBlockContext(e){if(nodeIsTypeScriptDeclWithBlockContext(e))return!0;switch(e.kind){case 242:case 270:case 211:case 269:return!0}return!1}function isFunctionDeclContext(e){switch(e.contextNode.kind){case 263:case 175:case 174:case 178:case 179:case 180:case 219:case 177:case 220:case 265:return!0}return!1}function isNotFunctionDeclContext(e){return!isFunctionDeclContext(e)}function isFunctionDeclarationOrFunctionExpressionContext(e){return 263===e.contextNode.kind||219===e.contextNode.kind}function isTypeScriptDeclWithBlockContext(e){return nodeIsTypeScriptDeclWithBlockContext(e.contextNode)}function nodeIsTypeScriptDeclWithBlockContext(e){switch(e.kind){case 264:case 232:case 265:case 267:case 188:case 268:case 279:case 280:case 273:case 276:return!0}return!1}function isAfterCodeBlockContext(e){switch(e.currentTokenParent.kind){case 264:case 268:case 267:case 300:case 269:case 256:return!0;case 242:{const t=e.currentTokenParent.parent;if(!t||220!==t.kind&&219!==t.kind)return!0}}return!1}function isControlDeclContext(e){switch(e.contextNode.kind){case 246:case 256:case 249:case 250:case 251:case 248:case 259:case 247:case 255:case 300:return!0;default:return!1}}function isObjectContext(e){return 211===e.contextNode.kind}function isFunctionCallOrNewContext(e){return function isFunctionCallContext(e){return 214===e.contextNode.kind}(e)||function isNewContext(e){return 215===e.contextNode.kind}(e)}function isPreviousTokenNotComma(e){return 28!==e.currentTokenSpan.kind}function isNextTokenNotCloseBracket(e){return 24!==e.nextTokenSpan.kind}function isNextTokenNotCloseParen(e){return 22!==e.nextTokenSpan.kind}function isArrowFunctionContext(e){return 220===e.contextNode.kind}function isImportTypeContext(e){return 206===e.contextNode.kind}function isNonJsxSameLineTokenContext(e){return e.TokensAreOnSameLine()&&12!==e.contextNode.kind}function isNonJsxTextContext(e){return 12!==e.contextNode.kind}function isNonJsxElementOrFragmentContext(e){return 285!==e.contextNode.kind&&289!==e.contextNode.kind}function isJsxExpressionContext(e){return 295===e.contextNode.kind||294===e.contextNode.kind}function isNextTokenParentJsxAttribute(e){return 292===e.nextTokenParent.kind||296===e.nextTokenParent.kind&&292===e.nextTokenParent.parent.kind}function isJsxAttributeContext(e){return 292===e.contextNode.kind}function isNextTokenParentNotJsxNamespacedName(e){return 296!==e.nextTokenParent.kind}function isNextTokenParentJsxNamespacedName(e){return 296===e.nextTokenParent.kind}function isJsxSelfClosingElementContext(e){return 286===e.contextNode.kind}function isNotBeforeBlockInFunctionDeclarationContext(e){return!isFunctionDeclContext(e)&&!isBeforeBlockContext(e)}function isEndOfDecoratorContextOnSameLine(e){return e.TokensAreOnSameLine()&&hasDecorators(e.contextNode)&&nodeIsInDecoratorContext(e.currentTokenParent)&&!nodeIsInDecoratorContext(e.nextTokenParent)}function nodeIsInDecoratorContext(e){for(;e&&isExpression(e);)e=e.parent;return e&&171===e.kind}function isStartOfVariableDeclarationList(e){return 262===e.currentTokenParent.kind&&e.currentTokenParent.getStart(e.sourceFile)===e.currentTokenSpan.pos}function isNotFormatOnEnter(e){return 2!==e.formattingRequestKind}function isModuleDeclContext(e){return 268===e.contextNode.kind}function isObjectTypeContext(e){return 188===e.contextNode.kind}function isConstructorSignatureContext(e){return 181===e.contextNode.kind}function isTypeArgumentOrParameterOrAssertion(e,t){if(30!==e.kind&&32!==e.kind)return!1;switch(t.kind){case 184:case 217:case 266:case 264:case 232:case 265:case 263:case 219:case 220:case 175:case 174:case 180:case 181:case 214:case 215:case 234:return!0;default:return!1}}function isTypeArgumentOrParameterOrAssertionContext(e){return isTypeArgumentOrParameterOrAssertion(e.currentTokenSpan,e.currentTokenParent)||isTypeArgumentOrParameterOrAssertion(e.nextTokenSpan,e.nextTokenParent)}function isTypeAssertionContext(e){return 217===e.contextNode.kind}function isNonTypeAssertionContext(e){return!isTypeAssertionContext(e)}function isVoidOpContext(e){return 116===e.currentTokenSpan.kind&&223===e.currentTokenParent.kind}function isYieldOrYieldStarWithOperand(e){return 230===e.contextNode.kind&&void 0!==e.contextNode.expression}function isNonNullAssertionContext(e){return 236===e.contextNode.kind}function isNotStatementConditionContext(e){return!function isStatementConditionContext(e){switch(e.contextNode.kind){case 246:case 249:case 250:case 251:case 247:case 248:return!0;default:return!1}}(e)}function isSemicolonDeletionContext(e){let t=e.nextTokenSpan.kind,n=e.nextTokenSpan.pos;if(isTrivia(t)){const r=e.nextTokenParent===e.currentTokenParent?findNextToken(e.currentTokenParent,findAncestor(e.currentTokenParent,e=>!e.parent),e.sourceFile):e.nextTokenParent.getFirstToken(e.sourceFile);if(!r)return!0;t=r.kind,n=r.getStart(e.sourceFile)}return e.sourceFile.getLineAndCharacterOfPosition(e.currentTokenSpan.pos).line===e.sourceFile.getLineAndCharacterOfPosition(n).line?20===t||1===t:27===t&&27===e.currentTokenSpan.kind||241!==t&&27!==t&&(265===e.contextNode.kind||266===e.contextNode.kind?!isPropertySignature(e.currentTokenParent)||!!e.currentTokenParent.type||21!==t:isPropertyDeclaration(e.currentTokenParent)?!e.currentTokenParent.initializer:249!==e.currentTokenParent.kind&&243!==e.currentTokenParent.kind&&241!==e.currentTokenParent.kind&&23!==t&&21!==t&&40!==t&&41!==t&&44!==t&&14!==t&&28!==t&&229!==t&&16!==t&&15!==t&&25!==t)}function isSemicolonInsertionContext(e){return positionIsASICandidate(e.currentTokenSpan.end,e.currentTokenParent,e.sourceFile)}function isNotPropertyAccessOnIntegerLiteral(e){return!isPropertyAccessExpression(e.contextNode)||!isNumericLiteral(e.contextNode.expression)||e.contextNode.expression.getText().includes(".")}function getFormatContext(e,t){return{options:e,getRules:getRulesMap(),host:t}}function getRulesMap(){return void 0===c_&&(c_=function createRulesMap(e){const t=function buildMap(e){const t=new Array(T_*T_),n=new Array(t.length);for(const r of e){const e=r.leftTokenRange.isSpecific&&r.rightTokenRange.isSpecific;for(const i of r.leftTokenRange.tokens)for(const o of r.rightTokenRange.tokens){const a=getRuleBucketIndex(i,o);let s=t[a];void 0===s&&(s=t[a]=[]),addRule(s,r.rule,e,n,a)}}return t}(e);return e=>{const n=t[getRuleBucketIndex(e.currentTokenSpan.kind,e.nextTokenSpan.kind)];if(n){const t=[];let r=0;for(const i of n){const n=~getRuleActionExclusion(r);i.action&n&&every(i.context,t=>t(e))&&(t.push(i),r|=i.action)}if(t.length)return t}}}(getAllRules())),c_}function getRuleActionExclusion(e){let t=0;return 1&e&&(t|=28),2&e&&(t|=96),28&e&&(t|=28),96&e&&(t|=96),t}function getRuleBucketIndex(e,t){return h.assert(e<=166&&t<=166,"Must compute formatting context from tokens"),e*T_+t}var u_,m_,__,f_,g_,y_=5,h_=31,T_=167,S_=((u_=S_||{})[u_.StopRulesSpecific=0]="StopRulesSpecific",u_[u_.StopRulesAny=1*y_]="StopRulesAny",u_[u_.ContextRulesSpecific=2*y_]="ContextRulesSpecific",u_[u_.ContextRulesAny=3*y_]="ContextRulesAny",u_[u_.NoContextRulesSpecific=4*y_]="NoContextRulesSpecific",u_[u_.NoContextRulesAny=5*y_]="NoContextRulesAny",u_);function addRule(e,t,n,r,i){const o=3&t.action?n?0:S_.StopRulesAny:t.context!==l_?n?S_.ContextRulesSpecific:S_.ContextRulesAny:n?S_.NoContextRulesSpecific:S_.NoContextRulesAny,a=r[i]||0;e.splice(function getInsertionIndex(e,t){let n=0;for(let r=0;r<=t;r+=y_)n+=e&h_,e>>=y_;return n}(a,o),0,t),r[i]=function increaseInsertionIndex(e,t){const n=1+(e>>t&h_);return h.assert((n&h_)===n,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),e&~(h_<<t)|n<<t}(a,o)}function createTextRangeWithKind(e,t,n){const r={pos:e,end:t,kind:n};return h.isDebugging&&Object.defineProperty(r,"__debugKind",{get:()=>h.formatSyntaxKind(n)}),r}function formatOnEnter(e,t,n){const r=t.getLineAndCharacterOfPosition(e).line;if(0===r)return[];let i=getEndLinePosition(r,t);for(;isWhiteSpaceSingleLine(t.text.charCodeAt(i));)i--;isLineBreak(t.text.charCodeAt(i))&&i--;return formatSpan({pos:getStartPositionOfLine(r-1,t),end:i+1},t,n,2)}function formatOnSemicolon(e,t,n){return formatNodeLines(findOutermostNodeWithinListLevel(findImmediatelyPrecedingTokenOfKind(e,27,t)),t,n,3)}function formatOnOpeningCurly(e,t,n){const r=findImmediatelyPrecedingTokenOfKind(e,19,t);if(!r)return[];return formatSpan({pos:getLineStartPositionForPosition(findOutermostNodeWithinListLevel(r.parent).getStart(t),t),end:e},t,n,4)}function formatOnClosingCurly(e,t,n){return formatNodeLines(findOutermostNodeWithinListLevel(findImmediatelyPrecedingTokenOfKind(e,20,t)),t,n,5)}function formatDocument(e,t){return formatSpan({pos:0,end:e.text.length},e,t,0)}function formatSelection(e,t,n,r){return formatSpan({pos:getLineStartPositionForPosition(e,n),end:t},n,r,1)}function findImmediatelyPrecedingTokenOfKind(e,t,n){const r=findPrecedingToken(e,n);return r&&r.kind===t&&e===r.getEnd()?r:void 0}function findOutermostNodeWithinListLevel(e){let t=e;for(;t&&t.parent&&t.parent.end===e.end&&!isListElement(t.parent,t);)t=t.parent;return t}function isListElement(e,t){switch(e.kind){case 264:case 265:return rangeContainsRange(e.members,t);case 268:const n=e.body;return!!n&&269===n.kind&&rangeContainsRange(n.statements,t);case 308:case 242:case 269:return rangeContainsRange(e.statements,t);case 300:return rangeContainsRange(e.block.statements,t)}return!1}function formatNodeGivenIndentation(e,t,n,r,i,o){const a={pos:e.pos,end:e.end};return getFormattingScanner(t.text,n,a.pos,a.end,n=>formatSpanWorker(a,e,r,i,n,o,1,e=>!1,t))}function formatNodeLines(e,t,n,r){if(!e)return[];return formatSpan({pos:getLineStartPositionForPosition(e.getStart(t),t),end:e.end},t,n,r)}function formatSpan(e,t,n,r){const i=function findEnclosingNode(e,t){return function find2(n){const r=forEachChild(n,n=>startEndContainsRange(n.getStart(t),n.end,e)&&n);if(r){const e=find2(r);if(e)return e}return n}(t)}(e,t);return getFormattingScanner(t.text,t.languageVariant,function getScanStartPosition(e,t,n){const r=e.getStart(n);if(r===t.pos&&e.end===t.end)return r;const i=findPrecedingToken(t.pos,n);return i?i.end>=t.pos?e.pos:i.end:e.pos}(i,e,t),e.end,o=>formatSpanWorker(e,i,g_.getIndentationForNode(i,e,t,n.options),function getOwnOrInheritedDelta(e,t,n){let r,i=-1;for(;e;){const o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==i&&o!==i)break;if(g_.shouldIndentChildNode(t,e,r,n))return t.indentSize;i=o,r=e,e=e.parent}return 0}(i,n.options,t),o,n,r,function prepareRangeContainsErrorFunction(e,t){if(!e.length)return rangeHasNoErrors;const n=e.filter(e=>rangeOverlapsWithStartEnd(t,e.start,e.start+e.length)).sort((e,t)=>e.start-t.start);if(!n.length)return rangeHasNoErrors;let r=0;return e=>{for(;;){if(r>=n.length)return!1;const t=n[r];if(e.end<=t.start)return!1;if(startEndOverlapsWithStartEnd(e.pos,e.end,t.start,t.start+t.length))return!0;r++}};function rangeHasNoErrors(){return!1}}(t.parseDiagnostics,e),t))}function formatSpanWorker(e,t,n,r,i,{options:o,getRules:a,host:s},c,l,d){var p;const u=new o_(d,c,o);let m,_,f,g,y,T=-1;const S=[];if(i.advance(),i.isOnToken()){const a=d.getLineAndCharacterOfPosition(t.getStart(d)).line;let s=a;hasDecorators(t)&&(s=d.getLineAndCharacterOfPosition(getNonDecoratorTokenPosOfNode(t,d)).line),function processNode(t,n,r,a,s,c){if(!rangeOverlapsWithStartEnd(e,t.getStart(d),t.getEnd()))return;const p=getDynamicIndentation(t,r,s,c);let u=n;forEachChild(t,e=>{processChildNode(e,-1,t,p,r,a,!1)},e=>{processChildNodes(e,t,r,p)});for(;i.isOnToken()&&i.getTokenFullStart()<e.end;){const n=i.readTokenInfo(t);if(n.token.end>Math.min(t.end,e.end))break;consumeTokenAndAdvanceScanner(n,t,p,t)}function processChildNode(n,r,a,s,c,l,p,m){if(h.assert(!nodeIsSynthesized(n)),nodeIsMissing(n)||isGrammarError(a,n))return r;const _=n.getStart(d),f=d.getLineAndCharacterOfPosition(_).line;let g=f;hasDecorators(n)&&(g=d.getLineAndCharacterOfPosition(getNonDecoratorTokenPosOfNode(n,d)).line);let S=-1;if(p&&rangeContainsRange(e,a)&&(S=function tryComputeIndentationForListItem(e,t,n,r,i){if(rangeOverlapsWithStartEnd(r,e,t)||rangeContainsStartEnd(r,e,t)){if(-1!==i)return i}else{const t=d.getLineAndCharacterOfPosition(e).line,r=getLineStartPositionForPosition(e,d),i=g_.findFirstNonWhitespaceColumn(r,e,d,o);if(t!==n||e===i){const e=g_.getBaseIndentation(o);return e>i?e:i}}return-1}(_,n.end,c,e,r),-1!==S&&(r=S)),!rangeOverlapsWithStartEnd(e,n.pos,n.end))return n.end<e.pos&&i.skipToEndOf(n),r;if(0===n.getFullWidth())return r;for(;i.isOnToken()&&i.getTokenFullStart()<e.end;){const o=i.readTokenInfo(t);if(o.token.end>e.end)return r;if(o.token.end>_){o.token.pos>_&&i.skipToStartOf(n);break}consumeTokenAndAdvanceScanner(o,t,s,t)}if(!i.isOnToken()||i.getTokenFullStart()>=e.end)return r;if(isToken(n)){const e=i.readTokenInfo(n);if(12!==n.kind)return h.assert(e.token.end===n.end,"Token end is child end"),consumeTokenAndAdvanceScanner(e,t,s,n),r}const x=171===n.kind?f:l,v=function computeIndentation(e,t,n,r,i,a){const s=g_.shouldIndentChildNode(o,e)?o.indentSize:0;return a===t?{indentation:t===y?T:i.getIndentation(),delta:Math.min(o.indentSize,i.getDelta(e)+s)}:-1===n?21===e.kind&&t===y?{indentation:T,delta:i.getDelta(e)}:g_.childStartsOnTheSameLineWithElseInIfStatement(r,e,t,d)||g_.childIsUnindentedBranchOfConditionalExpression(r,e,t,d)||g_.argumentStartsOnSameLineAsPreviousArgument(r,e,t,d)?{indentation:i.getIndentation(),delta:s}:{indentation:i.getIndentation()+i.getDelta(e),delta:s}:{indentation:n,delta:s}}(n,f,S,t,s,x);return processNode(n,u,f,g,v.indentation,v.delta),u=t,m&&210===a.kind&&-1===r&&(r=v.indentation),r}function processChildNodes(n,r,a,s){h.assert(isNodeArray(n)),h.assert(!nodeIsSynthesized(n));const c=function getOpenTokenForList(e,t){switch(e.kind){case 177:case 263:case 219:case 175:case 174:case 220:case 180:case 181:case 185:case 186:case 178:case 179:if(e.typeParameters===t)return 30;if(e.parameters===t)return 21;break;case 214:case 215:if(e.typeArguments===t)return 30;if(e.arguments===t)return 21;break;case 264:case 232:case 265:case 266:if(e.typeParameters===t)return 30;break;case 184:case 216:case 187:case 234:case 206:if(e.typeArguments===t)return 30;break;case 188:return 19}return 0}(r,n);let l=s,p=a;if(!rangeOverlapsWithStartEnd(e,n.pos,n.end))return void(n.end<e.pos&&i.skipToEndOf(n));if(0!==c)for(;i.isOnToken()&&i.getTokenFullStart()<e.end;){const e=i.readTokenInfo(r);if(e.token.end>n.pos)break;if(e.token.kind===c){let t;if(p=d.getLineAndCharacterOfPosition(e.token.pos).line,consumeTokenAndAdvanceScanner(e,r,s,r),-1!==T)t=T;else{const n=getLineStartPositionForPosition(e.token.pos,d);t=g_.findFirstNonWhitespaceColumn(n,e.token.pos,d,o)}l=getDynamicIndentation(r,a,t,o.indentSize)}else consumeTokenAndAdvanceScanner(e,r,s,r)}let u=-1;for(let e=0;e<n.length;e++){u=processChildNode(n[e],u,t,l,p,p,!0,0===e)}const m=function getCloseTokenForOpenToken(e){switch(e){case 21:return 22;case 30:return 32;case 19:return 20}return 0}(c);if(0!==m&&i.isOnToken()&&i.getTokenFullStart()<e.end){let e=i.readTokenInfo(r);28===e.token.kind&&(consumeTokenAndAdvanceScanner(e,r,l,r),e=i.isOnToken()?i.readTokenInfo(r):void 0),e&&e.token.kind===m&&rangeContainsRange(r,e.token)&&consumeTokenAndAdvanceScanner(e,r,l,r,!0)}}function consumeTokenAndAdvanceScanner(t,n,r,o,a){h.assert(rangeContainsRange(n,t.token));const s=i.lastTrailingTriviaWasNewLine();let c=!1;t.leadingTrivia&&processTrivia(t.leadingTrivia,n,u,r);let p=0;const f=rangeContainsRange(e,t.token),g=d.getLineAndCharacterOfPosition(t.token.pos);if(f){const e=l(t.token),i=_;if(p=processRange(t.token,g,n,u,r),!e)if(0===p){const e=i&&d.getLineAndCharacterOfPosition(i.end).line;c=s&&g.line!==e}else c=1===p}if(t.trailingTrivia&&(m=last(t.trailingTrivia).end,processTrivia(t.trailingTrivia,n,u,r)),c){const e=f&&!l(t.token)?r.getIndentationForToken(g.line,t.token.kind,o,!!a):-1;let n=!0;if(t.leadingTrivia){const i=r.getIndentationForComment(t.token.kind,e,o);n=indentTriviaItems(t.leadingTrivia,i,n,e=>insertIndentation(e.pos,i,!1))}-1!==e&&n&&(insertIndentation(t.token.pos,e,1===p),y=g.line,T=e)}i.advance(),u=n}}(t,t,a,s,n,r)}const x=i.getCurrentLeadingTrivia();if(x){const r=g_.nodeWillIndentChild(o,t,void 0,d,!1)?n+o.indentSize:n;indentTriviaItems(x,r,!0,e=>{processRange(e,d.getLineAndCharacterOfPosition(e.pos),t,t,void 0),insertIndentation(e.pos,r,!1)}),!1!==o.trimTrailingWhitespace&&function trimTrailingWhitespacesForRemainingRange(t){let n=_?_.end:e.pos;for(const e of t)isComment(e.kind)&&(n<e.pos&&trimTrailingWitespacesForPositions(n,e.pos-1,_),n=e.end+1);n<e.end&&trimTrailingWitespacesForPositions(n,e.end,_)}(x)}if(_&&i.getTokenFullStart()>=e.end){const e=i.isOnEOF()?i.readEOFTokenRange():i.isOnToken()?i.readTokenInfo(t).token:void 0;if(e&&e.pos===m){const n=(null==(p=findPrecedingToken(e.end,d,t))?void 0:p.parent)||f;processPair(e,d.getLineAndCharacterOfPosition(e.pos).line,n,_,g,f,n,void 0)}}return S;function getDynamicIndentation(e,t,n,r){return{getIndentationForComment:(e,t,r)=>{switch(e){case 20:case 24:case 22:return n+getDelta(r)}return-1!==t?t:n},getIndentationForToken:(r,i,o,a)=>!a&&function shouldAddDelta(n,r,i){switch(r){case 19:case 20:case 22:case 93:case 117:case 60:return!1;case 44:case 32:switch(i.kind){case 287:case 288:case 286:return!1}break;case 23:case 24:if(201!==i.kind)return!1}return t!==n&&!(hasDecorators(e)&&r===function getFirstNonDecoratorTokenOfNode(e){if(canHaveModifiers(e)){const t=find(e.modifiers,isModifier,findIndex(e.modifiers,isDecorator));if(t)return t.kind}switch(e.kind){case 264:return 86;case 265:return 120;case 263:return 100;case 267:return 267;case 178:return 139;case 179:return 153;case 175:if(e.asteriskToken)return 42;case 173:case 170:const t=getNameOfDeclaration(e);if(t)return t.kind}}(e))}(r,i,o)?n+getDelta(o):n,getIndentation:()=>n,getDelta,recomputeIndentation:(t,i)=>{g_.shouldIndentChildNode(o,i,e,d)&&(n+=t?o.indentSize:-o.indentSize,r=g_.shouldIndentChildNode(o,e)?o.indentSize:0)}};function getDelta(t){return g_.nodeWillIndentChild(o,e,t,d,!0)?r:0}}function indentTriviaItems(t,n,r,i){for(const o of t){const t=rangeContainsRange(e,o);switch(o.kind){case 3:t&&indentMultilineComment(o,n,!r),r=!1;break;case 2:r&&t&&i(o),r=!1;break;case 4:r=!0}}return r}function processTrivia(t,n,r,i){for(const o of t)if(isComment(o.kind)&&rangeContainsRange(e,o)){processRange(o,d.getLineAndCharacterOfPosition(o.pos),n,r,i)}}function processRange(t,n,r,i,o){let a=0;if(!l(t))if(_)a=processPair(t,n.line,r,_,g,f,i,o);else{trimTrailingWhitespacesForLines(d.getLineAndCharacterOfPosition(e.pos).line,n.line)}return _=t,m=t.end,f=r,g=n.line,a}function processPair(e,t,n,r,i,c,l,p){u.updateContext(r,c,e,n,l);const m=a(u);let _=!1!==u.options.trimTrailingWhitespace,f=0;return m?forEachRight(m,a=>{if(f=function applyRuleEdits(e,t,n,r,i){const a=i!==n;switch(e.action){case 1:return 0;case 16:if(t.end!==r.pos)return recordDelete(t.end,r.pos-t.end),a?2:0;break;case 32:recordDelete(t.pos,t.end-t.pos);break;case 8:if(1!==e.flags&&n!==i)return 0;if(1!==i-n)return recordReplace(t.end,r.pos-t.end,getNewLineOrDefaultFromHost(s,o)),a?0:1;break;case 4:if(1!==e.flags&&n!==i)return 0;if(1!==r.pos-t.end||32!==d.text.charCodeAt(t.end))return recordReplace(t.end,r.pos-t.end," "),a?2:0;break;case 64:!function recordInsert(e,t){t&&S.push(createTextChangeFromStartLength(e,0,t))}(t.end,";")}return 0}(a,r,i,e,t),p)switch(f){case 2:n.getStart(d)===e.pos&&p.recomputeIndentation(!1,l);break;case 1:n.getStart(d)===e.pos&&p.recomputeIndentation(!0,l);break;default:h.assert(0===f)}_=_&&!(16&a.action)&&1!==a.flags}):_=_&&1!==e.kind,t!==i&&_&&trimTrailingWhitespacesForLines(i,t,r),f}function insertIndentation(e,t,n){const r=getIndentationString(t,o);if(n)recordReplace(e,0,r);else{const n=d.getLineAndCharacterOfPosition(e),i=getStartPositionOfLine(n.line,d);(t!==function characterToColumn(e,t){let n=0;for(let r=0;r<t;r++)9===d.text.charCodeAt(e+r)?n+=o.tabSize-n%o.tabSize:n++;return n}(i,n.character)||function indentationIsDifferent(e,t){return e!==d.text.substr(t,e.length)}(r,i))&&recordReplace(i,n.character,r)}}function indentMultilineComment(e,t,n,r=!0){let i=d.getLineAndCharacterOfPosition(e.pos).line;const a=d.getLineAndCharacterOfPosition(e.end).line;if(i===a)return void(n||insertIndentation(e.pos,t,!1));const s=[];let c=e.pos;for(let e=i;e<a;e++){const t=getEndLinePosition(e,d);s.push({pos:c,end:t}),c=getStartPositionOfLine(e+1,d)}if(r&&s.push({pos:c,end:e.end}),0===s.length)return;const l=getStartPositionOfLine(i,d),p=g_.findFirstNonWhitespaceCharacterAndColumn(l,s[0].pos,d,o);let u=0;n&&(u=1,i++);const m=t-p.column;for(let e=u;e<s.length;e++,i++){const t=getStartPositionOfLine(i,d),n=0===e?p:g_.findFirstNonWhitespaceCharacterAndColumn(s[e].pos,s[e].end,d,o),r=n.column+m;if(r>0){const e=getIndentationString(r,o);recordReplace(t,n.character,e)}else recordDelete(t,n.character)}}function trimTrailingWhitespacesForLines(e,t,n){for(let r=e;r<t;r++){const e=getStartPositionOfLine(r,d),t=getEndLinePosition(r,d);if(n&&(isComment(n.kind)||isStringOrRegularExpressionOrTemplateLiteral(n.kind))&&n.pos<=t&&n.end>t)continue;const i=getTrailingWhitespaceStartPosition(e,t);-1!==i&&(h.assert(i===e||!isWhiteSpaceSingleLine(d.text.charCodeAt(i-1))),recordDelete(i,t+1-i))}}function getTrailingWhitespaceStartPosition(e,t){let n=t;for(;n>=e&&isWhiteSpaceSingleLine(d.text.charCodeAt(n));)n--;return n!==t?n+1:-1}function trimTrailingWitespacesForPositions(e,t,n){trimTrailingWhitespacesForLines(d.getLineAndCharacterOfPosition(e).line,d.getLineAndCharacterOfPosition(t).line+1,n)}function recordDelete(e,t){t&&S.push(createTextChangeFromStartLength(e,t,""))}function recordReplace(e,t,n){(t||n)&&S.push(createTextChangeFromStartLength(e,t,n))}}function getRangeOfEnclosingComment(e,t,n,r=getTokenAtPosition(e,t)){const i=findAncestor(r,isJSDoc);i&&(r=i.parent);if(r.getStart(e)<=t&&t<r.getEnd())return;const o=concatenate((n=null===n?void 0:void 0===n?findPrecedingToken(t,e):n)&&getTrailingCommentRanges(e.text,n.end),getLeadingCommentRangesOfNode(r,e));return o&&find(o,n=>rangeContainsPositionExclusive(n,t)||t===n.end&&(2===n.kind||t===e.getFullWidth()))}function getIndentationString(e,t){if((!m_||m_.tabSize!==t.tabSize||m_.indentSize!==t.indentSize)&&(m_={tabSize:t.tabSize,indentSize:t.indentSize},__=f_=void 0),t.convertTabsToSpaces){let n;const r=Math.floor(e/t.indentSize),i=e%t.indentSize;return f_||(f_=[]),void 0===f_[r]?(n=repeatString(" ",t.indentSize*r),f_[r]=n):n=f_[r],i?n+repeatString(" ",i):n}{const n=Math.floor(e/t.tabSize),r=e-n*t.tabSize;let i;return __||(__=[]),void 0===__[n]?__[n]=i=repeatString("\t",n):i=__[n],r?i+repeatString(" ",r):i}}(e=>{let t;var n;function getBaseIndentation(e){return e.baseIndentSize||0}function getIndentationForNodeWorker(e,t,n,r,i,o,a){var s;let c=e.parent;for(;c;){let l=!0;if(n){const t=e.getStart(i);l=t<n.pos||t>n.end}const d=getContainingListOrParentStart(c,e,i),p=d.line===t.line||childStartsOnTheSameLineWithElseInIfStatement(c,e,t.line,i);if(l){const n=null==(s=getContainingList(e,i))?void 0:s[0];let o=getActualIndentationForListItem(e,i,a,!!n&&getStartLineAndCharacterForNode(n,i).line>d.line);if(-1!==o)return o+r;if(o=getActualIndentationForNode(e,c,t,p,i,a),-1!==o)return o+r}shouldIndentChildNode(a,c,e,i,o)&&!p&&(r+=a.indentSize);const u=isArgumentAndStartLineOverlapsExpressionBeingCalled(c,e,t.line,i);c=(e=c).parent,t=u?i.getLineAndCharacterOfPosition(e.getStart(i)):d}return r+getBaseIndentation(a)}function getContainingListOrParentStart(e,t,n){const r=getContainingList(t,n),i=r?r.pos:e.getStart(n);return n.getLineAndCharacterOfPosition(i)}function getActualIndentationForNode(e,t,n,r,i,o){return(isDeclaration(e)||isStatementButNotDeclaration(e))&&(308===t.kind||!r)?findColumnForFirstNonWhitespaceCharacterInLine(n,i,o):-1}let r;var i;function nextTokenIsCurlyBraceOnSameLineAsCursor(e,t,n,r){const i=findNextToken(e,t,r);if(!i)return 0;if(19===i.kind)return 1;if(20===i.kind){return n===getStartLineAndCharacterForNode(i,r).line?2:0}return 0}function getStartLineAndCharacterForNode(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function isArgumentAndStartLineOverlapsExpressionBeingCalled(e,t,n,r){if(!isCallExpression(e)||!contains(e.arguments,t))return!1;return getLineAndCharacterOfPosition(r,e.expression.getEnd()).line===n}function childStartsOnTheSameLineWithElseInIfStatement(e,t,n,r){if(246===e.kind&&e.elseStatement===t){const t=findChildOfKind(e,93,r);h.assert(void 0!==t);return getStartLineAndCharacterForNode(t,r).line===n}return!1}function getContainingList(e,t){return e.parent&&getListByRange(e.getStart(t),e.getEnd(),e.parent,t)}function getListByRange(e,t,n,r){switch(n.kind){case 184:return getList(n.typeArguments);case 211:return getList(n.properties);case 210:case 276:case 280:case 207:case 208:return getList(n.elements);case 188:return getList(n.members);case 263:case 219:case 220:case 175:case 174:case 180:case 177:case 186:case 181:return getList(n.typeParameters)||getList(n.parameters);case 178:return getList(n.parameters);case 264:case 232:case 265:case 266:case 346:return getList(n.typeParameters);case 215:case 214:return getList(n.typeArguments)||getList(n.arguments);case 262:return getList(n.declarations)}function getList(i){return i&&rangeContainsStartEnd(function getVisualListRange(e,t,n){const r=e.getChildren(n);for(let e=1;e<r.length-1;e++)if(r[e].pos===t.pos&&r[e].end===t.end)return{pos:r[e-1].end,end:r[e+1].getStart(n)};return t}(n,i,r),e,t)?i:void 0}}function getActualIndentationForListStartLine(e,t,n){return e?findColumnForFirstNonWhitespaceCharacterInLine(t.getLineAndCharacterOfPosition(e.pos),t,n):-1}function getActualIndentationForListItem(e,t,n,r){if(e.parent&&262===e.parent.kind)return-1;const i=getContainingList(e,t);if(i){const o=i.indexOf(e);if(-1!==o){const e=deriveActualIndentationFromList(i,o,t,n);if(-1!==e)return e}return getActualIndentationForListStartLine(i,t,n)+(r?n.indentSize:0)}return-1}function deriveActualIndentationFromList(e,t,n,r){h.assert(t>=0&&t<e.length);let i=getStartLineAndCharacterForNode(e[t],n);for(let o=t-1;o>=0;o--){if(28===e[o].kind)continue;if(n.getLineAndCharacterOfPosition(e[o].end).line!==i.line)return findColumnForFirstNonWhitespaceCharacterInLine(i,n,r);i=getStartLineAndCharacterForNode(e[o],n)}return-1}function findColumnForFirstNonWhitespaceCharacterInLine(e,t,n){const r=t.getPositionOfLineAndCharacter(e.line,0);return findFirstNonWhitespaceColumn(r,r+e.character,t,n)}function findFirstNonWhitespaceCharacterAndColumn(e,t,n,r){let i=0,o=0;for(let a=e;a<t;a++){const e=n.text.charCodeAt(a);if(!isWhiteSpaceSingleLine(e))break;9===e?o+=r.tabSize+o%r.tabSize:o++,i++}return{column:o,character:i}}function findFirstNonWhitespaceColumn(e,t,n,r){return findFirstNonWhitespaceCharacterAndColumn(e,t,n,r).column}function nodeWillIndentChild(e,t,n,r,i){const o=n?n.kind:0;switch(t.kind){case 245:case 264:case 232:case 265:case 267:case 266:case 210:case 242:case 269:case 211:case 188:case 201:case 190:case 218:case 212:case 214:case 215:case 244:case 278:case 254:case 228:case 208:case 207:case 287:case 290:case 286:case 295:case 174:case 180:case 181:case 170:case 185:case 186:case 197:case 216:case 224:case 280:case 276:case 282:case 277:case 173:case 297:case 298:return!0;case 270:return e.indentSwitchCase??!0;case 261:case 304:case 227:if(!e.indentMultiLineObjectLiteralBeginningOnBlankLine&&r&&211===o)return rangeIsOnOneLine(r,n);if(227===t.kind&&r&&n&&285===o){return r.getLineAndCharacterOfPosition(skipTrivia(r.text,t.pos)).line!==r.getLineAndCharacterOfPosition(skipTrivia(r.text,n.pos)).line}if(227!==t.kind)return!0;break;case 247:case 248:case 250:case 251:case 249:case 246:case 263:case 219:case 175:case 177:case 178:case 179:return 242!==o;case 220:return r&&218===o?rangeIsOnOneLine(r,n):242!==o;case 279:return 280!==o;case 273:return 274!==o||!!n.namedBindings&&276!==n.namedBindings.kind;case 285:return 288!==o;case 289:return 291!==o;case 194:case 193:case 239:if(188===o||190===o||201===o)return!1;break;case 259:if(242===o)return!1}return i}function shouldIndentChildNode(e,t,n,r,i=!1){return nodeWillIndentChild(e,t,n,r,!1)&&!(i&&n&&function isControlFlowEndingStatement(e,t){switch(e){case 254:case 258:case 252:case 253:return 242!==t.kind;default:return!1}}(n.kind,t))}function rangeIsOnOneLine(e,t){const n=skipTrivia(e.text,t.pos);return e.getLineAndCharacterOfPosition(n).line===e.getLineAndCharacterOfPosition(t.end).line}(n=t||(t={}))[n.Unknown=-1]="Unknown",e.getIndentation=function getIndentation(e,t,n,r=!1){if(e>t.text.length)return getBaseIndentation(n);if(0===n.indentStyle)return 0;const i=findPrecedingToken(e,t,void 0,!0),o=getRangeOfEnclosingComment(t,e,i||null);if(o&&3===o.kind)return function getCommentIndent(e,t,n,r){const i=getLineAndCharacterOfPosition(e,t).line-1,o=getLineAndCharacterOfPosition(e,r.pos).line;if(h.assert(o>=0),i<=o)return findFirstNonWhitespaceColumn(getStartPositionOfLine(o,e),t,e,n);const a=getStartPositionOfLine(i,e),{column:s,character:c}=findFirstNonWhitespaceCharacterAndColumn(a,t,e,n);if(0===s)return s;const l=e.text.charCodeAt(a+c);return 42===l?s-1:s}(t,e,n,o);if(!i)return getBaseIndentation(n);if(isStringOrRegularExpressionOrTemplateLiteral(i.kind)&&i.getStart(t)<=e&&e<i.end)return 0;const a=t.getLineAndCharacterOfPosition(e).line,s=getTokenAtPosition(t,e),c=19===s.kind&&211===s.parent.kind;if(1===n.indentStyle||c)return function getBlockIndent(e,t,n){let r=t;for(;r>0;){if(!isWhiteSpaceLike(e.text.charCodeAt(r)))break;r--}const i=getLineStartPositionForPosition(r,e);return findFirstNonWhitespaceColumn(i,r,e,n)}(t,e,n);if(28===i.kind&&227!==i.parent.kind){const e=function getActualIndentationForListItemBeforeComma(e,t,n){const r=findListItemInfo(e);return r&&r.listItemIndex>0?deriveActualIndentationFromList(r.list.getChildren(),r.listItemIndex-1,t,n):-1}(i,t,n);if(-1!==e)return e}const l=function getListByPosition(e,t,n){return t&&getListByRange(e,e,t,n)}(e,i.parent,t);if(l&&!rangeContainsRange(l,i)){const e=[219,220].includes(s.parent.kind)?0:n.indentSize;return getActualIndentationForListStartLine(l,t,n)+e}return function getSmartIndent(e,t,n,r,i,o){let a,s=n;for(;s;){if(positionBelongsToNode(s,t,e)&&shouldIndentChildNode(o,s,a,e,!0)){const t=getStartLineAndCharacterForNode(s,e),a=nextTokenIsCurlyBraceOnSameLineAsCursor(n,s,r,e);return getIndentationForNodeWorker(s,t,void 0,0!==a?i&&2===a?o.indentSize:0:r!==t.line?o.indentSize:0,e,!0,o)}const c=getActualIndentationForListItem(s,e,o,!0);if(-1!==c)return c;a=s,s=s.parent}return getBaseIndentation(o)}(t,e,i,a,r,n)},e.getIndentationForNode=function getIndentationForNode(e,t,n,r){const i=n.getLineAndCharacterOfPosition(e.getStart(n));return getIndentationForNodeWorker(e,i,t,0,n,!1,r)},e.getBaseIndentation=getBaseIndentation,(i=r||(r={}))[i.Unknown=0]="Unknown",i[i.OpenBrace=1]="OpenBrace",i[i.CloseBrace=2]="CloseBrace",e.isArgumentAndStartLineOverlapsExpressionBeingCalled=isArgumentAndStartLineOverlapsExpressionBeingCalled,e.childStartsOnTheSameLineWithElseInIfStatement=childStartsOnTheSameLineWithElseInIfStatement,e.childIsUnindentedBranchOfConditionalExpression=function childIsUnindentedBranchOfConditionalExpression(e,t,n,r){if(isConditionalExpression(e)&&(t===e.whenTrue||t===e.whenFalse)){const i=getLineAndCharacterOfPosition(r,e.condition.end).line;if(t===e.whenTrue)return n===i;{const t=getStartLineAndCharacterForNode(e.whenTrue,r).line,o=getLineAndCharacterOfPosition(r,e.whenTrue.end).line;return i===t&&o===n}}return!1},e.argumentStartsOnSameLineAsPreviousArgument=function argumentStartsOnSameLineAsPreviousArgument(e,t,n,r){if(isCallOrNewExpression(e)){if(!e.arguments)return!1;const i=find(e.arguments,e=>e.pos===t.pos);if(!i)return!1;const o=e.arguments.indexOf(i);if(0===o)return!1;if(n===getLineAndCharacterOfPosition(r,e.arguments[o-1].getEnd()).line)return!0}return!1},e.getContainingList=getContainingList,e.findFirstNonWhitespaceCharacterAndColumn=findFirstNonWhitespaceCharacterAndColumn,e.findFirstNonWhitespaceColumn=findFirstNonWhitespaceColumn,e.nodeWillIndentChild=nodeWillIndentChild,e.shouldIndentChildNode=shouldIndentChildNode})(g_||(g_={}));var x_={};function preparePasteEdits(e,t,n){let r=!1;return t.forEach(t=>{const i=findAncestor(getTokenAtPosition(e,t.pos),e=>rangeContainsRange(e,t));i&&forEachChild(i,function checkNameResolution(i){var o;if(!r){if(isIdentifier(i)&&rangeContainsPosition(t,i.getStart(e))){const t=n.resolveName(i.text,i,-1,!1);if(t&&t.declarations)for(const n of t.declarations)if(isInImport(n)||i.text&&e.symbol&&(null==(o=e.symbol.exports)?void 0:o.has(i.escapedText)))return void(r=!0)}i.forEachChild(checkNameResolution)}})}),r}i(x_,{preparePasteEdits:()=>preparePasteEdits});var v_={};i(v_,{pasteEditsProvider:()=>pasteEditsProvider});var b_="providePostPasteEdits";function pasteEditsProvider(e,t,n,r,i,o,a,s){const c=$m.ChangeTracker.with({host:i,formatContext:a,preferences:o},c=>function pasteEdits(e,t,n,r,i,o,a,s,c){let l;t.length!==n.length&&(l=1===t.length?t[0]:t.join(getNewLineOrDefaultFromHost(a.host,a.options)));const d=[];let p,u=e.text;for(let e=n.length-1;e>=0;e--){const{pos:r,end:i}=n[e];u=l?u.slice(0,r)+l+u.slice(i):u.slice(0,r)+t[e]+u.slice(i)}if(h.checkDefined(i.runWithTemporaryFileUpdate).call(i,e.fileName,u,(u,m,_)=>{if(p=ed.createImportAdder(_,u,o,i),null==r?void 0:r.range){h.assert(r.range.length===t.length),r.range.forEach(e=>{const t=r.file.statements,n=findIndex(t,t=>t.end>e.pos);if(-1===n)return;let i=findIndex(t,t=>t.end>=e.end,n);-1!==i&&e.end<=t[i].getStart()&&i--,d.push(...t.slice(n,-1===i?t.length:i+1))}),h.assertIsDefined(m,"no original program found");const n=m.getTypeChecker(),o=function getUsageInfoRangeForPasteEdits({file:e,range:t}){const n=t[0].pos,r=t[t.length-1].end,i=getTokenAtPosition(e,n),o=findTokenOnLeftOfPosition(e,n)??getTokenAtPosition(e,r);return{pos:isIdentifier(i)&&n<=i.getStart(e)?i.getFullStart():n,end:isIdentifier(o)&&r===o.getEnd()?$m.getAdjustedEndPosition(e,o,{}):r}}(r),a=getUsageInfo(r.file,d,n,getExistingLocals(_,d,n),o),s=!fileShouldUseJavaScriptRequire(e.fileName,m,i,!!r.file.commonJsModuleIndicator);addExportsInOldFile(r.file,a.targetFileImportsFromOldFile,c,s),addTargetFileImports(r.file,a.oldImportsNeededByTargetFile,a.targetFileImportsFromOldFile,n,u,p)}else{const e={sourceFile:_,program:m,cancellationToken:s,host:i,preferences:o,formatContext:a};let r=0;n.forEach((n,i)=>{const o=n.end-n.pos,a=l??t[i],s=n.pos+r,c={pos:s,end:s+a.length};r+=a.length-o;const d=findAncestor(getTokenAtPosition(e.sourceFile,c.pos),e=>rangeContainsRange(e,c));d&&forEachChild(d,function importUnresolvedIdentifiers(t){if(isIdentifier(t)&&rangeContainsPosition(c,t.getStart(_))&&!(null==u?void 0:u.getTypeChecker().resolveName(t.text,t,-1,!1)))return p.addImportForUnresolvedIdentifier(e,t,!0);t.forEachChild(importUnresolvedIdentifiers)})})}p.writeFixes(c,getQuotePreference(r?r.file:e,o))}),!p.hasFixes())return;n.forEach((n,r)=>{c.replaceRangeWithText(e,{pos:n.pos,end:n.end},l??t[r])})}(e,t,n,r,i,o,a,s,c));return{edits:c,fixId:b_}}var C_={};i(C_,{ANONYMOUS:()=>Xs,AccessFlags:()=>Ae,AssertionLevel:()=>_,AssignmentDeclarationKind:()=>Ue,AssignmentKind:()=>Sn,Associativity:()=>vn,BreakpointResolver:()=>Ql,BuilderFileEmit:()=>Ka,BuilderProgramKind:()=>Ga,BuilderState:()=>qa,CallHierarchy:()=>Xl,CharacterCodes:()=>rt,CheckFlags:()=>Ee,CheckMode:()=>na,ClassificationType:()=>zs,ClassificationTypeNames:()=>Us,CommentDirectiveType:()=>ae,Comparison:()=>c,CompletionInfoFlags:()=>Ls,CompletionTriggerKind:()=>Fs,Completions:()=>sm,ContainerFlags:()=>jo,ContextFlags:()=>ge,Debug:()=>h,DiagnosticCategory:()=>ze,Diagnostics:()=>Ot,DocumentHighlights:()=>tc,ElementFlags:()=>Ie,EmitFlags:()=>st,EmitHint:()=>pt,EmitOnly:()=>de,EndOfLineState:()=>Bs,ExitStatus:()=>ue,ExportKind:()=>ec,Extension:()=>it,ExternalEmitHelpers:()=>dt,FileIncludeKind:()=>ce,FilePreprocessingDiagnosticsKind:()=>le,FileSystemEntryKind:()=>Nt,FileWatcherEventKind:()=>ht,FindAllReferences:()=>vm,FlattenLevel:()=>fa,FlowFlags:()=>oe,ForegroundColorEscapeSequences:()=>Aa,FunctionFlags:()=>xn,GeneratedIdentifierFlags:()=>ne,GetLiteralTextFlags:()=>mn,GoToDefinition:()=>Pm,HighlightSpanKind:()=>Ds,IdentifierNameMap:()=>ma,ImportKind:()=>Zs,ImportsNotUsedAsValues:()=>Xe,IndentStyle:()=>Is,IndexFlags:()=>Oe,IndexKind:()=>Re,InferenceFlags:()=>Je,InferencePriority:()=>je,InlayHintKind:()=>Ps,InlayHints:()=>Im,InternalEmitFlags:()=>ct,InternalNodeBuilderFlags:()=>he,InternalSymbolName:()=>Ne,IntersectionFlags:()=>fe,InvalidatedProjectKind:()=>ts,JSDocParsingMode:()=>yt,JsDoc:()=>Am,JsTyping:()=>ss,JsxEmit:()=>Qe,JsxFlags:()=>Z,JsxReferenceKind:()=>we,LanguageFeatureMinimumTarget:()=>lt,LanguageServiceMode:()=>Cs,LanguageVariant:()=>tt,LexicalEnvironmentFlags:()=>mt,ListFormat:()=>_t,LogLevel:()=>T,MapCode:()=>Rm,MemberOverrideStatus:()=>me,ModifierFlags:()=>Y,ModuleDetectionKind:()=>qe,ModuleInstanceState:()=>Bo,ModuleKind:()=>$e,ModuleResolutionKind:()=>Ve,ModuleSpecifierEnding:()=>br,NavigateTo:()=>pc,NavigationBar:()=>uc,NewLineKind:()=>Ye,NodeBuilderFlags:()=>ye,NodeCheckFlags:()=>ke,NodeFactoryFlags:()=>Mr,NodeFlags:()=>X,NodeResolutionFeatures:()=>Lo,ObjectFlags:()=>Pe,OperationCanceledException:()=>se,OperatorPrecedence:()=>bn,OrganizeImports:()=>Bm,OrganizeImportsMode:()=>ks,OuterExpressionKinds:()=>ut,OutliningElementsCollector:()=>jm,OutliningSpanKind:()=>Ms,OutputFileType:()=>Rs,PackageJsonAutoImportPreference:()=>bs,PackageJsonDependencyGroup:()=>vs,PatternMatchKind:()=>rc,PollingInterval:()=>Tt,PollingWatchKind:()=>Ge,PragmaKindFlags:()=>ft,PredicateSemantics:()=>te,PreparePasteEdits:()=>x_,PrivateIdentifierKind:()=>Ur,ProcessLevel:()=>ga,ProgramUpdateLevel:()=>Da,QuotePreference:()=>Gs,RegularExpressionFlags:()=>re,RelationComparisonResult:()=>ee,Rename:()=>Wm,ScriptElementKind:()=>Js,ScriptElementKindModifier:()=>Ws,ScriptKind:()=>Ze,ScriptSnapshot:()=>Ts,ScriptTarget:()=>et,SemanticClassificationFormat:()=>Ns,SemanticMeaning:()=>qs,SemicolonPreference:()=>As,SignatureCheckMode:()=>ra,SignatureFlags:()=>Me,SignatureHelp:()=>Um,SignatureInfo:()=>Ha,SignatureKind:()=>Le,SmartSelectionRange:()=>qm,SnippetKind:()=>at,StatisticType:()=>ns,StructureIsReused:()=>pe,SymbolAccessibility:()=>xe,SymbolDisplay:()=>Km,SymbolDisplayPartKind:()=>ws,SymbolFlags:()=>Ce,SymbolFormatFlags:()=>Se,SyntaxKind:()=>Q,Ternary:()=>We,ThrottledCancellationToken:()=>Kl,TokenClass:()=>js,TokenFlags:()=>ie,TransformFlags:()=>ot,TypeFacts:()=>ea,TypeFlags:()=>Fe,TypeFormatFlags:()=>Te,TypeMapKind:()=>Be,TypePredicateKind:()=>ve,TypeReferenceSerializationKind:()=>be,UnionReduction:()=>_e,UpToDateStatusType:()=>Za,VarianceFlags:()=>De,Version:()=>k,VersionRange:()=>F,WatchDirectoryFlags:()=>nt,WatchDirectoryKind:()=>Ke,WatchFileKind:()=>He,WatchLogLevel:()=>Ia,WatchType:()=>Ya,accessPrivateIdentifier:()=>accessPrivateIdentifier,addEmitFlags:()=>addEmitFlags,addEmitHelper:()=>addEmitHelper,addEmitHelpers:()=>addEmitHelpers,addInternalEmitFlags:()=>addInternalEmitFlags,addNodeFactoryPatcher:()=>addNodeFactoryPatcher,addObjectAllocatorPatcher:()=>addObjectAllocatorPatcher,addRange:()=>addRange,addRelatedInfo:()=>addRelatedInfo,addSyntheticLeadingComment:()=>addSyntheticLeadingComment,addSyntheticTrailingComment:()=>addSyntheticTrailingComment,addToSeen:()=>addToSeen,advancedAsyncSuperHelper:()=>Si,affectsDeclarationPathOptionDeclarations:()=>Zi,affectsEmitOptionDeclarations:()=>Yi,allKeysStartWithDot:()=>allKeysStartWithDot,altDirectorySeparator:()=>Pt,and:()=>and,append:()=>append,appendIfUnique:()=>appendIfUnique,arrayFrom:()=>arrayFrom,arrayIsEqualTo:()=>arrayIsEqualTo,arrayIsHomogeneous:()=>arrayIsHomogeneous,arrayOf:()=>arrayOf,arrayReverseIterator:()=>arrayReverseIterator,arrayToMap:()=>arrayToMap,arrayToMultiMap:()=>arrayToMultiMap,arrayToNumericMap:()=>arrayToNumericMap,assertType:()=>assertType,assign:()=>assign,asyncSuperHelper:()=>Ti,attachFileToDiagnostics:()=>attachFileToDiagnostics,base64decode:()=>base64decode,base64encode:()=>base64encode,binarySearch:()=>binarySearch,binarySearchKey:()=>binarySearchKey,bindSourceFile:()=>bindSourceFile,breakIntoCharacterSpans:()=>breakIntoCharacterSpans,breakIntoWordSpans:()=>breakIntoWordSpans,buildLinkParts:()=>buildLinkParts,buildOpts:()=>po,buildOverload:()=>buildOverload,bundlerModuleNameResolver:()=>bundlerModuleNameResolver,canBeConvertedToAsync:()=>canBeConvertedToAsync,canHaveDecorators:()=>canHaveDecorators,canHaveExportModifier:()=>canHaveExportModifier,canHaveFlowNode:()=>canHaveFlowNode,canHaveIllegalDecorators:()=>canHaveIllegalDecorators,canHaveIllegalModifiers:()=>canHaveIllegalModifiers,canHaveIllegalType:()=>canHaveIllegalType,canHaveIllegalTypeParameters:()=>canHaveIllegalTypeParameters,canHaveJSDoc:()=>canHaveJSDoc,canHaveLocals:()=>canHaveLocals,canHaveModifiers:()=>canHaveModifiers,canHaveModuleSpecifier:()=>canHaveModuleSpecifier,canHaveSymbol:()=>canHaveSymbol,canIncludeBindAndCheckDiagnostics:()=>canIncludeBindAndCheckDiagnostics,canJsonReportNoInputFiles:()=>canJsonReportNoInputFiles,canProduceDiagnostics:()=>canProduceDiagnostics,canUsePropertyAccess:()=>canUsePropertyAccess,canWatchAffectingLocation:()=>canWatchAffectingLocation,canWatchAtTypes:()=>canWatchAtTypes,canWatchDirectoryOrFile:()=>canWatchDirectoryOrFile,canWatchDirectoryOrFilePath:()=>canWatchDirectoryOrFilePath,cartesianProduct:()=>cartesianProduct,cast:()=>cast,chainBundle:()=>chainBundle,chainDiagnosticMessages:()=>chainDiagnosticMessages,changeAnyExtension:()=>changeAnyExtension,changeCompilerHostLikeToUseCache:()=>changeCompilerHostLikeToUseCache,changeExtension:()=>changeExtension,changeFullExtension:()=>changeFullExtension,changesAffectModuleResolution:()=>changesAffectModuleResolution,changesAffectingProgramStructure:()=>changesAffectingProgramStructure,characterCodeToRegularExpressionFlag:()=>characterCodeToRegularExpressionFlag,childIsDecorated:()=>childIsDecorated,classElementOrClassElementParameterIsDecorated:()=>classElementOrClassElementParameterIsDecorated,classHasClassThisAssignment:()=>classHasClassThisAssignment,classHasDeclaredOrExplicitlyAssignedName:()=>classHasDeclaredOrExplicitlyAssignedName,classHasExplicitlyAssignedName:()=>classHasExplicitlyAssignedName,classOrConstructorParameterIsDecorated:()=>classOrConstructorParameterIsDecorated,classicNameResolver:()=>classicNameResolver,classifier:()=>Yl,cleanExtendedConfigCache:()=>cleanExtendedConfigCache,clear:()=>clear,clearMap:()=>clearMap,clearSharedExtendedConfigFileWatcher:()=>clearSharedExtendedConfigFileWatcher,climbPastPropertyAccess:()=>climbPastPropertyAccess,clone:()=>clone,cloneCompilerOptions:()=>cloneCompilerOptions,closeFileWatcher:()=>closeFileWatcher,closeFileWatcherOf:()=>closeFileWatcherOf,codefix:()=>ed,collapseTextChangeRangesAcrossMultipleVersions:()=>collapseTextChangeRangesAcrossMultipleVersions,collectExternalModuleInfo:()=>collectExternalModuleInfo,combine:()=>combine,combinePaths:()=>combinePaths,commandLineOptionOfCustomType:()=>ao,commentPragmas:()=>gt,commonOptionsWithBuild:()=>Hi,compact:()=>compact,compareBooleans:()=>compareBooleans,compareDataObjects:()=>compareDataObjects,compareDiagnostics:()=>compareDiagnostics,compareEmitHelpers:()=>compareEmitHelpers,compareNumberOfDirectorySeparators:()=>compareNumberOfDirectorySeparators,comparePaths:()=>comparePaths,comparePathsCaseInsensitive:()=>comparePathsCaseInsensitive,comparePathsCaseSensitive:()=>comparePathsCaseSensitive,comparePatternKeys:()=>comparePatternKeys,compareProperties:()=>compareProperties,compareStringsCaseInsensitive:()=>compareStringsCaseInsensitive,compareStringsCaseInsensitiveEslintCompatible:()=>compareStringsCaseInsensitiveEslintCompatible,compareStringsCaseSensitive:()=>compareStringsCaseSensitive,compareStringsCaseSensitiveUI:()=>compareStringsCaseSensitiveUI,compareTextSpans:()=>compareTextSpans,compareValues:()=>compareValues,compilerOptionsAffectDeclarationPath:()=>compilerOptionsAffectDeclarationPath,compilerOptionsAffectEmit:()=>compilerOptionsAffectEmit,compilerOptionsAffectSemanticDiagnostics:()=>compilerOptionsAffectSemanticDiagnostics,compilerOptionsDidYouMeanDiagnostics:()=>go,compilerOptionsIndicateEsModules:()=>compilerOptionsIndicateEsModules,computeCommonSourceDirectoryOfFilenames:()=>computeCommonSourceDirectoryOfFilenames,computeLineAndCharacterOfPosition:()=>computeLineAndCharacterOfPosition,computeLineOfPosition:()=>computeLineOfPosition,computeLineStarts:()=>computeLineStarts,computePositionOfLineAndCharacter:()=>computePositionOfLineAndCharacter,computeSignatureWithDiagnostics:()=>computeSignatureWithDiagnostics,computeSuggestionDiagnostics:()=>computeSuggestionDiagnostics,computedOptions:()=>Wn,concatenate:()=>concatenate,concatenateDiagnosticMessageChains:()=>concatenateDiagnosticMessageChains,consumesNodeCoreModules:()=>consumesNodeCoreModules,contains:()=>contains,containsIgnoredPath:()=>containsIgnoredPath,containsObjectRestOrSpread:()=>containsObjectRestOrSpread,containsParseError:()=>containsParseError,containsPath:()=>containsPath,convertCompilerOptionsForTelemetry:()=>convertCompilerOptionsForTelemetry,convertCompilerOptionsFromJson:()=>convertCompilerOptionsFromJson,convertJsonOption:()=>convertJsonOption,convertToBase64:()=>convertToBase64,convertToJson:()=>convertToJson,convertToObject:()=>convertToObject,convertToOptionsWithAbsolutePaths:()=>convertToOptionsWithAbsolutePaths,convertToRelativePath:()=>convertToRelativePath,convertToTSConfig:()=>convertToTSConfig,convertTypeAcquisitionFromJson:()=>convertTypeAcquisitionFromJson,copyComments:()=>copyComments,copyEntries:()=>copyEntries,copyLeadingComments:()=>copyLeadingComments,copyProperties:()=>copyProperties,copyTrailingAsLeadingComments:()=>copyTrailingAsLeadingComments,copyTrailingComments:()=>copyTrailingComments,couldStartTrivia:()=>couldStartTrivia,countWhere:()=>countWhere,createAbstractBuilder:()=>createAbstractBuilder,createAccessorPropertyBackingField:()=>createAccessorPropertyBackingField,createAccessorPropertyGetRedirector:()=>createAccessorPropertyGetRedirector,createAccessorPropertySetRedirector:()=>createAccessorPropertySetRedirector,createBaseNodeFactory:()=>createBaseNodeFactory,createBinaryExpressionTrampoline:()=>createBinaryExpressionTrampoline,createBuilderProgram:()=>createBuilderProgram,createBuilderProgramUsingIncrementalBuildInfo:()=>createBuilderProgramUsingIncrementalBuildInfo,createBuilderStatusReporter:()=>createBuilderStatusReporter,createCacheableExportInfoMap:()=>createCacheableExportInfoMap,createCachedDirectoryStructureHost:()=>createCachedDirectoryStructureHost,createClassifier:()=>createClassifier,createCommentDirectivesMap:()=>createCommentDirectivesMap,createCompilerDiagnostic:()=>createCompilerDiagnostic,createCompilerDiagnosticForInvalidCustomType:()=>createCompilerDiagnosticForInvalidCustomType,createCompilerDiagnosticFromMessageChain:()=>createCompilerDiagnosticFromMessageChain,createCompilerHost:()=>createCompilerHost,createCompilerHostFromProgramHost:()=>createCompilerHostFromProgramHost,createCompilerHostWorker:()=>createCompilerHostWorker,createDetachedDiagnostic:()=>createDetachedDiagnostic,createDiagnosticCollection:()=>createDiagnosticCollection,createDiagnosticForFileFromMessageChain:()=>createDiagnosticForFileFromMessageChain,createDiagnosticForNode:()=>createDiagnosticForNode,createDiagnosticForNodeArray:()=>createDiagnosticForNodeArray,createDiagnosticForNodeArrayFromMessageChain:()=>createDiagnosticForNodeArrayFromMessageChain,createDiagnosticForNodeFromMessageChain:()=>createDiagnosticForNodeFromMessageChain,createDiagnosticForNodeInSourceFile:()=>createDiagnosticForNodeInSourceFile,createDiagnosticForRange:()=>createDiagnosticForRange,createDiagnosticMessageChainFromDiagnostic:()=>createDiagnosticMessageChainFromDiagnostic,createDiagnosticReporter:()=>createDiagnosticReporter,createDocumentPositionMapper:()=>createDocumentPositionMapper,createDocumentRegistry:()=>createDocumentRegistry,createDocumentRegistryInternal:()=>createDocumentRegistryInternal,createEmitAndSemanticDiagnosticsBuilderProgram:()=>createEmitAndSemanticDiagnosticsBuilderProgram,createEmitHelperFactory:()=>createEmitHelperFactory,createEmptyExports:()=>createEmptyExports,createEvaluator:()=>createEvaluator,createExpressionForJsxElement:()=>createExpressionForJsxElement,createExpressionForJsxFragment:()=>createExpressionForJsxFragment,createExpressionForObjectLiteralElementLike:()=>createExpressionForObjectLiteralElementLike,createExpressionForPropertyName:()=>createExpressionForPropertyName,createExpressionFromEntityName:()=>createExpressionFromEntityName,createExternalHelpersImportDeclarationIfNeeded:()=>createExternalHelpersImportDeclarationIfNeeded,createFileDiagnostic:()=>createFileDiagnostic,createFileDiagnosticFromMessageChain:()=>createFileDiagnosticFromMessageChain,createFlowNode:()=>createFlowNode,createForOfBindingStatement:()=>createForOfBindingStatement,createFutureSourceFile:()=>createFutureSourceFile,createGetCanonicalFileName:()=>createGetCanonicalFileName,createGetIsolatedDeclarationErrors:()=>createGetIsolatedDeclarationErrors,createGetSourceFile:()=>createGetSourceFile,createGetSymbolAccessibilityDiagnosticForNode:()=>createGetSymbolAccessibilityDiagnosticForNode,createGetSymbolAccessibilityDiagnosticForNodeName:()=>createGetSymbolAccessibilityDiagnosticForNodeName,createGetSymbolWalker:()=>createGetSymbolWalker,createIncrementalCompilerHost:()=>createIncrementalCompilerHost,createIncrementalProgram:()=>createIncrementalProgram,createJsxFactoryExpression:()=>createJsxFactoryExpression,createLanguageService:()=>createLanguageService,createLanguageServiceSourceFile:()=>createLanguageServiceSourceFile,createMemberAccessForPropertyName:()=>createMemberAccessForPropertyName,createModeAwareCache:()=>createModeAwareCache,createModeAwareCacheKey:()=>createModeAwareCacheKey,createModeMismatchDetails:()=>createModeMismatchDetails,createModuleNotFoundChain:()=>createModuleNotFoundChain,createModuleResolutionCache:()=>createModuleResolutionCache,createModuleResolutionLoader:()=>createModuleResolutionLoader,createModuleResolutionLoaderUsingGlobalCache:()=>createModuleResolutionLoaderUsingGlobalCache,createModuleSpecifierResolutionHost:()=>createModuleSpecifierResolutionHost,createMultiMap:()=>createMultiMap,createNameResolver:()=>createNameResolver,createNodeConverters:()=>createNodeConverters,createNodeFactory:()=>createNodeFactory,createOptionNameMap:()=>createOptionNameMap,createOverload:()=>createOverload,createPackageJsonImportFilter:()=>createPackageJsonImportFilter,createPackageJsonInfo:()=>createPackageJsonInfo,createParenthesizerRules:()=>createParenthesizerRules,createPatternMatcher:()=>createPatternMatcher,createPrinter:()=>createPrinter,createPrinterWithDefaults:()=>Na,createPrinterWithRemoveComments:()=>ka,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>Fa,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>Pa,createProgram:()=>createProgram,createProgramDiagnostics:()=>createProgramDiagnostics,createProgramHost:()=>createProgramHost,createPropertyNameNodeForIdentifierOrLiteral:()=>createPropertyNameNodeForIdentifierOrLiteral,createQueue:()=>createQueue,createRange:()=>createRange,createRedirectedBuilderProgram:()=>createRedirectedBuilderProgram,createResolutionCache:()=>createResolutionCache,createRuntimeTypeSerializer:()=>createRuntimeTypeSerializer,createScanner:()=>createScanner,createSemanticDiagnosticsBuilderProgram:()=>createSemanticDiagnosticsBuilderProgram,createSet:()=>createSet,createSolutionBuilder:()=>createSolutionBuilder,createSolutionBuilderHost:()=>createSolutionBuilderHost,createSolutionBuilderWithWatch:()=>createSolutionBuilderWithWatch,createSolutionBuilderWithWatchHost:()=>createSolutionBuilderWithWatchHost,createSortedArray:()=>createSortedArray,createSourceFile:()=>createSourceFile,createSourceMapGenerator:()=>createSourceMapGenerator,createSourceMapSource:()=>createSourceMapSource,createSuperAccessVariableStatement:()=>createSuperAccessVariableStatement,createSymbolTable:()=>createSymbolTable,createSymlinkCache:()=>createSymlinkCache,createSyntacticTypeNodeBuilder:()=>createSyntacticTypeNodeBuilder,createSystemWatchFunctions:()=>createSystemWatchFunctions,createTextChange:()=>createTextChange,createTextChangeFromStartLength:()=>createTextChangeFromStartLength,createTextChangeRange:()=>createTextChangeRange,createTextRangeFromNode:()=>createTextRangeFromNode,createTextRangeFromSpan:()=>createTextRangeFromSpan,createTextSpan:()=>createTextSpan,createTextSpanFromBounds:()=>createTextSpanFromBounds,createTextSpanFromNode:()=>createTextSpanFromNode,createTextSpanFromRange:()=>createTextSpanFromRange,createTextSpanFromStringLiteralLikeContent:()=>createTextSpanFromStringLiteralLikeContent,createTextWriter:()=>createTextWriter,createTokenRange:()=>createTokenRange,createTypeChecker:()=>createTypeChecker,createTypeReferenceDirectiveResolutionCache:()=>createTypeReferenceDirectiveResolutionCache,createTypeReferenceResolutionLoader:()=>createTypeReferenceResolutionLoader,createWatchCompilerHost:()=>createWatchCompilerHost2,createWatchCompilerHostOfConfigFile:()=>createWatchCompilerHostOfConfigFile,createWatchCompilerHostOfFilesAndCompilerOptions:()=>createWatchCompilerHostOfFilesAndCompilerOptions,createWatchFactory:()=>createWatchFactory,createWatchHost:()=>createWatchHost,createWatchProgram:()=>createWatchProgram,createWatchStatusReporter:()=>createWatchStatusReporter,createWriteFileMeasuringIO:()=>createWriteFileMeasuringIO,declarationNameToString:()=>declarationNameToString,decodeMappings:()=>decodeMappings,decodedTextSpanIntersectsWith:()=>decodedTextSpanIntersectsWith,deduplicate:()=>deduplicate,defaultHoverMaximumTruncationLength:()=>dn,defaultInitCompilerOptions:()=>_o,defaultMaximumTruncationLength:()=>cn,diagnosticCategoryName:()=>diagnosticCategoryName,diagnosticToString:()=>diagnosticToString,diagnosticsEqualityComparer:()=>diagnosticsEqualityComparer,directoryProbablyExists:()=>directoryProbablyExists,directorySeparator:()=>Ft,displayPart:()=>displayPart,displayPartsToString:()=>displayPartsToString,disposeEmitNodes:()=>disposeEmitNodes,documentSpansEqual:()=>documentSpansEqual,dumpTracingLegend:()=>$,elementAt:()=>p,elideNodes:()=>elideNodes,emitDetachedComments:()=>emitDetachedComments,emitFiles:()=>emitFiles,emitFilesAndReportErrors:()=>emitFilesAndReportErrors,emitFilesAndReportErrorsAndGetExitStatus:()=>emitFilesAndReportErrorsAndGetExitStatus,emitModuleKindIsNonNodeESM:()=>emitModuleKindIsNonNodeESM,emitNewLineBeforeLeadingCommentOfPosition:()=>emitNewLineBeforeLeadingCommentOfPosition,emitResolverSkipsTypeChecking:()=>emitResolverSkipsTypeChecking,emitSkippedWithNoDiagnostics:()=>Va,emptyArray:()=>l,emptyFileSystemEntries:()=>Nr,emptyMap:()=>d,emptyOptions:()=>Es,endsWith:()=>endsWith,ensurePathIsNonModuleName:()=>ensurePathIsNonModuleName,ensureScriptKind:()=>ensureScriptKind,ensureTrailingDirectorySeparator:()=>ensureTrailingDirectorySeparator,entityNameToString:()=>entityNameToString,enumerateInsertsAndDeletes:()=>enumerateInsertsAndDeletes,equalOwnProperties:()=>equalOwnProperties,equateStringsCaseInsensitive:()=>equateStringsCaseInsensitive,equateStringsCaseSensitive:()=>equateStringsCaseSensitive,equateValues:()=>equateValues,escapeJsxAttributeString:()=>escapeJsxAttributeString,escapeLeadingUnderscores:()=>escapeLeadingUnderscores,escapeNonAsciiString:()=>escapeNonAsciiString,escapeSnippetText:()=>escapeSnippetText,escapeString:()=>escapeString,escapeTemplateSubstitution:()=>escapeTemplateSubstitution,evaluatorResult:()=>evaluatorResult,every:()=>every,exclusivelyPrefixedNodeCoreModules:()=>Dr,executeCommandLine:()=>executeCommandLine,expandPreOrPostfixIncrementOrDecrementExpression:()=>expandPreOrPostfixIncrementOrDecrementExpression,explainFiles:()=>explainFiles,explainIfFileIsRedirectAndImpliedFormat:()=>explainIfFileIsRedirectAndImpliedFormat,exportAssignmentIsAlias:()=>exportAssignmentIsAlias,expressionResultIsUnused:()=>expressionResultIsUnused,extend:()=>extend,extensionFromPath:()=>extensionFromPath,extensionIsTS:()=>extensionIsTS,extensionsNotSupportingExtensionlessResolution:()=>vr,externalHelpersModuleNameText:()=>sn,factory:()=>Wr,fileExtensionIs:()=>fileExtensionIs,fileExtensionIsOneOf:()=>fileExtensionIsOneOf,fileIncludeReasonToDiagnostics:()=>fileIncludeReasonToDiagnostics,fileShouldUseJavaScriptRequire:()=>fileShouldUseJavaScriptRequire,filter:()=>filter,filterMutate:()=>filterMutate,filterSemanticDiagnostics:()=>filterSemanticDiagnostics,find:()=>find,findAncestor:()=>findAncestor,findBestPatternMatch:()=>findBestPatternMatch,findChildOfKind:()=>findChildOfKind,findComputedPropertyNameCacheAssignment:()=>findComputedPropertyNameCacheAssignment,findConfigFile:()=>findConfigFile,findConstructorDeclaration:()=>findConstructorDeclaration,findContainingList:()=>findContainingList,findDiagnosticForNode:()=>findDiagnosticForNode,findFirstNonJsxWhitespaceToken:()=>findFirstNonJsxWhitespaceToken,findIndex:()=>findIndex,findLast:()=>findLast,findLastIndex:()=>findLastIndex,findListItemInfo:()=>findListItemInfo,findModifier:()=>findModifier,findNextToken:()=>findNextToken,findPackageJson:()=>findPackageJson,findPackageJsons:()=>findPackageJsons,findPrecedingMatchingToken:()=>findPrecedingMatchingToken,findPrecedingToken:()=>findPrecedingToken,findSuperStatementIndexPath:()=>findSuperStatementIndexPath,findTokenOnLeftOfPosition:()=>findTokenOnLeftOfPosition,findUseStrictPrologue:()=>findUseStrictPrologue,first:()=>first,firstDefined:()=>firstDefined,firstDefinedIterator:()=>firstDefinedIterator,firstIterator:()=>firstIterator,firstOrOnly:()=>firstOrOnly,firstOrUndefined:()=>firstOrUndefined,firstOrUndefinedIterator:()=>firstOrUndefinedIterator,fixupCompilerOptions:()=>fixupCompilerOptions,flatMap:()=>flatMap,flatMapIterator:()=>flatMapIterator,flatMapToMutable:()=>flatMapToMutable,flatten:()=>flatten,flattenCommaList:()=>flattenCommaList,flattenDestructuringAssignment:()=>flattenDestructuringAssignment,flattenDestructuringBinding:()=>flattenDestructuringBinding,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,forEach:()=>forEach,forEachAncestor:()=>forEachAncestor,forEachAncestorDirectory:()=>forEachAncestorDirectory,forEachAncestorDirectoryStoppingAtGlobalCache:()=>forEachAncestorDirectoryStoppingAtGlobalCache,forEachChild:()=>forEachChild,forEachChildRecursively:()=>forEachChildRecursively,forEachDynamicImportOrRequireCall:()=>forEachDynamicImportOrRequireCall,forEachEmittedFile:()=>forEachEmittedFile,forEachEnclosingBlockScopeContainer:()=>forEachEnclosingBlockScopeContainer,forEachEntry:()=>forEachEntry,forEachExternalModuleToImportFrom:()=>forEachExternalModuleToImportFrom,forEachImportClauseDeclaration:()=>forEachImportClauseDeclaration,forEachKey:()=>forEachKey,forEachLeadingCommentRange:()=>forEachLeadingCommentRange,forEachNameInAccessChainWalkingLeft:()=>forEachNameInAccessChainWalkingLeft,forEachNameOfDefaultExport:()=>forEachNameOfDefaultExport,forEachOptionsSyntaxByName:()=>forEachOptionsSyntaxByName,forEachProjectReference:()=>forEachProjectReference,forEachPropertyAssignment:()=>forEachPropertyAssignment,forEachResolvedProjectReference:()=>forEachResolvedProjectReference,forEachReturnStatement:()=>forEachReturnStatement,forEachRight:()=>forEachRight,forEachTrailingCommentRange:()=>forEachTrailingCommentRange,forEachTsConfigPropArray:()=>forEachTsConfigPropArray,forEachUnique:()=>forEachUnique,forEachYieldExpression:()=>forEachYieldExpression,formatColorAndReset:()=>formatColorAndReset,formatDiagnostic:()=>formatDiagnostic,formatDiagnostics:()=>formatDiagnostics,formatDiagnosticsWithColorAndContext:()=>formatDiagnosticsWithColorAndContext,formatGeneratedName:()=>formatGeneratedName,formatGeneratedNamePart:()=>formatGeneratedNamePart,formatLocation:()=>formatLocation,formatMessage:()=>formatMessage,formatStringFromArgs:()=>formatStringFromArgs,formatting:()=>r_,generateDjb2Hash:()=>generateDjb2Hash,generateTSConfig:()=>generateTSConfig,getAdjustedReferenceLocation:()=>getAdjustedReferenceLocation,getAdjustedRenameLocation:()=>getAdjustedRenameLocation,getAliasDeclarationFromName:()=>getAliasDeclarationFromName,getAllAccessorDeclarations:()=>getAllAccessorDeclarations,getAllDecoratorsOfClass:()=>getAllDecoratorsOfClass,getAllDecoratorsOfClassElement:()=>getAllDecoratorsOfClassElement,getAllJSDocTags:()=>getAllJSDocTags,getAllJSDocTagsOfKind:()=>getAllJSDocTagsOfKind,getAllKeys:()=>getAllKeys,getAllProjectOutputs:()=>getAllProjectOutputs,getAllSuperTypeNodes:()=>getAllSuperTypeNodes,getAllowImportingTsExtensions:()=>Un,getAllowJSCompilerOption:()=>rr,getAllowSyntheticDefaultImports:()=>$n,getAncestor:()=>getAncestor,getAnyExtensionFromPath:()=>getAnyExtensionFromPath,getAreDeclarationMapsEnabled:()=>nr,getAssignedExpandoInitializer:()=>getAssignedExpandoInitializer,getAssignedName:()=>getAssignedName,getAssignmentDeclarationKind:()=>getAssignmentDeclarationKind,getAssignmentDeclarationPropertyAccessKind:()=>getAssignmentDeclarationPropertyAccessKind,getAssignmentTargetKind:()=>getAssignmentTargetKind,getAutomaticTypeDirectiveNames:()=>getAutomaticTypeDirectiveNames,getBaseFileName:()=>getBaseFileName,getBinaryOperatorPrecedence:()=>getBinaryOperatorPrecedence,getBuildInfo:()=>getBuildInfo,getBuildInfoFileVersionMap:()=>getBuildInfoFileVersionMap,getBuildInfoText:()=>getBuildInfoText,getBuildOrderFromAnyBuildOrder:()=>getBuildOrderFromAnyBuildOrder,getBuilderCreationParameters:()=>getBuilderCreationParameters,getBuilderFileEmit:()=>getBuilderFileEmit,getCanonicalDiagnostic:()=>getCanonicalDiagnostic,getCheckFlags:()=>getCheckFlags,getClassExtendsHeritageElement:()=>getClassExtendsHeritageElement,getClassLikeDeclarationOfSymbol:()=>getClassLikeDeclarationOfSymbol,getCombinedLocalAndExportSymbolFlags:()=>getCombinedLocalAndExportSymbolFlags,getCombinedModifierFlags:()=>getCombinedModifierFlags,getCombinedNodeFlags:()=>getCombinedNodeFlags,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>getCombinedNodeFlagsAlwaysIncludeJSDoc,getCommentRange:()=>getCommentRange,getCommonSourceDirectory:()=>getCommonSourceDirectory,getCommonSourceDirectoryOfConfig:()=>getCommonSourceDirectoryOfConfig,getCompilerOptionValue:()=>getCompilerOptionValue,getConditions:()=>getConditions,getConfigFileParsingDiagnostics:()=>getConfigFileParsingDiagnostics,getConstantValue:()=>getConstantValue,getContainerFlags:()=>getContainerFlags,getContainerNode:()=>getContainerNode,getContainingClass:()=>getContainingClass,getContainingClassExcludingClassDecorators:()=>getContainingClassExcludingClassDecorators,getContainingClassStaticBlock:()=>getContainingClassStaticBlock,getContainingFunction:()=>getContainingFunction,getContainingFunctionDeclaration:()=>getContainingFunctionDeclaration,getContainingFunctionOrClassStaticBlock:()=>getContainingFunctionOrClassStaticBlock,getContainingNodeArray:()=>getContainingNodeArray,getContainingObjectLiteralElement:()=>getContainingObjectLiteralElement,getContextualTypeFromParent:()=>getContextualTypeFromParent,getContextualTypeFromParentOrAncestorTypeNode:()=>getContextualTypeFromParentOrAncestorTypeNode,getDeclarationDiagnostics:()=>getDeclarationDiagnostics,getDeclarationEmitExtensionForPath:()=>getDeclarationEmitExtensionForPath,getDeclarationEmitOutputFilePath:()=>getDeclarationEmitOutputFilePath,getDeclarationEmitOutputFilePathWorker:()=>getDeclarationEmitOutputFilePathWorker,getDeclarationFileExtension:()=>getDeclarationFileExtension,getDeclarationFromName:()=>getDeclarationFromName,getDeclarationModifierFlagsFromSymbol:()=>getDeclarationModifierFlagsFromSymbol,getDeclarationOfKind:()=>getDeclarationOfKind,getDeclarationsOfKind:()=>getDeclarationsOfKind,getDeclaredExpandoInitializer:()=>getDeclaredExpandoInitializer,getDecorators:()=>getDecorators,getDefaultCompilerOptions:()=>getDefaultCompilerOptions2,getDefaultFormatCodeSettings:()=>getDefaultFormatCodeSettings,getDefaultLibFileName:()=>getDefaultLibFileName,getDefaultLibFilePath:()=>getDefaultLibFilePath,getDefaultLikeExportInfo:()=>getDefaultLikeExportInfo,getDefaultLikeExportNameFromDeclaration:()=>getDefaultLikeExportNameFromDeclaration,getDefaultResolutionModeForFileWorker:()=>getDefaultResolutionModeForFileWorker,getDiagnosticText:()=>getDiagnosticText,getDiagnosticsWithinSpan:()=>getDiagnosticsWithinSpan,getDirectoryPath:()=>getDirectoryPath,getDirectoryToWatchFailedLookupLocation:()=>getDirectoryToWatchFailedLookupLocation,getDirectoryToWatchFailedLookupLocationFromTypeRoot:()=>getDirectoryToWatchFailedLookupLocationFromTypeRoot,getDocumentPositionMapper:()=>getDocumentPositionMapper,getDocumentSpansEqualityComparer:()=>getDocumentSpansEqualityComparer,getESModuleInterop:()=>Gn,getEditsForFileRename:()=>getEditsForFileRename,getEffectiveBaseTypeNode:()=>getEffectiveBaseTypeNode,getEffectiveConstraintOfTypeParameter:()=>getEffectiveConstraintOfTypeParameter,getEffectiveContainerForJSDocTemplateTag:()=>getEffectiveContainerForJSDocTemplateTag,getEffectiveImplementsTypeNodes:()=>getEffectiveImplementsTypeNodes,getEffectiveInitializer:()=>getEffectiveInitializer,getEffectiveJSDocHost:()=>getEffectiveJSDocHost,getEffectiveModifierFlags:()=>getEffectiveModifierFlags,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>getEffectiveModifierFlagsAlwaysIncludeJSDoc,getEffectiveModifierFlagsNoCache:()=>getEffectiveModifierFlagsNoCache,getEffectiveReturnTypeNode:()=>getEffectiveReturnTypeNode,getEffectiveSetAccessorTypeAnnotationNode:()=>getEffectiveSetAccessorTypeAnnotationNode,getEffectiveTypeAnnotationNode:()=>getEffectiveTypeAnnotationNode,getEffectiveTypeParameterDeclarations:()=>getEffectiveTypeParameterDeclarations,getEffectiveTypeRoots:()=>getEffectiveTypeRoots,getElementOrPropertyAccessArgumentExpressionOrName:()=>getElementOrPropertyAccessArgumentExpressionOrName,getElementOrPropertyAccessName:()=>getElementOrPropertyAccessName,getElementsOfBindingOrAssignmentPattern:()=>getElementsOfBindingOrAssignmentPattern,getEmitDeclarations:()=>Zn,getEmitFlags:()=>getEmitFlags,getEmitHelpers:()=>getEmitHelpers,getEmitModuleDetectionKind:()=>Hn,getEmitModuleFormatOfFileWorker:()=>getEmitModuleFormatOfFileWorker,getEmitModuleKind:()=>Vn,getEmitModuleResolutionKind:()=>qn,getEmitScriptTarget:()=>zn,getEmitStandardClassFields:()=>getEmitStandardClassFields,getEnclosingBlockScopeContainer:()=>getEnclosingBlockScopeContainer,getEnclosingContainer:()=>getEnclosingContainer,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications,getEncodedSyntacticClassifications:()=>getEncodedSyntacticClassifications,getEndLinePosition:()=>getEndLinePosition,getEntityNameFromTypeNode:()=>getEntityNameFromTypeNode,getEntrypointsFromPackageJsonInfo:()=>getEntrypointsFromPackageJsonInfo,getErrorCountForSummary:()=>getErrorCountForSummary,getErrorSpanForNode:()=>getErrorSpanForNode,getErrorSummaryText:()=>getErrorSummaryText,getEscapedTextOfIdentifierOrLiteral:()=>getEscapedTextOfIdentifierOrLiteral,getEscapedTextOfJsxAttributeName:()=>getEscapedTextOfJsxAttributeName,getEscapedTextOfJsxNamespacedName:()=>getEscapedTextOfJsxNamespacedName,getExpandoInitializer:()=>getExpandoInitializer,getExportAssignmentExpression:()=>getExportAssignmentExpression,getExportInfoMap:()=>getExportInfoMap,getExportNeedsImportStarHelper:()=>getExportNeedsImportStarHelper,getExpressionAssociativity:()=>getExpressionAssociativity,getExpressionPrecedence:()=>getExpressionPrecedence,getExternalHelpersModuleName:()=>getExternalHelpersModuleName,getExternalModuleImportEqualsDeclarationExpression:()=>getExternalModuleImportEqualsDeclarationExpression,getExternalModuleName:()=>getExternalModuleName,getExternalModuleNameFromDeclaration:()=>getExternalModuleNameFromDeclaration,getExternalModuleNameFromPath:()=>getExternalModuleNameFromPath,getExternalModuleNameLiteral:()=>getExternalModuleNameLiteral,getExternalModuleRequireArgument:()=>getExternalModuleRequireArgument,getFallbackOptions:()=>getFallbackOptions,getFileEmitOutput:()=>getFileEmitOutput,getFileMatcherPatterns:()=>getFileMatcherPatterns,getFileNamesFromConfigSpecs:()=>getFileNamesFromConfigSpecs,getFileWatcherEventKind:()=>getFileWatcherEventKind,getFilesInErrorForSummary:()=>getFilesInErrorForSummary,getFirstConstructorWithBody:()=>getFirstConstructorWithBody,getFirstIdentifier:()=>getFirstIdentifier,getFirstNonSpaceCharacterPosition:()=>getFirstNonSpaceCharacterPosition,getFirstProjectOutput:()=>getFirstProjectOutput,getFixableErrorSpanExpression:()=>getFixableErrorSpanExpression,getFormatCodeSettingsForWriting:()=>getFormatCodeSettingsForWriting,getFullWidth:()=>getFullWidth,getFunctionFlags:()=>getFunctionFlags,getHeritageClause:()=>getHeritageClause,getHostSignatureFromJSDoc:()=>getHostSignatureFromJSDoc,getIdentifierAutoGenerate:()=>getIdentifierAutoGenerate,getIdentifierGeneratedImportReference:()=>getIdentifierGeneratedImportReference,getIdentifierTypeArguments:()=>getIdentifierTypeArguments,getImmediatelyInvokedFunctionExpression:()=>getImmediatelyInvokedFunctionExpression,getImpliedNodeFormatForEmitWorker:()=>getImpliedNodeFormatForEmitWorker,getImpliedNodeFormatForFile:()=>getImpliedNodeFormatForFile,getImpliedNodeFormatForFileWorker:()=>getImpliedNodeFormatForFileWorker,getImportNeedsImportDefaultHelper:()=>getImportNeedsImportDefaultHelper,getImportNeedsImportStarHelper:()=>getImportNeedsImportStarHelper,getIndentString:()=>getIndentString,getInferredLibraryNameResolveFrom:()=>getInferredLibraryNameResolveFrom,getInitializedVariables:()=>getInitializedVariables,getInitializerOfBinaryExpression:()=>getInitializerOfBinaryExpression,getInitializerOfBindingOrAssignmentElement:()=>getInitializerOfBindingOrAssignmentElement,getInterfaceBaseTypeNodes:()=>getInterfaceBaseTypeNodes,getInternalEmitFlags:()=>getInternalEmitFlags,getInvokedExpression:()=>getInvokedExpression,getIsFileExcluded:()=>getIsFileExcluded,getIsolatedModules:()=>Kn,getJSDocAugmentsTag:()=>getJSDocAugmentsTag,getJSDocClassTag:()=>getJSDocClassTag,getJSDocCommentRanges:()=>getJSDocCommentRanges,getJSDocCommentsAndTags:()=>getJSDocCommentsAndTags,getJSDocDeprecatedTag:()=>getJSDocDeprecatedTag,getJSDocDeprecatedTagNoCache:()=>getJSDocDeprecatedTagNoCache,getJSDocEnumTag:()=>getJSDocEnumTag,getJSDocHost:()=>getJSDocHost,getJSDocImplementsTags:()=>getJSDocImplementsTags,getJSDocOverloadTags:()=>getJSDocOverloadTags,getJSDocOverrideTagNoCache:()=>getJSDocOverrideTagNoCache,getJSDocParameterTags:()=>getJSDocParameterTags,getJSDocParameterTagsNoCache:()=>getJSDocParameterTagsNoCache,getJSDocPrivateTag:()=>getJSDocPrivateTag,getJSDocPrivateTagNoCache:()=>getJSDocPrivateTagNoCache,getJSDocProtectedTag:()=>getJSDocProtectedTag,getJSDocProtectedTagNoCache:()=>getJSDocProtectedTagNoCache,getJSDocPublicTag:()=>getJSDocPublicTag,getJSDocPublicTagNoCache:()=>getJSDocPublicTagNoCache,getJSDocReadonlyTag:()=>getJSDocReadonlyTag,getJSDocReadonlyTagNoCache:()=>getJSDocReadonlyTagNoCache,getJSDocReturnTag:()=>getJSDocReturnTag,getJSDocReturnType:()=>getJSDocReturnType,getJSDocRoot:()=>getJSDocRoot,getJSDocSatisfiesExpressionType:()=>getJSDocSatisfiesExpressionType,getJSDocSatisfiesTag:()=>getJSDocSatisfiesTag,getJSDocTags:()=>getJSDocTags,getJSDocTemplateTag:()=>getJSDocTemplateTag,getJSDocThisTag:()=>getJSDocThisTag,getJSDocType:()=>getJSDocType,getJSDocTypeAliasName:()=>getJSDocTypeAliasName,getJSDocTypeAssertionType:()=>getJSDocTypeAssertionType,getJSDocTypeParameterDeclarations:()=>getJSDocTypeParameterDeclarations,getJSDocTypeParameterTags:()=>getJSDocTypeParameterTags,getJSDocTypeParameterTagsNoCache:()=>getJSDocTypeParameterTagsNoCache,getJSDocTypeTag:()=>getJSDocTypeTag,getJSXImplicitImportBase:()=>getJSXImplicitImportBase,getJSXRuntimeImport:()=>getJSXRuntimeImport,getJSXTransformEnabled:()=>getJSXTransformEnabled,getKeyForCompilerOptions:()=>getKeyForCompilerOptions,getLanguageVariant:()=>getLanguageVariant,getLastChild:()=>getLastChild,getLeadingCommentRanges:()=>getLeadingCommentRanges,getLeadingCommentRangesOfNode:()=>getLeadingCommentRangesOfNode,getLeftmostAccessExpression:()=>getLeftmostAccessExpression,getLeftmostExpression:()=>getLeftmostExpression,getLibFileNameFromLibReference:()=>getLibFileNameFromLibReference,getLibNameFromLibReference:()=>getLibNameFromLibReference,getLibraryNameFromLibFileName:()=>getLibraryNameFromLibFileName,getLineAndCharacterOfPosition:()=>getLineAndCharacterOfPosition,getLineInfo:()=>getLineInfo,getLineOfLocalPosition:()=>getLineOfLocalPosition,getLineStartPositionForPosition:()=>getLineStartPositionForPosition,getLineStarts:()=>getLineStarts,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>getLinesBetweenPositionAndNextNonWhitespaceCharacter,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter,getLinesBetweenPositions:()=>getLinesBetweenPositions,getLinesBetweenRangeEndAndRangeStart:()=>getLinesBetweenRangeEndAndRangeStart,getLinesBetweenRangeEndPositions:()=>getLinesBetweenRangeEndPositions,getLiteralText:()=>getLiteralText,getLocalNameForExternalImport:()=>getLocalNameForExternalImport,getLocalSymbolForExportDefault:()=>getLocalSymbolForExportDefault,getLocaleSpecificMessage:()=>getLocaleSpecificMessage,getLocaleTimeString:()=>getLocaleTimeString,getMappedContextSpan:()=>getMappedContextSpan,getMappedDocumentSpan:()=>getMappedDocumentSpan,getMappedLocation:()=>getMappedLocation,getMatchedFileSpec:()=>getMatchedFileSpec,getMatchedIncludeSpec:()=>getMatchedIncludeSpec,getMeaningFromDeclaration:()=>getMeaningFromDeclaration,getMeaningFromLocation:()=>getMeaningFromLocation,getMembersOfDeclaration:()=>getMembersOfDeclaration,getModeForFileReference:()=>getModeForFileReference,getModeForResolutionAtIndex:()=>getModeForResolutionAtIndex,getModeForUsageLocation:()=>getModeForUsageLocation,getModifiedTime:()=>getModifiedTime,getModifiers:()=>getModifiers,getModuleInstanceState:()=>getModuleInstanceState,getModuleNameStringLiteralAt:()=>getModuleNameStringLiteralAt,getModuleSpecifierEndingPreference:()=>getModuleSpecifierEndingPreference,getModuleSpecifierResolverHost:()=>getModuleSpecifierResolverHost,getNameForExportedSymbol:()=>getNameForExportedSymbol,getNameFromImportAttribute:()=>getNameFromImportAttribute,getNameFromIndexInfo:()=>getNameFromIndexInfo,getNameFromPropertyName:()=>getNameFromPropertyName,getNameOfAccessExpression:()=>getNameOfAccessExpression,getNameOfCompilerOptionValue:()=>getNameOfCompilerOptionValue,getNameOfDeclaration:()=>getNameOfDeclaration,getNameOfExpando:()=>getNameOfExpando,getNameOfJSDocTypedef:()=>getNameOfJSDocTypedef,getNameOfScriptTarget:()=>getNameOfScriptTarget,getNameOrArgument:()=>getNameOrArgument,getNameTable:()=>getNameTable,getNamespaceDeclarationNode:()=>getNamespaceDeclarationNode,getNewLineCharacter:()=>getNewLineCharacter,getNewLineKind:()=>getNewLineKind,getNewLineOrDefaultFromHost:()=>getNewLineOrDefaultFromHost,getNewTargetContainer:()=>getNewTargetContainer,getNextJSDocCommentLocation:()=>getNextJSDocCommentLocation,getNodeChildren:()=>getNodeChildren,getNodeForGeneratedName:()=>getNodeForGeneratedName,getNodeId:()=>getNodeId,getNodeKind:()=>getNodeKind,getNodeModifiers:()=>getNodeModifiers,getNodeModulePathParts:()=>getNodeModulePathParts,getNonAssignedNameOfDeclaration:()=>getNonAssignedNameOfDeclaration,getNonAssignmentOperatorForCompoundAssignment:()=>getNonAssignmentOperatorForCompoundAssignment,getNonAugmentationDeclaration:()=>getNonAugmentationDeclaration,getNonDecoratorTokenPosOfNode:()=>getNonDecoratorTokenPosOfNode,getNonIncrementalBuildInfoRoots:()=>getNonIncrementalBuildInfoRoots,getNonModifierTokenPosOfNode:()=>getNonModifierTokenPosOfNode,getNormalizedAbsolutePath:()=>getNormalizedAbsolutePath,getNormalizedAbsolutePathWithoutRoot:()=>getNormalizedAbsolutePathWithoutRoot,getNormalizedPathComponents:()=>getNormalizedPathComponents,getObjectFlags:()=>getObjectFlags,getOperatorAssociativity:()=>getOperatorAssociativity,getOperatorPrecedence:()=>getOperatorPrecedence,getOptionFromName:()=>getOptionFromName,getOptionsForLibraryResolution:()=>getOptionsForLibraryResolution,getOptionsNameMap:()=>getOptionsNameMap,getOptionsSyntaxByArrayElementValue:()=>getOptionsSyntaxByArrayElementValue,getOptionsSyntaxByValue:()=>getOptionsSyntaxByValue,getOrCreateEmitNode:()=>getOrCreateEmitNode,getOrUpdate:()=>getOrUpdate,getOriginalNode:()=>getOriginalNode,getOriginalNodeId:()=>getOriginalNodeId,getOutputDeclarationFileName:()=>getOutputDeclarationFileName,getOutputDeclarationFileNameWorker:()=>getOutputDeclarationFileNameWorker,getOutputExtension:()=>getOutputExtension,getOutputFileNames:()=>getOutputFileNames,getOutputJSFileNameWorker:()=>getOutputJSFileNameWorker,getOutputPathsFor:()=>getOutputPathsFor,getOwnEmitOutputFilePath:()=>getOwnEmitOutputFilePath,getOwnKeys:()=>getOwnKeys,getOwnValues:()=>getOwnValues,getPackageJsonTypesVersionsPaths:()=>getPackageJsonTypesVersionsPaths,getPackageNameFromTypesPackageName:()=>getPackageNameFromTypesPackageName,getPackageScopeForPath:()=>getPackageScopeForPath,getParameterSymbolFromJSDoc:()=>getParameterSymbolFromJSDoc,getParentNodeInSpan:()=>getParentNodeInSpan,getParseTreeNode:()=>getParseTreeNode,getParsedCommandLineOfConfigFile:()=>getParsedCommandLineOfConfigFile,getPathComponents:()=>getPathComponents,getPathFromPathComponents:()=>getPathFromPathComponents,getPathUpdater:()=>getPathUpdater,getPathsBasePath:()=>getPathsBasePath,getPatternFromSpec:()=>getPatternFromSpec,getPendingEmitKindWithSeen:()=>getPendingEmitKindWithSeen,getPositionOfLineAndCharacter:()=>getPositionOfLineAndCharacter,getPossibleGenericSignatures:()=>getPossibleGenericSignatures,getPossibleOriginalInputExtensionForExtension:()=>getPossibleOriginalInputExtensionForExtension,getPossibleOriginalInputPathWithoutChangingExt:()=>getPossibleOriginalInputPathWithoutChangingExt,getPossibleTypeArgumentsInfo:()=>getPossibleTypeArgumentsInfo,getPreEmitDiagnostics:()=>getPreEmitDiagnostics,getPrecedingNonSpaceCharacterPosition:()=>getPrecedingNonSpaceCharacterPosition,getPrivateIdentifier:()=>getPrivateIdentifier,getProperties:()=>getProperties,getProperty:()=>getProperty,getPropertyAssignmentAliasLikeExpression:()=>getPropertyAssignmentAliasLikeExpression,getPropertyNameForPropertyNameNode:()=>getPropertyNameForPropertyNameNode,getPropertyNameFromType:()=>getPropertyNameFromType,getPropertyNameOfBindingOrAssignmentElement:()=>getPropertyNameOfBindingOrAssignmentElement,getPropertySymbolFromBindingElement:()=>getPropertySymbolFromBindingElement,getPropertySymbolsFromContextualType:()=>getPropertySymbolsFromContextualType,getQuoteFromPreference:()=>getQuoteFromPreference,getQuotePreference:()=>getQuotePreference,getRangesWhere:()=>getRangesWhere,getRefactorContextSpan:()=>getRefactorContextSpan,getReferencedFileLocation:()=>getReferencedFileLocation,getRegexFromPattern:()=>getRegexFromPattern,getRegularExpressionForWildcard:()=>getRegularExpressionForWildcard,getRegularExpressionsForWildcards:()=>getRegularExpressionsForWildcards,getRelativePathFromDirectory:()=>getRelativePathFromDirectory,getRelativePathFromFile:()=>getRelativePathFromFile,getRelativePathToDirectoryOrUrl:()=>getRelativePathToDirectoryOrUrl,getRenameLocation:()=>getRenameLocation,getReplacementSpanForContextToken:()=>getReplacementSpanForContextToken,getResolutionDiagnostic:()=>getResolutionDiagnostic,getResolutionModeOverride:()=>getResolutionModeOverride,getResolveJsonModule:()=>Yn,getResolvePackageJsonExports:()=>Qn,getResolvePackageJsonImports:()=>Xn,getResolvedExternalModuleName:()=>getResolvedExternalModuleName,getResolvedModuleFromResolution:()=>getResolvedModuleFromResolution,getResolvedTypeReferenceDirectiveFromResolution:()=>getResolvedTypeReferenceDirectiveFromResolution,getRestIndicatorOfBindingOrAssignmentElement:()=>getRestIndicatorOfBindingOrAssignmentElement,getRestParameterElementType:()=>getRestParameterElementType,getRightMostAssignedExpression:()=>getRightMostAssignedExpression,getRootDeclaration:()=>getRootDeclaration,getRootDirectoryOfResolutionCache:()=>getRootDirectoryOfResolutionCache,getRootLength:()=>getRootLength,getScriptKind:()=>getScriptKind,getScriptKindFromFileName:()=>getScriptKindFromFileName,getScriptTargetFeatures:()=>un,getSelectedEffectiveModifierFlags:()=>getSelectedEffectiveModifierFlags,getSelectedSyntacticModifierFlags:()=>getSelectedSyntacticModifierFlags,getSemanticClassifications:()=>getSemanticClassifications,getSemanticJsxChildren:()=>getSemanticJsxChildren,getSetAccessorTypeAnnotationNode:()=>getSetAccessorTypeAnnotationNode,getSetAccessorValueParameter:()=>getSetAccessorValueParameter,getSetExternalModuleIndicator:()=>getSetExternalModuleIndicator,getShebang:()=>getShebang,getSingleVariableOfVariableStatement:()=>getSingleVariableOfVariableStatement,getSnapshotText:()=>getSnapshotText,getSnippetElement:()=>getSnippetElement,getSourceFileOfModule:()=>getSourceFileOfModule,getSourceFileOfNode:()=>getSourceFileOfNode,getSourceFilePathInNewDir:()=>getSourceFilePathInNewDir,getSourceFileVersionAsHashFromText:()=>getSourceFileVersionAsHashFromText,getSourceFilesToEmit:()=>getSourceFilesToEmit,getSourceMapRange:()=>getSourceMapRange,getSourceMapper:()=>getSourceMapper,getSourceTextOfNodeFromSourceFile:()=>getSourceTextOfNodeFromSourceFile,getSpanOfTokenAtPosition:()=>getSpanOfTokenAtPosition,getSpellingSuggestion:()=>getSpellingSuggestion,getStartPositionOfLine:()=>getStartPositionOfLine,getStartPositionOfRange:()=>getStartPositionOfRange,getStartsOnNewLine:()=>getStartsOnNewLine,getStaticPropertiesAndClassStaticBlock:()=>getStaticPropertiesAndClassStaticBlock,getStrictOptionValue:()=>getStrictOptionValue,getStringComparer:()=>getStringComparer,getSubPatternFromSpec:()=>getSubPatternFromSpec,getSuperCallFromStatement:()=>getSuperCallFromStatement,getSuperContainer:()=>getSuperContainer,getSupportedCodeFixes:()=>getSupportedCodeFixes,getSupportedExtensions:()=>getSupportedExtensions,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>getSupportedExtensionsWithJsonIfResolveJsonModule,getSwitchedType:()=>getSwitchedType,getSymbolId:()=>getSymbolId,getSymbolNameForPrivateIdentifier:()=>getSymbolNameForPrivateIdentifier,getSymbolTarget:()=>getSymbolTarget,getSyntacticClassifications:()=>getSyntacticClassifications,getSyntacticModifierFlags:()=>getSyntacticModifierFlags,getSyntacticModifierFlagsNoCache:()=>getSyntacticModifierFlagsNoCache,getSynthesizedDeepClone:()=>getSynthesizedDeepClone,getSynthesizedDeepCloneWithReplacements:()=>getSynthesizedDeepCloneWithReplacements,getSynthesizedDeepClones:()=>getSynthesizedDeepClones,getSynthesizedDeepClonesWithReplacements:()=>getSynthesizedDeepClonesWithReplacements,getSyntheticLeadingComments:()=>getSyntheticLeadingComments,getSyntheticTrailingComments:()=>getSyntheticTrailingComments,getTargetLabel:()=>getTargetLabel,getTargetOfBindingOrAssignmentElement:()=>getTargetOfBindingOrAssignmentElement,getTemporaryModuleResolutionState:()=>getTemporaryModuleResolutionState,getTextOfConstantValue:()=>getTextOfConstantValue,getTextOfIdentifierOrLiteral:()=>getTextOfIdentifierOrLiteral,getTextOfJSDocComment:()=>getTextOfJSDocComment,getTextOfJsxAttributeName:()=>getTextOfJsxAttributeName,getTextOfJsxNamespacedName:()=>getTextOfJsxNamespacedName,getTextOfNode:()=>getTextOfNode,getTextOfNodeFromSourceText:()=>getTextOfNodeFromSourceText,getTextOfPropertyName:()=>getTextOfPropertyName,getThisContainer:()=>getThisContainer,getThisParameter:()=>getThisParameter,getTokenAtPosition:()=>getTokenAtPosition,getTokenPosOfNode:()=>getTokenPosOfNode,getTokenSourceMapRange:()=>getTokenSourceMapRange,getTouchingPropertyName:()=>getTouchingPropertyName,getTouchingToken:()=>getTouchingToken,getTrailingCommentRanges:()=>getTrailingCommentRanges,getTrailingSemicolonDeferringWriter:()=>getTrailingSemicolonDeferringWriter,getTransformers:()=>getTransformers,getTsBuildInfoEmitOutputFilePath:()=>getTsBuildInfoEmitOutputFilePath,getTsConfigObjectLiteralExpression:()=>getTsConfigObjectLiteralExpression,getTsConfigPropArrayElementValue:()=>getTsConfigPropArrayElementValue,getTypeAnnotationNode:()=>getTypeAnnotationNode,getTypeArgumentOrTypeParameterList:()=>getTypeArgumentOrTypeParameterList,getTypeKeywordOfTypeOnlyImport:()=>getTypeKeywordOfTypeOnlyImport,getTypeNode:()=>getTypeNode,getTypeNodeIfAccessible:()=>getTypeNodeIfAccessible,getTypeParameterFromJsDoc:()=>getTypeParameterFromJsDoc,getTypeParameterOwner:()=>getTypeParameterOwner,getTypesPackageName:()=>getTypesPackageName,getUILocale:()=>getUILocale,getUniqueName:()=>getUniqueName,getUniqueSymbolId:()=>getUniqueSymbolId,getUseDefineForClassFields:()=>ir,getWatchErrorSummaryDiagnosticMessage:()=>getWatchErrorSummaryDiagnosticMessage,getWatchFactory:()=>getWatchFactory,group:()=>group,groupBy:()=>groupBy,guessIndentation:()=>guessIndentation,handleNoEmitOptions:()=>handleNoEmitOptions,handleWatchOptionsConfigDirTemplateSubstitution:()=>handleWatchOptionsConfigDirTemplateSubstitution,hasAbstractModifier:()=>hasAbstractModifier,hasAccessorModifier:()=>hasAccessorModifier,hasAmbientModifier:()=>hasAmbientModifier,hasChangesInResolutions:()=>hasChangesInResolutions,hasContextSensitiveParameters:()=>hasContextSensitiveParameters,hasDecorators:()=>hasDecorators,hasDocComment:()=>hasDocComment,hasDynamicName:()=>hasDynamicName,hasEffectiveModifier:()=>hasEffectiveModifier,hasEffectiveModifiers:()=>hasEffectiveModifiers,hasEffectiveReadonlyModifier:()=>hasEffectiveReadonlyModifier,hasExtension:()=>hasExtension,hasImplementationTSFileExtension:()=>hasImplementationTSFileExtension,hasIndexSignature:()=>hasIndexSignature,hasInferredType:()=>hasInferredType,hasInitializer:()=>hasInitializer,hasInvalidEscape:()=>hasInvalidEscape,hasJSDocNodes:()=>hasJSDocNodes,hasJSDocParameterTags:()=>hasJSDocParameterTags,hasJSFileExtension:()=>hasJSFileExtension,hasJsonModuleEmitEnabled:()=>hasJsonModuleEmitEnabled,hasOnlyExpressionInitializer:()=>hasOnlyExpressionInitializer,hasOverrideModifier:()=>hasOverrideModifier,hasPossibleExternalModuleReference:()=>hasPossibleExternalModuleReference,hasProperty:()=>hasProperty,hasPropertyAccessExpressionWithName:()=>hasPropertyAccessExpressionWithName,hasQuestionToken:()=>hasQuestionToken,hasRecordedExternalHelpers:()=>hasRecordedExternalHelpers,hasResolutionModeOverride:()=>hasResolutionModeOverride,hasRestParameter:()=>hasRestParameter,hasScopeMarker:()=>hasScopeMarker,hasStaticModifier:()=>hasStaticModifier,hasSyntacticModifier:()=>hasSyntacticModifier,hasSyntacticModifiers:()=>hasSyntacticModifiers,hasTSFileExtension:()=>hasTSFileExtension,hasTabstop:()=>hasTabstop,hasTrailingDirectorySeparator:()=>hasTrailingDirectorySeparator,hasType:()=>hasType,hasTypeArguments:()=>hasTypeArguments,hasZeroOrOneAsteriskCharacter:()=>hasZeroOrOneAsteriskCharacter,hostGetCanonicalFileName:()=>hostGetCanonicalFileName,hostUsesCaseSensitiveFileNames:()=>hostUsesCaseSensitiveFileNames,idText:()=>idText,identifierIsThisKeyword:()=>identifierIsThisKeyword,identifierToKeywordKind:()=>identifierToKeywordKind,identity:()=>identity,identitySourceMapConsumer:()=>ua,ignoreSourceNewlines:()=>ignoreSourceNewlines,ignoredPaths:()=>Ct,importFromModuleSpecifier:()=>importFromModuleSpecifier,importSyntaxAffectsModuleResolution:()=>importSyntaxAffectsModuleResolution,indexOfAnyCharCode:()=>indexOfAnyCharCode,indexOfNode:()=>indexOfNode,indicesOf:()=>indicesOf,inferredTypesContainingFile:()=>Ua,injectClassNamedEvaluationHelperBlockIfMissing:()=>injectClassNamedEvaluationHelperBlockIfMissing,injectClassThisAssignmentIfMissing:()=>injectClassThisAssignmentIfMissing,insertImports:()=>insertImports,insertSorted:()=>insertSorted,insertStatementAfterCustomPrologue:()=>insertStatementAfterCustomPrologue,insertStatementAfterStandardPrologue:()=>insertStatementAfterStandardPrologue,insertStatementsAfterCustomPrologue:()=>insertStatementsAfterCustomPrologue,insertStatementsAfterStandardPrologue:()=>insertStatementsAfterStandardPrologue,intersperse:()=>intersperse,intrinsicTagNameToString:()=>intrinsicTagNameToString,introducesArgumentsExoticObject:()=>introducesArgumentsExoticObject,inverseJsxOptionMap:()=>Wi,isAbstractConstructorSymbol:()=>isAbstractConstructorSymbol,isAbstractModifier:()=>isAbstractModifier,isAccessExpression:()=>isAccessExpression,isAccessibilityModifier:()=>isAccessibilityModifier,isAccessor:()=>isAccessor,isAccessorModifier:()=>isAccessorModifier,isAliasableExpression:()=>isAliasableExpression,isAmbientModule:()=>isAmbientModule,isAmbientPropertyDeclaration:()=>isAmbientPropertyDeclaration,isAnyDirectorySeparator:()=>isAnyDirectorySeparator,isAnyImportOrBareOrAccessedRequire:()=>isAnyImportOrBareOrAccessedRequire,isAnyImportOrReExport:()=>isAnyImportOrReExport,isAnyImportOrRequireStatement:()=>isAnyImportOrRequireStatement,isAnyImportSyntax:()=>isAnyImportSyntax,isAnySupportedFileExtension:()=>isAnySupportedFileExtension,isApplicableVersionedTypesKey:()=>isApplicableVersionedTypesKey,isArgumentExpressionOfElementAccess:()=>isArgumentExpressionOfElementAccess,isArray:()=>isArray,isArrayBindingElement:()=>isArrayBindingElement,isArrayBindingOrAssignmentElement:()=>isArrayBindingOrAssignmentElement,isArrayBindingOrAssignmentPattern:()=>isArrayBindingOrAssignmentPattern,isArrayBindingPattern:()=>isArrayBindingPattern,isArrayLiteralExpression:()=>isArrayLiteralExpression,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>isArrayLiteralOrObjectLiteralDestructuringPattern,isArrayTypeNode:()=>isArrayTypeNode,isArrowFunction:()=>isArrowFunction,isAsExpression:()=>isAsExpression,isAssertClause:()=>isAssertClause,isAssertEntry:()=>isAssertEntry,isAssertionExpression:()=>isAssertionExpression,isAssertsKeyword:()=>isAssertsKeyword,isAssignmentDeclaration:()=>isAssignmentDeclaration,isAssignmentExpression:()=>isAssignmentExpression,isAssignmentOperator:()=>isAssignmentOperator,isAssignmentPattern:()=>isAssignmentPattern,isAssignmentTarget:()=>isAssignmentTarget,isAsteriskToken:()=>isAsteriskToken,isAsyncFunction:()=>isAsyncFunction,isAsyncModifier:()=>isAsyncModifier,isAutoAccessorPropertyDeclaration:()=>isAutoAccessorPropertyDeclaration,isAwaitExpression:()=>isAwaitExpression,isAwaitKeyword:()=>isAwaitKeyword,isBigIntLiteral:()=>isBigIntLiteral,isBinaryExpression:()=>isBinaryExpression,isBinaryLogicalOperator:()=>isBinaryLogicalOperator,isBinaryOperatorToken:()=>isBinaryOperatorToken,isBindableObjectDefinePropertyCall:()=>isBindableObjectDefinePropertyCall,isBindableStaticAccessExpression:()=>isBindableStaticAccessExpression,isBindableStaticElementAccessExpression:()=>isBindableStaticElementAccessExpression,isBindableStaticNameExpression:()=>isBindableStaticNameExpression,isBindingElement:()=>isBindingElement,isBindingElementOfBareOrAccessedRequire:()=>isBindingElementOfBareOrAccessedRequire,isBindingName:()=>isBindingName,isBindingOrAssignmentElement:()=>isBindingOrAssignmentElement,isBindingOrAssignmentPattern:()=>isBindingOrAssignmentPattern,isBindingPattern:()=>isBindingPattern,isBlock:()=>isBlock,isBlockLike:()=>isBlockLike,isBlockOrCatchScoped:()=>isBlockOrCatchScoped,isBlockScope:()=>isBlockScope,isBlockScopedContainerTopLevel:()=>isBlockScopedContainerTopLevel,isBooleanLiteral:()=>isBooleanLiteral,isBreakOrContinueStatement:()=>isBreakOrContinueStatement,isBreakStatement:()=>isBreakStatement,isBuildCommand:()=>isBuildCommand,isBuildInfoFile:()=>isBuildInfoFile,isBuilderProgram:()=>isBuilderProgram,isBundle:()=>isBundle,isCallChain:()=>isCallChain,isCallExpression:()=>isCallExpression,isCallExpressionTarget:()=>isCallExpressionTarget,isCallLikeExpression:()=>isCallLikeExpression,isCallLikeOrFunctionLikeExpression:()=>isCallLikeOrFunctionLikeExpression,isCallOrNewExpression:()=>isCallOrNewExpression,isCallOrNewExpressionTarget:()=>isCallOrNewExpressionTarget,isCallSignatureDeclaration:()=>isCallSignatureDeclaration,isCallToHelper:()=>isCallToHelper,isCaseBlock:()=>isCaseBlock,isCaseClause:()=>isCaseClause,isCaseKeyword:()=>isCaseKeyword,isCaseOrDefaultClause:()=>isCaseOrDefaultClause,isCatchClause:()=>isCatchClause,isCatchClauseVariableDeclaration:()=>isCatchClauseVariableDeclaration,isCatchClauseVariableDeclarationOrBindingElement:()=>isCatchClauseVariableDeclarationOrBindingElement,isCheckJsEnabledForFile:()=>isCheckJsEnabledForFile,isCircularBuildOrder:()=>isCircularBuildOrder,isClassDeclaration:()=>isClassDeclaration,isClassElement:()=>isClassElement,isClassExpression:()=>isClassExpression,isClassInstanceProperty:()=>isClassInstanceProperty,isClassLike:()=>isClassLike,isClassMemberModifier:()=>isClassMemberModifier,isClassNamedEvaluationHelperBlock:()=>isClassNamedEvaluationHelperBlock,isClassOrTypeElement:()=>isClassOrTypeElement,isClassStaticBlockDeclaration:()=>isClassStaticBlockDeclaration,isClassThisAssignmentBlock:()=>isClassThisAssignmentBlock,isColonToken:()=>isColonToken,isCommaExpression:()=>isCommaExpression,isCommaListExpression:()=>isCommaListExpression,isCommaSequence:()=>isCommaSequence,isCommaToken:()=>isCommaToken,isComment:()=>isComment,isCommonJsExportPropertyAssignment:()=>isCommonJsExportPropertyAssignment,isCommonJsExportedExpression:()=>isCommonJsExportedExpression,isCompoundAssignment:()=>isCompoundAssignment,isComputedNonLiteralName:()=>isComputedNonLiteralName,isComputedPropertyName:()=>isComputedPropertyName,isConciseBody:()=>isConciseBody,isConditionalExpression:()=>isConditionalExpression,isConditionalTypeNode:()=>isConditionalTypeNode,isConstAssertion:()=>isConstAssertion,isConstTypeReference:()=>isConstTypeReference,isConstructSignatureDeclaration:()=>isConstructSignatureDeclaration,isConstructorDeclaration:()=>isConstructorDeclaration,isConstructorTypeNode:()=>isConstructorTypeNode,isContextualKeyword:()=>isContextualKeyword,isContinueStatement:()=>isContinueStatement,isCustomPrologue:()=>isCustomPrologue,isDebuggerStatement:()=>isDebuggerStatement,isDeclaration:()=>isDeclaration,isDeclarationBindingElement:()=>isDeclarationBindingElement,isDeclarationFileName:()=>isDeclarationFileName,isDeclarationName:()=>isDeclarationName,isDeclarationNameOfEnumOrNamespace:()=>isDeclarationNameOfEnumOrNamespace,isDeclarationReadonly:()=>isDeclarationReadonly,isDeclarationStatement:()=>isDeclarationStatement,isDeclarationWithTypeParameterChildren:()=>isDeclarationWithTypeParameterChildren,isDeclarationWithTypeParameters:()=>isDeclarationWithTypeParameters,isDecorator:()=>isDecorator,isDecoratorTarget:()=>isDecoratorTarget,isDefaultClause:()=>isDefaultClause,isDefaultImport:()=>isDefaultImport,isDefaultModifier:()=>isDefaultModifier,isDefaultedExpandoInitializer:()=>isDefaultedExpandoInitializer,isDeleteExpression:()=>isDeleteExpression,isDeleteTarget:()=>isDeleteTarget,isDeprecatedDeclaration:()=>isDeprecatedDeclaration,isDestructuringAssignment:()=>isDestructuringAssignment,isDiskPathRoot:()=>isDiskPathRoot,isDoStatement:()=>isDoStatement,isDocumentRegistryEntry:()=>isDocumentRegistryEntry,isDotDotDotToken:()=>isDotDotDotToken,isDottedName:()=>isDottedName,isDynamicName:()=>isDynamicName,isEffectiveExternalModule:()=>isEffectiveExternalModule,isEffectiveStrictModeSourceFile:()=>isEffectiveStrictModeSourceFile,isElementAccessChain:()=>isElementAccessChain,isElementAccessExpression:()=>isElementAccessExpression,isEmittedFileOfProgram:()=>isEmittedFileOfProgram,isEmptyArrayLiteral:()=>isEmptyArrayLiteral,isEmptyBindingElement:()=>isEmptyBindingElement,isEmptyBindingPattern:()=>isEmptyBindingPattern,isEmptyObjectLiteral:()=>isEmptyObjectLiteral,isEmptyStatement:()=>isEmptyStatement,isEmptyStringLiteral:()=>isEmptyStringLiteral,isEntityName:()=>isEntityName,isEntityNameExpression:()=>isEntityNameExpression,isEnumConst:()=>isEnumConst,isEnumDeclaration:()=>isEnumDeclaration,isEnumMember:()=>isEnumMember,isEqualityOperatorKind:()=>isEqualityOperatorKind,isEqualsGreaterThanToken:()=>isEqualsGreaterThanToken,isExclamationToken:()=>isExclamationToken,isExcludedFile:()=>isExcludedFile,isExclusivelyTypeOnlyImportOrExport:()=>isExclusivelyTypeOnlyImportOrExport,isExpandoPropertyDeclaration:()=>isExpandoPropertyDeclaration,isExportAssignment:()=>isExportAssignment,isExportDeclaration:()=>isExportDeclaration,isExportModifier:()=>isExportModifier,isExportName:()=>isExportName,isExportNamespaceAsDefaultDeclaration:()=>isExportNamespaceAsDefaultDeclaration,isExportOrDefaultModifier:()=>isExportOrDefaultModifier,isExportSpecifier:()=>isExportSpecifier,isExportsIdentifier:()=>isExportsIdentifier,isExportsOrModuleExportsOrAlias:()=>isExportsOrModuleExportsOrAlias,isExpression:()=>isExpression,isExpressionNode:()=>isExpressionNode,isExpressionOfExternalModuleImportEqualsDeclaration:()=>isExpressionOfExternalModuleImportEqualsDeclaration,isExpressionOfOptionalChainRoot:()=>isExpressionOfOptionalChainRoot,isExpressionStatement:()=>isExpressionStatement,isExpressionWithTypeArguments:()=>isExpressionWithTypeArguments,isExpressionWithTypeArgumentsInClassExtendsClause:()=>isExpressionWithTypeArgumentsInClassExtendsClause,isExternalModule:()=>isExternalModule,isExternalModuleAugmentation:()=>isExternalModuleAugmentation,isExternalModuleImportEqualsDeclaration:()=>isExternalModuleImportEqualsDeclaration,isExternalModuleIndicator:()=>isExternalModuleIndicator,isExternalModuleNameRelative:()=>isExternalModuleNameRelative,isExternalModuleReference:()=>isExternalModuleReference,isExternalModuleSymbol:()=>isExternalModuleSymbol,isExternalOrCommonJsModule:()=>isExternalOrCommonJsModule,isFileLevelReservedGeneratedIdentifier:()=>isFileLevelReservedGeneratedIdentifier,isFileLevelUniqueName:()=>isFileLevelUniqueName,isFileProbablyExternalModule:()=>isFileProbablyExternalModule,isFirstDeclarationOfSymbolParameter:()=>isFirstDeclarationOfSymbolParameter,isFixablePromiseHandler:()=>isFixablePromiseHandler,isForInOrOfStatement:()=>isForInOrOfStatement,isForInStatement:()=>isForInStatement,isForInitializer:()=>isForInitializer,isForOfStatement:()=>isForOfStatement,isForStatement:()=>isForStatement,isFullSourceFile:()=>isFullSourceFile,isFunctionBlock:()=>isFunctionBlock,isFunctionBody:()=>isFunctionBody,isFunctionDeclaration:()=>isFunctionDeclaration,isFunctionExpression:()=>isFunctionExpression,isFunctionExpressionOrArrowFunction:()=>isFunctionExpressionOrArrowFunction,isFunctionLike:()=>isFunctionLike,isFunctionLikeDeclaration:()=>isFunctionLikeDeclaration,isFunctionLikeKind:()=>isFunctionLikeKind,isFunctionLikeOrClassStaticBlockDeclaration:()=>isFunctionLikeOrClassStaticBlockDeclaration,isFunctionOrConstructorTypeNode:()=>isFunctionOrConstructorTypeNode,isFunctionOrModuleBlock:()=>isFunctionOrModuleBlock,isFunctionSymbol:()=>isFunctionSymbol,isFunctionTypeNode:()=>isFunctionTypeNode,isGeneratedIdentifier:()=>isGeneratedIdentifier,isGeneratedPrivateIdentifier:()=>isGeneratedPrivateIdentifier,isGetAccessor:()=>isGetAccessor,isGetAccessorDeclaration:()=>isGetAccessorDeclaration,isGetOrSetAccessorDeclaration:()=>isGetOrSetAccessorDeclaration,isGlobalScopeAugmentation:()=>isGlobalScopeAugmentation,isGlobalSourceFile:()=>isGlobalSourceFile,isGrammarError:()=>isGrammarError,isHeritageClause:()=>isHeritageClause,isHoistedFunction:()=>isHoistedFunction,isHoistedVariableStatement:()=>isHoistedVariableStatement,isIdentifier:()=>isIdentifier,isIdentifierANonContextualKeyword:()=>isIdentifierANonContextualKeyword,isIdentifierName:()=>isIdentifierName,isIdentifierOrThisTypeNode:()=>isIdentifierOrThisTypeNode,isIdentifierPart:()=>isIdentifierPart,isIdentifierStart:()=>isIdentifierStart,isIdentifierText:()=>isIdentifierText,isIdentifierTypePredicate:()=>isIdentifierTypePredicate,isIdentifierTypeReference:()=>isIdentifierTypeReference,isIfStatement:()=>isIfStatement,isIgnoredFileFromWildCardWatching:()=>isIgnoredFileFromWildCardWatching,isImplicitGlob:()=>isImplicitGlob,isImportAttribute:()=>isImportAttribute,isImportAttributeName:()=>isImportAttributeName,isImportAttributes:()=>isImportAttributes,isImportCall:()=>isImportCall,isImportClause:()=>isImportClause,isImportDeclaration:()=>isImportDeclaration,isImportEqualsDeclaration:()=>isImportEqualsDeclaration,isImportKeyword:()=>isImportKeyword,isImportMeta:()=>isImportMeta,isImportOrExportSpecifier:()=>isImportOrExportSpecifier,isImportOrExportSpecifierName:()=>isImportOrExportSpecifierName,isImportSpecifier:()=>isImportSpecifier,isImportTypeAssertionContainer:()=>isImportTypeAssertionContainer,isImportTypeNode:()=>isImportTypeNode,isImportable:()=>isImportable,isInComment:()=>isInComment,isInCompoundLikeAssignment:()=>isInCompoundLikeAssignment,isInExpressionContext:()=>isInExpressionContext,isInJSDoc:()=>isInJSDoc,isInJSFile:()=>isInJSFile,isInJSXText:()=>isInJSXText,isInJsonFile:()=>isInJsonFile,isInNonReferenceComment:()=>isInNonReferenceComment,isInReferenceComment:()=>isInReferenceComment,isInRightSideOfInternalImportEqualsDeclaration:()=>isInRightSideOfInternalImportEqualsDeclaration,isInString:()=>isInString,isInTemplateString:()=>isInTemplateString,isInTopLevelContext:()=>isInTopLevelContext,isInTypeQuery:()=>isInTypeQuery,isIncrementalBuildInfo:()=>isIncrementalBuildInfo,isIncrementalBundleEmitBuildInfo:()=>isIncrementalBundleEmitBuildInfo,isIncrementalCompilation:()=>tr,isIndexSignatureDeclaration:()=>isIndexSignatureDeclaration,isIndexedAccessTypeNode:()=>isIndexedAccessTypeNode,isInferTypeNode:()=>isInferTypeNode,isInfinityOrNaNString:()=>isInfinityOrNaNString,isInitializedProperty:()=>isInitializedProperty,isInitializedVariable:()=>isInitializedVariable,isInsideJsxElement:()=>isInsideJsxElement,isInsideJsxElementOrAttribute:()=>isInsideJsxElementOrAttribute,isInsideNodeModules:()=>isInsideNodeModules,isInsideTemplateLiteral:()=>isInsideTemplateLiteral,isInstanceOfExpression:()=>isInstanceOfExpression,isInstantiatedModule:()=>isInstantiatedModule,isInterfaceDeclaration:()=>isInterfaceDeclaration,isInternalDeclaration:()=>isInternalDeclaration,isInternalModuleImportEqualsDeclaration:()=>isInternalModuleImportEqualsDeclaration,isInternalName:()=>isInternalName,isIntersectionTypeNode:()=>isIntersectionTypeNode,isIntrinsicJsxName:()=>isIntrinsicJsxName,isIterationStatement:()=>isIterationStatement,isJSDoc:()=>isJSDoc,isJSDocAllType:()=>isJSDocAllType,isJSDocAugmentsTag:()=>isJSDocAugmentsTag,isJSDocAuthorTag:()=>isJSDocAuthorTag,isJSDocCallbackTag:()=>isJSDocCallbackTag,isJSDocClassTag:()=>isJSDocClassTag,isJSDocCommentContainingNode:()=>isJSDocCommentContainingNode,isJSDocConstructSignature:()=>isJSDocConstructSignature,isJSDocDeprecatedTag:()=>isJSDocDeprecatedTag,isJSDocEnumTag:()=>isJSDocEnumTag,isJSDocFunctionType:()=>isJSDocFunctionType,isJSDocImplementsTag:()=>isJSDocImplementsTag,isJSDocImportTag:()=>isJSDocImportTag,isJSDocIndexSignature:()=>isJSDocIndexSignature,isJSDocLikeText:()=>isJSDocLikeText,isJSDocLink:()=>isJSDocLink,isJSDocLinkCode:()=>isJSDocLinkCode,isJSDocLinkLike:()=>isJSDocLinkLike,isJSDocLinkPlain:()=>isJSDocLinkPlain,isJSDocMemberName:()=>isJSDocMemberName,isJSDocNameReference:()=>isJSDocNameReference,isJSDocNamepathType:()=>isJSDocNamepathType,isJSDocNamespaceBody:()=>isJSDocNamespaceBody,isJSDocNode:()=>isJSDocNode,isJSDocNonNullableType:()=>isJSDocNonNullableType,isJSDocNullableType:()=>isJSDocNullableType,isJSDocOptionalParameter:()=>isJSDocOptionalParameter,isJSDocOptionalType:()=>isJSDocOptionalType,isJSDocOverloadTag:()=>isJSDocOverloadTag,isJSDocOverrideTag:()=>isJSDocOverrideTag,isJSDocParameterTag:()=>isJSDocParameterTag,isJSDocPrivateTag:()=>isJSDocPrivateTag,isJSDocPropertyLikeTag:()=>isJSDocPropertyLikeTag,isJSDocPropertyTag:()=>isJSDocPropertyTag,isJSDocProtectedTag:()=>isJSDocProtectedTag,isJSDocPublicTag:()=>isJSDocPublicTag,isJSDocReadonlyTag:()=>isJSDocReadonlyTag,isJSDocReturnTag:()=>isJSDocReturnTag,isJSDocSatisfiesExpression:()=>isJSDocSatisfiesExpression,isJSDocSatisfiesTag:()=>isJSDocSatisfiesTag,isJSDocSeeTag:()=>isJSDocSeeTag,isJSDocSignature:()=>isJSDocSignature,isJSDocTag:()=>isJSDocTag,isJSDocTemplateTag:()=>isJSDocTemplateTag,isJSDocThisTag:()=>isJSDocThisTag,isJSDocThrowsTag:()=>isJSDocThrowsTag,isJSDocTypeAlias:()=>isJSDocTypeAlias,isJSDocTypeAssertion:()=>isJSDocTypeAssertion,isJSDocTypeExpression:()=>isJSDocTypeExpression,isJSDocTypeLiteral:()=>isJSDocTypeLiteral,isJSDocTypeTag:()=>isJSDocTypeTag,isJSDocTypedefTag:()=>isJSDocTypedefTag,isJSDocUnknownTag:()=>isJSDocUnknownTag,isJSDocUnknownType:()=>isJSDocUnknownType,isJSDocVariadicType:()=>isJSDocVariadicType,isJSXTagName:()=>isJSXTagName,isJsonEqual:()=>isJsonEqual,isJsonSourceFile:()=>isJsonSourceFile,isJsxAttribute:()=>isJsxAttribute,isJsxAttributeLike:()=>isJsxAttributeLike,isJsxAttributeName:()=>isJsxAttributeName,isJsxAttributes:()=>isJsxAttributes,isJsxCallLike:()=>isJsxCallLike,isJsxChild:()=>isJsxChild,isJsxClosingElement:()=>isJsxClosingElement,isJsxClosingFragment:()=>isJsxClosingFragment,isJsxElement:()=>isJsxElement,isJsxExpression:()=>isJsxExpression,isJsxFragment:()=>isJsxFragment,isJsxNamespacedName:()=>isJsxNamespacedName,isJsxOpeningElement:()=>isJsxOpeningElement,isJsxOpeningFragment:()=>isJsxOpeningFragment,isJsxOpeningLikeElement:()=>isJsxOpeningLikeElement,isJsxOpeningLikeElementTagName:()=>isJsxOpeningLikeElementTagName,isJsxSelfClosingElement:()=>isJsxSelfClosingElement,isJsxSpreadAttribute:()=>isJsxSpreadAttribute,isJsxTagNameExpression:()=>isJsxTagNameExpression,isJsxText:()=>isJsxText,isJumpStatementTarget:()=>isJumpStatementTarget,isKeyword:()=>isKeyword,isKeywordOrPunctuation:()=>isKeywordOrPunctuation,isKnownSymbol:()=>isKnownSymbol,isLabelName:()=>isLabelName,isLabelOfLabeledStatement:()=>isLabelOfLabeledStatement,isLabeledStatement:()=>isLabeledStatement,isLateVisibilityPaintedStatement:()=>isLateVisibilityPaintedStatement,isLeftHandSideExpression:()=>isLeftHandSideExpression,isLet:()=>isLet,isLineBreak:()=>isLineBreak,isLiteralComputedPropertyDeclarationName:()=>isLiteralComputedPropertyDeclarationName,isLiteralExpression:()=>isLiteralExpression,isLiteralExpressionOfObject:()=>isLiteralExpressionOfObject,isLiteralImportTypeNode:()=>isLiteralImportTypeNode,isLiteralKind:()=>isLiteralKind,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>isLiteralNameOfPropertyDeclarationOrIndexAccess,isLiteralTypeLiteral:()=>isLiteralTypeLiteral,isLiteralTypeNode:()=>isLiteralTypeNode,isLocalName:()=>isLocalName,isLogicalOperator:()=>isLogicalOperator,isLogicalOrCoalescingAssignmentExpression:()=>isLogicalOrCoalescingAssignmentExpression,isLogicalOrCoalescingAssignmentOperator:()=>isLogicalOrCoalescingAssignmentOperator,isLogicalOrCoalescingBinaryExpression:()=>isLogicalOrCoalescingBinaryExpression,isLogicalOrCoalescingBinaryOperator:()=>isLogicalOrCoalescingBinaryOperator,isMappedTypeNode:()=>isMappedTypeNode,isMemberName:()=>isMemberName,isMetaProperty:()=>isMetaProperty,isMethodDeclaration:()=>isMethodDeclaration,isMethodOrAccessor:()=>isMethodOrAccessor,isMethodSignature:()=>isMethodSignature,isMinusToken:()=>isMinusToken,isMissingDeclaration:()=>isMissingDeclaration,isMissingPackageJsonInfo:()=>isMissingPackageJsonInfo,isModifier:()=>isModifier,isModifierKind:()=>isModifierKind,isModifierLike:()=>isModifierLike,isModuleAugmentationExternal:()=>isModuleAugmentationExternal,isModuleBlock:()=>isModuleBlock,isModuleBody:()=>isModuleBody,isModuleDeclaration:()=>isModuleDeclaration,isModuleExportName:()=>isModuleExportName,isModuleExportsAccessExpression:()=>isModuleExportsAccessExpression,isModuleIdentifier:()=>isModuleIdentifier,isModuleName:()=>isModuleName,isModuleOrEnumDeclaration:()=>isModuleOrEnumDeclaration,isModuleReference:()=>isModuleReference,isModuleSpecifierLike:()=>isModuleSpecifierLike,isModuleWithStringLiteralName:()=>isModuleWithStringLiteralName,isNameOfFunctionDeclaration:()=>isNameOfFunctionDeclaration,isNameOfModuleDeclaration:()=>isNameOfModuleDeclaration,isNamedDeclaration:()=>isNamedDeclaration,isNamedEvaluation:()=>isNamedEvaluation,isNamedEvaluationSource:()=>isNamedEvaluationSource,isNamedExportBindings:()=>isNamedExportBindings,isNamedExports:()=>isNamedExports,isNamedImportBindings:()=>isNamedImportBindings,isNamedImports:()=>isNamedImports,isNamedImportsOrExports:()=>isNamedImportsOrExports,isNamedTupleMember:()=>isNamedTupleMember,isNamespaceBody:()=>isNamespaceBody,isNamespaceExport:()=>isNamespaceExport,isNamespaceExportDeclaration:()=>isNamespaceExportDeclaration,isNamespaceImport:()=>isNamespaceImport,isNamespaceReexportDeclaration:()=>isNamespaceReexportDeclaration,isNewExpression:()=>isNewExpression,isNewExpressionTarget:()=>isNewExpressionTarget,isNewScopeNode:()=>isNewScopeNode,isNoSubstitutionTemplateLiteral:()=>isNoSubstitutionTemplateLiteral,isNodeArray:()=>isNodeArray,isNodeArrayMultiLine:()=>isNodeArrayMultiLine,isNodeDescendantOf:()=>isNodeDescendantOf,isNodeKind:()=>isNodeKind,isNodeLikeSystem:()=>isNodeLikeSystem,isNodeModulesDirectory:()=>isNodeModulesDirectory,isNodeWithPossibleHoistedDeclaration:()=>isNodeWithPossibleHoistedDeclaration,isNonContextualKeyword:()=>isNonContextualKeyword,isNonGlobalAmbientModule:()=>isNonGlobalAmbientModule,isNonNullAccess:()=>isNonNullAccess,isNonNullChain:()=>isNonNullChain,isNonNullExpression:()=>isNonNullExpression,isNonStaticMethodOrAccessorWithPrivateName:()=>isNonStaticMethodOrAccessorWithPrivateName,isNotEmittedStatement:()=>isNotEmittedStatement,isNullishCoalesce:()=>isNullishCoalesce,isNumber:()=>isNumber,isNumericLiteral:()=>isNumericLiteral,isNumericLiteralName:()=>isNumericLiteralName,isObjectBindingElementWithoutPropertyName:()=>isObjectBindingElementWithoutPropertyName,isObjectBindingOrAssignmentElement:()=>isObjectBindingOrAssignmentElement,isObjectBindingOrAssignmentPattern:()=>isObjectBindingOrAssignmentPattern,isObjectBindingPattern:()=>isObjectBindingPattern,isObjectLiteralElement:()=>isObjectLiteralElement,isObjectLiteralElementLike:()=>isObjectLiteralElementLike,isObjectLiteralExpression:()=>isObjectLiteralExpression,isObjectLiteralMethod:()=>isObjectLiteralMethod,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>isObjectLiteralOrClassExpressionMethodOrAccessor,isObjectTypeDeclaration:()=>isObjectTypeDeclaration,isOmittedExpression:()=>isOmittedExpression,isOptionalChain:()=>isOptionalChain,isOptionalChainRoot:()=>isOptionalChainRoot,isOptionalDeclaration:()=>isOptionalDeclaration,isOptionalJSDocPropertyLikeTag:()=>isOptionalJSDocPropertyLikeTag,isOptionalTypeNode:()=>isOptionalTypeNode,isOuterExpression:()=>isOuterExpression,isOutermostOptionalChain:()=>isOutermostOptionalChain,isOverrideModifier:()=>isOverrideModifier,isPackageJsonInfo:()=>isPackageJsonInfo,isPackedArrayLiteral:()=>isPackedArrayLiteral,isParameter:()=>isParameter,isParameterPropertyDeclaration:()=>isParameterPropertyDeclaration,isParameterPropertyModifier:()=>isParameterPropertyModifier,isParenthesizedExpression:()=>isParenthesizedExpression,isParenthesizedTypeNode:()=>isParenthesizedTypeNode,isParseTreeNode:()=>isParseTreeNode,isPartOfParameterDeclaration:()=>isPartOfParameterDeclaration,isPartOfTypeNode:()=>isPartOfTypeNode,isPartOfTypeOnlyImportOrExportDeclaration:()=>isPartOfTypeOnlyImportOrExportDeclaration,isPartOfTypeQuery:()=>isPartOfTypeQuery,isPartiallyEmittedExpression:()=>isPartiallyEmittedExpression,isPatternMatch:()=>isPatternMatch,isPinnedComment:()=>isPinnedComment,isPlainJsFile:()=>isPlainJsFile,isPlusToken:()=>isPlusToken,isPossiblyTypeArgumentPosition:()=>isPossiblyTypeArgumentPosition,isPostfixUnaryExpression:()=>isPostfixUnaryExpression,isPrefixUnaryExpression:()=>isPrefixUnaryExpression,isPrimitiveLiteralValue:()=>isPrimitiveLiteralValue,isPrivateIdentifier:()=>isPrivateIdentifier,isPrivateIdentifierClassElementDeclaration:()=>isPrivateIdentifierClassElementDeclaration,isPrivateIdentifierPropertyAccessExpression:()=>isPrivateIdentifierPropertyAccessExpression,isPrivateIdentifierSymbol:()=>isPrivateIdentifierSymbol,isProgramUptoDate:()=>isProgramUptoDate,isPrologueDirective:()=>isPrologueDirective,isPropertyAccessChain:()=>isPropertyAccessChain,isPropertyAccessEntityNameExpression:()=>isPropertyAccessEntityNameExpression,isPropertyAccessExpression:()=>isPropertyAccessExpression,isPropertyAccessOrQualifiedName:()=>isPropertyAccessOrQualifiedName,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>isPropertyAccessOrQualifiedNameOrImportTypeNode,isPropertyAssignment:()=>isPropertyAssignment,isPropertyDeclaration:()=>isPropertyDeclaration,isPropertyName:()=>isPropertyName,isPropertyNameLiteral:()=>isPropertyNameLiteral,isPropertySignature:()=>isPropertySignature,isPrototypeAccess:()=>isPrototypeAccess,isPrototypePropertyAssignment:()=>isPrototypePropertyAssignment,isPunctuation:()=>isPunctuation,isPushOrUnshiftIdentifier:()=>isPushOrUnshiftIdentifier,isQualifiedName:()=>isQualifiedName,isQuestionDotToken:()=>isQuestionDotToken,isQuestionOrExclamationToken:()=>isQuestionOrExclamationToken,isQuestionOrPlusOrMinusToken:()=>isQuestionOrPlusOrMinusToken,isQuestionToken:()=>isQuestionToken,isReadonlyKeyword:()=>isReadonlyKeyword,isReadonlyKeywordOrPlusOrMinusToken:()=>isReadonlyKeywordOrPlusOrMinusToken,isRecognizedTripleSlashComment:()=>isRecognizedTripleSlashComment,isReferenceFileLocation:()=>isReferenceFileLocation,isReferencedFile:()=>isReferencedFile,isRegularExpressionLiteral:()=>isRegularExpressionLiteral,isRequireCall:()=>isRequireCall,isRequireVariableStatement:()=>isRequireVariableStatement,isRestParameter:()=>isRestParameter,isRestTypeNode:()=>isRestTypeNode,isReturnStatement:()=>isReturnStatement,isReturnStatementWithFixablePromiseHandler:()=>isReturnStatementWithFixablePromiseHandler,isRightSideOfAccessExpression:()=>isRightSideOfAccessExpression,isRightSideOfInstanceofExpression:()=>isRightSideOfInstanceofExpression,isRightSideOfPropertyAccess:()=>isRightSideOfPropertyAccess,isRightSideOfQualifiedName:()=>isRightSideOfQualifiedName,isRightSideOfQualifiedNameOrPropertyAccess:()=>isRightSideOfQualifiedNameOrPropertyAccess,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName,isRootedDiskPath:()=>isRootedDiskPath,isSameEntityName:()=>isSameEntityName,isSatisfiesExpression:()=>isSatisfiesExpression,isSemicolonClassElement:()=>isSemicolonClassElement,isSetAccessor:()=>isSetAccessor,isSetAccessorDeclaration:()=>isSetAccessorDeclaration,isShiftOperatorOrHigher:()=>isShiftOperatorOrHigher,isShorthandAmbientModuleSymbol:()=>isShorthandAmbientModuleSymbol,isShorthandPropertyAssignment:()=>isShorthandPropertyAssignment,isSideEffectImport:()=>isSideEffectImport,isSignedNumericLiteral:()=>isSignedNumericLiteral,isSimpleCopiableExpression:()=>isSimpleCopiableExpression,isSimpleInlineableExpression:()=>isSimpleInlineableExpression,isSimpleParameterList:()=>isSimpleParameterList,isSingleOrDoubleQuote:()=>isSingleOrDoubleQuote,isSolutionConfig:()=>isSolutionConfig,isSourceElement:()=>isSourceElement,isSourceFile:()=>isSourceFile,isSourceFileFromLibrary:()=>isSourceFileFromLibrary,isSourceFileJS:()=>isSourceFileJS,isSourceFileNotJson:()=>isSourceFileNotJson,isSourceMapping:()=>isSourceMapping,isSpecialPropertyDeclaration:()=>isSpecialPropertyDeclaration,isSpreadAssignment:()=>isSpreadAssignment,isSpreadElement:()=>isSpreadElement,isStatement:()=>isStatement,isStatementButNotDeclaration:()=>isStatementButNotDeclaration,isStatementOrBlock:()=>isStatementOrBlock,isStatementWithLocals:()=>isStatementWithLocals,isStatic:()=>isStatic,isStaticModifier:()=>isStaticModifier,isString:()=>isString,isStringANonContextualKeyword:()=>isStringANonContextualKeyword,isStringAndEmptyAnonymousObjectIntersection:()=>isStringAndEmptyAnonymousObjectIntersection,isStringDoubleQuoted:()=>isStringDoubleQuoted,isStringLiteral:()=>isStringLiteral,isStringLiteralLike:()=>isStringLiteralLike,isStringLiteralOrJsxExpression:()=>isStringLiteralOrJsxExpression,isStringLiteralOrTemplate:()=>isStringLiteralOrTemplate,isStringOrNumericLiteralLike:()=>isStringOrNumericLiteralLike,isStringOrRegularExpressionOrTemplateLiteral:()=>isStringOrRegularExpressionOrTemplateLiteral,isStringTextContainingNode:()=>isStringTextContainingNode,isSuperCall:()=>isSuperCall,isSuperKeyword:()=>isSuperKeyword,isSuperProperty:()=>isSuperProperty,isSupportedSourceFileName:()=>isSupportedSourceFileName,isSwitchStatement:()=>isSwitchStatement,isSyntaxList:()=>isSyntaxList,isSyntheticExpression:()=>isSyntheticExpression,isSyntheticReference:()=>isSyntheticReference,isTagName:()=>isTagName,isTaggedTemplateExpression:()=>isTaggedTemplateExpression,isTaggedTemplateTag:()=>isTaggedTemplateTag,isTemplateExpression:()=>isTemplateExpression,isTemplateHead:()=>isTemplateHead,isTemplateLiteral:()=>isTemplateLiteral,isTemplateLiteralKind:()=>isTemplateLiteralKind,isTemplateLiteralToken:()=>isTemplateLiteralToken,isTemplateLiteralTypeNode:()=>isTemplateLiteralTypeNode,isTemplateLiteralTypeSpan:()=>isTemplateLiteralTypeSpan,isTemplateMiddle:()=>isTemplateMiddle,isTemplateMiddleOrTemplateTail:()=>isTemplateMiddleOrTemplateTail,isTemplateSpan:()=>isTemplateSpan,isTemplateTail:()=>isTemplateTail,isTextWhiteSpaceLike:()=>isTextWhiteSpaceLike,isThis:()=>isThis,isThisContainerOrFunctionBlock:()=>isThisContainerOrFunctionBlock,isThisIdentifier:()=>isThisIdentifier,isThisInTypeQuery:()=>isThisInTypeQuery,isThisInitializedDeclaration:()=>isThisInitializedDeclaration,isThisInitializedObjectBindingExpression:()=>isThisInitializedObjectBindingExpression,isThisProperty:()=>isThisProperty,isThisTypeNode:()=>isThisTypeNode,isThisTypeParameter:()=>isThisTypeParameter,isThisTypePredicate:()=>isThisTypePredicate,isThrowStatement:()=>isThrowStatement,isToken:()=>isToken,isTokenKind:()=>isTokenKind,isTraceEnabled:()=>isTraceEnabled,isTransientSymbol:()=>isTransientSymbol,isTrivia:()=>isTrivia,isTryStatement:()=>isTryStatement,isTupleTypeNode:()=>isTupleTypeNode,isTypeAlias:()=>isTypeAlias,isTypeAliasDeclaration:()=>isTypeAliasDeclaration,isTypeAssertionExpression:()=>isTypeAssertionExpression,isTypeDeclaration:()=>isTypeDeclaration,isTypeElement:()=>isTypeElement,isTypeKeyword:()=>isTypeKeyword,isTypeKeywordTokenOrIdentifier:()=>isTypeKeywordTokenOrIdentifier,isTypeLiteralNode:()=>isTypeLiteralNode,isTypeNode:()=>isTypeNode,isTypeNodeKind:()=>isTypeNodeKind,isTypeOfExpression:()=>isTypeOfExpression,isTypeOnlyExportDeclaration:()=>isTypeOnlyExportDeclaration,isTypeOnlyImportDeclaration:()=>isTypeOnlyImportDeclaration,isTypeOnlyImportOrExportDeclaration:()=>isTypeOnlyImportOrExportDeclaration,isTypeOperatorNode:()=>isTypeOperatorNode,isTypeParameterDeclaration:()=>isTypeParameterDeclaration,isTypePredicateNode:()=>isTypePredicateNode,isTypeQueryNode:()=>isTypeQueryNode,isTypeReferenceNode:()=>isTypeReferenceNode,isTypeReferenceType:()=>isTypeReferenceType,isTypeUsableAsPropertyName:()=>isTypeUsableAsPropertyName,isUMDExportSymbol:()=>isUMDExportSymbol,isUnaryExpression:()=>isUnaryExpression,isUnaryExpressionWithWrite:()=>isUnaryExpressionWithWrite,isUnicodeIdentifierStart:()=>isUnicodeIdentifierStart,isUnionTypeNode:()=>isUnionTypeNode,isUrl:()=>isUrl,isValidBigIntString:()=>isValidBigIntString,isValidESSymbolDeclaration:()=>isValidESSymbolDeclaration,isValidTypeOnlyAliasUseSite:()=>isValidTypeOnlyAliasUseSite,isValueSignatureDeclaration:()=>isValueSignatureDeclaration,isVarAwaitUsing:()=>isVarAwaitUsing,isVarConst:()=>isVarConst,isVarConstLike:()=>isVarConstLike,isVarUsing:()=>isVarUsing,isVariableDeclaration:()=>isVariableDeclaration,isVariableDeclarationInVariableStatement:()=>isVariableDeclarationInVariableStatement,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>isVariableDeclarationInitializedToBareOrAccessedRequire,isVariableDeclarationInitializedToRequire:()=>isVariableDeclarationInitializedToRequire,isVariableDeclarationList:()=>isVariableDeclarationList,isVariableLike:()=>isVariableLike,isVariableStatement:()=>isVariableStatement,isVoidExpression:()=>isVoidExpression,isWatchSet:()=>isWatchSet,isWhileStatement:()=>isWhileStatement,isWhiteSpaceLike:()=>isWhiteSpaceLike,isWhiteSpaceSingleLine:()=>isWhiteSpaceSingleLine,isWithStatement:()=>isWithStatement,isWriteAccess:()=>isWriteAccess,isWriteOnlyAccess:()=>isWriteOnlyAccess,isYieldExpression:()=>isYieldExpression,jsxModeNeedsExplicitImport:()=>jsxModeNeedsExplicitImport,keywordPart:()=>keywordPart,last:()=>last,lastOrUndefined:()=>lastOrUndefined,length:()=>length,libMap:()=>Vi,libs:()=>zi,lineBreakPart:()=>lineBreakPart,loadModuleFromGlobalCache:()=>loadModuleFromGlobalCache,loadWithModeAwareCache:()=>loadWithModeAwareCache,makeIdentifierFromModuleName:()=>makeIdentifierFromModuleName,makeImport:()=>makeImport,makeStringLiteral:()=>makeStringLiteral,mangleScopedPackageName:()=>mangleScopedPackageName,map:()=>map,mapAllOrFail:()=>mapAllOrFail,mapDefined:()=>mapDefined,mapDefinedIterator:()=>mapDefinedIterator,mapEntries:()=>mapEntries,mapIterator:()=>mapIterator,mapOneOrMany:()=>mapOneOrMany,mapToDisplayParts:()=>mapToDisplayParts,matchFiles:()=>matchFiles,matchPatternOrExact:()=>matchPatternOrExact,matchedText:()=>matchedText,matchesExclude:()=>matchesExclude,matchesExcludeWorker:()=>matchesExcludeWorker,maxBy:()=>maxBy,maybeBind:()=>maybeBind,maybeSetLocalizedDiagnosticMessages:()=>maybeSetLocalizedDiagnosticMessages,memoize:()=>memoize,memoizeOne:()=>memoizeOne,min:()=>min,minAndMax:()=>minAndMax,missingFileModifiedTime:()=>St,modifierToFlag:()=>modifierToFlag,modifiersToFlags:()=>modifiersToFlags,moduleExportNameIsDefault:()=>moduleExportNameIsDefault,moduleExportNameTextEscaped:()=>moduleExportNameTextEscaped,moduleExportNameTextUnescaped:()=>moduleExportNameTextUnescaped,moduleOptionDeclaration:()=>Gi,moduleResolutionIsEqualTo:()=>moduleResolutionIsEqualTo,moduleResolutionNameAndModeGetter:()=>Ja,moduleResolutionOptionDeclarations:()=>eo,moduleResolutionSupportsPackageJsonExportsAndImports:()=>moduleResolutionSupportsPackageJsonExportsAndImports,moduleResolutionUsesNodeModules:()=>moduleResolutionUsesNodeModules,moduleSpecifierToValidIdentifier:()=>moduleSpecifierToValidIdentifier,moduleSpecifiers:()=>Wo,moduleSupportsImportAttributes:()=>moduleSupportsImportAttributes,moduleSymbolToValidIdentifier:()=>moduleSymbolToValidIdentifier,moveEmitHelpers:()=>moveEmitHelpers,moveRangeEnd:()=>moveRangeEnd,moveRangePastDecorators:()=>moveRangePastDecorators,moveRangePastModifiers:()=>moveRangePastModifiers,moveRangePos:()=>moveRangePos,moveSyntheticComments:()=>moveSyntheticComments,mutateMap:()=>mutateMap,mutateMapSkippingNewValues:()=>mutateMapSkippingNewValues,needsParentheses:()=>needsParentheses,needsScopeMarker:()=>needsScopeMarker,newCaseClauseTracker:()=>newCaseClauseTracker,newPrivateEnvironment:()=>newPrivateEnvironment,noEmitNotification:()=>noEmitNotification,noEmitSubstitution:()=>noEmitSubstitution,noTransformers:()=>va,noTruncationMaximumTruncationLength:()=>ln,nodeCanBeDecorated:()=>nodeCanBeDecorated,nodeCoreModules:()=>Ir,nodeHasName:()=>nodeHasName,nodeIsDecorated:()=>nodeIsDecorated,nodeIsMissing:()=>nodeIsMissing,nodeIsPresent:()=>nodeIsPresent,nodeIsSynthesized:()=>nodeIsSynthesized,nodeModuleNameResolver:()=>nodeModuleNameResolver,nodeModulesPathPart:()=>Mo,nodeNextJsonConfigResolver:()=>nodeNextJsonConfigResolver,nodeOrChildIsDecorated:()=>nodeOrChildIsDecorated,nodeOverlapsWithStartEnd:()=>nodeOverlapsWithStartEnd,nodePosToString:()=>nodePosToString,nodeSeenTracker:()=>nodeSeenTracker,nodeStartsNewLexicalEnvironment:()=>nodeStartsNewLexicalEnvironment,noop:()=>noop,noopFileWatcher:()=>Xa,normalizePath:()=>normalizePath,normalizeSlashes:()=>normalizeSlashes,normalizeSpans:()=>normalizeSpans,not:()=>not,notImplemented:()=>notImplemented,notImplementedResolver:()=>Ea,nullNodeConverters:()=>wr,nullParenthesizerRules:()=>Ar,nullTransformationContext:()=>ba,objectAllocator:()=>Bn,operatorPart:()=>operatorPart,optionDeclarations:()=>Qi,optionMapToObject:()=>optionMapToObject,optionsAffectingProgramStructure:()=>no,optionsForBuild:()=>lo,optionsForWatch:()=>qi,optionsHaveChanges:()=>optionsHaveChanges,or:()=>or,orderedRemoveItem:()=>orderedRemoveItem,orderedRemoveItemAt:()=>orderedRemoveItemAt,packageIdToPackageName:()=>packageIdToPackageName,packageIdToString:()=>packageIdToString,parameterIsThisKeyword:()=>parameterIsThisKeyword,parameterNamePart:()=>parameterNamePart,parseBaseNodeFactory:()=>Pi,parseBigInt:()=>parseBigInt,parseBuildCommand:()=>parseBuildCommand,parseCommandLine:()=>parseCommandLine,parseCommandLineWorker:()=>parseCommandLineWorker,parseConfigFileTextToJson:()=>parseConfigFileTextToJson,parseConfigFileWithSystem:()=>parseConfigFileWithSystem,parseConfigHostFromCompilerHostLike:()=>parseConfigHostFromCompilerHostLike,parseCustomTypeOption:()=>parseCustomTypeOption,parseIsolatedEntityName:()=>parseIsolatedEntityName,parseIsolatedJSDocComment:()=>parseIsolatedJSDocComment,parseJSDocTypeExpressionForTests:()=>parseJSDocTypeExpressionForTests,parseJsonConfigFileContent:()=>parseJsonConfigFileContent,parseJsonSourceFileConfigFileContent:()=>parseJsonSourceFileConfigFileContent,parseJsonText:()=>parseJsonText,parseListTypeOption:()=>parseListTypeOption,parseNodeFactory:()=>Di,parseNodeModuleFromPath:()=>parseNodeModuleFromPath,parsePackageName:()=>parsePackageName,parsePseudoBigInt:()=>parsePseudoBigInt,parseValidBigInt:()=>parseValidBigInt,pasteEdits:()=>v_,patchWriteFileEnsuringDirectory:()=>patchWriteFileEnsuringDirectory,pathContainsNodeModules:()=>pathContainsNodeModules,pathIsAbsolute:()=>pathIsAbsolute,pathIsBareSpecifier:()=>pathIsBareSpecifier,pathIsRelative:()=>pathIsRelative,patternText:()=>patternText,performIncrementalCompilation:()=>performIncrementalCompilation,performance:()=>j,positionBelongsToNode:()=>positionBelongsToNode,positionIsASICandidate:()=>positionIsASICandidate,positionIsSynthesized:()=>positionIsSynthesized,positionsAreOnSameLine:()=>positionsAreOnSameLine,preProcessFile:()=>preProcessFile,probablyUsesSemicolons:()=>probablyUsesSemicolons,processCommentPragmas:()=>processCommentPragmas,processPragmasIntoFields:()=>processPragmasIntoFields,processTaggedTemplateExpression:()=>processTaggedTemplateExpression,programContainsEsModules:()=>programContainsEsModules,programContainsModules:()=>programContainsModules,projectReferenceIsEqualTo:()=>projectReferenceIsEqualTo,propertyNamePart:()=>propertyNamePart,pseudoBigIntToString:()=>pseudoBigIntToString,punctuationPart:()=>punctuationPart,pushIfUnique:()=>pushIfUnique,quote:()=>quote,quotePreferenceFromString:()=>quotePreferenceFromString,rangeContainsPosition:()=>rangeContainsPosition,rangeContainsPositionExclusive:()=>rangeContainsPositionExclusive,rangeContainsRange:()=>rangeContainsRange,rangeContainsRangeExclusive:()=>rangeContainsRangeExclusive,rangeContainsStartEnd:()=>rangeContainsStartEnd,rangeEndIsOnSameLineAsRangeStart:()=>rangeEndIsOnSameLineAsRangeStart,rangeEndPositionsAreOnSameLine:()=>rangeEndPositionsAreOnSameLine,rangeEquals:()=>rangeEquals,rangeIsOnSingleLine:()=>rangeIsOnSingleLine,rangeOfNode:()=>rangeOfNode,rangeOfTypeParameters:()=>rangeOfTypeParameters,rangeOverlapsWithStartEnd:()=>rangeOverlapsWithStartEnd,rangeStartIsOnSameLineAsRangeEnd:()=>rangeStartIsOnSameLineAsRangeEnd,rangeStartPositionsAreOnSameLine:()=>rangeStartPositionsAreOnSameLine,readBuilderProgram:()=>readBuilderProgram,readConfigFile:()=>readConfigFile,readJson:()=>readJson,readJsonConfigFile:()=>readJsonConfigFile,readJsonOrUndefined:()=>readJsonOrUndefined,reduceEachLeadingCommentRange:()=>reduceEachLeadingCommentRange,reduceEachTrailingCommentRange:()=>reduceEachTrailingCommentRange,reduceLeft:()=>reduceLeft,reduceLeftIterator:()=>reduceLeftIterator,reducePathComponents:()=>reducePathComponents,refactor:()=>bc,regExpEscape:()=>regExpEscape,regularExpressionFlagToCharacterCode:()=>regularExpressionFlagToCharacterCode,relativeComplement:()=>relativeComplement,removeAllComments:()=>removeAllComments,removeEmitHelper:()=>removeEmitHelper,removeExtension:()=>removeExtension,removeFileExtension:()=>removeFileExtension,removeIgnoredPath:()=>removeIgnoredPath,removeMinAndVersionNumbers:()=>removeMinAndVersionNumbers,removePrefix:()=>removePrefix,removeSuffix:()=>removeSuffix,removeTrailingDirectorySeparator:()=>removeTrailingDirectorySeparator,repeatString:()=>repeatString,replaceElement:()=>replaceElement,replaceFirstStar:()=>replaceFirstStar,resolutionExtensionIsTSOrJson:()=>resolutionExtensionIsTSOrJson,resolveConfigFileProjectName:()=>resolveConfigFileProjectName,resolveJSModule:()=>resolveJSModule,resolveLibrary:()=>resolveLibrary,resolveModuleName:()=>resolveModuleName,resolveModuleNameFromCache:()=>resolveModuleNameFromCache,resolvePackageNameToPackageJson:()=>resolvePackageNameToPackageJson,resolvePath:()=>resolvePath,resolveProjectReferencePath:()=>resolveProjectReferencePath,resolveTripleslashReference:()=>resolveTripleslashReference,resolveTypeReferenceDirective:()=>resolveTypeReferenceDirective,resolvingEmptyArray:()=>an,returnFalse:()=>returnFalse,returnNoopFileWatcher:()=>returnNoopFileWatcher,returnTrue:()=>returnTrue,returnUndefined:()=>returnUndefined,returnsPromise:()=>returnsPromise,rewriteModuleSpecifier:()=>rewriteModuleSpecifier,sameFlatMap:()=>sameFlatMap,sameMap:()=>sameMap,sameMapping:()=>sameMapping,scanTokenAtPosition:()=>scanTokenAtPosition,scanner:()=>Vs,semanticDiagnosticsOptionDeclarations:()=>Xi,serializeCompilerOptions:()=>serializeCompilerOptions,server:()=>k_,servicesVersion:()=>Ol,setCommentRange:()=>setCommentRange,setConfigFileInOptions:()=>setConfigFileInOptions,setConstantValue:()=>setConstantValue,setEmitFlags:()=>setEmitFlags,setGetSourceFileAsHashVersioned:()=>setGetSourceFileAsHashVersioned,setIdentifierAutoGenerate:()=>setIdentifierAutoGenerate,setIdentifierGeneratedImportReference:()=>setIdentifierGeneratedImportReference,setIdentifierTypeArguments:()=>setIdentifierTypeArguments,setInternalEmitFlags:()=>setInternalEmitFlags,setLocalizedDiagnosticMessages:()=>setLocalizedDiagnosticMessages,setNodeChildren:()=>setNodeChildren,setNodeFlags:()=>setNodeFlags,setObjectAllocator:()=>setObjectAllocator,setOriginalNode:()=>setOriginalNode,setParent:()=>setParent,setParentRecursive:()=>setParentRecursive,setPrivateIdentifier:()=>setPrivateIdentifier,setSnippetElement:()=>setSnippetElement,setSourceMapRange:()=>setSourceMapRange,setStackTraceLimit:()=>setStackTraceLimit,setStartsOnNewLine:()=>setStartsOnNewLine,setSyntheticLeadingComments:()=>setSyntheticLeadingComments,setSyntheticTrailingComments:()=>setSyntheticTrailingComments,setSys:()=>setSys,setSysLog:()=>setSysLog,setTextRange:()=>setTextRange,setTextRangeEnd:()=>setTextRangeEnd,setTextRangePos:()=>setTextRangePos,setTextRangePosEnd:()=>setTextRangePosEnd,setTextRangePosWidth:()=>setTextRangePosWidth,setTokenSourceMapRange:()=>setTokenSourceMapRange,setTypeNode:()=>setTypeNode,setUILocale:()=>setUILocale,setValueDeclaration:()=>setValueDeclaration,shouldAllowImportingTsExtension:()=>shouldAllowImportingTsExtension,shouldPreserveConstEnums:()=>er,shouldRewriteModuleSpecifier:()=>shouldRewriteModuleSpecifier,shouldUseUriStyleNodeCoreModules:()=>shouldUseUriStyleNodeCoreModules,showModuleSpecifier:()=>showModuleSpecifier,signatureHasRestParameter:()=>signatureHasRestParameter,signatureToDisplayParts:()=>signatureToDisplayParts,single:()=>single,singleElementArray:()=>singleElementArray,singleIterator:()=>singleIterator,singleOrMany:()=>singleOrMany,singleOrUndefined:()=>singleOrUndefined,skipAlias:()=>skipAlias,skipConstraint:()=>skipConstraint,skipOuterExpressions:()=>skipOuterExpressions,skipParentheses:()=>skipParentheses,skipPartiallyEmittedExpressions:()=>skipPartiallyEmittedExpressions,skipTrivia:()=>skipTrivia,skipTypeChecking:()=>skipTypeChecking,skipTypeCheckingIgnoringNoCheck:()=>skipTypeCheckingIgnoringNoCheck,skipTypeParentheses:()=>skipTypeParentheses,skipWhile:()=>skipWhile,sliceAfter:()=>sliceAfter,some:()=>some,sortAndDeduplicate:()=>sortAndDeduplicate,sortAndDeduplicateDiagnostics:()=>sortAndDeduplicateDiagnostics,sourceFileAffectingCompilerOptions:()=>to,sourceFileMayBeEmitted:()=>sourceFileMayBeEmitted,sourceMapCommentRegExp:()=>da,sourceMapCommentRegExpDontCareLineStart:()=>la,spacePart:()=>spacePart,spanMap:()=>spanMap,startEndContainsRange:()=>startEndContainsRange,startEndOverlapsWithStartEnd:()=>startEndOverlapsWithStartEnd,startOnNewLine:()=>startOnNewLine,startTracing:()=>G,startsWith:()=>startsWith,startsWithDirectory:()=>startsWithDirectory,startsWithUnderscore:()=>startsWithUnderscore,startsWithUseStrict:()=>startsWithUseStrict,stringContainsAt:()=>stringContainsAt,stringToToken:()=>stringToToken,stripQuotes:()=>stripQuotes,supportedDeclarationExtensions:()=>Sr,supportedJSExtensionsFlat:()=>yr,supportedLocaleDirectories:()=>rn,supportedTSExtensionsFlat:()=>_r,supportedTSImplementationExtensions:()=>xr,suppressLeadingAndTrailingTrivia:()=>suppressLeadingAndTrailingTrivia,suppressLeadingTrivia:()=>suppressLeadingTrivia,suppressTrailingTrivia:()=>suppressTrailingTrivia,symbolEscapedNameNoDefault:()=>symbolEscapedNameNoDefault,symbolName:()=>symbolName,symbolNameNoDefault:()=>symbolNameNoDefault,symbolToDisplayParts:()=>symbolToDisplayParts,sys:()=>kt,sysLog:()=>sysLog,tagNamesAreEquivalent:()=>tagNamesAreEquivalent,takeWhile:()=>takeWhile,targetOptionDeclaration:()=>Ki,targetToLibMap:()=>tn,testFormatSettings:()=>Os,textChangeRangeIsUnchanged:()=>textChangeRangeIsUnchanged,textChangeRangeNewSpan:()=>textChangeRangeNewSpan,textChanges:()=>$m,textOrKeywordPart:()=>textOrKeywordPart,textPart:()=>textPart,textRangeContainsPositionInclusive:()=>textRangeContainsPositionInclusive,textRangeContainsTextSpan:()=>textRangeContainsTextSpan,textRangeIntersectsWithTextSpan:()=>textRangeIntersectsWithTextSpan,textSpanContainsPosition:()=>textSpanContainsPosition,textSpanContainsTextRange:()=>textSpanContainsTextRange,textSpanContainsTextSpan:()=>textSpanContainsTextSpan,textSpanEnd:()=>textSpanEnd,textSpanIntersection:()=>textSpanIntersection,textSpanIntersectsWith:()=>textSpanIntersectsWith,textSpanIntersectsWithPosition:()=>textSpanIntersectsWithPosition,textSpanIntersectsWithTextSpan:()=>textSpanIntersectsWithTextSpan,textSpanIsEmpty:()=>textSpanIsEmpty,textSpanOverlap:()=>textSpanOverlap,textSpanOverlapsWith:()=>textSpanOverlapsWith,textSpansEqual:()=>textSpansEqual,textToKeywordObj:()=>wt,timestamp:()=>B,toArray:()=>toArray,toBuilderFileEmit:()=>toBuilderFileEmit,toBuilderStateFileInfoForMultiEmit:()=>toBuilderStateFileInfoForMultiEmit,toEditorSettings:()=>toEditorSettings,toFileNameLowerCase:()=>toFileNameLowerCase,toPath:()=>toPath,toProgramEmitPending:()=>toProgramEmitPending,toSorted:()=>toSorted,tokenIsIdentifierOrKeyword:()=>tokenIsIdentifierOrKeyword,tokenIsIdentifierOrKeywordOrGreaterThan:()=>tokenIsIdentifierOrKeywordOrGreaterThan,tokenToString:()=>tokenToString,trace:()=>trace,tracing:()=>J,tracingEnabled:()=>W,transferSourceFileChildren:()=>transferSourceFileChildren,transform:()=>transform,transformClassFields:()=>transformClassFields,transformDeclarations:()=>transformDeclarations,transformECMAScriptModule:()=>transformECMAScriptModule,transformES2015:()=>transformES2015,transformES2016:()=>transformES2016,transformES2017:()=>transformES2017,transformES2018:()=>transformES2018,transformES2019:()=>transformES2019,transformES2020:()=>transformES2020,transformES2021:()=>transformES2021,transformESDecorators:()=>transformESDecorators,transformESNext:()=>transformESNext,transformGenerators:()=>transformGenerators,transformImpliedNodeFormatDependentModule:()=>transformImpliedNodeFormatDependentModule,transformJsx:()=>transformJsx,transformLegacyDecorators:()=>transformLegacyDecorators,transformModule:()=>transformModule,transformNamedEvaluation:()=>transformNamedEvaluation,transformNodes:()=>transformNodes,transformSystemModule:()=>transformSystemModule,transformTypeScript:()=>transformTypeScript,transpile:()=>transpile,transpileDeclaration:()=>transpileDeclaration,transpileModule:()=>transpileModule,transpileOptionValueCompilerOptions:()=>ro,tryAddToSet:()=>tryAddToSet,tryAndIgnoreErrors:()=>tryAndIgnoreErrors,tryCast:()=>tryCast,tryDirectoryExists:()=>tryDirectoryExists,tryExtractTSExtension:()=>tryExtractTSExtension,tryFileExists:()=>tryFileExists,tryGetClassExtendingExpressionWithTypeArguments:()=>tryGetClassExtendingExpressionWithTypeArguments,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>tryGetClassImplementingOrExtendingExpressionWithTypeArguments,tryGetDirectories:()=>tryGetDirectories,tryGetExtensionFromPath:()=>tryGetExtensionFromPath2,tryGetImportFromModuleSpecifier:()=>tryGetImportFromModuleSpecifier,tryGetJSDocSatisfiesTypeNode:()=>tryGetJSDocSatisfiesTypeNode,tryGetModuleNameFromFile:()=>tryGetModuleNameFromFile,tryGetModuleSpecifierFromDeclaration:()=>tryGetModuleSpecifierFromDeclaration,tryGetNativePerformanceHooks:()=>tryGetNativePerformanceHooks,tryGetPropertyAccessOrIdentifierToString:()=>tryGetPropertyAccessOrIdentifierToString,tryGetPropertyNameOfBindingOrAssignmentElement:()=>tryGetPropertyNameOfBindingOrAssignmentElement,tryGetSourceMappingURL:()=>tryGetSourceMappingURL,tryGetTextOfPropertyName:()=>tryGetTextOfPropertyName,tryParseJson:()=>tryParseJson,tryParsePattern:()=>tryParsePattern,tryParsePatterns:()=>tryParsePatterns,tryParseRawSourceMap:()=>tryParseRawSourceMap,tryReadDirectory:()=>tryReadDirectory,tryReadFile:()=>tryReadFile,tryRemoveDirectoryPrefix:()=>tryRemoveDirectoryPrefix,tryRemoveExtension:()=>tryRemoveExtension,tryRemovePrefix:()=>tryRemovePrefix,tryRemoveSuffix:()=>tryRemoveSuffix,tscBuildOption:()=>co,typeAcquisitionDeclarations:()=>uo,typeAliasNamePart:()=>typeAliasNamePart,typeDirectiveIsEqualTo:()=>typeDirectiveIsEqualTo,typeKeywords:()=>Ks,typeParameterNamePart:()=>typeParameterNamePart,typeToDisplayParts:()=>typeToDisplayParts,unchangedPollThresholds:()=>bt,unchangedTextChangeRange:()=>nn,unescapeLeadingUnderscores:()=>unescapeLeadingUnderscores,unmangleScopedPackageName:()=>unmangleScopedPackageName,unorderedRemoveItem:()=>unorderedRemoveItem,unprefixedNodeCoreModules:()=>Pr,unreachableCodeIsError:()=>unreachableCodeIsError,unsetNodeChildren:()=>unsetNodeChildren,unusedLabelIsError:()=>unusedLabelIsError,unwrapInnermostStatementOfLabel:()=>unwrapInnermostStatementOfLabel,unwrapParenthesizedExpression:()=>unwrapParenthesizedExpression,updateErrorForNoInputFiles:()=>updateErrorForNoInputFiles,updateLanguageServiceSourceFile:()=>updateLanguageServiceSourceFile,updateMissingFilePathsWatch:()=>updateMissingFilePathsWatch,updateResolutionField:()=>updateResolutionField,updateSharedExtendedConfigFileWatcher:()=>updateSharedExtendedConfigFileWatcher,updateSourceFile:()=>updateSourceFile,updateWatchingWildcardDirectories:()=>updateWatchingWildcardDirectories,usingSingleLineStringWriter:()=>usingSingleLineStringWriter,utf16EncodeAsString:()=>utf16EncodeAsString,validateLocaleAndSetLanguage:()=>validateLocaleAndSetLanguage,version:()=>s,versionMajorMinor:()=>a,visitArray:()=>visitArray,visitCommaListElements:()=>visitCommaListElements,visitEachChild:()=>visitEachChild,visitFunctionBody:()=>visitFunctionBody,visitIterationBody:()=>visitIterationBody,visitLexicalEnvironment:()=>visitLexicalEnvironment,visitNode:()=>visitNode,visitNodes:()=>visitNodes2,visitParameterList:()=>visitParameterList,walkUpBindingElementsAndPatterns:()=>walkUpBindingElementsAndPatterns,walkUpOuterExpressions:()=>walkUpOuterExpressions,walkUpParenthesizedExpressions:()=>walkUpParenthesizedExpressions,walkUpParenthesizedTypes:()=>walkUpParenthesizedTypes,walkUpParenthesizedTypesAndGetParentAndChild:()=>walkUpParenthesizedTypesAndGetParentAndChild,whitespaceOrMapCommentRegExp:()=>pa,writeCommentRange:()=>writeCommentRange,writeFile:()=>writeFile,writeFileEnsuringDirectories:()=>writeFileEnsuringDirectories,zipWith:()=>zipWith});var E_,N_=!0;function formatDeprecationMessage(e,t,n,r,i){let o=t?"DeprecationError: ":"DeprecationWarning: ";return o+=`'${e}' `,o+=r?`has been deprecated since v${r}`:"is deprecated",o+=t?" and can no longer be used.":n?` and will no longer be usable after v${n}.`:".",o+=i?` ${formatStringFromArgs(i,[e])}`:"",o}function createDeprecation(e,t={}){const n="string"==typeof t.typeScriptVersion?new k(t.typeScriptVersion):t.typeScriptVersion??function getTypeScriptVersion(){return E_??(E_=new k(s))}(),r="string"==typeof t.errorAfter?new k(t.errorAfter):t.errorAfter,i="string"==typeof t.warnAfter?new k(t.warnAfter):t.warnAfter,o="string"==typeof t.since?new k(t.since):t.since??i,a=t.error||r&&n.compareTo(r)>=0,c=!i||n.compareTo(i)>=0;return a?function createErrorDeprecation(e,t,n,r){const i=formatDeprecationMessage(e,!0,t,n,r);return()=>{throw new TypeError(i)}}(e,r,o,t.message):c?function createWarningDeprecation(e,t,n,r){let i=!1;return()=>{N_&&!i&&(h.log.warn(formatDeprecationMessage(e,!1,t,n,r)),i=!0)}}(e,r,o,t.message):noop}function deprecate(e,t){return function wrapFunction(e,t){return function(){return e(),t.apply(this,arguments)}}(createDeprecation((null==t?void 0:t.name)??h.getFunctionName(e),t),e)}function createOverload(e,t,n,r){if(Object.defineProperty(call,"name",{...Object.getOwnPropertyDescriptor(call,"name"),value:e}),r)for(const n of Object.keys(r)){const i=+n;!isNaN(i)&&hasProperty(t,`${i}`)&&(t[i]=deprecate(t[i],{...r[i],name:e}))}const i=function createBinder2(e,t){return n=>{for(let r=0;hasProperty(e,`${r}`)&&hasProperty(t,`${r}`);r++){if((0,t[r])(n))return r}}}(t,n);return call;function call(...e){const n=i(e),r=void 0!==n?t[n]:void 0;if("function"==typeof r)return r(...e);throw new TypeError("Invalid arguments")}}function buildOverload(e){return{overload:t=>({bind:n=>({finish:()=>createOverload(e,t,n),deprecate:r=>({finish:()=>createOverload(e,t,n,r)})})})}}var k_={};i(k_,{ActionInvalidate:()=>ps,ActionPackageInstalled:()=>us,ActionSet:()=>ds,ActionWatchTypingLocations:()=>ys,Arguments:()=>cs,AutoImportProviderProject:()=>nf,AuxiliaryProject:()=>ef,CharRangeSection:()=>Rf,CloseFileWatcherEvent:()=>hf,CommandNames:()=>Af,ConfigFileDiagEvent:()=>uf,ConfiguredProject:()=>rf,ConfiguredProjectLoadKind:()=>Ff,CreateDirectoryWatcherEvent:()=>yf,CreateFileWatcherEvent:()=>gf,Errors:()=>I_,EventBeginInstallTypes:()=>_s,EventEndInstallTypes:()=>fs,EventInitializationFailed:()=>gs,EventTypesRegistry:()=>ms,ExternalProject:()=>of,GcTimer:()=>R_,InferredProject:()=>Z_,LargeFileReferencedEvent:()=>pf,LineIndex:()=>zf,LineLeaf:()=>qf,LineNode:()=>Vf,LogLevel:()=>O_,Msg:()=>L_,OpenFileInfoTelemetryEvent:()=>ff,Project:()=>Y_,ProjectInfoTelemetryEvent:()=>_f,ProjectKind:()=>X_,ProjectLanguageServiceStateEvent:()=>mf,ProjectLoadingFinishEvent:()=>df,ProjectLoadingStartEvent:()=>lf,ProjectService:()=>Df,ProjectsUpdatedInBackgroundEvent:()=>cf,ScriptInfo:()=>Q_,ScriptVersionCache:()=>Wf,Session:()=>Mf,TextStorage:()=>$_,ThrottledOperations:()=>M_,TypingsInstallerAdapter:()=>Kf,allFilesAreJsOrDts:()=>allFilesAreJsOrDts,allRootFilesAreJsOrDts:()=>allRootFilesAreJsOrDts,asNormalizedPath:()=>asNormalizedPath,convertCompilerOptions:()=>convertCompilerOptions,convertFormatOptions:()=>convertFormatOptions,convertScriptKindName:()=>convertScriptKindName,convertTypeAcquisition:()=>convertTypeAcquisition,convertUserPreferences:()=>convertUserPreferences,convertWatchOptions:()=>convertWatchOptions,countEachFileTypes:()=>countEachFileTypes,createInstallTypingsRequest:()=>createInstallTypingsRequest,createModuleSpecifierCache:()=>createModuleSpecifierCache,createNormalizedPathMap:()=>createNormalizedPathMap,createPackageJsonCache:()=>createPackageJsonCache,createSortedArray:()=>createSortedArray2,emptyArray:()=>w_,findArgument:()=>findArgument,formatDiagnosticToProtocol:()=>formatDiagnosticToProtocol,formatMessage:()=>formatMessage2,getBaseConfigFileName:()=>getBaseConfigFileName,getDetailWatchInfo:()=>getDetailWatchInfo,getLocationInNewDocument:()=>getLocationInNewDocument,hasArgument:()=>hasArgument,hasNoTypeScriptSource:()=>hasNoTypeScriptSource,indent:()=>indent2,isBackgroundProject:()=>isBackgroundProject,isConfigFile:()=>isConfigFile,isConfiguredProject:()=>isConfiguredProject,isDynamicFileName:()=>isDynamicFileName,isExternalProject:()=>isExternalProject,isInferredProject:()=>isInferredProject,isInferredProjectName:()=>isInferredProjectName,isProjectDeferredClose:()=>isProjectDeferredClose,makeAutoImportProviderProjectName:()=>makeAutoImportProviderProjectName,makeAuxiliaryProjectName:()=>makeAuxiliaryProjectName,makeInferredProjectName:()=>makeInferredProjectName,maxFileSize:()=>sf,maxProgramSizeForNonTsFiles:()=>af,normalizedPathToPath:()=>normalizedPathToPath,nowString:()=>nowString,nullCancellationToken:()=>If,nullTypingsInstaller:()=>Nf,protocol:()=>B_,scriptInfoIsContainedByBackgroundProject:()=>scriptInfoIsContainedByBackgroundProject,scriptInfoIsContainedByDeferredClosedProject:()=>scriptInfoIsContainedByDeferredClosedProject,stringifyIndented:()=>stringifyIndented,toEvent:()=>toEvent,toNormalizedPath:()=>toNormalizedPath,tryConvertScriptKindName:()=>tryConvertScriptKindName,typingsInstaller:()=>F_,updateProjectIfDirty:()=>updateProjectIfDirty});var F_={};i(F_,{TypingsInstaller:()=>D_,getNpmCommandForInstallation:()=>getNpmCommandForInstallation,installNpmPackages:()=>installNpmPackages,typingsName:()=>typingsName});var P_={isEnabled:()=>!1,writeLine:noop};function typingToFileName(e,t,n,r){try{const r=resolveModuleName(t,combinePaths(e,"index.d.ts"),{moduleResolution:2},n);return r.resolvedModule&&r.resolvedModule.resolvedFileName}catch(n){return void(r.isEnabled()&&r.writeLine(`Failed to resolve ${t} in folder '${e}': ${n.message}`))}}function installNpmPackages(e,t,n,r){let i=!1;for(let o=n.length;o>0;){const a=getNpmCommandForInstallation(e,t,n,o);o=a.remaining,i=r(a.command)||i}return i}function getNpmCommandForInstallation(e,t,n,r){const i=n.length-r;let o,a=r;for(;o=`${e} install --ignore-scripts ${(a===n.length?n:n.slice(i,i+a)).join(" ")} --save-dev --user-agent="typesInstaller/${t}"`,!(o.length<8e3);)a-=Math.floor(a/2);return{command:o,remaining:r-a}}var D_=class{constructor(e,t,n,r,i,o=P_){this.installTypingHost=e,this.globalCachePath=t,this.safeListPath=n,this.typesMapLocation=r,this.throttleLimit=i,this.log=o,this.packageNameToTypingLocation=new Map,this.missingTypingsSet=new Set,this.knownCachesSet=new Set,this.projectWatchers=new Map,this.pendingRunRequests=[],this.installRunCount=1,this.inFlightRequestCount=0,this.latestDistTag="latest";this.log.isEnabled()&&this.log.writeLine(`Global cache location '${t}', safe file path '${n}', types map path ${r}`),this.processCacheLocation(this.globalCachePath)}handleRequest(e){switch(e.kind){case"discover":this.install(e);break;case"closeProject":this.closeProject(e);break;case"typesRegistry":{const e={};this.typesRegistry.forEach((t,n)=>{e[n]=t});const t={kind:ms,typesRegistry:e};this.sendResponse(t);break}case"installPackage":this.installPackage(e);break;default:h.assertNever(e)}}closeProject(e){this.closeWatchers(e.projectName)}closeWatchers(e){this.log.isEnabled()&&this.log.writeLine(`Closing file watchers for project '${e}'`);this.projectWatchers.get(e)?(this.projectWatchers.delete(e),this.sendResponse({kind:ys,projectName:e,files:[]}),this.log.isEnabled()&&this.log.writeLine(`Closing file watchers for project '${e}' - done.`)):this.log.isEnabled()&&this.log.writeLine(`No watchers are registered for project '${e}'`)}install(e){this.log.isEnabled()&&this.log.writeLine(`Got install request${stringifyIndented(e)}`),e.cachePath&&(this.log.isEnabled()&&this.log.writeLine(`Request specifies cache path '${e.cachePath}', loading cached information...`),this.processCacheLocation(e.cachePath)),void 0===this.safeList&&this.initializeSafeList();const t=ss.discoverTypings(this.installTypingHost,this.log.isEnabled()?e=>this.log.writeLine(e):void 0,e.fileNames,e.projectRootPath,this.safeList,this.packageNameToTypingLocation,e.typeAcquisition,e.unresolvedImports,this.typesRegistry,e.compilerOptions);this.watchFiles(e.projectName,t.filesToWatch),t.newTypingNames.length?this.installTypings(e,e.cachePath||this.globalCachePath,t.cachedTypingPaths,t.newTypingNames):(this.sendResponse(this.createSetTypings(e,t.cachedTypingPaths)),this.log.isEnabled()&&this.log.writeLine("No new typings were requested as a result of typings discovery"))}installPackage(e){const{fileName:t,packageName:n,projectName:r,projectRootPath:i,id:o}=e,a=forEachAncestorDirectory(getDirectoryPath(t),e=>{if(this.installTypingHost.fileExists(combinePaths(e,"package.json")))return e})||i;if(a)this.installWorker(-1,[n],a,e=>{const t={kind:us,projectName:r,id:o,success:e,message:e?`Package ${n} installed.`:`There was an error installing ${n}.`};this.sendResponse(t)});else{const e={kind:us,projectName:r,id:o,success:!1,message:"Could not determine a project root path."};this.sendResponse(e)}}initializeSafeList(){if(this.typesMapLocation){const e=ss.loadTypesMap(this.installTypingHost,this.typesMapLocation);if(e)return this.log.writeLine(`Loaded safelist from types map file '${this.typesMapLocation}'`),void(this.safeList=e);this.log.writeLine(`Failed to load safelist from types map file '${this.typesMapLocation}'`)}this.safeList=ss.loadSafeList(this.installTypingHost,this.safeListPath)}processCacheLocation(e){if(this.log.isEnabled()&&this.log.writeLine(`Processing cache location '${e}'`),this.knownCachesSet.has(e))return void(this.log.isEnabled()&&this.log.writeLine("Cache location was already processed..."));const t=combinePaths(e,"package.json"),n=combinePaths(e,"package-lock.json");if(this.log.isEnabled()&&this.log.writeLine(`Trying to find '${t}'...`),this.installTypingHost.fileExists(t)&&this.installTypingHost.fileExists(n)){const r=JSON.parse(this.installTypingHost.readFile(t)),i=JSON.parse(this.installTypingHost.readFile(n));if(this.log.isEnabled()&&(this.log.writeLine(`Loaded content of '${t}':${stringifyIndented(r)}`),this.log.writeLine(`Loaded content of '${n}':${stringifyIndented(i)}`)),r.devDependencies&&(i.packages||i.dependencies))for(const t in r.devDependencies){if(i.packages&&!hasProperty(i.packages,`node_modules/${t}`)||i.dependencies&&!hasProperty(i.dependencies,t))continue;const n=getBaseFileName(t);if(!n)continue;const r=typingToFileName(e,n,this.installTypingHost,this.log);if(!r){this.missingTypingsSet.add(n);continue}const o=this.packageNameToTypingLocation.get(n);if(o){if(o.typingLocation===r)continue;this.log.isEnabled()&&this.log.writeLine(`New typing for package ${n} from '${r}' conflicts with existing typing file '${o}'`)}this.log.isEnabled()&&this.log.writeLine(`Adding entry into typings cache: '${n}' => '${r}'`);const a=i.packages&&getProperty(i.packages,`node_modules/${t}`)||getProperty(i.dependencies,t),s=a&&a.version;if(!s)continue;const c={typingLocation:r,version:new k(s)};this.packageNameToTypingLocation.set(n,c)}}this.log.isEnabled()&&this.log.writeLine(`Finished processing cache location '${e}'`),this.knownCachesSet.add(e)}filterTypings(e){return mapDefined(e,e=>{const t=mangleScopedPackageName(e);if(this.missingTypingsSet.has(t))return void(this.log.isEnabled()&&this.log.writeLine(`'${e}':: '${t}' is in missingTypingsSet - skipping...`));const n=ss.validatePackageName(e);if(n!==ss.NameValidationResult.Ok)return this.missingTypingsSet.add(t),void(this.log.isEnabled()&&this.log.writeLine(ss.renderPackageNameValidationFailure(n,e)));if(this.typesRegistry.has(t)){if(!this.packageNameToTypingLocation.get(t)||!ss.isTypingUpToDate(this.packageNameToTypingLocation.get(t),this.typesRegistry.get(t)))return t;this.log.isEnabled()&&this.log.writeLine(`'${e}':: '${t}' already has an up-to-date typing - skipping...`)}else this.log.isEnabled()&&this.log.writeLine(`'${e}':: Entry for package '${t}' does not exist in local types registry - skipping...`)})}ensurePackageDirectoryExists(e){const t=combinePaths(e,"package.json");this.log.isEnabled()&&this.log.writeLine(`Npm config file: ${t}`),this.installTypingHost.fileExists(t)||(this.log.isEnabled()&&this.log.writeLine(`Npm config file: '${t}' is missing, creating new one...`),this.ensureDirectoryExists(e,this.installTypingHost),this.installTypingHost.writeFile(t,'{ "private": true }'))}installTypings(e,t,n,r){this.log.isEnabled()&&this.log.writeLine(`Installing typings ${JSON.stringify(r)}`);const i=this.filterTypings(r);if(0===i.length)return this.log.isEnabled()&&this.log.writeLine("All typings are known to be missing or invalid - no need to install more typings"),void this.sendResponse(this.createSetTypings(e,n));this.ensurePackageDirectoryExists(t);const o=this.installRunCount;this.installRunCount++,this.sendResponse({kind:_s,eventId:o,typingsInstallerVersion:s,projectName:e.projectName});const c=i.map(typingsName);this.installTypingsAsync(o,c,t,r=>{try{if(!r){this.log.isEnabled()&&this.log.writeLine(`install request failed, marking packages as missing to prevent repeated requests: ${JSON.stringify(i)}`);for(const e of i)this.missingTypingsSet.add(e);return}this.log.isEnabled()&&this.log.writeLine(`Installed typings ${JSON.stringify(c)}`);const o=[];for(const e of i){const n=typingToFileName(t,e,this.installTypingHost,this.log);if(!n){this.missingTypingsSet.add(e);continue}const r=this.typesRegistry.get(e),i={typingLocation:n,version:new k(r[`ts${a}`]||r[this.latestDistTag])};this.packageNameToTypingLocation.set(e,i),o.push(n)}this.log.isEnabled()&&this.log.writeLine(`Installed typing files ${JSON.stringify(o)}`),this.sendResponse(this.createSetTypings(e,n.concat(o)))}finally{const t={kind:fs,eventId:o,projectName:e.projectName,packagesToInstall:c,installSuccess:r,typingsInstallerVersion:s};this.sendResponse(t)}})}ensureDirectoryExists(e,t){const n=getDirectoryPath(e);t.directoryExists(n)||this.ensureDirectoryExists(n,t),t.directoryExists(e)||t.createDirectory(e)}watchFiles(e,t){if(!t.length)return void this.closeWatchers(e);const n=this.projectWatchers.get(e),r=new Set(t);!n||forEachKey(r,e=>!n.has(e))||forEachKey(n,e=>!r.has(e))?(this.projectWatchers.set(e,r),this.sendResponse({kind:ys,projectName:e,files:t})):this.sendResponse({kind:ys,projectName:e,files:void 0})}createSetTypings(e,t){return{projectName:e.projectName,typeAcquisition:e.typeAcquisition,compilerOptions:e.compilerOptions,typings:t,unresolvedImports:e.unresolvedImports,kind:ds}}installTypingsAsync(e,t,n,r){this.pendingRunRequests.unshift({requestId:e,packageNames:t,cwd:n,onRequestCompleted:r}),this.executeWithThrottling()}executeWithThrottling(){for(;this.inFlightRequestCount<this.throttleLimit&&this.pendingRunRequests.length;){this.inFlightRequestCount++;const e=this.pendingRunRequests.pop();this.installWorker(e.requestId,e.packageNames,e.cwd,t=>{this.inFlightRequestCount--,e.onRequestCompleted(t),this.executeWithThrottling()})}}};function typingsName(e){return`@types/${e}@ts${a}`}var I_,A_,O_=(e=>(e[e.terse=0]="terse",e[e.normal=1]="normal",e[e.requestTime=2]="requestTime",e[e.verbose=3]="verbose",e))(O_||{}),w_=[],L_=(e=>(e.Err="Err",e.Info="Info",e.Perf="Perf",e))(L_||{});function createInstallTypingsRequest(e,t,n,r){return{projectName:e.getProjectName(),fileNames:e.getFileNames(!0,!0).concat(e.getExcludedFiles()),compilerOptions:e.getCompilationSettings(),typeAcquisition:t,unresolvedImports:n,projectRootPath:e.getCurrentDirectory(),cachePath:r,kind:"discover"}}function toNormalizedPath(e){return normalizePath(e)}function normalizedPathToPath(e,t,n){return n(isRootedDiskPath(e)?e:getNormalizedAbsolutePath(e,t))}function asNormalizedPath(e){return e}function createNormalizedPathMap(){const e=new Map;return{get:t=>e.get(t),set(t,n){e.set(t,n)},contains:t=>e.has(t),remove(t){e.delete(t)}}}function isInferredProjectName(e){return/dev\/null\/inferredProject\d+\*/.test(e)}function makeInferredProjectName(e){return`/dev/null/inferredProject${e}*`}function makeAutoImportProviderProjectName(e){return`/dev/null/autoImportProviderProject${e}*`}function makeAuxiliaryProjectName(e){return`/dev/null/auxiliaryProject${e}*`}function createSortedArray2(){return[]}(A_=I_||(I_={})).ThrowNoProject=function ThrowNoProject(){throw new Error("No Project.")},A_.ThrowProjectLanguageServiceDisabled=function ThrowProjectLanguageServiceDisabled(){throw new Error("The project's language service is disabled.")},A_.ThrowProjectDoesNotContainDocument=function ThrowProjectDoesNotContainDocument(e,t){throw new Error(`Project '${t.getProjectName()}' does not contain document '${e}'`)};var M_=class _ThrottledOperations{constructor(e,t){this.host=e,this.pendingTimeouts=new Map,this.logger=t.hasLevel(3)?t:void 0}schedule(e,t,n){const r=this.pendingTimeouts.get(e);r&&this.host.clearTimeout(r),this.pendingTimeouts.set(e,this.host.setTimeout(_ThrottledOperations.run,t,e,this,n)),this.logger&&this.logger.info(`Scheduled: ${e}${r?", Cancelled earlier one":""}`)}cancel(e){const t=this.pendingTimeouts.get(e);return!!t&&(this.host.clearTimeout(t),this.pendingTimeouts.delete(e))}static run(e,t,n){t.pendingTimeouts.delete(e),t.logger&&t.logger.info(`Running: ${e}`),n()}},R_=class _GcTimer{constructor(e,t,n){this.host=e,this.delay=t,this.logger=n}scheduleCollect(){this.host.gc&&void 0===this.timerId&&(this.timerId=this.host.setTimeout(_GcTimer.run,this.delay,this))}static run(e){e.timerId=void 0;const t=e.logger.hasLevel(2),n=t&&e.host.getMemoryUsage();if(e.host.gc(),t){const t=e.host.getMemoryUsage();e.logger.perftrc(`GC::before ${n}, after ${t}`)}}};function getBaseConfigFileName(e){const t=getBaseFileName(e);return"tsconfig.json"===t||"jsconfig.json"===t?t:void 0}var B_={};i(B_,{ClassificationType:()=>zs,CommandTypes:()=>j_,CompletionTriggerKind:()=>Fs,IndentStyle:()=>z_,JsxEmit:()=>V_,ModuleKind:()=>q_,ModuleResolutionKind:()=>H_,NewLineKind:()=>K_,OrganizeImportsMode:()=>ks,PollingWatchKind:()=>U_,ScriptTarget:()=>G_,SemicolonPreference:()=>As,WatchDirectoryKind:()=>W_,WatchFileKind:()=>J_});var j_=(e=>(e.JsxClosingTag="jsxClosingTag",e.LinkedEditingRange="linkedEditingRange",e.Brace="brace",e.BraceFull="brace-full",e.BraceCompletion="braceCompletion",e.GetSpanOfEnclosingComment="getSpanOfEnclosingComment",e.Change="change",e.Close="close",e.Completions="completions",e.CompletionInfo="completionInfo",e.CompletionsFull="completions-full",e.CompletionDetails="completionEntryDetails",e.CompletionDetailsFull="completionEntryDetails-full",e.CompileOnSaveAffectedFileList="compileOnSaveAffectedFileList",e.CompileOnSaveEmitFile="compileOnSaveEmitFile",e.Configure="configure",e.Definition="definition",e.DefinitionFull="definition-full",e.DefinitionAndBoundSpan="definitionAndBoundSpan",e.DefinitionAndBoundSpanFull="definitionAndBoundSpan-full",e.Implementation="implementation",e.ImplementationFull="implementation-full",e.EmitOutput="emit-output",e.Exit="exit",e.FileReferences="fileReferences",e.FileReferencesFull="fileReferences-full",e.Format="format",e.Formatonkey="formatonkey",e.FormatFull="format-full",e.FormatonkeyFull="formatonkey-full",e.FormatRangeFull="formatRange-full",e.Geterr="geterr",e.GeterrForProject="geterrForProject",e.SemanticDiagnosticsSync="semanticDiagnosticsSync",e.SyntacticDiagnosticsSync="syntacticDiagnosticsSync",e.SuggestionDiagnosticsSync="suggestionDiagnosticsSync",e.NavBar="navbar",e.NavBarFull="navbar-full",e.Navto="navto",e.NavtoFull="navto-full",e.NavTree="navtree",e.NavTreeFull="navtree-full",e.DocumentHighlights="documentHighlights",e.DocumentHighlightsFull="documentHighlights-full",e.Open="open",e.Quickinfo="quickinfo",e.QuickinfoFull="quickinfo-full",e.References="references",e.ReferencesFull="references-full",e.Reload="reload",e.Rename="rename",e.RenameInfoFull="rename-full",e.RenameLocationsFull="renameLocations-full",e.Saveto="saveto",e.SignatureHelp="signatureHelp",e.SignatureHelpFull="signatureHelp-full",e.FindSourceDefinition="findSourceDefinition",e.Status="status",e.TypeDefinition="typeDefinition",e.ProjectInfo="projectInfo",e.ReloadProjects="reloadProjects",e.Unknown="unknown",e.OpenExternalProject="openExternalProject",e.OpenExternalProjects="openExternalProjects",e.CloseExternalProject="closeExternalProject",e.SynchronizeProjectList="synchronizeProjectList",e.ApplyChangedToOpenFiles="applyChangedToOpenFiles",e.UpdateOpen="updateOpen",e.EncodedSyntacticClassificationsFull="encodedSyntacticClassifications-full",e.EncodedSemanticClassificationsFull="encodedSemanticClassifications-full",e.Cleanup="cleanup",e.GetOutliningSpans="getOutliningSpans",e.GetOutliningSpansFull="outliningSpans",e.TodoComments="todoComments",e.Indentation="indentation",e.DocCommentTemplate="docCommentTemplate",e.CompilerOptionsDiagnosticsFull="compilerOptionsDiagnostics-full",e.NameOrDottedNameSpan="nameOrDottedNameSpan",e.BreakpointStatement="breakpointStatement",e.CompilerOptionsForInferredProjects="compilerOptionsForInferredProjects",e.GetCodeFixes="getCodeFixes",e.GetCodeFixesFull="getCodeFixes-full",e.GetCombinedCodeFix="getCombinedCodeFix",e.GetCombinedCodeFixFull="getCombinedCodeFix-full",e.ApplyCodeActionCommand="applyCodeActionCommand",e.GetSupportedCodeFixes="getSupportedCodeFixes",e.GetApplicableRefactors="getApplicableRefactors",e.GetEditsForRefactor="getEditsForRefactor",e.GetMoveToRefactoringFileSuggestions="getMoveToRefactoringFileSuggestions",e.PreparePasteEdits="preparePasteEdits",e.GetPasteEdits="getPasteEdits",e.GetEditsForRefactorFull="getEditsForRefactor-full",e.OrganizeImports="organizeImports",e.OrganizeImportsFull="organizeImports-full",e.GetEditsForFileRename="getEditsForFileRename",e.GetEditsForFileRenameFull="getEditsForFileRename-full",e.ConfigurePlugin="configurePlugin",e.SelectionRange="selectionRange",e.SelectionRangeFull="selectionRange-full",e.ToggleLineComment="toggleLineComment",e.ToggleLineCommentFull="toggleLineComment-full",e.ToggleMultilineComment="toggleMultilineComment",e.ToggleMultilineCommentFull="toggleMultilineComment-full",e.CommentSelection="commentSelection",e.CommentSelectionFull="commentSelection-full",e.UncommentSelection="uncommentSelection",e.UncommentSelectionFull="uncommentSelection-full",e.PrepareCallHierarchy="prepareCallHierarchy",e.ProvideCallHierarchyIncomingCalls="provideCallHierarchyIncomingCalls",e.ProvideCallHierarchyOutgoingCalls="provideCallHierarchyOutgoingCalls",e.ProvideInlayHints="provideInlayHints",e.WatchChange="watchChange",e.MapCode="mapCode",e.CopilotRelated="copilotRelated",e))(j_||{}),J_=(e=>(e.FixedPollingInterval="FixedPollingInterval",e.PriorityPollingInterval="PriorityPollingInterval",e.DynamicPriorityPolling="DynamicPriorityPolling",e.FixedChunkSizePolling="FixedChunkSizePolling",e.UseFsEvents="UseFsEvents",e.UseFsEventsOnParentDirectory="UseFsEventsOnParentDirectory",e))(J_||{}),W_=(e=>(e.UseFsEvents="UseFsEvents",e.FixedPollingInterval="FixedPollingInterval",e.DynamicPriorityPolling="DynamicPriorityPolling",e.FixedChunkSizePolling="FixedChunkSizePolling",e))(W_||{}),U_=(e=>(e.FixedInterval="FixedInterval",e.PriorityInterval="PriorityInterval",e.DynamicPriority="DynamicPriority",e.FixedChunkSize="FixedChunkSize",e))(U_||{}),z_=(e=>(e.None="None",e.Block="Block",e.Smart="Smart",e))(z_||{}),V_=(e=>(e.None="none",e.Preserve="preserve",e.ReactNative="react-native",e.React="react",e.ReactJSX="react-jsx",e.ReactJSXDev="react-jsxdev",e))(V_||{}),q_=(e=>(e.None="none",e.CommonJS="commonjs",e.AMD="amd",e.UMD="umd",e.System="system",e.ES6="es6",e.ES2015="es2015",e.ES2020="es2020",e.ES2022="es2022",e.ESNext="esnext",e.Node16="node16",e.Node18="node18",e.Node20="node20",e.NodeNext="nodenext",e.Preserve="preserve",e))(q_||{}),H_=(e=>(e.Classic="classic",e.Node="node",e.NodeJs="node",e.Node10="node10",e.Node16="node16",e.NodeNext="nodenext",e.Bundler="bundler",e))(H_||{}),K_=(e=>(e.Crlf="Crlf",e.Lf="Lf",e))(K_||{}),G_=(e=>(e.ES3="es3",e.ES5="es5",e.ES6="es6",e.ES2015="es2015",e.ES2016="es2016",e.ES2017="es2017",e.ES2018="es2018",e.ES2019="es2019",e.ES2020="es2020",e.ES2021="es2021",e.ES2022="es2022",e.ES2023="es2023",e.ES2024="es2024",e.ESNext="esnext",e.JSON="json",e.Latest="esnext",e))(G_||{}),$_=class{constructor(e,t,n){this.host=e,this.info=t,this.isOpen=!1,this.ownFileText=!1,this.pendingReloadFromDisk=!1,this.version=n||0}getVersion(){return this.svc?`SVC-${this.version}-${this.svc.getSnapshotVersion()}`:`Text-${this.version}`}hasScriptVersionCache_TestOnly(){return void 0!==this.svc}resetSourceMapInfo(){this.info.sourceFileLike=void 0,this.info.closeSourceMapFileWatcher(),this.info.sourceMapFilePath=void 0,this.info.declarationInfoPath=void 0,this.info.sourceInfos=void 0,this.info.documentPositionMapper=void 0}useText(e){this.svc=void 0,this.text=e,this.textSnapshot=void 0,this.lineMap=void 0,this.fileSize=void 0,this.resetSourceMapInfo(),this.version++}edit(e,t,n){this.switchToScriptVersionCache().edit(e,t-e,n),this.ownFileText=!1,this.text=void 0,this.textSnapshot=void 0,this.lineMap=void 0,this.fileSize=void 0,this.resetSourceMapInfo()}reload(e){return h.assert(void 0!==e),this.pendingReloadFromDisk=!1,!this.text&&this.svc&&(this.text=getSnapshotText(this.svc.getSnapshot())),this.text!==e&&(this.useText(e),this.ownFileText=!1,!0)}reloadWithFileText(e){const{text:t,fileSize:n}=e||!this.info.isDynamicOrHasMixedContent()?this.getFileTextAndSize(e):{text:"",fileSize:void 0},r=this.reload(t);return this.fileSize=n,this.ownFileText=!e||e===this.info.fileName,this.ownFileText&&this.info.mTime===St.getTime()&&(this.info.mTime=(this.host.getModifiedTime(this.info.fileName)||St).getTime()),r}scheduleReloadIfNeeded(){return!this.pendingReloadFromDisk&&!this.ownFileText&&(this.pendingReloadFromDisk=!0)}delayReloadFromFileIntoText(){this.pendingReloadFromDisk=!0}getTelemetryFileSize(){return this.fileSize?this.fileSize:this.text?this.text.length:this.svc?this.svc.getSnapshot().getLength():this.getSnapshot().getLength()}getSnapshot(){var e;return(null==(e=this.tryUseScriptVersionCache())?void 0:e.getSnapshot())||(this.textSnapshot??(this.textSnapshot=Ts.fromString(h.checkDefined(this.text))))}getAbsolutePositionAndLineText(e){const t=this.tryUseScriptVersionCache();if(t)return t.getAbsolutePositionAndLineText(e);const n=this.getLineMap();return e<=n.length?{absolutePosition:n[e-1],lineText:this.text.substring(n[e-1],n[e])}:{absolutePosition:this.text.length,lineText:void 0}}lineToTextSpan(e){const t=this.tryUseScriptVersionCache();if(t)return t.lineToTextSpan(e);const n=this.getLineMap();return createTextSpanFromBounds(n[e],e+1<n.length?n[e+1]:this.text.length)}lineOffsetToPosition(e,t,n){const r=this.tryUseScriptVersionCache();return r?r.lineOffsetToPosition(e,t):computePositionOfLineAndCharacter(this.getLineMap(),e-1,t-1,this.text,n)}positionToLineOffset(e){const t=this.tryUseScriptVersionCache();if(t)return t.positionToLineOffset(e);const{line:n,character:r}=computeLineAndCharacterOfPosition(this.getLineMap(),e);return{line:n+1,offset:r+1}}getFileTextAndSize(e){let t;const n=e||this.info.fileName,getText=()=>void 0===t?t=this.host.readFile(n)||"":t;if(!hasTSFileExtension(this.info.fileName)){const e=this.host.getFileSize?this.host.getFileSize(n):getText().length;if(e>sf){h.assert(!!this.info.containingProjects.length);return this.info.containingProjects[0].projectService.logger.info(`Skipped loading contents of large file ${n} for info ${this.info.fileName}: fileSize: ${e}`),this.info.containingProjects[0].projectService.sendLargeFileReferencedEvent(n,e),{text:"",fileSize:e}}}return{text:getText()}}switchToScriptVersionCache(){return this.svc&&!this.pendingReloadFromDisk||(this.svc=Wf.fromString(this.getOrLoadText()),this.textSnapshot=void 0,this.version++),this.svc}tryUseScriptVersionCache(){return this.svc&&!this.pendingReloadFromDisk||this.getOrLoadText(),this.isOpen?(this.svc||this.textSnapshot||(this.svc=Wf.fromString(h.checkDefined(this.text)),this.textSnapshot=void 0),this.svc):this.svc}getOrLoadText(){return(void 0===this.text||this.pendingReloadFromDisk)&&(h.assert(!this.svc||this.pendingReloadFromDisk,"ScriptVersionCache should not be set when reloading from disk"),this.reloadWithFileText()),this.text}getLineMap(){return h.assert(!this.svc,"ScriptVersionCache should not be set"),this.lineMap||(this.lineMap=computeLineStarts(h.checkDefined(this.text)))}getLineInfo(){const e=this.tryUseScriptVersionCache();if(e)return{getLineCount:()=>e.getLineCount(),getLineText:t=>e.getAbsolutePositionAndLineText(t+1).lineText};const t=this.getLineMap();return getLineInfo(this.text,t)}};function isDynamicFileName(e){return"^"===e[0]||(e.includes("walkThroughSnippet:/")||e.includes("untitled:/"))&&"^"===getBaseFileName(e)[0]||e.includes(":^")&&!e.includes(Ft)}var Q_=class{constructor(e,t,n,r,i,o){this.host=e,this.fileName=t,this.scriptKind=n,this.hasMixedContent=r,this.path=i,this.containingProjects=[],this.isDynamic=isDynamicFileName(t),this.textStorage=new $_(e,this,o),(r||this.isDynamic)&&(this.realpath=this.path),this.scriptKind=n||getScriptKindFromFileName(t)}isDynamicOrHasMixedContent(){return this.hasMixedContent||this.isDynamic}isScriptOpen(){return this.textStorage.isOpen}open(e){this.textStorage.isOpen=!0,void 0!==e&&this.textStorage.reload(e)&&this.markContainingProjectsAsDirty()}close(e=!0){this.textStorage.isOpen=!1,e&&this.textStorage.scheduleReloadIfNeeded()&&this.markContainingProjectsAsDirty()}getSnapshot(){return this.textStorage.getSnapshot()}ensureRealPath(){if(void 0===this.realpath&&(this.realpath=this.path,this.host.realpath)){h.assert(!!this.containingProjects.length);const e=this.containingProjects[0],t=this.host.realpath(this.path);t&&(this.realpath=e.toPath(t),this.realpath!==this.path&&e.projectService.realpathToScriptInfos.add(this.realpath,this))}}getRealpathIfDifferent(){return this.realpath&&this.realpath!==this.path?this.realpath:void 0}isSymlink(){return this.realpath&&this.realpath!==this.path}getFormatCodeSettings(){return this.formatSettings}getPreferences(){return this.preferences}attachToProject(e){const t=!this.isAttached(e);return t&&(this.containingProjects.push(e),e.getCompilerOptions().preserveSymlinks||this.ensureRealPath(),e.onFileAddedOrRemoved(this.isSymlink())),t}isAttached(e){switch(this.containingProjects.length){case 0:return!1;case 1:return this.containingProjects[0]===e;case 2:return this.containingProjects[0]===e||this.containingProjects[1]===e;default:return contains(this.containingProjects,e)}}detachFromProject(e){switch(this.containingProjects.length){case 0:return;case 1:this.containingProjects[0]===e&&(e.onFileAddedOrRemoved(this.isSymlink()),this.containingProjects.pop());break;case 2:this.containingProjects[0]===e?(e.onFileAddedOrRemoved(this.isSymlink()),this.containingProjects[0]=this.containingProjects.pop()):this.containingProjects[1]===e&&(e.onFileAddedOrRemoved(this.isSymlink()),this.containingProjects.pop());break;default:orderedRemoveItem(this.containingProjects,e)&&e.onFileAddedOrRemoved(this.isSymlink())}}detachAllProjects(){for(const e of this.containingProjects){isConfiguredProject(e)&&e.getCachedDirectoryStructureHost().addOrDeleteFile(this.fileName,this.path,2);const t=e.getRootFilesMap().get(this.path);e.removeFile(this,!1,!1),e.onFileAddedOrRemoved(this.isSymlink()),t&&!isInferredProject(e)&&e.addMissingFileRoot(t.fileName)}clear(this.containingProjects)}getDefaultProject(){switch(this.containingProjects.length){case 0:return I_.ThrowNoProject();case 1:return isProjectDeferredClose(this.containingProjects[0])||isBackgroundProject(this.containingProjects[0])?I_.ThrowNoProject():this.containingProjects[0];default:let e,t,n,r;for(let i=0;i<this.containingProjects.length;i++){const o=this.containingProjects[i];if(isConfiguredProject(o)){if(o.deferredClose)continue;if(!o.isSourceOfProjectReferenceRedirect(this.fileName)){if(void 0===r&&i!==this.containingProjects.length-1&&(r=o.projectService.findDefaultConfiguredProject(this)||!1),r===o)return o;n||(n=o)}e||(e=o)}else{if(isExternalProject(o))return o;!t&&isInferredProject(o)&&(t=o)}}return(r||n||e||t)??I_.ThrowNoProject()}}registerFileUpdate(){for(const e of this.containingProjects)e.registerFileUpdate(this.path)}setOptions(e,t){e&&(this.formatSettings?this.formatSettings={...this.formatSettings,...e}:(this.formatSettings=getDefaultFormatCodeSettings(this.host.newLine),assign(this.formatSettings,e))),t&&(this.preferences||(this.preferences=Es),this.preferences={...this.preferences,...t})}getLatestVersion(){return this.textStorage.getSnapshot(),this.textStorage.getVersion()}saveTo(e){this.host.writeFile(e,getSnapshotText(this.textStorage.getSnapshot()))}delayReloadNonMixedContentFile(){h.assert(!this.isDynamicOrHasMixedContent()),this.textStorage.delayReloadFromFileIntoText(),this.markContainingProjectsAsDirty()}reloadFromFile(e){return!!this.textStorage.reloadWithFileText(e)&&(this.markContainingProjectsAsDirty(),!0)}editContent(e,t,n){this.textStorage.edit(e,t,n),this.markContainingProjectsAsDirty()}markContainingProjectsAsDirty(){for(const e of this.containingProjects)e.markFileAsDirty(this.path)}isOrphan(){return this.deferredDelete||!forEach(this.containingProjects,e=>!e.isOrphan())}lineToTextSpan(e){return this.textStorage.lineToTextSpan(e)}lineOffsetToPosition(e,t,n){return this.textStorage.lineOffsetToPosition(e,t,n)}positionToLineOffset(e){!function failIfInvalidPosition(e){h.assert("number"==typeof e,`Expected position ${e} to be a number.`),h.assert(e>=0,"Expected position to be non-negative.")}(e);const t=this.textStorage.positionToLineOffset(e);return function failIfInvalidLocation(e){h.assert("number"==typeof e.line,`Expected line ${e.line} to be a number.`),h.assert("number"==typeof e.offset,`Expected offset ${e.offset} to be a number.`),h.assert(e.line>0,"Expected line to be non-"+(0===e.line?"zero":"negative")),h.assert(e.offset>0,"Expected offset to be non-"+(0===e.offset?"zero":"negative"))}(t),t}isJavaScript(){return 1===this.scriptKind||2===this.scriptKind}closeSourceMapFileWatcher(){this.sourceMapFilePath&&!isString(this.sourceMapFilePath)&&(closeFileWatcherOf(this.sourceMapFilePath),this.sourceMapFilePath=void 0)}};function scriptInfoIsContainedByBackgroundProject(e){return some(e.containingProjects,isBackgroundProject)}function scriptInfoIsContainedByDeferredClosedProject(e){return some(e.containingProjects,isProjectDeferredClose)}var X_=(e=>(e[e.Inferred=0]="Inferred",e[e.Configured=1]="Configured",e[e.External=2]="External",e[e.AutoImportProvider=3]="AutoImportProvider",e[e.Auxiliary=4]="Auxiliary",e))(X_||{});function countEachFileTypes(e,t=!1){const n={js:0,jsSize:0,jsx:0,jsxSize:0,ts:0,tsSize:0,tsx:0,tsxSize:0,dts:0,dtsSize:0,deferred:0,deferredSize:0};for(const r of e){const e=t?r.textStorage.getTelemetryFileSize():0;switch(r.scriptKind){case 1:n.js+=1,n.jsSize+=e;break;case 2:n.jsx+=1,n.jsxSize+=e;break;case 3:isDeclarationFileName(r.fileName)?(n.dts+=1,n.dtsSize+=e):(n.ts+=1,n.tsSize+=e);break;case 4:n.tsx+=1,n.tsxSize+=e;break;case 7:n.deferred+=1,n.deferredSize+=e}}return n}function allRootFilesAreJsOrDts(e){const t=countEachFileTypes(e.getRootScriptInfos());return 0===t.ts&&0===t.tsx}function allFilesAreJsOrDts(e){const t=countEachFileTypes(e.getScriptInfos());return 0===t.ts&&0===t.tsx}function hasNoTypeScriptSource(e){return!e.some(e=>fileExtensionIs(e,".ts")&&!isDeclarationFileName(e)||fileExtensionIs(e,".tsx"))}function isGeneratedFileWatcher(e){return void 0!==e.generatedFilePath}function setIsEqualTo(e,t){if(e===t)return!0;if(0===(e||w_).length&&0===(t||w_).length)return!0;const n=new Map;let r=0;for(const t of e)!0!==n.get(t)&&(n.set(t,!0),r++);for(const e of t){const t=n.get(e);if(void 0===t)return!1;!0===t&&(n.set(e,!1),r--)}return 0===r}var Y_=class _Project{constructor(e,t,n,r,i,o,a,s,c,l){switch(this.projectKind=t,this.projectService=n,this.compilerOptions=o,this.compileOnSaveEnabled=a,this.watchOptions=s,this.rootFilesMap=new Map,this.plugins=[],this.cachedUnresolvedImportsPerFile=new Map,this.hasAddedorRemovedFiles=!1,this.hasAddedOrRemovedSymlinks=!1,this.lastReportedVersion=0,this.projectProgramVersion=0,this.projectStateVersion=0,this.initialLoadPending=!1,this.dirty=!1,this.typingFiles=w_,this.moduleSpecifierCache=createModuleSpecifierCache(this),this.createHash=maybeBind(this.projectService.host,this.projectService.host.createHash),this.globalCacheResolutionModuleName=ss.nonRelativeModuleNameForTypingCache,this.updateFromProjectInProgress=!1,n.logger.info(`Creating ${X_[t]}Project: ${e}, currentDirectory: ${l}`),this.projectName=e,this.directoryStructureHost=c,this.currentDirectory=this.projectService.getNormalizedAbsolutePath(l),this.getCanonicalFileName=this.projectService.toCanonicalFileName,this.jsDocParsingMode=this.projectService.jsDocParsingMode,this.cancellationToken=new Kl(this.projectService.cancellationToken,this.projectService.throttleWaitMilliseconds),this.compilerOptions?(r||rr(this.compilerOptions)||this.projectService.hasDeferredExtension())&&(this.compilerOptions.allowNonTsExtensions=!0):(this.compilerOptions={target:1,jsx:1},this.compilerOptions.allowNonTsExtensions=!0,this.compilerOptions.allowJs=!0),n.serverMode){case 0:this.languageServiceEnabled=!0;break;case 1:this.languageServiceEnabled=!0,this.compilerOptions.noResolve=!0,this.compilerOptions.types=[];break;case 2:this.languageServiceEnabled=!1,this.compilerOptions.noResolve=!0,this.compilerOptions.types=[];break;default:h.assertNever(n.serverMode)}this.setInternalCompilerOptionsForEmittingJsFiles();const d=this.projectService.host;this.projectService.logger.loggingEnabled()?this.trace=e=>this.writeLog(e):d.trace&&(this.trace=e=>d.trace(e)),this.realpath=maybeBind(d,d.realpath),this.preferNonRecursiveWatch=this.projectService.canUseWatchEvents||d.preferNonRecursiveWatch,this.resolutionCache=createResolutionCache(this,this.currentDirectory,!0),this.languageService=createLanguageService(this,this.projectService.documentRegistry,this.projectService.serverMode),i&&this.disableLanguageService(i),this.markAsDirty(),isBackgroundProject(this)||(this.projectService.pendingEnsureProjectForOpenFiles=!0),this.projectService.onProjectCreation(this)}getRedirectFromSourceFile(e){}isNonTsProject(){return updateProjectIfDirty(this),allFilesAreJsOrDts(this)}isJsOnlyProject(){return updateProjectIfDirty(this),function hasOneOrMoreJsAndNoTsFiles(e){const t=countEachFileTypes(e.getScriptInfos());return t.js>0&&0===t.ts&&0===t.tsx}(this)}static resolveModule(e,t,n,r){return _Project.importServicePluginSync({name:e},[t],n,r).resolvedModule}static importServicePluginSync(e,t,n,r){let i,o;h.assertIsDefined(n.require);for(const a of t){const t=normalizeSlashes(n.resolvePath(combinePaths(a,"node_modules")));r(`Loading ${e.name} from ${a} (resolved to ${t})`);const s=n.require(t,e.name);if(!s.error){o=s.module;break}const c=s.error.stack||s.error.message||JSON.stringify(s.error);(i??(i=[])).push(`Failed to load module '${e.name}' from ${t}: ${c}`)}return{pluginConfigEntry:e,resolvedModule:o,errorLogs:i}}static async importServicePluginAsync(e,t,n,r){let i,o;h.assertIsDefined(n.importPlugin);for(const a of t){const t=combinePaths(a,"node_modules");let s;r(`Dynamically importing ${e.name} from ${a} (resolved to ${t})`);try{s=await n.importPlugin(t,e.name)}catch(e){s={module:void 0,error:e}}if(!s.error){o=s.module;break}const c=s.error.stack||s.error.message||JSON.stringify(s.error);(i??(i=[])).push(`Failed to dynamically import module '${e.name}' from ${t}: ${c}`)}return{pluginConfigEntry:e,resolvedModule:o,errorLogs:i}}isKnownTypesPackageName(e){return this.projectService.typingsInstaller.isKnownTypesPackageName(e)}installPackage(e){return this.projectService.typingsInstaller.installPackage({...e,projectName:this.projectName,projectRootPath:this.toPath(this.currentDirectory)})}getGlobalTypingsCacheLocation(){return this.getTypeAcquisition().enable?this.projectService.typingsInstaller.globalTypingsCacheLocation:void 0}getSymlinkCache(){return this.symlinks||(this.symlinks=createSymlinkCache(this.getCurrentDirectory(),this.getCanonicalFileName)),this.program&&!this.symlinks.hasProcessedResolutions()&&this.symlinks.setSymlinksFromResolutions(this.program.forEachResolvedModule,this.program.forEachResolvedTypeReferenceDirective,this.program.getAutomaticTypeDirectiveResolutions()),this.symlinks}getCompilationSettings(){return this.compilerOptions}getCompilerOptions(){return this.getCompilationSettings()}getNewLine(){return this.projectService.host.newLine}getProjectVersion(){return this.projectStateVersion.toString()}getProjectReferences(){}getScriptFileNames(){if(!this.rootFilesMap.size)return l;let e;return this.rootFilesMap.forEach(t=>{(this.languageServiceEnabled||t.info&&t.info.isScriptOpen())&&(e||(e=[])).push(t.fileName)}),addRange(e,this.typingFiles)||l}getOrCreateScriptInfoAndAttachToProject(e){const t=this.projectService.getOrCreateScriptInfoNotOpenedByClient(e,this.currentDirectory,this.directoryStructureHost,!1);if(t){const e=this.rootFilesMap.get(t.path);e&&e.info!==t&&(e.info=t),t.attachToProject(this)}return t}getScriptKind(e){const t=this.projectService.getScriptInfoForPath(this.toPath(e));return t&&t.scriptKind}getScriptVersion(e){const t=this.projectService.getOrCreateScriptInfoNotOpenedByClient(e,this.currentDirectory,this.directoryStructureHost,!1);return t&&t.getLatestVersion()}getScriptSnapshot(e){const t=this.getOrCreateScriptInfoAndAttachToProject(e);if(t)return t.getSnapshot()}getCancellationToken(){return this.cancellationToken}getCurrentDirectory(){return this.currentDirectory}getDefaultLibFileName(){return combinePaths(getDirectoryPath(normalizePath(this.projectService.getExecutingFilePath())),getDefaultLibFileName(this.compilerOptions))}useCaseSensitiveFileNames(){return this.projectService.host.useCaseSensitiveFileNames}readDirectory(e,t,n,r,i){return this.directoryStructureHost.readDirectory(e,t,n,r,i)}readFile(e){return this.projectService.host.readFile(e)}writeFile(e,t){return this.projectService.host.writeFile(e,t)}fileExists(e){const t=this.toPath(e);return!!this.projectService.getScriptInfoForPath(t)||!this.isWatchedMissingFile(t)&&this.directoryStructureHost.fileExists(e)}resolveModuleNameLiterals(e,t,n,r,i,o){return this.resolutionCache.resolveModuleNameLiterals(e,t,n,r,i,o)}getModuleResolutionCache(){return this.resolutionCache.getModuleResolutionCache()}resolveTypeReferenceDirectiveReferences(e,t,n,r,i,o){return this.resolutionCache.resolveTypeReferenceDirectiveReferences(e,t,n,r,i,o)}resolveLibrary(e,t,n,r){return this.resolutionCache.resolveLibrary(e,t,n,r)}directoryExists(e){return this.directoryStructureHost.directoryExists(e)}getDirectories(e){return this.directoryStructureHost.getDirectories(e)}getCachedDirectoryStructureHost(){}toPath(e){return toPath(e,this.currentDirectory,this.projectService.toCanonicalFileName)}watchDirectoryOfFailedLookupLocation(e,t,n){return this.projectService.watchFactory.watchDirectory(e,t,n,this.projectService.getWatchOptions(this),Ya.FailedLookupLocations,this)}watchAffectingFileLocation(e,t){return this.projectService.watchFactory.watchFile(e,t,2e3,this.projectService.getWatchOptions(this),Ya.AffectingFileLocation,this)}clearInvalidateResolutionOfFailedLookupTimer(){return this.projectService.throttledOperations.cancel(`${this.getProjectName()}FailedLookupInvalidation`)}scheduleInvalidateResolutionsOfFailedLookupLocations(){this.projectService.throttledOperations.schedule(`${this.getProjectName()}FailedLookupInvalidation`,1e3,()=>{this.resolutionCache.invalidateResolutionsOfFailedLookupLocations()&&this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)})}invalidateResolutionsOfFailedLookupLocations(){this.clearInvalidateResolutionOfFailedLookupTimer()&&this.resolutionCache.invalidateResolutionsOfFailedLookupLocations()&&(this.markAsDirty(),this.projectService.delayEnsureProjectForOpenFiles())}onInvalidatedResolution(){this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)}watchTypeRootsDirectory(e,t,n){return this.projectService.watchFactory.watchDirectory(e,t,n,this.projectService.getWatchOptions(this),Ya.TypeRoots,this)}hasChangedAutomaticTypeDirectiveNames(){return this.resolutionCache.hasChangedAutomaticTypeDirectiveNames()}onChangedAutomaticTypeDirectiveNames(){this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)}fileIsOpen(e){return this.projectService.openFiles.has(e)}writeLog(e){this.projectService.logger.info(e)}log(e){this.writeLog(e)}error(e){this.projectService.logger.msg(e,"Err")}setInternalCompilerOptionsForEmittingJsFiles(){0!==this.projectKind&&2!==this.projectKind||(this.compilerOptions.noEmitForJsFiles=!0)}getGlobalProjectErrors(){return filter(this.projectErrors,e=>!e.file)||w_}getAllProjectErrors(){return this.projectErrors||w_}setProjectErrors(e){this.projectErrors=e}getLanguageService(e=!0){return e&&updateProjectIfDirty(this),this.languageService}getSourceMapper(){return this.getLanguageService().getSourceMapper()}clearSourceMapperCache(){this.languageService.clearSourceMapperCache()}getDocumentPositionMapper(e,t){return this.projectService.getDocumentPositionMapper(this,e,t)}getSourceFileLike(e){return this.projectService.getSourceFileLike(e,this)}shouldEmitFile(e){return e&&!e.isDynamicOrHasMixedContent()&&!this.program.isSourceOfProjectReferenceRedirect(e.path)}getCompileOnSaveAffectedFileList(e){return this.languageServiceEnabled?(updateProjectIfDirty(this),this.builderState=qa.create(this.program,this.builderState,!0),mapDefined(qa.getFilesAffectedBy(this.builderState,this.program,e.path,this.cancellationToken,this.projectService.host),e=>this.shouldEmitFile(this.projectService.getScriptInfoForPath(e.path))?e.fileName:void 0)):[]}emitFile(e,t){if(!this.languageServiceEnabled||!this.shouldEmitFile(e))return{emitSkipped:!0,diagnostics:w_};const{emitSkipped:n,diagnostics:r,outputFiles:i}=this.getLanguageService().getEmitOutput(e.fileName);if(!n){for(const e of i){t(getNormalizedAbsolutePath(e.name,this.currentDirectory),e.text,e.writeByteOrderMark)}if(this.builderState&&Zn(this.compilerOptions)){const t=i.filter(e=>isDeclarationFileName(e.name));if(1===t.length){const n=this.program.getSourceFile(e.fileName),r=this.projectService.host.createHash?this.projectService.host.createHash(t[0].text):generateDjb2Hash(t[0].text);qa.updateSignatureOfFile(this.builderState,r,n.resolvedPath)}}}return{emitSkipped:n,diagnostics:r}}enableLanguageService(){this.languageServiceEnabled||2===this.projectService.serverMode||(this.languageServiceEnabled=!0,this.lastFileExceededProgramSize=void 0,this.projectService.onUpdateLanguageServiceStateForProject(this,!0))}cleanupProgram(){if(this.program){for(const e of this.program.getSourceFiles())this.detachScriptInfoIfNotRoot(e.fileName);this.program.forEachResolvedProjectReference(e=>this.detachScriptInfoFromProject(e.sourceFile.fileName)),this.program=void 0}}disableLanguageService(e){this.languageServiceEnabled&&(h.assert(2!==this.projectService.serverMode),this.languageService.cleanupSemanticCache(),this.languageServiceEnabled=!1,this.cleanupProgram(),this.lastFileExceededProgramSize=e,this.builderState=void 0,this.autoImportProviderHost&&this.autoImportProviderHost.close(),this.autoImportProviderHost=void 0,this.resolutionCache.closeTypeRootsWatch(),this.clearGeneratedFileWatch(),this.projectService.verifyDocumentRegistry(),this.projectService.onUpdateLanguageServiceStateForProject(this,!1))}getProjectName(){return this.projectName}removeLocalTypingsFromTypeAcquisition(e){return e.enable&&e.include?{...e,include:this.removeExistingTypings(e.include)}:e}getExternalFiles(e){return toSorted(flatMap(this.plugins,t=>{if("function"==typeof t.module.getExternalFiles)try{return t.module.getExternalFiles(this,e||0)}catch(e){this.projectService.logger.info(`A plugin threw an exception in getExternalFiles: ${e}`),e.stack&&this.projectService.logger.info(e.stack)}}))}getSourceFile(e){if(this.program)return this.program.getSourceFileByPath(e)}getSourceFileOrConfigFile(e){const t=this.program.getCompilerOptions();return e===t.configFilePath?t.configFile:this.getSourceFile(e)}close(){var e;this.typingsCache&&this.projectService.typingsInstaller.onProjectClosed(this),this.typingsCache=void 0,this.closeWatchingTypingLocations(),this.cleanupProgram(),forEach(this.externalFiles,e=>this.detachScriptInfoIfNotRoot(e)),this.rootFilesMap.forEach(e=>{var t;return null==(t=e.info)?void 0:t.detachFromProject(this)}),this.projectService.pendingEnsureProjectForOpenFiles=!0,this.rootFilesMap=void 0,this.externalFiles=void 0,this.program=void 0,this.builderState=void 0,this.resolutionCache.clear(),this.resolutionCache=void 0,this.cachedUnresolvedImportsPerFile=void 0,null==(e=this.packageJsonWatches)||e.forEach(e=>{e.projects.delete(this),e.close()}),this.packageJsonWatches=void 0,this.moduleSpecifierCache.clear(),this.moduleSpecifierCache=void 0,this.directoryStructureHost=void 0,this.exportMapCache=void 0,this.projectErrors=void 0,this.plugins.length=0,this.missingFilesMap&&(clearMap(this.missingFilesMap,closeFileWatcher),this.missingFilesMap=void 0),this.clearGeneratedFileWatch(),this.clearInvalidateResolutionOfFailedLookupTimer(),this.autoImportProviderHost&&this.autoImportProviderHost.close(),this.autoImportProviderHost=void 0,this.noDtsResolutionProject&&this.noDtsResolutionProject.close(),this.noDtsResolutionProject=void 0,this.languageService.dispose(),this.languageService=void 0}detachScriptInfoIfNotRoot(e){const t=this.projectService.getScriptInfo(e);t&&!this.isRoot(t)&&t.detachFromProject(this)}isClosed(){return void 0===this.rootFilesMap}hasRoots(){var e;return!!(null==(e=this.rootFilesMap)?void 0:e.size)}isOrphan(){return!1}getRootFiles(){return this.rootFilesMap&&arrayFrom(mapDefinedIterator(this.rootFilesMap.values(),e=>{var t;return null==(t=e.info)?void 0:t.fileName}))}getRootFilesMap(){return this.rootFilesMap}getRootScriptInfos(){return arrayFrom(mapDefinedIterator(this.rootFilesMap.values(),e=>e.info))}getScriptInfos(){return this.languageServiceEnabled?map(this.program.getSourceFiles(),e=>{const t=this.projectService.getScriptInfoForPath(e.resolvedPath);return h.assert(!!t,"getScriptInfo",()=>`scriptInfo for a file '${e.fileName}' Path: '${e.path}' / '${e.resolvedPath}' is missing.`),t}):this.getRootScriptInfos()}getExcludedFiles(){return w_}getFileNames(e,t){if(!this.program)return[];if(!this.languageServiceEnabled){let e=this.getRootFiles();if(this.compilerOptions){const t=getDefaultLibFilePath(this.compilerOptions);t&&(e||(e=[])).push(t)}return e}const n=[];for(const t of this.program.getSourceFiles())e&&this.program.isSourceFileFromExternalLibrary(t)||n.push(asNormalizedPath(t.fileName));if(!t){const e=this.program.getCompilerOptions().configFile;if(e&&(n.push(e.fileName),e.extendedSourceFiles))for(const t of e.extendedSourceFiles)n.push(asNormalizedPath(t))}return n}getFileNamesWithRedirectInfo(e){return this.getFileNames().map(t=>({fileName:t,isSourceOfProjectReferenceRedirect:e&&this.isSourceOfProjectReferenceRedirect(t)}))}hasConfigFile(e){if(this.program&&this.languageServiceEnabled){const t=this.program.getCompilerOptions().configFile;if(t){if(e===t.fileName)return!0;if(t.extendedSourceFiles)for(const n of t.extendedSourceFiles)if(e===asNormalizedPath(n))return!0}}return!1}containsScriptInfo(e){if(this.isRoot(e))return!0;if(!this.program)return!1;const t=this.program.getSourceFileByPath(e.path);return!!t&&t.resolvedPath===e.path}containsFile(e,t){const n=this.projectService.getScriptInfoForNormalizedPath(e);return!(!n||!n.isScriptOpen()&&t)&&this.containsScriptInfo(n)}isRoot(e){var t,n;return(null==(n=null==(t=this.rootFilesMap)?void 0:t.get(e.path))?void 0:n.info)===e}addRoot(e,t){h.assert(!this.isRoot(e)),this.rootFilesMap.set(e.path,{fileName:t||e.fileName,info:e}),e.attachToProject(this),this.markAsDirty()}addMissingFileRoot(e){const t=this.projectService.toPath(e);this.rootFilesMap.set(t,{fileName:e}),this.markAsDirty()}removeFile(e,t,n){this.isRoot(e)&&this.removeRoot(e),t?this.resolutionCache.removeResolutionsOfFile(e.path):this.resolutionCache.invalidateResolutionOfFile(e.path),this.cachedUnresolvedImportsPerFile.delete(e.path),n&&e.detachFromProject(this),this.markAsDirty()}registerFileUpdate(e){(this.updatedFileNames||(this.updatedFileNames=new Set)).add(e)}markFileAsDirty(e){this.markAsDirty(),this.exportMapCache&&!this.exportMapCache.isEmpty()&&(this.changedFilesForExportMapCache||(this.changedFilesForExportMapCache=new Set)).add(e)}markAsDirty(){this.dirty||(this.projectStateVersion++,this.dirty=!0)}markAutoImportProviderAsDirty(){var e;this.autoImportProviderHost||(this.autoImportProviderHost=void 0),null==(e=this.autoImportProviderHost)||e.markAsDirty()}onAutoImportProviderSettingsChanged(){this.markAutoImportProviderAsDirty()}onPackageJsonChange(){this.moduleSpecifierCache.clear(),this.markAutoImportProviderAsDirty()}onFileAddedOrRemoved(e){this.hasAddedorRemovedFiles=!0,e&&(this.hasAddedOrRemovedSymlinks=!0)}onDiscoveredSymlink(){this.hasAddedOrRemovedSymlinks=!0}onReleaseOldSourceFile(e,t,n,r){(!r||e.resolvedPath===e.path&&r.resolvedPath!==e.path)&&this.detachScriptInfoFromProject(e.fileName,n)}updateFromProject(){updateProjectIfDirty(this)}updateGraph(){var e,t;null==(e=J)||e.push(J.Phase.Session,"updateGraph",{name:this.projectName,kind:X_[this.projectKind]}),this.resolutionCache.startRecordingFilesWithChangedResolutions();const n=this.updateGraphWorker(),r=this.hasAddedorRemovedFiles;this.hasAddedorRemovedFiles=!1,this.hasAddedOrRemovedSymlinks=!1;const i=this.resolutionCache.finishRecordingFilesWithChangedResolutions()||w_;for(const e of i)this.cachedUnresolvedImportsPerFile.delete(e);this.languageServiceEnabled&&0===this.projectService.serverMode&&!this.isOrphan()?((n||i.length)&&(this.lastCachedUnresolvedImportsList=function getUnresolvedImports(e,t){var n,r;const i=e.getSourceFiles();null==(n=J)||n.push(J.Phase.Session,"getUnresolvedImports",{count:i.length});const o=e.getTypeChecker().getAmbientModules().map(e=>stripQuotes(e.getName())),a=sortAndDeduplicate(flatMap(i,n=>function extractUnresolvedImportsFromSourceFile(e,t,n,r){return getOrUpdate(r,t.path,()=>{let r;return e.forEachResolvedModule(({resolvedModule:e},t)=>{e&&resolutionExtensionIsTSOrJson(e.extension)||isExternalModuleNameRelative(t)||n.some(e=>e===t)||(r=append(r,parsePackageName(t).packageName))},t),r||w_})}(e,n,o,t)));return null==(r=J)||r.pop(),a}(this.program,this.cachedUnresolvedImportsPerFile)),this.enqueueInstallTypingsForProject(r)):this.lastCachedUnresolvedImportsList=void 0;const o=0===this.projectProgramVersion&&n;return n&&this.projectProgramVersion++,r&&this.markAutoImportProviderAsDirty(),o&&this.getPackageJsonAutoImportProvider(),null==(t=J)||t.pop(),!n}enqueueInstallTypingsForProject(e){const t=this.getTypeAcquisition();if(!t||!t.enable||this.projectService.typingsInstaller===Nf)return;const n=this.typingsCache;(e||!n||function typeAcquisitionChanged(e,t){return e.enable!==t.enable||!setIsEqualTo(e.include,t.include)||!setIsEqualTo(e.exclude,t.exclude)}(t,n.typeAcquisition)||function compilerOptionsChanged(e,t){return rr(e)!==rr(t)}(this.getCompilationSettings(),n.compilerOptions)||function unresolvedImportsChanged(e,t){return e!==t&&!arrayIsEqualTo(e,t)}(this.lastCachedUnresolvedImportsList,n.unresolvedImports))&&(this.typingsCache={compilerOptions:this.getCompilationSettings(),typeAcquisition:t,unresolvedImports:this.lastCachedUnresolvedImportsList},this.projectService.typingsInstaller.enqueueInstallTypingsRequest(this,t,this.lastCachedUnresolvedImportsList))}updateTypingFiles(e,t,n,r){this.typingsCache={compilerOptions:e,typeAcquisition:t,unresolvedImports:n};const i=t&&t.enable?toSorted(r):w_;enumerateInsertsAndDeletes(i,this.typingFiles,getStringComparer(!this.useCaseSensitiveFileNames()),noop,e=>this.detachScriptInfoFromProject(e))&&(this.typingFiles=i,this.resolutionCache.setFilesWithInvalidatedNonRelativeUnresolvedImports(this.cachedUnresolvedImportsPerFile),this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this))}closeWatchingTypingLocations(){this.typingWatchers&&clearMap(this.typingWatchers,closeFileWatcher),this.typingWatchers=void 0}onTypingInstallerWatchInvoke(){this.typingWatchers.isInvoked=!0,this.projectService.updateTypingsForProject({projectName:this.getProjectName(),kind:ps})}watchTypingLocations(e){if(!e)return void(this.typingWatchers.isInvoked=!1);if(!e.length)return void this.closeWatchingTypingLocations();const t=new Map(this.typingWatchers);this.typingWatchers||(this.typingWatchers=new Map),this.typingWatchers.isInvoked=!1;const createProjectWatcher=(e,n)=>{const r=this.toPath(e);if(t.delete(r),!this.typingWatchers.has(r)){const t="FileWatcher"===n?Ya.TypingInstallerLocationFile:Ya.TypingInstallerLocationDirectory;this.typingWatchers.set(r,canWatchDirectoryOrFilePath(r)?"FileWatcher"===n?this.projectService.watchFactory.watchFile(e,()=>this.typingWatchers.isInvoked?this.writeLog("TypingWatchers already invoked"):this.onTypingInstallerWatchInvoke(),2e3,this.projectService.getWatchOptions(this),t,this):this.projectService.watchFactory.watchDirectory(e,e=>this.typingWatchers.isInvoked?this.writeLog("TypingWatchers already invoked"):fileExtensionIs(e,".json")?comparePaths(e,combinePaths(this.projectService.typingsInstaller.globalTypingsCacheLocation,"package.json"),!this.useCaseSensitiveFileNames())?this.writeLog("Ignoring package.json change at global typings location"):void this.onTypingInstallerWatchInvoke():this.writeLog("Ignoring files that are not *.json"),1,this.projectService.getWatchOptions(this),t,this):(this.writeLog(`Skipping watcher creation at ${e}:: ${getDetailWatchInfo(t,this)}`),Xa))}};for(const t of e){const e=getBaseFileName(t);if("package.json"!==e&&"bower.json"!==e){if(containsPath(this.currentDirectory,t,this.currentDirectory,!this.useCaseSensitiveFileNames())){const e=t.indexOf(Ft,this.currentDirectory.length+1);createProjectWatcher(-1!==e?t.substr(0,e):t,"DirectoryWatcher");continue}containsPath(this.projectService.typingsInstaller.globalTypingsCacheLocation,t,this.currentDirectory,!this.useCaseSensitiveFileNames())?createProjectWatcher(this.projectService.typingsInstaller.globalTypingsCacheLocation,"DirectoryWatcher"):createProjectWatcher(t,"DirectoryWatcher")}else createProjectWatcher(t,"FileWatcher")}t.forEach((e,t)=>{e.close(),this.typingWatchers.delete(t)})}getCurrentProgram(){return this.program}removeExistingTypings(e){if(!e.length)return e;const t=getAutomaticTypeDirectiveNames(this.getCompilerOptions(),this);return filter(e,e=>!t.includes(e))}updateGraphWorker(){var e,t;const n=this.languageService.getCurrentProgram();h.assert(n===this.program),h.assert(!this.isClosed(),"Called update graph worker of closed project"),this.writeLog(`Starting updateGraphWorker: Project: ${this.getProjectName()}`);const r=B(),{hasInvalidatedResolutions:i,hasInvalidatedLibResolutions:o}=this.resolutionCache.createHasInvalidatedResolutions(returnFalse,returnFalse);this.hasInvalidatedResolutions=i,this.hasInvalidatedLibResolutions=o,this.resolutionCache.startCachingPerDirectoryResolution(),this.dirty=!1,this.updateFromProjectInProgress=!0,this.program=this.languageService.getProgram(),this.updateFromProjectInProgress=!1,null==(e=J)||e.push(J.Phase.Session,"finishCachingPerDirectoryResolution"),this.resolutionCache.finishCachingPerDirectoryResolution(this.program,n),null==(t=J)||t.pop(),h.assert(void 0===n||void 0!==this.program);let a=!1;if(this.program&&(!n||this.program!==n&&2!==this.program.structureIsReused)){if(a=!0,this.rootFilesMap.forEach((e,t)=>{var n;const r=this.program.getSourceFileByPath(t),i=e.info;r&&(null==(n=e.info)?void 0:n.path)!==r.resolvedPath&&(e.info=this.projectService.getScriptInfo(r.fileName),h.assert(e.info.isAttached(this)),null==i||i.detachFromProject(this))}),updateMissingFilePathsWatch(this.program,this.missingFilesMap||(this.missingFilesMap=new Map),(e,t)=>this.addMissingFileWatcher(e,t)),this.generatedFilesMap){const e=this.compilerOptions.outFile;isGeneratedFileWatcher(this.generatedFilesMap)?e&&this.isValidGeneratedFileWatcher(removeFileExtension(e)+".d.ts",this.generatedFilesMap)||this.clearGeneratedFileWatch():e?this.clearGeneratedFileWatch():this.generatedFilesMap.forEach((e,t)=>{const n=this.program.getSourceFileByPath(t);n&&n.resolvedPath===t&&this.isValidGeneratedFileWatcher(getDeclarationEmitOutputFilePathWorker(n.fileName,this.compilerOptions,this.program),e)||(closeFileWatcherOf(e),this.generatedFilesMap.delete(t))})}this.languageServiceEnabled&&0===this.projectService.serverMode&&this.resolutionCache.updateTypeRootsWatch()}this.projectService.verifyProgram(this),this.exportMapCache&&!this.exportMapCache.isEmpty()&&(this.exportMapCache.releaseSymbols(),this.hasAddedorRemovedFiles||n&&!this.program.structureIsReused?this.exportMapCache.clear():this.changedFilesForExportMapCache&&n&&this.program&&forEachKey(this.changedFilesForExportMapCache,e=>{const t=n.getSourceFileByPath(e),r=this.program.getSourceFileByPath(e);return t&&r?this.exportMapCache.onFileChanged(t,r,!!this.getTypeAcquisition().enable):(this.exportMapCache.clear(),!0)})),this.changedFilesForExportMapCache&&this.changedFilesForExportMapCache.clear(),(this.hasAddedOrRemovedSymlinks||this.program&&!this.program.structureIsReused&&this.getCompilerOptions().preserveSymlinks)&&(this.symlinks=void 0,this.moduleSpecifierCache.clear());const s=this.externalFiles||w_;this.externalFiles=this.getExternalFiles(),enumerateInsertsAndDeletes(this.externalFiles,s,getStringComparer(!this.useCaseSensitiveFileNames()),e=>{const t=this.projectService.getOrCreateScriptInfoNotOpenedByClient(e,this.currentDirectory,this.directoryStructureHost,!1);null==t||t.attachToProject(this)},e=>this.detachScriptInfoFromProject(e));const c=B()-r;return this.sendPerformanceEvent("UpdateGraph",c),this.writeLog(`Finishing updateGraphWorker: Project: ${this.getProjectName()} projectStateVersion: ${this.projectStateVersion} projectProgramVersion: ${this.projectProgramVersion} structureChanged: ${a}${this.program?` structureIsReused:: ${pe[this.program.structureIsReused]}`:""} Elapsed: ${c}ms`),this.projectService.logger.isTestLogger?this.program!==n?this.print(!0,this.hasAddedorRemovedFiles,!0):this.writeLog("Same program as before"):this.hasAddedorRemovedFiles?this.print(!0,!0,!1):this.program!==n&&this.writeLog("Different program with same set of files"),this.projectService.verifyDocumentRegistry(),a}sendPerformanceEvent(e,t){this.projectService.sendPerformanceEvent(e,t)}detachScriptInfoFromProject(e,t){const n=this.projectService.getScriptInfo(e);n&&(n.detachFromProject(this),t||this.resolutionCache.removeResolutionsOfFile(n.path))}addMissingFileWatcher(e,t){var n;if(isConfiguredProject(this)){const t=this.projectService.configFileExistenceInfoCache.get(e);if(null==(n=null==t?void 0:t.config)?void 0:n.projects.has(this.canonicalConfigFilePath))return Xa}const r=this.projectService.watchFactory.watchFile(getNormalizedAbsolutePath(t,this.currentDirectory),(t,n)=>{isConfiguredProject(this)&&this.getCachedDirectoryStructureHost().addOrDeleteFile(t,e,n),0===n&&this.missingFilesMap.has(e)&&(this.missingFilesMap.delete(e),r.close(),this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this))},500,this.projectService.getWatchOptions(this),Ya.MissingFile,this);return r}isWatchedMissingFile(e){return!!this.missingFilesMap&&this.missingFilesMap.has(e)}addGeneratedFileWatch(e,t){if(this.compilerOptions.outFile)this.generatedFilesMap||(this.generatedFilesMap=this.createGeneratedFileWatcher(e));else{const n=this.toPath(t);if(this.generatedFilesMap){if(isGeneratedFileWatcher(this.generatedFilesMap))return void h.fail(`${this.projectName} Expected to not have --out watcher for generated file with options: ${JSON.stringify(this.compilerOptions)}`);if(this.generatedFilesMap.has(n))return}else this.generatedFilesMap=new Map;this.generatedFilesMap.set(n,this.createGeneratedFileWatcher(e))}}createGeneratedFileWatcher(e){return{generatedFilePath:this.toPath(e),watcher:this.projectService.watchFactory.watchFile(e,()=>{this.clearSourceMapperCache(),this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)},2e3,this.projectService.getWatchOptions(this),Ya.MissingGeneratedFile,this)}}isValidGeneratedFileWatcher(e,t){return this.toPath(e)===t.generatedFilePath}clearGeneratedFileWatch(){this.generatedFilesMap&&(isGeneratedFileWatcher(this.generatedFilesMap)?closeFileWatcherOf(this.generatedFilesMap):clearMap(this.generatedFilesMap,closeFileWatcherOf),this.generatedFilesMap=void 0)}getScriptInfoForNormalizedPath(e){const t=this.projectService.getScriptInfoForPath(this.toPath(e));return t&&!t.isAttached(this)?I_.ThrowProjectDoesNotContainDocument(e,this):t}getScriptInfo(e){return this.projectService.getScriptInfo(e)}filesToString(e){return this.filesToStringWorker(e,!0,!1)}filesToStringWorker(e,t,n){if(this.initialLoadPending)return"\tFiles (0) InitialLoadPending\n";if(!this.program)return"\tFiles (0) NoProgram\n";const r=this.program.getSourceFiles();let i=`\tFiles (${r.length})\n`;if(e){for(const e of r)i+=`\t${e.fileName}${n?` ${e.version} ${JSON.stringify(e.text)}`:""}\n`;t&&(i+="\n\n",explainFiles(this.program,e=>i+=`\t${e}\n`))}return i}print(e,t,n){var r;this.writeLog(`Project '${this.projectName}' (${X_[this.projectKind]})`),this.writeLog(this.filesToStringWorker(e&&this.projectService.logger.hasLevel(3),t&&this.projectService.logger.hasLevel(3),n&&this.projectService.logger.hasLevel(3))),this.writeLog("-----------------------------------------------"),this.autoImportProviderHost&&this.autoImportProviderHost.print(!1,!1,!1),null==(r=this.noDtsResolutionProject)||r.print(!1,!1,!1)}setCompilerOptions(e){var t;if(e){e.allowNonTsExtensions=!0;const n=this.compilerOptions;this.compilerOptions=e,this.setInternalCompilerOptionsForEmittingJsFiles(),null==(t=this.noDtsResolutionProject)||t.setCompilerOptions(this.getCompilerOptionsForNoDtsResolutionProject()),changesAffectModuleResolution(n,e)&&(this.cachedUnresolvedImportsPerFile.clear(),this.lastCachedUnresolvedImportsList=void 0,this.resolutionCache.onChangesAffectModuleResolution(),this.moduleSpecifierCache.clear()),this.markAsDirty()}}setWatchOptions(e){this.watchOptions=e}getWatchOptions(){return this.watchOptions}setTypeAcquisition(e){e&&(this.typeAcquisition=this.removeLocalTypingsFromTypeAcquisition(e))}getTypeAcquisition(){return this.typeAcquisition||{}}getChangesSinceVersion(e,t){var n,r;const i=t?e=>arrayFrom(e.entries(),([e,t])=>({fileName:e,isSourceOfProjectReferenceRedirect:t})):e=>arrayFrom(e.keys());this.initialLoadPending||updateProjectIfDirty(this);const o={projectName:this.getProjectName(),version:this.projectProgramVersion,isInferred:isInferredProject(this),options:this.getCompilationSettings(),languageServiceDisabled:!this.languageServiceEnabled,lastFileExceededProgramSize:this.lastFileExceededProgramSize},a=this.updatedFileNames;if(this.updatedFileNames=void 0,this.lastReportedFileNames&&e===this.lastReportedVersion){if(this.projectProgramVersion===this.lastReportedVersion&&!a)return{info:o,projectErrors:this.getGlobalProjectErrors()};const e=this.lastReportedFileNames,r=(null==(n=this.externalFiles)?void 0:n.map(e=>({fileName:toNormalizedPath(e),isSourceOfProjectReferenceRedirect:!1})))||w_,s=arrayToMap(this.getFileNamesWithRedirectInfo(!!t).concat(r),e=>e.fileName,e=>e.isSourceOfProjectReferenceRedirect),c=new Map,l=new Map,d=a?arrayFrom(a.keys()):[],p=[];return forEachEntry(s,(n,r)=>{e.has(r)?t&&n!==e.get(r)&&p.push({fileName:r,isSourceOfProjectReferenceRedirect:n}):c.set(r,n)}),forEachEntry(e,(e,t)=>{s.has(t)||l.set(t,e)}),this.lastReportedFileNames=s,this.lastReportedVersion=this.projectProgramVersion,{info:o,changes:{added:i(c),removed:i(l),updated:t?d.map(e=>({fileName:e,isSourceOfProjectReferenceRedirect:this.isSourceOfProjectReferenceRedirect(e)})):d,updatedRedirects:t?p:void 0},projectErrors:this.getGlobalProjectErrors()}}{const e=this.getFileNamesWithRedirectInfo(!!t),n=(null==(r=this.externalFiles)?void 0:r.map(e=>({fileName:toNormalizedPath(e),isSourceOfProjectReferenceRedirect:!1})))||w_,i=e.concat(n);return this.lastReportedFileNames=arrayToMap(i,e=>e.fileName,e=>e.isSourceOfProjectReferenceRedirect),this.lastReportedVersion=this.projectProgramVersion,{info:o,files:t?i:i.map(e=>e.fileName),projectErrors:this.getGlobalProjectErrors()}}}removeRoot(e){this.rootFilesMap.delete(e.path)}isSourceOfProjectReferenceRedirect(e){return!!this.program&&this.program.isSourceOfProjectReferenceRedirect(e)}getGlobalPluginSearchPaths(){return[...this.projectService.pluginProbeLocations,combinePaths(this.projectService.getExecutingFilePath(),"../../..")]}enableGlobalPlugins(e){if(!this.projectService.globalPlugins.length)return;const t=this.projectService.host;if(!t.require&&!t.importPlugin)return void this.projectService.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded");const n=this.getGlobalPluginSearchPaths();for(const t of this.projectService.globalPlugins)t&&(e.plugins&&e.plugins.some(e=>e.name===t)||(this.projectService.logger.info(`Loading global plugin ${t}`),this.enablePlugin({name:t,global:!0},n)))}enablePlugin(e,t){this.projectService.requestEnablePlugin(this,e,t)}enableProxy(e,t){try{if("function"!=typeof e)return void this.projectService.logger.info(`Skipped loading plugin ${t.name} because it did not expose a proper factory function`);const n={config:t,project:this,languageService:this.languageService,languageServiceHost:this,serverHost:this.projectService.host,session:this.projectService.session},r=e({typescript:C_}),i=r.create(n);for(const e of Object.keys(this.languageService))e in i||(this.projectService.logger.info(`Plugin activation warning: Missing proxied method ${e} in created LS. Patching.`),i[e]=this.languageService[e]);this.projectService.logger.info("Plugin validation succeeded"),this.languageService=i,this.plugins.push({name:t.name,module:r})}catch(e){this.projectService.logger.info(`Plugin activation failed: ${e}`)}}onPluginConfigurationChanged(e,t){this.plugins.filter(t=>t.name===e).forEach(e=>{e.module.onConfigurationChanged&&e.module.onConfigurationChanged(t)})}refreshDiagnostics(){this.projectService.sendProjectsUpdatedInBackgroundEvent()}getPackageJsonsVisibleToFile(e,t){return 0!==this.projectService.serverMode?w_:this.projectService.getPackageJsonsVisibleToFile(e,this,t)}getNearestAncestorDirectoryWithPackageJson(e){return this.projectService.getNearestAncestorDirectoryWithPackageJson(e,this)}getPackageJsonsForAutoImport(e){return this.getPackageJsonsVisibleToFile(combinePaths(this.currentDirectory,Ua),e)}getPackageJsonCache(){return this.projectService.packageJsonCache}getCachedExportInfoMap(){return this.exportMapCache||(this.exportMapCache=createCacheableExportInfoMap(this))}clearCachedExportInfoMap(){var e;null==(e=this.exportMapCache)||e.clear()}getModuleSpecifierCache(){return this.moduleSpecifierCache}includePackageJsonAutoImports(){return 0!==this.projectService.includePackageJsonAutoImports()&&this.languageServiceEnabled&&!isInsideNodeModules(this.currentDirectory)&&this.isDefaultProjectForOpenFiles()?this.projectService.includePackageJsonAutoImports():0}getHostForAutoImportProvider(){var e,t;return this.program?{fileExists:this.program.fileExists,directoryExists:this.program.directoryExists,realpath:this.program.realpath||(null==(e=this.projectService.host.realpath)?void 0:e.bind(this.projectService.host)),getCurrentDirectory:this.getCurrentDirectory.bind(this),readFile:this.projectService.host.readFile.bind(this.projectService.host),getDirectories:this.projectService.host.getDirectories.bind(this.projectService.host),trace:null==(t=this.projectService.host.trace)?void 0:t.bind(this.projectService.host),useCaseSensitiveFileNames:this.program.useCaseSensitiveFileNames(),readDirectory:this.projectService.host.readDirectory.bind(this.projectService.host)}:this.projectService.host}getPackageJsonAutoImportProvider(){var e,t,n;if(!1===this.autoImportProviderHost)return;if(0!==this.projectService.serverMode)return void(this.autoImportProviderHost=!1);if(this.autoImportProviderHost)return updateProjectIfDirty(this.autoImportProviderHost),this.autoImportProviderHost.isEmpty()?(this.autoImportProviderHost.close(),void(this.autoImportProviderHost=void 0)):this.autoImportProviderHost.getCurrentProgram();const r=this.includePackageJsonAutoImports();if(r){null==(e=J)||e.push(J.Phase.Session,"getPackageJsonAutoImportProvider");const i=B();if(this.autoImportProviderHost=nf.create(r,this,this.getHostForAutoImportProvider())??!1,this.autoImportProviderHost)return updateProjectIfDirty(this.autoImportProviderHost),this.sendPerformanceEvent("CreatePackageJsonAutoImportProvider",B()-i),null==(t=J)||t.pop(),this.autoImportProviderHost.getCurrentProgram();null==(n=J)||n.pop()}}isDefaultProjectForOpenFiles(){return!!forEachEntry(this.projectService.openFiles,(e,t)=>this.projectService.tryGetDefaultProjectForFile(this.projectService.getScriptInfoForPath(t))===this)}watchNodeModulesForPackageJsonChanges(e){return this.projectService.watchPackageJsonsInNodeModules(e,this)}getIncompleteCompletionsCache(){return this.projectService.getIncompleteCompletionsCache()}getNoDtsResolutionProject(e){return h.assert(0===this.projectService.serverMode),this.noDtsResolutionProject??(this.noDtsResolutionProject=new ef(this)),this.noDtsResolutionProject.rootFile!==e&&(this.projectService.setFileNamesOfAutoImportProviderOrAuxillaryProject(this.noDtsResolutionProject,[e]),this.noDtsResolutionProject.rootFile=e),this.noDtsResolutionProject}runWithTemporaryFileUpdate(e,t,n){var r,i,o,a;const s=this.program,c=h.checkDefined(null==(r=this.program)?void 0:r.getSourceFile(e),"Expected file to be part of program"),l=h.checkDefined(c.getFullText());null==(i=this.getScriptInfo(e))||i.editContent(0,l.length,t),this.updateGraph();try{n(this.program,s,null==(o=this.program)?void 0:o.getSourceFile(e))}finally{null==(a=this.getScriptInfo(e))||a.editContent(0,t.length,l)}}getCompilerOptionsForNoDtsResolutionProject(){return{...this.getCompilerOptions(),noDtsResolution:!0,allowJs:!0,maxNodeModuleJsDepth:3,diagnostics:!1,skipLibCheck:!0,sourceMap:!1,types:l,lib:l,noLib:!0}}};var Z_=class extends Y_{constructor(e,t,n,r,i,o){super(e.newInferredProjectName(),0,e,!1,void 0,t,!1,n,e.host,i),this._isJsInferredProject=!1,this.typeAcquisition=o,this.projectRootPath=r&&e.toCanonicalFileName(r),r||e.useSingleInferredProject||(this.canonicalCurrentDirectory=e.toCanonicalFileName(this.currentDirectory)),this.enableGlobalPlugins(this.getCompilerOptions())}toggleJsInferredProject(e){e!==this._isJsInferredProject&&(this._isJsInferredProject=e,this.setCompilerOptions())}setCompilerOptions(e){if(!e&&!this.getCompilationSettings())return;const t=cloneCompilerOptions(e||this.getCompilationSettings());this._isJsInferredProject&&"number"!=typeof t.maxNodeModuleJsDepth?t.maxNodeModuleJsDepth=2:this._isJsInferredProject||(t.maxNodeModuleJsDepth=void 0),t.allowJs=!0,super.setCompilerOptions(t)}addRoot(e){h.assert(e.isScriptOpen()),this.projectService.startWatchingConfigFilesForInferredProjectRoot(e),!this._isJsInferredProject&&e.isJavaScript()?this.toggleJsInferredProject(!0):this.isOrphan()&&this._isJsInferredProject&&!e.isJavaScript()&&this.toggleJsInferredProject(!1),super.addRoot(e)}removeRoot(e){this.projectService.stopWatchingConfigFilesForScriptInfo(e),super.removeRoot(e),!this.isOrphan()&&this._isJsInferredProject&&e.isJavaScript()&&every(this.getRootScriptInfos(),e=>!e.isJavaScript())&&this.toggleJsInferredProject(!1)}isOrphan(){return!this.hasRoots()}isProjectWithSingleRoot(){return!this.projectRootPath&&!this.projectService.useSingleInferredProject||1===this.getRootScriptInfos().length}close(){forEach(this.getRootScriptInfos(),e=>this.projectService.stopWatchingConfigFilesForScriptInfo(e)),super.close()}getTypeAcquisition(){return this.typeAcquisition||{enable:allRootFilesAreJsOrDts(this),include:l,exclude:l}}},ef=class extends Y_{constructor(e){super(e.projectService.newAuxiliaryProjectName(),4,e.projectService,!1,void 0,e.getCompilerOptionsForNoDtsResolutionProject(),!1,void 0,e.projectService.host,e.currentDirectory)}isOrphan(){return!0}scheduleInvalidateResolutionsOfFailedLookupLocations(){}},tf=class _AutoImportProviderProject extends Y_{constructor(e,t,n){super(e.projectService.newAutoImportProviderProjectName(),3,e.projectService,!1,void 0,n,!1,e.getWatchOptions(),e.projectService.host,e.currentDirectory),this.hostProject=e,this.rootFileNames=t,this.useSourceOfProjectReferenceRedirect=maybeBind(this.hostProject,this.hostProject.useSourceOfProjectReferenceRedirect),this.getParsedCommandLine=maybeBind(this.hostProject,this.hostProject.getParsedCommandLine)}static getRootFileNames(e,t,n,r){var i,o;if(!e)return l;const a=t.getCurrentProgram();if(!a)return l;const s=B();let c,d;const p=combinePaths(t.currentDirectory,Ua),u=t.getPackageJsonsForAutoImport(combinePaths(t.currentDirectory,p));for(const e of u)null==(i=e.dependencies)||i.forEach((e,t)=>addDependency(t)),null==(o=e.peerDependencies)||o.forEach((e,t)=>addDependency(t));let m=0;if(c){const i=t.getSymlinkCache();for(const o of arrayFrom(c.keys())){if(2===e&&m>=this.maxDependencies)return t.log(`AutoImportProviderProject: attempted to add more than ${this.maxDependencies} dependencies. Aborting.`),l;const s=resolvePackageNameToPackageJson(o,t.currentDirectory,r,n,a.getModuleResolutionCache());if(s){const e=getRootNamesFromPackageJson(s,a,i);if(e){m+=addRootNames(e);continue}}if(!forEach([t.currentDirectory,t.getGlobalTypingsCacheLocation()],e=>{if(e){const t=resolvePackageNameToPackageJson(`@types/${o}`,e,r,n,a.getModuleResolutionCache());if(t){const e=getRootNamesFromPackageJson(t,a,i);return m+=addRootNames(e),!0}}})&&(s&&r.allowJs&&r.maxNodeModuleJsDepth)){const e=getRootNamesFromPackageJson(s,a,i,!0);m+=addRootNames(e)}}}const _=a.getResolvedProjectReferences();let f=0;return(null==_?void 0:_.length)&&t.projectService.getHostPreferences().includeCompletionsForModuleExports&&_.forEach(e=>{if(null==e?void 0:e.commandLine.options.outFile)f+=addRootNames(filterEntrypoints([changeExtension(e.commandLine.options.outFile,".d.ts")]));else if(e){const n=memoize(()=>getCommonSourceDirectoryOfConfig(e.commandLine,!t.useCaseSensitiveFileNames()));f+=addRootNames(filterEntrypoints(mapDefined(e.commandLine.fileNames,r=>isDeclarationFileName(r)||fileExtensionIs(r,".json")||a.getSourceFile(r)?void 0:getOutputDeclarationFileName(r,e.commandLine,!t.useCaseSensitiveFileNames(),n))))}}),(null==d?void 0:d.size)&&t.log(`AutoImportProviderProject: found ${d.size} root files in ${m} dependencies ${f} referenced projects in ${B()-s} ms`),d?arrayFrom(d.values()):l;function addRootNames(e){return(null==e?void 0:e.length)?(d??(d=new Set),e.forEach(e=>d.add(e)),1):0}function addDependency(e){startsWith(e,"@types/")||(c||(c=new Set)).add(e)}function getRootNamesFromPackageJson(e,i,o,a){var s;const c=getEntrypointsFromPackageJsonInfo(e,r,n,i.getModuleResolutionCache(),a);if(c){const r=null==(s=n.realpath)?void 0:s.call(n,e.packageDirectory),i=r?t.toPath(r):void 0,a=i&&i!==t.toPath(e.packageDirectory);return a&&o.setSymlinkedDirectory(e.packageDirectory,{real:ensureTrailingDirectorySeparator(r),realPath:ensureTrailingDirectorySeparator(i)}),filterEntrypoints(c,a?t=>t.replace(e.packageDirectory,r):void 0)}}function filterEntrypoints(e,t){return mapDefined(e,e=>{const n=t?t(e):e;if(!(a.getSourceFile(n)||t&&a.getSourceFile(e)))return n})}}static create(e,t,n){if(0===e)return;const r={...t.getCompilerOptions(),...this.compilerOptionsOverrides},i=this.getRootFileNames(e,t,n,r);return i.length?new _AutoImportProviderProject(t,i,r):void 0}isEmpty(){return!some(this.rootFileNames)}isOrphan(){return!0}updateGraph(){let e=this.rootFileNames;e||(e=_AutoImportProviderProject.getRootFileNames(this.hostProject.includePackageJsonAutoImports(),this.hostProject,this.hostProject.getHostForAutoImportProvider(),this.getCompilationSettings())),this.projectService.setFileNamesOfAutoImportProviderOrAuxillaryProject(this,e),this.rootFileNames=e;const t=this.getCurrentProgram(),n=super.updateGraph();return t&&t!==this.getCurrentProgram()&&this.hostProject.clearCachedExportInfoMap(),n}scheduleInvalidateResolutionsOfFailedLookupLocations(){}hasRoots(){var e;return!!(null==(e=this.rootFileNames)?void 0:e.length)}markAsDirty(){this.rootFileNames=void 0,super.markAsDirty()}getScriptFileNames(){return this.rootFileNames||l}getLanguageService(){throw new Error("AutoImportProviderProject language service should never be used. To get the program, use `project.getCurrentProgram()`.")}onAutoImportProviderSettingsChanged(){throw new Error("AutoImportProviderProject is an auto import provider; use `markAsDirty()` instead.")}onPackageJsonChange(){throw new Error("package.json changes should be notified on an AutoImportProvider's host project")}getHostForAutoImportProvider(){throw new Error("AutoImportProviderProject cannot provide its own host; use `hostProject.getModuleResolutionHostForAutomImportProvider()` instead.")}getProjectReferences(){return this.hostProject.getProjectReferences()}includePackageJsonAutoImports(){return 0}getSymlinkCache(){return this.hostProject.getSymlinkCache()}getModuleResolutionCache(){var e;return null==(e=this.hostProject.getCurrentProgram())?void 0:e.getModuleResolutionCache()}};tf.maxDependencies=10,tf.compilerOptionsOverrides={diagnostics:!1,skipLibCheck:!0,sourceMap:!1,types:l,lib:l,noLib:!0};var nf=tf,rf=class extends Y_{constructor(e,t,n,r,i){super(e,1,n,!1,void 0,{},!1,void 0,r,getDirectoryPath(e)),this.canonicalConfigFilePath=t,this.openFileWatchTriggered=new Map,this.initialLoadPending=!0,this.sendLoadingProjectFinish=!1,this.pendingUpdateLevel=2,this.pendingUpdateReason=i}setCompilerHost(e){this.compilerHost=e}getCompilerHost(){return this.compilerHost}useSourceOfProjectReferenceRedirect(){return this.languageServiceEnabled}getParsedCommandLine(e){const t=toNormalizedPath(e),n=this.projectService.toCanonicalFileName(t);let r=this.projectService.configFileExistenceInfoCache.get(n);return r||this.projectService.configFileExistenceInfoCache.set(n,r={exists:this.projectService.host.fileExists(t)}),this.projectService.ensureParsedConfigUptoDate(t,n,r,this),this.languageServiceEnabled&&0===this.projectService.serverMode&&this.projectService.watchWildcards(t,r,this),r.exists?r.config.parsedCommandLine:void 0}onReleaseParsedCommandLine(e){this.releaseParsedConfig(this.projectService.toCanonicalFileName(toNormalizedPath(e)))}releaseParsedConfig(e){this.projectService.stopWatchingWildCards(e,this),this.projectService.releaseParsedConfig(e,this)}updateGraph(){if(this.deferredClose)return!1;const e=this.dirty;this.initialLoadPending=!1;const t=this.pendingUpdateLevel;let n;switch(this.pendingUpdateLevel=0,t){case 1:this.openFileWatchTriggered.clear(),n=this.projectService.reloadFileNamesOfConfiguredProject(this);break;case 2:this.openFileWatchTriggered.clear();const e=h.checkDefined(this.pendingUpdateReason);this.projectService.reloadConfiguredProject(this,e),n=!0;break;default:n=super.updateGraph()}return this.compilerHost=void 0,this.projectService.sendProjectLoadingFinishEvent(this),this.projectService.sendProjectTelemetry(this),2!==t&&(!n||e&&this.triggerFileForConfigFileDiag&&2!==this.getCurrentProgram().structureIsReused)?this.triggerFileForConfigFileDiag||this.projectService.sendConfigFileDiagEvent(this,void 0,!1):this.triggerFileForConfigFileDiag=void 0,n}getCachedDirectoryStructureHost(){return this.directoryStructureHost}getConfigFilePath(){return this.getProjectName()}getProjectReferences(){return this.projectReferences}updateReferences(e){this.projectReferences=e,this.potentialProjectReferences=void 0}setPotentialProjectReference(e){h.assert(this.initialLoadPending),(this.potentialProjectReferences||(this.potentialProjectReferences=new Set)).add(e)}getRedirectFromSourceFile(e){const t=this.getCurrentProgram();return t&&t.getRedirectFromSourceFile(e)}forEachResolvedProjectReference(e){var t;return null==(t=this.getCurrentProgram())?void 0:t.forEachResolvedProjectReference(e)}enablePluginsWithOptions(e){var t;if(this.plugins.length=0,!(null==(t=e.plugins)?void 0:t.length)&&!this.projectService.globalPlugins.length)return;const n=this.projectService.host;if(!n.require&&!n.importPlugin)return void this.projectService.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded");const r=this.getGlobalPluginSearchPaths();if(this.projectService.allowLocalPluginLoads){const e=getDirectoryPath(this.canonicalConfigFilePath);this.projectService.logger.info(`Local plugin loading enabled; adding ${e} to search paths`),r.unshift(e)}if(e.plugins)for(const t of e.plugins)this.enablePlugin(t,r);return this.enableGlobalPlugins(e)}getGlobalProjectErrors(){return filter(this.projectErrors,e=>!e.file)||w_}getAllProjectErrors(){return this.projectErrors||w_}setProjectErrors(e){this.projectErrors=e}close(){this.projectService.configFileExistenceInfoCache.forEach((e,t)=>this.releaseParsedConfig(t)),this.projectErrors=void 0,this.openFileWatchTriggered.clear(),this.compilerHost=void 0,super.close()}markAsDirty(){this.deferredClose||super.markAsDirty()}isOrphan(){return!!this.deferredClose}getEffectiveTypeRoots(){return getEffectiveTypeRoots(this.getCompilationSettings(),this)||[]}updateErrorOnNoInputFiles(e){this.parsedCommandLine=e,updateErrorForNoInputFiles(e.fileNames,this.getConfigFilePath(),this.getCompilerOptions().configFile.configFileSpecs,this.projectErrors,canJsonReportNoInputFiles(e.raw))}},of=class extends Y_{constructor(e,t,n,r,i,o,a){super(e,2,t,!0,r,n,i,a,t.host,getDirectoryPath(o||normalizeSlashes(e))),this.externalProjectName=e,this.compileOnSaveEnabled=i,this.excludedFiles=[],this.enableGlobalPlugins(this.getCompilerOptions())}updateGraph(){const e=super.updateGraph();return this.projectService.sendProjectTelemetry(this),e}getExcludedFiles(){return this.excludedFiles}};function isInferredProject(e){return 0===e.projectKind}function isConfiguredProject(e){return 1===e.projectKind}function isExternalProject(e){return 2===e.projectKind}function isBackgroundProject(e){return 3===e.projectKind||4===e.projectKind}function isProjectDeferredClose(e){return isConfiguredProject(e)&&!!e.deferredClose}var af=20971520,sf=4194304,cf="projectsUpdatedInBackground",lf="projectLoadingStart",df="projectLoadingFinish",pf="largeFileReferenced",uf="configFileDiag",mf="projectLanguageServiceState",_f="projectInfo",ff="openFileInfo",gf="createFileWatcher",yf="createDirectoryWatcher",hf="closeFileWatcher",Tf="*ensureProjectForOpenFiles*";function prepareConvertersForEnumLikeCompilerOptions(e){const t=new Map;for(const n of e)if("object"==typeof n.type){const e=n.type;e.forEach(e=>{h.assert("number"==typeof e)}),t.set(n.name,e)}return t}var Sf=prepareConvertersForEnumLikeCompilerOptions(Qi),xf=prepareConvertersForEnumLikeCompilerOptions(qi),vf=new Map(Object.entries({none:0,block:1,smart:2})),bf={jquery:{match:/jquery(-[\d.]+)?(\.intellisense)?(\.min)?\.js$/i,types:["jquery"]},WinJS:{match:/^(.*\/winjs-[.\d]+)\/js\/base\.js$/i,exclude:[["^",1,"/.*"]],types:["winjs"]},Kendo:{match:/^(.*\/kendo(-ui)?)\/kendo\.all(\.min)?\.js$/i,exclude:[["^",1,"/.*"]],types:["kendo-ui"]},"Office Nuget":{match:/^(.*\/office\/1)\/excel-\d+\.debug\.js$/i,exclude:[["^",1,"/.*"]],types:["office"]},References:{match:/^(.*\/_references\.js)$/i,exclude:[["^",1,"$"]]}};function convertFormatOptions(e){return isString(e.indentStyle)&&(e.indentStyle=vf.get(e.indentStyle.toLowerCase()),h.assert(void 0!==e.indentStyle)),e}function convertCompilerOptions(e){return Sf.forEach((t,n)=>{const r=e[n];isString(r)&&(e[n]=t.get(r.toLowerCase()))}),e}function convertWatchOptions(e,t){let n,r;return qi.forEach(i=>{const o=e[i.name];if(void 0===o)return;const a=xf.get(i.name);(n||(n={}))[i.name]=a?isString(o)?a.get(o.toLowerCase()):o:convertJsonOption(i,o,t||"",r||(r=[]))}),n&&{watchOptions:n,errors:r}}function convertTypeAcquisition(e){let t;return uo.forEach(n=>{const r=e[n.name];void 0!==r&&((t||(t={}))[n.name]=r)}),t}function tryConvertScriptKindName(e){return isString(e)?convertScriptKindName(e):e}function convertScriptKindName(e){switch(e){case"JS":return 1;case"JSX":return 2;case"TS":return 3;case"TSX":return 4;default:return 0}}function convertUserPreferences(e){const{lazyConfiguredProjectsFromExternalProject:t,...n}=e;return n}var Cf={getFileName:e=>e,getScriptKind:(e,t)=>{let n;if(t){const r=getAnyExtensionFromPath(e);r&&some(t,e=>e.extension===r&&(n=e.scriptKind,!0))}return n},hasMixedContent:(e,t)=>some(t,t=>t.isMixedContent&&fileExtensionIs(e,t.extension))},Ef={getFileName:e=>e.fileName,getScriptKind:e=>tryConvertScriptKindName(e.scriptKind),hasMixedContent:e=>!!e.hasMixedContent};function findProjectByName(e,t){for(const n of t)if(n.getProjectName()===e)return n}var Nf={isKnownTypesPackageName:returnFalse,installPackage:notImplemented,enqueueInstallTypingsRequest:noop,attach:noop,onProjectClosed:noop,globalTypingsCacheLocation:void 0},kf={close:noop};function getConfigFileNameFromCache(e,t){if(!t)return;const n=t.get(e.path);return void 0!==n?isAncestorConfigFileInfo(e)?n&&!isString(n)?n.get(e.fileName):void 0:isString(n)||!n?n:n.get(!1):void 0}function isOpenScriptInfo(e){return!!e.containingProjects}function isAncestorConfigFileInfo(e){return!!e.configFileInfo}var Ff=(e=>(e[e.FindOptimized=0]="FindOptimized",e[e.Find=1]="Find",e[e.CreateReplayOptimized=2]="CreateReplayOptimized",e[e.CreateReplay=3]="CreateReplay",e[e.CreateOptimized=4]="CreateOptimized",e[e.Create=5]="Create",e[e.ReloadOptimized=6]="ReloadOptimized",e[e.Reload=7]="Reload",e))(Ff||{});function toConfiguredProjectLoadOptimized(e){return e-1}function forEachAncestorProjectLoad(e,t,n,r,i,o,a,s,c){for(var l;;){if(t.parsedCommandLine&&(s&&!t.parsedCommandLine.options.composite||t.parsedCommandLine.options.disableSolutionSearching))return;const d=t.projectService.getConfigFileNameForFile({fileName:t.getConfigFilePath(),path:e.path,configFileInfo:!0,isForDefaultProject:!s},r<=3);if(!d)return;const p=t.projectService.findCreateOrReloadConfiguredProject(d,r,i,o,s?void 0:e.fileName,a,s,c);if(!p)return;!p.project.parsedCommandLine&&(null==(l=t.parsedCommandLine)?void 0:l.options.composite)&&p.project.setPotentialProjectReference(t.canonicalConfigFilePath);const u=n(p);if(u)return u;t=p.project}}function forEachResolvedProjectReferenceProjectLoad(e,t,n,r,i,o,a,s){const c=t.options.disableReferencedProjectLoad?0:r;let l;return forEach(t.projectReferences,t=>{var d;const p=toNormalizedPath(resolveProjectReferencePath(t)),u=e.projectService.toCanonicalFileName(p),m=null==s?void 0:s.get(u);if(void 0!==m&&m>=c)return;const _=e.projectService.configFileExistenceInfoCache.get(u);let f=0===c?(null==_?void 0:_.exists)||(null==(d=e.resolvedChildConfigs)?void 0:d.has(u))?_.config.parsedCommandLine:void 0:e.getParsedCommandLine(p);if(f&&c!==r&&c>2&&(f=e.getParsedCommandLine(p)),!f)return;const g=e.projectService.findConfiguredProjectByProjectName(p,o);if(2!==c||_||g){switch(c){case 6:g&&g.projectService.reloadConfiguredProjectOptimized(g,i,a);case 4:(e.resolvedChildConfigs??(e.resolvedChildConfigs=new Set)).add(u);case 2:case 0:if(g||0!==c){const t=n(_??e.projectService.configFileExistenceInfoCache.get(u),g,p,i,e,u);if(t)return t}break;default:h.assertNever(c)}(s??(s=new Map)).set(u,c),(l??(l=[])).push(f)}})||forEach(l,t=>t.projectReferences&&forEachResolvedProjectReferenceProjectLoad(e,t,n,c,i,o,a,s))}function updateProjectFoundUsingFind(e,t,n,r,i){let o,a=!1;switch(t){case 2:case 3:useConfigFileExistenceInfoForOptimizedLoading(e)&&(o=e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath));break;case 4:if(o=configFileExistenceInfoForOptimizedLoading(e),o)break;case 5:a=function updateConfiguredProject(e,t){if(t){if(updateWithTriggerFile(e,t,!1))return!0}else updateProjectIfDirty(e);return!1}(e,n);break;case 6:if(e.projectService.reloadConfiguredProjectOptimized(e,r,i),o=configFileExistenceInfoForOptimizedLoading(e),o)break;case 7:a=e.projectService.reloadConfiguredProjectClearingSemanticCache(e,r,i);break;case 0:case 1:break;default:h.assertNever(t)}return{project:e,sentConfigFileDiag:a,configFileExistenceInfo:o,reason:r}}function forEachPotentialProjectReference(e,t){return e.initialLoadPending?(e.potentialProjectReferences&&forEachKey(e.potentialProjectReferences,t))??(e.resolvedChildConfigs&&forEachKey(e.resolvedChildConfigs,t)):void 0}function callbackRefProject(e,t,n){const r=n&&e.projectService.configuredProjects.get(n);return r&&t(r)}function forEachReferencedProject(e,t){return function forEachAnyProjectReferenceKind(e,t,n,r){return e.getCurrentProgram()?e.forEachResolvedProjectReference(t):e.initialLoadPending?forEachPotentialProjectReference(e,r):forEach(e.getProjectReferences(),n)}(e,n=>callbackRefProject(e,t,n.sourceFile.path),n=>callbackRefProject(e,t,e.toPath(resolveProjectReferencePath(n))),n=>callbackRefProject(e,t,n))}function getDetailWatchInfo(e,t){return`${isString(t)?`Config: ${t} `:t?`Project: ${t.getProjectName()} `:""}WatchType: ${e}`}function isScriptInfoWatchedFromNodeModules(e){return!e.isScriptOpen()&&void 0!==e.mTime}function updateProjectIfDirty(e){return e.invalidateResolutionsOfFailedLookupLocations(),e.dirty&&!e.updateGraph()}function updateWithTriggerFile(e,t,n){if(!n&&(e.invalidateResolutionsOfFailedLookupLocations(),!e.dirty))return!1;e.triggerFileForConfigFileDiag=t;const r=e.pendingUpdateLevel;if(e.updateGraph(),!e.triggerFileForConfigFileDiag&&!n)return 2===r;const i=e.projectService.sendConfigFileDiagEvent(e,t,n);return e.triggerFileForConfigFileDiag=void 0,i}function configFileExistenceInfoForOptimizedLoading(e){const t=toNormalizedPath(e.getConfigFilePath()),n=e.projectService.ensureParsedConfigUptoDate(t,e.canonicalConfigFilePath,e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath),e),r=n.config.parsedCommandLine;if(e.parsedCommandLine=r,e.resolvedChildConfigs=void 0,e.updateReferences(r.projectReferences),useConfigFileExistenceInfoForOptimizedLoading(e))return n}function useConfigFileExistenceInfoForOptimizedLoading(e){return!(!e.parsedCommandLine||!e.parsedCommandLine.options.composite&&!isSolutionConfig(e.parsedCommandLine))}function reloadReason(e){return`User requested reload projects: ${e}`}function setProjectOptionsUsed(e){isConfiguredProject(e)&&(e.projectOptions=!0)}function createProjectNameFactoryWithCounter(e){let t=1;return()=>e(t++)}function getHostWatcherMap(){return{idToCallbacks:new Map,pathToId:new Map}}function getCanUseWatchEvents(e,t){return!!t&&!!e.eventHandler&&!!e.session}function createWatchFactoryHostUsingWatchEvents(e,t){if(!getCanUseWatchEvents(e,t))return;const n=getHostWatcherMap(),r=getHostWatcherMap(),i=getHostWatcherMap();let o=1;return e.session.addProtocolHandler("watchChange",e=>(function onWatchChange(e){isArray(e)?e.forEach(onWatchChangeRequestArgs):onWatchChangeRequestArgs(e)}(e.arguments),{responseRequired:!1})),{watchFile:function watchFile2(e,t){return getOrCreateFileWatcher(n,e,t,t=>({eventName:gf,data:{id:t,path:e}}))},watchDirectory:function watchDirectory(e,t,n){return getOrCreateFileWatcher(n?i:r,e,t,t=>({eventName:yf,data:{id:t,path:e,recursive:!!n,ignoreUpdate:!e.endsWith("/node_modules")||void 0}}))},getCurrentDirectory:()=>e.host.getCurrentDirectory(),useCaseSensitiveFileNames:e.host.useCaseSensitiveFileNames};function getOrCreateFileWatcher({pathToId:t,idToCallbacks:n},r,i,a){const s=e.toPath(r);let c=t.get(s);c||t.set(s,c=o++);let l=n.get(c);return l||(n.set(c,l=new Set),e.eventHandler(a(c))),l.add(i),{close(){const r=n.get(c);(null==r?void 0:r.delete(i))&&(r.size||(n.delete(c),t.delete(s),e.eventHandler({eventName:hf,data:{id:c}})))}}}function onWatchChangeRequestArgs({id:e,created:t,deleted:n,updated:r}){onWatchEventType(e,t,0),onWatchEventType(e,n,2),onWatchEventType(e,r,1)}function onWatchEventType(e,t,o){(null==t?void 0:t.length)&&(forEachCallback(n,e,t,(e,t)=>e(t,o)),forEachCallback(r,e,t,(e,t)=>e(t)),forEachCallback(i,e,t,(e,t)=>e(t)))}function forEachCallback(e,t,n,r){var i;null==(i=e.idToCallbacks.get(t))||i.forEach(e=>{n.forEach(t=>r(e,normalizeSlashes(t)))})}}var Pf=class _ProjectService{constructor(e){var t;this.filenameToScriptInfo=new Map,this.nodeModulesWatchers=new Map,this.filenameToScriptInfoVersion=new Map,this.allJsFilesForOpenFileTelemetry=new Set,this.externalProjectToConfiguredProjectMap=new Map,this.externalProjects=[],this.inferredProjects=[],this.configuredProjects=new Map,this.newInferredProjectName=createProjectNameFactoryWithCounter(makeInferredProjectName),this.newAutoImportProviderProjectName=createProjectNameFactoryWithCounter(makeAutoImportProviderProjectName),this.newAuxiliaryProjectName=createProjectNameFactoryWithCounter(makeAuxiliaryProjectName),this.openFiles=new Map,this.configFileForOpenFiles=new Map,this.rootOfInferredProjects=new Set,this.openFilesWithNonRootedDiskPath=new Map,this.compilerOptionsForInferredProjectsPerProjectRoot=new Map,this.watchOptionsForInferredProjectsPerProjectRoot=new Map,this.typeAcquisitionForInferredProjectsPerProjectRoot=new Map,this.projectToSizeMap=new Map,this.configFileExistenceInfoCache=new Map,this.safelist=bf,this.legacySafelist=new Map,this.pendingProjectUpdates=new Map,this.pendingEnsureProjectForOpenFiles=!1,this.seenProjects=new Map,this.sharedExtendedConfigFileWatchers=new Map,this.extendedConfigCache=new Map,this.baseline=noop,this.verifyDocumentRegistry=noop,this.verifyProgram=noop,this.onProjectCreation=noop,this.host=e.host,this.logger=e.logger,this.cancellationToken=e.cancellationToken,this.useSingleInferredProject=e.useSingleInferredProject,this.useInferredProjectPerProjectRoot=e.useInferredProjectPerProjectRoot,this.typingsInstaller=e.typingsInstaller||Nf,this.throttleWaitMilliseconds=e.throttleWaitMilliseconds,this.eventHandler=e.eventHandler,this.suppressDiagnosticEvents=e.suppressDiagnosticEvents,this.globalPlugins=e.globalPlugins||w_,this.pluginProbeLocations=e.pluginProbeLocations||w_,this.allowLocalPluginLoads=!!e.allowLocalPluginLoads,this.typesMapLocation=void 0===e.typesMapLocation?combinePaths(getDirectoryPath(this.getExecutingFilePath()),"typesMap.json"):e.typesMapLocation,this.session=e.session,this.jsDocParsingMode=e.jsDocParsingMode,void 0!==e.serverMode?this.serverMode=e.serverMode:this.serverMode=0,this.host.realpath&&(this.realpathToScriptInfos=createMultiMap()),this.currentDirectory=toNormalizedPath(this.host.getCurrentDirectory()),this.toCanonicalFileName=createGetCanonicalFileName(this.host.useCaseSensitiveFileNames),this.globalCacheLocationDirectoryPath=this.typingsInstaller.globalTypingsCacheLocation?ensureTrailingDirectorySeparator(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)):void 0,this.throttledOperations=new M_(this.host,this.logger),this.logger.info(`currentDirectory:: ${this.host.getCurrentDirectory()} useCaseSensitiveFileNames:: ${this.host.useCaseSensitiveFileNames}`),this.logger.info(`libs Location:: ${getDirectoryPath(this.host.getExecutingFilePath())}`),this.logger.info(`globalTypingsCacheLocation:: ${this.typingsInstaller.globalTypingsCacheLocation}`),this.typesMapLocation?this.loadTypesMap():this.logger.info("No types map provided; using the default"),this.typingsInstaller.attach(this),this.hostConfiguration={formatCodeOptions:getDefaultFormatCodeSettings(this.host.newLine),preferences:Es,hostInfo:"Unknown host",extraFileExtensions:[]},this.documentRegistry=createDocumentRegistryInternal(this.host.useCaseSensitiveFileNames,this.currentDirectory,this.jsDocParsingMode,this);const n=this.logger.hasLevel(3)?2:this.logger.loggingEnabled()?1:0,r=0!==n?e=>this.logger.info(e):noop;this.packageJsonCache=createPackageJsonCache(this),this.watchFactory=0!==this.serverMode?{watchFile:returnNoopFileWatcher,watchDirectory:returnNoopFileWatcher}:getWatchFactory(createWatchFactoryHostUsingWatchEvents(this,e.canUseWatchEvents)||this.host,n,r,getDetailWatchInfo),this.canUseWatchEvents=getCanUseWatchEvents(this,e.canUseWatchEvents),null==(t=e.incrementalVerifier)||t.call(e,this)}toPath(e){return toPath(e,this.currentDirectory,this.toCanonicalFileName)}getExecutingFilePath(){return this.getNormalizedAbsolutePath(this.host.getExecutingFilePath())}getNormalizedAbsolutePath(e){return getNormalizedAbsolutePath(e,this.host.getCurrentDirectory())}setDocument(e,t,n){h.checkDefined(this.getScriptInfoForPath(t)).cacheSourceFile={key:e,sourceFile:n}}getDocument(e,t){const n=this.getScriptInfoForPath(t);return n&&n.cacheSourceFile&&n.cacheSourceFile.key===e?n.cacheSourceFile.sourceFile:void 0}ensureInferredProjectsUpToDate_TestOnly(){this.ensureProjectStructuresUptoDate()}getCompilerOptionsForInferredProjects(){return this.compilerOptionsForInferredProjects}onUpdateLanguageServiceStateForProject(e,t){if(!this.eventHandler)return;const n={eventName:mf,data:{project:e,languageServiceEnabled:t}};this.eventHandler(n)}loadTypesMap(){try{const e=this.host.readFile(this.typesMapLocation);if(void 0===e)return void this.logger.info(`Provided types map file "${this.typesMapLocation}" doesn't exist`);const t=JSON.parse(e);for(const e of Object.keys(t.typesMap))t.typesMap[e].match=new RegExp(t.typesMap[e].match,"i");this.safelist=t.typesMap;for(const e in t.simpleMap)hasProperty(t.simpleMap,e)&&this.legacySafelist.set(e,t.simpleMap[e].toLowerCase())}catch(e){this.logger.info(`Error loading types map: ${e}`),this.safelist=bf,this.legacySafelist.clear()}}updateTypingsForProject(e){const t=this.findProject(e.projectName);if(t)switch(e.kind){case ds:return void t.updateTypingFiles(e.compilerOptions,e.typeAcquisition,e.unresolvedImports,e.typings);case ps:return void t.enqueueInstallTypingsForProject(!0)}}watchTypingLocations(e){var t;null==(t=this.findProject(e.projectName))||t.watchTypingLocations(e.files)}delayEnsureProjectForOpenFiles(){this.openFiles.size&&(this.pendingEnsureProjectForOpenFiles=!0,this.throttledOperations.schedule(Tf,2500,()=>{0!==this.pendingProjectUpdates.size?this.delayEnsureProjectForOpenFiles():this.pendingEnsureProjectForOpenFiles&&(this.ensureProjectForOpenFiles(),this.sendProjectsUpdatedInBackgroundEvent())}))}delayUpdateProjectGraph(e){if(isProjectDeferredClose(e))return;if(e.markAsDirty(),isBackgroundProject(e))return;const t=e.getProjectName();this.pendingProjectUpdates.set(t,e),this.throttledOperations.schedule(t,250,()=>{this.pendingProjectUpdates.delete(t)&&updateProjectIfDirty(e)})}hasPendingProjectUpdate(e){return this.pendingProjectUpdates.has(e.getProjectName())}sendProjectsUpdatedInBackgroundEvent(){if(!this.eventHandler)return;const e={eventName:cf,data:{openFiles:arrayFrom(this.openFiles.keys(),e=>this.getScriptInfoForPath(e).fileName)}};this.eventHandler(e)}sendLargeFileReferencedEvent(e,t){if(!this.eventHandler)return;const n={eventName:pf,data:{file:e,fileSize:t,maxFileSize:sf}};this.eventHandler(n)}sendProjectLoadingStartEvent(e,t){if(!this.eventHandler)return;e.sendLoadingProjectFinish=!0;const n={eventName:lf,data:{project:e,reason:t}};this.eventHandler(n)}sendProjectLoadingFinishEvent(e){if(!this.eventHandler||!e.sendLoadingProjectFinish)return;e.sendLoadingProjectFinish=!1;const t={eventName:df,data:{project:e}};this.eventHandler(t)}sendPerformanceEvent(e,t){this.performanceEventHandler&&this.performanceEventHandler({kind:e,durationMs:t})}delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(e){this.delayUpdateProjectGraph(e),this.delayEnsureProjectForOpenFiles()}delayUpdateProjectGraphs(e,t){if(e.length){for(const n of e)t&&n.clearSourceMapperCache(),this.delayUpdateProjectGraph(n);this.delayEnsureProjectForOpenFiles()}}setCompilerOptionsForInferredProjects(e,t){h.assert(void 0===t||this.useInferredProjectPerProjectRoot,"Setting compiler options per project root path is only supported when useInferredProjectPerProjectRoot is enabled");const n=convertCompilerOptions(e),r=convertWatchOptions(e,t),i=convertTypeAcquisition(e);n.allowNonTsExtensions=!0;const o=t&&this.toCanonicalFileName(t);o?(this.compilerOptionsForInferredProjectsPerProjectRoot.set(o,n),this.watchOptionsForInferredProjectsPerProjectRoot.set(o,r||!1),this.typeAcquisitionForInferredProjectsPerProjectRoot.set(o,i)):(this.compilerOptionsForInferredProjects=n,this.watchOptionsForInferredProjects=r,this.typeAcquisitionForInferredProjects=i);for(const e of this.inferredProjects)(o?e.projectRootPath!==o:e.projectRootPath&&this.compilerOptionsForInferredProjectsPerProjectRoot.has(e.projectRootPath))||(e.setCompilerOptions(n),e.setTypeAcquisition(i),e.setWatchOptions(null==r?void 0:r.watchOptions),e.setProjectErrors(null==r?void 0:r.errors),e.compileOnSaveEnabled=n.compileOnSave,e.markAsDirty(),this.delayUpdateProjectGraph(e));this.delayEnsureProjectForOpenFiles()}findProject(e){if(void 0!==e)return isInferredProjectName(e)?findProjectByName(e,this.inferredProjects):this.findExternalProjectByProjectName(e)||this.findConfiguredProjectByProjectName(toNormalizedPath(e))}forEachProject(e){this.externalProjects.forEach(e),this.configuredProjects.forEach(e),this.inferredProjects.forEach(e)}forEachEnabledProject(e){this.forEachProject(t=>{!t.isOrphan()&&t.languageServiceEnabled&&e(t)})}getDefaultProjectForFile(e,t){return t?this.ensureDefaultProjectForFile(e):this.tryGetDefaultProjectForFile(e)}tryGetDefaultProjectForFile(e){const t=isString(e)?this.getScriptInfoForNormalizedPath(e):e;return t&&!t.isOrphan()?t.getDefaultProject():void 0}tryGetDefaultProjectForEnsuringConfiguredProjectForFile(e){var t;const n=isString(e)?this.getScriptInfoForNormalizedPath(e):e;if(n)return(null==(t=this.pendingOpenFileProjectUpdates)?void 0:t.delete(n.path))&&(this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(n,5),n.isOrphan()&&this.assignOrphanScriptInfoToInferredProject(n,this.openFiles.get(n.path))),this.tryGetDefaultProjectForFile(n)}ensureDefaultProjectForFile(e){return this.tryGetDefaultProjectForEnsuringConfiguredProjectForFile(e)||this.doEnsureDefaultProjectForFile(e)}doEnsureDefaultProjectForFile(e){this.ensureProjectStructuresUptoDate();const t=isString(e)?this.getScriptInfoForNormalizedPath(e):e;return t?t.getDefaultProject():(this.logErrorForScriptInfoNotFound(isString(e)?e:e.fileName),I_.ThrowNoProject())}getScriptInfoEnsuringProjectsUptoDate(e){return this.ensureProjectStructuresUptoDate(),this.getScriptInfo(e)}ensureProjectStructuresUptoDate(){let e=this.pendingEnsureProjectForOpenFiles;this.pendingProjectUpdates.clear();const updateGraph=t=>{e=updateProjectIfDirty(t)||e};this.externalProjects.forEach(updateGraph),this.configuredProjects.forEach(updateGraph),this.inferredProjects.forEach(updateGraph),e&&this.ensureProjectForOpenFiles()}getFormatCodeOptions(e){const t=this.getScriptInfoForNormalizedPath(e);return t&&t.getFormatCodeSettings()||this.hostConfiguration.formatCodeOptions}getPreferences(e){const t=this.getScriptInfoForNormalizedPath(e);return{...this.hostConfiguration.preferences,...t&&t.getPreferences()}}getHostFormatCodeOptions(){return this.hostConfiguration.formatCodeOptions}getHostPreferences(){return this.hostConfiguration.preferences}onSourceFileChanged(e,t){h.assert(!e.isScriptOpen()),2===t?this.handleDeletedFile(e,!0):(e.deferredDelete&&(e.deferredDelete=void 0),e.delayReloadNonMixedContentFile(),this.delayUpdateProjectGraphs(e.containingProjects,!1),this.handleSourceMapProjects(e))}handleSourceMapProjects(e){if(e.sourceMapFilePath)if(isString(e.sourceMapFilePath)){const t=this.getScriptInfoForPath(e.sourceMapFilePath);this.delayUpdateSourceInfoProjects(null==t?void 0:t.sourceInfos)}else this.delayUpdateSourceInfoProjects(e.sourceMapFilePath.sourceInfos);this.delayUpdateSourceInfoProjects(e.sourceInfos),e.declarationInfoPath&&this.delayUpdateProjectsOfScriptInfoPath(e.declarationInfoPath)}delayUpdateSourceInfoProjects(e){e&&e.forEach((e,t)=>this.delayUpdateProjectsOfScriptInfoPath(t))}delayUpdateProjectsOfScriptInfoPath(e){const t=this.getScriptInfoForPath(e);t&&this.delayUpdateProjectGraphs(t.containingProjects,!0)}handleDeletedFile(e,t){h.assert(!e.isScriptOpen()),this.delayUpdateProjectGraphs(e.containingProjects,!1),this.handleSourceMapProjects(e),e.detachAllProjects(),t?(e.delayReloadNonMixedContentFile(),e.deferredDelete=!0):this.deleteScriptInfo(e)}watchWildcardDirectory(e,t,n,r){let i=this.watchFactory.watchDirectory(e,t=>this.onWildCardDirectoryWatcherInvoke(e,n,r,o,t),t,this.getWatchOptionsFromProjectWatchOptions(r.parsedCommandLine.watchOptions,getDirectoryPath(n)),Ya.WildcardDirectory,n);const o={packageJsonWatches:void 0,close(){var e;i&&(i.close(),i=void 0,null==(e=o.packageJsonWatches)||e.forEach(e=>{e.projects.delete(o),e.close()}),o.packageJsonWatches=void 0)}};return o}onWildCardDirectoryWatcherInvoke(e,t,n,r,i){const o=this.toPath(i),a=n.cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(i,o);if("package.json"===getBaseFileName(o)&&!isInsideNodeModules(o)&&(a&&a.fileExists||!a&&this.host.fileExists(i))){const e=this.getNormalizedAbsolutePath(i);this.logger.info(`Config: ${t} Detected new package.json: ${e}`),this.packageJsonCache.addOrUpdate(e,o),this.watchPackageJsonFile(e,o,r)}(null==a?void 0:a.fileExists)||this.sendSourceFileChange(o);const s=this.findConfiguredProjectByProjectName(t);isIgnoredFileFromWildCardWatching({watchedDirPath:this.toPath(e),fileOrDirectory:i,fileOrDirectoryPath:o,configFileName:t,extraFileExtensions:this.hostConfiguration.extraFileExtensions,currentDirectory:this.currentDirectory,options:n.parsedCommandLine.options,program:(null==s?void 0:s.getCurrentProgram())||n.parsedCommandLine.fileNames,useCaseSensitiveFileNames:this.host.useCaseSensitiveFileNames,writeLog:e=>this.logger.info(e),toPath:e=>this.toPath(e),getScriptKind:s?e=>s.getScriptKind(e):void 0})||(2!==n.updateLevel&&(n.updateLevel=1),n.projects.forEach((e,n)=>{var r;if(!e)return;const i=this.getConfiguredProjectByCanonicalConfigFilePath(n);if(!i)return;if(s!==i&&this.getHostPreferences().includeCompletionsForModuleExports){const e=this.toPath(t);find(null==(r=i.getCurrentProgram())?void 0:r.getResolvedProjectReferences(),t=>(null==t?void 0:t.sourceFile.path)===e)&&i.markAutoImportProviderAsDirty()}const a=s===i?1:0;if(!(i.pendingUpdateLevel>a))if(this.openFiles.has(o)){if(h.checkDefined(this.getScriptInfoForPath(o)).isAttached(i)){const e=Math.max(a,i.openFileWatchTriggered.get(o)||0);i.openFileWatchTriggered.set(o,e)}else i.pendingUpdateLevel=a,this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(i)}else i.pendingUpdateLevel=a,this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(i)}))}delayUpdateProjectsFromParsedConfigOnConfigFileChange(e,t){const n=this.configFileExistenceInfoCache.get(e);if(!(null==n?void 0:n.config))return!1;let r=!1;return n.config.updateLevel=2,n.config.cachedDirectoryStructureHost.clearCache(),n.config.projects.forEach((n,i)=>{var o,a,s;const c=this.getConfiguredProjectByCanonicalConfigFilePath(i);if(c)if(r=!0,i===e){if(c.initialLoadPending)return;c.pendingUpdateLevel=2,c.pendingUpdateReason=t,this.delayUpdateProjectGraph(c),c.markAutoImportProviderAsDirty()}else{if(c.initialLoadPending)return void(null==(a=null==(o=this.configFileExistenceInfoCache.get(i))?void 0:o.openFilesImpactedByConfigFile)||a.forEach(e=>{var t;(null==(t=this.pendingOpenFileProjectUpdates)?void 0:t.has(e))||(this.pendingOpenFileProjectUpdates??(this.pendingOpenFileProjectUpdates=new Map)).set(e,this.configFileForOpenFiles.get(e))}));const t=this.toPath(e);c.resolutionCache.removeResolutionsFromProjectReferenceRedirects(t),this.delayUpdateProjectGraph(c),this.getHostPreferences().includeCompletionsForModuleExports&&find(null==(s=c.getCurrentProgram())?void 0:s.getResolvedProjectReferences(),e=>(null==e?void 0:e.sourceFile.path)===t)&&c.markAutoImportProviderAsDirty()}}),r}onConfigFileChanged(e,t,n){const r=this.configFileExistenceInfoCache.get(t),i=this.getConfiguredProjectByCanonicalConfigFilePath(t),o=null==i?void 0:i.deferredClose;2===n?(r.exists=!1,i&&(i.deferredClose=!0)):(r.exists=!0,o&&(i.deferredClose=void 0,i.markAsDirty())),this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(t,"Change in config file detected"),this.openFiles.forEach((e,t)=>{var n,i;const o=this.configFileForOpenFiles.get(t);if(!(null==(n=r.openFilesImpactedByConfigFile)?void 0:n.has(t)))return;this.configFileForOpenFiles.delete(t);const a=this.getScriptInfoForPath(t);this.getConfigFileNameForFile(a,!1)&&((null==(i=this.pendingOpenFileProjectUpdates)?void 0:i.has(t))||(this.pendingOpenFileProjectUpdates??(this.pendingOpenFileProjectUpdates=new Map)).set(t,o))}),this.delayEnsureProjectForOpenFiles()}removeProject(e){switch(this.logger.info("`remove Project::"),e.print(!0,!0,!1),e.close(),h.shouldAssert(1)&&this.filenameToScriptInfo.forEach(t=>h.assert(!t.isAttached(e),"Found script Info still attached to project",()=>`${e.projectName}: ScriptInfos still attached: ${JSON.stringify(arrayFrom(mapDefinedIterator(this.filenameToScriptInfo.values(),t=>t.isAttached(e)?{fileName:t.fileName,projects:t.containingProjects.map(e=>e.projectName),hasMixedContent:t.hasMixedContent}:void 0)),void 0," ")}`)),this.pendingProjectUpdates.delete(e.getProjectName()),e.projectKind){case 2:unorderedRemoveItem(this.externalProjects,e),this.projectToSizeMap.delete(e.getProjectName());break;case 1:this.configuredProjects.delete(e.canonicalConfigFilePath),this.projectToSizeMap.delete(e.canonicalConfigFilePath);break;case 0:unorderedRemoveItem(this.inferredProjects,e)}}assignOrphanScriptInfoToInferredProject(e,t){h.assert(e.isOrphan());const n=this.getOrCreateInferredProjectForProjectRootPathIfEnabled(e,t)||this.getOrCreateSingleInferredProjectIfEnabled()||this.getOrCreateSingleInferredWithoutProjectRoot(e.isDynamic?t||this.currentDirectory:getDirectoryPath(isRootedDiskPath(e.fileName)?e.fileName:getNormalizedAbsolutePath(e.fileName,t?this.getNormalizedAbsolutePath(t):this.currentDirectory)));if(n.addRoot(e),e.containingProjects[0]!==n&&(orderedRemoveItem(e.containingProjects,n),e.containingProjects.unshift(n)),n.updateGraph(),!this.useSingleInferredProject&&!n.projectRootPath)for(const e of this.inferredProjects){if(e===n||e.isOrphan())continue;const t=e.getRootScriptInfos();h.assert(1===t.length||!!e.projectRootPath),1===t.length&&forEach(t[0].containingProjects,e=>e!==t[0].containingProjects[0]&&!e.isOrphan())&&e.removeFile(t[0],!0,!0)}return n}assignOrphanScriptInfosToInferredProject(){this.openFiles.forEach((e,t)=>{const n=this.getScriptInfoForPath(t);n.isOrphan()&&this.assignOrphanScriptInfoToInferredProject(n,e)})}closeOpenFile(e,t){var n;const r=!e.isDynamic&&this.host.fileExists(e.fileName);e.close(r),this.stopWatchingConfigFilesForScriptInfo(e);const i=this.toCanonicalFileName(e.fileName);this.openFilesWithNonRootedDiskPath.get(i)===e&&this.openFilesWithNonRootedDiskPath.delete(i);let o=!1;for(const t of e.containingProjects){if(isConfiguredProject(t)){e.hasMixedContent&&e.registerFileUpdate();const n=t.openFileWatchTriggered.get(e.path);void 0!==n&&(t.openFileWatchTriggered.delete(e.path),t.pendingUpdateLevel<n&&(t.pendingUpdateLevel=n,t.markFileAsDirty(e.path)))}else isInferredProject(t)&&t.isRoot(e)&&(t.isProjectWithSingleRoot()&&(o=!0),t.removeFile(e,r,!0));t.languageServiceEnabled||t.markAsDirty()}return this.openFiles.delete(e.path),this.configFileForOpenFiles.delete(e.path),null==(n=this.pendingOpenFileProjectUpdates)||n.delete(e.path),h.assert(!this.rootOfInferredProjects.has(e)),!t&&o&&this.assignOrphanScriptInfosToInferredProject(),r?this.watchClosedScriptInfo(e):this.handleDeletedFile(e,!1),o}deleteScriptInfo(e){h.assert(!e.isScriptOpen()),this.filenameToScriptInfo.delete(e.path),this.filenameToScriptInfoVersion.set(e.path,e.textStorage.version),this.stopWatchingScriptInfo(e);const t=e.getRealpathIfDifferent();t&&this.realpathToScriptInfos.remove(t,e),e.closeSourceMapFileWatcher()}configFileExists(e,t,n){const r=this.configFileExistenceInfoCache.get(t);let i;if(!this.openFiles.has(n.path)||isAncestorConfigFileInfo(n)&&!n.isForDefaultProject||(r?(r.openFilesImpactedByConfigFile??(r.openFilesImpactedByConfigFile=new Set)).add(n.path):(i=new Set).add(n.path)),r)return r.exists;const o=this.host.fileExists(e);return this.configFileExistenceInfoCache.set(t,{exists:o,openFilesImpactedByConfigFile:i}),o}createConfigFileWatcherForParsedConfig(e,t,n){var r,i;const o=this.configFileExistenceInfoCache.get(t);o.watcher&&o.watcher!==kf||(o.watcher=this.watchFactory.watchFile(e,(n,r)=>this.onConfigFileChanged(e,t,r),2e3,this.getWatchOptionsFromProjectWatchOptions(null==(i=null==(r=null==o?void 0:o.config)?void 0:r.parsedCommandLine)?void 0:i.watchOptions,getDirectoryPath(e)),Ya.ConfigFile,n)),this.ensureConfigFileWatcherForProject(o,n)}ensureConfigFileWatcherForProject(e,t){const n=e.config.projects;n.set(t.canonicalConfigFilePath,n.get(t.canonicalConfigFilePath)||!1)}releaseParsedConfig(e,t){var n,r,i;const o=this.configFileExistenceInfoCache.get(e);(null==(n=o.config)?void 0:n.projects.delete(t.canonicalConfigFilePath))&&((null==(r=o.config)?void 0:r.projects.size)||(o.config=void 0,clearSharedExtendedConfigFileWatcher(e,this.sharedExtendedConfigFileWatchers),h.checkDefined(o.watcher),(null==(i=o.openFilesImpactedByConfigFile)?void 0:i.size)?o.inferredProjectRoots?canWatchDirectoryOrFilePath(getDirectoryPath(e))||(o.watcher.close(),o.watcher=kf):(o.watcher.close(),o.watcher=void 0):(o.watcher.close(),this.configFileExistenceInfoCache.delete(e))))}stopWatchingConfigFilesForScriptInfo(e){if(0!==this.serverMode)return;const t=this.rootOfInferredProjects.delete(e),n=e.isScriptOpen();n&&!t||this.forEachConfigFileLocation(e,r=>{var i,o,a;const s=this.configFileExistenceInfoCache.get(r);if(s){if(n){if(!(null==(i=null==s?void 0:s.openFilesImpactedByConfigFile)?void 0:i.has(e.path)))return}else if(!(null==(o=s.openFilesImpactedByConfigFile)?void 0:o.delete(e.path)))return;t&&(s.inferredProjectRoots--,!s.watcher||s.config||s.inferredProjectRoots||(s.watcher.close(),s.watcher=void 0)),(null==(a=s.openFilesImpactedByConfigFile)?void 0:a.size)||s.config||(h.assert(!s.watcher),this.configFileExistenceInfoCache.delete(r))}})}startWatchingConfigFilesForInferredProjectRoot(e){0===this.serverMode&&(h.assert(e.isScriptOpen()),this.rootOfInferredProjects.add(e),this.forEachConfigFileLocation(e,(t,n)=>{let r=this.configFileExistenceInfoCache.get(t);r?r.inferredProjectRoots=(r.inferredProjectRoots??0)+1:(r={exists:this.host.fileExists(n),inferredProjectRoots:1},this.configFileExistenceInfoCache.set(t,r)),(r.openFilesImpactedByConfigFile??(r.openFilesImpactedByConfigFile=new Set)).add(e.path),r.watcher||(r.watcher=canWatchDirectoryOrFilePath(getDirectoryPath(t))?this.watchFactory.watchFile(n,(e,r)=>this.onConfigFileChanged(n,t,r),2e3,this.hostConfiguration.watchOptions,Ya.ConfigFileForInferredRoot):kf)}))}forEachConfigFileLocation(e,t){if(0!==this.serverMode)return;h.assert(!isOpenScriptInfo(e)||this.openFiles.has(e.path));const n=this.openFiles.get(e.path);if(h.checkDefined(this.getScriptInfo(e.path)).isDynamic)return;let r=getDirectoryPath(e.fileName);const isSearchPathInProjectRoot=()=>containsPath(n,r,this.currentDirectory,!this.host.useCaseSensitiveFileNames),i=!n||!isSearchPathInProjectRoot();let o=!0,a=!0;isAncestorConfigFileInfo(e)&&(o=!endsWith(e.fileName,"tsconfig.json")&&(a=!1));do{const e=normalizedPathToPath(r,this.currentDirectory,this.toCanonicalFileName);if(o){const n=asNormalizedPath(combinePaths(r,"tsconfig.json"));if(t(combinePaths(e,"tsconfig.json"),n))return n}if(a){const n=asNormalizedPath(combinePaths(r,"jsconfig.json"));if(t(combinePaths(e,"jsconfig.json"),n))return n}if(isNodeModulesDirectory(e))break;const n=asNormalizedPath(getDirectoryPath(r));if(n===r)break;r=n,o=a=!0}while(i||isSearchPathInProjectRoot())}findDefaultConfiguredProject(e){var t;return null==(t=this.findDefaultConfiguredProjectWorker(e,1))?void 0:t.defaultProject}findDefaultConfiguredProjectWorker(e,t){return e.isScriptOpen()?this.tryFindDefaultConfiguredProjectForOpenScriptInfo(e,t):void 0}getConfigFileNameForFileFromCache(e,t){if(t){const t=getConfigFileNameFromCache(e,this.pendingOpenFileProjectUpdates);if(void 0!==t)return t}return getConfigFileNameFromCache(e,this.configFileForOpenFiles)}setConfigFileNameForFileInCache(e,t){if(!this.openFiles.has(e.path))return;const n=t||!1;if(isAncestorConfigFileInfo(e)){let t=this.configFileForOpenFiles.get(e.path);t&&!isString(t)||this.configFileForOpenFiles.set(e.path,t=(new Map).set(!1,t)),t.set(e.fileName,n)}else this.configFileForOpenFiles.set(e.path,n)}getConfigFileNameForFile(e,t){const n=this.getConfigFileNameForFileFromCache(e,t);if(void 0!==n)return n||void 0;if(t)return;const r=this.forEachConfigFileLocation(e,(t,n)=>this.configFileExists(n,t,e));return this.logger.info(`getConfigFileNameForFile:: File: ${e.fileName} ProjectRootPath: ${this.openFiles.get(e.path)}:: Result: ${r}`),this.setConfigFileNameForFileInCache(e,r),r}printProjects(){this.logger.hasLevel(1)&&(this.logger.startGroup(),this.externalProjects.forEach(printProjectWithoutFileNames),this.configuredProjects.forEach(printProjectWithoutFileNames),this.inferredProjects.forEach(printProjectWithoutFileNames),this.logger.info("Open files: "),this.openFiles.forEach((e,t)=>{const n=this.getScriptInfoForPath(t);this.logger.info(`\tFileName: ${n.fileName} ProjectRootPath: ${e}`),this.logger.info(`\t\tProjects: ${n.containingProjects.map(e=>e.getProjectName())}`)}),this.logger.endGroup())}findConfiguredProjectByProjectName(e,t){const n=this.toCanonicalFileName(e),r=this.getConfiguredProjectByCanonicalConfigFilePath(n);return t?r:(null==r?void 0:r.deferredClose)?void 0:r}getConfiguredProjectByCanonicalConfigFilePath(e){return this.configuredProjects.get(e)}findExternalProjectByProjectName(e){return findProjectByName(e,this.externalProjects)}getFilenameForExceededTotalSizeLimitForNonTsFiles(e,t,n,r){if(t&&t.disableSizeLimit||!this.host.getFileSize)return;let i=af;this.projectToSizeMap.set(e,0),this.projectToSizeMap.forEach(e=>i-=e||0);let o=0;for(const e of n){const t=r.getFileName(e);if(!hasTSFileExtension(t)&&(o+=this.host.getFileSize(t),o>af||o>i)){const e=n.map(e=>r.getFileName(e)).filter(e=>!hasTSFileExtension(e)).map(e=>({name:e,size:this.host.getFileSize(e)})).sort((e,t)=>t.size-e.size).slice(0,5);return this.logger.info(`Non TS file size exceeded limit (${o}). Largest files: ${e.map(e=>`${e.name}:${e.size}`).join(", ")}`),t}}this.projectToSizeMap.set(e,o)}createExternalProject(e,t,n,r,i){const o=convertCompilerOptions(n),a=convertWatchOptions(n,getDirectoryPath(normalizeSlashes(e))),s=new of(e,this,o,this.getFilenameForExceededTotalSizeLimitForNonTsFiles(e,o,t,Ef),void 0===n.compileOnSave||n.compileOnSave,void 0,null==a?void 0:a.watchOptions);return s.setProjectErrors(null==a?void 0:a.errors),s.excludedFiles=i,this.addFilesToNonInferredProject(s,t,Ef,r),this.externalProjects.push(s),s}sendProjectTelemetry(e){if(this.seenProjects.has(e.projectName))return void setProjectOptionsUsed(e);if(this.seenProjects.set(e.projectName,!0),!this.eventHandler||!this.host.createSHA256Hash)return void setProjectOptionsUsed(e);const t=isConfiguredProject(e)?e.projectOptions:void 0;setProjectOptionsUsed(e);const n={projectId:this.host.createSHA256Hash(e.projectName),fileStats:countEachFileTypes(e.getScriptInfos(),!0),compilerOptions:convertCompilerOptionsForTelemetry(e.getCompilationSettings()),typeAcquisition:function convertTypeAcquisition2({enable:e,include:t,exclude:n}){return{enable:e,include:void 0!==t&&0!==t.length,exclude:void 0!==n&&0!==n.length}}(e.getTypeAcquisition()),extends:t&&t.configHasExtendsProperty,files:t&&t.configHasFilesProperty,include:t&&t.configHasIncludeProperty,exclude:t&&t.configHasExcludeProperty,compileOnSave:e.compileOnSaveEnabled,configFileName:function configFileName(){if(!isConfiguredProject(e))return"other";return getBaseConfigFileName(e.getConfigFilePath())||"other"}(),projectType:e instanceof of?"external":"configured",languageServiceEnabled:e.languageServiceEnabled,version:s};this.eventHandler({eventName:_f,data:n})}addFilesToNonInferredProject(e,t,n,r){this.updateNonInferredProjectFiles(e,t,n),e.setTypeAcquisition(r),e.markAsDirty()}createConfiguredProject(e,t){var n;null==(n=J)||n.instant(J.Phase.Session,"createConfiguredProject",{configFilePath:e});const r=this.toCanonicalFileName(e);let i=this.configFileExistenceInfoCache.get(r);i?i.exists=!0:this.configFileExistenceInfoCache.set(r,i={exists:!0}),i.config||(i.config={cachedDirectoryStructureHost:createCachedDirectoryStructureHost(this.host,this.host.getCurrentDirectory(),this.host.useCaseSensitiveFileNames),projects:new Map,updateLevel:2});const o=new rf(e,r,this,i.config.cachedDirectoryStructureHost,t);return h.assert(!this.configuredProjects.has(r)),this.configuredProjects.set(r,o),this.createConfigFileWatcherForParsedConfig(e,r,o),o}loadConfiguredProject(e,t){var n,r;null==(n=J)||n.push(J.Phase.Session,"loadConfiguredProject",{configFilePath:e.canonicalConfigFilePath}),this.sendProjectLoadingStartEvent(e,t);const i=toNormalizedPath(e.getConfigFilePath()),o=this.ensureParsedConfigUptoDate(i,e.canonicalConfigFilePath,this.configFileExistenceInfoCache.get(e.canonicalConfigFilePath),e),a=o.config.parsedCommandLine;h.assert(!!a.fileNames);const s=a.options;e.projectOptions||(e.projectOptions={configHasExtendsProperty:void 0!==a.raw.extends,configHasFilesProperty:void 0!==a.raw.files,configHasIncludeProperty:void 0!==a.raw.include,configHasExcludeProperty:void 0!==a.raw.exclude}),e.parsedCommandLine=a,e.setProjectErrors(a.options.configFile.parseDiagnostics),e.updateReferences(a.projectReferences);const c=this.getFilenameForExceededTotalSizeLimitForNonTsFiles(e.canonicalConfigFilePath,s,a.fileNames,Cf);c?(e.disableLanguageService(c),this.configFileExistenceInfoCache.forEach((t,n)=>this.stopWatchingWildCards(n,e))):(e.setCompilerOptions(s),e.setWatchOptions(a.watchOptions),e.enableLanguageService(),this.watchWildcards(i,o,e)),e.enablePluginsWithOptions(s);const l=a.fileNames.concat(e.getExternalFiles(2));this.updateRootAndOptionsOfNonInferredProject(e,l,Cf,s,a.typeAcquisition,a.compileOnSave,a.watchOptions),null==(r=J)||r.pop()}ensureParsedConfigUptoDate(e,t,n,r){var i,o,a;if(n.config&&(1===n.config.updateLevel&&this.reloadFileNamesOfParsedConfig(e,n.config),!n.config.updateLevel))return this.ensureConfigFileWatcherForProject(n,r),n;if(!n.exists&&n.config)return n.config.updateLevel=void 0,this.ensureConfigFileWatcherForProject(n,r),n;const s=(null==(i=n.config)?void 0:i.cachedDirectoryStructureHost)||createCachedDirectoryStructureHost(this.host,this.host.getCurrentDirectory(),this.host.useCaseSensitiveFileNames),c=tryReadFile(e,e=>this.host.readFile(e)),l=parseJsonText(e,isString(c)?c:""),d=l.parseDiagnostics;isString(c)||d.push(c);const p=getDirectoryPath(e),u=parseJsonSourceFileConfigFileContent(l,s,p,void 0,e,void 0,this.hostConfiguration.extraFileExtensions,this.extendedConfigCache);u.errors.length&&d.push(...u.errors),this.logger.info(`Config: ${e} : ${JSON.stringify({rootNames:u.fileNames,options:u.options,watchOptions:u.watchOptions,projectReferences:u.projectReferences},void 0," ")}`);const m=null==(o=n.config)?void 0:o.parsedCommandLine;return n.config?(n.config.parsedCommandLine=u,n.config.watchedDirectoriesStale=!0,n.config.updateLevel=void 0):n.config={parsedCommandLine:u,cachedDirectoryStructureHost:s,projects:new Map},m||isJsonEqual(this.getWatchOptionsFromProjectWatchOptions(void 0,p),this.getWatchOptionsFromProjectWatchOptions(u.watchOptions,p))||(null==(a=n.watcher)||a.close(),n.watcher=void 0),this.createConfigFileWatcherForParsedConfig(e,t,r),updateSharedExtendedConfigFileWatcher(t,u.options,this.sharedExtendedConfigFileWatchers,(t,n)=>this.watchFactory.watchFile(t,()=>{var e;cleanExtendedConfigCache(this.extendedConfigCache,n,e=>this.toPath(e));let r=!1;null==(e=this.sharedExtendedConfigFileWatchers.get(n))||e.projects.forEach(e=>{r=this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(e,`Change in extended config file ${t} detected`)||r}),r&&this.delayEnsureProjectForOpenFiles()},2e3,this.hostConfiguration.watchOptions,Ya.ExtendedConfigFile,e),e=>this.toPath(e)),n}watchWildcards(e,{exists:t,config:n},r){if(n.projects.set(r.canonicalConfigFilePath,!0),t){if(n.watchedDirectories&&!n.watchedDirectoriesStale)return;n.watchedDirectoriesStale=!1,updateWatchingWildcardDirectories(n.watchedDirectories||(n.watchedDirectories=new Map),n.parsedCommandLine.wildcardDirectories,(t,r)=>this.watchWildcardDirectory(t,r,e,n))}else{if(n.watchedDirectoriesStale=!1,!n.watchedDirectories)return;clearMap(n.watchedDirectories,closeFileWatcherOf),n.watchedDirectories=void 0}}stopWatchingWildCards(e,t){const n=this.configFileExistenceInfoCache.get(e);n.config&&n.config.projects.get(t.canonicalConfigFilePath)&&(n.config.projects.set(t.canonicalConfigFilePath,!1),forEachEntry(n.config.projects,identity)||(n.config.watchedDirectories&&(clearMap(n.config.watchedDirectories,closeFileWatcherOf),n.config.watchedDirectories=void 0),n.config.watchedDirectoriesStale=void 0))}updateNonInferredProjectFiles(e,t,n){var r;const i=e.getRootFilesMap(),o=new Map;for(const a of t){const t=n.getFileName(a),s=toNormalizedPath(t);let c;if(isDynamicFileName(s)||e.fileExists(t)){const t=n.getScriptKind(a,this.hostConfiguration.extraFileExtensions),r=n.hasMixedContent(a,this.hostConfiguration.extraFileExtensions),o=h.checkDefined(this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(s,e.currentDirectory,t,r,e.directoryStructureHost,!1));c=o.path;const l=i.get(c);l&&l.info===o?l.fileName=s:(e.addRoot(o,s),o.isScriptOpen()&&this.removeRootOfInferredProjectIfNowPartOfOtherProject(o))}else{c=normalizedPathToPath(s,this.currentDirectory,this.toCanonicalFileName);const t=i.get(c);t?((null==(r=t.info)?void 0:r.path)===c&&(e.removeFile(t.info,!1,!0),t.info=void 0),t.fileName=s):i.set(c,{fileName:s})}o.set(c,!0)}i.size>o.size&&i.forEach((t,n)=>{o.has(n)||(t.info?e.removeFile(t.info,e.fileExists(t.info.fileName),!0):i.delete(n))})}updateRootAndOptionsOfNonInferredProject(e,t,n,r,i,o,a){e.setCompilerOptions(r),e.setWatchOptions(a),void 0!==o&&(e.compileOnSaveEnabled=o),this.addFilesToNonInferredProject(e,t,n,i)}reloadFileNamesOfConfiguredProject(e){const t=this.reloadFileNamesOfParsedConfig(e.getConfigFilePath(),this.configFileExistenceInfoCache.get(e.canonicalConfigFilePath).config);return e.updateErrorOnNoInputFiles(t),this.updateNonInferredProjectFiles(e,t.fileNames.concat(e.getExternalFiles(1)),Cf),e.markAsDirty(),e.updateGraph()}reloadFileNamesOfParsedConfig(e,t){if(void 0===t.updateLevel)return t.parsedCommandLine;h.assert(1===t.updateLevel);const n=getFileNamesFromConfigSpecs(t.parsedCommandLine.options.configFile.configFileSpecs,getDirectoryPath(e),t.parsedCommandLine.options,t.cachedDirectoryStructureHost,this.hostConfiguration.extraFileExtensions);return t.parsedCommandLine={...t.parsedCommandLine,fileNames:n},t.updateLevel=void 0,t.parsedCommandLine}setFileNamesOfAutoImportProviderOrAuxillaryProject(e,t){this.updateNonInferredProjectFiles(e,t,Cf)}reloadConfiguredProjectOptimized(e,t,n){n.has(e)||(n.set(e,6),e.initialLoadPending||this.setProjectForReload(e,2,t))}reloadConfiguredProjectClearingSemanticCache(e,t,n){return 7!==n.get(e)&&(n.set(e,7),this.clearSemanticCache(e),this.reloadConfiguredProject(e,reloadReason(t)),!0)}setProjectForReload(e,t,n){2===t&&this.clearSemanticCache(e),e.pendingUpdateReason=n&&reloadReason(n),e.pendingUpdateLevel=t}reloadConfiguredProject(e,t){e.initialLoadPending=!1,this.setProjectForReload(e,0),this.loadConfiguredProject(e,t),updateWithTriggerFile(e,e.triggerFileForConfigFileDiag??e.getConfigFilePath(),!0)}clearSemanticCache(e){e.originalConfiguredProjects=void 0,e.resolutionCache.clear(),e.getLanguageService(!1).cleanupSemanticCache(),e.cleanupProgram(),e.markAsDirty()}sendConfigFileDiagEvent(e,t,n){if(!this.eventHandler||this.suppressDiagnosticEvents)return!1;const r=e.getLanguageService().getCompilerOptionsDiagnostics();return r.push(...e.getAllProjectErrors()),!(!n&&r.length===(e.configDiagDiagnosticsReported??0))&&(e.configDiagDiagnosticsReported=r.length,this.eventHandler({eventName:uf,data:{configFileName:e.getConfigFilePath(),diagnostics:r,triggerFile:t??e.getConfigFilePath()}}),!0)}getOrCreateInferredProjectForProjectRootPathIfEnabled(e,t){if(!this.useInferredProjectPerProjectRoot||e.isDynamic&&void 0===t)return;if(t){const e=this.toCanonicalFileName(t);for(const t of this.inferredProjects)if(t.projectRootPath===e)return t;return this.createInferredProject(t,!1,t)}let n;for(const t of this.inferredProjects)t.projectRootPath&&containsPath(t.projectRootPath,e.path,this.host.getCurrentDirectory(),!this.host.useCaseSensitiveFileNames)&&(n&&n.projectRootPath.length>t.projectRootPath.length||(n=t));return n}getOrCreateSingleInferredProjectIfEnabled(){if(this.useSingleInferredProject)return this.inferredProjects.length>0&&void 0===this.inferredProjects[0].projectRootPath?this.inferredProjects[0]:this.createInferredProject(this.currentDirectory,!0,void 0)}getOrCreateSingleInferredWithoutProjectRoot(e){h.assert(!this.useSingleInferredProject);const t=this.toCanonicalFileName(this.getNormalizedAbsolutePath(e));for(const e of this.inferredProjects)if(!e.projectRootPath&&e.isOrphan()&&e.canonicalCurrentDirectory===t)return e;return this.createInferredProject(e,!1,void 0)}createInferredProject(e,t,n){const r=n&&this.compilerOptionsForInferredProjectsPerProjectRoot.get(n)||this.compilerOptionsForInferredProjects;let i,o;n&&(i=this.watchOptionsForInferredProjectsPerProjectRoot.get(n),o=this.typeAcquisitionForInferredProjectsPerProjectRoot.get(n)),void 0===i&&(i=this.watchOptionsForInferredProjects),void 0===o&&(o=this.typeAcquisitionForInferredProjects),i=i||void 0;const a=new Z_(this,r,null==i?void 0:i.watchOptions,n,e,o);return a.setProjectErrors(null==i?void 0:i.errors),t?this.inferredProjects.unshift(a):this.inferredProjects.push(a),a}getOrCreateScriptInfoNotOpenedByClient(e,t,n,r){return this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(toNormalizedPath(e),t,void 0,void 0,n,r)}getScriptInfo(e){return this.getScriptInfoForNormalizedPath(toNormalizedPath(e))}getScriptInfoOrConfig(e){const t=toNormalizedPath(e),n=this.getScriptInfoForNormalizedPath(t);if(n)return n;const r=this.configuredProjects.get(this.toPath(e));return r&&r.getCompilerOptions().configFile}logErrorForScriptInfoNotFound(e){const t=arrayFrom(mapDefinedIterator(this.filenameToScriptInfo.entries(),e=>e[1].deferredDelete?void 0:e),([e,t])=>({path:e,fileName:t.fileName}));this.logger.msg(`Could not find file ${JSON.stringify(e)}.\nAll files are: ${JSON.stringify(t)}`,"Err")}getSymlinkedProjects(e){let t;if(this.realpathToScriptInfos){const t=e.getRealpathIfDifferent();t&&forEach(this.realpathToScriptInfos.get(t),combineProjects),forEach(this.realpathToScriptInfos.get(e.path),combineProjects)}return t;function combineProjects(n){if(n!==e)for(const r of n.containingProjects)!r.languageServiceEnabled||r.isOrphan()||r.getCompilerOptions().preserveSymlinks||e.isAttached(r)||(t?forEachEntry(t,(e,t)=>t!==n.path&&contains(e,r))||t.add(n.path,r):(t=createMultiMap(),t.add(n.path,r)))}}watchClosedScriptInfo(e){if(h.assert(!e.fileWatcher),!(e.isDynamicOrHasMixedContent()||this.globalCacheLocationDirectoryPath&&startsWith(e.path,this.globalCacheLocationDirectoryPath))){const t=e.fileName.indexOf("/node_modules/");this.host.getModifiedTime&&-1!==t?(e.mTime=this.getModifiedTime(e),e.fileWatcher=this.watchClosedScriptInfoInNodeModules(e.fileName.substring(0,t))):e.fileWatcher=this.watchFactory.watchFile(e.fileName,(t,n)=>this.onSourceFileChanged(e,n),500,this.hostConfiguration.watchOptions,Ya.ClosedScriptInfo)}}createNodeModulesWatcher(e,t){let n=this.watchFactory.watchDirectory(e,e=>{var n;const i=removeIgnoredPath(this.toPath(e));if(!i)return;const o=getBaseFileName(i);if(!(null==(n=r.affectedModuleSpecifierCacheProjects)?void 0:n.size)||"package.json"!==o&&"node_modules"!==o||r.affectedModuleSpecifierCacheProjects.forEach(e=>{var t;null==(t=e.getModuleSpecifierCache())||t.clear()}),r.refreshScriptInfoRefCount)if(t===i)this.refreshScriptInfosInDirectory(t);else{const e=this.filenameToScriptInfo.get(i);e?isScriptInfoWatchedFromNodeModules(e)&&this.refreshScriptInfo(e):hasExtension(i)||this.refreshScriptInfosInDirectory(i)}},1,this.hostConfiguration.watchOptions,Ya.NodeModules);const r={refreshScriptInfoRefCount:0,affectedModuleSpecifierCacheProjects:void 0,close:()=>{var e;!n||r.refreshScriptInfoRefCount||(null==(e=r.affectedModuleSpecifierCacheProjects)?void 0:e.size)||(n.close(),n=void 0,this.nodeModulesWatchers.delete(t))}};return this.nodeModulesWatchers.set(t,r),r}watchPackageJsonsInNodeModules(e,t){var n;const r=this.toPath(e),i=this.nodeModulesWatchers.get(r)||this.createNodeModulesWatcher(e,r);return h.assert(!(null==(n=i.affectedModuleSpecifierCacheProjects)?void 0:n.has(t))),(i.affectedModuleSpecifierCacheProjects||(i.affectedModuleSpecifierCacheProjects=new Set)).add(t),{close:()=>{var e;null==(e=i.affectedModuleSpecifierCacheProjects)||e.delete(t),i.close()}}}watchClosedScriptInfoInNodeModules(e){const t=e+"/node_modules",n=this.toPath(t),r=this.nodeModulesWatchers.get(n)||this.createNodeModulesWatcher(t,n);return r.refreshScriptInfoRefCount++,{close:()=>{r.refreshScriptInfoRefCount--,r.close()}}}getModifiedTime(e){return(this.host.getModifiedTime(e.fileName)||St).getTime()}refreshScriptInfo(e){const t=this.getModifiedTime(e);if(t!==e.mTime){const n=getFileWatcherEventKind(e.mTime,t);e.mTime=t,this.onSourceFileChanged(e,n)}}refreshScriptInfosInDirectory(e){e+=Ft,this.filenameToScriptInfo.forEach(t=>{isScriptInfoWatchedFromNodeModules(t)&&startsWith(t.path,e)&&this.refreshScriptInfo(t)})}stopWatchingScriptInfo(e){e.fileWatcher&&(e.fileWatcher.close(),e.fileWatcher=void 0)}getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(e,t,n,r,i,o){if(isRootedDiskPath(e)||isDynamicFileName(e))return this.getOrCreateScriptInfoWorker(e,t,!1,void 0,n,!!r,i,o);const a=this.openFilesWithNonRootedDiskPath.get(this.toCanonicalFileName(e));return a||void 0}getOrCreateScriptInfoForNormalizedPath(e,t,n,r,i,o){return this.getOrCreateScriptInfoWorker(e,this.currentDirectory,t,n,r,!!i,o,!1)}getOrCreateScriptInfoWorker(e,t,n,r,i,o,a,s){h.assert(void 0===r||n,"ScriptInfo needs to be opened by client to be able to set its user defined content");const c=normalizedPathToPath(e,t,this.toCanonicalFileName);let l=this.filenameToScriptInfo.get(c);if(l){if(l.deferredDelete){if(h.assert(!l.isDynamic),!n&&!(a||this.host).fileExists(e))return s?l:void 0;l.deferredDelete=void 0}}else{const r=isDynamicFileName(e);if(h.assert(isRootedDiskPath(e)||r||n,"",()=>`${JSON.stringify({fileName:e,currentDirectory:t,hostCurrentDirectory:this.currentDirectory,openKeys:arrayFrom(this.openFilesWithNonRootedDiskPath.keys())})}\nScript info with non-dynamic relative file name can only be open script info or in context of host currentDirectory`),h.assert(!isRootedDiskPath(e)||this.currentDirectory===t||!this.openFilesWithNonRootedDiskPath.has(this.toCanonicalFileName(e)),"",()=>`${JSON.stringify({fileName:e,currentDirectory:t,hostCurrentDirectory:this.currentDirectory,openKeys:arrayFrom(this.openFilesWithNonRootedDiskPath.keys())})}\nOpen script files with non rooted disk path opened with current directory context cannot have same canonical names`),h.assert(!r||this.currentDirectory===t||this.useInferredProjectPerProjectRoot,"",()=>`${JSON.stringify({fileName:e,currentDirectory:t,hostCurrentDirectory:this.currentDirectory,openKeys:arrayFrom(this.openFilesWithNonRootedDiskPath.keys())})}\nDynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath.`),!n&&!r&&!(a||this.host).fileExists(e))return;l=new Q_(this.host,e,i,o,c,this.filenameToScriptInfoVersion.get(c)),this.filenameToScriptInfo.set(l.path,l),this.filenameToScriptInfoVersion.delete(l.path),n?isRootedDiskPath(e)||r&&this.currentDirectory===t||this.openFilesWithNonRootedDiskPath.set(this.toCanonicalFileName(e),l):this.watchClosedScriptInfo(l)}return n&&(this.stopWatchingScriptInfo(l),l.open(r),o&&l.registerFileUpdate()),l}getScriptInfoForNormalizedPath(e){return!isRootedDiskPath(e)&&this.openFilesWithNonRootedDiskPath.get(this.toCanonicalFileName(e))||this.getScriptInfoForPath(normalizedPathToPath(e,this.currentDirectory,this.toCanonicalFileName))}getScriptInfoForPath(e){const t=this.filenameToScriptInfo.get(e);return t&&t.deferredDelete?void 0:t}getDocumentPositionMapper(e,t,n){const r=this.getOrCreateScriptInfoNotOpenedByClient(t,e.currentDirectory,this.host,!1);if(!r)return void(n&&e.addGeneratedFileWatch(t,n));if(r.getSnapshot(),isString(r.sourceMapFilePath)){const t=this.getScriptInfoForPath(r.sourceMapFilePath);if(t&&(t.getSnapshot(),void 0!==t.documentPositionMapper))return t.sourceInfos=this.addSourceInfoToSourceMap(n,e,t.sourceInfos),t.documentPositionMapper?t.documentPositionMapper:void 0;r.sourceMapFilePath=void 0}else{if(r.sourceMapFilePath)return void(r.sourceMapFilePath.sourceInfos=this.addSourceInfoToSourceMap(n,e,r.sourceMapFilePath.sourceInfos));if(void 0!==r.sourceMapFilePath)return}let i,readMapFile=(t,n)=>{const r=this.getOrCreateScriptInfoNotOpenedByClient(t,e.currentDirectory,this.host,!0);if(i=r||n,!r||r.deferredDelete)return;const o=r.getSnapshot();return void 0!==r.documentPositionMapper?r.documentPositionMapper:getSnapshotText(o)};const o=e.projectName,a=getDocumentPositionMapper({getCanonicalFileName:this.toCanonicalFileName,log:e=>this.logger.info(e),getSourceFileLike:e=>this.getSourceFileLike(e,o,r)},r.fileName,r.textStorage.getLineInfo(),readMapFile);return readMapFile=void 0,i?isString(i)?r.sourceMapFilePath={watcher:this.addMissingSourceMapFile(e.currentDirectory===this.currentDirectory?i:getNormalizedAbsolutePath(i,e.currentDirectory),r.path),sourceInfos:this.addSourceInfoToSourceMap(n,e)}:(r.sourceMapFilePath=i.path,i.declarationInfoPath=r.path,i.deferredDelete||(i.documentPositionMapper=a||!1),i.sourceInfos=this.addSourceInfoToSourceMap(n,e,i.sourceInfos)):r.sourceMapFilePath=!1,a}addSourceInfoToSourceMap(e,t,n){if(e){const r=this.getOrCreateScriptInfoNotOpenedByClient(e,t.currentDirectory,t.directoryStructureHost,!1);(n||(n=new Set)).add(r.path)}return n}addMissingSourceMapFile(e,t){return this.watchFactory.watchFile(e,()=>{const e=this.getScriptInfoForPath(t);e&&e.sourceMapFilePath&&!isString(e.sourceMapFilePath)&&(this.delayUpdateProjectGraphs(e.containingProjects,!0),this.delayUpdateSourceInfoProjects(e.sourceMapFilePath.sourceInfos),e.closeSourceMapFileWatcher())},2e3,this.hostConfiguration.watchOptions,Ya.MissingSourceMapFile)}getSourceFileLike(e,t,n){const r=t.projectName?t:this.findProject(t);if(r){const t=r.toPath(e),n=r.getSourceFile(t);if(n&&n.resolvedPath===t)return n}const i=this.getOrCreateScriptInfoNotOpenedByClient(e,(r||this).currentDirectory,r?r.directoryStructureHost:this.host,!1);if(i){if(n&&isString(n.sourceMapFilePath)&&i!==n){const e=this.getScriptInfoForPath(n.sourceMapFilePath);e&&(e.sourceInfos??(e.sourceInfos=new Set)).add(i.path)}return i.cacheSourceFile?i.cacheSourceFile.sourceFile:(i.sourceFileLike||(i.sourceFileLike={get text(){return h.fail("shouldnt need text"),""},getLineAndCharacterOfPosition:e=>{const t=i.positionToLineOffset(e);return{line:t.line-1,character:t.offset-1}},getPositionOfLineAndCharacter:(e,t,n)=>i.lineOffsetToPosition(e+1,t+1,n)}),i.sourceFileLike)}}setPerformanceEventHandler(e){this.performanceEventHandler=e}setHostConfiguration(e){var t;if(e.file){const t=this.getScriptInfoForNormalizedPath(toNormalizedPath(e.file));t&&(t.setOptions(convertFormatOptions(e.formatOptions),e.preferences),this.logger.info(`Host configuration update for file ${e.file}`))}else{if(void 0!==e.hostInfo&&(this.hostConfiguration.hostInfo=e.hostInfo,this.logger.info(`Host information ${e.hostInfo}`)),e.formatOptions&&(this.hostConfiguration.formatCodeOptions={...this.hostConfiguration.formatCodeOptions,...convertFormatOptions(e.formatOptions)},this.logger.info("Format host information updated")),e.preferences){const{lazyConfiguredProjectsFromExternalProject:t,includePackageJsonAutoImports:n,includeCompletionsForModuleExports:r}=this.hostConfiguration.preferences;this.hostConfiguration.preferences={...this.hostConfiguration.preferences,...e.preferences},t&&!this.hostConfiguration.preferences.lazyConfiguredProjectsFromExternalProject&&this.externalProjectToConfiguredProjectMap.forEach(e=>e.forEach(e=>{e.deferredClose||e.isClosed()||2!==e.pendingUpdateLevel||this.hasPendingProjectUpdate(e)||e.updateGraph()})),n===e.preferences.includePackageJsonAutoImports&&!!r==!!e.preferences.includeCompletionsForModuleExports||this.forEachProject(e=>{e.onAutoImportProviderSettingsChanged()})}if(e.extraFileExtensions&&(this.hostConfiguration.extraFileExtensions=e.extraFileExtensions,this.reloadProjects(),this.logger.info("Host file extension mappings updated")),e.watchOptions){const n=null==(t=convertWatchOptions(e.watchOptions))?void 0:t.watchOptions,r=handleWatchOptionsConfigDirTemplateSubstitution(n,this.currentDirectory);this.hostConfiguration.watchOptions=r,this.hostConfiguration.beforeSubstitution=r===n?void 0:n,this.logger.info(`Host watch options changed to ${JSON.stringify(this.hostConfiguration.watchOptions)}, it will be take effect for next watches.`)}}}getWatchOptions(e){return this.getWatchOptionsFromProjectWatchOptions(e.getWatchOptions(),e.getCurrentDirectory())}getWatchOptionsFromProjectWatchOptions(e,t){const n=this.hostConfiguration.beforeSubstitution?handleWatchOptionsConfigDirTemplateSubstitution(this.hostConfiguration.beforeSubstitution,t):this.hostConfiguration.watchOptions;return e&&n?{...n,...e}:e||n}closeLog(){this.logger.close()}sendSourceFileChange(e){this.filenameToScriptInfo.forEach(t=>{if(this.openFiles.has(t.path))return;if(!t.fileWatcher)return;const n=memoize(()=>this.host.fileExists(t.fileName)?t.deferredDelete?0:1:2);if(e){if(isScriptInfoWatchedFromNodeModules(t)||!t.path.startsWith(e))return;if(2===n()&&t.deferredDelete)return;this.logger.info(`Invoking sourceFileChange on ${t.fileName}:: ${n()}`)}this.onSourceFileChanged(t,n())})}reloadProjects(){this.logger.info("reload projects."),this.sendSourceFileChange(void 0),this.pendingProjectUpdates.forEach((e,t)=>{this.throttledOperations.cancel(t),this.pendingProjectUpdates.delete(t)}),this.throttledOperations.cancel(Tf),this.pendingOpenFileProjectUpdates=void 0,this.pendingEnsureProjectForOpenFiles=!1,this.configFileExistenceInfoCache.forEach(e=>{e.config&&(e.config.updateLevel=2,e.config.cachedDirectoryStructureHost.clearCache())}),this.configFileForOpenFiles.clear(),this.externalProjects.forEach(e=>{this.clearSemanticCache(e),e.updateGraph()});const e=new Map,t=new Set;this.externalProjectToConfiguredProjectMap.forEach((t,n)=>{const r=`Reloading configured project in external project: ${n}`;t.forEach(t=>{this.getHostPreferences().lazyConfiguredProjectsFromExternalProject?this.reloadConfiguredProjectOptimized(t,r,e):this.reloadConfiguredProjectClearingSemanticCache(t,r,e)})}),this.openFiles.forEach((n,r)=>{const i=this.getScriptInfoForPath(r);find(i.containingProjects,isExternalProject)||this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(i,7,e,t)}),t.forEach(t=>e.set(t,7)),this.inferredProjects.forEach(e=>this.clearSemanticCache(e)),this.ensureProjectForOpenFiles(),this.cleanupProjectsAndScriptInfos(e,new Set(this.openFiles.keys()),new Set(this.externalProjectToConfiguredProjectMap.keys())),this.logger.info("After reloading projects.."),this.printProjects()}removeRootOfInferredProjectIfNowPartOfOtherProject(e){h.assert(e.containingProjects.length>0);const t=e.containingProjects[0];!t.isOrphan()&&isInferredProject(t)&&t.isRoot(e)&&forEach(e.containingProjects,e=>e!==t&&!e.isOrphan())&&t.removeFile(e,!0,!0)}ensureProjectForOpenFiles(){this.logger.info("Before ensureProjectForOpenFiles:"),this.printProjects();const e=this.pendingOpenFileProjectUpdates;this.pendingOpenFileProjectUpdates=void 0,null==e||e.forEach((e,t)=>this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(this.getScriptInfoForPath(t),5)),this.openFiles.forEach((e,t)=>{const n=this.getScriptInfoForPath(t);n.isOrphan()?this.assignOrphanScriptInfoToInferredProject(n,e):this.removeRootOfInferredProjectIfNowPartOfOtherProject(n)}),this.pendingEnsureProjectForOpenFiles=!1,this.inferredProjects.forEach(updateProjectIfDirty),this.logger.info("After ensureProjectForOpenFiles:"),this.printProjects()}openClientFile(e,t,n,r){return this.openClientFileWithNormalizedPath(toNormalizedPath(e),t,n,!1,r?toNormalizedPath(r):void 0)}getOriginalLocationEnsuringConfiguredProject(e,t){const n=e.isSourceOfProjectReferenceRedirect(t.fileName),r=n?t:e.getSourceMapper().tryGetSourcePosition(t);if(!r)return;const{fileName:i}=r,o=this.getScriptInfo(i);if(!o&&!this.host.fileExists(i))return;const a={fileName:toNormalizedPath(i),path:this.toPath(i)},s=this.getConfigFileNameForFile(a,!1);if(!s)return;let c=this.findConfiguredProjectByProjectName(s);if(!c){if(e.getCompilerOptions().disableReferencedProjectLoad)return n?t:(null==o?void 0:o.containingProjects.length)?r:t;c=this.createConfiguredProject(s,`Creating project for original file: ${a.fileName}${t!==r?" for location: "+t.fileName:""}`)}const l=this.tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo(a,5,updateProjectFoundUsingFind(c,4),e=>`Creating project referenced in solution ${e.projectName} to find possible configured project for original file: ${a.fileName}${t!==r?" for location: "+t.fileName:""}`);if(!l.defaultProject)return;if(l.defaultProject===e)return r;addOriginalConfiguredProject(l.defaultProject);const d=this.getScriptInfo(i);if(d&&d.containingProjects.length)return d.containingProjects.forEach(e=>{isConfiguredProject(e)&&addOriginalConfiguredProject(e)}),r;function addOriginalConfiguredProject(t){(e.originalConfiguredProjects??(e.originalConfiguredProjects=new Set)).add(t.canonicalConfigFilePath)}}fileExists(e){return!!this.getScriptInfoForNormalizedPath(e)||this.host.fileExists(e)}findExternalProjectContainingOpenScriptInfo(e){return find(this.externalProjects,t=>(updateProjectIfDirty(t),t.containsScriptInfo(e)))}getOrCreateOpenScriptInfo(e,t,n,r,i){const o=this.getOrCreateScriptInfoWorker(e,i?this.getNormalizedAbsolutePath(i):this.currentDirectory,!0,t,n,!!r,void 0,!0);return this.openFiles.set(o.path,i),o}assignProjectToOpenedScriptInfo(e){let t,n;let r,i;if(!this.findExternalProjectContainingOpenScriptInfo(e)&&0===this.serverMode){const o=this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(e,5);o&&(r=o.seenProjects,i=o.sentConfigDiag,o.defaultProject&&(t=o.defaultProject.getConfigFilePath(),n=o.defaultProject.getAllProjectErrors()))}return e.containingProjects.forEach(updateProjectIfDirty),e.isOrphan()&&(null==r||r.forEach((t,n)=>{4===t||i.has(n)||this.sendConfigFileDiagEvent(n,e.fileName,!0)}),h.assert(this.openFiles.has(e.path)),this.assignOrphanScriptInfoToInferredProject(e,this.openFiles.get(e.path))),h.assert(!e.isOrphan()),{configFileName:t,configFileErrors:n,retainProjects:r}}findCreateOrReloadConfiguredProject(e,t,n,r,i,o,a,s,c){let l,d=c??this.findConfiguredProjectByProjectName(e,r),p=!1;switch(t){case 0:case 1:case 3:if(!d)return;break;case 2:if(!d)return;l=function configFileExistenceInfoForOptimizedReplay(e){return useConfigFileExistenceInfoForOptimizedLoading(e)?e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath):void 0}(d);break;case 4:case 5:d??(d=this.createConfiguredProject(e,n)),a||({sentConfigFileDiag:p,configFileExistenceInfo:l}=updateProjectFoundUsingFind(d,t,i));break;case 6:if(d??(d=this.createConfiguredProject(e,reloadReason(n))),d.projectService.reloadConfiguredProjectOptimized(d,n,o),l=configFileExistenceInfoForOptimizedLoading(d),l)break;case 7:d??(d=this.createConfiguredProject(e,reloadReason(n))),p=!s&&this.reloadConfiguredProjectClearingSemanticCache(d,n,o),!s||s.has(d)||o.has(d)||(this.setProjectForReload(d,2,n),s.add(d));break;default:h.assertNever(t)}return{project:d,sentConfigFileDiag:p,configFileExistenceInfo:l,reason:n}}tryFindDefaultConfiguredProjectForOpenScriptInfo(e,t,n,r){const i=this.getConfigFileNameForFile(e,t<=3);if(!i)return;const o=toConfiguredProjectLoadOptimized(t),a=this.findCreateOrReloadConfiguredProject(i,o,function fileOpenReason(e){return`Creating possible configured project for ${e.fileName} to open`}(e),n,e.fileName,r);return a&&this.tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo(e,t,a,t=>`Creating project referenced in solution ${t.projectName} to find possible configured project for ${e.fileName} to open`,n,r)}isMatchedByConfig(e,t,n){if(t.fileNames.some(e=>this.toPath(e)===n.path))return!0;if(isSupportedSourceFileName(n.fileName,t.options,this.hostConfiguration.extraFileExtensions))return!1;const{validatedFilesSpec:r,validatedIncludeSpecs:i,validatedExcludeSpecs:o}=t.options.configFile.configFileSpecs,a=toNormalizedPath(getNormalizedAbsolutePath(getDirectoryPath(e),this.currentDirectory));return!!(null==r?void 0:r.some(e=>this.toPath(getNormalizedAbsolutePath(e,a))===n.path))||!!(null==i?void 0:i.length)&&(!matchesExcludeWorker(n.fileName,o,this.host.useCaseSensitiveFileNames,this.currentDirectory,a)&&(null==i?void 0:i.some(e=>{const t=getPatternFromSpec(e,a,"files");return!!t&&getRegexFromPattern(`(${t})$`,this.host.useCaseSensitiveFileNames).test(n.fileName)})))}tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo(e,t,n,r,i,o){const a=isOpenScriptInfo(e),s=toConfiguredProjectLoadOptimized(t),c=new Map;let l;const d=new Set;let p,u,m,_;return tryFindDefaultConfiguredProject(n),{defaultProject:p??u,tsconfigProject:m??_,sentConfigDiag:d,seenProjects:c,seenConfigs:l};function tryFindDefaultConfiguredProject(t){return function isDefaultProjectOptimized(e,t){e.sentConfigFileDiag&&d.add(e.project);return e.configFileExistenceInfo?isDefaultConfigFileExistenceInfo(e.configFileExistenceInfo,e.project,toNormalizedPath(e.project.getConfigFilePath()),e.reason,e.project,e.project.canonicalConfigFilePath):isDefaultProject(e.project,t)}(t,t.project)??function tryFindDefaultConfiguredProjectFromReferences(e){return e.parsedCommandLine&&forEachResolvedProjectReferenceProjectLoad(e,e.parsedCommandLine,isDefaultConfigFileExistenceInfo,s,r(e),i,o)}(t.project)??function tryFindDefaultConfiguredProjectFromAncestor(t){return a?forEachAncestorProjectLoad(e,t,tryFindDefaultConfiguredProject,s,`Creating possible configured project for ${e.fileName} to open`,i,o,!1):void 0}(t.project)}function isDefaultConfigFileExistenceInfo(n,r,a,p,u,m){if(r){if(c.has(r))return;c.set(r,s)}else{if(null==l?void 0:l.has(m))return;(l??(l=new Set)).add(m)}if(!u.projectService.isMatchedByConfig(a,n.config.parsedCommandLine,e))return void(u.languageServiceEnabled&&u.projectService.watchWildcards(a,n,u));const _=r?updateProjectFoundUsingFind(r,t,e.fileName,p,o):u.projectService.findCreateOrReloadConfiguredProject(a,t,p,i,e.fileName,o);if(_)return c.set(_.project,s),_.sentConfigFileDiag&&d.add(_.project),isDefaultProject(_.project,u);h.assert(3===t)}function isDefaultProject(n,r){if(c.get(n)===t)return;c.set(n,t);const i=a?e:n.projectService.getScriptInfo(e.fileName),o=i&&n.containsScriptInfo(i);if(o&&!n.isSourceOfProjectReferenceRedirect(i.path))return m=r,p=n;!u&&a&&o&&(_=r,u=n)}}tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(e,t,n,r){const i=1===t,o=this.tryFindDefaultConfiguredProjectForOpenScriptInfo(e,t,i,n);if(!o)return;const{defaultProject:a,tsconfigProject:s,seenProjects:c}=o;return a&&forEachAncestorProjectLoad(e,s,e=>{c.set(e.project,t)},t,`Creating project possibly referencing default composite project ${a.getProjectName()} of open file ${e.fileName}`,i,n,!0,r),o}loadAncestorProjectTree(e){e??(e=new Set(mapDefinedIterator(this.configuredProjects.entries(),([e,t])=>t.initialLoadPending?void 0:e)));const t=new Set,n=arrayFrom(this.configuredProjects.values());for(const r of n)forEachPotentialProjectReference(r,t=>e.has(t))&&updateProjectIfDirty(r),this.ensureProjectChildren(r,e,t)}ensureProjectChildren(e,t,n){var r;if(!tryAddToSet(n,e.canonicalConfigFilePath))return;if(e.getCompilerOptions().disableReferencedProjectLoad)return;const i=null==(r=e.getCurrentProgram())?void 0:r.getResolvedProjectReferences();if(i)for(const r of i){if(!r)continue;const i=forEachResolvedProjectReference(r.references,e=>t.has(e.sourceFile.path)?e:void 0);if(!i)continue;const o=toNormalizedPath(r.sourceFile.fileName),a=this.findConfiguredProjectByProjectName(o)??this.createConfiguredProject(o,`Creating project referenced by : ${e.projectName} as it references project ${i.sourceFile.fileName}`);updateProjectIfDirty(a),this.ensureProjectChildren(a,t,n)}}cleanupConfiguredProjects(e,t,n){this.getOrphanConfiguredProjects(e,n,t).forEach(e=>this.removeProject(e))}cleanupProjectsAndScriptInfos(e,t,n){this.cleanupConfiguredProjects(e,n,t);for(const e of this.inferredProjects.slice())e.isOrphan()&&this.removeProject(e);this.removeOrphanScriptInfos()}tryInvokeWildCardDirectories(e){this.configFileExistenceInfoCache.forEach((t,n)=>{var r,i;(null==(r=t.config)?void 0:r.parsedCommandLine)&&!contains(t.config.parsedCommandLine.fileNames,e.fileName,this.host.useCaseSensitiveFileNames?equateStringsCaseSensitive:equateStringsCaseInsensitive)&&(null==(i=t.config.watchedDirectories)||i.forEach((r,i)=>{containsPath(i,e.fileName,!this.host.useCaseSensitiveFileNames)&&(this.logger.info(`Invoking ${n}:: wildcard for open scriptInfo:: ${e.fileName}`),this.onWildCardDirectoryWatcherInvoke(i,n,t.config,r.watcher,e.fileName))}))})}openClientFileWithNormalizedPath(e,t,n,r,i){const o=this.getScriptInfoForPath(normalizedPathToPath(e,i?this.getNormalizedAbsolutePath(i):this.currentDirectory,this.toCanonicalFileName)),a=this.getOrCreateOpenScriptInfo(e,t,n,r,i);o||!a||a.isDynamic||this.tryInvokeWildCardDirectories(a);const{retainProjects:s,...c}=this.assignProjectToOpenedScriptInfo(a);return this.cleanupProjectsAndScriptInfos(s,new Set([a.path]),void 0),this.telemetryOnOpenFile(a),this.printProjects(),c}getOrphanConfiguredProjects(e,t,n){const r=new Set(this.configuredProjects.values()),markOriginalProjectsAsUsed=e=>{!e.originalConfiguredProjects||!isConfiguredProject(e)&&e.isOrphan()||e.originalConfiguredProjects.forEach((e,t)=>{const n=this.getConfiguredProjectByCanonicalConfigFilePath(t);return n&&retainConfiguredProject(n)})};return null==e||e.forEach((e,t)=>retainConfiguredProject(t)),r.size?(this.inferredProjects.forEach(markOriginalProjectsAsUsed),this.externalProjects.forEach(markOriginalProjectsAsUsed),this.externalProjectToConfiguredProjectMap.forEach((e,t)=>{(null==n?void 0:n.has(t))||e.forEach(retainConfiguredProject)}),r.size?(forEachEntry(this.openFiles,(e,n)=>{if(null==t?void 0:t.has(n))return;const i=this.getScriptInfoForPath(n);if(find(i.containingProjects,isExternalProject))return;const o=this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(i,1);return(null==o?void 0:o.defaultProject)&&(null==o||o.seenProjects.forEach((e,t)=>retainConfiguredProject(t)),!r.size)?r:void 0}),r.size?(forEachEntry(this.configuredProjects,e=>{if(r.has(e)&&(isPendingUpdate(e)||forEachReferencedProject(e,isRetained))&&(retainConfiguredProject(e),!r.size))return r}),r):r):r):r;function isRetained(e){return!r.has(e)||isPendingUpdate(e)}function isPendingUpdate(e){var t,n;return(e.deferredClose||e.projectService.hasPendingProjectUpdate(e))&&!!(null==(n=null==(t=e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath))?void 0:t.openFilesImpactedByConfigFile)?void 0:n.size)}function retainConfiguredProject(e){r.delete(e)&&(markOriginalProjectsAsUsed(e),forEachReferencedProject(e,retainConfiguredProject))}}removeOrphanScriptInfos(){const e=new Map(this.filenameToScriptInfo);this.filenameToScriptInfo.forEach(t=>{if(!t.deferredDelete){if(!t.isScriptOpen()&&t.isOrphan()&&!scriptInfoIsContainedByDeferredClosedProject(t)&&!scriptInfoIsContainedByBackgroundProject(t)){if(!t.sourceMapFilePath)return;let e;if(isString(t.sourceMapFilePath)){const n=this.filenameToScriptInfo.get(t.sourceMapFilePath);e=null==n?void 0:n.sourceInfos}else e=t.sourceMapFilePath.sourceInfos;if(!e)return;if(!forEachKey(e,e=>{const t=this.getScriptInfoForPath(e);return!!t&&(t.isScriptOpen()||!t.isOrphan())}))return}if(e.delete(t.path),t.sourceMapFilePath){let n;if(isString(t.sourceMapFilePath)){const r=this.filenameToScriptInfo.get(t.sourceMapFilePath);(null==r?void 0:r.deferredDelete)?t.sourceMapFilePath={watcher:this.addMissingSourceMapFile(r.fileName,t.path),sourceInfos:r.sourceInfos}:e.delete(t.sourceMapFilePath),n=null==r?void 0:r.sourceInfos}else n=t.sourceMapFilePath.sourceInfos;n&&n.forEach((t,n)=>e.delete(n))}}}),e.forEach(e=>this.deleteScriptInfo(e))}telemetryOnOpenFile(e){if(0!==this.serverMode||!this.eventHandler||!e.isJavaScript()||!addToSeen(this.allJsFilesForOpenFileTelemetry,e.path))return;const t=this.ensureDefaultProjectForFile(e);if(!t.languageServiceEnabled)return;const n=t.getSourceFile(e.path),r=!!n&&!!n.checkJsDirective;this.eventHandler({eventName:ff,data:{info:{checkJs:r}}})}closeClientFile(e,t){const n=this.getScriptInfoForNormalizedPath(toNormalizedPath(e)),r=!!n&&this.closeOpenFile(n,t);return t||this.printProjects(),r}collectChanges(e,t,n,r){for(const i of t){const t=find(e,e=>e.projectName===i.getProjectName());r.push(i.getChangesSinceVersion(t&&t.version,n))}}synchronizeProjectList(e,t){const n=[];return this.collectChanges(e,this.externalProjects,t,n),this.collectChanges(e,mapDefinedIterator(this.configuredProjects.values(),e=>e.deferredClose?void 0:e),t,n),this.collectChanges(e,this.inferredProjects,t,n),n}applyChangesInOpenFiles(e,t,n){let r,i,o,a=!1;if(e)for(const t of e){(r??(r=[])).push(this.getScriptInfoForPath(normalizedPathToPath(toNormalizedPath(t.fileName),t.projectRootPath?this.getNormalizedAbsolutePath(t.projectRootPath):this.currentDirectory,this.toCanonicalFileName)));const e=this.getOrCreateOpenScriptInfo(toNormalizedPath(t.fileName),t.content,tryConvertScriptKindName(t.scriptKind),t.hasMixedContent,t.projectRootPath?toNormalizedPath(t.projectRootPath):void 0);(i||(i=[])).push(e)}if(t)for(const e of t){const t=this.getScriptInfo(e.fileName);h.assert(!!t),this.applyChangesToFile(t,e.changes)}if(n)for(const e of n)a=this.closeClientFile(e,!0)||a;forEach(r,(e,t)=>e||!i[t]||i[t].isDynamic?void 0:this.tryInvokeWildCardDirectories(i[t])),null==i||i.forEach(e=>{var t;return null==(t=this.assignProjectToOpenedScriptInfo(e).retainProjects)?void 0:t.forEach((e,t)=>(o??(o=new Map)).set(t,e))}),a&&this.assignOrphanScriptInfosToInferredProject(),i?(this.cleanupProjectsAndScriptInfos(o,new Set(i.map(e=>e.path)),void 0),i.forEach(e=>this.telemetryOnOpenFile(e)),this.printProjects()):length(n)&&this.printProjects()}applyChangesToFile(e,t){for(const n of t)e.editContent(n.span.start,n.span.start+n.span.length,n.newText)}closeExternalProject(e,t){const n=toNormalizedPath(e);if(this.externalProjectToConfiguredProjectMap.get(n))this.externalProjectToConfiguredProjectMap.delete(n);else{const t=this.findExternalProjectByProjectName(e);t&&this.removeProject(t)}t&&(this.cleanupConfiguredProjects(),this.printProjects())}openExternalProjects(e){const t=new Set(this.externalProjects.map(e=>e.getProjectName()));this.externalProjectToConfiguredProjectMap.forEach((e,n)=>t.add(n));for(const n of e)this.openExternalProject(n,!1),t.delete(n.projectFileName);t.forEach(e=>this.closeExternalProject(e,!1)),this.cleanupConfiguredProjects(),this.printProjects()}static escapeFilenameForRegex(e){return e.replace(this.filenameEscapeRegexp,"\\$&")}resetSafeList(){this.safelist=bf}applySafeList(e){const t=e.typeAcquisition;h.assert(!!t,"proj.typeAcquisition should be set by now");const n=this.applySafeListWorker(e,e.rootFiles,t);return(null==n?void 0:n.excludedFiles)??[]}applySafeListWorker(e,t,n){if(!1===n.enable||n.disableFilenameBasedTypeAcquisition)return;const r=n.include||(n.include=[]),i=[],o=t.map(e=>normalizeSlashes(e.fileName));for(const e of Object.keys(this.safelist)){const t=this.safelist[e];for(const n of o)if(t.match.test(n)){if(this.logger.info(`Excluding files based on rule ${e} matching file '${n}'`),t.types)for(const e of t.types)r.includes(e)||r.push(e);if(t.exclude)for(const r of t.exclude){const o=n.replace(t.match,(...t)=>r.map(n=>"number"==typeof n?isString(t[n])?_ProjectService.escapeFilenameForRegex(t[n]):(this.logger.info(`Incorrect RegExp specification in safelist rule ${e} - not enough groups`),"\\*"):n).join(""));i.includes(o)||i.push(o)}else{const e=_ProjectService.escapeFilenameForRegex(n);i.includes(e)||i.push(e)}}}const a=i.map(e=>new RegExp(e,"i"));let s,c;for(let e=0;e<t.length;e++)if(a.some(t=>t.test(o[e])))addExcludedFile(e);else{if(n.enable){const t=getBaseFileName(toFileNameLowerCase(o[e]));if(fileExtensionIs(t,"js")){const n=removeMinAndVersionNumbers(removeFileExtension(t)),i=this.legacySafelist.get(n);if(void 0!==i){this.logger.info(`Excluded '${o[e]}' because it matched ${n} from the legacy safelist`),addExcludedFile(e),r.includes(i)||r.push(i);continue}}}/^.+[.-]min\.js$/.test(o[e])?addExcludedFile(e):null==s||s.push(t[e])}return c?{rootFiles:s,excludedFiles:c}:void 0;function addExcludedFile(e){c||(h.assert(!s),s=t.slice(0,e),c=[]),c.push(o[e])}}openExternalProject(e,t){const n=this.findExternalProjectByProjectName(e.projectFileName);let r,i=[];for(const t of e.rootFiles){const n=toNormalizedPath(t.fileName);if(getBaseConfigFileName(n)){if(0===this.serverMode&&this.host.fileExists(n)){let t=this.findConfiguredProjectByProjectName(n);t||(t=this.createConfiguredProject(n,`Creating configured project in external project: ${e.projectFileName}`),this.getHostPreferences().lazyConfiguredProjectsFromExternalProject||t.updateGraph()),(r??(r=new Set)).add(t),h.assert(!t.isClosed())}}else i.push(t)}if(r)this.externalProjectToConfiguredProjectMap.set(e.projectFileName,r),n&&this.removeProject(n);else{this.externalProjectToConfiguredProjectMap.delete(e.projectFileName);const t=e.typeAcquisition||{};t.include=t.include||[],t.exclude=t.exclude||[],void 0===t.enable&&(t.enable=hasNoTypeScriptSource(i.map(e=>e.fileName)));const r=this.applySafeListWorker(e,i,t),o=(null==r?void 0:r.excludedFiles)??[];if(i=(null==r?void 0:r.rootFiles)??i,n){n.excludedFiles=o;const r=convertCompilerOptions(e.options),a=convertWatchOptions(e.options,n.getCurrentDirectory()),s=this.getFilenameForExceededTotalSizeLimitForNonTsFiles(e.projectFileName,r,i,Ef);s?n.disableLanguageService(s):n.enableLanguageService(),n.setProjectErrors(null==a?void 0:a.errors),this.updateRootAndOptionsOfNonInferredProject(n,i,Ef,r,t,e.options.compileOnSave,null==a?void 0:a.watchOptions),n.updateGraph()}else{this.createExternalProject(e.projectFileName,i,e.options,t,o).updateGraph()}}t&&(this.cleanupConfiguredProjects(r,new Set([e.projectFileName])),this.printProjects())}hasDeferredExtension(){for(const e of this.hostConfiguration.extraFileExtensions)if(7===e.scriptKind)return!0;return!1}requestEnablePlugin(e,t,n){if(this.host.importPlugin||this.host.require)if(this.logger.info(`Enabling plugin ${t.name} from candidate paths: ${n.join(",")}`),!t.name||isExternalModuleNameRelative(t.name)||/[\\/]\.\.?(?:$|[\\/])/.test(t.name))this.logger.info(`Skipped loading plugin ${t.name||JSON.stringify(t)} because only package name is allowed plugin name`);else{if(this.host.importPlugin){const r=Y_.importServicePluginAsync(t,n,this.host,e=>this.logger.info(e));this.pendingPluginEnablements??(this.pendingPluginEnablements=new Map);let i=this.pendingPluginEnablements.get(e);return i||this.pendingPluginEnablements.set(e,i=[]),void i.push(r)}this.endEnablePlugin(e,Y_.importServicePluginSync(t,n,this.host,e=>this.logger.info(e)))}else this.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded")}endEnablePlugin(e,{pluginConfigEntry:t,resolvedModule:n,errorLogs:r}){var i;if(n){const r=null==(i=this.currentPluginConfigOverrides)?void 0:i.get(t.name);if(r){const e=t.name;(t=r).name=e}e.enableProxy(n,t)}else forEach(r,e=>this.logger.info(e)),this.logger.info(`Couldn't find ${t.name}`)}hasNewPluginEnablementRequests(){return!!this.pendingPluginEnablements}hasPendingPluginEnablements(){return!!this.currentPluginEnablementPromise}async waitForPendingPlugins(){for(;this.currentPluginEnablementPromise;)await this.currentPluginEnablementPromise}enableRequestedPlugins(){this.pendingPluginEnablements&&this.enableRequestedPluginsAsync()}async enableRequestedPluginsAsync(){if(this.currentPluginEnablementPromise&&await this.waitForPendingPlugins(),!this.pendingPluginEnablements)return;const e=arrayFrom(this.pendingPluginEnablements.entries());this.pendingPluginEnablements=void 0,this.currentPluginEnablementPromise=this.enableRequestedPluginsWorker(e),await this.currentPluginEnablementPromise}async enableRequestedPluginsWorker(e){h.assert(void 0===this.currentPluginEnablementPromise);let t=!1;await Promise.all(map(e,async([e,n])=>{const r=await Promise.all(n);if(e.isClosed()||isProjectDeferredClose(e))this.logger.info(`Cancelling plugin enabling for ${e.getProjectName()} as it is ${e.isClosed()?"closed":"deferred close"}`);else{t=!0;for(const t of r)this.endEnablePlugin(e,t);this.delayUpdateProjectGraph(e)}})),this.currentPluginEnablementPromise=void 0,t&&this.sendProjectsUpdatedInBackgroundEvent()}configurePlugin(e){this.forEachEnabledProject(t=>t.onPluginConfigurationChanged(e.pluginName,e.configuration)),this.currentPluginConfigOverrides=this.currentPluginConfigOverrides||new Map,this.currentPluginConfigOverrides.set(e.pluginName,e.configuration)}getPackageJsonsVisibleToFile(e,t,n){const r=this.packageJsonCache,i=n&&this.toPath(n),o=[],processDirectory=e=>{switch(r.directoryHasPackageJson(e)){case 3:return r.searchDirectoryAndAncestors(e,t),processDirectory(e);case-1:const n=combinePaths(e,"package.json");this.watchPackageJsonFile(n,this.toPath(n),t);const i=r.getInDirectory(e);i&&o.push(i)}if(i&&i===e)return!0};return forEachAncestorDirectoryStoppingAtGlobalCache(t,getDirectoryPath(e),processDirectory),o}getNearestAncestorDirectoryWithPackageJson(e,t){return forEachAncestorDirectoryStoppingAtGlobalCache(t,e,e=>{switch(this.packageJsonCache.directoryHasPackageJson(e)){case-1:return e;case 0:return;case 3:return this.host.fileExists(combinePaths(e,"package.json"))?e:void 0}})}watchPackageJsonFile(e,t,n){h.assert(void 0!==n);let r=(this.packageJsonFilesMap??(this.packageJsonFilesMap=new Map)).get(t);if(!r){let n=this.watchFactory.watchFile(e,(e,n)=>{switch(n){case 0:case 1:this.packageJsonCache.addOrUpdate(e,t),this.onPackageJsonChange(r);break;case 2:this.packageJsonCache.delete(t),this.onPackageJsonChange(r),r.projects.clear(),r.close()}},250,this.hostConfiguration.watchOptions,Ya.PackageJson);r={projects:new Set,close:()=>{var e;!r.projects.size&&n&&(n.close(),n=void 0,null==(e=this.packageJsonFilesMap)||e.delete(t),this.packageJsonCache.invalidate(t))}},this.packageJsonFilesMap.set(t,r)}r.projects.add(n),(n.packageJsonWatches??(n.packageJsonWatches=new Set)).add(r)}onPackageJsonChange(e){e.projects.forEach(e=>{var t;return null==(t=e.onPackageJsonChange)?void 0:t.call(e)})}includePackageJsonAutoImports(){switch(this.hostConfiguration.preferences.includePackageJsonAutoImports){case"on":return 1;case"off":return 0;default:return 2}}getIncompleteCompletionsCache(){return this.incompleteCompletionsCache||(this.incompleteCompletionsCache=function createIncompleteCompletionsCache(){let e;return{get:()=>e,set(t){e=t},clear(){e=void 0}}}())}};Pf.filenameEscapeRegexp=/[-/\\^$*+?.()|[\]{}]/g;var Df=Pf;function isConfigFile(e){return void 0!==e.kind}function printProjectWithoutFileNames(e){e.print(!1,!1,!1)}function createModuleSpecifierCache(e){let t,n,r;const i={get(e,t,i,o){if(n&&r===key(e,i,o))return n.get(t)},set(n,r,i,o,a,s,c){if(ensureCache(n,i,o).set(r,createInfo(a,s,c,void 0,!1)),c)for(const n of s)if(n.isInNodeModules){const r=n.path.substring(0,n.path.indexOf(Mo)+Mo.length-1),i=e.toPath(r);(null==t?void 0:t.has(i))||(t||(t=new Map)).set(i,e.watchNodeModulesForPackageJsonChanges(r))}},setModulePaths(e,t,n,r,i){const o=ensureCache(e,n,r),a=o.get(t);a?a.modulePaths=i:o.set(t,createInfo(void 0,i,void 0,void 0,void 0))},setBlockedByPackageJsonDependencies(e,t,n,r,i,o){const a=ensureCache(e,n,r),s=a.get(t);s?(s.isBlockedByPackageJsonDependencies=o,s.packageName=i):a.set(t,createInfo(void 0,void 0,void 0,i,o))},clear(){null==t||t.forEach(closeFileWatcher),null==n||n.clear(),null==t||t.clear(),r=void 0},count:()=>n?n.size:0};return h.isDebugging&&Object.defineProperty(i,"__cache",{get:()=>n}),i;function ensureCache(e,t,o){const a=key(e,t,o);return n&&r!==a&&i.clear(),r=a,n||(n=new Map)}function key(e,t,n){return`${e},${t.importModuleSpecifierEnding},${t.importModuleSpecifierPreference},${n.overrideImportMode}`}function createInfo(e,t,n,r,i){return{kind:e,modulePaths:t,moduleSpecifiers:n,packageName:r,isBlockedByPackageJsonDependencies:i}}}function createPackageJsonCache(e){const t=new Map,n=new Map;return{addOrUpdate,invalidate:function invalidate(e){t.delete(e),n.delete(getDirectoryPath(e))},delete:e=>{t.delete(e),n.set(getDirectoryPath(e),!0)},getInDirectory:n=>t.get(e.toPath(combinePaths(n,"package.json")))||void 0,directoryHasPackageJson:t=>directoryHasPackageJson(e.toPath(t)),searchDirectoryAndAncestors:(t,r)=>{forEachAncestorDirectoryStoppingAtGlobalCache(r,t,t=>{const r=e.toPath(t);if(3!==directoryHasPackageJson(r))return!0;const i=combinePaths(t,"package.json");tryFileExists(e,i)?addOrUpdate(i,combinePaths(r,"package.json")):n.set(r,!0)})}};function addOrUpdate(r,i){const o=h.checkDefined(createPackageJsonInfo(r,e.host));t.set(i,o),n.delete(getDirectoryPath(i))}function directoryHasPackageJson(e){return t.has(combinePaths(e,"package.json"))?-1:n.has(e)?0:3}}var If={isCancellationRequested:()=>!1,setRequest:()=>{},resetRequest:()=>{}};function isDeclarationFileInJSOnlyNonConfiguredProject(e,t){if((isInferredProject(e)||isExternalProject(e))&&e.isJsOnlyProject()){const n=e.getScriptInfoForNormalizedPath(t);return n&&!n.isJavaScript()}return!1}function formatDiag(e,t,n){const r=t.getScriptInfoForNormalizedPath(e);return{start:r.positionToLineOffset(n.start),end:r.positionToLineOffset(n.start+n.length),text:flattenDiagnosticMessageText(n.messageText,"\n"),code:n.code,category:diagnosticCategoryName(n),reportsUnnecessary:n.reportsUnnecessary,reportsDeprecated:n.reportsDeprecated,source:n.source,relatedInformation:map(n.relatedInformation,formatRelatedInformation)}}function formatRelatedInformation(e){return e.file?{span:{start:convertToLocation(getLineAndCharacterOfPosition(e.file,e.start)),end:convertToLocation(getLineAndCharacterOfPosition(e.file,e.start+e.length)),file:e.file.fileName},message:flattenDiagnosticMessageText(e.messageText,"\n"),category:diagnosticCategoryName(e),code:e.code}:{message:flattenDiagnosticMessageText(e.messageText,"\n"),category:diagnosticCategoryName(e),code:e.code}}function convertToLocation(e){return{line:e.line+1,offset:e.character+1}}function formatDiagnosticToProtocol(e,t){const n=e.file&&convertToLocation(getLineAndCharacterOfPosition(e.file,e.start)),r=e.file&&convertToLocation(getLineAndCharacterOfPosition(e.file,e.start+e.length)),i=flattenDiagnosticMessageText(e.messageText,"\n"),{code:o,source:a}=e,s={start:n,end:r,text:i,code:o,category:diagnosticCategoryName(e),reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated,source:a,relatedInformation:map(e.relatedInformation,formatRelatedInformation)};return t?{...s,fileName:e.file&&e.file.fileName}:s}var Af=j_;function formatMessage2(e,t,n,r){const i=t.hasLevel(3),o=JSON.stringify(e);i&&t.info(`${e.type}:${stringifyIndented(e)}`);return`Content-Length: ${1+n(o,"utf8")}\r\n\r\n${o}${r}`}var Of=class{constructor(e){this.operationHost=e}startNew(e){this.complete(),this.requestId=this.operationHost.getCurrentRequestId(),this.executeAction(e)}complete(){void 0!==this.requestId&&(this.operationHost.sendRequestCompletedEvent(this.requestId,this.performanceData),this.requestId=void 0),this.setTimerHandle(void 0),this.setImmediateId(void 0),this.performanceData=void 0}immediate(e,t){const n=this.requestId;h.assert(n===this.operationHost.getCurrentRequestId(),"immediate: incorrect request id"),this.setImmediateId(this.operationHost.getServerHost().setImmediate(()=>{this.immediateId=void 0,this.operationHost.executeWithRequestId(n,()=>this.executeAction(t),this.performanceData)},e))}delay(e,t,n){const r=this.requestId;h.assert(r===this.operationHost.getCurrentRequestId(),"delay: incorrect request id"),this.setTimerHandle(this.operationHost.getServerHost().setTimeout(()=>{this.timerHandle=void 0,this.operationHost.executeWithRequestId(r,()=>this.executeAction(n),this.performanceData)},t,e))}executeAction(e){var t,n,r,i,o,a;let s=!1;try{this.operationHost.isCancellationRequested()?(s=!0,null==(t=J)||t.instant(J.Phase.Session,"stepCanceled",{seq:this.requestId,early:!0})):(null==(n=J)||n.push(J.Phase.Session,"stepAction",{seq:this.requestId}),e(this),null==(r=J)||r.pop())}catch(e){null==(i=J)||i.popAll(),s=!0,e instanceof se?null==(o=J)||o.instant(J.Phase.Session,"stepCanceled",{seq:this.requestId}):(null==(a=J)||a.instant(J.Phase.Session,"stepError",{seq:this.requestId,message:e.message}),this.operationHost.logError(e,`delayed processing of request ${this.requestId}`))}this.performanceData=this.operationHost.getPerformanceData(),!s&&this.hasPendingWork()||this.complete()}setTimerHandle(e){void 0!==this.timerHandle&&this.operationHost.getServerHost().clearTimeout(this.timerHandle),this.timerHandle=e}setImmediateId(e){void 0!==this.immediateId&&this.operationHost.getServerHost().clearImmediate(this.immediateId),this.immediateId=e}hasPendingWork(){return!!this.timerHandle||!!this.immediateId}};function toEvent(e,t){return{seq:0,type:"event",event:e,body:t}}function createDocumentSpanSet(e){return createSet(({textSpan:e})=>e.start+100003*e.length,getDocumentSpansEqualityComparer(e))}function getDefinitionLocation(e,t,n){const r=e.getLanguageService().getDefinitionAtPosition(t.fileName,t.pos,!1,n),i=r&&firstOrUndefined(r);return i&&!i.isLocal?{fileName:i.fileName,pos:i.textSpan.start}:void 0}function forEachProjectInProjects(e,t,n){for(const r of isArray(e)?e:e.projects)n(r,t);!isArray(e)&&e.symLinkedProjects&&e.symLinkedProjects.forEach((e,t)=>{for(const r of e)n(r,t)})}function getPerProjectReferences(e,t,n,r,i,o,a){const s=new Map,c=createQueue();c.enqueue({project:t,location:n}),forEachProjectInProjects(e,n.fileName,(e,t)=>{const r={fileName:t,pos:n.pos};c.enqueue({project:e,location:r})});const l=t.projectService,d=t.getCancellationToken(),p=memoize(()=>t.isSourceOfProjectReferenceRedirect(r.fileName)?r:t.getLanguageService().getSourceMapper().tryGetGeneratedPosition(r)),u=memoize(()=>t.isSourceOfProjectReferenceRedirect(r.fileName)?r:t.getLanguageService().getSourceMapper().tryGetSourcePosition(r)),m=new Set;e:for(;!c.isEmpty();){for(;!c.isEmpty();){if(d.isCancellationRequested())break e;const{project:e,location:t}=c.dequeue();if(s.has(e))continue;if(isLocationProjectReferenceRedirect(e,t))continue;if(updateProjectIfDirty(e),!e.containsFile(toNormalizedPath(t.fileName)))continue;const n=searchPosition(e,t);s.set(e,n??w_),m.add(getProjectKey(e))}r&&(l.loadAncestorProjectTree(m),l.forEachEnabledProject(e=>{if(d.isCancellationRequested())return;if(s.has(e))return;const t=i(r,e,p,u);t&&c.enqueue({project:e,location:t})}))}return 1===s.size?firstIterator(s.values()):s;function searchPosition(e,t){const n=o(e,t);if(!n||!a)return n;for(const t of n)a(t,t=>{const n=l.getOriginalLocationEnsuringConfiguredProject(e,t);if(!n)return;const r=l.getScriptInfo(n.fileName);for(const e of r.containingProjects)e.isOrphan()||s.has(e)||c.enqueue({project:e,location:n});const i=l.getSymlinkedProjects(r);i&&i.forEach((e,t)=>{for(const r of e)r.isOrphan()||s.has(r)||c.enqueue({project:r,location:{fileName:t,pos:n.pos}})})});return n}}function mapDefinitionInProjectIfFileInProject(e,t){if(t.containsFile(toNormalizedPath(e.fileName))&&!isLocationProjectReferenceRedirect(t,e))return e}function mapDefinitionInProject(e,t,n,r){const i=mapDefinitionInProjectIfFileInProject(e,t);if(i)return i;const o=n();if(o&&t.containsFile(toNormalizedPath(o.fileName)))return o;const a=r();return a&&t.containsFile(toNormalizedPath(a.fileName))?a:void 0}function isLocationProjectReferenceRedirect(e,t){if(!t)return!1;const n=e.getLanguageService().getProgram();if(!n)return!1;const r=n.getSourceFile(t.fileName);return!!r&&r.resolvedPath!==r.path&&r.resolvedPath!==e.toPath(t.fileName)}function getProjectKey(e){return isConfiguredProject(e)?e.canonicalConfigFilePath:e.getProjectName()}function documentSpanLocation({fileName:e,textSpan:t}){return{fileName:e,pos:t.start}}function getMappedLocationForProject(e,t){return getMappedLocation(e,t.getSourceMapper(),e=>t.projectService.fileExists(e))}function getMappedDocumentSpanForProject(e,t){return getMappedDocumentSpan(e,t.getSourceMapper(),e=>t.projectService.fileExists(e))}function getMappedContextSpanForProject(e,t){return getMappedContextSpan(e,t.getSourceMapper(),e=>t.projectService.fileExists(e))}var wf=["openExternalProject","openExternalProjects","closeExternalProject","synchronizeProjectList","emit-output","compileOnSaveAffectedFileList","compileOnSaveEmitFile","compilerOptionsDiagnostics-full","encodedSemanticClassifications-full","semanticDiagnosticsSync","suggestionDiagnosticsSync","geterrForProject","reload","reloadProjects","getCodeFixes","getCodeFixes-full","getCombinedCodeFix","getCombinedCodeFix-full","applyCodeActionCommand","getSupportedCodeFixes","getApplicableRefactors","getMoveToRefactoringFileSuggestions","getEditsForRefactor","getEditsForRefactor-full","organizeImports","organizeImports-full","getEditsForFileRename","getEditsForFileRename-full","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","getPasteEdits","copilotRelated"],Lf=[...wf,"definition","definition-full","definitionAndBoundSpan","definitionAndBoundSpan-full","typeDefinition","implementation","implementation-full","references","references-full","rename","renameLocations-full","rename-full","quickinfo","quickinfo-full","completionInfo","completions","completions-full","completionEntryDetails","completionEntryDetails-full","signatureHelp","signatureHelp-full","navto","navto-full","documentHighlights","documentHighlights-full","preparePasteEdits"],Mf=class _Session{constructor(e){this.changeSeq=0,this.regionDiagLineCountThreshold=500,this.handlers=new Map(Object.entries({status:()=>{const e={version:s};return this.requiredResponse(e)},openExternalProject:e=>(this.projectService.openExternalProject(e.arguments,!0),this.requiredResponse(!0)),openExternalProjects:e=>(this.projectService.openExternalProjects(e.arguments.projects),this.requiredResponse(!0)),closeExternalProject:e=>(this.projectService.closeExternalProject(e.arguments.projectFileName,!0),this.requiredResponse(!0)),synchronizeProjectList:e=>{const t=this.projectService.synchronizeProjectList(e.arguments.knownProjects,e.arguments.includeProjectReferenceRedirectInfo);if(!t.some(e=>e.projectErrors&&0!==e.projectErrors.length))return this.requiredResponse(t);const n=map(t,e=>e.projectErrors&&0!==e.projectErrors.length?{info:e.info,changes:e.changes,files:e.files,projectErrors:this.convertToDiagnosticsWithLinePosition(e.projectErrors,void 0)}:e);return this.requiredResponse(n)},updateOpen:e=>(this.changeSeq++,this.projectService.applyChangesInOpenFiles(e.arguments.openFiles&&mapIterator(e.arguments.openFiles,e=>({fileName:e.file,content:e.fileContent,scriptKind:e.scriptKindName,projectRootPath:e.projectRootPath})),e.arguments.changedFiles&&mapIterator(e.arguments.changedFiles,e=>({fileName:e.fileName,changes:mapDefinedIterator(arrayReverseIterator(e.textChanges),t=>{const n=h.checkDefined(this.projectService.getScriptInfo(e.fileName)),r=n.lineOffsetToPosition(t.start.line,t.start.offset),i=n.lineOffsetToPosition(t.end.line,t.end.offset);return r>=0?{span:{start:r,length:i-r},newText:t.newText}:void 0})})),e.arguments.closedFiles),this.requiredResponse(!0)),applyChangedToOpenFiles:e=>(this.changeSeq++,this.projectService.applyChangesInOpenFiles(e.arguments.openFiles,e.arguments.changedFiles&&mapIterator(e.arguments.changedFiles,e=>({fileName:e.fileName,changes:arrayReverseIterator(e.changes)})),e.arguments.closedFiles),this.requiredResponse(!0)),exit:()=>(this.exit(),this.notRequired(void 0)),definition:e=>this.requiredResponse(this.getDefinition(e.arguments,!0)),"definition-full":e=>this.requiredResponse(this.getDefinition(e.arguments,!1)),definitionAndBoundSpan:e=>this.requiredResponse(this.getDefinitionAndBoundSpan(e.arguments,!0)),"definitionAndBoundSpan-full":e=>this.requiredResponse(this.getDefinitionAndBoundSpan(e.arguments,!1)),findSourceDefinition:e=>this.requiredResponse(this.findSourceDefinition(e.arguments)),"emit-output":e=>this.requiredResponse(this.getEmitOutput(e.arguments)),typeDefinition:e=>this.requiredResponse(this.getTypeDefinition(e.arguments)),implementation:e=>this.requiredResponse(this.getImplementation(e.arguments,!0)),"implementation-full":e=>this.requiredResponse(this.getImplementation(e.arguments,!1)),references:e=>this.requiredResponse(this.getReferences(e.arguments,!0)),"references-full":e=>this.requiredResponse(this.getReferences(e.arguments,!1)),rename:e=>this.requiredResponse(this.getRenameLocations(e.arguments,!0)),"renameLocations-full":e=>this.requiredResponse(this.getRenameLocations(e.arguments,!1)),"rename-full":e=>this.requiredResponse(this.getRenameInfo(e.arguments)),open:e=>(this.openClientFile(toNormalizedPath(e.arguments.file),e.arguments.fileContent,convertScriptKindName(e.arguments.scriptKindName),e.arguments.projectRootPath?toNormalizedPath(e.arguments.projectRootPath):void 0),this.notRequired(e)),quickinfo:e=>this.requiredResponse(this.getQuickInfoWorker(e.arguments,!0)),"quickinfo-full":e=>this.requiredResponse(this.getQuickInfoWorker(e.arguments,!1)),getOutliningSpans:e=>this.requiredResponse(this.getOutliningSpans(e.arguments,!0)),outliningSpans:e=>this.requiredResponse(this.getOutliningSpans(e.arguments,!1)),todoComments:e=>this.requiredResponse(this.getTodoComments(e.arguments)),indentation:e=>this.requiredResponse(this.getIndentation(e.arguments)),nameOrDottedNameSpan:e=>this.requiredResponse(this.getNameOrDottedNameSpan(e.arguments)),breakpointStatement:e=>this.requiredResponse(this.getBreakpointStatement(e.arguments)),braceCompletion:e=>this.requiredResponse(this.isValidBraceCompletion(e.arguments)),docCommentTemplate:e=>this.requiredResponse(this.getDocCommentTemplate(e.arguments)),getSpanOfEnclosingComment:e=>this.requiredResponse(this.getSpanOfEnclosingComment(e.arguments)),fileReferences:e=>this.requiredResponse(this.getFileReferences(e.arguments,!0)),"fileReferences-full":e=>this.requiredResponse(this.getFileReferences(e.arguments,!1)),format:e=>this.requiredResponse(this.getFormattingEditsForRange(e.arguments)),formatonkey:e=>this.requiredResponse(this.getFormattingEditsAfterKeystroke(e.arguments)),"format-full":e=>this.requiredResponse(this.getFormattingEditsForDocumentFull(e.arguments)),"formatonkey-full":e=>this.requiredResponse(this.getFormattingEditsAfterKeystrokeFull(e.arguments)),"formatRange-full":e=>this.requiredResponse(this.getFormattingEditsForRangeFull(e.arguments)),completionInfo:e=>this.requiredResponse(this.getCompletions(e.arguments,"completionInfo")),completions:e=>this.requiredResponse(this.getCompletions(e.arguments,"completions")),"completions-full":e=>this.requiredResponse(this.getCompletions(e.arguments,"completions-full")),completionEntryDetails:e=>this.requiredResponse(this.getCompletionEntryDetails(e.arguments,!1)),"completionEntryDetails-full":e=>this.requiredResponse(this.getCompletionEntryDetails(e.arguments,!0)),compileOnSaveAffectedFileList:e=>this.requiredResponse(this.getCompileOnSaveAffectedFileList(e.arguments)),compileOnSaveEmitFile:e=>this.requiredResponse(this.emitFile(e.arguments)),signatureHelp:e=>this.requiredResponse(this.getSignatureHelpItems(e.arguments,!0)),"signatureHelp-full":e=>this.requiredResponse(this.getSignatureHelpItems(e.arguments,!1)),"compilerOptionsDiagnostics-full":e=>this.requiredResponse(this.getCompilerOptionsDiagnostics(e.arguments)),"encodedSyntacticClassifications-full":e=>this.requiredResponse(this.getEncodedSyntacticClassifications(e.arguments)),"encodedSemanticClassifications-full":e=>this.requiredResponse(this.getEncodedSemanticClassifications(e.arguments)),cleanup:()=>(this.cleanup(),this.requiredResponse(!0)),semanticDiagnosticsSync:e=>this.requiredResponse(this.getSemanticDiagnosticsSync(e.arguments)),syntacticDiagnosticsSync:e=>this.requiredResponse(this.getSyntacticDiagnosticsSync(e.arguments)),suggestionDiagnosticsSync:e=>this.requiredResponse(this.getSuggestionDiagnosticsSync(e.arguments)),geterr:e=>(this.errorCheck.startNew(t=>this.getDiagnostics(t,e.arguments.delay,e.arguments.files)),this.notRequired(void 0)),geterrForProject:e=>(this.errorCheck.startNew(t=>this.getDiagnosticsForProject(t,e.arguments.delay,e.arguments.file)),this.notRequired(void 0)),change:e=>(this.change(e.arguments),this.notRequired(e)),configure:e=>(this.projectService.setHostConfiguration(e.arguments),this.notRequired(e)),reload:e=>(this.reload(e.arguments),this.requiredResponse({reloadFinished:!0})),saveto:e=>{const t=e.arguments;return this.saveToTmp(t.file,t.tmpfile),this.notRequired(e)},close:e=>{const t=e.arguments;return this.closeClientFile(t.file),this.notRequired(e)},navto:e=>this.requiredResponse(this.getNavigateToItems(e.arguments,!0)),"navto-full":e=>this.requiredResponse(this.getNavigateToItems(e.arguments,!1)),brace:e=>this.requiredResponse(this.getBraceMatching(e.arguments,!0)),"brace-full":e=>this.requiredResponse(this.getBraceMatching(e.arguments,!1)),navbar:e=>this.requiredResponse(this.getNavigationBarItems(e.arguments,!0)),"navbar-full":e=>this.requiredResponse(this.getNavigationBarItems(e.arguments,!1)),navtree:e=>this.requiredResponse(this.getNavigationTree(e.arguments,!0)),"navtree-full":e=>this.requiredResponse(this.getNavigationTree(e.arguments,!1)),documentHighlights:e=>this.requiredResponse(this.getDocumentHighlights(e.arguments,!0)),"documentHighlights-full":e=>this.requiredResponse(this.getDocumentHighlights(e.arguments,!1)),compilerOptionsForInferredProjects:e=>(this.setCompilerOptionsForInferredProjects(e.arguments),this.requiredResponse(!0)),projectInfo:e=>this.requiredResponse(this.getProjectInfo(e.arguments)),reloadProjects:e=>(this.projectService.reloadProjects(),this.notRequired(e)),jsxClosingTag:e=>this.requiredResponse(this.getJsxClosingTag(e.arguments)),linkedEditingRange:e=>this.requiredResponse(this.getLinkedEditingRange(e.arguments)),getCodeFixes:e=>this.requiredResponse(this.getCodeFixes(e.arguments,!0)),"getCodeFixes-full":e=>this.requiredResponse(this.getCodeFixes(e.arguments,!1)),getCombinedCodeFix:e=>this.requiredResponse(this.getCombinedCodeFix(e.arguments,!0)),"getCombinedCodeFix-full":e=>this.requiredResponse(this.getCombinedCodeFix(e.arguments,!1)),applyCodeActionCommand:e=>this.requiredResponse(this.applyCodeActionCommand(e.arguments)),getSupportedCodeFixes:e=>this.requiredResponse(this.getSupportedCodeFixes(e.arguments)),getApplicableRefactors:e=>this.requiredResponse(this.getApplicableRefactors(e.arguments)),getEditsForRefactor:e=>this.requiredResponse(this.getEditsForRefactor(e.arguments,!0)),getMoveToRefactoringFileSuggestions:e=>this.requiredResponse(this.getMoveToRefactoringFileSuggestions(e.arguments)),preparePasteEdits:e=>this.requiredResponse(this.preparePasteEdits(e.arguments)),getPasteEdits:e=>this.requiredResponse(this.getPasteEdits(e.arguments)),"getEditsForRefactor-full":e=>this.requiredResponse(this.getEditsForRefactor(e.arguments,!1)),organizeImports:e=>this.requiredResponse(this.organizeImports(e.arguments,!0)),"organizeImports-full":e=>this.requiredResponse(this.organizeImports(e.arguments,!1)),getEditsForFileRename:e=>this.requiredResponse(this.getEditsForFileRename(e.arguments,!0)),"getEditsForFileRename-full":e=>this.requiredResponse(this.getEditsForFileRename(e.arguments,!1)),configurePlugin:e=>(this.configurePlugin(e.arguments),this.notRequired(e)),selectionRange:e=>this.requiredResponse(this.getSmartSelectionRange(e.arguments,!0)),"selectionRange-full":e=>this.requiredResponse(this.getSmartSelectionRange(e.arguments,!1)),prepareCallHierarchy:e=>this.requiredResponse(this.prepareCallHierarchy(e.arguments)),provideCallHierarchyIncomingCalls:e=>this.requiredResponse(this.provideCallHierarchyIncomingCalls(e.arguments)),provideCallHierarchyOutgoingCalls:e=>this.requiredResponse(this.provideCallHierarchyOutgoingCalls(e.arguments)),toggleLineComment:e=>this.requiredResponse(this.toggleLineComment(e.arguments,!0)),"toggleLineComment-full":e=>this.requiredResponse(this.toggleLineComment(e.arguments,!1)),toggleMultilineComment:e=>this.requiredResponse(this.toggleMultilineComment(e.arguments,!0)),"toggleMultilineComment-full":e=>this.requiredResponse(this.toggleMultilineComment(e.arguments,!1)),commentSelection:e=>this.requiredResponse(this.commentSelection(e.arguments,!0)),"commentSelection-full":e=>this.requiredResponse(this.commentSelection(e.arguments,!1)),uncommentSelection:e=>this.requiredResponse(this.uncommentSelection(e.arguments,!0)),"uncommentSelection-full":e=>this.requiredResponse(this.uncommentSelection(e.arguments,!1)),provideInlayHints:e=>this.requiredResponse(this.provideInlayHints(e.arguments)),mapCode:e=>this.requiredResponse(this.mapCode(e.arguments)),copilotRelated:()=>this.requiredResponse(this.getCopilotRelatedInfo())})),this.host=e.host,this.cancellationToken=e.cancellationToken,this.typingsInstaller=e.typingsInstaller||Nf,this.byteLength=e.byteLength,this.hrtime=e.hrtime,this.logger=e.logger,this.canUseEvents=e.canUseEvents,this.suppressDiagnosticEvents=e.suppressDiagnosticEvents,this.noGetErrOnBackgroundUpdate=e.noGetErrOnBackgroundUpdate;const{throttleWaitMilliseconds:t}=e;this.eventHandler=this.canUseEvents?e.eventHandler||(e=>this.defaultEventHandler(e)):void 0;const n={executeWithRequestId:(e,t,n)=>this.executeWithRequestId(e,t,n),getCurrentRequestId:()=>this.currentRequestId,getPerformanceData:()=>this.performanceData,getServerHost:()=>this.host,logError:(e,t)=>this.logError(e,t),sendRequestCompletedEvent:(e,t)=>this.sendRequestCompletedEvent(e,t),isCancellationRequested:()=>this.cancellationToken.isCancellationRequested()};this.errorCheck=new Of(n);const r={host:this.host,logger:this.logger,cancellationToken:this.cancellationToken,useSingleInferredProject:e.useSingleInferredProject,useInferredProjectPerProjectRoot:e.useInferredProjectPerProjectRoot,typingsInstaller:this.typingsInstaller,throttleWaitMilliseconds:t,eventHandler:this.eventHandler,suppressDiagnosticEvents:this.suppressDiagnosticEvents,globalPlugins:e.globalPlugins,pluginProbeLocations:e.pluginProbeLocations,allowLocalPluginLoads:e.allowLocalPluginLoads,typesMapLocation:e.typesMapLocation,serverMode:e.serverMode,session:this,canUseWatchEvents:e.canUseWatchEvents,incrementalVerifier:e.incrementalVerifier};switch(this.projectService=new Df(r),this.projectService.setPerformanceEventHandler(this.performanceEventHandler.bind(this)),this.gcTimer=new R_(this.host,7e3,this.logger),this.projectService.serverMode){case 0:break;case 1:wf.forEach(e=>this.handlers.set(e,e=>{throw new Error(`Request: ${e.command} not allowed in LanguageServiceMode.PartialSemantic`)}));break;case 2:Lf.forEach(e=>this.handlers.set(e,e=>{throw new Error(`Request: ${e.command} not allowed in LanguageServiceMode.Syntactic`)}));break;default:h.assertNever(this.projectService.serverMode)}}sendRequestCompletedEvent(e,t){this.event({request_seq:e,performanceData:t&&toProtocolPerformanceData(t)},"requestCompleted")}addPerformanceData(e,t){this.performanceData||(this.performanceData={}),this.performanceData[e]=(this.performanceData[e]??0)+t}addDiagnosticsPerformanceData(e,t,n){var r,i;this.performanceData||(this.performanceData={});let o=null==(r=this.performanceData.diagnosticsDuration)?void 0:r.get(e);o||((i=this.performanceData).diagnosticsDuration??(i.diagnosticsDuration=new Map)).set(e,o={}),o[t]=n}performanceEventHandler(e){switch(e.kind){case"UpdateGraph":this.addPerformanceData("updateGraphDurationMs",e.durationMs);break;case"CreatePackageJsonAutoImportProvider":this.addPerformanceData("createAutoImportProviderProgramDurationMs",e.durationMs)}}defaultEventHandler(e){switch(e.eventName){case cf:this.projectsUpdatedInBackgroundEvent(e.data.openFiles);break;case lf:this.event({projectName:e.data.project.getProjectName(),reason:e.data.reason},e.eventName);break;case df:this.event({projectName:e.data.project.getProjectName()},e.eventName);break;case pf:case gf:case yf:case hf:this.event(e.data,e.eventName);break;case uf:this.event({triggerFile:e.data.triggerFile,configFile:e.data.configFileName,diagnostics:map(e.data.diagnostics,e=>formatDiagnosticToProtocol(e,!0))},e.eventName);break;case mf:this.event({projectName:e.data.project.getProjectName(),languageServiceEnabled:e.data.languageServiceEnabled},e.eventName);break;case _f:{const t="telemetry";this.event({telemetryEventName:e.eventName,payload:e.data},t);break}}}projectsUpdatedInBackgroundEvent(e){this.projectService.logger.info(`got projects updated in background ${e}`),e.length&&(this.suppressDiagnosticEvents||this.noGetErrOnBackgroundUpdate||(this.projectService.logger.info(`Queueing diagnostics update for ${e}`),this.errorCheck.startNew(t=>this.updateErrorCheck(t,e,100,!0))),this.event({openFiles:e},cf))}logError(e,t){this.logErrorWorker(e,t)}logErrorWorker(e,t,n){let r="Exception on executing command "+t;if(e.message&&(r+=":\n"+indent2(e.message),e.stack&&(r+="\n"+indent2(e.stack))),this.logger.hasLevel(3)){if(n)try{const{file:e,project:t}=this.getFileAndProject(n),i=t.getScriptInfoForNormalizedPath(e);if(i){const e=getSnapshotText(i.getSnapshot());r+=`\n\nFile text of ${n.file}:${indent2(e)}\n`}}catch{}if(e.ProgramFiles){r+=`\n\nProgram files: ${JSON.stringify(e.ProgramFiles)}\n`,r+="\n\nProjects::\n";let t=0;const addProjectInfo=e=>{r+=`\nProject '${e.projectName}' (${X_[e.projectKind]}) ${t}\n`,r+=e.filesToString(!0),r+="\n-----------------------------------------------\n",t++};this.projectService.externalProjects.forEach(addProjectInfo),this.projectService.configuredProjects.forEach(addProjectInfo),this.projectService.inferredProjects.forEach(addProjectInfo)}}this.logger.msg(r,"Err")}send(e){"event"!==e.type||this.canUseEvents?this.writeMessage(e):this.logger.hasLevel(3)&&this.logger.info(`Session does not support events: ignored event: ${stringifyIndented(e)}`)}writeMessage(e){const t=formatMessage2(e,this.logger,this.byteLength,this.host.newLine);this.host.write(t)}event(e,t){this.send(toEvent(t,e))}doOutput(e,t,n,r,i,o){const a={seq:0,type:"response",command:t,request_seq:n,success:r,performanceData:i&&toProtocolPerformanceData(i)};if(r){let t;if(isArray(e))a.body=e,t=e.metadata,delete e.metadata;else if("object"==typeof e)if(e.metadata){const{metadata:n,...r}=e;a.body=r,t=n}else a.body=e;else a.body=e;t&&(a.metadata=t)}else h.assert(void 0===e);o&&(a.message=o),this.send(a)}semanticCheck(e,t){var n,r;const i=B();null==(n=J)||n.push(J.Phase.Session,"semanticCheck",{file:e,configFilePath:t.canonicalConfigFilePath});const o=isDeclarationFileInJSOnlyNonConfiguredProject(t,e)?w_:t.getLanguageService().getSemanticDiagnostics(e).filter(e=>!!e.file);this.sendDiagnosticsEvent(e,t,o,"semanticDiag",i),null==(r=J)||r.pop()}syntacticCheck(e,t){var n,r;const i=B();null==(n=J)||n.push(J.Phase.Session,"syntacticCheck",{file:e,configFilePath:t.canonicalConfigFilePath}),this.sendDiagnosticsEvent(e,t,t.getLanguageService().getSyntacticDiagnostics(e),"syntaxDiag",i),null==(r=J)||r.pop()}suggestionCheck(e,t){var n,r;const i=B();null==(n=J)||n.push(J.Phase.Session,"suggestionCheck",{file:e,configFilePath:t.canonicalConfigFilePath}),this.sendDiagnosticsEvent(e,t,t.getLanguageService().getSuggestionDiagnostics(e),"suggestionDiag",i),null==(r=J)||r.pop()}regionSemanticCheck(e,t,n){var r,i,o;const a=B();let s;null==(r=J)||r.push(J.Phase.Session,"regionSemanticCheck",{file:e,configFilePath:t.canonicalConfigFilePath}),this.shouldDoRegionCheck(e)&&(s=t.getLanguageService().getRegionSemanticDiagnostics(e,n))?(this.sendDiagnosticsEvent(e,t,s.diagnostics,"regionSemanticDiag",a,s.spans),null==(o=J)||o.pop()):null==(i=J)||i.pop()}shouldDoRegionCheck(e){var t;const n=null==(t=this.projectService.getScriptInfoForNormalizedPath(e))?void 0:t.textStorage.getLineInfo().getLineCount();return!!(n&&n>=this.regionDiagLineCountThreshold)}sendDiagnosticsEvent(e,t,n,r,i,o){try{const a=h.checkDefined(t.getScriptInfo(e)),s=B()-i,c={file:e,diagnostics:n.map(n=>formatDiag(e,t,n)),spans:null==o?void 0:o.map(e=>toProtocolTextSpan(e,a))};this.event(c,r),this.addDiagnosticsPerformanceData(e,r,s)}catch(e){this.logError(e,r)}}updateErrorCheck(e,t,n,r=!0){if(0===t.length)return;h.assert(!this.suppressDiagnosticEvents);const i=this.changeSeq,o=Math.min(n,200);let a=0;const goNext=()=>{if(a++,t.length>a)return e.delay("checkOne",o,checkOne)},doSemanticCheck=(t,n)=>{if(this.semanticCheck(t,n),this.changeSeq===i)return this.getPreferences(t).disableSuggestions?goNext():void e.immediate("suggestionCheck",()=>{this.suggestionCheck(t,n),goNext()})},checkOne=()=>{if(this.changeSeq!==i)return;let n,o=t[a];if(isString(o)?o=this.toPendingErrorCheck(o):"ranges"in o&&(n=o.ranges,o=this.toPendingErrorCheck(o.file)),!o)return goNext();const{fileName:s,project:c}=o;return updateProjectIfDirty(c),c.containsFile(s,r)&&(this.syntacticCheck(s,c),this.changeSeq===i)?0!==c.projectService.serverMode?goNext():n?e.immediate("regionSemanticCheck",()=>{const t=this.projectService.getScriptInfoForNormalizedPath(s);t&&this.regionSemanticCheck(s,c,n.map(e=>this.getRange({file:s,...e},t))),this.changeSeq===i&&e.immediate("semanticCheck",()=>doSemanticCheck(s,c))}):void e.immediate("semanticCheck",()=>doSemanticCheck(s,c)):void 0};t.length>a&&this.changeSeq===i&&e.delay("checkOne",n,checkOne)}cleanProjects(e,t){if(t){this.logger.info(`cleaning ${e}`);for(const e of t)e.getLanguageService(!1).cleanupSemanticCache(),e.cleanupProgram()}}cleanup(){this.cleanProjects("inferred projects",this.projectService.inferredProjects),this.cleanProjects("configured projects",arrayFrom(this.projectService.configuredProjects.values())),this.cleanProjects("external projects",this.projectService.externalProjects),this.host.gc&&(this.logger.info("host.gc()"),this.host.gc())}getEncodedSyntacticClassifications(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e);return n.getEncodedSyntacticClassifications(t,e)}getEncodedSemanticClassifications(e){const{file:t,project:n}=this.getFileAndProject(e),r="2020"===e.format?"2020":"original";return n.getLanguageService().getEncodedSemanticClassifications(t,e,r)}getProject(e){return void 0===e?void 0:this.projectService.findProject(e)}getConfigFileAndProject(e){const t=this.getProject(e.projectFileName),n=toNormalizedPath(e.file);return{configFile:t&&t.hasConfigFile(n)?n:void 0,project:t}}getConfigFileDiagnostics(e,t,n){const r=filter(concatenate(t.getAllProjectErrors(),t.getLanguageService().getCompilerOptionsDiagnostics()),t=>!!t.file&&t.file.fileName===e);return n?this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(r):map(r,e=>formatDiagnosticToProtocol(e,!1))}convertToDiagnosticsWithLinePositionFromDiagnosticFile(e){return e.map(e=>({message:flattenDiagnosticMessageText(e.messageText,this.host.newLine),start:e.start,length:e.length,category:diagnosticCategoryName(e),code:e.code,source:e.source,startLocation:e.file&&convertToLocation(getLineAndCharacterOfPosition(e.file,e.start)),endLocation:e.file&&convertToLocation(getLineAndCharacterOfPosition(e.file,e.start+e.length)),reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated,relatedInformation:map(e.relatedInformation,formatRelatedInformation)}))}getCompilerOptionsDiagnostics(e){const t=this.getProject(e.projectFileName);return this.convertToDiagnosticsWithLinePosition(filter(t.getLanguageService().getCompilerOptionsDiagnostics(),e=>!e.file),void 0)}convertToDiagnosticsWithLinePosition(e,t){return e.map(e=>({message:flattenDiagnosticMessageText(e.messageText,this.host.newLine),start:e.start,length:e.length,category:diagnosticCategoryName(e),code:e.code,source:e.source,startLocation:t&&t.positionToLineOffset(e.start),endLocation:t&&t.positionToLineOffset(e.start+e.length),reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated,relatedInformation:map(e.relatedInformation,formatRelatedInformation)}))}getDiagnosticsWorker(e,t,n,r){const{project:i,file:o}=this.getFileAndProject(e);if(t&&isDeclarationFileInJSOnlyNonConfiguredProject(i,o))return w_;const a=i.getScriptInfoForNormalizedPath(o),s=n(i,o);return r?this.convertToDiagnosticsWithLinePosition(s,a):s.map(e=>formatDiag(o,i,e))}getDefinition(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.getPositionInFile(e,n),o=this.mapDefinitionInfoLocations(r.getLanguageService().getDefinitionAtPosition(n,i)||w_,r);return t?this.mapDefinitionInfo(o,r):o.map(_Session.mapToOriginalLocation)}mapDefinitionInfoLocations(e,t){return e.map(e=>{const n=getMappedDocumentSpanForProject(e,t);return n?{...n,containerKind:e.containerKind,containerName:e.containerName,kind:e.kind,name:e.name,failedAliasResolution:e.failedAliasResolution,...e.unverified&&{unverified:e.unverified}}:e})}getDefinitionAndBoundSpan(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.getPositionInFile(e,n),o=h.checkDefined(r.getScriptInfo(n)),a=r.getLanguageService().getDefinitionAndBoundSpan(n,i);if(!a||!a.definitions)return{definitions:w_,textSpan:void 0};const s=this.mapDefinitionInfoLocations(a.definitions,r),{textSpan:c}=a;return t?{definitions:this.mapDefinitionInfo(s,r),textSpan:toProtocolTextSpan(c,o)}:{definitions:s.map(_Session.mapToOriginalLocation),textSpan:c}}findSourceDefinition(e){var t;const{file:n,project:r}=this.getFileAndProject(e),i=this.getPositionInFile(e,n),o=r.getLanguageService().getDefinitionAtPosition(n,i);let a=this.mapDefinitionInfoLocations(o||w_,r).slice();if(0===this.projectService.serverMode&&(!some(a,e=>toNormalizedPath(e.fileName)!==n&&!e.isAmbient)||some(a,e=>!!e.failedAliasResolution))){const e=createSet(e=>e.textSpan.start,getDocumentSpansEqualityComparer(this.host.useCaseSensitiveFileNames));null==a||a.forEach(t=>e.add(t));const o=r.getNoDtsResolutionProject(n),s=o.getLanguageService(),c=null==(t=s.getDefinitionAtPosition(n,i,!0,!1))?void 0:t.filter(e=>toNormalizedPath(e.fileName)!==n);if(some(c))for(const t of c){if(t.unverified){const n=tryRefineDefinition(t,r.getLanguageService().getProgram(),s.getProgram());if(some(n)){for(const t of n)e.add(t);continue}}e.add(t)}else{const t=a.filter(e=>toNormalizedPath(e.fileName)!==n&&e.isAmbient);for(const a of some(t)?t:function getAmbientCandidatesByClimbingAccessChain(){const e=r.getLanguageService(),t=e.getProgram(),o=getTouchingPropertyName(t.getSourceFile(n),i);if((isStringLiteralLike(o)||isIdentifier(o))&&isAccessExpression(o.parent))return forEachNameInAccessChainWalkingLeft(o,t=>{var r;if(t===o)return;const i=null==(r=e.getDefinitionAtPosition(n,t.getStart(),!0,!1))?void 0:r.filter(e=>toNormalizedPath(e.fileName)!==n&&e.isAmbient).map(e=>({fileName:e.fileName,name:getTextOfIdentifierOrLiteral(o)}));return some(i)?i:void 0})||w_;return w_}()){const t=findImplementationFileFromDtsFileName(a.fileName,n,o);if(!t)continue;const r=this.projectService.getOrCreateScriptInfoNotOpenedByClient(t,o.currentDirectory,o.directoryStructureHost,!1);if(!r)continue;o.containsScriptInfo(r)||(o.addRoot(r),o.updateGraph());const i=s.getProgram(),c=h.checkDefined(i.getSourceFile(t));for(const t of searchForDeclaration(a.name,c,i))e.add(t)}}a=arrayFrom(e.values())}return a=a.filter(e=>!e.isAmbient&&!e.failedAliasResolution),this.mapDefinitionInfo(a,r);function findImplementationFileFromDtsFileName(e,t,n){var i,o,a;const s=getNodeModulePathParts(e);if(s&&e.lastIndexOf(Mo)===s.topLevelNodeModulesIndex){const c=e.substring(0,s.packageRootIndex),l=null==(i=r.getModuleResolutionCache())?void 0:i.getPackageJsonInfoCache(),d=r.getCompilationSettings(),p=getPackageScopeForPath(getNormalizedAbsolutePath(c,r.getCurrentDirectory()),getTemporaryModuleResolutionState(l,r,d));if(!p)return;const u=getEntrypointsFromPackageJsonInfo(p,{moduleResolution:2},r,r.getModuleResolutionCache()),m=getPackageNameFromTypesPackageName(unmangleScopedPackageName(e.substring(s.topLevelPackageNameIndex+1,s.packageRootIndex))),_=r.toPath(e);if(u&&some(u,e=>r.toPath(e)===_))return null==(o=n.resolutionCache.resolveSingleModuleNameWithoutWatching(m,t).resolvedModule)?void 0:o.resolvedFileName;{const r=`${m}/${removeFileExtension(e.substring(s.packageRootIndex+1))}`;return null==(a=n.resolutionCache.resolveSingleModuleNameWithoutWatching(r,t).resolvedModule)?void 0:a.resolvedFileName}}}function tryRefineDefinition(e,t,r){var o;const a=r.getSourceFile(e.fileName);if(!a)return;const s=getTouchingPropertyName(t.getSourceFile(n),i),c=t.getTypeChecker().getSymbolAtLocation(s),l=c&&getDeclarationOfKind(c,277);if(!l)return;return searchForDeclaration((null==(o=l.propertyName)?void 0:o.text)||l.name.text,a,r)}function searchForDeclaration(e,t,n){return mapDefined(vm.Core.getTopMostDeclarationNamesInFile(e,t),e=>{const t=n.getTypeChecker().getSymbolAtLocation(e),r=getDeclarationFromName(e);if(t&&r)return Pm.createDefinitionInfo(r,n.getTypeChecker(),t,r,!0)})}}getEmitOutput(e){const{file:t,project:n}=this.getFileAndProject(e);if(!n.shouldEmitFile(n.getScriptInfo(t)))return{emitSkipped:!0,outputFiles:[],diagnostics:[]};const r=n.getLanguageService().getEmitOutput(t);return e.richResponse?{...r,diagnostics:e.includeLinePosition?this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(r.diagnostics):r.diagnostics.map(e=>formatDiagnosticToProtocol(e,!0))}:r}mapJSDocTagInfo(e,t,n){return e?e.map(e=>{var r;return{...e,text:n?this.mapDisplayParts(e.text,t):null==(r=e.text)?void 0:r.map(e=>e.text).join("")}}):[]}mapDisplayParts(e,t){return e?e.map(e=>"linkName"!==e.kind?e:{...e,target:this.toFileSpan(e.target.fileName,e.target.textSpan,t)}):[]}mapSignatureHelpItems(e,t,n){return e.map(e=>({...e,documentation:this.mapDisplayParts(e.documentation,t),parameters:e.parameters.map(e=>({...e,documentation:this.mapDisplayParts(e.documentation,t)})),tags:this.mapJSDocTagInfo(e.tags,t,n)}))}mapDefinitionInfo(e,t){return e.map(e=>({...this.toFileSpanWithContext(e.fileName,e.textSpan,e.contextSpan,t),...e.unverified&&{unverified:e.unverified}}))}static mapToOriginalLocation(e){return e.originalFileName?(h.assert(void 0!==e.originalTextSpan,"originalTextSpan should be present if originalFileName is"),{...e,fileName:e.originalFileName,textSpan:e.originalTextSpan,targetFileName:e.fileName,targetTextSpan:e.textSpan,contextSpan:e.originalContextSpan,targetContextSpan:e.contextSpan}):e}toFileSpan(e,t,n){const r=n.getLanguageService(),i=r.toLineColumnOffset(e,t.start),o=r.toLineColumnOffset(e,textSpanEnd(t));return{file:e,start:{line:i.line+1,offset:i.character+1},end:{line:o.line+1,offset:o.character+1}}}toFileSpanWithContext(e,t,n,r){const i=this.toFileSpan(e,t,r),o=n&&this.toFileSpan(e,n,r);return o?{...i,contextStart:o.start,contextEnd:o.end}:i}getTypeDefinition(e){const{file:t,project:n}=this.getFileAndProject(e),r=this.getPositionInFile(e,t),i=this.mapDefinitionInfoLocations(n.getLanguageService().getTypeDefinitionAtPosition(t,r)||w_,n);return this.mapDefinitionInfo(i,n)}mapImplementationLocations(e,t){return e.map(e=>{const n=getMappedDocumentSpanForProject(e,t);return n?{...n,kind:e.kind,displayParts:e.displayParts}:e})}getImplementation(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.getPositionInFile(e,n),o=this.mapImplementationLocations(r.getLanguageService().getImplementationAtPosition(n,i)||w_,r);return t?o.map(({fileName:e,textSpan:t,contextSpan:n})=>this.toFileSpanWithContext(e,t,n,r)):o.map(_Session.mapToOriginalLocation)}getSyntacticDiagnosticsSync(e){const{configFile:t}=this.getConfigFileAndProject(e);return t?w_:this.getDiagnosticsWorker(e,!1,(e,t)=>e.getLanguageService().getSyntacticDiagnostics(t),!!e.includeLinePosition)}getSemanticDiagnosticsSync(e){const{configFile:t,project:n}=this.getConfigFileAndProject(e);return t?this.getConfigFileDiagnostics(t,n,!!e.includeLinePosition):this.getDiagnosticsWorker(e,!0,(e,t)=>e.getLanguageService().getSemanticDiagnostics(t).filter(e=>!!e.file),!!e.includeLinePosition)}getSuggestionDiagnosticsSync(e){const{configFile:t}=this.getConfigFileAndProject(e);return t?w_:this.getDiagnosticsWorker(e,!0,(e,t)=>e.getLanguageService().getSuggestionDiagnostics(t),!!e.includeLinePosition)}getJsxClosingTag(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.getPositionInFile(e,t),i=n.getJsxClosingTagAtPosition(t,r);return void 0===i?void 0:{newText:i.newText,caretOffset:0}}getLinkedEditingRange(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.getPositionInFile(e,t),i=n.getLinkedEditingRangeAtPosition(t,r),o=this.projectService.getScriptInfoForNormalizedPath(t);if(void 0!==o&&void 0!==i)return function convertLinkedEditInfoToRanges(e,t){const n=e.ranges.map(e=>({start:t.positionToLineOffset(e.start),end:t.positionToLineOffset(e.start+e.length)}));return e.wordPattern?{ranges:n,wordPattern:e.wordPattern}:{ranges:n}}(i,o)}getDocumentHighlights(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.getPositionInFile(e,n),o=r.getLanguageService().getDocumentHighlights(n,i,e.filesToSearch);return o?t?o.map(({fileName:e,highlightSpans:t})=>{const n=r.getScriptInfo(e);return{file:e,highlightSpans:t.map(({textSpan:e,kind:t,contextSpan:r})=>({...toProtocolTextSpanWithContext(e,r,n),kind:t}))}}):o:w_}provideInlayHints(e){const{file:t,project:n}=this.getFileAndProject(e),r=this.projectService.getScriptInfoForNormalizedPath(t);return n.getLanguageService().provideInlayHints(t,e,this.getPreferences(t)).map(e=>{const{position:t,displayParts:n}=e;return{...e,position:r.positionToLineOffset(t),displayParts:null==n?void 0:n.map(({text:e,span:t,file:n})=>{if(t){h.assertIsDefined(n,"Target file should be defined together with its span.");const r=this.projectService.getScriptInfo(n);return{text:e,span:{start:r.positionToLineOffset(t.start),end:r.positionToLineOffset(t.start+t.length),file:n}}}return{text:e}})}})}mapCode(e){var t;const n=this.getHostFormatOptions(),r=this.getHostPreferences(),{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(e),a=this.projectService.getScriptInfoForNormalizedPath(i),s=null==(t=e.mapping.focusLocations)?void 0:t.map(e=>e.map(e=>{const t=a.lineOffsetToPosition(e.start.line,e.start.offset);return{start:t,length:a.lineOffsetToPosition(e.end.line,e.end.offset)-t}})),c=o.mapCode(i,e.mapping.contents,s,n,r);return this.mapTextChangesToCodeEdits(c)}getCopilotRelatedInfo(){return{relatedFiles:[]}}setCompilerOptionsForInferredProjects(e){this.projectService.setCompilerOptionsForInferredProjects(e.options,e.projectRootPath)}getProjectInfo(e){return this.getProjectInfoWorker(e.file,e.projectFileName,e.needFileNameList,e.needDefaultConfiguredProjectInfo,!1)}getProjectInfoWorker(e,t,n,r,i){const{project:o}=this.getFileAndProjectWorker(e,t);updateProjectIfDirty(o);return{configFileName:o.getProjectName(),languageServiceDisabled:!o.languageServiceEnabled,fileNames:n?o.getFileNames(!1,i):void 0,configuredProjectInfo:r?this.getDefaultConfiguredProjectInfo(e):void 0}}getDefaultConfiguredProjectInfo(e){var t;const n=this.projectService.getScriptInfo(e);if(!n)return;const r=this.projectService.findDefaultConfiguredProjectWorker(n,3);if(!r)return;let i,o;return r.seenProjects.forEach((e,t)=>{t!==r.defaultProject&&(3!==e?(i??(i=[])).push(toNormalizedPath(t.getConfigFilePath())):(o??(o=[])).push(toNormalizedPath(t.getConfigFilePath())))}),null==(t=r.seenConfigs)||t.forEach(e=>(i??(i=[])).push(e)),{notMatchedByConfig:i,notInProject:o,defaultProject:r.defaultProject&&toNormalizedPath(r.defaultProject.getConfigFilePath())}}getRenameInfo(e){const{file:t,project:n}=this.getFileAndProject(e),r=this.getPositionInFile(e,t),i=this.getPreferences(t);return n.getLanguageService().getRenameInfo(t,r,i)}getProjects(e,t,n){let r,i;if(e.projectFileName){const t=this.getProject(e.projectFileName);t&&(r=[t])}else{const o=t?this.projectService.getScriptInfoEnsuringProjectsUptoDate(e.file):this.projectService.getScriptInfo(e.file);if(!o)return n?w_:(this.projectService.logErrorForScriptInfoNotFound(e.file),I_.ThrowNoProject());t||this.projectService.ensureDefaultProjectForFile(o),r=o.containingProjects,i=this.projectService.getSymlinkedProjects(o)}return r=filter(r,e=>e.languageServiceEnabled&&!e.isOrphan()),n||r&&r.length||i?i?{projects:r,symLinkedProjects:i}:r:(this.projectService.logErrorForScriptInfoNotFound(e.file??e.projectFileName),I_.ThrowNoProject())}getDefaultProject(e){if(e.projectFileName){const t=this.getProject(e.projectFileName);if(t)return t;if(!e.file)return I_.ThrowNoProject()}return this.projectService.getScriptInfo(e.file).getDefaultProject()}getRenameLocations(e,t){const n=toNormalizedPath(e.file),r=this.getPositionInFile(e,n),i=this.getProjects(e),o=this.getDefaultProject(e),a=this.getPreferences(n),s=this.mapRenameInfo(o.getLanguageService().getRenameInfo(n,r,a),h.checkDefined(this.projectService.getScriptInfo(n)));if(!s.canRename)return t?{info:s,locs:[]}:[];const c=function getRenameLocationsWorker(e,t,n,r,i,o,a){const s=getPerProjectReferences(e,t,n,getDefinitionLocation(t,n,!0),mapDefinitionInProject,(e,t)=>e.getLanguageService().findRenameLocations(t.fileName,t.pos,r,i,o),(e,t)=>t(documentSpanLocation(e)));if(isArray(s))return s;const c=[],l=createDocumentSpanSet(a);return s.forEach((e,t)=>{for(const n of e)l.has(n)||getMappedLocationForProject(documentSpanLocation(n),t)||(c.push(n),l.add(n))}),c}(i,o,{fileName:e.file,pos:r},!!e.findInStrings,!!e.findInComments,a,this.host.useCaseSensitiveFileNames);return t?{info:s,locs:this.toSpanGroups(c)}:c}mapRenameInfo(e,t){if(e.canRename){const{canRename:n,fileToRename:r,displayName:i,fullDisplayName:o,kind:a,kindModifiers:s,triggerSpan:c}=e;return{canRename:n,fileToRename:r,displayName:i,fullDisplayName:o,kind:a,kindModifiers:s,triggerSpan:toProtocolTextSpan(c,t)}}return e}toSpanGroups(e){const t=new Map;for(const{fileName:n,textSpan:r,contextSpan:i,originalContextSpan:o,originalTextSpan:a,originalFileName:s,...c}of e){let e=t.get(n);e||t.set(n,e={file:n,locs:[]});const o=h.checkDefined(this.projectService.getScriptInfo(n));e.locs.push({...toProtocolTextSpanWithContext(r,i,o),...c})}return arrayFrom(t.values())}getReferences(e,t){const n=toNormalizedPath(e.file),r=this.getProjects(e),i=this.getPositionInFile(e,n),o=function getReferencesWorker(e,t,n,r,i){var o,a;const s=getPerProjectReferences(e,t,n,getDefinitionLocation(t,n,!1),mapDefinitionInProject,(e,t)=>(i.info(`Finding references to ${t.fileName} position ${t.pos} in project ${e.getProjectName()}`),e.getLanguageService().findReferences(t.fileName,t.pos)),(e,t)=>{t(documentSpanLocation(e.definition));for(const n of e.references)t(documentSpanLocation(n))});if(isArray(s))return s;const c=s.get(t);if(void 0===(null==(a=null==(o=null==c?void 0:c[0])?void 0:o.references[0])?void 0:a.isDefinition))s.forEach(e=>{for(const t of e)for(const e of t.references)delete e.isDefinition});else{const e=createDocumentSpanSet(r);for(const t of c)for(const n of t.references)if(n.isDefinition){e.add(n);break}const t=new Set;for(;;){let n=!1;if(s.forEach((r,i)=>{t.has(i)||i.getLanguageService().updateIsDefinitionOfReferencedSymbols(r,e)&&(t.add(i),n=!0)}),!n)break}s.forEach((e,n)=>{if(!t.has(n))for(const t of e)for(const e of t.references)e.isDefinition=!1})}const l=[],d=createDocumentSpanSet(r);return s.forEach((e,t)=>{for(const n of e){const e=getMappedLocationForProject(documentSpanLocation(n.definition),t),i=void 0===e?n.definition:{...n.definition,textSpan:createTextSpan(e.pos,n.definition.textSpan.length),fileName:e.fileName,contextSpan:getMappedContextSpanForProject(n.definition,t)};let o=find(l,e=>documentSpansEqual(e.definition,i,r));o||(o={definition:i,references:[]},l.push(o));for(const e of n.references)d.has(e)||getMappedLocationForProject(documentSpanLocation(e),t)||(d.add(e),o.references.push(e))}}),l.filter(e=>0!==e.references.length)}(r,this.getDefaultProject(e),{fileName:e.file,pos:i},this.host.useCaseSensitiveFileNames,this.logger);if(!t)return o;const a=this.getPreferences(n),s=this.getDefaultProject(e),c=s.getScriptInfoForNormalizedPath(n),l=s.getLanguageService().getQuickInfoAtPosition(n,i),d=l?displayPartsToString(l.displayParts):"",p=l&&l.textSpan,u=p?c.positionToLineOffset(p.start).offset:0,m=p?c.getSnapshot().getText(p.start,textSpanEnd(p)):"";return{refs:flatMap(o,e=>e.references.map(e=>referenceEntryToReferencesResponseItem(this.projectService,e,a))),symbolName:m,symbolStartOffset:u,symbolDisplayString:d}}getFileReferences(e,t){const n=this.getProjects(e),r=toNormalizedPath(e.file),i=this.getPreferences(r),o={fileName:r,pos:0},a=getPerProjectReferences(n,this.getDefaultProject(e),o,o,mapDefinitionInProjectIfFileInProject,e=>(this.logger.info(`Finding references to file ${r} in project ${e.getProjectName()}`),e.getLanguageService().getFileReferences(r)));let s;if(isArray(a))s=a;else{s=[];const e=createDocumentSpanSet(this.host.useCaseSensitiveFileNames);a.forEach(t=>{for(const n of t)e.has(n)||(s.push(n),e.add(n))})}if(!t)return s;return{refs:s.map(e=>referenceEntryToReferencesResponseItem(this.projectService,e,i)),symbolName:`"${e.file}"`}}openClientFile(e,t,n,r){this.projectService.openClientFileWithNormalizedPath(e,t,n,!1,r)}getPosition(e,t){return void 0!==e.position?e.position:t.lineOffsetToPosition(e.line,e.offset)}getPositionInFile(e,t){const n=this.projectService.getScriptInfoForNormalizedPath(t);return this.getPosition(e,n)}getFileAndProject(e){return this.getFileAndProjectWorker(e.file,e.projectFileName)}getFileAndLanguageServiceForSyntacticOperation(e){const{file:t,project:n}=this.getFileAndProject(e);return{file:t,languageService:n.getLanguageService(!1)}}getFileAndProjectWorker(e,t){const n=toNormalizedPath(e);return{file:n,project:this.getProject(t)||this.projectService.ensureDefaultProjectForFile(n)}}getOutliningSpans(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=r.getOutliningSpans(n);if(t){const e=this.projectService.getScriptInfoForNormalizedPath(n);return i.map(t=>({textSpan:toProtocolTextSpan(t.textSpan,e),hintSpan:toProtocolTextSpan(t.hintSpan,e),bannerText:t.bannerText,autoCollapse:t.autoCollapse,kind:t.kind}))}return i}getTodoComments(e){const{file:t,project:n}=this.getFileAndProject(e);return n.getLanguageService().getTodoComments(t,e.descriptors)}getDocCommentTemplate(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.getPositionInFile(e,t);return n.getDocCommentTemplateAtPosition(t,r,this.getPreferences(t),this.getFormatOptions(t))}getSpanOfEnclosingComment(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=e.onlyMultiLine,i=this.getPositionInFile(e,t);return n.getSpanOfEnclosingComment(t,i,r)}getIndentation(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.getPositionInFile(e,t),i=e.options?convertFormatOptions(e.options):this.getFormatOptions(t);return{position:r,indentation:n.getIndentationAtPosition(t,r,i)}}getBreakpointStatement(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.getPositionInFile(e,t);return n.getBreakpointStatementAtPosition(t,r)}getNameOrDottedNameSpan(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.getPositionInFile(e,t);return n.getNameOrDottedNameSpan(t,r,r)}isValidBraceCompletion(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.getPositionInFile(e,t);return n.isValidBraceCompletionAtPosition(t,r,e.openingBrace.charCodeAt(0))}getQuickInfoWorker(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getPreferences(n),a=r.getLanguageService().getQuickInfoAtPosition(n,this.getPosition(e,i),o.maximumHoverLength,e.verbosityLevel);if(!a)return;const s=!!o.displayPartsForJSDoc;if(t){const e=displayPartsToString(a.displayParts);return{kind:a.kind,kindModifiers:a.kindModifiers,start:i.positionToLineOffset(a.textSpan.start),end:i.positionToLineOffset(textSpanEnd(a.textSpan)),displayString:e,documentation:s?this.mapDisplayParts(a.documentation,r):displayPartsToString(a.documentation),tags:this.mapJSDocTagInfo(a.tags,r,s),canIncreaseVerbosityLevel:a.canIncreaseVerbosityLevel}}return s?a:{...a,tags:this.mapJSDocTagInfo(a.tags,r,!1)}}getFormattingEditsForRange(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.projectService.getScriptInfoForNormalizedPath(t),i=r.lineOffsetToPosition(e.line,e.offset),o=r.lineOffsetToPosition(e.endLine,e.endOffset),a=n.getFormattingEditsForRange(t,i,o,this.getFormatOptions(t));if(a)return a.map(e=>this.convertTextChangeToCodeEdit(e,r))}getFormattingEditsForRangeFull(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=e.options?convertFormatOptions(e.options):this.getFormatOptions(t);return n.getFormattingEditsForRange(t,e.position,e.endPosition,r)}getFormattingEditsForDocumentFull(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=e.options?convertFormatOptions(e.options):this.getFormatOptions(t);return n.getFormattingEditsForDocument(t,r)}getFormattingEditsAfterKeystrokeFull(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=e.options?convertFormatOptions(e.options):this.getFormatOptions(t);return n.getFormattingEditsAfterKeystroke(t,e.position,e.key,r)}getFormattingEditsAfterKeystroke(e){const{file:t,languageService:n}=this.getFileAndLanguageServiceForSyntacticOperation(e),r=this.projectService.getScriptInfoForNormalizedPath(t),i=r.lineOffsetToPosition(e.line,e.offset),o=this.getFormatOptions(t),a=n.getFormattingEditsAfterKeystroke(t,i,e.key,o);if("\n"===e.key&&(!a||0===a.length||function allEditsBeforePos(e,t){return e.every(e=>textSpanEnd(e.span)<t)}(a,i))){const{lineText:s,absolutePosition:c}=r.textStorage.getAbsolutePositionAndLineText(e.line);if(s&&s.search("\\S")<0){const e=n.getIndentationAtPosition(t,i,o);let r,l,d=0;for(r=0,l=s.length;r<l;r++)if(" "===s.charAt(r))d++;else{if("\t"!==s.charAt(r))break;d+=o.tabSize}if(e!==d){const t=c+r;a.push({span:createTextSpanFromBounds(c,t),newText:r_.getIndentationString(e,o)})}}}if(a)return a.map(e=>({start:r.positionToLineOffset(e.span.start),end:r.positionToLineOffset(textSpanEnd(e.span)),newText:e.newText?e.newText:""}))}getCompletions(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getPosition(e,i),a=r.getLanguageService().getCompletionsAtPosition(n,o,{...convertUserPreferences(this.getPreferences(n)),triggerCharacter:e.triggerCharacter,triggerKind:e.triggerKind,includeExternalModuleExports:e.includeExternalModuleExports,includeInsertTextCompletions:e.includeInsertTextCompletions},r.projectService.getFormatCodeOptions(n));if(void 0===a)return;if("completions-full"===t)return a;const s=e.prefix||"",c=mapDefined(a.entries,e=>{if(a.isMemberCompletion||startsWith(e.name.toLowerCase(),s.toLowerCase())){const t=e.replacementSpan?toProtocolTextSpan(e.replacementSpan,i):void 0;return{...e,replacementSpan:t,hasAction:e.hasAction||void 0,symbol:void 0}}});if("completions"===t)return a.metadata&&(c.metadata=a.metadata),c;return{...a,optionalReplacementSpan:a.optionalReplacementSpan&&toProtocolTextSpan(a.optionalReplacementSpan,i),entries:c}}getCompletionEntryDetails(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getPosition(e,i),a=r.projectService.getFormatCodeOptions(n),s=!!this.getPreferences(n).displayPartsForJSDoc,c=mapDefined(e.entryNames,e=>{const{name:t,source:i,data:s}="string"==typeof e?{name:e,source:void 0,data:void 0}:e;return r.getLanguageService().getCompletionEntryDetails(n,o,t,a,i,this.getPreferences(n),s?cast(s,isCompletionEntryData):void 0)});return t?s?c:c.map(e=>({...e,tags:this.mapJSDocTagInfo(e.tags,r,!1)})):c.map(e=>({...e,codeActions:map(e.codeActions,e=>this.mapCodeAction(e)),documentation:this.mapDisplayParts(e.documentation,r),tags:this.mapJSDocTagInfo(e.tags,r,s)}))}getCompileOnSaveAffectedFileList(e){const t=this.getProjects(e,!0,!0),n=this.projectService.getScriptInfo(e.file);return n?function combineProjectOutput(e,t,n,r){const i=flatMapToMutable(isArray(n)?n:n.projects,t=>r(t,e));return!isArray(n)&&n.symLinkedProjects&&n.symLinkedProjects.forEach((e,n)=>{const o=t(n);i.push(...flatMap(e,e=>r(e,o)))}),deduplicate(i,equateValues)}(n,e=>this.projectService.getScriptInfoForPath(e),t,(e,t)=>{if(!e.compileOnSaveEnabled||!e.languageServiceEnabled||e.isOrphan())return;const n=e.getCompilationSettings();return n.noEmit||isDeclarationFileName(t.fileName)&&!function dtsChangeCanAffectEmit(e){return Zn(e)||!!e.emitDecoratorMetadata}(n)?void 0:{projectFileName:e.getProjectName(),fileNames:e.getCompileOnSaveAffectedFileList(t),projectUsesOutFile:!!n.outFile}}):w_}emitFile(e){const{file:t,project:n}=this.getFileAndProject(e);if(n||I_.ThrowNoProject(),!n.languageServiceEnabled)return!!e.richResponse&&{emitSkipped:!0,diagnostics:[]};const r=n.getScriptInfo(t),{emitSkipped:i,diagnostics:o}=n.emitFile(r,(e,t,n)=>this.host.writeFile(e,t,n));return e.richResponse?{emitSkipped:i,diagnostics:e.includeLinePosition?this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(o):o.map(e=>formatDiagnosticToProtocol(e,!0))}:!i}getSignatureHelpItems(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getPosition(e,i),a=r.getLanguageService().getSignatureHelpItems(n,o,e),s=!!this.getPreferences(n).displayPartsForJSDoc;if(a&&t){const e=a.applicableSpan;return{...a,applicableSpan:{start:i.positionToLineOffset(e.start),end:i.positionToLineOffset(e.start+e.length)},items:this.mapSignatureHelpItems(a.items,r,s)}}return s||!a?a:{...a,items:a.items.map(e=>({...e,tags:this.mapJSDocTagInfo(e.tags,r,!1)}))}}toPendingErrorCheck(e){const t=toNormalizedPath(e),n=this.projectService.tryGetDefaultProjectForFile(t);return n&&{fileName:t,project:n}}getDiagnostics(e,t,n){this.suppressDiagnosticEvents||n.length>0&&this.updateErrorCheck(e,n,t)}change(e){const t=this.projectService.getScriptInfo(e.file);h.assert(!!t),t.textStorage.switchToScriptVersionCache();const n=t.lineOffsetToPosition(e.line,e.offset),r=t.lineOffsetToPosition(e.endLine,e.endOffset);n>=0&&(this.changeSeq++,this.projectService.applyChangesToFile(t,singleIterator({span:{start:n,length:r-n},newText:e.insertString})))}reload(e){const t=toNormalizedPath(e.file),n=void 0===e.tmpfile?void 0:toNormalizedPath(e.tmpfile),r=this.projectService.getScriptInfoForNormalizedPath(t);r&&(this.changeSeq++,r.reloadFromFile(n))}saveToTmp(e,t){const n=this.projectService.getScriptInfo(e);n&&n.saveTo(t)}closeClientFile(e){if(!e)return;const t=normalizePath(e);this.projectService.closeClientFile(t)}mapLocationNavigationBarItems(e,t){return map(e,e=>({text:e.text,kind:e.kind,kindModifiers:e.kindModifiers,spans:e.spans.map(e=>toProtocolTextSpan(e,t)),childItems:this.mapLocationNavigationBarItems(e.childItems,t),indent:e.indent}))}getNavigationBarItems(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=r.getNavigationBarItems(n);return i?t?this.mapLocationNavigationBarItems(i,this.projectService.getScriptInfoForNormalizedPath(n)):i:void 0}toLocationNavigationTree(e,t){return{text:e.text,kind:e.kind,kindModifiers:e.kindModifiers,spans:e.spans.map(e=>toProtocolTextSpan(e,t)),nameSpan:e.nameSpan&&toProtocolTextSpan(e.nameSpan,t),childItems:map(e.childItems,e=>this.toLocationNavigationTree(e,t))}}getNavigationTree(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=r.getNavigationTree(n);return i?t?this.toLocationNavigationTree(i,this.projectService.getScriptInfoForNormalizedPath(n)):i:void 0}getNavigateToItems(e,t){const n=this.getFullNavigateToItems(e);return flatMap(n,t?({project:e,navigateToItems:t})=>t.map(t=>{const n=e.getScriptInfo(t.fileName),r={name:t.name,kind:t.kind,kindModifiers:t.kindModifiers,isCaseSensitive:t.isCaseSensitive,matchKind:t.matchKind,file:t.fileName,start:n.positionToLineOffset(t.textSpan.start),end:n.positionToLineOffset(textSpanEnd(t.textSpan))};return t.kindModifiers&&""!==t.kindModifiers&&(r.kindModifiers=t.kindModifiers),t.containerName&&t.containerName.length>0&&(r.containerName=t.containerName),t.containerKind&&t.containerKind.length>0&&(r.containerKind=t.containerKind),r}):({navigateToItems:e})=>e)}getFullNavigateToItems(e){const{currentFileOnly:t,searchValue:n,maxResultCount:r,projectFileName:i}=e;if(t){h.assertIsDefined(e.file);const{file:t,project:i}=this.getFileAndProject(e);return[{project:i,navigateToItems:i.getLanguageService().getNavigateToItems(n,r,t)}]}const o=this.getHostPreferences(),a=[],s=new Map;if(e.file||i){forEachProjectInProjects(this.getProjects(e),void 0,e=>addItemsForProject(e))}else this.projectService.loadAncestorProjectTree(),this.projectService.forEachEnabledProject(e=>addItemsForProject(e));return a;function addItemsForProject(e){const t=filter(e.getLanguageService().getNavigateToItems(n,r,void 0,e.isNonTsProject(),o.excludeLibrarySymbolsInNavTo),t=>function tryAddSeenItem(e){const t=e.name;if(!s.has(t))return s.set(t,[e]),!0;const n=s.get(t);for(const t of n)if(navigateToItemIsEqualTo(t,e))return!1;return n.push(e),!0}(t)&&!getMappedLocationForProject(documentSpanLocation(t),e));t.length&&a.push({project:e,navigateToItems:t})}function navigateToItemIsEqualTo(e,t){return e===t||!(!e||!t)&&(e.containerKind===t.containerKind&&e.containerName===t.containerName&&e.fileName===t.fileName&&e.isCaseSensitive===t.isCaseSensitive&&e.kind===t.kind&&e.kindModifiers===t.kindModifiers&&e.matchKind===t.matchKind&&e.name===t.name&&e.textSpan.start===t.textSpan.start&&e.textSpan.length===t.textSpan.length)}}getSupportedCodeFixes(e){if(!e)return getSupportedCodeFixes();if(e.file){const{file:t,project:n}=this.getFileAndProject(e);return n.getLanguageService().getSupportedCodeFixes(t)}const t=this.getProject(e.projectFileName);return t||I_.ThrowNoProject(),t.getLanguageService().getSupportedCodeFixes()}isLocation(e){return void 0!==e.line}extractPositionOrRange(e,t){let n,r;return this.isLocation(e)?n=function getPosition(e){return void 0!==e.position?e.position:t.lineOffsetToPosition(e.line,e.offset)}(e):r=this.getRange(e,t),h.checkDefined(void 0===n?r:n)}getRange(e,t){const{startPosition:n,endPosition:r}=this.getStartAndEndPosition(e,t);return{pos:n,end:r}}getApplicableRefactors(e){const{file:t,project:n}=this.getFileAndProject(e),r=n.getScriptInfoForNormalizedPath(t);return n.getLanguageService().getApplicableRefactors(t,this.extractPositionOrRange(e,r),this.getPreferences(t),e.triggerReason,e.kind,e.includeInteractiveActions).map(e=>({...e,actions:e.actions.map(e=>({...e,range:e.range?{start:convertToLocation({line:e.range.start.line,character:e.range.start.offset}),end:convertToLocation({line:e.range.end.line,character:e.range.end.offset})}:void 0}))}))}getEditsForRefactor(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=r.getScriptInfoForNormalizedPath(n),o=r.getLanguageService().getEditsForRefactor(n,this.getFormatOptions(n),this.extractPositionOrRange(e,i),e.refactor,e.action,this.getPreferences(n),e.interactiveRefactorArguments);if(void 0===o)return{edits:[]};if(t){const{renameFilename:e,renameLocation:t,edits:n}=o;let i;if(void 0!==e&&void 0!==t){i=getLocationInNewDocument(getSnapshotText(r.getScriptInfoForNormalizedPath(toNormalizedPath(e)).getSnapshot()),e,t,n)}return{renameLocation:i,renameFilename:e,edits:this.mapTextChangesToCodeEdits(n),notApplicableReason:o.notApplicableReason}}return o}getMoveToRefactoringFileSuggestions(e){const{file:t,project:n}=this.getFileAndProject(e),r=n.getScriptInfoForNormalizedPath(t);return n.getLanguageService().getMoveToRefactoringFileSuggestions(t,this.extractPositionOrRange(e,r),this.getPreferences(t))}preparePasteEdits(e){const{file:t,project:n}=this.getFileAndProject(e);return n.getLanguageService().preparePasteEditsForFile(t,e.copiedTextSpan.map(e=>this.getRange({file:t,startLine:e.start.line,startOffset:e.start.offset,endLine:e.end.line,endOffset:e.end.offset},this.projectService.getScriptInfoForNormalizedPath(t))))}getPasteEdits(e){const{file:t,project:n}=this.getFileAndProject(e);if(isDynamicFileName(t))return;const r=e.copiedFrom?{file:e.copiedFrom.file,range:e.copiedFrom.spans.map(t=>this.getRange({file:e.copiedFrom.file,startLine:t.start.line,startOffset:t.start.offset,endLine:t.end.line,endOffset:t.end.offset},n.getScriptInfoForNormalizedPath(toNormalizedPath(e.copiedFrom.file))))}:void 0,i=n.getLanguageService().getPasteEdits({targetFile:t,pastedText:e.pastedText,pasteLocations:e.pasteLocations.map(e=>this.getRange({file:t,startLine:e.start.line,startOffset:e.start.offset,endLine:e.end.line,endOffset:e.end.offset},n.getScriptInfoForNormalizedPath(t))),copiedFrom:r,preferences:this.getPreferences(t)},this.getFormatOptions(t));return i&&this.mapPasteEditsAction(i)}organizeImports(e,t){h.assert("file"===e.scope.type);const{file:n,project:r}=this.getFileAndProject(e.scope.args),i=r.getLanguageService().organizeImports({fileName:n,mode:e.mode??(e.skipDestructiveCodeActions?"SortAndCombine":void 0),type:"file"},this.getFormatOptions(n),this.getPreferences(n));return t?this.mapTextChangesToCodeEdits(i):i}getEditsForFileRename(e,t){const n=toNormalizedPath(e.oldFilePath),r=toNormalizedPath(e.newFilePath),i=this.getHostFormatOptions(),o=this.getHostPreferences(),a=new Set,s=[];return this.projectService.loadAncestorProjectTree(),this.projectService.forEachEnabledProject(e=>{const t=e.getLanguageService().getEditsForFileRename(n,r,i,o),c=[];for(const e of t)a.has(e.fileName)||(s.push(e),c.push(e.fileName));for(const e of c)a.add(e)}),t?s.map(e=>this.mapTextChangeToCodeEdit(e)):s}getCodeFixes(e,t){const{file:n,project:r}=this.getFileAndProject(e),i=r.getScriptInfoForNormalizedPath(n),{startPosition:o,endPosition:a}=this.getStartAndEndPosition(e,i);let s;try{s=r.getLanguageService().getCodeFixesAtPosition(n,o,a,e.errorCodes,this.getFormatOptions(n),this.getPreferences(n))}catch(t){const i=t instanceof Error?t:new Error(t),s=r.getLanguageService(),c=[...s.getSyntacticDiagnostics(n),...s.getSemanticDiagnostics(n),...s.getSuggestionDiagnostics(n)].filter(e=>decodedTextSpanIntersectsWith(o,a-o,e.start,e.length)).map(e=>e.code),l=e.errorCodes.find(e=>!c.includes(e));throw void 0!==l&&(i.message+=`\nAdditional information: BADCLIENT: Bad error code, ${l} not found in range ${o}..${a} (found: ${c.join(", ")})`),i}return t?s.map(e=>this.mapCodeFixAction(e)):s}getCombinedCodeFix({scope:e,fixId:t},n){h.assert("file"===e.type);const{file:r,project:i}=this.getFileAndProject(e.args),o=i.getLanguageService().getCombinedCodeFix({type:"file",fileName:r},t,this.getFormatOptions(r),this.getPreferences(r));return n?{changes:this.mapTextChangesToCodeEdits(o.changes),commands:o.commands}:o}applyCodeActionCommand(e){const t=e.command;for(const e of toArray(t)){const{file:t,project:n}=this.getFileAndProject(e);n.getLanguageService().applyCodeActionCommand(e,this.getFormatOptions(t)).then(e=>{},e=>{})}return{}}getStartAndEndPosition(e,t){let n,r;return void 0!==e.startPosition?n=e.startPosition:(n=t.lineOffsetToPosition(e.startLine,e.startOffset),e.startPosition=n),void 0!==e.endPosition?r=e.endPosition:(r=t.lineOffsetToPosition(e.endLine,e.endOffset),e.endPosition=r),{startPosition:n,endPosition:r}}mapCodeAction({description:e,changes:t,commands:n}){return{description:e,changes:this.mapTextChangesToCodeEdits(t),commands:n}}mapCodeFixAction({fixName:e,description:t,changes:n,commands:r,fixId:i,fixAllDescription:o}){return{fixName:e,description:t,changes:this.mapTextChangesToCodeEdits(n),commands:r,fixId:i,fixAllDescription:o}}mapPasteEditsAction({edits:e,fixId:t}){return{edits:this.mapTextChangesToCodeEdits(e),fixId:t}}mapTextChangesToCodeEdits(e){return e.map(e=>this.mapTextChangeToCodeEdit(e))}mapTextChangeToCodeEdit(e){const t=this.projectService.getScriptInfoOrConfig(e.fileName);return!!e.isNewFile==!!t&&(t||this.projectService.logErrorForScriptInfoNotFound(e.fileName),h.fail("Expected isNewFile for (only) new files. "+JSON.stringify({isNewFile:!!e.isNewFile,hasScriptInfo:!!t}))),t?{fileName:e.fileName,textChanges:e.textChanges.map(e=>function convertTextChangeToCodeEdit(e,t){return{start:positionToLineOffset(t,e.span.start),end:positionToLineOffset(t,textSpanEnd(e.span)),newText:e.newText}}(e,t))}:function convertNewFileTextChangeToCodeEdit(e){h.assert(1===e.textChanges.length);const t=first(e.textChanges);return h.assert(0===t.span.start&&0===t.span.length),{fileName:e.fileName,textChanges:[{start:{line:0,offset:0},end:{line:0,offset:0},newText:t.newText}]}}(e)}convertTextChangeToCodeEdit(e,t){return{start:t.positionToLineOffset(e.span.start),end:t.positionToLineOffset(e.span.start+e.span.length),newText:e.newText?e.newText:""}}getBraceMatching(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getPosition(e,i),a=r.getBraceMatchingAtPosition(n,o);return a?t?a.map(e=>toProtocolTextSpan(e,i)):a:void 0}getDiagnosticsForProject(e,t,n){if(this.suppressDiagnosticEvents)return;const{fileNames:r,languageServiceDisabled:i}=this.getProjectInfoWorker(n,void 0,!0,void 0,!0);if(i)return;const o=r.filter(e=>!e.includes("lib.d.ts"));if(0===o.length)return;const a=[],s=[],c=[],l=[],d=toNormalizedPath(n),p=this.projectService.ensureDefaultProjectForFile(d);for(const e of o)if(this.getCanonicalFileName(e)===this.getCanonicalFileName(n))a.push(e);else{this.projectService.getScriptInfo(e).isScriptOpen()?s.push(e):isDeclarationFileName(e)?l.push(e):c.push(e)}const u=[...a,...s,...c,...l].map(e=>({fileName:e,project:p}));this.updateErrorCheck(e,u,t,!1)}configurePlugin(e){this.projectService.configurePlugin(e)}getSmartSelectionRange(e,t){const{locations:n}=e,{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(e),o=h.checkDefined(this.projectService.getScriptInfo(r));return map(n,e=>{const n=this.getPosition(e,o),a=i.getSmartSelectionRange(r,n);return t?this.mapSelectionRange(a,o):a})}toggleLineComment(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=this.projectService.getScriptInfo(n),o=this.getRange(e,i),a=r.toggleLineComment(n,o);if(t){const e=this.projectService.getScriptInfoForNormalizedPath(n);return a.map(t=>this.convertTextChangeToCodeEdit(t,e))}return a}toggleMultilineComment(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getRange(e,i),a=r.toggleMultilineComment(n,o);if(t){const e=this.projectService.getScriptInfoForNormalizedPath(n);return a.map(t=>this.convertTextChangeToCodeEdit(t,e))}return a}commentSelection(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getRange(e,i),a=r.commentSelection(n,o);if(t){const e=this.projectService.getScriptInfoForNormalizedPath(n);return a.map(t=>this.convertTextChangeToCodeEdit(t,e))}return a}uncommentSelection(e,t){const{file:n,languageService:r}=this.getFileAndLanguageServiceForSyntacticOperation(e),i=this.projectService.getScriptInfoForNormalizedPath(n),o=this.getRange(e,i),a=r.uncommentSelection(n,o);if(t){const e=this.projectService.getScriptInfoForNormalizedPath(n);return a.map(t=>this.convertTextChangeToCodeEdit(t,e))}return a}mapSelectionRange(e,t){const n={textSpan:toProtocolTextSpan(e.textSpan,t)};return e.parent&&(n.parent=this.mapSelectionRange(e.parent,t)),n}getScriptInfoFromProjectService(e){const t=toNormalizedPath(e),n=this.projectService.getScriptInfoForNormalizedPath(t);return n||(this.projectService.logErrorForScriptInfoNotFound(t),I_.ThrowNoProject())}toProtocolCallHierarchyItem(e){const t=this.getScriptInfoFromProjectService(e.file);return{name:e.name,kind:e.kind,kindModifiers:e.kindModifiers,file:e.file,containerName:e.containerName,span:toProtocolTextSpan(e.span,t),selectionSpan:toProtocolTextSpan(e.selectionSpan,t)}}toProtocolCallHierarchyIncomingCall(e){const t=this.getScriptInfoFromProjectService(e.from.file);return{from:this.toProtocolCallHierarchyItem(e.from),fromSpans:e.fromSpans.map(e=>toProtocolTextSpan(e,t))}}toProtocolCallHierarchyOutgoingCall(e,t){return{to:this.toProtocolCallHierarchyItem(e.to),fromSpans:e.fromSpans.map(e=>toProtocolTextSpan(e,t))}}prepareCallHierarchy(e){const{file:t,project:n}=this.getFileAndProject(e),r=this.projectService.getScriptInfoForNormalizedPath(t);if(r){const i=this.getPosition(e,r),o=n.getLanguageService().prepareCallHierarchy(t,i);return o&&mapOneOrMany(o,e=>this.toProtocolCallHierarchyItem(e))}}provideCallHierarchyIncomingCalls(e){const{file:t,project:n}=this.getFileAndProject(e),r=this.getScriptInfoFromProjectService(t);return n.getLanguageService().provideCallHierarchyIncomingCalls(t,this.getPosition(e,r)).map(e=>this.toProtocolCallHierarchyIncomingCall(e))}provideCallHierarchyOutgoingCalls(e){const{file:t,project:n}=this.getFileAndProject(e),r=this.getScriptInfoFromProjectService(t);return n.getLanguageService().provideCallHierarchyOutgoingCalls(t,this.getPosition(e,r)).map(e=>this.toProtocolCallHierarchyOutgoingCall(e,r))}getCanonicalFileName(e){return normalizePath(this.host.useCaseSensitiveFileNames?e:toFileNameLowerCase(e))}exit(){}notRequired(e){return e&&this.doOutput(void 0,e.command,e.seq,!0,this.performanceData),{responseRequired:!1,performanceData:this.performanceData}}requiredResponse(e){return{response:e,responseRequired:!0,performanceData:this.performanceData}}addProtocolHandler(e,t){if(this.handlers.has(e))throw new Error(`Protocol handler already exists for command "${e}"`);this.handlers.set(e,t)}setCurrentRequest(e){h.assert(void 0===this.currentRequestId),this.currentRequestId=e,this.cancellationToken.setRequest(e)}resetCurrentRequest(e){h.assert(this.currentRequestId===e),this.currentRequestId=void 0,this.cancellationToken.resetRequest(e)}executeWithRequestId(e,t,n){const r=this.performanceData;try{return this.performanceData=n,this.setCurrentRequest(e),t()}finally{this.resetCurrentRequest(e),this.performanceData=r}}executeCommand(e){const t=this.handlers.get(e.command);if(t){const n=this.executeWithRequestId(e.seq,()=>t(e),void 0);return this.projectService.enableRequestedPlugins(),n}return this.logger.msg(`Unrecognized JSON command:${stringifyIndented(e)}`,"Err"),this.doOutput(void 0,"unknown",e.seq,!1,void 0,`Unrecognized JSON command: ${e.command}`),{responseRequired:!1}}onMessage(e){var t,n,r,i,o,a,s;let c;this.gcTimer.scheduleCollect();const l=this.performanceData;let d,p;this.logger.hasLevel(2)&&(c=this.hrtime(),this.logger.hasLevel(3)&&this.logger.info(`request:${indent2(this.toStringMessage(e))}`));try{d=this.parseMessage(e),p=d.arguments&&d.arguments.file?d.arguments:void 0,null==(t=J)||t.instant(J.Phase.Session,"request",{seq:d.seq,command:d.command}),null==(n=J)||n.push(J.Phase.Session,"executeCommand",{seq:d.seq,command:d.command},!0);const{response:o,responseRequired:a,performanceData:s}=this.executeCommand(d);if(null==(r=J)||r.pop(),this.logger.hasLevel(2)){const e=function hrTimeToMilliseconds(e){return(1e9*e[0]+e[1])/1e6}(this.hrtime(c)).toFixed(4);a?this.logger.perftrc(`${d.seq}::${d.command}: elapsed time (in milliseconds) ${e}`):this.logger.perftrc(`${d.seq}::${d.command}: async elapsed time (in milliseconds) ${e}`)}null==(i=J)||i.instant(J.Phase.Session,"response",{seq:d.seq,command:d.command,success:!!o}),o?this.doOutput(o,d.command,d.seq,!0,s):a&&this.doOutput(void 0,d.command,d.seq,!1,s,"No content available.")}catch(t){if(null==(o=J)||o.popAll(),t instanceof se)return null==(a=J)||a.instant(J.Phase.Session,"commandCanceled",{seq:null==d?void 0:d.seq,command:null==d?void 0:d.command}),void this.doOutput({canceled:!0},d.command,d.seq,!0,this.performanceData);this.logErrorWorker(t,this.toStringMessage(e),p),null==(s=J)||s.instant(J.Phase.Session,"commandError",{seq:null==d?void 0:d.seq,command:null==d?void 0:d.command,message:t.message}),this.doOutput(void 0,d?d.command:"unknown",d?d.seq:0,!1,this.performanceData,"Error processing request. "+t.message+"\n"+t.stack)}finally{this.performanceData=l}}parseMessage(e){return JSON.parse(e)}toStringMessage(e){return e}getFormatOptions(e){return this.projectService.getFormatCodeOptions(e)}getPreferences(e){return this.projectService.getPreferences(e)}getHostFormatOptions(){return this.projectService.getHostFormatCodeOptions()}getHostPreferences(){return this.projectService.getHostPreferences()}};function toProtocolPerformanceData(e){const t=e.diagnosticsDuration&&arrayFrom(e.diagnosticsDuration,([e,t])=>({...t,file:e}));return{...e,diagnosticsDuration:t}}function toProtocolTextSpan(e,t){return{start:t.positionToLineOffset(e.start),end:t.positionToLineOffset(textSpanEnd(e))}}function toProtocolTextSpanWithContext(e,t,n){const r=toProtocolTextSpan(e,n),i=t&&toProtocolTextSpan(t,n);return i?{...r,contextStart:i.start,contextEnd:i.end}:r}function positionToLineOffset(e,t){return isConfigFile(e)?function locationFromLineAndCharacter(e){return{line:e.line+1,offset:e.character+1}}(e.getLineAndCharacterOfPosition(t)):e.positionToLineOffset(t)}function getLocationInNewDocument(e,t,n,r){const i=function applyEdits(e,t,n){for(const{fileName:r,textChanges:i}of n)if(r===t)for(let t=i.length-1;t>=0;t--){const{newText:n,span:{start:r,length:o}}=i[t];e=e.slice(0,r)+n+e.slice(r+o)}return e}(e,t,r),{line:o,character:a}=computeLineAndCharacterOfPosition(computeLineStarts(i),n);return{line:o+1,offset:a+1}}function referenceEntryToReferencesResponseItem(e,{fileName:t,textSpan:n,contextSpan:r,isWriteAccess:i,isDefinition:o},{disableLineTextInReferences:a}){const s=h.checkDefined(e.getScriptInfo(t)),c=toProtocolTextSpanWithContext(n,r,s),l=a?void 0:function getLineText(e,t){const n=e.lineToTextSpan(t.start.line-1);return e.getSnapshot().getText(n.start,textSpanEnd(n)).replace(/\r|\n/g,"")}(s,c);return{file:t,...c,lineText:l,isWriteAccess:i,isDefinition:o}}function isCompletionEntryData(e){return void 0===e||e&&"object"==typeof e&&"string"==typeof e.exportName&&(void 0===e.fileName||"string"==typeof e.fileName)&&(void 0===e.ambientModuleName||"string"==typeof e.ambientModuleName&&(void 0===e.isPackageJsonImport||"boolean"==typeof e.isPackageJsonImport))}var Rf=(e=>(e[e.PreStart=0]="PreStart",e[e.Start=1]="Start",e[e.Entire=2]="Entire",e[e.Mid=3]="Mid",e[e.End=4]="End",e[e.PostEnd=5]="PostEnd",e))(Rf||{}),Bf=class{constructor(){this.goSubtree=!0,this.lineIndex=new zf,this.endBranch=[],this.state=2,this.initialText="",this.trailingText="",this.lineIndex.root=new Vf,this.startPath=[this.lineIndex.root],this.stack=[this.lineIndex.root]}get done(){return!1}insertLines(e,t){t&&(this.trailingText=""),e=e?this.initialText+e+this.trailingText:this.initialText+this.trailingText;const n=zf.linesFromText(e).lines;let r,i;n.length>1&&""===n[n.length-1]&&n.pop();for(let e=this.endBranch.length-1;e>=0;e--)this.endBranch[e].updateCounts(),0===this.endBranch[e].charCount()&&(i=this.endBranch[e],r=e>0?this.endBranch[e-1]:this.branchNode);i&&r.remove(i);const o=this.startPath[this.startPath.length-1];if(n.length>0)if(o.text=n[0],n.length>1){let e=new Array(n.length-1),t=o;for(let t=1;t<n.length;t++)e[t-1]=new qf(n[t]);let r=this.startPath.length-2;for(;r>=0;){const n=this.startPath[r];e=n.insertAt(t,e),r--,t=n}let i=e.length;for(;i>0;){const t=new Vf;t.add(this.lineIndex.root),e=t.insertAt(this.lineIndex.root,e),i=e.length,this.lineIndex.root=t}this.lineIndex.root.updateCounts()}else for(let e=this.startPath.length-2;e>=0;e--)this.startPath[e].updateCounts();else{this.startPath[this.startPath.length-2].remove(o);for(let e=this.startPath.length-2;e>=0;e--)this.startPath[e].updateCounts()}return this.lineIndex}post(e,t,n){n===this.lineCollectionAtBranch&&(this.state=4),this.stack.pop()}pre(e,t,n,r,i){const o=this.stack[this.stack.length-1];let a;function fresh(e){return e.isLeaf()?new qf(""):new Vf}switch(2===this.state&&1===i&&(this.state=1,this.branchNode=o,this.lineCollectionAtBranch=n),i){case 0:this.goSubtree=!1,4!==this.state&&o.add(n);break;case 1:4===this.state?this.goSubtree=!1:(a=fresh(n),o.add(a),this.startPath.push(a));break;case 2:4!==this.state?(a=fresh(n),o.add(a),this.startPath.push(a)):n.isLeaf()||(a=fresh(n),o.add(a),this.endBranch.push(a));break;case 3:this.goSubtree=!1;break;case 4:4!==this.state?this.goSubtree=!1:n.isLeaf()||(a=fresh(n),o.add(a),this.endBranch.push(a));break;case 5:this.goSubtree=!1,1!==this.state&&o.add(n)}this.goSubtree&&this.stack.push(a)}leaf(e,t,n){1===this.state?this.initialText=n.text.substring(0,e):2===this.state?(this.initialText=n.text.substring(0,e),this.trailingText=n.text.substring(e+t)):this.trailingText=n.text.substring(e+t)}},jf=class{constructor(e,t,n){this.pos=e,this.deleteLen=t,this.insertedText=n}getTextChangeRange(){return createTextChangeRange(createTextSpan(this.pos,this.deleteLen),this.insertedText?this.insertedText.length:0)}},Jf=class _ScriptVersionCache{constructor(){this.changes=[],this.versions=new Array(_ScriptVersionCache.maxVersions),this.minVersion=0,this.currentVersion=0}versionToIndex(e){if(!(e<this.minVersion||e>this.currentVersion))return e%_ScriptVersionCache.maxVersions}currentVersionToIndex(){return this.currentVersion%_ScriptVersionCache.maxVersions}edit(e,t,n){this.changes.push(new jf(e,t,n)),(this.changes.length>_ScriptVersionCache.changeNumberThreshold||t>_ScriptVersionCache.changeLengthThreshold||n&&n.length>_ScriptVersionCache.changeLengthThreshold)&&this.getSnapshot()}getSnapshot(){return this._getSnapshot()}_getSnapshot(){let e=this.versions[this.currentVersionToIndex()];if(this.changes.length>0){let t=e.index;for(const e of this.changes)t=t.edit(e.pos,e.deleteLen,e.insertedText);e=new Uf(this.currentVersion+1,this,t,this.changes),this.currentVersion=e.version,this.versions[this.currentVersionToIndex()]=e,this.changes=[],this.currentVersion-this.minVersion>=_ScriptVersionCache.maxVersions&&(this.minVersion=this.currentVersion-_ScriptVersionCache.maxVersions+1)}return e}getSnapshotVersion(){return this._getSnapshot().version}getAbsolutePositionAndLineText(e){return this._getSnapshot().index.lineNumberToInfo(e)}lineOffsetToPosition(e,t){return this._getSnapshot().index.absolutePositionOfStartOfLine(e)+(t-1)}positionToLineOffset(e){return this._getSnapshot().index.positionToLineOffset(e)}lineToTextSpan(e){const t=this._getSnapshot().index,{lineText:n,absolutePosition:r}=t.lineNumberToInfo(e+1);return createTextSpan(r,void 0!==n?n.length:t.absolutePositionOfStartOfLine(e+2)-r)}getTextChangesBetweenVersions(e,t){if(!(e<t))return nn;if(e>=this.minVersion){const n=[];for(let r=e+1;r<=t;r++){const e=this.versions[this.versionToIndex(r)];for(const t of e.changesSincePreviousVersion)n.push(t.getTextChangeRange())}return collapseTextChangeRangesAcrossMultipleVersions(n)}}getLineCount(){return this._getSnapshot().index.getLineCount()}static fromString(e){const t=new _ScriptVersionCache,n=new Uf(0,t,new zf);t.versions[t.currentVersion]=n;const r=zf.linesFromText(e);return n.index.load(r.lines),t}};Jf.changeNumberThreshold=8,Jf.changeLengthThreshold=256,Jf.maxVersions=8;var Wf=Jf,Uf=class _LineIndexSnapshot{constructor(e,t,n,r=w_){this.version=e,this.cache=t,this.index=n,this.changesSincePreviousVersion=r}getText(e,t){return this.index.getText(e,t-e)}getLength(){return this.index.getLength()}getChangeRange(e){if(e instanceof _LineIndexSnapshot&&this.cache===e.cache)return this.version<=e.version?nn:this.cache.getTextChangesBetweenVersions(e.version,this.version)}},zf=class _LineIndex{constructor(){this.checkEdits=!1}absolutePositionOfStartOfLine(e){return this.lineNumberToInfo(e).absolutePosition}positionToLineOffset(e){const{oneBasedLine:t,zeroBasedColumn:n}=this.root.charOffsetToLineInfo(1,e);return{line:t,offset:n+1}}positionToColumnAndLineText(e){return this.root.charOffsetToLineInfo(1,e)}getLineCount(){return this.root.lineCount()}lineNumberToInfo(e){if(e<=this.getLineCount()){const{position:t,leaf:n}=this.root.lineNumberToInfo(e,0);return{absolutePosition:t,lineText:n&&n.text}}return{absolutePosition:this.root.charCount(),lineText:void 0}}load(e){if(e.length>0){const t=[];for(let n=0;n<e.length;n++)t[n]=new qf(e[n]);this.root=_LineIndex.buildTreeFromBottom(t)}else this.root=new Vf}walk(e,t,n){this.root.walk(e,t,n)}getText(e,t){let n="";return t>0&&e<this.root.charCount()&&this.walk(e,t,{goSubtree:!0,done:!1,leaf:(e,t,r)=>{n=n.concat(r.text.substring(e,e+t))}}),n}getLength(){return this.root.charCount()}every(e,t,n){n||(n=this.root.charCount());const r={goSubtree:!0,done:!1,leaf(t,n,r){e(r,t,n)||(this.done=!0)}};return this.walk(t,n-t,r),!r.done}edit(e,t,n){if(0===this.root.charCount())return h.assert(0===t),void 0!==n?(this.load(_LineIndex.linesFromText(n).lines),this):void 0;{let r;if(this.checkEdits){const i=this.getText(0,this.root.charCount());r=i.slice(0,e)+n+i.slice(e+t)}const i=new Bf;let o=!1;if(e>=this.root.charCount()){e=this.root.charCount()-1;const r=this.getText(e,1);n=n?r+n:r,t=0,o=!0}else if(t>0){const r=e+t,{zeroBasedColumn:i,lineText:o}=this.positionToColumnAndLineText(r);0===i&&(t+=o.length,n=n?n+o:o)}if(this.root.walk(e,t,i),i.insertLines(n,o),this.checkEdits){const e=i.lineIndex.getText(0,i.lineIndex.getLength());h.assert(r===e,"buffer edit mismatch")}return i.lineIndex}}static buildTreeFromBottom(e){if(e.length<4)return new Vf(e);const t=new Array(Math.ceil(e.length/4));let n=0;for(let r=0;r<t.length;r++){const i=Math.min(n+4,e.length);t[r]=new Vf(e.slice(n,i)),n=i}return this.buildTreeFromBottom(t)}static linesFromText(e){const t=computeLineStarts(e);if(0===t.length)return{lines:[],lineMap:t};const n=new Array(t.length),r=t.length-1;for(let i=0;i<r;i++)n[i]=e.substring(t[i],t[i+1]);const i=e.substring(t[r]);return i.length>0?n[r]=i:n.pop(),{lines:n,lineMap:t}}},Vf=class _LineNode{constructor(e=[]){this.children=e,this.totalChars=0,this.totalLines=0,e.length&&this.updateCounts()}isLeaf(){return!1}updateCounts(){this.totalChars=0,this.totalLines=0;for(const e of this.children)this.totalChars+=e.charCount(),this.totalLines+=e.lineCount()}execWalk(e,t,n,r,i){return n.pre&&n.pre(e,t,this.children[r],this,i),n.goSubtree?(this.children[r].walk(e,t,n),n.post&&n.post(e,t,this.children[r],this,i)):n.goSubtree=!0,n.done}skipChild(e,t,n,r,i){r.pre&&!r.done&&(r.pre(e,t,this.children[n],this,i),r.goSubtree=!0)}walk(e,t,n){if(0===this.children.length)return;let r=0,i=this.children[r].charCount(),o=e;for(;o>=i;)this.skipChild(o,t,r,n,0),o-=i,r++,i=this.children[r].charCount();if(o+t<=i){if(this.execWalk(o,t,n,r,2))return}else{if(this.execWalk(o,i-o,n,r,1))return;let e=t-(i-o);r++;for(i=this.children[r].charCount();e>i;){if(this.execWalk(0,i,n,r,3))return;e-=i,r++,i=this.children[r].charCount()}if(e>0&&this.execWalk(0,e,n,r,4))return}if(n.pre){const e=this.children.length;if(r<e-1)for(let t=r+1;t<e;t++)this.skipChild(0,0,t,n,5)}}charOffsetToLineInfo(e,t){if(0===this.children.length)return{oneBasedLine:e,zeroBasedColumn:t,lineText:void 0};for(const n of this.children){if(n.charCount()>t)return n.isLeaf()?{oneBasedLine:e,zeroBasedColumn:t,lineText:n.text}:n.charOffsetToLineInfo(e,t);t-=n.charCount(),e+=n.lineCount()}const n=this.lineCount();if(0===n)return{oneBasedLine:1,zeroBasedColumn:0,lineText:void 0};return{oneBasedLine:n,zeroBasedColumn:h.checkDefined(this.lineNumberToInfo(n,0).leaf).charCount(),lineText:void 0}}lineNumberToInfo(e,t){for(const n of this.children){const r=n.lineCount();if(r>=e)return n.isLeaf()?{position:t,leaf:n}:n.lineNumberToInfo(e,t);e-=r,t+=n.charCount()}return{position:t,leaf:void 0}}splitAfter(e){let t;const n=this.children.length,r=++e;if(e<n){for(t=new _LineNode;e<n;)t.add(this.children[e]),e++;t.updateCounts()}return this.children.length=r,t}remove(e){const t=this.findChildIndex(e),n=this.children.length;if(t<n-1)for(let e=t;e<n-1;e++)this.children[e]=this.children[e+1];this.children.pop()}findChildIndex(e){const t=this.children.indexOf(e);return h.assert(-1!==t),t}insertAt(e,t){let n=this.findChildIndex(e);const r=this.children.length,i=t.length;if(r<4&&n===r-1&&1===i)return this.add(t[0]),this.updateCounts(),[];{const e=this.splitAfter(n);let r=0;for(n++;n<4&&r<i;)this.children[n]=t[r],n++,r++;let o=[],a=0;if(r<i){a=Math.ceil((i-r)/4),o=new Array(a);let e=0;for(let e=0;e<a;e++)o[e]=new _LineNode;let n=o[0];for(;r<i;)n.add(t[r]),r++,4===n.children.length&&(e++,n=o[e]);for(let e=o.length-1;e>=0;e--)0===o[e].children.length&&o.pop()}e&&o.push(e),this.updateCounts();for(let e=0;e<a;e++)o[e].updateCounts();return o}}add(e){this.children.push(e),h.assert(this.children.length<=4)}charCount(){return this.totalChars}lineCount(){return this.totalLines}},qf=class{constructor(e){this.text=e}isLeaf(){return!0}walk(e,t,n){n.leaf(e,t,this)}charCount(){return this.text.length}lineCount(){return 1}},Hf=class _TypingsInstallerAdapter{constructor(e,t,n,r,i,o){this.telemetryEnabled=e,this.logger=t,this.host=n,this.globalTypingsCacheLocation=r,this.event=i,this.maxActiveRequestCount=o,this.activeRequestCount=0,this.requestQueue=createQueue(),this.requestMap=new Map,this.requestedRegistry=!1,this.packageInstallId=0}isKnownTypesPackageName(e){var t;return ss.validatePackageName(e)===ss.NameValidationResult.Ok&&(this.requestedRegistry||(this.requestedRegistry=!0,this.installer.send({kind:"typesRegistry"})),!!(null==(t=this.typesRegistryCache)?void 0:t.has(e)))}installPackage(e){this.packageInstallId++;const t={kind:"installPackage",...e,id:this.packageInstallId},n=new Promise((e,t)=>{(this.packageInstalledPromise??(this.packageInstalledPromise=new Map)).set(this.packageInstallId,{resolve:e,reject:t})});return this.installer.send(t),n}attach(e){this.projectService=e,this.installer=this.createInstallerProcess()}onProjectClosed(e){this.installer.send({projectName:e.getProjectName(),kind:"closeProject"})}enqueueInstallTypingsRequest(e,t,n){const r=createInstallTypingsRequest(e,t,n);this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Scheduling throttled operation:${stringifyIndented(r)}`),this.activeRequestCount<this.maxActiveRequestCount?this.scheduleRequest(r):(this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Deferring request for: ${r.projectName}`),this.requestQueue.enqueue(r),this.requestMap.set(r.projectName,r))}handleMessage(e){var t,n;switch(this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Received response:${stringifyIndented(e)}`),e.kind){case ms:this.typesRegistryCache=new Map(Object.entries(e.typesRegistry));break;case us:{const r=null==(t=this.packageInstalledPromise)?void 0:t.get(e.id);h.assertIsDefined(r,"Should find the promise for package install"),null==(n=this.packageInstalledPromise)||n.delete(e.id),e.success?r.resolve({successMessage:e.message}):r.reject(e.message),this.projectService.updateTypingsForProject(e),this.event(e,"setTypings");break}case gs:{const t={message:e.message},n="typesInstallerInitializationFailed";this.event(t,n);break}case _s:{const t={eventId:e.eventId,packages:e.packagesToInstall},n="beginInstallTypes";this.event(t,n);break}case fs:{if(this.telemetryEnabled){const t={telemetryEventName:"typingsInstalled",payload:{installedPackages:e.packagesToInstall.join(","),installSuccess:e.installSuccess,typingsInstallerVersion:e.typingsInstallerVersion}},n="telemetry";this.event(t,n)}const t={eventId:e.eventId,packages:e.packagesToInstall,success:e.installSuccess},n="endInstallTypes";this.event(t,n);break}case ps:this.projectService.updateTypingsForProject(e);break;case ds:for(this.activeRequestCount>0?this.activeRequestCount--:h.fail("TIAdapter:: Received too many responses");!this.requestQueue.isEmpty();){const e=this.requestQueue.dequeue();if(this.requestMap.get(e.projectName)===e){this.requestMap.delete(e.projectName),this.scheduleRequest(e);break}this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Skipping defunct request for: ${e.projectName}`)}this.projectService.updateTypingsForProject(e),this.event(e,"setTypings");break;case ys:this.projectService.watchTypingLocations(e)}}scheduleRequest(e){this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Scheduling request for: ${e.projectName}`),this.activeRequestCount++,this.host.setTimeout(()=>{this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Sending request:${stringifyIndented(e)}`),this.installer.send(e)},_TypingsInstallerAdapter.requestDelayMillis,`${e.projectName}::${e.kind}`)}};Hf.requestDelayMillis=100;var Kf=Hf,Gf={};i(Gf,{ActionInvalidate:()=>ps,ActionPackageInstalled:()=>us,ActionSet:()=>ds,ActionWatchTypingLocations:()=>ys,Arguments:()=>cs,AutoImportProviderProject:()=>nf,AuxiliaryProject:()=>ef,CharRangeSection:()=>Rf,CloseFileWatcherEvent:()=>hf,CommandNames:()=>Af,ConfigFileDiagEvent:()=>uf,ConfiguredProject:()=>rf,ConfiguredProjectLoadKind:()=>Ff,CreateDirectoryWatcherEvent:()=>yf,CreateFileWatcherEvent:()=>gf,Errors:()=>I_,EventBeginInstallTypes:()=>_s,EventEndInstallTypes:()=>fs,EventInitializationFailed:()=>gs,EventTypesRegistry:()=>ms,ExternalProject:()=>of,GcTimer:()=>R_,InferredProject:()=>Z_,LargeFileReferencedEvent:()=>pf,LineIndex:()=>zf,LineLeaf:()=>qf,LineNode:()=>Vf,LogLevel:()=>O_,Msg:()=>L_,OpenFileInfoTelemetryEvent:()=>ff,Project:()=>Y_,ProjectInfoTelemetryEvent:()=>_f,ProjectKind:()=>X_,ProjectLanguageServiceStateEvent:()=>mf,ProjectLoadingFinishEvent:()=>df,ProjectLoadingStartEvent:()=>lf,ProjectService:()=>Df,ProjectsUpdatedInBackgroundEvent:()=>cf,ScriptInfo:()=>Q_,ScriptVersionCache:()=>Wf,Session:()=>Mf,TextStorage:()=>$_,ThrottledOperations:()=>M_,TypingsInstallerAdapter:()=>Kf,allFilesAreJsOrDts:()=>allFilesAreJsOrDts,allRootFilesAreJsOrDts:()=>allRootFilesAreJsOrDts,asNormalizedPath:()=>asNormalizedPath,convertCompilerOptions:()=>convertCompilerOptions,convertFormatOptions:()=>convertFormatOptions,convertScriptKindName:()=>convertScriptKindName,convertTypeAcquisition:()=>convertTypeAcquisition,convertUserPreferences:()=>convertUserPreferences,convertWatchOptions:()=>convertWatchOptions,countEachFileTypes:()=>countEachFileTypes,createInstallTypingsRequest:()=>createInstallTypingsRequest,createModuleSpecifierCache:()=>createModuleSpecifierCache,createNormalizedPathMap:()=>createNormalizedPathMap,createPackageJsonCache:()=>createPackageJsonCache,createSortedArray:()=>createSortedArray2,emptyArray:()=>w_,findArgument:()=>findArgument,formatDiagnosticToProtocol:()=>formatDiagnosticToProtocol,formatMessage:()=>formatMessage2,getBaseConfigFileName:()=>getBaseConfigFileName,getDetailWatchInfo:()=>getDetailWatchInfo,getLocationInNewDocument:()=>getLocationInNewDocument,hasArgument:()=>hasArgument,hasNoTypeScriptSource:()=>hasNoTypeScriptSource,indent:()=>indent2,isBackgroundProject:()=>isBackgroundProject,isConfigFile:()=>isConfigFile,isConfiguredProject:()=>isConfiguredProject,isDynamicFileName:()=>isDynamicFileName,isExternalProject:()=>isExternalProject,isInferredProject:()=>isInferredProject,isInferredProjectName:()=>isInferredProjectName,isProjectDeferredClose:()=>isProjectDeferredClose,makeAutoImportProviderProjectName:()=>makeAutoImportProviderProjectName,makeAuxiliaryProjectName:()=>makeAuxiliaryProjectName,makeInferredProjectName:()=>makeInferredProjectName,maxFileSize:()=>sf,maxProgramSizeForNonTsFiles:()=>af,normalizedPathToPath:()=>normalizedPathToPath,nowString:()=>nowString,nullCancellationToken:()=>If,nullTypingsInstaller:()=>Nf,protocol:()=>B_,scriptInfoIsContainedByBackgroundProject:()=>scriptInfoIsContainedByBackgroundProject,scriptInfoIsContainedByDeferredClosedProject:()=>scriptInfoIsContainedByDeferredClosedProject,stringifyIndented:()=>stringifyIndented,toEvent:()=>toEvent,toNormalizedPath:()=>toNormalizedPath,tryConvertScriptKindName:()=>tryConvertScriptKindName,typingsInstaller:()=>F_,updateProjectIfDirty:()=>updateProjectIfDirty}),"undefined"!=typeof console&&(h.loggingHost={log(e,t){switch(e){case 1:return console.error(t);case 2:return console.warn(t);case 3:case 4:return console.log(t)}}})})({get exports(){return i},set exports(t){i=t,e.exports&&(e.exports=t)}})}},t={};function __webpack_require__(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,__webpack_require__),i.exports}__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";__webpack_require__.r(n),__webpack_require__.d(n,{compileTest:()=>compileTest});var e=__webpack_require__(843);const t="/User/test/JetStream/";class CompilerHost{constructor(e,t){this.options=e,this.srcFileData=t,this.outFileData=Object.create(null)}getSourceFile(t,n,r,i){const o=this.readFile(t);return e.createSourceFile(t,o,n)}resolveModuleNames(t,n){const r=[];for(const i of t){const t=e.resolveModuleName(i,n,this.options,this);t.resolvedModule?r.push(t.resolvedModule):r.push(void 0)}return r}getDefaultLibFileName(){return"lib.d.ts"}getCurrentDirectory(){return""}getCanonicalFileName(e){return e.toLowerCase()}useCaseSensitiveFileNames(){return!0}getNewLine(){return"\n"}fileExists(e){return e in this.srcFileData}readFile(e){const t=this.srcFileData[e.toLowerCase()];if(void 0===t)throw new Error(`"${e}" does not exist.`);return t}writeFile(e,t,n){this.outFileData[e]=t}}function compileTest(n,r){const i=e.convertCompilerOptionsFromJson(n.compilerOptions,t).options;i.lib=[...i.lib||[],"dom"];const o=new CompilerHost(i,r),a=e.createProgram(Object.keys(r),i,o),s=a.emit(),c=function formatDiagnostics(t,n){const r=e.getPreEmitDiagnostics(t).concat(n.diagnostics);r.length>0&&console.log(`Found ${r.length} errors:`);const i=r.map(t=>{if(t.file){const{line:n,character:r}=e.getLineAndCharacterOfPosition(t.file,t.start),i=e.flattenDiagnosticMessageText(t.messageText,"\n");return`${t.file.fileName} (${n+1},${r+1}): ${i}`}return e.flattenDiagnosticMessageText(t.messageText,"\n")});return i.slice(0,20).map(e=>console.log(e)),i}(a,s);return{diagnostics:c,resultFilesCount:Object.keys(o.outFileData).length}}})(),TypeScriptCompileTest=n})(); +//# sourceMappingURL=bundle.js.map \ No newline at end of file
diff --git a/TypeScript/dist/bundle.js.map b/TypeScript/dist/bundle.js.map new file mode 100644 index 0000000..e790e19 --- /dev/null +++ b/TypeScript/dist/bundle.js.map
@@ -0,0 +1 @@ +{"version":3,"file":"bundle.js","mappings":"qDAAA,SAASA,oBAAoBC,GAC5B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,CACAF,oBAAoBK,KAAO,IAAM,GACjCL,oBAAoBM,QAAUN,oBAC9BA,oBAAoBO,GAAK,IACzBC,EAAOC,QAAUT,mB,8ECObU,EAAK,CAAC,EAAG,CAAEF,IACf,aACA,IAAIG,EAAYC,OAAOC,eAInBC,GAHmBF,OAAOG,yBACNH,OAAOI,oBACZJ,OAAOK,UAAUC,eACrB,CAACC,EAAQC,KACtB,IAAK,IAAIC,KAAQD,EACfT,EAAUQ,EAAQE,EAAM,CAAEC,IAAKF,EAAIC,GAAOE,YAAY,MAatDC,EAAqB,CAAC,EAC1BV,EAASU,EAAoB,CAC3BC,UAAW,IAAMA,GACjBC,YAAa,IAAMA,GACnBC,eAAgB,IAAMA,EACtBC,0BAA2B,IAAMA,GACjCC,eAAgB,IAAMA,GACtBC,cAAe,IAAMA,GACrBC,mBAAoB,IAAMC,GAC1BC,gBAAiB,IAAMA,GACvBC,mBAAoB,IAAMA,GAC1BC,aAAc,IAAMA,GACpBC,cAAe,IAAMC,GACrBC,eAAgB,IAAMA,GACtBC,WAAY,IAAMA,GAClBC,UAAW,IAAMA,GACjBC,mBAAoB,IAAMA,GAC1BC,wBAAyB,IAAMA,GAC/BC,qBAAsB,IAAMA,GAC5BC,WAAY,IAAMA,EAClBC,oBAAqB,IAAMA,GAC3BC,sBAAuB,IAAMA,GAC7BC,YAAa,IAAMC,GACnBC,eAAgB,IAAMA,GACtBC,aAAc,IAAMA,GACpBC,MAAO,IAAMA,EACbC,mBAAoB,IAAMA,GAC1BC,YAAa,IAAMA,GACnBC,mBAAoB,IAAMA,GAC1BC,aAAc,IAAMA,GACpBC,UAAW,IAAMA,GACjBC,SAAU,IAAMA,GAChBC,SAAU,IAAMA,GAChBC,eAAgB,IAAMA,GACtBC,WAAY,IAAMA,GAClBC,WAAY,IAAMA,GAClBC,UAAW,IAAMA,GACjBC,oBAAqB,IAAMA,GAC3BC,gBAAiB,IAAMA,GACvBC,iCAAkC,IAAMA,GACxCC,oBAAqB,IAAMA,GAC3BC,qBAAsB,IAAMA,GAC5BC,kBAAmB,IAAMC,GACzBC,aAAc,IAAMA,GACpBC,UAAW,IAAMA,GACjBC,+BAAgC,IAAMA,GACtCC,cAAe,IAAMA,GACrBC,yBAA0B,IAAMA,GAChCC,oBAAqB,IAAMA,GAC3BC,eAAgB,IAAMC,GACtBC,kBAAmB,IAAMA,GACzBC,kBAAmB,IAAMA,GACzBC,WAAY,IAAMA,GAClBC,uBAAwB,IAAMA,GAC9BC,YAAa,IAAMA,GACnBC,WAAY,IAAMA,GAClBC,UAAW,IAAMA,GACjBC,eAAgB,IAAMA,GACtBC,kBAAmB,IAAMA,GACzBC,cAAe,IAAMC,GACrBC,WAAY,IAAMC,GAClBC,kBAAmB,IAAMA,GACzBC,yBAA0B,IAAMA,GAChCC,mBAAoB,IAAMA,GAC1BC,kBAAmB,IAAMA,GACzBC,uBAAwB,IAAMA,GAC9BC,iBAAkB,IAAMA,GACxBC,MAAO,IAAMC,GACbC,SAAU,IAAMC,GAChBC,QAAS,IAAMA,GACfC,SAAU,IAAMA,EAChBC,iBAAkB,IAAMA,GACxBC,6BAA8B,IAAMA,GACpCC,oBAAqB,IAAMA,GAC3BC,gBAAiB,IAAMA,GACvBC,wBAAyB,IAAMA,GAC/BC,WAAY,IAAMA,GAClBC,SAAU,IAAMA,EAChBC,QAAS,IAAMC,GACfC,qBAAsB,IAAMA,GAC5BC,cAAe,IAAMA,EACrBC,oBAAqB,IAAMA,GAC3BC,oBAAqB,IAAMA,GAC3BC,WAAY,IAAMA,GAClBC,qBAAsB,IAAMA,GAC5BC,sBAAuB,IAAMA,GAC7BC,WAAY,IAAMC,GAClBC,cAAe,IAAMC,GACrBC,YAAa,IAAMA,GACnBC,iBAAkB,IAAMA,GACxBC,eAAgB,IAAMA,GACtBC,iBAAkB,IAAMA,GACxBC,UAAW,IAAMA,EACjBC,uBAAwB,IAAMA,GAC9BC,YAAa,IAAMA,GACnBC,2BAA4B,IAAMA,GAClCC,mBAAoB,IAAMA,GAC1BC,gBAAiB,IAAMC,GACvBC,oBAAqB,IAAMA,GAC3BC,qBAAsB,IAAMA,GAC5BC,2BAA4B,IAAMC,GAClCC,kBAAmB,IAAMA,GACzBC,eAAgB,IAAMA,GACtBC,gCAAiC,IAAMA,GACvCC,2BAA4B,IAAMA,GAClCC,iBAAkB,IAAMA,GACxBC,gBAAiB,IAAMA,GACvBC,iBAAkB,IAAMA,GACxBC,gBAAiB,IAAMA,GACvBC,mBAAoB,IAAMA,GAC1BC,kBAAmB,IAAMC,GACzBC,sBAAuB,IAAMA,GAC7BC,aAAc,IAAMA,GACpBC,mBAAoB,IAAMA,GAC1BC,gBAAiB,IAAMA,GACvBC,uBAAwB,IAAMA,GAC9BC,yBAA0B,IAAMA,GAChCC,OAAQ,IAAMC,GACdC,kBAAmB,IAAMA,GACzBC,0BAA2B,IAAMA,GACjCC,WAAY,IAAMA,GAClBC,eAAgB,IAAMA,GACtBC,aAAc,IAAMA,GACpBC,6BAA8B,IAAMA,GACpCC,gBAAiB,IAAMA,GACvBC,oBAAqB,IAAMA,GAC3BC,mBAAoB,IAAMA,GAC1BC,eAAgB,IAAMA,GACtBC,cAAe,IAAMC,GACrBC,cAAe,IAAMA,GACrBC,cAAe,IAAMA,GACrBC,oBAAqB,IAAMC,GAC3BC,YAAa,IAAMA,GACnBC,cAAe,IAAMA,GACrBC,kBAAmB,IAAMA,GACzBC,oBAAqB,IAAMA,GAC3BC,cAAe,IAAMC,GACrBC,sBAAuB,IAAMA,GAC7BC,YAAa,IAAMA,GACnBC,kBAAmB,IAAMA,GACzBC,WAAY,IAAMA,EAClBC,QAAS,IAAMA,GACfC,2BAA4B,IAAMA,GAClCC,WAAY,IAAMA,GAClBC,WAAY,IAAMA,GAClBC,eAAgB,IAAMA,GACtBC,UAAW,IAAMA,GACjBC,UAAW,IAAMA,GACjBC,gBAAiB,IAAMA,GACvBC,YAAa,IAAMA,GACnBC,kBAAmB,IAAMA,GACzBC,+BAAgC,IAAMA,GACtCC,eAAgB,IAAMA,GACtBC,mBAAoB,IAAMA,GAC1BC,cAAe,IAAMA,GACrBC,QAAS,IAAMA,EACfC,aAAc,IAAMA,EACpBC,oBAAqB,IAAMA,GAC3BC,mBAAoB,IAAMA,GAC1BC,cAAe,IAAMA,GACrBC,cAAe,IAAMA,GACrBC,UAAW,IAAMA,GACjBC,wBAAyB,IAAMA,wBAC/BC,aAAc,IAAMA,aACpBC,cAAe,IAAMA,cACrBC,eAAgB,IAAMA,eACtBC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,SAAU,IAAMA,SAChBC,eAAgB,IAAMA,eACtBC,2BAA4B,IAAMA,2BAClCC,4BAA6B,IAAMA,4BACnCC,UAAW,IAAMA,UACjBC,yBAA0B,IAAMA,GAChCC,yCAA0C,IAAMA,GAChDC,8BAA+B,IAAMA,GACrCC,oBAAqB,IAAMA,oBAC3BC,sBAAuB,IAAMA,GAC7BC,IAAK,IAAMA,IACXC,OAAQ,IAAMA,OACdC,eAAgB,IAAMA,eACtBC,UAAW,IAAMA,UACjBC,eAAgB,IAAMA,eACtBC,mBAAoB,IAAMA,mBAC1BC,QAAS,IAAMA,QACfC,qBAAsB,IAAMA,qBAC5BC,WAAY,IAAMA,WAClBC,gBAAiB,IAAMA,gBACvBC,kBAAmB,IAAMA,kBACzBC,WAAY,IAAMA,WAClBC,OAAQ,IAAMA,OACdC,iBAAkB,IAAMA,GACxBC,wBAAyB,IAAMA,wBAC/BC,aAAc,IAAMA,aACpBC,aAAc,IAAMA,aACpBC,aAAc,IAAMA,aACpBC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,wBAAyB,IAAMA,wBAC/BC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,UAAW,IAAMA,GACjBC,cAAe,IAAMA,cACrBC,0BAA2B,IAAMA,0BACjCC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,gBAAiB,IAAMA,gBACvBC,yBAA0B,IAAMA,yBAChCC,wBAAyB,IAAMA,wBAC/BC,mBAAoB,IAAMA,mBAC1BC,6BAA8B,IAAMA,6BACpCC,aAAc,IAAMA,aACpBC,cAAe,IAAMA,cACrBC,iBAAkB,IAAMA,iBACxBC,uBAAwB,IAAMA,uBAC9BC,cAAe,IAAMA,cACrBC,kCAAmC,IAAMA,kCACzCC,0BAA2B,IAAMA,0BACjCC,sBAAuB,IAAMA,sBAC7BC,qBAAsB,IAAMA,qBAC5BC,0BAA2B,IAAMA,0BACjCC,gBAAiB,IAAMA,gBACvBC,wBAAyB,IAAMA,wBAC/BC,4BAA6B,IAAMA,4BACnCC,iBAAkB,IAAMA,iBACxBC,KAAM,IAAMA,KACZC,YAAa,IAAMA,YACnBC,wBAAyB,IAAMA,wBAC/BC,mBAAoB,IAAMA,mBAC1BC,iCAAkC,IAAMA,iCACxCC,gBAAiB,IAAMA,gBACvBC,oBAAqB,IAAMA,oBAC3BC,8BAA+B,IAAMA,8BACrCC,iCAAkC,IAAMA,iCACxCC,qCAAsC,IAAMA,qCAC5CC,iBAAkB,IAAMA,iBACxBC,+CAAgD,IAAMA,+CACtDC,4BAA6B,IAAMA,4BACnCC,yCAA0C,IAAMA,yCAChDC,+BAAgC,IAAMA,+BACtCC,uCAAwC,IAAMA,uCAC9CC,oBAAqB,IAAMA,oBAC3BC,WAAY,IAAMC,GAClBC,yBAA0B,IAAMA,yBAChCC,MAAO,IAAMA,MACbC,SAAU,IAAMA,SAChBC,qCAAsC,IAAMA,qCAC5CC,wBAAyB,IAAMA,wBAC/BC,MAAO,IAAMA,MACbC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,QAAS,IAAMC,GACfC,+CAAgD,IAAMA,+CACtDC,0BAA2B,IAAMA,0BACjCC,QAAS,IAAMA,QACfC,aAAc,IAAMA,aACpBC,8BAA+B,IAAMA,GACrCC,eAAgB,IAAMA,GACtBC,uBAAwB,IAAMA,GAC9BC,QAAS,IAAMA,QACfC,gBAAiB,IAAMA,gBACvBC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,mCAAoC,IAAMA,mCAC1CC,aAAc,IAAMA,aACpBC,4BAA6B,IAAMA,4BACnCC,0BAA2B,IAAMA,0BACjCC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,8BAA+B,IAAMA,8BACrCC,8CAA+C,IAAMA,8CACrDC,4BAA6B,IAAMA,4BACnCC,8BAA+B,IAAMA,8BACrCC,iBAAkB,IAAMA,iBACxBC,cAAe,IAAMA,cACrBC,qCAAsC,IAAMA,qCAC5CC,0BAA2B,IAAMA,0BACjCC,yCAA0C,IAAMA,yCAChDC,qCAAsC,IAAMA,GAC5CC,iCAAkC,IAAMA,iCACxCC,wCAAyC,IAAMA,wCAC/CC,kCAAmC,IAAMA,kCACzCC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,kCAAmC,IAAMA,kCACzCC,gCAAiC,IAAMA,gCACvCC,6BAA8B,IAAMA,6BACpCC,gBAAiB,IAAMA,GACvBC,YAAa,IAAMA,YACnBC,mCAAoC,IAAMA,mCAC1CC,wBAAyB,IAAMA,wBAC/BC,SAAU,IAAMA,SAChBC,oBAAqB,IAAMA,oBAC3BC,2BAA4B,IAAMA,2BAClCC,mBAAoB,IAAMA,mBAC1BC,aAAc,IAAMA,aACpBC,mCAAoC,IAAMA,mCAC1CC,+BAAgC,IAAMA,+BACtCC,kBAAmB,IAAMA,kBACzBC,gBAAiB,IAAMA,gBACvBC,cAAe,IAAMA,cACrBC,gBAAiB,IAAMA,gBACvBC,kCAAmC,IAAMA,kCACzCC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,+BAAgC,IAAMA,+BACtCC,aAAc,IAAMA,aACpBC,YAAa,IAAMA,YACnBC,oBAAqB,IAAMA,oBAC3BC,eAAgB,IAAMA,eACtBC,8BAA+B,IAAMA,8BACrCC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,WAAY,IAAMA,WAClBC,sBAAuB,IAAMA,sBAC7BC,mCAAoC,IAAMA,mCAC1CC,oCAAqC,IAAMA,oCAC3CC,oCAAqC,IAAMA,oCAC3CC,sBAAuB,IAAMA,sBAC7BC,iCAAkC,IAAMA,iCACxCC,qBAAsB,IAAMA,qBAC5BC,8CAA+C,IAAMA,8CACrDC,4BAA6B,IAAMA,4BACnCC,6BAA8B,IAAMA,6BACpCC,mCAAoC,IAAMA,mCAC1CC,iBAAkB,IAAMA,iBACxBC,2BAA4B,IAAMA,2BAClCC,yBAA0B,IAAMA,yBAChCC,6CAA8C,IAAMA,6CACpDC,yCAA0C,IAAMA,yCAChDC,mBAAoB,IAAMA,mBAC1BC,kCAAmC,IAAMA,kCACzCC,yBAA0B,IAAMA,yBAChCC,yBAA0B,IAAMA,yBAChCC,2BAA4B,IAAMA,2BAClCC,wCAAyC,IAAMA,wCAC/CC,wBAAyB,IAAMA,wBAC/BC,6BAA8B,IAAMA,6BACpCC,6CAA8C,IAAMA,6CACpDC,wCAAyC,IAAMA,wCAC/CC,oCAAqC,IAAMA,oCAC3CC,yBAA0B,IAAMA,yBAChCC,2CAA4C,IAAMA,2CAClDC,yBAA0B,IAAMA,yBAChCC,6BAA8B,IAAMA,6BACpCC,uBAAwB,IAAMA,uBAC9BC,+BAAgC,IAAMA,+BACtCC,+CAAgD,IAAMA,+CACtDC,wBAAyB,IAAMA,wBAC/BC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,8BAA+B,IAAMA,8BACrCC,+BAAgC,IAAMA,+BACtCC,4CAA6C,IAAMA,4CACnDC,gCAAiC,IAAMA,gCACvCC,+BAAgC,IAAMA,+BACtCC,+CAAgD,IAAMA,+CACtDC,qBAAsB,IAAMA,qBAC5BC,qCAAsC,IAAMA,qCAC5CC,eAAgB,IAAMA,eACtBC,4BAA6B,IAAMA,4BACnCC,uBAAwB,IAAMA,uBAC9BC,2BAA4B,IAAMA,2BAClCC,mCAAoC,IAAMA,mCAC1CC,oBAAqB,IAAMA,oBAC3BC,8CAA+C,IAAMA,8CACrDC,kDAAmD,IAAMA,kDACzDC,sBAAuB,IAAMA,sBAC7BC,8BAA+B,IAAMA,8BACrCC,yBAA0B,IAAMA,yBAChCC,2BAA4B,IAAMA,2BAClCC,sBAAuB,IAAMA,sBAC7BC,gCAAiC,IAAMA,gCACvCC,kCAAmC,IAAMA,kCACzCC,qBAAsB,IAAMA,qBAC5BC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,0BAA2B,IAAMA,0BACjCC,4BAA6B,IAAMA,4BACnCC,6BAA8B,IAAMA,6BACpCC,6CAA8C,IAAMA,6CACpDC,oCAAqC,IAAMA,oCAC3CC,eAAgB,IAAMA,eACtBC,mBAAoB,IAAMA,mBAC1BC,qBAAsB,IAAMA,qBAC5BC,kBAAmB,IAAMA,kBACzBC,oBAAqB,IAAMA,oBAC3BC,eAAgB,IAAMA,eACtBC,8BAA+B,IAAMA,8BACrCC,sBAAuB,IAAMA,sBAC7BC,yBAA0B,IAAMA,yBAChCC,qBAAsB,IAAMA,qBAC5BC,cAAe,IAAMA,cACrBC,0BAA2B,IAAMA,GACjCC,gCAAiC,IAAMA,GACvCC,gDAAiD,IAAMA,GACvDC,qDAAsD,IAAMA,GAC5DC,cAAe,IAAMA,cACrBC,yBAA0B,IAAMA,yBAChCC,kBAAmB,IAAMA,kBACzBC,6CAA8C,IAAMA,6CACpDC,YAAa,IAAMA,YACnBC,YAAa,IAAMA,YACnBC,+BAAgC,IAAMA,+BACtCC,sBAAuB,IAAMA,sBAC7BC,4BAA6B,IAAMA,4BACnCC,cAAe,IAAMA,cACrBC,wCAAyC,IAAMA,wCAC/CC,UAAW,IAAMA,UACjBC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,+BAAgC,IAAMA,+BACtCC,mCAAoC,IAAMA,mCAC1CC,kBAAmB,IAAMA,kBACzBC,iBAAkB,IAAMA,iBACxBC,yBAA0B,IAAMA,yBAChCC,sBAAuB,IAAMA,sBAC7BC,mCAAoC,IAAMA,mCAC1CC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,mBAC1BC,+BAAgC,IAAMA,+BACtCC,2BAA4B,IAAMA,2BAClCC,iBAAkB,IAAMA,iBACxBC,gCAAiC,IAAMA,gCACvCC,sBAAuB,IAAMA,sBAC7BC,wBAAyB,IAAMA,wBAC/BC,wBAAyB,IAAMA,wBAC/BC,eAAgB,IAAMA,eACtBC,yBAA0B,IAAMA,yBAChCC,uBAAwB,IAAMA,uBAC9BC,wBAAyB,IAAMA,wBAC/BC,2CAA4C,IAAMA,2CAClDC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,4CAA6C,IAAMA,4CACnDC,oCAAqC,IAAMA,oCAC3CC,wBAAyB,IAAMC,yBAC/BC,oCAAqC,IAAMA,oCAC3CC,iDAAkD,IAAMA,iDACxDC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,mBAAoB,IAAMA,mBAC1BC,0BAA2B,IAAMA,0BACjCC,2BAA4B,IAAMA,2BAClCC,wBAAyB,IAAMA,wBAC/BC,eAAgB,IAAMA,eACtBC,8BAA+B,IAAMA,8BACrCC,YAAa,IAAMA,YACnBC,oCAAqC,IAAMA,GAC3CC,2BAA4B,IAAMA,GAClCC,+BAAgC,IAAMA,GACtCC,uBAAwB,IAAMA,uBAC9BC,mBAAoB,IAAMA,mBAC1BC,4BAA6B,IAAMA,4BACnCC,wBAAyB,IAAMA,wBAC/BC,mBAAoB,IAAMA,GAC1BC,YAAa,IAAMA,YACnBC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,EACzBC,UAAW,IAAMA,EACjBC,WAAY,IAAMA,WAClBC,qBAAsB,IAAMA,qBAC5BC,UAAW,IAAMA,UACjBC,yBAA0B,IAAMA,yBAChCC,yCAA0C,IAAMA,yCAChDC,2BAA4B,IAAMA,2BAClCC,0CAA2C,IAAMA,0CACjDC,8BAA+B,IAAMA,8BACrCC,6BAA8B,IAAMA,GACpCC,WAAY,IAAMA,EAClBC,uBAAwB,IAAMA,GAC9BC,SAAU,IAAMA,EAChBC,aAAc,IAAMA,GACpBC,SAAU,IAAMA,SAChBC,0BAA2B,IAAMA,0BACjCC,iBAAkB,IAAMA,iBACxBC,iCAAkC,IAAMA,iCACxCC,mBAAoB,IAAMA,mBAC1BC,2BAA4B,IAAMA,2BAClCC,mBAAoB,IAAMA,mBAC1BC,6BAA8B,IAAMA,6BACpCC,2BAA4B,IAAMA,2BAClCC,aAAc,IAAMA,aACpBC,yBAA0B,IAAMA,yBAChCC,yBAA0B,IAAMA,yBAChCC,qBAAsB,IAAMA,qBAC5BC,kBAAmB,IAAMA,kBACzBC,aAAc,IAAMA,aACpBC,2BAA4B,IAAMA,2BAClCC,gBAAiB,IAAMA,gBACvBC,MAAO,IAAMA,MACbC,mCAAoC,IAAMA,GAC1CC,mBAAoB,IAAMA,mBAC1BC,iDAAkD,IAAMA,iDACxDC,aAAc,IAAMA,aACpBC,wCAAyC,IAAMA,wCAC/CC,wBAAyB,IAAMA,wBAC/BC,yBAA0B,IAAMA,yBAChCC,OAAQ,IAAMA,OACdC,kBAAmB,IAAMA,kBACzBC,cAAe,IAAMA,cACrBC,+CAAgD,IAAMA,GACtDC,8BAA+B,IAAMA,GACrCC,QAAS,IAAMA,GACfC,gBAAiB,IAAMA,gBACvBC,qBAAsB,IAAMA,qBAC5BC,+BAAgC,IAAMA,+BACtCC,+BAAgC,IAAMA,+BACtCC,OAAQ,IAAMA,OACdC,aAAc,IAAMA,aACpBC,0BAA2B,IAAMA,0BACjCC,KAAM,IAAMA,KACZC,aAAc,IAAMA,aACpBC,qBAAsB,IAAMA,qBAC5BC,gBAAiB,IAAMA,gBACvBC,wCAAyC,IAAMA,wCAC/CC,eAAgB,IAAMA,eACtBC,2BAA4B,IAAMA,2BAClCC,mBAAoB,IAAMA,mBAC1BC,sBAAuB,IAAMA,sBAC7BC,+BAAgC,IAAMA,+BACtCC,UAAW,IAAMA,UACjBC,SAAU,IAAMA,SAChBC,cAAe,IAAMA,cACrBC,iBAAkB,IAAMA,iBACxBC,aAAc,IAAMA,aACpBC,cAAe,IAAMA,cACrBC,gBAAiB,IAAMA,gBACvBC,iBAAkB,IAAMA,iBACxBC,2BAA4B,IAAMA,2BAClCC,mBAAoB,IAAMA,mBAC1BC,4BAA6B,IAAMA,4BACnCC,0BAA2B,IAAMA,0BACjCC,sBAAuB,IAAMA,sBAC7BC,MAAO,IAAMA,MACbC,aAAc,IAAMA,aACpBC,qBAAsB,IAAMA,qBAC5BC,cAAe,IAAMA,cACrBC,YAAa,IAAMA,YACnBC,iBAAkB,IAAMA,iBACxBC,yBAA0B,IAAMA,yBAChCC,qBAAsB,IAAMA,qBAC5BC,QAAS,IAAMA,QACfC,gBAAiB,IAAMA,gBACvBC,iBAAkB,IAAMA,iBACxBC,QAAS,IAAMA,QACfC,iBAAkB,IAAMA,iBACxBC,+BAAgC,IAAMA,+BACtCC,4BAA6B,IAAMA,4BACnCC,6BAA8B,IAAMA,6BACpCC,QAAS,IAAMA,QACfC,gBAAiB,IAAMA,gBACvBC,yBAA0B,IAAMA,yBAChCC,8CAA+C,IAAMA,8CACrDC,aAAc,IAAMA,aACpBC,wBAAyB,IAAMA,wBAC/BC,kCAAmC,IAAMA,kCACzCC,mBAAoB,IAAMA,mBAC1BC,oCAAqC,IAAMA,oCAC3CC,aAAc,IAAMA,aACpBC,kCAAmC,IAAMA,kCACzCC,+BAAgC,IAAMA,+BACtCC,WAAY,IAAMA,WAClBC,2BAA4B,IAAMA,2BAClCC,oCAAqC,IAAMA,oCAC3CC,2BAA4B,IAAMA,2BAClCC,2BAA4B,IAAMA,2BAClCC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,gCAAiC,IAAMA,gCACvCC,uBAAwB,IAAMA,uBAC9BC,aAAc,IAAMA,aACpBC,4BAA6B,IAAMA,4BACnCC,yBAA0B,IAAMA,yBAChCC,cAAe,IAAMA,cACrBC,uBAAwB,IAAMA,uBAC9BC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,qCAAsC,IAAMA,qCAC5CC,oBAAqB,IAAMA,oBAC3BC,wBAAyB,IAAMA,wBAC/BC,eAAgB,IAAMA,eACtBC,cAAe,IAAMA,cACrBC,qBAAsB,IAAMA,qBAC5BC,WAAY,IAAMC,GAClBC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,6BAA8B,IAAMA,6BACpCC,0BAA2B,IAAMA,0BACjCC,4BAA6B,IAAMA,4BACnCC,2BAA4B,IAAMA,2BAClCC,wBAAyB,IAAMA,wBAC/BC,+BAAgC,IAAMA,+BACtCC,gBAAiB,IAAMA,gBACvBC,sBAAuB,IAAMA,sBAC7BC,WAAY,IAAMA,WAClBC,qBAAsB,IAAMA,qBAC5BC,qBAAsB,IAAMA,qBAC5BC,8BAA+B,IAAMA,GACrCC,yBAA0B,IAAMA,GAChCC,gCAAiC,IAAMA,GACvCC,YAAa,IAAMA,YACnBC,wBAAyB,IAAMA,wBAC/BC,6BAA8B,IAAMA,GACpCC,8BAA+B,IAAMA,8BACrCC,gBAAiB,IAAMA,gBACvBC,6BAA8B,IAAMA,6BACpCC,2CAA4C,IAAMA,2CAClDC,wBAAyB,IAAMA,wBAC/BC,+BAAgC,IAAMA,+BACtCC,gBAAiB,IAAMA,gBACvBC,4BAA6B,IAAMA,4BACnCC,aAAc,IAAMA,aACpBC,2BAA4B,IAAMA,2BAClCC,iBAAkB,IAAMA,iBACxBC,+BAAgC,IAAMA,+BACtCC,6BAA8B,IAAMA,6BACpCC,mBAAoB,IAAMA,mBAC1BC,uBAAwB,IAAMA,uBAC9BC,cAAe,IAAMA,cACrBC,+BAAgC,IAAMA,+BACtCC,gCAAiC,IAAMA,gCACvCC,qCAAsC,IAAMA,qCAC5CC,yBAA0B,IAAMA,yBAChCC,qBAAsB,IAAMA,qBAC5BC,uCAAwC,IAAMA,uCAC9CC,gBAAiB,IAAMA,gBACvBC,yBAA0B,IAAMA,yBAChCC,iCAAkC,IAAMA,iCACxCC,uBAAwB,IAAMA,uBAC9BC,cAAe,IAAMA,cACrBC,gCAAiC,IAAMA,gCACvCC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,2CAA4C,IAAMA,2CAClDC,8BAA+B,IAAMA,8BACrCC,sBAAuB,IAAMA,sBAC7BC,iCAAkC,IAAMA,iCACxCC,wCAAyC,IAAMA,wCAC/CC,uBAAwB,IAAMA,uBAC9BC,kCAAmC,IAAMA,kCACzCC,4BAA6B,IAAMA,4BACnCC,8CAA+C,IAAMA,8CACrDC,0BAA2B,IAAMA,0BACjCC,mCAAoC,IAAMA,mCAC1CC,iCAAkC,IAAMA,iCACxCC,uCAAwC,IAAMA,uCAC9CC,4BAA6B,IAAMA,4BACnCC,uBAAwB,IAAMA,uBAC9BC,sCAAuC,IAAMA,sCAC7CC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,8BAA+B,IAAMA,8BACrCC,cAAe,IAAMA,cACrBC,0BAA2B,IAAMC,2BACjCC,6BAA8B,IAAMA,6BACpCC,sBAAuB,IAAMA,sBAC7BC,sBAAuB,IAAMA,sBAC7BC,yBAA0B,IAAMA,yBAChCC,wCAAyC,IAAMA,wCAC/CC,sCAAuC,IAAMA,sCAC7CC,kBAAmB,IAAMA,kBACzBC,yBAA0B,IAAMA,yBAChCC,iBAAkB,IAAMA,iBACxBC,wCAAyC,IAAMA,wCAC/CC,oDAAqD,IAAMA,oDAC3DC,0BAA2B,IAAMA,0BACjCC,iCAAkC,IAAMA,iCACxCC,mBAAoB,IAAMA,GAC1BC,sBAAuB,IAAMA,sBAC7BC,yBAA0B,IAAMA,yBAChCC,sCAAuC,IAAMA,sCAC7CC,yCAA0C,IAAMA,yCAChDC,gCAAiC,IAAMA,gCACvCC,wBAAyB,IAAMA,wBAC/BC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,4CAA6C,IAAMA,4CACnDC,iCAAkC,IAAMA,iCACxCC,2BAA4B,IAAMA,2BAClCC,0CAA2C,IAAMA,0CACjDC,+BAAgC,IAAMA,+BACtCC,sCAAuC,IAAMA,sCAC7CC,sBAAuB,IAAMA,sBAC7BC,mDAAoD,IAAMA,mDAC1DC,+BAAgC,IAAMA,+BACtCC,wCAAyC,IAAMA,wCAC/CC,oBAAqB,IAAMA,GAC3BC,aAAc,IAAMA,aACpBC,eAAgB,IAAMA,eACtBC,2BAA4B,IAAMA,GAClCC,gCAAiC,IAAMA,gCACvCC,kBAAmB,IAAMA,GACzBC,4BAA6B,IAAMA,GACnCC,oBAAqB,IAAMA,GAC3BC,2BAA4B,IAAMA,2BAClCC,gCAAiC,IAAMA,gCACvCC,sBAAuB,IAAMA,sBAC7BC,kCAAmC,IAAMA,kCACzCC,mCAAoC,IAAMA,mCAC1CC,mBAAoB,IAAMA,mBAC1BC,0BAA2B,IAAMA,0BACjCC,kCAAmC,IAAMA,kCACzCC,wBAAyB,IAAMA,wBAC/BC,oBAAqB,IAAMA,oBAC3BC,oBAAqB,IAAMA,oBAC3BC,oCAAqC,IAAMA,oCAC3CC,iCAAkC,IAAMA,iCACxCC,kCAAmC,IAAMA,kCACzCC,sBAAuB,IAAMA,sBAC7BC,8BAA+B,IAAMA,8BACrCC,iBAAkB,IAAMA,iBACxBC,+BAAgC,IAAMA,+BACtCC,2BAA4B,IAAMA,2BAClCC,wBAAyB,IAAMA,wBAC/BC,6BAA8B,IAAMA,6BACpCC,mDAAoD,IAAMA,mDAC1DC,sBAAuB,IAAMA,sBAC7BC,qCAAsC,IAAMA,qCAC5CC,8BAA+B,IAAMA,8BACrCC,6BAA8B,IAAMA,6BACpCC,iCAAkC,IAAMA,iCACxCC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,uBAAwB,IAAMA,uBAC9BC,4BAA6B,IAAMA,4BACnCC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,4BAA6B,IAAMA,4BACnCC,mBAAoB,IAAMA,mBAC1BC,kCAAmC,IAAMA,kCACzCC,sBAAuB,IAAMA,sBAC7BC,8BAA+B,IAAMA,8BACrCC,gCAAiC,IAAMA,gCACvCC,aAAc,IAAMA,aACpBC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,0BAA2B,IAAMA,0BACjCC,0BAA2B,IAAMA,0BACjCC,sCAAuC,IAAMA,sCAC7CC,2BAA4B,IAAMA,2BAClCC,wCAAyC,IAAMA,wCAC/CC,kCAAmC,IAAMA,kCACzCC,4BAA6B,IAAMA,4BACnCC,kCAAmC,IAAMA,kCACzCC,kCAAmC,IAAMA,kCACzCC,+BAAgC,IAAMA,+BACtCC,gBAAiB,IAAMA,gBACvBC,kCAAmC,IAAMA,kCACzCC,wBAAyB,IAAMA,wBAC/BC,iCAAkC,IAAMA,iCACxCC,2CAA4C,IAAMA,2CAClDC,0BAA2B,IAAMA,0BACjCC,qBAAsB,IAAMA,qBAC5BC,qBAAsB,IAAMA,qBAC5BC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,GAC1BC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,sBAAuB,IAAMA,sBAC7BC,wBAAyB,IAAMA,wBAC/BC,sBAAuB,IAAMA,sBAC7BC,6BAA8B,IAAMA,6BACpCC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,uBAAwB,IAAMA,uBAC9BC,qBAAsB,IAAMA,qBAC5BC,2BAA4B,IAAMA,2BAClCC,sBAAuB,IAAMA,sBAC7BC,6BAA8B,IAAMA,6BACpCC,mBAAoB,IAAMA,mBAC1BC,0BAA2B,IAAMA,0BACjCC,qBAAsB,IAAMA,qBAC5BC,4BAA6B,IAAMA,4BACnCC,kBAAmB,IAAMA,kBACzBC,yBAA0B,IAAMA,yBAChCC,oBAAqB,IAAMA,oBAC3BC,2BAA4B,IAAMA,2BAClCC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,mBAC1BC,aAAc,IAAMA,aACpBC,gCAAiC,IAAMA,gCACvCC,qBAAsB,IAAMA,qBAC5BC,aAAc,IAAMA,aACpBC,oBAAqB,IAAMA,oBAC3BC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,kCAAmC,IAAMA,kCACzCC,0BAA2B,IAAMA,0BACjCC,iCAAkC,IAAMA,iCACxCC,gBAAiB,IAAMA,gBACvBC,yBAA0B,IAAMA,yBAChCC,oBAAqB,IAAMA,oBAC3BC,uBAAwB,IAAMA,uBAC9BC,yBAA0B,IAAMA,yBAChCC,mBAAoB,IAAMA,mBAC1BC,aAAc,IAAMA,aACpBC,wBAAyB,IAAMA,wBAC/BC,8BAA+B,IAAMA,8BACrCC,4BAA6B,IAAMA,4BACnCC,sBAAuB,IAAMA,sBAC7BC,+BAAgC,IAAMA,+BACtCC,2BAA4B,IAAMA,2BAClCC,8BAA+B,IAAMA,8BACrCC,8BAA+B,IAAMA,8BACrCC,YAAa,IAAMA,YACnBC,uBAAwB,IAAMA,uBAC9BC,gCAAiC,IAAMA,gCACvCC,cAAe,IAAMA,cACrBC,qDAAsD,IAAMA,qDAC5DC,0DAA2D,IAAMA,0DACjEC,yBAA0B,IAAMA,yBAChCC,qCAAsC,IAAMA,qCAC5CC,iCAAkC,IAAMA,iCACxCC,eAAgB,IAAMA,eACtBC,8BAA+B,IAAMA,8BACrCC,+BAAgC,IAAMA,+BACtCC,yBAA0B,IAAMA,yBAChCC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,mBAC1BC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,uBAAwB,IAAMA,uBAC9BC,wBAAyB,IAAMA,wBAC/BC,wBAAyB,IAAMA,wBAC/BC,4BAA6B,IAAMA,4BACnCC,wBAAyB,IAAMA,wBAC/BC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,uBAAwB,IAAMA,uBAC9BC,6BAA8B,IAAMA,6BACpCC,mCAAoC,IAAMA,mCAC1CC,+BAAgC,IAAMA,+BACtCC,yBAA0B,IAAMA,yBAChCC,2BAA4B,IAAMA,2BAClCC,qBAAsB,IAAMA,qBAC5BC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,6BAA8B,IAAMA,6BACpCC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,sBAAuB,IAAMA,sBAC7BC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,aAAc,IAAMA,aACpBC,4BAA6B,IAAMA,4BACnCC,oBAAqB,IAAMA,oBAC3BC,eAAgB,IAAMA,eACtBC,4BAA6B,IAAMA,4BACnCC,sBAAuB,IAAMA,sBAC7BC,4BAA6B,IAAMA,4BACnCC,gBAAiB,IAAMA,gBACvBC,wBAAyB,IAAMA,wBAC/BC,UAAW,IAAMA,UACjBC,YAAa,IAAMA,YACnBC,iBAAkB,IAAMA,iBACxBC,uBAAwB,IAAMA,uBAC9BC,gCAAiC,IAAMA,gCACvCC,8CAA+C,IAAMA,8CACrDC,8BAA+B,IAAMA,8BACrCC,8BAA+B,IAAMA,8BACrCC,gCAAiC,IAAMA,gCACvCC,6BAA8B,IAAMA,6BACpCC,0BAA2B,IAAMA,0BACjCC,qCAAsC,IAAMA,qCAC5CC,4BAA6B,IAAMA,4BACnCC,eAAgB,IAAMA,eACtBC,yBAA0B,IAAMA,yBAChCC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,+BAAgC,IAAMA,+BACtCC,kBAAmB,IAAMA,kBACzBC,oCAAqC,IAAMA,oCAC3CC,wBAAyB,IAAMA,wBAC/BC,oBAAqB,IAAMA,oBAC3BC,YAAa,IAAMA,YACnBC,gBAAiB,IAAMA,gBACvBC,kBAAmB,IAAMA,kBACzBC,6BAA8B,IAAMA,6BACpCC,mCAAoC,IAAMA,mCAC1CC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,0BAA2B,IAAMA,0BACjCC,kBAAmB,IAAMA,kBACzBC,yBAA0B,IAAMA,yBAChCC,WAAY,IAAMA,WAClBC,aAAc,IAAMA,aACpBC,iCAAkC,IAAMA,iCACxCC,mCAAoC,IAAMA,mCAC1CC,uBAAwB,IAAMA,uBAC9BC,4BAA6B,IAAMA,4BACnCC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,iCAAkC,IAAMA,iCACxCC,kBAAmB,IAAMA,kBACzBC,0BAA2B,IAAMA,0BACjCC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,2BAA4B,IAAMA,2BAClCC,8BAA+B,IAAMA,8BACrCC,6BAA8B,IAAMA,6BACpCC,8CAA+C,IAAMA,8CACrDC,+CAAgD,IAAMA,+CACtDC,6BAA8B,IAAMA,6BACpCC,sBAAuB,IAAMA,sBAC7BC,sCAAuC,IAAMA,sCAC7CC,qBAAsB,IAAMA,qBAC5BC,cAAe,IAAMA,cACrBC,YAAa,IAAMA,YACnBC,yCAA0C,IAAMA,yCAChDC,mCAAoC,IAAMA,mCAC1CC,wBAAyB,IAAMA,wBAC/BC,4CAA6C,IAAMA,4CACnDC,oCAAqC,IAAMA,oCAC3CC,qCAAsC,IAAMA,qCAC5CC,uBAAwB,IAAMA,uBAC9BC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,uBAAwB,IAAMA,uBAC9BC,0BAA2B,IAAMA,0BACjCC,oBAAqB,IAAMA,oBAC3BC,gCAAiC,IAAMA,gCACvCC,kCAAmC,IAAMA,kCACzCC,6BAA8B,IAAMA,6BACpCC,wBAAyB,IAAMA,wBAC/BC,gCAAiC,IAAMA,gCACvCC,kBAAmB,IAAMA,kBACzBC,kCAAmC,IAAMA,kCACzCC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,qBAAsB,IAAMA,GAC5BC,6BAA8B,IAAMA,GACpCC,6BAA8B,IAAMA,GACpCC,8BAA+B,IAAMA,8BACrCC,gCAAiC,IAAMA,gCACvCC,gDAAiD,IAAMA,gDACvDC,6CAA8C,IAAMA,6CACpDC,4BAA6B,IAAMA,4BACnCC,+BAAgC,IAAMA,+BACtCC,mBAAoB,IAAMA,mBAC1BC,kCAAmC,IAAMA,kCACzCC,cAAe,IAAMA,cACrBC,cAAe,IAAMA,cACrBC,0BAA2B,IAAMA,0BACjCC,wBAAyB,IAAMA,GAC/BC,kCAAmC,IAAMA,kCACzCC,kCAAmC,IAAMA,kCACzCC,2BAA4B,IAAMA,2BAClCC,uBAAwB,IAAMA,uBAC9BC,iCAAkC,IAAMA,iCACxCC,6BAA8B,IAAMA,6BACpCC,8BAA+B,IAAMA,8BACrCC,WAAY,IAAMA,WAClBC,qCAAsC,IAAMA,qCAC5CC,gBAAiB,IAAMA,gBACvBC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,oBAAqB,IAAMA,oBAC3BC,0BAA2B,IAAMA,0BACjCC,mCAAoC,IAAMA,mCAC1CC,qBAAsB,IAAMA,qBAC5BC,kBAAmB,IAAMA,kBACzBC,gBAAiB,IAAMA,gBACvBC,kCAAmC,IAAMA,kCACzCC,yBAA0B,IAAMA,yBAChCC,sBAAuB,IAAMA,sBAC7BC,uBAAwB,IAAMA,uBAC9BC,wBAAyB,IAAMA,wBAC/BC,mBAAoB,IAAMA,mBAC1BC,uCAAwC,IAAMA,uCAC9CC,qBAAsB,IAAMA,qBAC5BC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,uBAAwB,IAAMA,uBAC9BC,kDAAmD,IAAMA,kDACzDC,gBAAiB,IAAMA,gBACvBC,YAAa,IAAMA,YACnBC,kCAAmC,IAAMA,kCACzCC,gBAAiB,IAAMA,gBACvBC,4BAA6B,IAAMA,4BACnCC,0BAA2B,IAAMA,0BACjCC,iCAAkC,IAAMA,iCACxCC,wBAAyB,IAAMA,wBAC/BC,wCAAyC,IAAMA,wCAC/CC,yBAA0B,IAAMA,yBAChCC,yCAA0C,IAAMA,yCAChDC,4BAA6B,IAAMA,4BACnCC,6BAA8B,IAAMA,6BACpCC,eAAgB,IAAMA,eACtBC,sCAAuC,IAAMA,sCAC7CC,kCAAmC,IAAMA,kCACzCC,uBAAwB,IAAMA,uBAC9BC,6BAA8B,IAAMA,6BACpCC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,2BAA4B,IAAMA,2BAClCC,cAAe,IAAMA,cACrBC,4BAA6B,IAAMA,4BACnCC,sBAAuB,IAAMA,sBAC7BC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,uBAAwB,IAAMA,uBAC9BC,wBAAyB,IAAMA,wBAC/BC,iBAAkB,IAAMA,iBACxBC,yBAA0B,IAAMA,yBAChCC,oCAAqC,IAAMA,oCAC3CC,gBAAiB,IAAMA,gBACvBC,iCAAkC,IAAMA,iCACxCC,mCAAoC,IAAMA,mCAC1CC,iCAAkC,IAAMA,iCACxCC,sBAAuB,IAAMA,sBAC7BC,mCAAoC,IAAMA,mCAC1CC,+BAAgC,IAAMA,+BACtCC,YAAa,IAAMA,YACnBC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,sBAAuB,IAAMA,sBAC7BC,oBAAqB,IAAMA,oBAC3BC,YAAa,IAAMA,YACnBC,cAAe,IAAMA,cACrBC,kBAAmB,IAAMA,kBACzBC,2BAA4B,IAAMA,GAClCC,sCAAuC,IAAMA,sCAC7CC,gBAAiB,IAAMA,gBACvBC,MAAO,IAAMA,MACbC,QAAS,IAAMA,QACfC,iBAAkB,IAAMA,iBACxBC,oBAAqB,IAAMA,oBAC3BC,gDAAiD,IAAMA,gDACvDC,oBAAqB,IAAMA,oBAC3BC,oBAAqB,IAAMA,oBAC3BC,mBAAoB,IAAMA,mBAC1BC,wBAAyB,IAAMA,wBAC/BC,8BAA+B,IAAMA,8BACrCC,cAAe,IAAMA,cACrBC,cAAe,IAAMA,cACrBC,eAAgB,IAAMA,eACtBC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,6BAA8B,IAAMA,6BACpCC,aAAc,IAAMA,aACpBC,iCAAkC,IAAMA,iCACxCC,kBAAmB,IAAMA,kBACzBC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,iBACxBC,cAAe,IAAMA,cACrBC,sBAAuB,IAAMA,sBAC7BC,mBAAoB,IAAMA,mBAC1BC,yBAA0B,IAAMA,yBAChCC,6BAA8B,IAAMA,6BACpCC,oBAAqB,IAAMA,oBAC3BC,mCAAoC,IAAMA,mCAC1CC,YAAa,IAAMA,YACnBC,oCAAqC,IAAMA,oCAC3CC,iBAAkB,IAAMA,iBACxBC,2BAA4B,IAAMA,2BAClCC,0BAA2B,IAAMA,0BACjCC,iBAAkB,IAAMA,iBACxBC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,mBAAoB,IAAMA,mBAC1BC,WAAY,IAAMA,WAClBC,8BAA+B,IAAMA,8BACrCC,QAAS,IAAMA,QACfC,iBAAkB,IAAMA,iBACxBC,8BAA+B,IAAMA,8BACrCC,yBAA0B,IAAMA,yBAChCC,+BAAgC,IAAMA,+BACtCC,OAAQ,IAAMA,OACdC,wBAAyB,IAAMA,wBAC/BC,wBAAyB,IAAMA,wBAC/BC,SAAU,IAAMA,SAChBC,0BAA2B,IAAMA,GACjCC,qBAAsB,IAAMA,qBAC5BC,aAAc,IAAMA,GACpBC,0BAA2B,IAAMA,0BACjCC,oCAAqC,IAAMA,oCAC3CC,mBAAoB,IAAMA,mBAC1BC,YAAa,IAAMA,YACnBC,UAAW,IAAMA,UACjBC,4BAA6B,IAAMA,GACnCC,+CAAgD,IAAMA,+CACtDC,mCAAoC,IAAMA,mCAC1CC,cAAe,IAAMA,cACrBC,aAAc,IAAMA,aACpBC,mCAAoC,IAAMA,mCAC1CC,qCAAsC,IAAMA,qCAC5CC,oCAAqC,IAAMA,oCAC3CC,sCAAuC,IAAMA,sCAC7CC,YAAa,IAAMA,YACnBC,yBAA0B,IAAMA,yBAChCC,gCAAiC,IAAMA,gCACvCC,oBAAqB,IAAMA,GAC3BC,4BAA6B,IAAMA,4BACnCC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,wBAAyB,IAAMA,wBAC/BC,WAAY,IAAMA,WAClBC,mBAAoB,IAAMA,mBAC1BC,sBAAuB,IAAMA,sBAC7BC,gBAAiB,IAAMA,gBACvBC,6BAA8B,IAAMA,6BACpCC,wBAAyB,IAAMA,wBAC/BC,mCAAoC,IAAMA,mCAC1CC,sBAAuB,IAAMA,sBAC7BC,8BAA+B,IAAMA,8BACrCC,kBAAmB,IAAMA,kBACzBC,4BAA6B,IAAMA,4BACnCC,8BAA+B,IAAMA,8BACrCC,oCAAqC,IAAMA,oCAC3CC,QAAS,IAAMA,QACfC,sBAAuB,IAAMA,sBAC7BC,kCAAmC,IAAMA,kCACzCC,kCAAmC,IAAMA,kCACzCC,sBAAuB,IAAMA,sBAC7BC,yBAA0B,IAAMA,yBAChCC,kDAAmD,IAAMA,kDACzDC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,eAAgB,IAAMA,eACtBC,cAAe,IAAMA,cACrBC,sBAAuB,IAAMA,sBAC7BC,iBAAkB,IAAMA,iBACxBC,wBAAyB,IAAMA,wBAC/BC,uBAAwB,IAAMA,uBAC9BC,qBAAsB,IAAMA,qBAC5BC,oBAAqB,IAAMA,oBAC3BC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,kCAAmC,IAAMA,kCACzCC,kBAAmB,IAAMA,kBACzBC,eAAgB,IAAMA,eACtBC,gBAAiB,IAAMA,gBACvBC,mBAAoB,IAAMA,mBAC1BC,wBAAyB,IAAMA,wBAC/BC,sBAAuB,IAAMA,sBAC7BC,mCAAoC,IAAMA,mCAC1CC,iCAAkC,IAAMA,iCACxCC,wCAAyC,IAAMA,wCAC/CC,+BAAgC,IAAMA,+BACtCC,iBAAkB,IAAMA,iBACxBC,wCAAyC,IAAMA,wCAC/CC,cAAe,IAAMA,cACrBC,6BAA8B,IAAMA,6BACpCC,6BAA8B,IAAMA,6BACpCC,iBAAkB,IAAMA,iBACxBC,QAAS,IAAMA,QACfC,YAAa,IAAMA,YACnBC,qBAAsB,IAAMA,qBAC5BC,aAAc,IAAMA,aACpBC,+BAAgC,IAAMA,+BACtCC,iBAAkB,IAAMA,iBACxBC,2BAA4B,IAAMA,2BAClCC,iBAAkB,IAAMA,iBACxBC,eAAgB,IAAMA,eACtBC,gBAAiB,IAAMA,gBACvBC,iBAAkB,IAAMA,iBACxBC,SAAU,IAAMA,SAChBC,YAAa,IAAMA,YACnBC,iBAAkB,IAAMA,iBACxBC,uBAAwB,IAAMA,uBAC9BC,qBAAsB,IAAMA,qBAC5BC,mCAAoC,IAAMA,mCAC1CC,sBAAuB,IAAMA,sBAC7BC,4BAA6B,IAAMA,4BACnCC,2BAA4B,IAAMA,2BAClCC,eAAgB,IAAMA,eACtBC,YAAa,IAAMA,YACnBC,aAAc,IAAMA,aACpBC,cAAe,IAAMA,cACrBC,sBAAuB,IAAMA,sBAC7BC,cAAe,IAAMA,cACrBC,iCAAkC,IAAMA,iCACxCC,iDAAkD,IAAMA,iDACxDC,wBAAyB,IAAMA,wBAC/BC,qBAAsB,IAAMA,qBAC5BC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,wBAAyB,IAAMA,wBAC/BC,YAAa,IAAMA,YACnBC,sBAAuB,IAAMA,sBAC7BC,kCAAmC,IAAMA,kCACzCC,qBAAsB,IAAMA,qBAC5BC,8BAA+B,IAAMA,8BACrCC,2BAA4B,IAAMA,2BAClCC,aAAc,IAAMA,aACpBC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,UAAW,IAAMA,UACjBC,mCAAoC,IAAMA,mCAC1CC,6BAA8B,IAAMA,6BACpCC,qBAAsB,IAAMA,qBAC5BC,yBAA0B,IAAMA,yBAChCC,uBAAwB,IAAMA,uBAC9BC,cAAe,IAAMA,cACrBC,wBAAyB,IAAMA,wBAC/BC,sBAAuB,IAAMA,sBAC7BC,iBAAkB,IAAMA,iBACxBC,qBAAsB,IAAMA,qBAC5BC,gCAAiC,IAAMA,gCACvCC,yBAA0B,IAAMA,yBAChCC,sBAAuB,IAAMA,sBAC7BC,oBAAqB,IAAMA,oBAC3BC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,oBAAqB,IAAMA,oBAC3BC,cAAe,IAAMA,cACrBC,4BAA6B,IAAMA,4BACnCC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,mCAAoC,IAAMA,mCAC1CC,sBAAuB,IAAMA,sBAC7BC,uBAAwB,IAAMA,uBAC9BC,uCAAwC,IAAMA,uCAC9CC,gCAAiC,IAAMA,gCACvCC,YAAa,IAAMA,YACnBC,kBAAmB,IAAMA,kBACzBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,kBAAmB,IAAMA,kBACzBC,8BAA+B,IAAMA,8BACrCC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,eAAgB,IAAMA,eACtBC,cAAe,IAAMA,cACrBC,wBAAyB,IAAMA,wBAC/BC,iBAAkB,IAAMA,iBACxBC,aAAc,IAAMA,aACpBC,cAAe,IAAMA,cACrBC,0BAA2B,IAAMA,0BACjCC,gCAAiC,IAAMA,gCACvCC,qBAAsB,IAAMA,qBAC5BC,0BAA2B,IAAMA,0BACjCC,uBAAwB,IAAMA,uBAC9BC,oBAAqB,IAAMA,oBAC3BC,sBAAuB,IAAMA,sBAC7BC,sBAAuB,IAAMA,sBAC7BC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,qBAAsB,IAAMA,qBAC5BC,aAAc,IAAMA,aACpBC,uBAAwB,IAAMA,uBAC9BC,YAAa,IAAMA,YACnBC,kBAAmB,IAAMA,kBACzBC,aAAc,IAAMA,aACpBC,uBAAwB,IAAMA,uBAC9BC,yBAA0B,IAAMA,yBAChCC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,oCAAqC,IAAMA,oCAC3CC,6BAA8B,IAAMA,6BACpCC,mBAAoB,IAAMA,mBAC1BC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,aAAc,IAAMA,aACpBC,sCAAuC,IAAMA,sCAC7CC,0BAA2B,IAAMA,0BACjCC,kBAAmB,IAAMA,kBACzBC,oBAAqB,IAAMA,oBAC3BC,gCAAiC,IAAMA,gCACvCC,aAAc,IAAMA,aACpBC,iBAAkB,IAAMA,iBACxBC,oDAAqD,IAAMA,oDAC3DC,gCAAiC,IAAMA,gCACvCC,sBAAuB,IAAMA,sBAC7BC,8BAA+B,IAAMA,8BACrCC,kDAAmD,IAAMA,kDACzDC,iBAAkB,IAAMA,iBACxBC,6BAA8B,IAAMA,6BACpCC,wCAAyC,IAAMA,wCAC/CC,0BAA2B,IAAMA,0BACjCC,6BAA8B,IAAMA,6BACpCC,0BAA2B,IAAMA,0BACjCC,uBAAwB,IAAMA,uBAC9BC,2BAA4B,IAAMA,2BAClCC,uCAAwC,IAAMA,uCAC9CC,sBAAuB,IAAMA,sBAC7BC,6BAA8B,IAAMA,6BACpCC,oCAAqC,IAAMA,oCAC3CC,wBAAyB,IAAMA,wBAC/BC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,iBACxBC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,sBAAuB,IAAMA,sBAC7BC,qBAAsB,IAAMA,qBAC5BC,oCAAqC,IAAMA,oCAC3CC,eAAgB,IAAMA,eACtBC,0BAA2B,IAAMA,0BACjCC,mBAAoB,IAAMA,mBAC1BC,4CAA6C,IAAMA,4CACnDC,gCAAiC,IAAMA,gCACvCC,wBAAyB,IAAMA,wBAC/BC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,sBAAuB,IAAMA,sBAC7BC,6BAA8B,IAAMA,6BACpCC,cAAe,IAAMA,cACrBC,yBAA0B,IAAMA,yBAChCC,8BAA+B,IAAMA,8BACrCC,0BAA2B,IAAMA,0BACjCC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,2BAA4B,IAAMA,2BAClCC,aAAc,IAAMA,aACpBC,kCAAmC,IAAMA,kCACzCC,iBAAkB,IAAMA,iBACxBC,2BAA4B,IAAMA,2BAClCC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,iBAAkB,IAAMA,iBACxBC,0BAA2B,IAAMA,0BACjCC,0BAA2B,IAAMA,0BACjCC,cAAe,IAAMA,cACrBC,kCAAmC,IAAMA,kCACzCC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,mBAAoB,IAAMA,mBAC1BC,aAAc,IAAMA,aACpBC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,0BAA2B,IAAMA,0BACjCC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,0BAA2B,IAAMA,0BACjCC,8BAA+B,IAAMA,8BACrCC,kBAAmB,IAAMA,kBACzBC,+BAAgC,IAAMA,+BACtCC,iBAAkB,IAAMA,iBACxBC,aAAc,IAAMA,aACpBC,YAAa,IAAMA,YACnBC,2BAA4B,IAAMA,2BAClCC,sBAAuB,IAAMA,sBAC7BC,UAAW,IAAMA,UACjBC,WAAY,IAAMA,WAClBC,YAAa,IAAMA,YACnBC,aAAc,IAAMA,aACpBC,wBAAyB,IAAMA,wBAC/BC,qBAAsB,IAAMA,qBAC5BC,+CAAgD,IAAMA,+CACtDC,WAAY,IAAMA,WAClBC,mBAAoB,IAAMA,mBAC1BC,oBAAqB,IAAMA,oBAC3BC,cAAe,IAAMA,cACrBC,uBAAwB,IAAMA,uBAC9BC,iCAAkC,IAAMA,iCACxCC,yBAA0B,IAAMA,GAChCC,4BAA6B,IAAMA,4BACnCC,wBAAyB,IAAMA,wBAC/BC,gBAAiB,IAAMA,gBACvBC,sBAAuB,IAAMA,sBAC7BC,sBAAuB,IAAMA,sBAC7BC,sBAAuB,IAAMA,sBAC7BC,mBAAoB,IAAMA,mBAC1BC,8BAA+B,IAAMA,8BACrCC,oBAAqB,IAAMA,oBAC3BC,wBAAyB,IAAMA,wBAC/BC,uBAAwB,IAAMA,uBAC9BC,qBAAsB,IAAMA,qBAC5BC,uBAAwB,IAAMA,uBAC9BC,sBAAuB,IAAMA,sBAC7BC,wCAAyC,IAAMA,wCAC/CC,eAAgB,IAAMA,eACtBC,uBAAwB,IAAMA,uBAC9BC,mBAAoB,IAAMA,mBAC1BC,qBAAsB,IAAMA,qBAC5BC,QAAS,IAAMA,QACfC,eAAgB,IAAMA,eACtBC,mBAAoB,IAAMA,mBAC1BC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,6BAA8B,IAAMA,6BACpCC,0BAA2B,IAAMA,0BACjCC,qBAAsB,IAAMA,qBAC5BC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,sBAAuB,IAAMA,sBAC7BC,gBAAiB,IAAMA,gBACvBC,YAAa,IAAMA,YACnBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,qBAAsB,IAAMA,qBAC5BC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,YAAa,IAAMA,YACnBC,uBAAwB,IAAMA,uBAC9BC,oBAAqB,IAAMA,oBAC3BC,yBAA0B,IAAMA,yBAChCC,oBAAqB,IAAMA,oBAC3BC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,oBAAqB,IAAMA,oBAC3BC,kBAAmB,IAAMA,kBACzBC,uBAAwB,IAAMA,uBAC9BC,mBAAoB,IAAMA,mBAC1BC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,mBAAoB,IAAMA,mBAC1BC,iBAAkB,IAAMA,iBACxBC,2BAA4B,IAAMA,2BAClCC,oBAAqB,IAAMA,oBAC3BC,cAAe,IAAMA,cACrBC,iBAAkB,IAAMA,iBACxBC,WAAY,IAAMA,WAClBC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,mBAC1BC,oBAAqB,IAAMA,oBAC3BC,aAAc,IAAMA,aACpBC,YAAa,IAAMA,YACnBC,iBAAkB,IAAMA,iBACxBC,eAAgB,IAAMA,eACtBC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,cAAe,IAAMA,cACrBC,WAAY,IAAMA,WAClBC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,aAAc,IAAMA,aACpBC,gBAAiB,IAAMA,gBACvBC,cAAe,IAAMA,cACrBC,oBAAqB,IAAMA,oBAC3BC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,wBAAyB,IAAMA,wBAC/BC,+BAAgC,IAAMA,+BACtCC,wBAAyB,IAAMA,wBAC/BC,qBAAsB,IAAMA,qBAC5BC,uBAAwB,IAAMA,uBAC9BC,UAAW,IAAMA,UACjBC,sBAAuB,IAAMA,sBAC7BC,UAAW,IAAMA,UACjBC,uBAAwB,IAAMA,uBAC9BC,cAAe,IAAMA,cACrBC,YAAa,IAAMA,YACnBC,0BAA2B,IAAMA,0BACjCC,mBAAoB,IAAMA,mBAC1BC,iCAAkC,IAAMA,iCACxCC,yBAA0B,IAAMA,yBAChCC,MAAO,IAAMA,MACbC,YAAa,IAAMA,YACnBC,yCAA0C,IAAMA,yCAChDC,oBAAqB,IAAMA,oBAC3BC,4BAA6B,IAAMA,4BACnCC,wBAAyB,IAAMA,wBAC/BC,cAAe,IAAMA,cACrBC,gDAAiD,IAAMA,gDACvDC,qBAAsB,IAAMA,qBAC5BC,kBAAmB,IAAMA,kBACzBC,YAAa,IAAMA,YACnBC,kBAAmB,IAAMA,kBACzBC,0CAA2C,IAAMA,0CACjDC,wCAAyC,IAAMA,wCAC/CC,sCAAuC,IAAMA,sCAC7CC,oCAAqC,IAAMA,oCAC3CC,iBAAkB,IAAMA,iBACxBC,aAAc,IAAMA,aACpBC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,aAAc,IAAMA,aACpBC,qBAAsB,IAAMA,qBAC5BC,yBAA0B,IAAMA,yBAChCC,WAAY,IAAMA,WAClBC,eAAgB,IAAMA,eACtBC,eAAgB,IAAMA,eACtBC,6BAA8B,IAAMA,6BACpCC,cAAe,IAAMA,cACrBC,aAAc,IAAMA,aACpBC,oBAAqB,IAAMA,oBAC3BC,mBAAoB,IAAMA,mBAC1BC,gCAAiC,IAAMA,gCACvCC,mBAAoB,IAAMA,mBAC1BC,aAAc,IAAMA,aACpBC,0BAA2B,IAAMA,0BACjCC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,8BAA+B,IAAMA,8BACrCC,4BAA6B,IAAMA,4BACnCC,0BAA2B,IAAMA,0BACjCC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,wBAAyB,IAAMA,wBAC/BC,sBAAuB,IAAMA,sBAC7BC,eAAgB,IAAMA,eACtBC,sBAAuB,IAAMA,sBAC7BC,eAAgB,IAAMA,eACtBC,wBAAyB,IAAMA,wBAC/BC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,kBAAmB,IAAMA,kBACzBC,6BAA8B,IAAMA,6BACpCC,kBAAmB,IAAMA,kBACzBC,+BAAgC,IAAMA,+BACtCC,gBAAiB,IAAMA,gBACvBC,sBAAuB,IAAMA,sBAC7BC,eAAgB,IAAMA,eACtBC,gCAAiC,IAAMA,gCACvCC,YAAa,IAAMA,YACnBC,qBAAsB,IAAMA,qBAC5BC,mBAAoB,IAAMA,mBAC1BC,WAAY,IAAMA,WAClBC,iBAAkB,IAAMA,iBACxBC,uBAAwB,IAAMA,uBAC9BC,qCAAsC,IAAMA,qCAC5CC,uBAAwB,IAAMA,uBAC9BC,yBAA0B,IAAMA,yBAChCC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,2CAA4C,IAAMA,2CAClDC,sBAAuB,IAAMA,sBAC7BC,kBAAmB,IAAMA,kBACzBC,SAAU,IAAMA,SAChBC,iBAAkB,IAAMA,iBACxBC,qBAAsB,IAAMA,qBAC5BC,0CAA2C,IAAMA,0CACjDC,mCAAoC,IAAMA,mCAC1CC,mCAAoC,IAAMA,mCAC1CC,uBAAwB,IAAMA,uBAC9BC,uBAAwB,IAAMA,uBAC9BC,2BAA4B,IAAMA,2BAClCC,0BAA2B,IAAMA,0BACjCC,sBAAuB,IAAMA,sBAC7BC,iDAAkD,IAAMA,iDACxDC,wBAAyB,IAAMA,wBAC/BC,oBAAqB,IAAMA,oBAC3BC,gBAAiB,IAAMA,gBACvBC,oBAAqB,IAAMA,oBAC3BC,sBAAuB,IAAMA,sBAC7BC,+BAAgC,IAAMA,+BACtCC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,yBAA0B,IAAMA,yBAChCC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,qBAAsB,IAAMA,qBAC5BC,YAAa,IAAMA,YACnBC,+BAAgC,IAAMA,+BACtCC,4BAA6B,IAAMA,4BACnCC,0BAA2B,IAAMA,0BACjCC,wBAAyB,IAAMA,wBAC/BC,gBAAiB,IAAMA,gBACvBC,6BAA8B,IAAMA,6BACpCC,iBAAkB,IAAMA,iBACxBC,0CAA2C,IAAMA,0CACjDC,kBAAmB,IAAMA,kBACzBC,6BAA8B,IAAMA,6BACpCC,eAAgB,IAAMA,eACtBC,gBAAiB,IAAMA,gBACvBC,cAAe,IAAMA,cACrBC,YAAa,IAAMA,YACnBC,+BAAgC,IAAMA,+BACtCC,yBAA0B,IAAMA,yBAChCC,wBAAyB,IAAMA,wBAC/BC,wBAAyB,IAAMA,wBAC/BC,oBAAqB,IAAMA,oBAC3BC,2CAA4C,IAAMA,2CAClDC,4CAA6C,IAAMA,4CACnDC,0BAA2B,IAAMA,0BACjCC,kBAAmB,IAAMA,kBACzBC,oBAAqB,IAAMA,oBAC3BC,sBAAuB,IAAMA,sBAC7BC,qCAAsC,IAAMA,qCAC5CC,2BAA4B,IAAMA,2BAClCC,gCAAiC,IAAMA,gCACvCC,gDAAiD,IAAMA,gDACvDC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,eAAgB,IAAMA,eACtBC,sBAAuB,IAAMA,sBAC7BC,oBAAqB,IAAMA,oBAC3BC,kBAAmB,IAAMA,kBACzBC,8BAA+B,IAAMA,8BACrCC,cAAe,IAAMA,cACrBC,0BAA2B,IAAMA,0BACjCC,gBAAiB,IAAMA,gBACvBC,mBAAoB,IAAMA,mBAC1BC,6BAA8B,IAAMA,6BACpCC,6BAA8B,IAAMA,6BACpCC,gBAAiB,IAAMA,gBACvBC,kBAAmB,IAAMA,kBACzBC,oCAAqC,IAAMA,oCAC3CC,+BAAgC,IAAMA,+BACtCC,wBAAyB,IAAMA,wBAC/BC,iBAAkB,IAAMA,iBACxBC,2BAA4B,IAAMA,2BAClCC,cAAe,IAAMA,cACrBC,2BAA4B,IAAMA,2BAClCC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,2CAA4C,IAAMA,2CAClDC,8BAA+B,IAAMA,8BACrCC,kCAAmC,IAAMA,kCACzCC,4BAA6B,IAAMA,4BACnCC,2BAA4B,IAAMA,2BAClCC,2CAA4C,IAAMA,2CAClDC,4DAA6D,IAAMA,4DACnEC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,sBAAuB,IAAMA,sBAC7BC,wBAAyB,IAAMA,wBAC/BC,cAAe,IAAMA,cACrBC,yBAA0B,IAAMA,yBAChCC,wBAAyB,IAAMA,wBAC/BC,+BAAgC,IAAMA,+BACtCC,8BAA+B,IAAMA,8BACrCC,mBAAoB,IAAMA,mBAC1BC,uBAAwB,IAAMA,uBAC9BC,2BAA4B,IAAMA,2BAClCC,6BAA8B,IAAMA,6BACpCC,sBAAuB,IAAMA,sBAC7BC,sBAAuB,IAAMA,sBAC7BC,iBAAkB,IAAMA,iBACxBC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,wBAAyB,IAAMA,wBAC/BC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,gBAAiB,IAAMA,gBACvBC,6BAA8B,IAAMA,6BACpCC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,YAAa,IAAMA,YACnBC,6BAA8B,IAAMA,6BACpCC,mBAAoB,IAAMA,mBAC1BC,sBAAuB,IAAMA,sBAC7BC,SAAU,IAAMA,SAChBC,iBAAkB,IAAMA,iBACxBC,SAAU,IAAMA,SAChBC,8BAA+B,IAAMA,8BACrCC,4CAA6C,IAAMA,4CACnDC,qBAAsB,IAAMA,qBAC5BC,gBAAiB,IAAMA,gBACvBC,oBAAqB,IAAMA,oBAC3BC,+BAAgC,IAAMA,+BACtCC,0BAA2B,IAAMA,0BACjCC,6BAA8B,IAAMA,6BACpCC,6CAA8C,IAAMA,6CACpDC,2BAA4B,IAAMA,2BAClCC,YAAa,IAAMA,YACnBC,eAAgB,IAAMA,eACtBC,gBAAiB,IAAMA,gBACvBC,0BAA2B,IAAMA,0BACjCC,kBAAmB,IAAMA,kBACzBC,aAAc,IAAMA,aACpBC,sBAAuB,IAAMA,sBAC7BC,qBAAsB,IAAMA,qBAC5BC,UAAW,IAAMA,UACjBC,2BAA4B,IAAMA,2BAClCC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,sBAAuB,IAAMA,sBAC7BC,uBAAwB,IAAMA,uBAC9BC,0BAA2B,IAAMA,0BACjCC,0BAA2B,IAAMA,0BACjCC,iBAAkB,IAAMA,iBACxBC,+BAAgC,IAAMA,+BACtCC,eAAgB,IAAMA,eACtBC,eAAgB,IAAMA,eACtBC,qBAAsB,IAAMA,qBAC5BC,OAAQ,IAAMA,OACdC,+BAAgC,IAAMA,+BACtCC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,6BAA8B,IAAMA,6BACpCC,yCAA0C,IAAMA,yCAChDC,eAAgB,IAAMA,eACtBC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,QAAS,IAAMA,QACfC,YAAa,IAAMA,YACnBC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,SAAU,IAAMA,SAChBC,eAAgB,IAAMA,eACtBC,gBAAiB,IAAMA,gBACvBC,YAAa,IAAMA,YACnBC,uBAAwB,IAAMA,uBAC9BC,0BAA2B,IAAMA,0BACjCC,kBAAmB,IAAMA,kBACzBC,cAAe,IAAMA,cACrBC,cAAe,IAAMA,cACrBC,+BAAgC,IAAMA,+BACtCC,kBAAmB,IAAMA,kBACzBC,WAAY,IAAMA,WAClBC,eAAgB,IAAMA,eACtBC,mBAAoB,IAAMA,mBAC1BC,4BAA6B,IAAMA,4BACnCC,4BAA6B,IAAMA,4BACnCC,oCAAqC,IAAMA,oCAC3CC,mBAAoB,IAAMA,mBAC1BC,2BAA4B,IAAMA,2BAClCC,oBAAqB,IAAMA,oBAC3BC,gBAAiB,IAAMA,gBACvBC,oBAAqB,IAAMA,oBAC3BC,oBAAqB,IAAMA,oBAC3BC,2BAA4B,IAAMA,2BAClCC,kBAAmB,IAAMA,kBACzBC,kBAAmB,IAAMA,kBACzBC,2BAA4B,IAAMA,2BAClCC,yBAA0B,IAAMA,yBAChCC,gBAAiB,IAAMA,gBACvBC,MAAO,IAAMA,MACbC,oBAAqB,IAAMA,oBAC3BC,2BAA4B,IAAMA,2BAClCC,4BAA6B,IAAMA,4BACnCC,4BAA6B,IAAMA,4BACnCC,gBAAiB,IAAMA,gBACvBC,WAAY,IAAMA,WAClBC,eAAgB,IAAMA,eACtBC,WAAY,IAAMA,WAClBC,sBAAuB,IAAMA,sBAC7BC,yCAA0C,IAAMA,yCAChDC,wDAAyD,IAAMA,wDAC/DC,0CAA2C,IAAMA,0CACjDC,0BAA2B,IAAMA,0BACjCC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,WAAY,IAAMA,WAClBC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,uBAAwB,IAAMA,uBAC9BC,gBAAiB,IAAMA,gBACvBC,cAAe,IAAMA,cACrBC,kBAAmB,IAAMA,kBACzBC,kBAAmB,IAAMA,kBACzBC,2BAA4B,IAAMA,2BAClCC,YAAa,IAAMA,YACnBC,KAAM,IAAMA,KACZC,gBAAiB,IAAMA,gBACvBC,OAAQ,IAAMA,OACdC,OAAQ,IAAMA,GACdC,KAAM,IAAMA,GACZC,cAAe,IAAMA,cACrBC,0BAA2B,IAAMA,0BACjCC,uBAAwB,IAAMA,uBAC9BC,6BAA8B,IAAMA,6BACpCC,WAAY,IAAMA,WAClBC,kBAAmB,IAAMA,kBACzBC,wBAAyB,IAAMA,wBAC/BC,IAAK,IAAMA,IACXC,aAAc,IAAMA,aACpBC,WAAY,IAAMA,WAClBC,mBAAoB,IAAMA,mBAC1BC,WAAY,IAAMA,WAClBC,YAAa,IAAMA,YACnBC,aAAc,IAAMA,aACpBC,kBAAmB,IAAMA,kBACzBC,WAAY,IAAMA,WAClBC,oBAAqB,IAAMA,oBAC3BC,YAAa,IAAMA,YACnBC,eAAgB,IAAMA,eACtBC,qBAAsB,IAAMA,qBAC5BC,MAAO,IAAMA,MACbC,UAAW,IAAMA,UACjBC,oCAAqC,IAAMA,oCAC3CC,QAAS,IAAMA,QACfC,WAAY,IAAMA,WAClBC,IAAK,IAAMA,IACXC,UAAW,IAAMA,UACjBC,wBAAyB,IAAMA,GAC/BC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,iBACxBC,0BAA2B,IAAMA,0BACjCC,4BAA6B,IAAMA,4BACnCC,8BAA+B,IAAMA,8BACrCC,wBAAyB,IAAMA,GAC/BC,0BAA2B,IAAMA,0BACjCC,kCAAmC,IAAMA,GACzCC,mCAAoC,IAAMA,GAC1CC,qDAAsD,IAAMA,qDAC5DC,gCAAiC,IAAMA,gCACvCC,iCAAkC,IAAMA,iCACxCC,iBAAkB,IAAMC,GACxBC,+BAAgC,IAAMA,+BACtCC,8BAA+B,IAAMA,8BACrCC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,wBAAyB,IAAMA,wBAC/BC,uBAAwB,IAAMA,uBAC9BC,aAAc,IAAMA,aACpBC,sBAAuB,IAAMA,sBAC7BC,UAAW,IAAMA,UACjBC,2BAA4B,IAAMA,2BAClCC,iBAAkB,IAAMA,iBACxBC,iBAAkB,IAAMA,iBACxBC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,GACtBC,oCAAqC,IAAMA,GAC3CC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,GACvBC,YAAa,IAAMA,YACnBC,gBAAiB,IAAMA,gBACvBC,cAAe,IAAMA,cACrBC,cAAe,IAAMA,cACrBC,kBAAmB,IAAMA,kBACzBC,uBAAwB,IAAMA,uBAC9BC,oBAAqB,IAAMA,GAC3BC,2BAA4B,IAAMA,2BAClCC,uBAAwB,IAAMA,uBAC9BC,yBAA0B,IAAMA,yBAChCC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,gCAAiC,IAAMA,gCACvCC,KAAM,IAAMA,KACZC,gBAAiB,IAAMA,GACvBC,cAAe,IAAMA,cACrBC,iBAAkB,IAAMA,iBACxBC,eAAgB,IAAMA,eACtBC,IAAK,IAAMA,IACXC,eAAgB,IAAMA,eACtBC,uBAAwB,IAAMA,GAC9BC,mBAAoB,IAAMA,GAC1BC,uBAAwB,IAAMA,GAC9BC,0BAA2B,IAAMA,GACjCC,gBAAiB,IAAMA,GACvBC,aAAc,IAAMA,aACpBC,mBAAoB,IAAMA,GAC1BC,kBAAmB,IAAMA,kBACzBC,iCAAkC,IAAMA,GACxCC,gBAAiB,IAAMA,GACvBC,gBAAiB,IAAMA,GACvBC,mBAAoB,IAAMA,mBAC1BC,GAAI,IAAMA,GACVC,kBAAmB,IAAMA,kBACzBC,oBAAqB,IAAMA,oBAC3BC,uBAAwB,IAAMA,uBAC9BC,kBAAmB,IAAMA,kBACzBC,uBAAwB,IAAMA,uBAC9BC,kBAAmB,IAAMA,kBACzBC,qBAAsB,IAAMA,GAC5BC,YAAa,IAAMA,YACnBC,kBAAmB,IAAMA,kBACzBC,iBAAkB,IAAMA,iBACxBC,uBAAwB,IAAMA,uBAC9BC,0BAA2B,IAAMA,0BACjCC,0BAA2B,IAAMA,0BACjCC,oCAAqC,IAAMA,oCAC3CC,sBAAuB,IAAMA,sBAC7BC,wBAAyB,IAAMA,wBAC/BC,0BAA2B,IAAMA,0BACjCC,iCAAkC,IAAMA,iCACxCC,2BAA4B,IAAMA,2BAClCC,qCAAsC,IAAMA,qCAC5CC,cAAe,IAAMA,cACrBC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,GACxBC,wBAAyB,IAAMA,wBAC/BC,iBAAkB,IAAMA,iBACxBC,kBAAmB,IAAMA,kBACzBC,iBAAkB,IAAMA,iBACxBC,WAAY,IAAMC,GAClBC,gCAAiC,IAAMA,gCACvCC,wBAAyB,IAAMA,wBAC/BC,eAAgB,IAAMA,eACtBC,oBAAqB,IAAMA,oBAC3BC,eAAgB,IAAMA,eACtBC,YAAa,IAAMA,YACnBC,8BAA+B,IAAMA,8BACrCC,YAAa,IAAMC,EACnBC,sBAAuB,IAAMA,sBAC7BC,uBAAwB,IAAMA,uBAC9BC,sBAAuB,IAAMA,sBAC7BC,uBAAwB,IAAMA,uBAC9BC,eAAgB,IAAMA,eACtBC,uBAAwB,IAAMA,uBAC9BC,sBAAuB,IAAMA,sBAC7BC,yBAA0B,IAAMA,yBAChCC,gCAAiC,IAAMA,gCACvCC,yBAA0B,IAAMA,yBAChCC,uBAAwB,IAAMA,uBAC9BC,0BAA2B,IAAMA,0BACjCC,iBAAkB,IAAMA,iBACxBC,qBAAsB,IAAMA,qBAC5BC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,MAAO,IAAMA,MACbC,0BAA2B,IAAMA,0BACjCC,sBAAuB,IAAMA,sBAC7BC,+BAAgC,IAAMA,+BACtCC,mBAAoB,IAAMA,mBAC1BC,4BAA6B,IAAMA,4BACnCC,sBAAuB,IAAMA,sBAC7BC,iCAAkC,IAAMA,iCACxCC,+BAAgC,IAAMA,+BACtCC,YAAa,IAAMA,YACnBC,oBAAqB,IAAMA,oBAC3BC,YAAa,IAAMA,YACnBC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,iCAAkC,IAAMA,iCACxCC,iCAAkC,IAAMA,iCACxCC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,SAAU,IAAMA,SAChBC,mBAAoB,IAAMA,mBAC1BC,oBAAqB,IAAMA,oBAC3BC,8BAA+B,IAAMA,8BACrCC,+BAAgC,IAAMA,+BACtCC,WAAY,IAAMA,WAClBC,mBAAoB,IAAMA,mBAC1BC,qBAAsB,IAAMA,qBAC5BC,SAAU,IAAMC,GAChBC,aAAc,IAAMA,aACpBC,qCAAsC,IAAMA,qCAC5CC,mBAAoB,IAAMA,mBAC1BC,kBAAmB,IAAMA,kBACzBC,iBAAkB,IAAMA,iBACxBC,gBAAiB,IAAMA,gBACvBC,oBAAqB,IAAMA,oBAC3BC,kBAAmB,IAAMA,kBACzBC,2BAA4B,IAAMA,2BAClCC,aAAc,IAAMA,aACpBC,aAAc,IAAMA,aACpBC,iCAAkC,IAAMA,iCACxCC,aAAc,IAAMA,aACpBC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,iBACxBC,8BAA+B,IAAMA,8BACrCC,6BAA8B,IAAMA,6BACpCC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,2BAA4B,IAAMA,2BAClCC,gCAAiC,IAAMA,gCACvCC,YAAa,IAAMA,YACnBC,4BAA6B,IAAMA,4BACnCC,4BAA6B,IAAMA,4BACnCC,8BAA+B,IAAMA,8BACrCC,oBAAqB,IAAMA,GAC3BC,YAAa,IAAMA,YACnBC,sBAAuB,IAAMA,sBAC7BC,WAAY,IAAMA,WAClBC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,eACtBC,uBAAwB,IAAMA,uBAC9BC,YAAa,IAAMA,YACnBC,QAAS,IAAMA,QACfC,YAAa,IAAMA,YACnBC,oBAAqB,IAAMA,oBAC3BC,QAAS,IAAMA,GACfC,sCAAuC,IAAMA,GAC7CC,yBAA0B,IAAMA,yBAChCC,OAAQ,IAAMC,GACdC,gBAAiB,IAAMA,GACvBC,gBAAiB,IAAMA,gBACvBC,uBAAwB,IAAMA,uBAC9BC,iBAAkB,IAAMA,iBACxBC,aAAc,IAAMA,aACpBC,gCAAiC,IAAMA,gCACvCC,0BAA2B,IAAMA,0BACjCC,sCAAuC,IAAMA,sCAC7CC,2BAA4B,IAAMA,2BAClCC,qBAAsB,IAAMA,qBAC5BC,+BAAgC,IAAMA,+BACtCC,gBAAiB,IAAMA,gBACvBC,aAAc,IAAMA,aACpBC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,UAAW,IAAMA,UACjBC,mBAAoB,IAAMA,mBAC1BC,qBAAsB,IAAMA,qBAC5BC,kBAAmB,IAAMA,kBACzBC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,mBAC1BC,mBAAoB,IAAMA,mBAC1BC,4BAA6B,IAAMA,4BACnCC,6BAA8B,IAAMA,6BACpCC,OAAQ,IAAMA,OACdC,UAAW,IAAMA,UACjBC,aAAc,IAAMA,aACpBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,mBAAoB,IAAMA,mBAC1BC,qBAAsB,IAAMA,qBAC5BC,uBAAwB,IAAMA,uBAC9BC,YAAa,IAAMA,YACnBC,YAAa,IAAMA,YACnBC,oBAAqB,IAAMA,oBAC3BC,gCAAiC,IAAMA,gCACvCC,yBAA0B,IAAMA,GAChCC,6BAA8B,IAAMA,6BACpCC,iCAAkC,IAAMA,iCACxCC,oBAAqB,IAAMA,oBAC3BC,0BAA2B,IAAMA,0BACjCC,wBAAyB,IAAMA,wBAC/BC,OAAQ,IAAMA,OACdC,mBAAoB,IAAMA,mBAC1BC,eAAgB,IAAMA,eACtBC,aAAc,IAAMA,aACpBC,kBAAmB,IAAMA,kBACzBC,UAAW,IAAMA,UACjBC,eAAgB,IAAMA,eACtBC,qBAAsB,IAAMA,qBAC5BC,gBAAiB,IAAMA,gBACvBC,gCAAiC,IAAMA,gCACvCC,WAAY,IAAMA,WAClBC,iBAAkB,IAAMA,iBACxBC,gCAAiC,IAAMA,gCACvCC,oBAAqB,IAAMA,oBAC3BC,UAAW,IAAMA,UACjBC,WAAY,IAAMA,WAClBC,KAAM,IAAMA,KACZC,mBAAoB,IAAMA,mBAC1BC,8BAA+B,IAAMA,8BACrCC,mCAAoC,IAAMA,GAC1CC,uBAAwB,IAAMA,uBAC9BC,uBAAwB,IAAMA,GAC9BC,wCAAyC,IAAMA,GAC/CC,UAAW,IAAMA,UACjBC,QAAS,IAAMA,QACfC,sBAAuB,IAAMA,sBAC7BC,6BAA8B,IAAMA,6BACpCC,eAAgB,IAAMA,eACtBC,aAAc,IAAMA,EACpBC,WAAY,IAAMA,WAClBC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,oBAAqB,IAAMA,oBAC3BC,iBAAkB,IAAMA,iBACxBC,cAAe,IAAMA,cACrBC,YAAa,IAAMA,YACnBC,+BAAgC,IAAMA,GACtCC,0BAA2B,IAAMA,GACjCC,2BAA4B,IAAMA,GAClCC,0BAA2B,IAAMA,GACjCC,oCAAqC,IAAMA,GAC3CC,iCAAkC,IAAMA,iCACxCC,sBAAuB,IAAMA,sBAC7BC,uBAAwB,IAAMA,uBAC9BC,2BAA4B,IAAMA,2BAClCC,WAAY,IAAMA,WAClBC,oBAAqB,IAAMA,oBAC3BC,qBAAsB,IAAMA,qBAC5BC,IAAK,IAAMA,GACXC,OAAQ,IAAMA,OACdC,sBAAuB,IAAMA,sBAC7BC,UAAW,IAAMA,UACjBC,wBAAyB,IAAMA,GAC/BC,eAAgB,IAAMA,GACtBC,mBAAoB,IAAMA,GAC1BC,2BAA4B,IAAMA,2BAClCC,uBAAwB,IAAMA,uBAC9BC,YAAa,IAAMC,GACnBC,kBAAmB,IAAMA,kBACzBC,SAAU,IAAMA,SAChBC,mCAAoC,IAAMA,mCAC1CC,0BAA2B,IAAMA,0BACjCC,gCAAiC,IAAMA,gCACvCC,yBAA0B,IAAMA,yBAChCC,0BAA2B,IAAMA,0BACjCC,yBAA0B,IAAMA,yBAChCC,YAAa,IAAMA,YACnBC,qBAAsB,IAAMA,qBAC5BC,uBAAwB,IAAMA,uBAC9BC,+BAAgC,IAAMA,+BACtCC,+BAAgC,IAAMA,+BACtCC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,qBAAsB,IAAMA,qBAC5BC,eAAgB,IAAMA,eACtBC,iBAAkB,IAAMA,GACxBC,UAAW,IAAMA,EACjBC,QAAS,IAAMA,QACfC,kBAAmB,IAAMA,kBACzBC,mCAAoC,IAAMA,mCAC1CC,iBAAkB,IAAMA,iBACxBC,oBAAqB,IAAMA,oBAC3BC,OAAQ,IAAMA,OACdC,qBAAsB,IAAMA,qBAC5BC,SAAU,IAAMA,SAChBC,2BAA4B,IAAMA,2BAClCC,wCAAyC,IAAMA,wCAC/CC,cAAe,IAAMA,cACrBC,MAAO,IAAMA,MACbC,QAAS,IAAMA,EACfC,eAAgB,IAAMA,EACtBC,2BAA4B,IAAMA,2BAClCC,UAAW,IAAMA,UACjBC,qBAAsB,IAAMA,qBAC5BC,sBAAuB,IAAMA,sBAC7BC,0BAA2B,IAAMA,0BACjCC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,sBAAuB,IAAMA,sBAC7BC,gBAAiB,IAAMA,gBACvBC,oBAAqB,IAAMA,oBAC3BC,0CAA2C,IAAMA,0CACjDC,aAAc,IAAMA,aACpBC,0BAA2B,IAAMA,0BACjCC,gBAAiB,IAAMA,gBACvBC,yBAA0B,IAAMA,yBAChCC,eAAgB,IAAMA,eACtBC,sBAAuB,IAAMA,sBAC7BC,oBAAqB,IAAMA,oBAC3BC,UAAW,IAAMA,UACjBC,qBAAsB,IAAMA,qBAC5BC,gBAAiB,IAAMA,gBACvBC,oCAAqC,IAAMA,GAC3CC,YAAa,IAAMA,YACnBC,mBAAoB,IAAMA,mBAC1BC,QAAS,IAAMA,QACfC,mBAAoB,IAAMA,mBAC1BC,sBAAuB,IAAMA,sBAC7BC,cAAe,IAAMA,cACrBC,gDAAiD,IAAMA,gDACvDC,8DAA+D,IAAMA,8DACrEC,kBAAmB,IAAMA,kBACzBC,wBAAyB,IAAMC,yBAC/BC,gCAAiC,IAAMA,gCACvCC,6BAA8B,IAAMA,6BACpCC,yBAA0B,IAAMA,yBAChCC,qCAAsC,IAAMA,qCAC5CC,6BAA8B,IAAMA,6BACpCC,yCAA0C,IAAMA,yCAChDC,+CAAgD,IAAMA,+CACtDC,uBAAwB,IAAMA,uBAC9BC,yBAA0B,IAAMA,yBAChCC,aAAc,IAAMA,aACpBC,gBAAiB,IAAMA,gBACvBC,iBAAkB,IAAMA,iBACxBC,qBAAsB,IAAMA,qBAC5BC,iBAAkB,IAAMA,iBACxBC,YAAa,IAAMA,YACnBC,yBAA0B,IAAMA,yBAChCC,mBAAoB,IAAMA,mBAC1BC,gBAAiB,IAAMA,gBACvBC,gBAAiB,IAAMA,gBACvBC,eAAgB,IAAMA,GACtBC,4BAA6B,IAAMA,GACnCC,kBAAmB,IAAMA,kBACzBC,uBAAwB,IAAMA,uBAC9BC,aAAc,IAAMA,GACpBC,sBAAuB,IAAMA,sBAC7BC,mBAAoB,IAAMA,mBAC1BC,wBAAyB,IAAMA,GAC/BC,yBAA0B,IAAMA,GAChCC,2BAA4B,IAAMA,2BAClCC,0BAA2B,IAAMA,0BACjCC,oBAAqB,IAAMA,oBAC3BC,0BAA2B,IAAMA,GACjCC,uBAAwB,IAAMA,uBAC9BC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,mBAC1BC,gCAAiC,IAAMA,gCACvCC,8BAA+B,IAAMA,8BACrCC,2BAA4B,IAAMA,2BAClCC,gCAAiC,IAAMA,gCACvCC,4BAA6B,IAAMA,4BACnCC,sBAAuB,IAAMA,sBAC7BC,sCAAuC,IAAMA,sCAC7CC,iBAAkB,IAAMA,iBACxBC,kCAAmC,IAAMA,kCACzCC,4BAA6B,IAAMA,4BACnCC,oBAAqB,IAAMA,oBAC3BC,6BAA8B,IAAMA,6BACpCC,QAAS,IAAMA,EACfC,kBAAmB,IAAMA,EACzBC,WAAY,IAAMA,WAClBC,uBAAwB,IAAMA,uBAC9BC,eAAgB,IAAMA,eACtBC,kBAAmB,IAAMA,kBACzBC,mBAAoB,IAAMA,mBAC1BC,wBAAyB,IAAMA,wBAC/BC,UAAW,IAAMA,UACjBC,WAAY,IAAMC,YAClBC,mBAAoB,IAAMA,mBAC1BC,iCAAkC,IAAMA,iCACxCC,uBAAwB,IAAMA,uBAC9BC,+BAAgC,IAAMA,+BACtCC,yBAA0B,IAAMA,yBAChCC,6CAA8C,IAAMA,6CACpDC,6BAA8B,IAAMA,GACpCC,kBAAmB,IAAMA,kBACzBC,UAAW,IAAMA,UACjBC,6BAA8B,IAAMA,6BACpCC,QAAS,IAAMA,UAEjBpvE,EAAOC,QAAuBe,EAG9B,IAAIgtE,EAAoB,MACpBD,EAAU,QACV3rE,EAA6B,CAAEitE,IACjCA,EAAYA,EAAsB,UAAK,GAAK,WAC5CA,EAAYA,EAAqB,QAAI,GAAK,UAC1CA,EAAYA,EAAyB,YAAI,GAAK,cACvCA,GAJwB,CAK9BjtE,GAAc,CAAC,GAGd6d,EAAa,GACbE,EAA2B,IAAImvD,IACnC,SAAShd,OAAOid,GACd,YAAiB,IAAVA,EAAmBA,EAAMjd,OAAS,CAC3C,CACA,SAASptC,QAAQqqD,EAAOC,GACtB,QAAc,IAAVD,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAMC,EAASF,EAASD,EAAME,GAAIA,GAClC,GAAIC,EACF,OAAOA,CAEX,CAGJ,CACA,SAASnpD,aAAagpD,EAAOC,GAC3B,QAAc,IAAVD,EACF,IAAK,IAAIE,EAAIF,EAAMjd,OAAS,EAAGmd,GAAK,EAAGA,IAAK,CAC1C,MAAMC,EAASF,EAASD,EAAME,GAAIA,GAClC,GAAIC,EACF,OAAOA,CAEX,CAGJ,CACA,SAASvrD,aAAaorD,EAAOC,GAC3B,QAAc,IAAVD,EAGJ,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAMC,EAASF,EAASD,EAAME,GAAIA,GAClC,QAAe,IAAXC,EACF,OAAOA,CAEX,CAEF,CACA,SAAStrD,qBAAqBurD,EAAMH,GAClC,IAAK,MAAMI,KAASD,EAAM,CACxB,MAAMD,EAASF,EAASI,GACxB,QAAe,IAAXF,EACF,OAAOA,CAEX,CAEF,CACA,SAASpS,mBAAmBuS,EAAUC,EAAGC,GACvC,IAAIL,EAASK,EACb,GAAIF,EAAU,CACZ,IAAIG,EAAM,EACV,IAAK,MAAMJ,KAASC,EAClBH,EAASI,EAAEJ,EAAQE,EAAOI,GAC1BA,GAEJ,CACA,OAAON,CACT,CACA,SAASN,QAAQa,EAAQC,EAAQV,GAC/B,MAAME,EAAS,GACf/sE,EAAMwtE,YAAYF,EAAO3d,OAAQ4d,EAAO5d,QACxC,IAAK,IAAImd,EAAI,EAAGA,EAAIQ,EAAO3d,OAAQmd,IACjCC,EAAOU,KAAKZ,EAASS,EAAOR,GAAIS,EAAOT,GAAIA,IAE7C,OAAOC,CACT,CACA,SAAS1nC,YAAYqoC,EAAOC,GAC1B,GAAID,EAAM/d,QAAU,EAClB,OAAO+d,EAET,MAAMX,EAAS,GACf,IAAK,IAAID,EAAI,EAAGc,EAAIF,EAAM/d,OAAQmd,EAAIc,EAAGd,IAC7B,IAANA,GAASC,EAAOU,KAAKE,GACzBZ,EAAOU,KAAKC,EAAMZ,IAEpB,OAAOC,CACT,CACA,SAASpuD,MAAMiuD,EAAOC,GACpB,QAAc,IAAVD,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChC,IAAKD,EAASD,EAAME,GAAIA,GACtB,OAAO,EAIb,OAAO,CACT,CACA,SAAS9sD,KAAK4sD,EAAOiB,EAAWC,GAC9B,QAAc,IAAVlB,EACJ,IAAK,IAAIE,EAAIgB,GAAc,EAAGhB,EAAIF,EAAMjd,OAAQmd,IAAK,CACnD,MAAMG,EAAQL,EAAME,GACpB,GAAIe,EAAUZ,EAAOH,GACnB,OAAOG,CAEX,CAEF,CACA,SAAStsD,SAASisD,EAAOiB,EAAWC,GAClC,QAAc,IAAVlB,EACJ,IAAK,IAAIE,EAAIgB,GAAclB,EAAMjd,OAAS,EAAGmd,GAAK,EAAGA,IAAK,CACxD,MAAMG,EAAQL,EAAME,GACpB,GAAIe,EAAUZ,EAAOH,GACnB,OAAOG,CAEX,CAEF,CACA,SAASvsD,UAAUksD,EAAOiB,EAAWC,GACnC,QAAc,IAAVlB,EAAkB,OAAQ,EAC9B,IAAK,IAAIE,EAAIgB,GAAc,EAAGhB,EAAIF,EAAMjd,OAAQmd,IAC9C,GAAIe,EAAUjB,EAAME,GAAIA,GACtB,OAAOA,EAGX,OAAQ,CACV,CACA,SAASlsD,cAAcgsD,EAAOiB,EAAWC,GACvC,QAAc,IAAVlB,EAAkB,OAAQ,EAC9B,IAAK,IAAIE,EAAIgB,GAAclB,EAAMjd,OAAS,EAAGmd,GAAK,EAAGA,IACnD,GAAIe,EAAUjB,EAAME,GAAIA,GACtB,OAAOA,EAGX,OAAQ,CACV,CACA,SAAS96D,SAAS46D,EAAOK,EAAOc,EAAmB5vD,cACjD,QAAc,IAAVyuD,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChC,GAAIiB,EAAiBnB,EAAME,GAAIG,GAC7B,OAAO,EAIb,OAAO,CACT,CACA,SAASxoC,mBAAmBupC,EAAMC,EAAWC,GAC3C,IAAK,IAAIpB,EAAIoB,GAAS,EAAGpB,EAAIkB,EAAKre,OAAQmd,IACxC,GAAI96D,SAASi8D,EAAWD,EAAKG,WAAWrB,IACtC,OAAOA,EAGX,OAAQ,CACV,CACA,SAASx5D,WAAWs5D,EAAOiB,GACzB,IAAIO,EAAQ,EACZ,QAAc,IAAVxB,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CAEjCe,EADMjB,EAAME,GACCA,IACfsB,GAEJ,CAEF,OAAOA,CACT,CACA,SAASvuD,OAAO+sD,EAAOO,GACrB,QAAc,IAAVP,EAAkB,CACpB,MAAMyB,EAAMzB,EAAMjd,OAClB,IAAImd,EAAI,EACR,KAAOA,EAAIuB,GAAOlB,EAAEP,EAAME,KAAKA,IAC/B,GAAIA,EAAIuB,EAAK,CACX,MAAMtB,EAASH,EAAM0B,MAAM,EAAGxB,GAE9B,IADAA,IACOA,EAAIuB,GAAK,CACd,MAAME,EAAO3B,EAAME,GACfK,EAAEoB,IACJxB,EAAOU,KAAKc,GAEdzB,GACF,CACA,OAAOC,CACT,CACF,CACA,OAAOH,CACT,CACA,SAAS9sD,aAAa8sD,EAAOO,GAC3B,IAAIqB,EAAW,EACf,IAAK,IAAI1B,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAC5BK,EAAEP,EAAME,GAAIA,EAAGF,KACjBA,EAAM4B,GAAY5B,EAAME,GACxB0B,KAGJ5B,EAAMjd,OAAS6e,CACjB,CACA,SAAS1/D,MAAM89D,GACbA,EAAMjd,OAAS,CACjB,CACA,SAASU,IAAIuc,EAAOO,GAClB,IAAIJ,EACJ,QAAc,IAAVH,EAAkB,CACpBG,EAAS,GACT,IAAK,IAAID,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChCC,EAAOU,KAAKN,EAAEP,EAAME,GAAIA,GAE5B,CACA,OAAOC,CACT,CACA,SAAUrc,YAAYsc,EAAMyB,GAC1B,IAAK,MAAMC,KAAK1B,QACRyB,EAAMC,EAEhB,CACA,SAASzR,QAAQ2P,EAAOO,GACtB,QAAc,IAAVP,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAMyB,EAAO3B,EAAME,GACb6B,EAASxB,EAAEoB,EAAMzB,GACvB,GAAIyB,IAASI,EAAQ,CACnB,MAAM5B,EAASH,EAAM0B,MAAM,EAAGxB,GAE9B,IADAC,EAAOU,KAAKkB,GACP7B,IAAKA,EAAIF,EAAMjd,OAAQmd,IAC1BC,EAAOU,KAAKN,EAAEP,EAAME,GAAIA,IAE1B,OAAOC,CACT,CACF,CAEF,OAAOH,CACT,CACA,SAAS1qD,QAAQ0qD,GACf,MAAMG,EAAS,GACf,IAAK,IAAID,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAM8B,EAAIhC,EAAME,GACZ8B,IACEloC,QAAQkoC,GACV5kE,SAAS+iE,EAAQ6B,GAEjB7B,EAAOU,KAAKmB,GAGlB,CACA,OAAO7B,CACT,CACA,SAAShrD,QAAQ6qD,EAAOiC,GACtB,IAAI9B,EACJ,QAAc,IAAVH,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAM8B,EAAIC,EAAMjC,EAAME,GAAIA,GACtB8B,IAEA7B,EADErmC,QAAQkoC,GACD5kE,SAAS+iE,EAAQ6B,GAEjBjkE,OAAOoiE,EAAQ6B,GAG9B,CAEF,OAAO7B,GAAUzvD,CACnB,CACA,SAAS2E,iBAAiB2qD,EAAOiC,GAC/B,MAAM9B,EAAS,GACf,QAAc,IAAVH,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAM8B,EAAIC,EAAMjC,EAAME,GAAIA,GACtB8B,IACEloC,QAAQkoC,GACV5kE,SAAS+iE,EAAQ6B,GAEjB7B,EAAOU,KAAKmB,GAGlB,CAEF,OAAO7B,CACT,CACA,SAAU/qD,gBAAgBgrD,EAAM6B,GAC9B,IAAK,MAAMH,KAAK1B,EAAM,CACpB,MAAM8B,EAAQD,EAAMH,GACfI,UACEA,EACT,CACF,CACA,SAAS9R,YAAY4P,EAAOiC,GAC1B,IAAI9B,EACJ,QAAc,IAAVH,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAMyB,EAAO3B,EAAME,GACb6B,EAASE,EAAMN,EAAMzB,IACvBC,GAAUwB,IAASI,GAAUjoC,QAAQioC,MAClC5B,IACHA,EAASH,EAAM0B,MAAM,EAAGxB,IAEtBpmC,QAAQioC,GACV3kE,SAAS+iE,EAAQ4B,GAEjB5B,EAAOU,KAAKkB,GAGlB,CAEF,OAAO5B,GAAUH,CACnB,CACA,SAAStc,aAAasc,EAAO6B,GAC3B,MAAM1B,EAAS,GACf,IAAK,IAAID,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAM6B,EAASF,EAAM7B,EAAME,GAAIA,GAC/B,QAAe,IAAX6B,EACF,OAEF5B,EAAOU,KAAKkB,EACd,CACA,OAAO5B,CACT,CACA,SAASxc,WAAWqc,EAAO6B,GACzB,MAAM1B,EAAS,GACf,QAAc,IAAVH,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAM6B,EAASF,EAAM7B,EAAME,GAAIA,QAChB,IAAX6B,GACF5B,EAAOU,KAAKkB,EAEhB,CAEF,OAAO5B,CACT,CACA,SAAUvc,mBAAmBwc,EAAMyB,GACjC,IAAK,MAAMC,KAAK1B,EAAM,CACpB,MAAMC,EAAQwB,EAAMC,QACN,IAAVzB,UACIA,EAEV,CACF,CACA,SAAS31C,YAAYy3C,EAAMC,EAAKnC,GAC9B,GAAIkC,EAAKE,IAAID,GACX,OAAOD,EAAK5wE,IAAI6wE,GAElB,MAAM/B,EAAQJ,IAEd,OADAkC,EAAKG,IAAIF,EAAK/B,GACPA,CACT,CACA,SAASvF,YAAYwH,EAAKjC,GACxB,OAAKiC,EAAID,IAAIhC,KACXiC,EAAIC,IAAIlC,IACD,EAGX,CACA,SAAU5M,eAAe4M,SACjBA,CACR,CACA,SAAStL,QAAQiL,EAAOwC,EAAOP,GAC7B,IAAI9B,EACJ,QAAc,IAAVH,EAAkB,CACpBG,EAAS,GACT,MAAMsB,EAAMzB,EAAMjd,OAClB,IAAI0f,EACAL,EACAd,EAAQ,EACRb,EAAM,EACV,KAAOa,EAAQG,GAAK,CAClB,KAAOhB,EAAMgB,GAAK,CAGhB,GADAW,EAAMI,EADQxC,EAAMS,GACDA,GACP,IAARA,EACFgC,EAAcL,OACT,GAAIA,IAAQK,EACjB,MAEFhC,GACF,CACA,GAAIa,EAAQb,EAAK,CACf,MAAMuB,EAAIC,EAAMjC,EAAM0B,MAAMJ,EAAOb,GAAMgC,EAAanB,EAAOb,GACzDuB,GACF7B,EAAOU,KAAKmB,GAEdV,EAAQb,CACV,CACAgC,EAAcL,EACd3B,GACF,CACF,CACA,OAAON,CACT,CACA,SAAStc,WAAWse,EAAM5B,GACxB,QAAa,IAAT4B,EACF,OAEF,MAAMhC,EAAyB,IAAIJ,IAKnC,OAJAoC,EAAKxsD,QAAQ,CAAC0qD,EAAO+B,KACnB,MAAOM,EAAQC,GAAYpC,EAAE6B,EAAK/B,GAClCF,EAAOmC,IAAII,EAAQC,KAEdxC,CACT,CACA,SAAS5L,KAAKyL,EAAOiB,GACnB,QAAc,IAAVjB,EAAkB,CACpB,QAAkB,IAAdiB,EAOF,OAAOjB,EAAMjd,OAAS,EANtB,IAAK,IAAImd,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChC,GAAIe,EAAUjB,EAAME,IAClB,OAAO,CAMf,CACA,OAAO,CACT,CACA,SAAS7yC,eAAeu1C,EAAKC,EAAMC,GACjC,IAAIxB,EACJ,IAAK,IAAIpB,EAAI,EAAGA,EAAI0C,EAAI7f,OAAQmd,IAC1B2C,EAAKD,EAAI1C,IACXoB,OAAkB,IAAVA,EAAmBpB,EAAIoB,OAEjB,IAAVA,IACFwB,EAAGxB,EAAOpB,GACVoB,OAAQ,QAIA,IAAVA,GAAkBwB,EAAGxB,EAAOsB,EAAI7f,OACtC,CACA,SAAS99C,YAAY89D,EAAQC,GAC3B,YAAe,IAAXA,GAAuC,IAAlBA,EAAOjgB,OAAqBggB,OACtC,IAAXA,GAAuC,IAAlBA,EAAOhgB,OAAqBigB,EAC9C,IAAID,KAAWC,EACxB,CACA,SAASC,YAAYC,EAAGhD,GACtB,OAAOA,CACT,CACA,SAASnoC,UAAUioC,GACjB,OAAOA,EAAMvc,IAAIwf,YACnB,CACA,SAASE,sBAAsBnD,EAAOmB,EAAkBiC,GACtD,MAAMC,EAAUtrC,UAAUioC,IAgL5B,SAASsD,kBAAkBtD,EAAOqD,EAASD,GACzCC,EAAQE,KAAK,CAACzB,EAAG0B,IAAMJ,EAASpD,EAAM8B,GAAI9B,EAAMwD,KAAOr/D,cAAc29D,EAAG0B,GAC1E,CAjLEF,CAAkBtD,EAAOqD,EAASD,GAClC,IAAIK,EAAQzD,EAAMqD,EAAQ,IAC1B,MAAMK,EAAe,CAACL,EAAQ,IAC9B,IAAK,IAAInD,EAAI,EAAGA,EAAImD,EAAQtgB,OAAQmd,IAAK,CACvC,MAAMyD,EAAQN,EAAQnD,GAChByB,EAAO3B,EAAM2D,GACdxC,EAAiBsC,EAAO9B,KAC3B+B,EAAa7C,KAAK8C,GAClBF,EAAQ9B,EAEZ,CAEA,OADA+B,EAAaH,OACNG,EAAajgB,IAAKyc,GAAMF,EAAME,GACvC,CAQA,SAAShxD,YAAY8wD,EAAOmB,EAAkBiC,GAC5C,OAAwB,IAAjBpD,EAAMjd,OAAe,GAAsB,IAAjBid,EAAMjd,OAAeid,EAAM0B,QAAU0B,EAAWD,sBAAsBnD,EAAOmB,EAAkBiC,GARlI,SAASQ,oBAAoB5D,EAAOmB,GAClC,MAAMhB,EAAS,GACf,IAAK,IAAID,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChC5T,aAAa6T,EAAQH,EAAME,GAAIiB,GAEjC,OAAOhB,CACT,CAE8IyD,CAAoB5D,EAAOmB,EACzK,CAqBA,SAASr0D,oBACP,MAAO,EACT,CACA,SAASsrB,aAAa4nC,EAAO6D,EAAQC,EAAS3C,EAAkB4C,GAC9D,GAAqB,IAAjB/D,EAAMjd,OAER,OADAid,EAAMa,KAAKgD,IACJ,EAET,MAAMG,EAAcjlE,aAAaihE,EAAO6D,EAAQtsC,SAAUusC,GAC1D,GAAIE,EAAc,EAAG,CACnB,GAAI7C,IAAqB4C,EAAiB,CACxC,MAAME,GAAOD,EACb,GAAIC,EAAM,GAAK9C,EAAiB0C,EAAQ7D,EAAMiE,EAAM,IAClD,OAAO,EAET,GAAIA,EAAMjE,EAAMjd,QAAUoe,EAAiB0C,EAAQ7D,EAAMiE,IAEvD,OADAjE,EAAMkE,OAAOD,EAAK,EAAGJ,IACd,CAEX,CAEA,OADA7D,EAAMkE,QAAQF,EAAa,EAAGH,IACvB,CACT,CACA,QAAIE,IACF/D,EAAMkE,OAAOF,EAAa,EAAGH,IACtB,EAGX,CACA,SAASrP,mBAAmBwL,EAAOoD,EAAUjC,GAC3C,OAlDF,SAASgD,kBAAkBnE,EAAOoD,GAChC,GAAqB,IAAjBpD,EAAMjd,OAAc,OAAOryC,EAC/B,IAAI+yD,EAAQzD,EAAM,GAClB,MAAM0D,EAAe,CAACD,GACtB,IAAK,IAAIvD,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAMkE,EAAOpE,EAAME,GACnB,OAAQkD,EAASgB,EAAMX,IAErB,KAAK,EAGL,KAAK,EACH,SACF,KAAM,EACJ,OAAOrwE,EAAMixE,KAAK,sBAEtBX,EAAa7C,KAAK4C,EAAQW,EAC5B,CACA,OAAOV,CACT,CA+BSS,CAAkBvL,SAASoH,EAAOoD,GAAWjC,GAAoBiC,GAAYp/D,4BACtF,CACA,SAAS9F,eAAe6kE,EAAQC,EAAQ7B,EAAmB5vD,cACzD,QAAe,IAAXwxD,QAAgC,IAAXC,EACvB,OAAOD,IAAWC,EAEpB,GAAID,EAAOhgB,SAAWigB,EAAOjgB,OAC3B,OAAO,EAET,IAAK,IAAImd,EAAI,EAAGA,EAAI6C,EAAOhgB,OAAQmd,IACjC,IAAKiB,EAAiB4B,EAAO7C,GAAI8C,EAAO9C,GAAIA,GAC1C,OAAO,EAGX,OAAO,CACT,CACA,SAAS/8D,QAAQ68D,GACf,IAAIG,EACJ,QAAc,IAAVH,EACF,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAM8B,EAAIhC,EAAME,IACZC,IAAW6B,KACb7B,IAAWA,EAASH,EAAM0B,MAAM,EAAGxB,IAC/B8B,GACF7B,EAAOU,KAAKmB,GAGlB,CAEF,OAAO7B,GAAUH,CACnB,CACA,SAAS3R,mBAAmBqS,EAAQC,EAAQyC,GAC1C,IAAKzC,IAAWD,GAA4B,IAAlBC,EAAO5d,QAAkC,IAAlB2d,EAAO3d,OAAc,OAAO4d,EAC7E,MAAMR,EAAS,GACfmE,EACE,IAAK,IAAIC,EAAU,EAAGC,EAAU,EAAGA,EAAU7D,EAAO5d,OAAQyhB,IAAW,CACjEA,EAAU,GACZpxE,EAAMqxE,yBAAyBrB,EAASzC,EAAO6D,GAAU7D,EAAO6D,EAAU,IAAK,GAEjFE,EACE,IAAK,MAAMC,EAASJ,EAASA,EAAU7D,EAAO3d,OAAQwhB,IAIpD,OAHIA,EAAUI,GACZvxE,EAAMqxE,yBAAyBrB,EAAS1C,EAAO6D,GAAU7D,EAAO6D,EAAU,IAAK,GAEzEnB,EAASzC,EAAO6D,GAAU9D,EAAO6D,KACvC,KAAM,EACJpE,EAAOU,KAAKF,EAAO6D,IACnB,SAASF,EACX,KAAK,EACH,SAASA,EACX,KAAK,EACH,SAASI,EAGnB,CACF,OAAOvE,CACT,CACA,SAASpiE,OAAO6mE,EAAIvE,GAClB,YAAc,IAAVA,EAAyBuE,OAClB,IAAPA,EAAsB,CAACvE,IAC3BuE,EAAG/D,KAAKR,GACDuE,EACT,CACA,SAAS9hE,QAAQ+hE,EAAIC,GACnB,YAAW,IAAPD,EAAsBC,OACf,IAAPA,EAAsBD,EACtB/qC,QAAQ+qC,GAAY/qC,QAAQgrC,GAAM7/D,YAAY4/D,EAAIC,GAAM/mE,OAAO8mE,EAAIC,GACnEhrC,QAAQgrC,GAAY/mE,OAAO+mE,EAAID,GAC5B,CAACA,EAAIC,EACd,CACA,SAASC,SAAS/E,EAAOgF,GACvB,OAAOA,EAAS,EAAIhF,EAAMjd,OAASiiB,EAASA,CAC9C,CACA,SAAS5nE,SAASwnE,EAAIK,EAAM3D,EAAO4D,GACjC,QAAa,IAATD,GAAmC,IAAhBA,EAAKliB,OAAc,OAAO6hB,EACjD,QAAW,IAAPA,EAAe,OAAOK,EAAKvD,MAAMJ,EAAO4D,GAC5C5D,OAAkB,IAAVA,EAAmB,EAAIyD,SAASE,EAAM3D,GAC9C4D,OAAc,IAARA,EAAiBD,EAAKliB,OAASgiB,SAASE,EAAMC,GACpD,IAAK,IAAIhF,EAAIoB,EAAOpB,EAAIgF,GAAOhF,EAAI+E,EAAKliB,OAAQmd,SAC9B,IAAZ+E,EAAK/E,IACP0E,EAAG/D,KAAKoE,EAAK/E,IAGjB,OAAO0E,CACT,CACA,SAAStY,aAAa0T,EAAOmF,EAAOhE,GAClC,OAAI/7D,SAAS46D,EAAOmF,EAAOhE,KAGzBnB,EAAMa,KAAKsE,IACJ,EAEX,CACA,SAASnnE,eAAegiE,EAAOmF,EAAOhE,GACpC,YAAc,IAAVnB,GACF1T,aAAa0T,EAAOmF,EAAOhE,GACpBnB,GAEA,CAACmF,EAEZ,CAIA,SAASvM,SAASoH,EAAOoD,GACvB,OAAwB,IAAjBpD,EAAMjd,OAAeryC,EAAasvD,EAAM0B,QAAQ6B,KAAKH,EAC9D,CACA,SAAU/kE,qBAAqB2hE,GAC7B,IAAK,IAAIE,EAAIF,EAAMjd,OAAS,EAAGmd,GAAK,EAAGA,UAC/BF,EAAME,EAEhB,CACA,SAASlT,YAAY+V,EAAQC,EAAQvC,EAAKyE,GACxC,KAAOzE,EAAMyE,GAAK,CAChB,GAAInC,EAAOtC,KAASuC,EAAOvC,GACzB,OAAO,EAETA,GACF,CACA,OAAO,CACT,CACA,IAAIzwD,EAAco1D,MAAMl0E,UAAUm0E,GAAK,CAACrF,EAAOgF,IAAoB,MAAThF,OAAgB,EAASA,EAAMqF,GAAGL,GAAU,CAAChF,EAAOgF,KAC5G,QAAc,IAAVhF,IACFgF,EAASD,SAAS/E,EAAOgF,IACZhF,EAAMjd,OACjB,OAAOid,EAAMgF,IAKnB,SAAShwD,iBAAiBgrD,GACxB,YAAiB,IAAVA,GAAqC,IAAjBA,EAAMjd,YAAe,EAASid,EAAM,EACjE,CACA,SAAS/qD,yBAAyBmrD,GAChC,QAAa,IAATA,EACF,IAAK,MAAMC,KAASD,EAClB,OAAOC,CAIb,CACA,SAAS1rD,MAAMqrD,GAEb,OADA5sE,EAAMkyE,OAAwB,IAAjBtF,EAAMjd,QACZid,EAAM,EACf,CACA,SAASlrD,cAAcsrD,GACrB,IAAK,MAAMC,KAASD,EAClB,OAAOC,EAETjtE,EAAMixE,KAAK,oBACb,CACA,SAASvhB,gBAAgBkd,GACvB,YAAiB,IAAVA,GAAqC,IAAjBA,EAAMjd,YAAe,EAASid,EAAMA,EAAMjd,OAAS,EAChF,CACA,SAASF,KAAKmd,GAEZ,OADA5sE,EAAMkyE,OAAwB,IAAjBtF,EAAMjd,QACZid,EAAMA,EAAMjd,OAAS,EAC9B,CACA,SAAS4Q,kBAAkBqM,GACzB,YAAiB,IAAVA,GAAqC,IAAjBA,EAAMjd,OAAeid,EAAM,QAAK,CAC7D,CACA,SAASzM,OAAOyM,GACd,OAAO5sE,EAAMmyE,aAAa5R,kBAAkBqM,GAC9C,CACA,SAAStM,aAAasM,GACpB,YAAiB,IAAVA,GAAqC,IAAjBA,EAAMjd,OAAeid,EAAM,GAAKA,CAC7D,CACA,SAAShR,eAAegR,EAAO2D,EAAOtD,GACpC,MAAMF,EAASH,EAAM0B,MAAM,GAE3B,OADAvB,EAAOwD,GAAStD,EACTF,CACT,CACA,SAASphE,aAAaihE,EAAOK,EAAOmF,EAAaC,EAAaT,GAC5D,OAAOhmE,gBAAgBghE,EAAOwF,EAAYnF,GAAQmF,EAAaC,EAAaT,EAC9E,CACA,SAAShmE,gBAAgBghE,EAAOoC,EAAKoD,EAAaC,EAAaT,GAC7D,IAAKzQ,KAAKyL,GACR,OAAQ,EAEV,IAAI0F,EAAMV,GAAU,EAChBW,EAAO3F,EAAMjd,OAAS,EAC1B,KAAO2iB,GAAOC,GAAM,CAClB,MAAMC,EAASF,GAAOC,EAAOD,GAAO,GAEpC,OAAQD,EADOD,EAAYxF,EAAM4F,GAASA,GACdxD,IAC1B,KAAM,EACJsD,EAAME,EAAS,EACf,MACF,KAAK,EACH,OAAOA,EACT,KAAK,EACHD,EAAOC,EAAS,EAGtB,CACA,OAAQF,CACV,CACA,SAAS5X,WAAWkS,EAAOO,EAAGC,EAASc,EAAOE,GAC5C,GAAIxB,GAASA,EAAMjd,OAAS,EAAG,CAC7B,MAAM8iB,EAAO7F,EAAMjd,OACnB,GAAI8iB,EAAO,EAAG,CACZ,IAAIpF,OAAgB,IAAVa,GAAoBA,EAAQ,EAAI,EAAIA,EAC9C,MAAM4D,OAAgB,IAAV1D,GAAoBf,EAAMe,EAAQqE,EAAO,EAAIA,EAAO,EAAIpF,EAAMe,EAC1E,IAAIrB,EAOJ,IANI2F,UAAU/iB,QAAU,GACtBod,EAASH,EAAMS,GACfA,KAEAN,EAASK,EAEJC,GAAOyE,GACZ/E,EAASI,EAAEJ,EAAQH,EAAMS,GAAMA,GAC/BA,IAEF,OAAON,CACT,CACF,CACA,OAAOK,CACT,CACA,IAAIrvE,EAAiBN,OAAOK,UAAUC,eACtC,SAAS+kC,YAAYisC,EAAMC,GACzB,OAAOjxE,EAAe40E,KAAK5D,EAAMC,EACnC,CACA,SAASx1C,YAAYu1C,EAAMC,GACzB,OAAOjxE,EAAe40E,KAAK5D,EAAMC,GAAOD,EAAKC,QAAO,CACtD,CACA,SAASh3C,WAAW+2C,GAClB,MAAM7xE,EAAO,GACb,IAAK,MAAM8xE,KAAOD,EACZhxE,EAAe40E,KAAK5D,EAAMC,IAC5B9xE,EAAKuwE,KAAKuB,GAGd,OAAO9xE,CACT,CACA,SAASooB,WAAWstD,GAClB,MAAM7F,EAAS,GACf,EAAG,CACD,MAAM8F,EAAQp1E,OAAOI,oBAAoB+0E,GACzC,IAAK,MAAM10E,KAAQ20E,EACjB3Z,aAAa6T,EAAQ7uE,EAEzB,OAAS00E,EAAMn1E,OAAOq1E,eAAeF,IACrC,OAAO7F,CACT,CACA,SAAS90C,aAAa86C,GACpB,MAAMC,EAAS,GACf,IAAK,MAAMhE,KAAO+D,EACZh1E,EAAe40E,KAAKI,EAAY/D,IAClCgE,EAAOvF,KAAKsF,EAAW/D,IAG3B,OAAOgE,CACT,CACA,SAAShoE,QAAQojE,EAAOjB,GACtB,MAAMJ,EAAS,IAAIiF,MAAM5D,GACzB,IAAK,IAAItB,EAAI,EAAGA,EAAIsB,EAAOtB,IACzBC,EAAOD,GAAKK,EAAEL,GAEhB,OAAOC,CACT,CACA,SAASliE,UAAUqiE,EAAU6B,GAC3B,MAAMhC,EAAS,GACf,IAAK,MAAME,KAASC,EAClBH,EAAOU,KAAKsB,EAAOA,EAAK9B,GAASA,GAEnC,OAAOF,CACT,CACA,SAASzhE,OAAO2nE,KAAMC,GACpB,IAAK,MAAMC,KAAOD,EAChB,QAAY,IAARC,EACJ,IAAK,MAAMC,KAAKD,EACVrwC,YAAYqwC,EAAKC,KACnBH,EAAEG,GAAKD,EAAIC,IAIjB,OAAOH,CACT,CACA,SAASj1D,mBAAmBq1D,EAAMC,EAAOvF,EAAmB5vD,cAC1D,GAAIk1D,IAASC,EAAO,OAAO,EAC3B,IAAKD,IAASC,EAAO,OAAO,EAC5B,IAAK,MAAMtE,KAAOqE,EAChB,GAAIt1E,EAAe40E,KAAKU,EAAMrE,GAAM,CAClC,IAAKjxE,EAAe40E,KAAKW,EAAOtE,GAAM,OAAO,EAC7C,IAAKjB,EAAiBsF,EAAKrE,GAAMsE,EAAMtE,IAAO,OAAO,CACvD,CAEF,IAAK,MAAMA,KAAOsE,EAChB,GAAIv1E,EAAe40E,KAAKW,EAAOtE,KACxBjxE,EAAe40E,KAAKU,EAAMrE,GAAM,OAAO,EAGhD,OAAO,CACT,CACA,SAAS9jE,WAAW0hE,EAAO2G,EAASC,EAAYrvC,UAC9C,MAAM4oC,EAAyB,IAAIJ,IACnC,IAAK,IAAIG,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAMG,EAAQL,EAAME,GACdkC,EAAMuE,EAAQtG,QACR,IAAR+B,GAAgBjC,EAAOmC,IAAIF,EAAKwE,EAAUvG,GAChD,CACA,OAAOF,CACT,CACA,SAAS3hE,kBAAkBwhE,EAAO2G,EAASC,EAAYrvC,UACrD,MAAM4oC,EAAS,GACf,IAAK,IAAID,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAAK,CACrC,MAAMG,EAAQL,EAAME,GACpBC,EAAOwG,EAAQtG,IAAUuG,EAAUvG,EACrC,CACA,OAAOF,CACT,CACA,SAAS5hE,gBAAgB6nE,EAAQO,EAASC,EAAYrvC,UACpD,MAAM4oC,EAASp1D,iBACf,IAAK,IAAIm1D,EAAI,EAAGA,EAAIkG,EAAOrjB,OAAQmd,IAAK,CACtC,MAAMG,EAAQ+F,EAAOlG,GACrBC,EAAOoC,IAAIoE,EAAQtG,GAAQuG,EAAUvG,GACvC,CACA,OAAOF,CACT,CACA,SAAS9rC,MAAM+xC,EAAQS,EAAYC,EAAiBvvC,UAClD,OAAOt5B,UAAUM,gBAAgB6nE,EAAQS,GAAYT,SAAUU,EACjE,CACA,SAASxyC,QAAQ8xC,EAAQZ,GACvB,MAAMrF,EAAS,CAAC,EAChB,QAAe,IAAXiG,EACF,IAAK,IAAIlG,EAAI,EAAGA,EAAIkG,EAAOrjB,OAAQmd,IAAK,CACtC,MAAMG,EAAQ+F,EAAOlG,GACfkC,EAAM,GAAGoD,EAAYnF,MACbF,EAAOiC,KAASjC,EAAOiC,GAAO,KACtCvB,KAAKR,EACb,CAEF,OAAOF,CACT,CACA,SAAS79D,MAAMykE,GACb,MAAM5G,EAAS,CAAC,EAChB,IAAK,MAAM3vE,KAAMu2E,EACX51E,EAAe40E,KAAKgB,EAAQv2E,KAC9B2vE,EAAO3vE,GAAMu2E,EAAOv2E,IAGxB,OAAO2vE,CACT,CACA,SAAS5tD,OAAOy0D,EAAQC,GACtB,MAAM9G,EAAS,CAAC,EAChB,IAAK,MAAM3vE,KAAMy2E,EACX91E,EAAe40E,KAAKkB,EAAQz2E,KAC9B2vE,EAAO3vE,GAAMy2E,EAAOz2E,IAGxB,IAAK,MAAMA,KAAMw2E,EACX71E,EAAe40E,KAAKiB,EAAQx2E,KAC9B2vE,EAAO3vE,GAAMw2E,EAAOx2E,IAGxB,OAAO2vE,CACT,CACA,SAAS75D,eAAe0gE,EAAQC,GAC9B,IAAK,MAAMz2E,KAAMy2E,EACX91E,EAAe40E,KAAKkB,EAAQz2E,KAC9Bw2E,EAAOx2E,GAAMy2E,EAAOz2E,GAG1B,CACA,SAAS+zD,UAAUyhB,EAAKkB,GACtB,OAAa,MAANA,OAAa,EAASA,EAAGC,KAAKnB,EACvC,CACA,SAASj7D,iBACP,MAAMo3D,EAAuB,IAAIpC,IAGjC,OAFAoC,EAAKI,IAAM6E,YACXjF,EAAKkF,OAASC,eACPnF,CACT,CACA,SAASiF,YAAYhF,EAAK/B,GACxB,IAAI+F,EAASmB,KAAKh2E,IAAI6wE,GAMtB,YALe,IAAXgE,EACFA,EAAOvF,KAAKR,GAEZkH,KAAKjF,IAAIF,EAAKgE,EAAS,CAAC/F,IAEnB+F,CACT,CACA,SAASkB,eAAelF,EAAK/B,GAC3B,MAAM+F,EAASmB,KAAKh2E,IAAI6wE,QACT,IAAXgE,IACF7I,oBAAoB6I,EAAQ/F,GACvB+F,EAAOrjB,QACVwkB,KAAKC,OAAOpF,GAGlB,CACA,SAASl2D,YAAYu7D,GACnB,MAAMC,GAAqB,MAATD,OAAgB,EAASA,EAAM/F,UAAY,GAC7D,IAAIiG,EAAY,EAChB,SAASC,UACP,OAAOD,IAAcD,EAAS3kB,MAChC,CAwBA,MAAO,CACL8kB,QAxBF,SAASA,WAAWC,GAClBJ,EAAS7G,QAAQiH,EACnB,EAuBEC,QAtBF,SAASA,UACP,GAAIH,UACF,MAAM,IAAIx3E,MAAM,kBAElB,MAAM+vE,EAASuH,EAASC,GAGxB,GAFAD,EAASC,QAAa,EACtBA,IACIA,EAAY,KAAOA,EAAYD,EAAS3kB,QAAU,EAAG,CACvD,MAAMilB,EAAYN,EAAS3kB,OAAS4kB,EACpCD,EAASO,WAEP,EAEAN,GAEFD,EAAS3kB,OAASilB,EAClBL,EAAY,CACd,CACA,OAAOxH,CACT,EAIEyH,QAEJ,CACA,SAASn7D,UAAUy7D,EAAaC,GAC9B,MAAMC,EAA2B,IAAIrI,IACrC,IAAI8F,EAAO,EACX,SAAUwC,qBACR,IAAK,MAAMhI,KAAS+H,EAAShC,SACvBtsC,QAAQumC,SACHA,QAEDA,CAGZ,CACA,MAAMiC,EAAM,CACV,GAAAD,CAAItB,GACF,MAAMuH,EAAOJ,EAAYnH,GACzB,IAAKqH,EAAS/F,IAAIiG,GAAO,OAAO,EAChC,MAAMC,EAAaH,EAAS72E,IAAI+2E,GAChC,OAAIxuC,QAAQyuC,GAAoBnjE,SAASmjE,EAAYxH,EAASoH,GACvDA,EAAOI,EAAYxH,EAC5B,EACA,GAAAwB,CAAIxB,GACF,MAAMuH,EAAOJ,EAAYnH,GACzB,GAAIqH,EAAS/F,IAAIiG,GAAO,CACtB,MAAMlC,EAASgC,EAAS72E,IAAI+2E,GAC5B,GAAIxuC,QAAQssC,GACLhhE,SAASghE,EAAQrF,EAASoH,KAC7B/B,EAAOvF,KAAKE,GACZ8E,SAEG,CACL,MAAMxF,EAAQ+F,EACT+B,EAAO9H,EAAOU,KACjBqH,EAAS9F,IAAIgG,EAAM,CAACjI,EAAOU,IAC3B8E,IAEJ,CACF,MACEuC,EAAS9F,IAAIgG,EAAMvH,GACnB8E,IAEF,OAAO0B,IACT,EACA,OAAOxG,GACL,MAAMuH,EAAOJ,EAAYnH,GACzB,IAAKqH,EAAS/F,IAAIiG,GAAO,OAAO,EAChC,MAAMC,EAAaH,EAAS72E,IAAI+2E,GAChC,GAAIxuC,QAAQyuC,IACV,IAAK,IAAIrI,EAAI,EAAGA,EAAIqI,EAAWxlB,OAAQmd,IACrC,GAAIiI,EAAOI,EAAWrI,GAAIa,GASxB,OAR0B,IAAtBwH,EAAWxlB,OACbqlB,EAASZ,OAAOc,GACe,IAAtBC,EAAWxlB,OACpBqlB,EAAS9F,IAAIgG,EAAMC,EAAW,EAAIrI,IAElCsI,sBAAsBD,EAAYrI,GAEpC2F,KACO,MAGN,CAEL,GAAIsC,EADcI,EACIxH,GAGpB,OAFAqH,EAASZ,OAAOc,GAChBzC,KACO,CAEX,CACA,OAAO,CACT,EACA,KAAA3jE,GACEkmE,EAASlmE,QACT2jE,EAAO,CACT,EACA,QAAIA,GACF,OAAOA,CACT,EACA,OAAAlwD,CAAQ8yD,GACN,IAAK,MAAMf,KAAYzpE,UAAUmqE,EAAShC,UACxC,GAAItsC,QAAQ4tC,GACV,IAAK,MAAM3G,KAAW2G,EACpBe,EAAO1H,EAASA,EAASuB,OAEtB,CAELmG,EADgBf,IACSpF,EAC3B,CAEJ,EACAhyE,KAAI,IACK+3E,qBAETjC,OAAM,IACGiC,qBAET,QAACK,GACC,IAAK,MAAMrI,KAASgI,0BACZ,CAAChI,EAAOA,EAElB,EACA,CAACsI,OAAOrI,UAAW,IACV+H,qBAET,CAACM,OAAOC,aAAcR,EAASO,OAAOC,cAExC,OAAOtG,CACT,CACA,SAASxoC,QAAQumC,GACf,OAAO+E,MAAMtrC,QAAQumC,EACvB,CACA,SAAShI,QAAQgI,GACf,OAAOvmC,QAAQumC,GAASA,EAAQ,CAACA,EACnC,CACA,SAASjkB,SAASglB,GAChB,MAAuB,iBAATA,CAChB,CACA,SAASrsB,SAAS+sB,GAChB,MAAoB,iBAANA,CAChB,CACA,SAAS9G,QAAQqF,EAAOwI,GACtB,YAAiB,IAAVxI,GAAoBwI,EAAKxI,GAASA,OAAQ,CACnD,CACA,SAASv/D,KAAKu/D,EAAOwI,GACnB,YAAc,IAAVxI,GAAoBwI,EAAKxI,GAAeA,EACrCjtE,EAAMixE,KAAK,oCAAoChE,4BAAgCjtE,EAAM01E,gBAAgBD,OAC9G,CACA,SAAShhB,KAAKqb,GACd,CACA,SAASpT,cACP,OAAO,CACT,CACA,SAASE,aACP,OAAO,CACT,CACA,SAASC,kBAET,CACA,SAAS14B,SAASuqC,GAChB,OAAOA,CACT,CACA,SAASiH,YAAYjH,GACnB,OAAOA,EAAEiH,aACX,CACA,IAAIC,EAA0B,yCAC9B,SAASvQ,oBAAoBqJ,GAC3B,OAAOkH,EAAwBH,KAAK/G,GAAKA,EAAEmH,QAAQD,EAAyBD,aAAejH,CAC7F,CACA,SAAS3Z,iBACP,MAAM,IAAI/3D,MAAM,kBAClB,CACA,SAASq0D,QAAQwb,GACf,IAAII,EACJ,MAAO,KACDJ,IACFI,EAAQJ,IACRA,OAAW,GAENI,EAEX,CACA,SAAS3b,WAAWub,GAClB,MAAMkC,EAAuB,IAAIpC,IACjC,OAAQwG,IACN,MAAMnE,EAAM,UAAUmE,KAAOA,IAC7B,IAAIlG,EAAQ8B,EAAK5wE,IAAI6wE,GAKrB,YAJc,IAAV/B,GAAqB8B,EAAKE,IAAID,KAChC/B,EAAQJ,EAASsG,GACjBpE,EAAKG,IAAIF,EAAK/B,IAETA,EAEX,CACA,IAAIzuE,EAAiC,CAAEs3E,IACrCA,EAAgBA,EAAsB,KAAI,GAAK,OAC/CA,EAAgBA,EAAwB,OAAI,GAAK,SACjDA,EAAgBA,EAA4B,WAAI,GAAK,aACrDA,EAAgBA,EAAgC,eAAI,GAAK,iBAClDA,GAL4B,CAMlCt3E,GAAkB,CAAC,GACtB,SAAS2f,aAAa43D,EAAGC,GACvB,OAAOD,IAAMC,CACf,CACA,SAAS/3D,6BAA6B83D,EAAGC,GACvC,OAAOD,IAAMC,QAAW,IAAND,QAAsB,IAANC,GAAgBD,EAAEE,gBAAkBD,EAAEC,aAC1E,CACA,SAAS/3D,2BAA2B63D,EAAGC,GACrC,OAAO73D,aAAa43D,EAAGC,EACzB,CACA,SAASE,wBAAwBH,EAAGC,GAClC,OAAOD,IAAMC,EAAI,OAAwB,IAAND,GAAgB,OAAyB,IAANC,EAAe,EAAsBD,EAAIC,GAAK,EAAmB,CACzI,CACA,SAASjlE,cAAcglE,EAAGC,GACxB,OAAOE,wBAAwBH,EAAGC,EACpC,CACA,SAASllE,iBAAiBilE,EAAGC,GAC3B,OAAOjlE,cAAmB,MAALglE,OAAY,EAASA,EAAE7H,MAAY,MAAL8H,OAAY,EAASA,EAAE9H,QAAUn9D,cAAmB,MAALglE,OAAY,EAASA,EAAEpmB,OAAa,MAALqmB,OAAY,EAASA,EAAErmB,OAC1J,CACA,SAASuB,MAAMse,EAAK2G,EAAMC,GACxB,IAAK,IAAItJ,EAAI,EAAGA,EAAI0C,EAAI7f,OAAQmd,IAC9BqJ,EAAOE,KAAKC,IAAIH,EAAMC,EAAO5G,EAAI1C,KAEnC,OAAOqJ,CACT,CACA,SAAS5kB,IAAI8iB,EAAO3D,GAClB,OAAOhW,WAAW2Z,EAAO,CAAC3F,EAAG0B,KAAyB,IAAnBM,EAAQhC,EAAG0B,GAA2B1B,EAAI0B,EAC/E,CACA,SAAS1/D,8BAA8BqlE,EAAGC,GACxC,OAAID,IAAMC,EAAU,OACV,IAAND,GAAsB,OAChB,IAANC,EAAqB,GACzBD,EAAIA,EAAEE,gBACND,EAAIA,EAAEC,gBACU,EAAmBF,EAAIC,EAAI,EAAsB,CACnE,CACA,SAASrlE,8CAA8ColE,EAAGC,GACxD,OAAID,IAAMC,EAAU,OACV,IAAND,GAAsB,OAChB,IAANC,EAAqB,GACzBD,EAAIA,EAAEJ,gBACNK,EAAIA,EAAEL,gBACU,EAAmBI,EAAIC,EAAI,EAAsB,CACnE,CACA,SAASplE,4BAA4BmlE,EAAGC,GACtC,OAAOE,wBAAwBH,EAAGC,EACpC,CACA,SAASz4C,kBAAkBg5C,GACzB,OAAOA,EAAa7lE,8BAAgCE,2BACtD,CACA,IAcI4lE,EACAC,EAfAC,EAAyC,KAS3C,SAASC,iCAAiCC,GACxC,MAAM5G,EAAW,IAAI6G,KAAKC,SAASF,EAAQ,CAAEG,MAAO,OAAQC,YAAa,UAAWC,SAAS,IAAQvG,QACrG,MAAO,CAACqF,EAAGC,IATb,SAASkB,oBAAoBnB,EAAGC,EAAGhG,GACjC,GAAI+F,IAAMC,EAAG,OAAO,EACpB,QAAU,IAAND,EAAc,OAAQ,EAC1B,QAAU,IAANC,EAAc,OAAO,EACzB,MAAM/I,EAAQ+C,EAAS+F,EAAGC,GAC1B,OAAO/I,EAAQ,GAAK,EAAmBA,EAAQ,EAAI,EAAsB,CAC3E,CAGmBiK,CAAoBnB,EAAGC,EAAGhG,EAC7C,EAZ2C,GAgB7C,SAASrvC,cACP,OAAO81C,CACT,CACA,SAAS/W,YAAYuN,GACfwJ,IAAaxJ,IACfwJ,EAAWxJ,EACXuJ,OAA0B,EAE9B,CACA,SAAS3lE,8BAA8BklE,EAAGC,GAExC,OADAQ,IAA4BA,EAA0BE,EAAuBD,IACtED,EAAwBT,EAAGC,EACpC,CACA,SAASvlE,kBAAkBslE,EAAGC,EAAGhH,EAAKgB,GACpC,OAAO+F,IAAMC,EAAI,OAAwB,IAAND,GAAgB,OAAyB,IAANC,EAAe,EAAsBhG,EAAS+F,EAAE/G,GAAMgH,EAAEhH,GAChI,CACA,SAASh/D,gBAAgB+lE,EAAGC,GAC1B,OAAOjlE,cAAcglE,EAAI,EAAI,EAAGC,EAAI,EAAI,EAC1C,CACA,SAAS/4C,sBAAsB/+B,EAAMi3E,EAAYgC,GAC/C,MAAMC,EAA0Bf,KAAKC,IAAI,EAAGD,KAAKgB,MAAoB,IAAdn5E,EAAKyxD,SAC5D,IACI2nB,EADAC,EAAelB,KAAKgB,MAAoB,GAAdn5E,EAAKyxD,QAAgB,EAEnD,IAAK,MAAM6nB,KAAarC,EAAY,CAClC,MAAMsC,EAAgBN,EAAQK,GAC9B,QAAsB,IAAlBC,GAA4BpB,KAAKqB,IAAID,EAAc9nB,OAASzxD,EAAKyxD,SAAWynB,EAAyB,CACvG,GAAIK,IAAkBv5E,EACpB,SAEF,GAAIu5E,EAAc9nB,OAAS,GAAK8nB,EAAc9B,gBAAkBz3E,EAAKy3E,cACnE,SAEF,MAAMgC,EAAWC,mBAAmB15E,EAAMu5E,EAAeF,EAAe,IACxE,QAAiB,IAAbI,EACF,SAEF33E,EAAMkyE,OAAOyF,EAAWJ,GACxBA,EAAeI,EACfL,EAAgBE,CAClB,CACF,CACA,OAAOF,CACT,CACA,SAASM,mBAAmBC,EAAIC,EAAIxB,GAClC,IAAIyB,EAAW,IAAI/F,MAAM8F,EAAGnoB,OAAS,GACjCqoB,EAAU,IAAIhG,MAAM8F,EAAGnoB,OAAS,GACpC,MAAMsoB,EAAM3B,EAAM,IAClB,IAAK,IAAIxJ,EAAI,EAAGA,GAAKgL,EAAGnoB,OAAQmd,IAC9BiL,EAASjL,GAAKA,EAEhB,IAAK,IAAIA,EAAI,EAAGA,GAAK+K,EAAGloB,OAAQmd,IAAK,CACnC,MAAMoL,EAAKL,EAAG1J,WAAWrB,EAAI,GACvBqL,EAAO9B,KAAK+B,KAAKtL,EAAIwJ,EAAMxJ,EAAIwJ,EAAM,GACrC+B,EAAOhC,KAAKgB,MAAMS,EAAGnoB,OAAS2mB,EAAMxJ,EAAIwJ,EAAMxJ,EAAIgL,EAAGnoB,QAC3DqoB,EAAQ,GAAKlL,EACb,IAAIwL,EAASxL,EACb,IAAK,IAAIyL,EAAI,EAAGA,EAAIJ,EAAMI,IACxBP,EAAQO,GAAKN,EAEf,IAAK,IAAIM,EAAIJ,EAAMI,GAAKF,EAAME,IAAK,CACjC,MAAMC,EAAuBX,EAAG/K,EAAI,GAAG6I,gBAAkBmC,EAAGS,EAAI,GAAG5C,cAAgBoC,EAASQ,EAAI,GAAK,GAAMR,EAASQ,EAAI,GAAK,EACvHE,EAAOP,IAAOJ,EAAG3J,WAAWoK,EAAI,GAAKR,EAASQ,EAAI,GAAKlC,KAAK9kB,IAEhEwmB,EAASQ,GAAK,EAEdP,EAAQO,EAAI,GAAK,EAEjBC,GAEFR,EAAQO,GAAKE,EACbH,EAASjC,KAAK9kB,IAAI+mB,EAAQG,EAC5B,CACA,IAAK,IAAIF,EAAIF,EAAO,EAAGE,GAAKT,EAAGnoB,OAAQ4oB,IACrCP,EAAQO,GAAKN,EAEf,GAAIK,EAAShC,EACX,OAEF,MAAMoC,EAAOX,EACbA,EAAWC,EACXA,EAAUU,CACZ,CACA,MAAMC,EAAMZ,EAASD,EAAGnoB,QACxB,OAAOgpB,EAAMrC,OAAM,EAASqC,CAC9B,CACA,SAASj7D,SAASk7D,EAAKC,EAAQtC,GAC7B,MAAMuC,EAAcF,EAAIjpB,OAASkpB,EAAOlpB,OACxC,OAAOmpB,GAAe,IAAMvC,EAAat4D,6BAA6B26D,EAAItK,MAAMwK,GAAcD,GAAUD,EAAIG,QAAQF,EAAQC,KAAiBA,EAC/I,CACA,SAASrd,aAAamd,EAAKC,GACzB,OAAOn7D,SAASk7D,EAAKC,GAAUD,EAAItK,MAAM,EAAGsK,EAAIjpB,OAASkpB,EAAOlpB,QAAUipB,CAC5E,CACA,SAASrP,gBAAgBqP,EAAKC,GAC5B,OAAOn7D,SAASk7D,EAAKC,GAAUD,EAAItK,MAAM,EAAGsK,EAAIjpB,OAASkpB,EAAOlpB,aAAU,CAC5E,CACA,SAAS4L,2BAA2Byd,GAClC,IAAIlH,EAAMkH,EAASrpB,OACnB,IAAK,IAAI0d,EAAMyE,EAAM,EAAGzE,EAAM,EAAGA,IAAO,CACtC,IAAI4L,EAAKD,EAAS7K,WAAWd,GAC7B,GAAI4L,GAAM,IAAeA,GAAM,GAC7B,KACI5L,EACF4L,EAAKD,EAAS7K,WAAWd,SAClBA,EAAM,GAAK4L,GAAM,IAAeA,GAAM,QAC1C,MAAI5L,EAAM,IAAa,MAAP4L,GAA6B,KAAPA,EAc3C,MAXA,KAFE5L,EACF4L,EAAKD,EAAS7K,WAAWd,GACd,MAAP4L,GAA6B,KAAPA,EACxB,MAIF,KAFE5L,EACF4L,EAAKD,EAAS7K,WAAWd,GACd,MAAP4L,GAA6B,KAAPA,EACxB,QAEA5L,EACF4L,EAAKD,EAAS7K,WAAWd,EAG3B,CACA,GAAW,KAAP4L,GAAgC,KAAPA,EAC3B,MAEFnH,EAAMzE,CACR,CACA,OAAOyE,IAAQkH,EAASrpB,OAASqpB,EAAWA,EAAS1K,MAAM,EAAGwD,EAChE,CACA,SAASjc,kBAAkB+W,EAAO2B,GAChC,IAAK,IAAIzB,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChC,GAAIF,EAAME,KAAOyB,EAEf,OADAzY,oBAAoB8W,EAAOE,IACpB,EAGX,OAAO,CACT,CACA,SAAShX,oBAAoB8W,EAAO2D,GAClC,IAAK,IAAIzD,EAAIyD,EAAOzD,EAAIF,EAAMjd,OAAS,EAAGmd,IACxCF,EAAME,GAAKF,EAAME,EAAI,GAEvBF,EAAMsM,KACR,CACA,SAAS9D,sBAAsBxI,EAAO2D,GACpC3D,EAAM2D,GAAS3D,EAAMA,EAAMjd,OAAS,GACpCid,EAAMsM,KACR,CACA,SAAS/O,oBAAoByC,EAAO2B,GAClC,OAEF,SAAS4K,8BAA8BvM,EAAOiB,GAC5C,IAAK,IAAIf,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChC,GAAIe,EAAUjB,EAAME,IAElB,OADAsI,sBAAsBxI,EAAOE,IACtB,EAGX,OAAO,CACT,CAVSqM,CAA8BvM,EAAQe,GAAYA,IAAYY,EACvE,CAUA,SAASh4D,2BAA2B6iE,GAClC,OAAOA,EAA6Bj1C,SAAWkhC,mBACjD,CACA,SAAStN,aAAY,OAAEshB,EAAM,OAAER,IAC7B,MAAO,GAAGQ,KAAUR,GACtB,CACA,SAAS9nB,YAAYuoB,EAAS9B,GAE5B,OADAx3E,EAAMkyE,OAAOpuB,eAAew1B,EAAS9B,IAC9BA,EAAU+B,UAAUD,EAAQD,OAAO1pB,OAAQ6nB,EAAU7nB,OAAS2pB,EAAQT,OAAOlpB,OACtF,CACA,SAASzvC,qBAAqB8yD,EAAQwG,EAAYhC,GAChD,IAAIiC,EACAC,GAA4B,EAChC,IAAK,IAAI5M,EAAI,EAAGA,EAAIkG,EAAOrjB,OAAQmd,IAAK,CACtC,MAAM8B,EAAIoE,EAAOlG,GACXwM,EAAUE,EAAW5K,GACvB0K,EAAQD,OAAO1pB,OAAS+pB,GAA4B51B,eAAew1B,EAAS9B,KAC9EkC,EAA2BJ,EAAQD,OAAO1pB,OAC1C8pB,EAAe7K,EAEnB,CACA,OAAO6K,CACT,CACA,SAASzX,WAAW4W,EAAKS,EAAQ9C,GAC/B,OAAOA,EAAat4D,6BAA6B26D,EAAItK,MAAM,EAAG+K,EAAO1pB,QAAS0pB,GAAyC,IAA/BT,EAAIe,YAAYN,EAAQ,EAClH,CACA,SAAS7d,aAAaod,EAAKS,GACzB,OAAOrX,WAAW4W,EAAKS,GAAUT,EAAIgB,OAAOP,EAAO1pB,QAAUipB,CAC/D,CACA,SAAStP,gBAAgBsP,EAAKS,EAAQQ,EAAuB11C,UAC3D,OAAO69B,WAAW6X,EAAqBjB,GAAMiB,EAAqBR,IAAWT,EAAIW,UAAUF,EAAO1pB,aAAU,CAC9G,CACA,SAAS7L,gBAAe,OAAEu1B,EAAM,OAAER,GAAUrB,GAC1C,OAAOA,EAAU7nB,QAAU0pB,EAAO1pB,OAASkpB,EAAOlpB,QAAUqS,WAAWwV,EAAW6B,IAAW37D,SAAS85D,EAAWqB,EACnH,CACA,SAASnuE,IAAIyiE,EAAG2M,GACd,OAAQ3G,GAAQhG,EAAEgG,IAAQ2G,EAAE3G,EAC9B,CACA,SAASvd,MAAMmkB,GACb,MAAO,IAAI7G,KACT,IAAI8G,EACJ,IAAK,MAAM7M,KAAK4M,EAEd,GADAC,EAAa7M,KAAK+F,GACd8G,EACF,OAAOA,EAGX,OAAOA,EAEX,CACA,SAASllB,IAAIgf,GACX,MAAO,IAAIZ,KAAUY,KAAMZ,EAC7B,CACA,SAAS7nE,WAAWykE,GACpB,CACA,SAAS1P,mBAAmB6S,GAC1B,YAAa,IAANA,OAAe,EAAS,CAACA,EAClC,CACA,SAASl1D,2BAA2Bk8D,EAAUC,EAAUlK,EAAUmK,EAAUC,EAASC,GACnFA,IAAcA,EAAY5lB,MAC1B,IAAI6lB,EAAW,EACXC,EAAW,EACf,MAAMC,EAASP,EAAStqB,OAClB8qB,EAASP,EAASvqB,OACxB,IAAI+qB,GAAa,EACjB,KAAOJ,EAAWE,GAAUD,EAAWE,GAAQ,CAC7C,MAAME,EAAUV,EAASK,GACnBM,EAAUV,EAASK,GACnBM,EAAgB7K,EAAS2K,EAASC,IACjB,IAAnBC,GACFV,EAASQ,GACTL,IACAI,GAAa,GACc,IAAlBG,GACTT,EAAQQ,GACRL,IACAG,GAAa,IAEbL,EAAUO,EAASD,GACnBL,IACAC,IAEJ,CACA,KAAOD,EAAWE,GAChBL,EAASF,EAASK,MAClBI,GAAa,EAEf,KAAOH,EAAWE,GAChBL,EAAQF,EAASK,MACjBG,GAAa,EAEf,OAAOA,CACT,CACA,SAASjtE,iBAAiBqtE,GACxB,MAAM/N,EAAS,GAQf,OAPAgO,uBACED,EACA/N,OAEA,EACA,GAEKA,CACT,CACA,SAASgO,uBAAuBD,EAAQ/N,EAAQiO,EAAOzK,GACrD,IAAK,MAAM5C,KAAWmN,EAAOvK,GAAQ,CACnC,IAAI0K,EACAD,GACFC,EAAQD,EAAM1M,QACd2M,EAAMxN,KAAKE,IAEXsN,EAAQ,CAACtN,GAEP4C,IAAUuK,EAAOnrB,OAAS,EAC5Bod,EAAOU,KAAKwN,GAEZF,uBAAuBD,EAAQ/N,EAAQkO,EAAO1K,EAAQ,EAE1D,CACF,CACA,SAASjN,UAAUsJ,EAAOiB,GACxB,QAAc,IAAVjB,EAAkB,CACpB,MAAMyB,EAAMzB,EAAMjd,OAClB,IAAI4gB,EAAQ,EACZ,KAAOA,EAAQlC,GAAOR,EAAUjB,EAAM2D,KACpCA,IAEF,OAAO3D,EAAM0B,MAAM,EAAGiC,EACxB,CACF,CACA,SAAStP,UAAU2L,EAAOiB,GACxB,QAAc,IAAVjB,EAAkB,CACpB,MAAMyB,EAAMzB,EAAMjd,OAClB,IAAI4gB,EAAQ,EACZ,KAAOA,EAAQlC,GAAOR,EAAUjB,EAAM2D,KACpCA,IAEF,OAAO3D,EAAM0B,MAAMiC,EACrB,CACF,CACA,SAASvvB,mBACP,MAA0B,oBAAZk6B,WAA6BA,QAAQC,WAAaD,QAAQE,UAAW,CACrF,CAGA,IAQIp7E,EARA0D,EAA2B,CAAE23E,IAC/BA,EAAUA,EAAe,IAAI,GAAK,MAClCA,EAAUA,EAAiB,MAAI,GAAK,QACpCA,EAAUA,EAAmB,QAAI,GAAK,UACtCA,EAAUA,EAAgB,KAAI,GAAK,OACnCA,EAAUA,EAAmB,QAAI,GAAK,UAC/BA,GANsB,CAO5B33E,GAAY,CAAC,GAEhB,CAAE43E,IACA,IAAIC,EAAwB,EAG5B,SAASC,UAAUC,GACjB,OAAOH,EAAOI,iBAAmBD,CACnC,CAEA,SAASE,WAAWF,EAAOG,GACrBN,EAAOO,aAAeL,UAAUC,IAClCH,EAAOO,YAAYC,IAAIL,EAAOG,EAElC,CACA,SAASE,IAAIF,GACXD,WAAW,EAAcC,EAC3B,CAEA,IAAEG,EAfFT,EAAOI,gBAAkB,EACzBJ,EAAOU,aAAc,EAIrBV,EAAOE,UAAYA,UASnBF,EAAOQ,IAAMA,KACXC,EAiBCD,IAAMR,EAAOQ,MAAQR,EAAOQ,IAAM,CAAC,IAb/BG,MAHL,SAASC,OAAON,GACdD,WAAW,EAAeC,EAC5B,EAKAG,EAAKI,KAHL,SAASA,KAAKP,GACZD,WAAW,EAAiBC,EAC9B,EAKAG,EAAKD,IAHL,SAASM,KAAKR,GACZD,WAAW,EAAcC,EAC3B,EAKAG,EAAKnW,MAHL,SAASyW,OAAOT,GACdD,WAAW,EAAiBC,EAC9B,EAGF,MAAMU,EAAiB,CAAC,EAmBxB,SAASC,aAAad,GACpB,OAAOF,GAAyBE,CAClC,CAEA,SAASe,qBAAqBf,EAAOv9E,GACnC,QAAKq+E,aAAad,KAChBa,EAAep+E,GAAQ,CAAEu9E,QAAOgB,UAAWnB,EAAOp9E,IAClDo9E,EAAOp9E,GAAQu2D,MACR,EAGX,CACA,SAASwc,KAAKyL,EAASC,GAErB,MAAM5/E,EAAI,IAAIC,MAAM0/E,EAAU,kBAAkBA,IAAY,kBAI5D,MAHI1/E,MAAM4/E,mBACR5/E,MAAM4/E,kBAAkB7/E,EAAG4/E,GAAkB1L,MAEzCl0E,CACR,CAUA,SAASm1E,OAAO2K,EAAYH,EAASI,EAAkBH,GAChDE,IACHH,EAAUA,EAAU,qBAAqBA,IAAY,oBACjDI,IACFJ,GAAW,mCAAiE,iBAArBI,EAAgCA,EAAmBA,MAE5G7L,KAAKyL,EAASC,GAAkBzK,QAEpC,CA2BA,SAAS6K,gBAAgB9P,EAAOyP,EAASC,GACnC1P,SACFgE,KAAKyL,EAASC,GAAkBI,gBAEpC,CAOA,SAASC,oBAAoB/P,EAAOyP,EAASC,GAC3C,IAAK,MAAM/N,KAAK3B,EACd8P,gBAAgBnO,EAAG8N,EAASC,GAAkBK,oBAElD,CAOA,SAASC,YAAYC,EAAQR,EAAU,iBAAkBC,GAEvD,OAAO1L,KAAK,GAAGyL,KADkB,iBAAXQ,GAAuBp6C,YAAYo6C,EAAQ,SAAWp6C,YAAYo6C,EAAQ,OAAS,eAAiBC,iBAAiBD,EAAOE,MAAQC,KAAKC,UAAUJ,KACrIP,GAAkBM,YACxD,CAoEA,SAASM,KAAKC,GACd,CAEA,SAAS9H,gBAAgB+H,GACvB,GAAoB,mBAATA,EACT,MAAO,GACF,GAAI36C,YAAY26C,EAAM,QAC3B,OAAOA,EAAKv/E,KACP,CACL,MAAM8vE,EAAO0P,SAAS5/E,UAAU6/E,SAAShL,KAAK8K,GACxCG,EAAQ,4BAA4BC,KAAK7P,GAC/C,OAAO4P,EAAQA,EAAM,GAAK,EAC5B,CACF,CAMA,SAASE,WAAW7Q,EAAQ,EAAG8Q,EAAYC,GACzC,MAAMC,EA8BR,SAASC,eAAeH,GACtB,MAAMI,EAAWC,EAAgBjgF,IAAI4/E,GACrC,GAAII,EACF,OAAOA,EAET,MAAMpR,EAAS,GACf,IAAK,MAAM7uE,KAAQ6/E,EAAY,CAC7B,MAAM9Q,EAAQ8Q,EAAW7/E,GACJ,iBAAV+uE,GACTF,EAAOU,KAAK,CAACR,EAAO/uE,GAExB,CACA,MAAMmgF,EAAS7Y,SAASuH,EAAQ,CAAC2B,EAAG0B,IAAMr/D,cAAc29D,EAAE,GAAI0B,EAAE,KAEhE,OADAgO,EAAgBlP,IAAI6O,EAAYM,GACzBA,CACT,CA7CkBH,CAAeH,GAC/B,GAAc,IAAV9Q,EACF,OAAOgR,EAAQtuB,OAAS,GAAuB,IAAlBsuB,EAAQ,GAAG,GAAWA,EAAQ,GAAG,GAAK,IAErE,GAAID,EAAS,CACX,MAAMjR,EAAS,GACf,IAAIuR,EAAiBrR,EACrB,IAAK,MAAOsR,EAAWC,KAAaP,EAAS,CAC3C,GAAIM,EAAYtR,EACd,MAEgB,IAAdsR,GAAmBA,EAAYtR,IACjCF,EAAOU,KAAK+Q,GACZF,IAAmBC,EAEvB,CACA,GAAuB,IAAnBD,EACF,OAAOvR,EAAO0R,KAAK,IAEvB,MACE,IAAK,MAAOF,EAAWC,KAAaP,EAClC,GAAIM,IAActR,EAChB,OAAOuR,EAIb,OAAOvR,EAAM0Q,UACf,CA3NArC,EAAOoD,kBAHP,SAASA,oBACP,OAAOnD,CACT,EAeAD,EAAOqD,kBAbP,SAASA,kBAAkBlD,GACzB,MAAMmD,EAAqBrD,EAE3B,GADAA,EAAwBE,EACpBA,EAAQmD,EACV,IAAK,MAAM5P,KAAOh3C,WAAWskD,GAAiB,CAC5C,MAAMuC,EAAavC,EAAetN,QACf,IAAf6P,GAAyBvD,EAAOtM,KAAS6P,EAAWpC,WAAahB,GAASoD,EAAWpD,QACvFH,EAAOtM,GAAO6P,EACdvC,EAAetN,QAAO,EAE1B,CAEJ,EAKAsM,EAAOiB,aAAeA,aAiBtBjB,EAAOrK,KAAOA,KAQdqK,EAAOwD,kBAPP,SAASA,kBAAkBC,EAAMrC,EAASC,GACxC,OAAO1L,KACL,GAAGyL,GAAW,8BACbS,iBAAiB4B,EAAK3B,wBACvBT,GAAkBmC,kBAEtB,EAWAxD,EAAOpJ,OAASA,OAOhBoJ,EAAO9N,YANP,SAASA,YAAYuI,EAAGC,EAAGgJ,EAAKC,EAAMtC,GACpC,GAAI5G,IAAMC,EAAG,CAEX/E,KAAK,YAAY8E,SAASC,MADVgJ,EAAMC,EAAO,GAAGD,KAAOC,IAASD,EAAM,KACXrC,GAAkBnP,YAC/D,CACF,EAOA8N,EAAO4D,eALP,SAASA,eAAenJ,EAAGC,EAAGgJ,EAAKrC,GAC7B5G,GAAKC,GACP/E,KAAK,YAAY8E,OAAOC,MAAMgJ,GAAO,KAAMrC,GAAkBuC,eAEjE,EAOA5D,EAAO6D,sBALP,SAASA,sBAAsBpJ,EAAGC,EAAG2G,GAC/B5G,EAAIC,GACN/E,KAAK,YAAY8E,QAAQC,IAAK2G,GAAkBwC,sBAEpD,EAOA7D,EAAOjK,yBALP,SAASA,yBAAyB0E,EAAGC,EAAG2G,GAClC5G,EAAIC,GACN/E,KAAK,YAAY8E,QAAQC,IAAK2G,GAAkBtL,yBAEpD,EAOAiK,EAAOyB,gBAAkBA,gBAKzBzB,EAAOnJ,aAJP,SAASA,aAAalF,EAAOyP,EAASC,GAEpC,OADAI,gBAAgB9P,EAAOyP,EAASC,GAAkBxK,cAC3ClF,CACT,EAOAqO,EAAO0B,oBAAsBA,oBAK7B1B,EAAO8D,iBAJP,SAASA,iBAAiBnS,EAAOyP,EAASC,GAExC,OADAK,oBAAoB/P,EAAOyP,EAASC,GAAkByC,kBAC/CnS,CACT,EAMAqO,EAAO2B,YAAcA,YAWrB3B,EAAO+D,eAVP,SAASA,eAAeC,EAAO7J,EAAMiH,EAASC,GACxCH,qBAAqB,EAAgB,mBACvCtK,YACW,IAATuD,GAAmB92D,MAAM2gE,EAAO7J,GAChCiH,GAAW,mBACX,IAAM,iCAAiChH,gBAAgBD,OACvDkH,GAAkB0C,eAGxB,EAYA/D,EAAOiE,WAVP,SAASA,WAAWR,EAAMtJ,EAAMiH,EAASC,GACnCH,qBAAqB,EAAgB,eACvCtK,YACW,IAAT6M,SAA6B,IAATtJ,GAAmBA,EAAKsJ,IAC5CrC,GAAW,mBACX,IAAM,QAAQS,iBAAyB,MAAR4B,OAAe,EAASA,EAAK3B,4BAA4B1H,gBAAgBD,OACxGkH,GAAkB4C,WAGxB,EAYAjE,EAAOkE,cAVP,SAASA,cAAcT,EAAMtJ,EAAMiH,EAASC,GACtCH,qBAAqB,EAAgB,kBACvCtK,YACW,IAAT6M,QAA4B,IAATtJ,IAAoBA,EAAKsJ,GAC5CrC,GAAW,mBACX,IAAM,QAAQS,iBAAiB4B,EAAK3B,sCAAsC1H,gBAAgBD,OAC1FkH,GAAkB6C,cAGxB,EAYAlE,EAAOmE,mBAVP,SAASA,mBAAmBV,EAAMtJ,EAAMiH,EAASC,GAC3CH,qBAAqB,EAAgB,uBACvCtK,YACW,IAATuD,QAA4B,IAATsJ,GAAmBtJ,EAAKsJ,GAC3CrC,GAAW,mBACX,IAAM,QAAQS,iBAAyB,MAAR4B,OAAe,EAASA,EAAK3B,4BAA4B1H,gBAAgBD,OACxGkH,GAAkB8C,mBAGxB,EAYAnE,EAAOoE,oBAVP,SAASA,oBAAoBX,EAAM3B,EAAMV,EAASC,GAC5CH,qBAAqB,EAAgB,wBACvCtK,YACW,IAATkL,QAA4B,IAAT2B,GAAmBA,EAAK3B,OAASA,EACpDV,GAAW,mBACX,IAAM,QAAQS,iBAAyB,MAAR4B,OAAe,EAASA,EAAK3B,oBAAoBD,iBAAiBC,aACjGT,GAAkB+C,oBAGxB,EAYApE,EAAOqE,kBAVP,SAASA,kBAAkBZ,EAAMrC,EAASC,GACpCH,qBAAqB,EAAgB,sBACvCtK,YACW,IAAT6M,EACArC,GAAW,mBACX,IAAM,QAAQS,iBAAiB4B,EAAK3B,yBACpCT,GAAkBgD,kBAGxB,EAIArE,EAAOiC,KAAOA,KAYdjC,EAAO5F,gBAAkBA,gBAIzB4F,EAAOsE,aAHP,SAASA,aAAaC,GACpB,MAAO,WAAW5V,2BAA2B4V,EAAOC,wBAAwBC,kBAAkBF,EAAOG,yBAAyB3vB,IAAIwvB,EAAOI,aAAelB,GAAS5B,iBAAiB4B,EAAK3B,UACzL,EA+BA9B,EAAOwC,WAAaA,WACpB,MAAMM,EAAkC,IAAIzR,IAiB5C,SAASwQ,iBAAiBC,GACxB,OAAOU,WACLV,EACAj1E,GAEA,EAEJ,CAoBA,SAAS+3E,gBAAgBF,GACvB,OAAOlC,WACLkC,EACAp7E,GAEA,EAEJ,CAWA,SAASu7E,oBAAoBH,GAC3B,OAAOlC,WACLkC,EACAl8E,GAEA,EAEJ,CAEA,SAASs8E,qBAAqBJ,GAC5B,OAAOlC,WACLkC,EACAx3E,IAEA,EAEJ,CAEA,SAAS63E,gBAAgBL,GACvB,OAAOlC,WACLkC,EACA3/E,IAEA,EAEJ,CAEA,SAAS0/E,kBAAkBC,GACzB,OAAOlC,WACLkC,EACA/3E,IAEA,EAEJ,CAEA,SAASq4E,gBAAgBN,GACvB,OAAOlC,WACLkC,EACAt3E,IAEA,EAEJ,CAEA,SAAS63E,qBAAqBP,GAC5B,OAAOlC,WACLkC,EACA74E,IAEA,EAEJ,CAEA,SAASq5E,kBAAkBR,GACzB,OAAOlC,WACLkC,EACAl7E,IAEA,EAEJ,CAEA,SAAS27E,gBAAgBT,GACvB,OAAOlC,WACLkC,EACA5+E,IAEA,EAEJ,CA3GAk6E,EAAO6B,iBAAmBA,iBAS1B7B,EAAOoF,kBARP,SAASA,kBAAkBtD,GACzB,OAAOU,WACLV,EACA11E,IAEA,EAEJ,EAUA4zE,EAAOqF,iBARP,SAASA,iBAAiBvD,GACxB,OAAOU,WACLV,EACAx2E,IAEA,EAEJ,EAUA00E,EAAO4E,gBAAkBA,gBASzB5E,EAAOsF,qBARP,SAASA,qBAAqBZ,GAC5B,OAAOlC,WACLkC,EACAt7E,IAEA,EAEJ,EAUA42E,EAAO6E,oBAAsBA,oBAS7B7E,EAAO8E,qBAAuBA,qBAS9B9E,EAAO+E,gBAAkBA,gBASzB/E,EAAOyE,kBAAoBA,kBAS3BzE,EAAOgF,gBAAkBA,gBASzBhF,EAAOiF,qBAAuBA,qBAS9BjF,EAAOkF,kBAAoBA,kBAS3BlF,EAAOmF,gBAAkBA,gBASzBnF,EAAOuF,+BARP,SAASA,+BAA+B9T,GACtC,OAAO+Q,WACL/Q,EACAxmE,IAEA,EAEJ,EAUA+0E,EAAOwF,gBARP,SAASA,gBAAgBC,GACvB,OAAOjD,WACLiD,EACA1hF,IAEA,EAEJ,EAUAi8E,EAAO0F,yBARP,SAASA,yBAAyBD,GAChC,OAAOjD,WACLiD,EACA75E,IAEA,EAEJ,EAUAo0E,EAAO2F,gBARP,SAASA,gBAAgBC,GACvB,OAAOpD,WACLoD,EACAz4E,IAEA,EAEJ,EAEA,IACI04E,EA6CAC,EA9CAC,GAAqB,EAEzB,SAASC,8BAA8BC,GAC/B,qBAAsBA,GAC1B9jF,OAAO+jF,iBAAiBD,EAAU,CAEhCE,oBAAqB,CACnB,KAAAxU,GACE,MAAMyU,EAA0B,EAAbvN,KAAK6L,MAAwB,YAA2B,EAAb7L,KAAK6L,MAA8B,kBAAiC,EAAb7L,KAAK6L,MAA4B,gBAA+B,GAAb7L,KAAK6L,MAA8B,iBAAgC,GAAb7L,KAAK6L,MAAiC,oBAAmC,GAAb7L,KAAK6L,MAAkC,qBAAoC,IAAb7L,KAAK6L,MAAiC,mBAAkC,IAAb7L,KAAK6L,MAAkC,oBAAmC,IAAb7L,KAAK6L,MAAyB,WAA0B,KAAb7L,KAAK6L,MAAiC,kBAAiC,EAAb7L,KAAK6L,MAA8B,kBAAoB,cACtmB1B,GAA8B,KAAbnK,KAAK6L,MAC5B,MAAO,GAAG0B,IAAapD,EAAiB,KAAKmC,gBAAgBnC,MAAqB,IACpF,GAEFqD,iBAAkB,CAChB,GAAAxjF,GACE,OAAO2/E,WACL3J,KAAK6L,MACL5+E,IAEA,EAEJ,GAEFwgF,gBAAiB,CACf,KAAA3U,GACE,OAAO4U,uBAAuB1N,KAChC,IAIR,CAiBA,SAAS2N,+BAA+BlV,GAChC,wBAAyBA,GAC7BnvE,OAAO+jF,iBAAiB5U,EAAO,CAC7B6U,oBAAqB,CACnBxU,MAAM8U,GAEG,aADPA,EAAeC,OAAOD,GAAclM,QAAQ,yBAA0B,SAMhF,CAbAyF,EAAO2G,wBAdP,SAASA,wBAAwBV,GAY/B,OAXIF,IACmC,mBAA1B5jF,OAAOykF,gBACXf,IACHA,EAAgB1jF,OAAO0kF,OAAO1kF,OAAOK,WACrCwjF,8BAA8BH,IAEhC1jF,OAAOykF,eAAeX,EAAUJ,IAEhCG,8BAA8BC,IAG3BA,CACT,EA4BAjG,EAAO8G,yBAbP,SAASA,yBAAyBxV,GAC5ByU,IACmC,mBAA1B5jF,OAAOykF,gBACXd,IACHA,EAAiB3jF,OAAO0kF,OAAOnQ,MAAMl0E,WACrCgkF,+BAA+BV,IAEjC3jF,OAAOykF,eAAetV,EAAOwU,IAE7BU,+BAA+BlV,GAGrC,EAgIA0O,EAAO+G,gBA9HP,SAASA,kBACP,GAAIhB,EAAoB,OACxB,MAAMiB,EAAkC,IAAIC,QACtCC,EAAkC,IAAID,QAC5C9kF,OAAO+jF,iBAAiBpsB,GAAgBqtB,uBAAuB3kF,UAAW,CAExE2jF,oBAAqB,CACnB,KAAAxU,GACE,MAAMyV,EAA4B,SAAbvO,KAAK6L,MAAmC,kBAAoB,SAC3E2C,GAAoC,SAAbxO,KAAK6L,MAClC,MAAO,GAAG0C,MAAiB1f,WAAWmR,SAASwO,EAAuB,KAAK5C,kBAAkB4C,MAA2B,IAC1H,GAEFC,aAAc,CACZ,GAAAzkF,GACE,OAAO4hF,kBAAkB5L,KAAK6L,MAChC,KAGJviF,OAAO+jF,iBAAiBpsB,GAAgBytB,qBAAqB/kF,UAAW,CAEtE2jF,oBAAqB,CACnB,KAAAxU,GACE,MAAM6V,EAA0B,SAAb3O,KAAK6L,MAAmC,iBAAiB7L,KAAK4O,gBAAgB5O,KAAK6O,mBAAqB,KAAK7O,KAAK6O,sBAAwB,KAAoB,MAAb7O,KAAK6L,MAA+B,eAA8B,IAAb7L,KAAK6L,MAA0C,eAAe3C,KAAKC,UAAUnJ,KAAKlH,SAAwB,KAAbkH,KAAK6L,MAAmC,eAAe7L,KAAKlH,MAAMgW,SAAW,IAAM,KAAK9O,KAAKlH,MAAMiW,eAA8B,KAAb/O,KAAK6L,MAAoC,qBAAoC,GAAb7L,KAAK6L,MAAwB,WAA0B,QAAb7L,KAAK6L,MAA8B,YAA2B,QAAb7L,KAAK6L,MAAqC,mBAAkC,QAAb7L,KAAK6L,MAA8B,YAA2B,QAAb7L,KAAK6L,MAAsC,oBAAmC,SAAb7L,KAAK6L,MAAqC,kBAAiC,SAAb7L,KAAK6L,MAAsC,mBAAkC,OAAb7L,KAAK6L,MAAqC,gBAA+B,OAAb7L,KAAK6L,MAAiD,EAAnB7L,KAAKgP,YAAyC,gBAAqC,EAAnBhP,KAAKgP,YAAkC,gBAAqC,EAAnBhP,KAAKgP,YAA8B,YAAiC,GAAnBhP,KAAKgP,YAAmC,gBAAqC,GAAnBhP,KAAKgP,YAAgC,aAAkC,KAAnBhP,KAAKgP,YAAyC,oBAAyC,IAAnBhP,KAAKgP,YAAwC,oBAAsB,aAAe,OAC33CC,EAAoC,OAAbjP,KAAK6L,OAAiD,KAAnB7L,KAAKgP,YAA+C,EACpH,MAAO,GAAGL,IAAa3O,KAAK0L,OAAS,KAAK7c,WAAWmR,KAAK0L,WAAa,KAAKuD,EAAuB,KAAK5C,kBAAkB4C,MAA2B,IACvJ,GAEFR,aAAc,CACZ,GAAAzkF,GACE,OAAOmiF,gBAAgBnM,KAAK6L,MAC9B,GAEFqD,mBAAoB,CAClB,GAAAllF,GACE,OAAoB,OAAbg2E,KAAK6L,MAA8BQ,kBAAkBrM,KAAKgP,aAAe,EAClF,GAEFG,oBAAqB,CACnB,KAAArW,GACE,IAAIe,EAAOsU,EAAgBnkF,IAAIg2E,MAK/B,YAJa,IAATnG,IACFA,EAAOmG,KAAKoP,QAAQC,aAAarP,MACjCmO,EAAgBpT,IAAIiF,KAAMnG,IAErBA,CACT,KAGJvwE,OAAO+jF,iBAAiBpsB,GAAgBquB,0BAA0B3lF,UAAW,CAC3E8kF,aAAc,CACZ,GAAAzkF,GACE,OAAOoiF,qBAAqBpM,KAAK6L,MACnC,GAEF0D,yBAA0B,CACxB,KAAAzW,GACE,IAAI0W,EACJ,OAA8B,OAAtBA,EAAKxP,KAAKoP,cAAmB,EAASI,EAAGC,kBAAkBzP,KACrE,KAGJ,MAAM0P,EAAmB,CACvBzuB,GAAgB0uB,qBAChB1uB,GAAgB2uB,2BAChB3uB,GAAgB4uB,sBAChB5uB,GAAgB6uB,4BAElB,IAAK,MAAMC,KAAQL,EACZ/gD,YAAYohD,EAAKpmF,UAAW,gBAC/BL,OAAO+jF,iBAAiB0C,EAAKpmF,UAAW,CAEtC2jF,oBAAqB,CACnB,KAAAxU,GAEE,MAAO,GADYl6B,sBAAsBohC,MAAQ,sBAAwBzgC,aAAaygC,MAAQ,eAAenwC,OAAOmwC,SAAW7vB,oBAAoB6vB,MAAQ,sBAAsBnwC,OAAOmwC,SAAW/qB,gBAAgB+qB,MAAQ,iBAAiBkJ,KAAKC,UAAUnJ,KAAKnG,KAAKre,OAAS,GAAKwkB,KAAKnG,KAAOmG,KAAKnG,KAAKM,MAAM,IAAM,SAAW1sB,iBAAiBuyB,MAAQ,kBAAkBA,KAAKnG,OAAS7lC,gBAAgBgsC,MAAQ,iBAAiBA,KAAKnG,QAAU7gB,2BAA2BgnB,MAAQ,2BAA6BhxB,YAAYgxB,MAAQ,uBAAyBznC,yBAAyBynC,MAAQ,yBAA2BjhC,yBAAyBihC,MAAQ,yBAA2B7sB,yBAAyB6sB,MAAQ,yBAA2B/pC,2BAA2B+pC,MAAQ,2BAA6B1nC,gCAAgC0nC,MAAQ,gCAAkC79B,4BAA4B69B,MAAQ,4BAA8B/mB,oBAAoB+mB,MAAQ,oBAAsB7mB,oBAAoB6mB,MAAQ,oBAAsBrhC,mBAAmBqhC,MAAQ,mBAAqBxnC,sBAAsBwnC,MAAQ,sBAAwB9mB,gBAAgB8mB,MAAQ,gBAAkBxnB,kBAAkBwnB,MAAQ,kBAAoBltC,gBAAgBktC,MAAQ,gBAAkBhoB,gBAAgBgoB,MAAQ,gBAAkBtxB,mBAAmBsxB,MAAQ,mBAAqB3tB,eAAe2tB,MAAQ,eAAiBtmB,gBAAgBsmB,MAAQ,gBAAkB78B,uBAAuB68B,MAAQ,uBAAyB7nC,sBAAsB6nC,MAAQ,sBAAwB39B,gBAAgB29B,MAAQ,gBAAkB5wB,wBAAwB4wB,MAAQ,wBAA0B1oB,eAAe0oB,MAAQ,eAAiBjnB,mBAAmBinB,MAAQ,mBAAqB59B,wBAAwB49B,MAAQ,wBAA0Bn2B,iBAAiBm2B,MAAQ,iBAAmB12B,kBAAkB02B,MAAQ,kBAAoBj0B,mBAAmBi0B,MAAQ,mBAAqBh/B,iBAAiBg/B,MAAQ,iBAAmBgJ,iBAAiBhJ,KAAKiJ,QAC/6DjJ,KAAK6L,MAAQ,KAAKE,gBAAgB/L,KAAK6L,UAAY,IAC5E,GAEFmE,YAAa,CACX,GAAAhmF,GACE,OAAOg/E,iBAAiBhJ,KAAKiJ,KAC/B,GAEFgH,iBAAkB,CAChB,GAAAjmF,GACE,OAAO+hF,gBAAgB/L,KAAK6L,MAC9B,GAEFqE,qBAAsB,CACpB,GAAAlmF,GACE,OAAOgiF,oBAAoBv1D,iCAAiCupD,MAC9D,GAEFmQ,sBAAuB,CACrB,GAAAnmF,GACE,OAAOiiF,qBAAqBjM,KAAKoQ,eACnC,GAEFC,uBAAwB,CACtB,GAAArmF,GACE,OAAOqlD,gBAAgB2wB,KACzB,GAEFsQ,iBAAkB,CAChB,GAAAtmF,GACE,OAAOkiF,gBAAgB/0D,aAAa6oD,MACtC,GAEFuQ,eAAgB,CACd,KAAAzX,CAAM0X,GACJ,GAAI3wB,kBAAkBmgB,MAAO,MAAO,GACpC,IAAInG,EAAOwU,EAAgBrkF,IAAIg2E,MAC/B,QAAa,IAATnG,EAAiB,CACnB,MAAM4W,EAAYrsD,iBAAiB47C,MAC7B0Q,EAAaD,GAAanoD,oBAAoBmoD,GACpD5W,EAAO6W,EAAa9nD,kCAAkC8nD,EAAYD,EAAWD,GAAiB,GAC9FnC,EAAgBtT,IAAIiF,KAAMnG,EAC5B,CACA,OAAOA,CACT,KAKRqT,GAAqB,CACvB,EAYA/F,EAAOwJ,eAVP,SAASA,eAAeC,GACtB,MAAMC,EAA2B,EAAhBD,EACjB,IAAIhY,EAAsB,IAAbiY,EAAiC,SAAwB,IAAbA,EAAiC,cAA6B,IAAbA,EAAqC,KAAoB,IAAbA,EAAiC,MAAqB,IAAbA,EAAmC,gBAAkB,GAMpP,OALoB,EAAhBD,EACFhY,GAAU,kBACe,GAAhBgY,IACThY,GAAU,iBAELA,CACT,EAEA,MAAMkY,gBACJ,eAAArD,GACE,IAAI+B,EAEJ,OAAQxP,KAAKiJ,MACX,KAAK,EACH,OAAiC,OAAxBuG,EAAKxP,KAAK+Q,gBAAqB,EAASvB,EAAGhR,KAAKwB,QAAU,oBACrE,KAAK,EACH,MAAO,GAAGA,KAAKgR,OAAO7B,4BAA4BnP,KAAKn2E,OAAOslF,wBAChE,KAAK,EACH,OAAO7W,QACL0H,KAAKiR,QACLjR,KAAKkR,SAAWh1B,IAAI8jB,KAAKiR,QAAS,IAAM,OACxC,CAACxJ,EAAG3I,IAAM,GAAG2I,EAAE0H,4BAAyC,iBAANrQ,EAAiBA,EAAIA,EAAEqQ,yBACzE7E,KAAK,MACT,KAAK,EACH,OAAOhS,QACL0H,KAAKiR,QACLjR,KAAKkR,QACL,CAACzJ,EAAG3I,IAAM,GAAG2I,EAAE0H,4BAA4BrQ,IAAIqQ,yBAC/C7E,KAAK,MACT,KAAK,EACL,KAAK,EACH,MAAO,OAAOtK,KAAKmR,QAAQ1D,kBAAkB2D,MAAM,MAAM9G,KAAK,kBAClEtK,KAAKqR,QAAQ5D,kBAAkB2D,MAAM,MAAM9G,KAAK,YAC9C,QACE,OAAOxB,YAAY9I,MAEzB,EAcF,SAAS0N,uBAAuBN,GAC9B,IAQIkE,EARAC,GAAmB,EACvB,SAASC,mBAAmBxY,GAK1B,OAJKA,EAAE/vE,KACL+vE,EAAE/vE,GAAKsoF,EACPA,KAEKvY,EAAE/vE,EACX,CAEA,IAAEwoF,EAaF,IAAIC,EACJ,IAAEC,GAdAF,EAYCH,IAAiBA,EAAe,CAAC,IAXhB,GAAI,IACtBG,EAAkB,GAAI,IACtBA,EAAkB,GAAI,IACtBA,EAAkB,GAAI,IACtBA,EAAkB,GAAI,IACtBA,EAAkB,GAAI,IACtBA,EAAmB,IAAI,IACvBA,EAAmB,IAAI,IACvBA,EAAmB,IAAI,IACvBA,EAAmB,IAAI,IACvBA,EAAoB,KAAI,KAGxBE,EAkBCD,IAAeA,EAAa,CAAC,IAjBlBC,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAgB,GAAI,GAAK,KACrCA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAmB,MAAI,GAAK,QACxCA,EAAYA,EAAoB,OAAI,GAAK,SACzCA,EAAYA,EAAuB,UAAI,IAAM,YAC7CA,EAAYA,EAAoB,OAAI,GAAK,SACzCA,EAAYA,EAAqB,QAAI,GAAK,UAC1CA,EAAYA,EAAsB,SAAI,GAAK,WAC3CA,EAAYA,EAAuB,UAAI,IAAM,YAC7CA,EAAYA,EAAwB,WAAI,GAAK,aAC7CA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAA6B,gBAAI,IAAM,kBACnDA,EAAYA,EAAwB,WAAI,IAAM,aAEhD,MAEMC,EAAwBtoF,OAAO0kF,OAEnC,MAEI7C,EAAQ,GACR0G,EAAQ,GACRC,EAAOC,eAAe3E,EAA0B,IAAI4E,KAC1D,IAAK,MAAMpH,KAAQO,EACjBP,EAAK/Q,KAAOoY,eAAerH,EAAKwC,SAAUxC,EAAKsH,UAC/CC,aAAavH,GAEf,MAAMwH,EAoFN,SAASC,cAAczH,GACrB,IAAI0H,EAAU,EACd,IAAK,MAAMC,KAASC,YAAY5H,GAC9B0H,EAAUpQ,KAAKC,IAAImQ,EAASD,cAAcE,IAE5C,OAAOD,EAAU,CACnB,CA1FeD,CAAcP,GACvBW,EA0FN,SAASC,oBAAoBJ,GAC3B,MAAMK,EAAUC,KAAK/U,MAAMyU,GAAU,GACrC,IAAK,MAAM1H,KAAQO,EACjBwH,EAAQ/H,EAAKtD,OAASpF,KAAKC,IAAIwQ,EAAQ/H,EAAKtD,OAAQsD,EAAK/Q,KAAKre,QAEhE,OAAOm3B,CACT,CAhGqBD,CAAoBN,GAEzC,OA+FA,SAASS,aAAajI,EAAMkI,GAC1B,IAAmB,IAAflI,EAAKkI,KAAa,CACpBlI,EAAKkI,KAAOA,EACZlI,EAAKmI,QAAUD,EACf,MAAME,EAAWR,YAAY5H,GAC7B,IAAK,IAAIjS,EAAI,EAAGA,EAAIqa,EAASx3B,OAAQmd,IAAK,CACpCA,EAAI,GAAGma,IACX,MAAMP,EAAQS,EAASra,GACvBka,aAAaN,EAAOO,GAChBP,EAAMQ,QAAUnI,EAAKmI,UACvBD,EAAOP,EAAMQ,QAEjB,CACAnI,EAAKmI,QAAUD,CACjB,CACF,CA/GAD,CAAaf,EAAM,GA+JnB,SAASmB,cACP,MAAMC,EAAcT,EAAaj3B,OAC3B23B,EAAYp2B,MAAMouB,EAAO,EAAI1R,GAAMA,EAAEqZ,MAAQ,EAC7CM,EAAQR,KAAK/U,MAAMsV,GAAY,IAC/BE,EAAOZ,EAAav2B,IAAI,IAAM2hB,MAAMsV,IACpCG,EAAab,EAAav2B,IAAI,IAAM02B,KAAK/U,MAAMsV,GAAY,IACjE,IAAK,MAAMvI,KAAQO,EAAO,CACxBkI,EAAKzI,EAAKtD,OAAOsD,EAAKkI,MAAQlI,EAC9B,MAAMoI,EAAWR,YAAY5H,GAC7B,IAAK,IAAIjS,EAAI,EAAGA,EAAIqa,EAASx3B,OAAQmd,IAAK,CACxC,MAAM4Z,EAAQS,EAASra,GACvB,IAAI4a,EAAY,EACZhB,EAAMO,OAASlI,EAAKkI,OAAMS,GAAa,GACvC5a,EAAI,IAAG4a,GAAa,GACpB5a,EAAIqa,EAASx3B,OAAS,IAAG+3B,GAAa,GAC1CD,EAAW1I,EAAKtD,OAAOiL,EAAMO,OAASS,CACxC,CACwB,IAApBP,EAASx3B,SACX83B,EAAW1I,EAAKtD,OAAOsD,EAAKkI,OAAS,IAEvC,MAAMU,EAAUC,WAAW7I,GAC3B,IAAK,IAAIjS,EAAI,EAAGA,EAAI6a,EAAQh4B,OAAQmd,IAAK,CACvC,MAAM+a,EAAUF,EAAQ7a,GACxB,IAAI4a,EAAY,EACZ5a,EAAI,IAAG4a,GAAa,GACpB5a,EAAI6a,EAAQh4B,OAAS,IAAG+3B,GAAa,GACzCD,EAAW1I,EAAKtD,MAAQ,GAAGoM,EAAQZ,OAASS,CAC9C,CACF,CACA,IAAK,IAAII,EAAS,EAAGA,EAAST,EAAaS,IACzC,IAAK,IAAIb,EAAO,EAAGA,EAAOK,EAAWL,IAAQ,CAC3C,MAAM5T,EAAOyU,EAAS,EAAIL,EAAWK,EAAS,GAAGb,GAAQ,EACnDc,EAAQd,EAAO,EAAIQ,EAAWK,GAAQb,EAAO,GAAK,EACxD,IAAIS,EAAYD,EAAWK,GAAQb,GAC9BS,IACQ,EAAPrU,IAAsBqU,GAAa,IAC3B,EAARK,IAAsBL,GAAa,GACvCD,EAAWK,GAAQb,GAAQS,EAE/B,CAEF,IAAK,IAAII,EAAS,EAAGA,EAAST,EAAaS,IACzC,IAAK,IAAIb,EAAO,EAAGA,EAAOM,EAAM53B,OAAQs3B,IAAQ,CAC9C,MAAMS,EAAYD,EAAWK,GAAQb,GAC/Be,EAAoB,EAAZN,EAA2B,IAAoB,IACvD3I,EAAOyI,EAAKM,GAAQb,GACrBlI,GAKHkJ,UAAUhB,EAAMlI,EAAK/Q,MACjB8Z,EAAST,EAAc,IACzBY,UAAUhB,EAAM,KAChBgB,UAAUhB,EAAMiB,OAAOF,EAAOpB,EAAakB,GAAU/I,EAAK/Q,KAAKre,WAP7Dm4B,EAAST,EAAc,GACzBY,UAAUhB,EAAMiB,OAAOF,EAAOpB,EAAakB,GAAU,IASzDG,UAAUhB,EAAMkB,gBAAgBT,IAChCO,UAAUhB,EAAkB,EAAZS,GAA6BI,EAAST,EAAc,IAAMG,EAAKM,EAAS,GAAGb,GAAQ,IAAoB,IACzH,CAEF,MAAO,KACXM,EAAM9I,KAAK,UAEP,SAASwJ,UAAUhB,EAAMjZ,GACvBuZ,EAAMN,IAASjZ,CACjB,CACF,CAjOOoZ,GAaP,SAAST,YAAY5H,GACnB,MAAMoI,EAAW,GACjB,IAAK,MAAMiB,KAAQrJ,EAAKiH,MAClBoC,EAAKjD,SAAWpG,GAClBoI,EAAS1Z,KAAK2a,EAAKpqF,QAGvB,OAAOmpF,CACT,CACA,SAASS,WAAW7I,GAClB,MAAM4I,EAAU,GAChB,IAAK,MAAMS,KAAQrJ,EAAKiH,MAClBoC,EAAKpqF,SAAW+gF,GAClB4I,EAAQla,KAAK2a,EAAKjD,QAGtB,OAAOwC,CACT,CACA,SAASzB,eAAemC,EAAWC,GACjC,MAAMlrF,EAAKuoF,mBAAmB0C,GAC9B,IAAIE,EAAYxC,EAAM3oF,GACtB,GAAImrF,GAAaD,EAAKrZ,IAAIoZ,GAaxB,OAZAE,EAAUlC,UAAW,EACrBkC,EAAY,CACVnrF,IAAK,EACLmkF,SAAU8G,EACVrC,MAAO,GACPhY,KAAM,GACNiZ,MAAO,EACPC,SAAU,EACVzL,OAAQ,EACR4K,SAAU,eAEZ/G,EAAM7R,KAAK8a,GACJA,EAGT,GADAD,EAAKnZ,IAAIkZ,IACJE,EAGH,GAFAxC,EAAM3oF,GAAMmrF,EAAY,CAAEnrF,KAAImkF,SAAU8G,EAAWrC,MAAO,GAAIhY,KAAM,GAAIiZ,MAAO,EAAGC,SAAU,EAAGzL,OAAQ,EAAG4K,UAAU,GACpH/G,EAAM7R,KAAK8a,GAhDf,SAASC,eAAerb,GACtB,SAAoB,GAAVA,EAAE6S,UAA6B7S,EAAEsb,UAC7C,CA+CQD,CAAeH,GACjB,IAAK,MAAMI,KAAcJ,EAAUI,WACjCC,eAAeH,EAAWE,EAAYH,QAhD9C,SAASK,cAAcxb,GACrB,SAxByB,KAwBfA,EAAE6S,MACd,EAgDe2I,CAAcN,IACvBK,eAAeH,EAAWF,EAAUI,WAAYH,GAIpD,OADAA,EAAKlU,OAAOiU,GACLE,CACT,CACA,SAASG,eAAevD,EAAQsD,EAAYH,GAC1C,MAAMtqF,EAASkoF,eAAeuC,EAAYH,GACpCF,EAAO,CAAEjD,SAAQnnF,UACvBgoF,EAAMvY,KAAK2a,GACXjD,EAAOa,MAAMvY,KAAK2a,GAClBpqF,EAAOgoF,MAAMvY,KAAK2a,EACpB,CACA,SAAS9B,aAAavH,GACpB,IAAoB,IAAhBA,EAAKtD,MACP,OAAOsD,EAAKtD,MAEd,IAAIA,EAAQ,EACZ,IAAK,MAAMoM,KAAWD,WAAW7I,GAC/BtD,EAAQpF,KAAKC,IAAImF,EAAO6K,aAAauB,GAAW,GAElD,OAAO9I,EAAKtD,MAAQA,CACtB,CA6CA,SAASmN,YAAY7J,GAEnB,OAAOhiD,kCADYN,oBAAoBsiD,GAGrCA,GAEA,EAEJ,CACA,SAASqH,eAAeiC,EAAWhC,GACjC,IAAIrY,EAxBN,SAAS6a,WAAW7I,GAClB,GAAY,EAARA,EAAuB,MAAO,QAClC,GAAY,EAARA,EAA6B,MAAO,SACxC,GAAY,EAARA,EAA2B,MAAO,OACtC,GAAY,GAARA,EAA6B,MAAO,aACxC,GAAY,GAARA,EAAgC,MAAO,OAC3C,GAAY,GAARA,EAAiC,MAAO,QAC5C,GAAY,IAARA,EAAgC,MAAO,eAC3C,GAAY,IAARA,EAAiC,MAAO,gBAC5C,GAAY,IAARA,EAAwB,MAAO,OACnC,GAAY,KAARA,EAAgC,MAAO,cAC3C,GAAY,EAARA,EAA6B,MAAO,cACxC,MAAM,IAAIhjF,KACZ,CAWa6rF,CAAWR,EAAUrI,OAIhC,GAHIqG,IACFrY,EAAO,GAAGA,KAAQ2X,mBAAmB0C,MAxIzC,SAASS,mBAAmB3b,GAC1B,SAAoB,IAAVA,EAAE6S,MACd,CAwIM8I,CAAmBT,GAAY,CACjC,MAAMU,EAAU,IACV,gBAAEC,EAAe,YAAEC,EAAW,UAAEC,GAAcb,EAAUtJ,KAC9D,IAAK,IAAIjS,EAAImc,EAAanc,EAAIoc,EAAWpc,IAAK,CAC5C,MAAMqc,EAASH,EAAgBI,UAAUL,QAAQjc,GAC7Cn/B,gBAAgBw7C,GAClBJ,EAAQtb,KAAK,WAEbsb,EAAQtb,KAAKmb,YAAYO,EAAOtM,YAEpC,CACA7O,GAAQ,KAAK+a,EAAQtK,KAAK,QAC5B,MA7IF,SAAS4K,QAAQlc,GACf,SA1BmB,IA0BTA,EAAE6S,MACd,EA2IaqJ,CAAQhB,IACbA,EAAUtJ,OACZ/Q,GAAQ,KAAK4a,YAAYP,EAAUtJ,UAGvC,MAAoB,gBAAbsH,EAA6B,YAAYrY,KAAUA,CAC5D,CAqEA,SAASma,gBAAgBT,GACvB,OAAQA,GACN,KAAK,EACH,MAAO,IACT,KAAK,GACH,MAAO,IACT,KAAK,EACH,MAAO,IACT,KAAK,EACH,MAAO,IACT,KAAK,EACH,MAAO,IACT,KAAK,GACH,MAAO,IACT,KAAK,EACH,MAAO,IACT,KAAK,GACH,MAAO,IACT,KAAK,GACH,MAAO,IACT,KAAK,GACH,MAAO,IACT,KAAK,GACH,MAAO,IAEX,MAAO,GACT,CACA,SAASX,KAAKna,EAAOK,GACnB,GAAIL,EAAMma,KACRna,EAAMma,KAAK9Z,QAEX,IAAK,IAAIH,EAAI,EAAGA,EAAIF,EAAMjd,OAAQmd,IAChCF,EAAME,GAAKG,EAGf,OAAOL,CACT,CACA,SAASsb,OAAOjP,EAAIqQ,GAClB,GAAIrQ,EAAGiP,OACL,OAAOoB,EAAU,EAAIrQ,EAAGiP,OAAOoB,GAAW,GAE5C,IAAI1N,EAAI,GACR,KAAOA,EAAEjsB,OAAS25B,GAChB1N,GAAK3C,EAEP,OAAO2C,CACT,CACF,CAxVAN,EAAO2J,gBAAkBA,gBAOzB3J,EAAOiO,4BANP,SAASA,4BAA4BnT,GACnC,OAAIkF,EAAOU,YACFv+E,OAAOykF,eAAe9L,EAAQ6O,gBAAgBnnF,WAEhDs4E,CACT,EAKAkF,EAAOkO,sBAHP,SAASA,sBAAsBjI,GAC7B,OAAOkI,QAAQ3N,IAAI+F,uBAAuBN,GAC5C,EA+UAjG,EAAOuG,uBAAyBA,sBACjC,EAz/BD,CAy/BG7hF,IAAUA,EAAQ,CAAC,IAGtB,IAAI0pF,EAAgB,+FAChBC,EAAmB,2EACnBC,EAAuB,qCACvBC,EAAc,iCACdC,EAAkB,gBAClBC,EAA0B,mBAC1BC,EAAW,MAAMA,SACnB,WAAAC,CAAYC,EAAOC,EAAQ,EAAGC,EAAQ,EAAGC,EAAa,GAAIC,EAAS,IACjE,GAAqB,iBAAVJ,EAAoB,CAC7B,MAAMnd,EAAS/sE,EAAMmyE,aAAaoY,mBAAmBL,GAAQ,qBAC1DA,QAAOC,QAAOC,QAAOC,aAAYG,MAAOF,GAAWvd,EACxD,CACA/sE,EAAMkyE,OAAOgY,GAAS,EAAG,2BACzBlqF,EAAMkyE,OAAOiY,GAAS,EAAG,2BACzBnqF,EAAMkyE,OAAOkY,GAAS,EAAG,2BACzB,MAAMK,EAAkBJ,EAAa3jD,QAAQ2jD,GAAcA,EAAaA,EAAW9E,MAAM,KAAOjoE,EAC1FotE,EAAaJ,EAAS5jD,QAAQ4jD,GAAUA,EAASA,EAAO/E,MAAM,KAAOjoE,EAC3Etd,EAAMkyE,OAAOvzD,MAAM8rE,EAAkB7O,GAAMgO,EAAqBnU,KAAKmG,IAAK,gCAC1E57E,EAAMkyE,OAAOvzD,MAAM+rE,EAAa9O,GAAMkO,EAAgBrU,KAAKmG,IAAK,2BAChEzH,KAAK+V,MAAQA,EACb/V,KAAKgW,MAAQA,EACbhW,KAAKiW,MAAQA,EACbjW,KAAKkW,WAAaI,EAClBtW,KAAKqW,MAAQE,CACf,CACA,eAAOC,CAAS3c,GACd,MAAMjB,EAASwd,mBAAmBvc,GAClC,IAAKjB,EAAQ,OACb,MAAM,MAAEmd,EAAK,MAAEC,EAAK,MAAEC,EAAK,WAAEC,EAAYG,MAAOF,GAAWvd,EAC3D,OAAO,IAAIid,SAASE,EAAOC,EAAOC,EAAOC,EAAYC,EACvD,CACA,SAAAM,CAAUC,GACR,OAAI1W,OAAS0W,EAAc,OACb,IAAVA,EAAyB,EACtB95E,cAAcojE,KAAK+V,MAAOW,EAAMX,QAAUn5E,cAAcojE,KAAKgW,MAAOU,EAAMV,QAAUp5E,cAAcojE,KAAKiW,MAAOS,EAAMT,QA+C/H,SAASU,6BAA6BzX,EAAMC,GAC1C,GAAID,IAASC,EAAO,OAAO,EAC3B,GAAoB,IAAhBD,EAAK1jB,OAAc,OAAwB,IAAjB2jB,EAAM3jB,OAAe,EAAkB,EACrE,GAAqB,IAAjB2jB,EAAM3jB,OAAc,OAAQ,EAChC,MAAM25B,EAAUjT,KAAK9kB,IAAI8hB,EAAK1jB,OAAQ2jB,EAAM3jB,QAC5C,IAAK,IAAImd,EAAI,EAAGA,EAAIwc,EAASxc,IAAK,CAChC,MAAMie,EAAiB1X,EAAKvG,GACtBke,EAAkB1X,EAAMxG,GAC9B,GAAIie,IAAmBC,EAAiB,SACxC,MAAMC,EAAgBlB,EAAwBtU,KAAKsV,GAC7CG,EAAiBnB,EAAwBtU,KAAKuV,GACpD,GAAIC,GAAiBC,EAAgB,CACnC,GAAID,IAAkBC,EAAgB,OAAOD,GAAiB,EAAmB,EACjF,MAAMle,EAASh8D,eAAeg6E,GAAiBC,GAC/C,GAAIje,EAAQ,OAAOA,CACrB,KAAO,CACL,MAAMA,EAASn8D,4BAA4Bm6E,EAAgBC,GAC3D,GAAIje,EAAQ,OAAOA,CACrB,CACF,CACA,OAAOh8D,cAAcsiE,EAAK1jB,OAAQ2jB,EAAM3jB,OAC1C,CApEyIm7B,CAA6B3W,KAAKkW,WAAYQ,EAAMR,WAC3L,CACA,SAAAc,CAAUC,GACR,OAAQA,GACN,IAAK,QACH,OAAO,IAAIpB,SAAS7V,KAAK+V,MAAQ,EAAG,EAAG,GACzC,IAAK,QACH,OAAO,IAAIF,SAAS7V,KAAK+V,MAAO/V,KAAKgW,MAAQ,EAAG,GAClD,IAAK,QACH,OAAO,IAAIH,SAAS7V,KAAK+V,MAAO/V,KAAKgW,MAAOhW,KAAKiW,MAAQ,GAC3D,QACE,OAAOpqF,EAAMi9E,YAAYmO,GAE/B,CACA,KAAKC,GACH,MAAM,MACJnB,EAAQ/V,KAAK+V,MAAK,MAClBC,EAAQhW,KAAKgW,MAAK,MAClBC,EAAQjW,KAAKiW,MAAK,WAClBC,EAAalW,KAAKkW,WAClBG,MAAOF,EAASnW,KAAKqW,OACnBa,EACJ,OAAO,IAAIrB,SAASE,EAAOC,EAAOC,EAAOC,EAAYC,EACvD,CACA,QAAA3M,GACE,IAAI5Q,EAAS,GAAGoH,KAAK+V,SAAS/V,KAAKgW,SAAShW,KAAKiW,QAGjD,OAFIjpB,KAAKgT,KAAKkW,cAAatd,GAAU,IAAIoH,KAAKkW,WAAW5L,KAAK,QAC1Dtd,KAAKgT,KAAKqW,SAAQzd,GAAU,IAAIoH,KAAKqW,MAAM/L,KAAK,QAC7C1R,CACT,GAEFid,EAASsB,KAAO,IAAItB,EAAS,EAAG,EAAG,EAAG,CAAC,MACvC,IAAI9gF,EAAU8gF,EACd,SAASO,mBAAmBvc,GAC1B,MAAM4P,EAAQ8L,EAAc7L,KAAK7P,GACjC,IAAK4P,EAAO,OACZ,MAAO,CAAEsM,EAAOC,EAAQ,IAAKC,EAAQ,IAAKC,EAAa,GAAIC,EAAS,IAAM1M,EAC1E,OAAIyM,IAAeV,EAAiBlU,KAAK4U,IACrCC,IAAWT,EAAYpU,KAAK6U,QADhC,EAEO,CACLJ,MAAOqB,SAASrB,EAAO,IACvBC,MAAOoB,SAASpB,EAAO,IACvBC,MAAOmB,SAASnB,EAAO,IACvBC,aACAG,MAAOF,EAEX,CAuBA,IAAInhF,EAAe,MAAMqiF,cACvB,WAAAvB,CAAYwB,GACVtX,KAAKuX,cAAgBD,EAAOzrF,EAAMmyE,aAAawZ,WAAWF,GAAO,uBAAyBnuE,CAC5F,CACA,eAAOqtE,CAAS3c,GACd,MAAM4d,EAAOD,WAAW3d,GACxB,GAAI4d,EAAM,CACR,MAAMC,EAAQ,IAAIL,cAAc,IAEhC,OADAK,EAAMH,cAAgBE,EACfC,CACT,CAEF,CAKA,IAAApW,CAAKqW,GAEH,MADwB,iBAAbA,IAAuBA,EAAW,IAAI5iF,EAAQ4iF,IAsH7D,SAASC,gBAAgBD,EAAUE,GACjC,GAA4B,IAAxBA,EAAar8B,OAAc,OAAO,EACtC,IAAK,MAAMs8B,KAAeD,EACxB,GAAIE,gBAAgBJ,EAAUG,GAAc,OAAO,EAErD,OAAO,CACT,CA3HWF,CAAgBD,EAAU3X,KAAKuX,cACxC,CACA,QAAA/N,GACE,OAgJJ,SAASwO,kBAAkBH,GACzB,OAAO37B,IAAI27B,EAAcI,mBAAmB3N,KAAK,SAAW,GAC9D,CAlJW0N,CAAkBhY,KAAKuX,cAChC,GAEEW,EAAkB,OAClBC,EAAmB,MACnBC,EAAgB,2GAChBC,EAAe,iDACfC,EAAc,wCAClB,SAASd,WAAW3d,GAClB,MAAMge,EAAe,GACrB,IAAK,IAAIH,KAAS7d,EAAK0e,OAAOnH,MAAM8G,GAAkB,CACpD,IAAKR,EAAO,SACZ,MAAMc,EAAc,GACpBd,EAAQA,EAAMa,OACd,MAAM9O,EAAQ4O,EAAa3O,KAAKgO,GAChC,GAAIjO,GACF,IAAKgP,YAAYhP,EAAM,GAAIA,EAAM,GAAI+O,GAAc,YAEnD,IAAK,MAAME,KAAUhB,EAAMtG,MAAM+G,GAAmB,CAClD,MAAMQ,EAASL,EAAY5O,KAAKgP,EAAOH,QACvC,IAAKI,IAAWC,gBAAgBD,EAAO,GAAIA,EAAO,GAAIH,GAAc,MACtE,CAEFX,EAAave,KAAKkf,EACpB,CACA,OAAOX,CACT,CACA,SAASgB,aAAahf,GACpB,MAAM4P,EAAQ2O,EAAc1O,KAAK7P,GACjC,IAAK4P,EAAO,OACZ,MAAO,CAAEsM,EAAOC,EAAQ,IAAKC,EAAQ,IAAKC,EAAYC,GAAU1M,EAQhE,MAAO,CAAExS,QAPQ,IAAIliE,EACnB+jF,WAAW/C,GAAS,EAAIqB,SAASrB,EAAO,IACxC+C,WAAW/C,IAAU+C,WAAW9C,GAAS,EAAIoB,SAASpB,EAAO,IAC7D8C,WAAW/C,IAAU+C,WAAW9C,IAAU8C,WAAW7C,GAAS,EAAImB,SAASnB,EAAO,IAClFC,EACAC,GAE0BJ,QAAOC,QAAOC,QAC5C,CACA,SAASwC,YAAYvZ,EAAMC,EAAOqZ,GAChC,MAAMO,EAAaF,aAAa3Z,GAChC,IAAK6Z,EAAY,OAAO,EACxB,MAAMC,EAAcH,aAAa1Z,GACjC,QAAK6Z,IACAF,WAAWC,EAAWhD,QACzByC,EAAYlf,KAAK2f,iBAAiB,KAAMF,EAAW9hB,UAEhD6hB,WAAWE,EAAYjD,QAC1ByC,EAAYlf,KACVwf,WAAWE,EAAYhD,OAASiD,iBAAiB,IAAKD,EAAY/hB,QAAQ+f,UAAU,UAAY8B,WAAWE,EAAY/C,OAASgD,iBAAiB,IAAKD,EAAY/hB,QAAQ+f,UAAU,UAAYiC,iBAAiB,KAAMD,EAAY/hB,WAGhO,EACT,CACA,SAAS2hB,gBAAgBM,EAAUrf,EAAM2e,GACvC,MAAM5f,EAASigB,aAAahf,GAC5B,IAAKjB,EAAQ,OAAO,EACpB,MAAQ3B,QAAS0gB,EAAQ,MAAE5B,EAAK,MAAEC,EAAK,MAAEC,GAAUrd,EACnD,GAAKkgB,WAAW/C,GA4CQ,MAAbmD,GAAiC,MAAbA,GAC7BV,EAAYlf,KAAK2f,iBAAiB,IAAKlkF,EAAQoiF,YA5C/C,OAAQ+B,GACN,IAAK,IACHV,EAAYlf,KAAK2f,iBAAiB,KAAMtB,IACxCa,EAAYlf,KAAK2f,iBACf,IACAtB,EAASX,UACP8B,WAAW9C,GAAS,QAAU,WAGlC,MACF,IAAK,IACHwC,EAAYlf,KAAK2f,iBAAiB,KAAMtB,IACxCa,EAAYlf,KAAK2f,iBACf,IACAtB,EAASX,UACPW,EAAS5B,MAAQ,GAAK+C,WAAW9C,GAAS,QAAU2B,EAAS3B,MAAQ,GAAK8C,WAAW7C,GAAS,QAAU,WAG5G,MACF,IAAK,IACL,IAAK,KACHuC,EAAYlf,KACVwf,WAAW9C,IAAU8C,WAAW7C,GAASgD,iBAAiBC,EAAUvB,EAASwB,KAAK,CAAEjD,WAAY,OAAU+C,iBAAiBC,EAAUvB,IAEvI,MACF,IAAK,KACL,IAAK,IACHa,EAAYlf,KACVwf,WAAW9C,GAASiD,iBAA8B,OAAbC,EAAoB,IAAM,KAAMvB,EAASX,UAAU,SAASmC,KAAK,CAAEjD,WAAY,OAAU4C,WAAW7C,GAASgD,iBAA8B,OAAbC,EAAoB,IAAM,KAAMvB,EAASX,UAAU,SAASmC,KAAK,CAAEjD,WAAY,OAAU+C,iBAAiBC,EAAUvB,IAEzR,MACF,IAAK,IACL,UAAK,EACCmB,WAAW9C,IAAU8C,WAAW7C,IAClCuC,EAAYlf,KAAK2f,iBAAiB,KAAMtB,EAASwB,KAAK,CAAEjD,WAAY,QACpEsC,EAAYlf,KAAK2f,iBAAiB,IAAKtB,EAASX,UAAU8B,WAAW9C,GAAS,QAAU,SAASmD,KAAK,CAAEjD,WAAY,SAEpHsC,EAAYlf,KAAK2f,iBAAiB,IAAKtB,IAEzC,MACF,QACE,OAAO,EAKb,OAAO,CACT,CACA,SAASmB,WAAWM,GAClB,MAAgB,MAATA,GAAyB,MAATA,GAAyB,MAATA,CACzC,CACA,SAASH,iBAAiBC,EAAUG,GAClC,MAAO,CAAEH,WAAUG,UACrB,CAQA,SAAStB,gBAAgBJ,EAAUa,GACjC,IAAK,MAAMc,KAAcd,EACvB,IAAKe,eAAe5B,EAAU2B,EAAWJ,SAAUI,EAAWD,SAAU,OAAO,EAEjF,OAAO,CACT,CACA,SAASE,eAAe5B,EAAUuB,EAAUG,GAC1C,MAAMG,EAAM7B,EAASlB,UAAU4C,GAC/B,OAAQH,GACN,IAAK,IACH,OAAOM,EAAM,EACf,IAAK,KACH,OAAOA,GAAO,EAChB,IAAK,IACH,OAAOA,EAAM,EACf,IAAK,KACH,OAAOA,GAAO,EAChB,IAAK,IACH,OAAe,IAARA,EACT,QACE,OAAO3tF,EAAMi9E,YAAYoQ,GAE/B,CAIA,SAASjB,kBAAkBO,GACzB,OAAOt8B,IAAIs8B,EAAaiB,kBAAkBnP,KAAK,IACjD,CACA,SAASmP,iBAAiBH,GACxB,MAAO,GAAGA,EAAWJ,WAAWI,EAAWD,SAC7C,CAyCA,IAAIK,EAjBJ,SAASC,yBACP,MAAM1a,EAtBR,SAAS2a,oBACP,GAAI/sC,mBACF,IACE,MAAQiX,YAAa+1B,GAAiB,EAAQ,KAC9C,GAAIA,EACF,MAAO,CACLC,yBAAyB,EACzBh2B,YAAa+1B,EAGnB,CAAE,MACF,CAEF,GAA2B,iBAAhB/1B,YACT,MAAO,CACLg2B,yBAAyB,EACzBh2B,YAIN,CAEY81B,GACV,IAAK3a,EAAG,OACR,MAAM,wBAAE6a,EAAyBh2B,YAAa+1B,GAAiB5a,EACzD8a,EAAQ,CACZD,0BACAh2B,iBAAa,EACbk2B,qBAAiB,GAQnB,MANuC,iBAA5BH,EAAaI,YAAuD,mBAArBJ,EAAaK,MACrEH,EAAMC,gBAAkBH,GAEtBE,EAAMC,iBAAgD,mBAAtBH,EAAaM,MAAuD,mBAAzBN,EAAaO,SAA6D,mBAA5BP,EAAaQ,YAAmE,mBAA/BR,EAAaS,gBACzLP,EAAMj2B,YAAc+1B,GAEfE,CACT,CAC6BJ,GACzBY,EAAkD,MAA1Bb,OAAiC,EAASA,EAAuBM,gBAC7F,SAAS1lB,+BACP,OAAOolB,CACT,CACA,IAsBIc,EACAC,EAvBA5pB,EAAY0pB,EAAwB,IAAMA,EAAsBL,MAAQQ,KAAKR,IAG7En2B,EAAyB,CAAC,EAqB9B,SAAS42B,cAAcC,EAAWC,EAAaC,EAAeC,GAC5D,OAAOH,EAAYI,YAAYH,EAAaC,EAAeC,GAAeE,CAC5E,CACA,SAASD,YAAYH,EAAaC,EAAeC,GAC/C,IAAIG,EAAa,EACjB,MAAO,CACLC,MAGF,SAASA,QACc,MAAfD,GACJf,KAAKW,EAET,EANEM,KAOF,SAASA,OACc,MAAfF,GACJf,KAAKY,GACLX,QAAQS,EAAaC,EAAeC,IAC3BG,EAAa,GACtBrvF,EAAMixE,KAAK,mCAEf,EACF,CA1CAtzE,EAASu6D,EAAwB,CAC/Bs2B,WAAY,IAAMA,WAClBC,cAAe,IAAMA,cACrBU,YAAa,IAAMA,YACnBL,cAAe,IAAMA,cACrBU,QAAS,IAAMA,QACfC,OAAQ,IAAMA,OACdC,YAAa,IAAMA,YACnBC,eAAgB,IAAMA,eACtBC,SAAU,IAAMA,SAChBC,YAAa,IAAMA,YACnBC,UAAW,IAAMA,UACjBxB,KAAM,IAAMA,KACZC,QAAS,IAAMA,QACfa,UAAW,IAAMA,IA6BnB,IAiFIvpB,EACAC,EAlFAspB,EAAY,CAAEE,MAAO76B,KAAM86B,KAAM96B,MACjCs7B,GAAU,EACVC,EAAahrB,IACbirB,EAAwB,IAAItjB,IAC5BujB,EAAyB,IAAIvjB,IAC7BwjB,EAA4B,IAAIxjB,IACpC,SAAS2hB,KAAK8B,GACZ,GAAIL,EAAS,CACX,MAAM3hB,EAAQ8hB,EAAO/xF,IAAIiyF,IAAa,EACtCF,EAAOhhB,IAAIkhB,EAAUhiB,EAAQ,GAC7B6hB,EAAM/gB,IAAIkhB,EAAUprB,KACD,MAAnB4pB,GAAmCA,EAAgBN,KAAK8B,GACzB,mBAApBC,iBACTA,gBAAgBD,EAEpB,CACF,CACA,SAAS7B,QAAQS,EAAaC,EAAeC,GAC3C,GAAIa,EAAS,CACX,MAAMje,QAAuB,IAAhBod,EAAyBe,EAAM9xF,IAAI+wF,QAAe,IAAWlqB,IACpEkJ,QAA2B,IAAlB+gB,EAA2BgB,EAAM9xF,IAAI8wF,QAAiB,IAAWe,EAC1EM,EAAmBH,EAAUhyF,IAAI6wF,IAAgB,EACvDmB,EAAUjhB,IAAI8f,EAAasB,GAAoBxe,EAAM5D,IAClC,MAAnB0gB,GAAmCA,EAAgBL,QAAQS,EAAaC,EAAeC,EACzF,CACF,CACA,SAASU,SAASQ,GAChB,OAAOF,EAAO/xF,IAAIiyF,IAAa,CACjC,CACA,SAASP,YAAYb,GACnB,OAAOmB,EAAUhyF,IAAI6wF,IAAgB,CACvC,CACA,SAASW,eAAejgB,GACtBygB,EAAU5tE,QAAQ,CAACguE,EAAUvB,IAAgBtf,EAAGsf,EAAauB,GAC/D,CACA,SAASb,YAAYhgB,GACnBugB,EAAM1tE,QAAQ,CAACiuE,EAAOJ,IAAa1gB,EAAG0gB,GACxC,CACA,SAAS3B,cAAcvwF,QACR,IAATA,EAAiBiyF,EAAU/b,OAAOl2E,GACjCiyF,EAAUrhF,QACI,MAAnB8/E,GAAmCA,EAAgBH,cAAcvwF,EACnE,CACA,SAASswF,WAAWtwF,QACL,IAATA,GACFgyF,EAAO9b,OAAOl2E,GACd+xF,EAAM7b,OAAOl2E,KAEbgyF,EAAOphF,QACPmhF,EAAMnhF,SAEW,MAAnB8/E,GAAmCA,EAAgBJ,WAAWtwF,EAChE,CACA,SAAS4xF,YACP,OAAOC,CACT,CACA,SAASN,OAAOgB,EAASttB,IACvB,IAAIwgB,EAWJ,OAVKoM,IACHA,GAAU,EACVpB,IAAcA,EAAYlmB,iCACT,MAAbkmB,OAAoB,EAASA,EAAU12B,eACzC+3B,EAAarB,EAAU12B,YAAYm2B,YAC/BO,EAAUV,0BAA2F,OAA9DtK,EAAe,MAAV8M,OAAiB,EAASA,EAAOC,0BAA+B,EAAS/M,EAAGhR,KAAK8d,MAAuB,MAAVA,OAAiB,EAASA,EAAOE,cAC7K/B,EAAkBD,EAAU12B,gBAI3B,CACT,CACA,SAASu3B,UACHO,IACFE,EAAMnhF,QACNohF,EAAOphF,QACPqhF,EAAUrhF,QACV8/E,OAAkB,EAClBmB,GAAU,EAEd,CAKA,CAAEa,IACA,IAAI7W,EAGAgH,EAFA8P,EAAa,EACbC,EAAU,EAEd,MAAMC,EAAc,GACpB,IAAIC,EACJ,MAAMC,EAAS,GAyDf,IAAIC,EACJ,IAAEC,EAvBFP,EAAgB7uB,aAlChB,SAASqvB,cAAcC,EAAaC,EAAUC,GAE5C,GADAvxF,EAAMkyE,QAAQrM,EAAS,gCACZ,IAAPkU,EACF,IACEA,EAAK,EAAQ,GACf,CAAE,MAAOh9E,GACP,MAAM,IAAIC,MAAM,gDACLD,EAAE2/E,SAAW3/E,KAC1B,CAEFgkF,EAAOsQ,EACPN,EAAYphC,OAAS,OACF,IAAfqhC,IACFA,EAAarhF,aAAa2hF,EAAU,gBAEjCvX,EAAGyX,WAAWF,IACjBvX,EAAG0X,UAAUH,EAAU,CAAEI,WAAW,IAEtC,MAAMC,EAAqB,UAAT5Q,EAAmB,IAAI7F,QAAQ0W,SAASf,IAAwB,WAAT9P,EAAoB,IAAI7F,QAAQ0W,MAAQ,GAC3GC,EAAYliF,aAAa2hF,EAAU,QAAQK,UAC3CG,EAAYniF,aAAa2hF,EAAU,QAAQK,UACjDV,EAAOxjB,KAAK,CACV8jB,iBACAM,YACAC,cAEFhB,EAAU/W,EAAGgY,SAASF,EAAW,KACjChsB,EAAU+qB,EACV,MAAMoB,EAAO,CAAEC,IAAK,aAAcC,GAAI,IAAK30F,GAAI,IAAMynE,IAAa4sB,IAAK,EAAGO,IAAK,GAC/EpY,EAAGqY,UACDtB,EACA,MAAQ,CAAC,CAAE5yF,KAAM,eAAgBg1E,KAAM,CAAEh1E,KAAM,UAAY8zF,GAAQ,CAAE9zF,KAAM,cAAeg1E,KAAM,CAAEh1E,KAAM,WAAa8zF,GAAQ,CAAE9zF,KAAM,6BAA8B8zF,EAAMC,IAAK,0CAA2C5hC,IAAKue,GAAMyO,KAAKC,UAAU1O,IAAI6P,KAAK,OAEhQ,EAgBAmS,EAAgByB,YAdhB,SAASA,cACPryF,EAAMkyE,OAAOrM,EAAS,8BACtB7lE,EAAMkyE,SAAS6e,EAAYphC,SAAqB,WAAToxB,IACvChH,EAAGqY,UAAUtB,EAAS,SAGtB/W,EAAGuY,UAAUxB,GACbjrB,OAAU,EACNkrB,EAAYphC,OA4FlB,SAAS4iC,UAAUC,GACjB,IAAI7O,EAAI8O,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAC5EpF,KAAK,kBACL,MAAMwD,EAAYb,EAAOA,EAAOthC,OAAS,GAAGmiC,UACtC6B,EAAU5Z,EAAGgY,SAASD,EAAW,KACjC8B,EAAuC,IAAIjnB,IACjDoN,EAAGqY,UAAUuB,EAAS,KACtB,MAAME,EAAWrB,EAAM7iC,OACvB,IAAK,IAAImd,EAAI,EAAGA,EAAI+mB,EAAU/mB,IAAK,CACjC,MAAMyQ,EAAOiV,EAAM1lB,GACbqW,EAAc5F,EAAK4F,YACnBtD,EAAStC,EAAKuW,aAAevW,EAAKsC,OACxC,IAAIkU,EACJ,GAAkB,GAAd5Q,EAAgD,KAAb5F,EAAKyC,MAC1C,IACE+T,EAAiC,OAAtBpQ,EAAKpG,EAAKgG,cAAmB,EAASI,EAAGH,aAAajG,EACnE,CAAE,MACAwW,OAAU,CACZ,CAEF,IAAIC,EAA0B,CAAC,EAC/B,GAAiB,QAAbzW,EAAKyC,MAAqC,CAC5C,MAAMiU,EAAoB1W,EAC1ByW,EAA0B,CACxBE,wBAAgE,OAAtCzB,EAAKwB,EAAkBE,iBAAsB,EAAS1B,EAAGr1F,GACnFg3F,uBAA8D,OAArC1B,EAAKuB,EAAkBI,gBAAqB,EAAS3B,EAAGt1F,GAErF,CACA,IAAIk3F,EAAsB,CAAC,EAC3B,GAAkB,EAAdnR,EAAiC,CACnC,MAAMoR,EAAgBhX,EACtB+W,EAAsB,CACpBE,iBAAiD,OAA9B7B,EAAK4B,EAAcv2F,aAAkB,EAAS20F,EAAGv1F,GACpEq3F,cAA6D,OAA7C7B,EAAK2B,EAAcG,4BAAiC,EAAS9B,EAAGviC,IAAK4iB,GAAMA,EAAE71E,IAC7Fu3F,kBAAmBC,YAAYL,EAAcxV,MAEjD,CACA,IAAI8V,EAAwB,CAAC,EAC7B,GAAiB,SAAbtX,EAAKyC,MAAoC,CAC3C,MAAM8U,EAAkBvX,EACxBsX,EAAwB,CACtBE,qBAA0D,OAAnClC,EAAKiC,EAAgBE,gBAAqB,EAASnC,EAAGz1F,GAC7E63F,uBAA8D,OAArCnC,EAAKgC,EAAgBI,kBAAuB,EAASpC,EAAG11F,GACjF+3F,qBAAiE,OAA1CpC,EAAK+B,EAAgBM,uBAA4B,EAASrC,EAAG31F,MAAQ,EAC5Fi4F,sBAAmE,OAA3CrC,EAAK8B,EAAgBQ,wBAA6B,EAAStC,EAAG51F,MAAQ,EAElG,CACA,IAAIm4F,EAAyB,CAAC,EAC9B,GAAiB,SAAbhY,EAAKyC,MAAqC,CAC5C,MAAMwV,EAAmBjY,EACzBgY,EAAyB,CACvBE,qBAA0D,OAAnCxC,EAAKuC,EAAiBE,eAAoB,EAASzC,EAAG71F,GAC7Eu4F,eAAsD,OAArCzC,EAAKsC,EAAiBI,iBAAsB,EAAS1C,EAAG91F,GAE7E,CACA,IAAIy4F,EAA0B,CAAC,EAC/B,GAAkB,KAAd1S,EAAwC,CAC1C,MAAM2S,EAAoBvY,EAC1BsY,EAA0B,CACxBE,wBAA4D,OAAlC5C,EAAK2C,EAAkB3Q,aAAkB,EAASgO,EAAG/1F,GAC/E44F,wBAAgE,OAAtC5C,EAAK0C,EAAkBG,iBAAsB,EAAS7C,EAAGh2F,GACnF84F,4BAAwE,OAA1C7C,EAAKyC,EAAkBH,qBAA0B,EAAStC,EAAGj2F,GAE/F,CACA,IAQI+4F,EARAC,EAA0B,CAAC,EAC/B,GAAkB,IAAdjT,EAAuC,CACzC,MAAMkT,EAAoB9Y,EAC1B6Y,EAA0B,CACxBE,yBAA0BD,EAAkBE,YAAYn5F,GACxDo5F,uBAAmE,OAA1ClD,EAAK+C,EAAkBI,qBAA0B,EAASnD,EAAGl2F,GAE1F,CAEA,MAAMs5F,EAAoBnZ,EAAKgG,QAAQoT,qBAAqBpZ,GACxDmZ,IACFP,EAAiBvC,EAAqBz1F,IAAIu4F,GACrCP,IACHA,EAAiBvC,EAAqBnhB,KACtCmhB,EAAqB1kB,IAAIwnB,EAAmBP,KAGhD,MAAMS,EAAa,CACjBx5F,GAAImgF,EAAKngF,GACT2lF,cAAexF,EAAKwF,cACpB/f,YAAuB,MAAV6c,OAAiB,EAASA,EAAOC,cAAgB7V,2BAA2B4V,EAAOC,aAChG+W,YAAaV,EACbW,WAAuB,EAAd3T,SAAqC,EAC9C4T,WAAyB,QAAbxZ,EAAKyC,MAAmD,OAApBuT,EAAKhW,EAAKiV,YAAiB,EAASe,EAAGljC,IAAK4iB,GAAMA,EAAE71E,SAAM,EAC1G45F,kBAAgC,QAAbzZ,EAAKyC,MAAqCzC,EAAKiV,MAAMniC,IAAK4iB,GAAMA,EAAE71E,SAAM,EAC3F65F,mBAAsD,OAAjCzD,EAAKjW,EAAK0Z,yBAA8B,EAASzD,EAAGnjC,IAAK4iB,GAAMA,EAAE71E,IACtF85F,UAAwB,QAAb3Z,EAAKyC,MAAkD,OAAnByT,EAAKlW,EAAKA,WAAgB,EAASkW,EAAGr2F,QAAK,KACvF42F,KACAM,KACAO,KACAU,KACAM,KACAO,EACHe,qBAAsBvC,YAAYrX,EAAKjE,SACvC8d,iBAAkBxC,YAAoE,OAAvDlB,EAAe,MAAV7T,OAAiB,EAASA,EAAOI,mBAAwB,EAASyT,EAAG,IACzG1T,MAAOhgF,EAAMsgF,gBAAgB/C,EAAKyC,OAAOuF,MAAM,KAC/CwO,WAEFha,EAAGqY,UAAUuB,EAAStW,KAAKC,UAAUsZ,IACjC9pB,EAAI+mB,EAAW,GACjB9Z,EAAGqY,UAAUuB,EAAS,MAE1B,CACA5Z,EAAGqY,UAAUuB,EAAS,OACtB5Z,EAAGuY,UAAUqB,GACbrF,KAAK,gBACLC,QAAQ,aAAc,iBAAkB,eAC1C,CA1MIgE,CAAUxB,GAEVE,EAAOA,EAAOthC,OAAS,GAAGmiC,eAAY,CAE1C,EAOAlB,EAAgByG,WALhB,SAASA,WAAW9Z,GACL,WAATwD,GACFgQ,EAAYtjB,KAAK8P,EAErB,GAGE4T,EAQCD,EAAQN,EAAgBM,QAAUN,EAAgBM,MAAQ,CAAC,IAP9C,MAAI,QAClBC,EAAgB,QAAI,UACpBA,EAAa,KAAI,OACjBA,EAAc,MAAI,QAClBA,EAAmB,WAAI,aACvBA,EAAa,KAAI,OACjBA,EAAgB,QAAI,UAKtBP,EAAgB0G,QAHhB,SAASA,QAAQC,EAAOr5F,EAAMg1E,GAC5BskB,WAAW,IAAKD,EAAOr5F,EAAMg1E,EAAM,UACrC,EAEA,MAAMukB,EAAa,GAOnB7G,EAAgBnjB,KANhB,SAASA,KAAK8pB,EAAOr5F,EAAMg1E,EAAMwkB,GAAsB,GACjDA,GACFF,WAAW,IAAKD,EAAOr5F,EAAMg1E,GAE/BukB,EAAWhqB,KAAK,CAAE8pB,QAAOr5F,OAAMg1E,OAAMykB,KAAM,IAAM3yB,IAAa0yB,uBAChE,EAOA9G,EAAgB1X,IALhB,SAASA,IAAI0e,GACX53F,EAAMkyE,OAAOulB,EAAW9nC,OAAS,GACjCkoC,gBAAgBJ,EAAW9nC,OAAS,EAAG,IAAMqV,IAAa4yB,GAC1DH,EAAW9nC,QACb,EASAihC,EAAgBkH,OAPhB,SAASA,SACP,MAAMC,EAAU,IAAM/yB,IACtB,IAAK,IAAI8H,EAAI2qB,EAAW9nC,OAAS,EAAGmd,GAAK,EAAGA,IAC1C+qB,gBAAgB/qB,EAAGirB,GAErBN,EAAW9nC,OAAS,CACtB,EAEA,MAAMqoC,EAAiB,IACvB,SAASH,gBAAgBtnB,EAAOwnB,EAASH,GACvC,MAAM,MAAEL,EAAK,KAAEr5F,EAAI,KAAEg1E,EAAI,KAAEykB,EAAI,oBAAED,GAAwBD,EAAWlnB,GAChEmnB,GACF13F,EAAMkyE,QAAQ0lB,EAAS,qEACvBJ,WACE,IACAD,EACAr5F,EACAg1E,OAEA,EACA6kB,IAEOC,EAAiBL,EAAOK,GAAkBD,EAAUJ,GAC7DH,WAAW,IAAKD,EAAOr5F,EAAM,IAAKg1E,EAAM0kB,WAAW,UAASG,EAAUJ,GAAQA,EAElF,CACA,SAASH,WAAWS,EAAWV,EAAOr5F,EAAMg1E,EAAMglB,EAAQP,EAAO,IAAM3yB,KACxD,WAAT+b,GAA+B,eAAVwW,IACzBjJ,KAAK,gBACLvU,EAAGqY,UAAUtB,EAAS,6BACDmH,aAAqBV,WAAeI,aAAgBz5F,MACrEg6F,GAAQne,EAAGqY,UAAUtB,EAAS,IAAIoH,KAClChlB,GAAM6G,EAAGqY,UAAUtB,EAAS,WAAWzT,KAAKC,UAAUpK,MAC1D6G,EAAGqY,UAAUtB,EAAS,KACtBxC,KAAK,cACLC,QAAQ,UAAW,eAAgB,cACrC,CACA,SAASqG,YAAY7V,GACnB,MAAMoZ,EAAO17D,oBAAoBsiD,GACjC,OAAQoZ,EAAgB,CACtBC,KAAMD,EAAKC,KACXlqB,MAAOmqB,aAAazlE,8BAA8BulE,EAAMpZ,EAAK1R,MAC7DyE,IAAKumB,aAAazlE,8BAA8BulE,EAAMpZ,EAAKjN,YAH9C,EAKf,SAASumB,aAAaC,GACpB,MAAO,CACLC,KAAMD,EAAGC,KAAO,EAChBC,UAAWF,EAAGE,UAAY,EAE9B,CACF,CAuHA5H,EAAgB6H,WANhB,SAASA,aACFzH,GAGLjX,EAAG2e,cAAc1H,EAAY3T,KAAKC,UAAU2T,GAC9C,CAED,EAtQD,CAsQGnrB,IAAmBA,EAAiB,CAAC,IACxC,IAAI/D,EAAe+D,EAAe/D,aAC9BplD,EAAoBmpD,EAAe2yB,WAGnCtwF,EAA6B,CAAEwwF,IACjCA,EAAYA,EAAqB,QAAI,GAAK,UAC1CA,EAAYA,EAA4B,eAAI,GAAK,iBACjDA,EAAYA,EAAqC,wBAAI,GAAK,0BAC1DA,EAAYA,EAAoC,uBAAI,GAAK,yBACzDA,EAAYA,EAA2B,cAAI,GAAK,gBAChDA,EAAYA,EAA8B,iBAAI,GAAK,mBACnDA,EAAYA,EAA2B,cAAI,GAAK,gBAChDA,EAAYA,EAAkC,qBAAI,GAAK,uBACvDA,EAAYA,EAAqC,wBAAI,GAAK,0BAC1DA,EAAYA,EAA4B,eAAI,GAAK,iBACjDA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAAqB,QAAI,IAAM,UAC3CA,EAAYA,EAAmC,sBAAI,IAAM,wBACzDA,EAAYA,EAAsC,yBAAI,IAAM,2BAC5DA,EAAYA,EAA2C,8BAAI,IAAM,gCACjEA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA6B,gBAAI,IAAM,kBACnDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA6B,gBAAI,IAAM,kBACnDA,EAAYA,EAA8B,iBAAI,IAAM,mBACpDA,EAAYA,EAA+B,kBAAI,IAAM,oBACrDA,EAAYA,EAAsB,SAAI,IAAM,WAC5CA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAA8B,iBAAI,IAAM,mBACpDA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAAgC,mBAAI,IAAM,qBACtDA,EAAYA,EAA8B,iBAAI,IAAM,mBACpDA,EAAYA,EAAiC,oBAAI,IAAM,sBACvDA,EAAYA,EAAoC,uBAAI,IAAM,yBAC1DA,EAAYA,EAA+B,kBAAI,IAAM,oBACrDA,EAAYA,EAAoC,uBAAI,IAAM,yBAC1DA,EAAYA,EAAqC,wBAAI,IAAM,0BAC3DA,EAAYA,EAA0C,6BAAI,IAAM,+BAChEA,EAAYA,EAAoC,uBAAI,IAAM,yBAC1DA,EAAYA,EAAuB,UAAI,IAAM,YAC7CA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAAmC,sBAAI,IAAM,wBACzDA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAA6B,gBAAI,IAAM,kBACnDA,EAAYA,EAAmC,sBAAI,IAAM,wBACzDA,EAAYA,EAAyC,4BAAI,IAAM,8BAC/DA,EAAYA,EAAoD,uCAAI,IAAM,yCAC1EA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAAsB,SAAI,IAAM,WAC5CA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAA8B,iBAAI,IAAM,mBACpDA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAAqC,wBAAI,IAAM,0BAC3DA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAAqB,QAAI,IAAM,UAC3CA,EAAYA,EAAmC,sBAAI,IAAM,wBACzDA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAAuB,UAAI,IAAM,YAC7CA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAA6B,gBAAI,IAAM,kBACnDA,EAAYA,EAA8B,iBAAI,IAAM,mBACpDA,EAAYA,EAAiC,oBAAI,IAAM,sBACvDA,EAAYA,EAAyC,4BAAI,IAAM,8BAC/DA,EAAYA,EAA8B,iBAAI,IAAM,mBACpDA,EAAYA,EAAgC,mBAAI,IAAM,qBACtDA,EAAYA,EAAyC,4BAAI,IAAM,8BAC/DA,EAAYA,EAA+C,kCAAI,IAAM,oCACrEA,EAAYA,EAA0D,6CAAI,IAAM,+CAChFA,EAAYA,EAAkC,qBAAI,IAAM,uBACxDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA+B,kBAAI,IAAM,oBACrDA,EAAYA,EAA2C,8BAAI,IAAM,gCACjEA,EAAYA,EAAyC,4BAAI,IAAM,8BAC/DA,EAAYA,EAA8B,iBAAI,IAAM,mBACpDA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAA+B,kBAAI,IAAM,oBACrDA,EAAYA,EAAmC,sBAAI,IAAM,wBACzDA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA6B,gBAAI,IAAM,kBACnDA,EAAYA,EAA6B,gBAAI,IAAM,kBACnDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAAuB,UAAI,IAAM,YAC7CA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAA2B,cAAI,IAAM,gBACjDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAkC,qBAAI,KAAO,uBACzDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAyC,4BAAI,KAAO,8BAChEA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAsB,SAAI,KAAO,WAC7CA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAsB,SAAI,KAAO,WAC7CA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAkC,qBAAI,KAAO,uBACzDA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAoC,uBAAI,KAAO,yBAC3DA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAAsC,yBAAI,KAAO,2BAC7DA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAsC,yBAAI,KAAO,2BAC7DA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAmC,sBAAI,KAAO,wBAC1DA,EAAYA,EAAoC,uBAAI,KAAO,yBAC3DA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAmC,sBAAI,KAAO,wBAC1DA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAyC,4BAAI,KAAO,8BAChEA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAmC,sBAAI,KAAO,wBAC1DA,EAAYA,EAAmB,MAAI,KAAO,QAC1CA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAkC,qBAAI,KAAO,uBACzDA,EAAYA,EAAkC,qBAAI,KAAO,uBACzDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAAwC,2BAAI,KAAO,6BAC/DA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAmC,sBAAI,KAAO,wBAC1DA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA0B,aAAI,KAA8B,eACxEA,EAAYA,EAAyB,YAAI,KAA6B,cACtEA,EAAYA,EAA0C,6BAAI,KAAO,+BACjEA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAAyC,4BAAI,KAAO,8BAChEA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAoB,OAAI,KAAO,SAC3CA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAkC,qBAAI,KAAO,uBACzDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAmB,MAAI,KAAO,QAC1CA,EAAYA,EAA0B,aAAI,KAAmB,eAC7DA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAuB,UAAI,KAAO,YAC9CA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAsB,SAAI,KAAO,WAC7CA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAAwB,WAAI,KAAO,aAC/CA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAAmC,sBAAI,KAAO,wBAC1DA,EAAYA,EAAwC,2BAAI,KAAO,6BAC/DA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAA0C,6BAAI,KAAO,+BACjEA,EAAYA,EAAmB,MAAI,KAAO,QAC1CA,EAAYA,EAA6B,gBAAI,IAAwB,kBACrEA,EAAYA,EAA4B,eAAI,IAA6B,iBACzEA,EAAYA,EAAqC,wBAAI,IAA4B,0BACjFA,EAAYA,EAAoC,uBAAI,IAA6B,yBACjFA,EAAYA,EAA+B,kBAAI,IAAyB,oBACxEA,EAAYA,EAA8B,iBAAI,KAAyB,mBACvEA,EAAYA,EAA0B,aAAI,IAAyB,eACnEA,EAAYA,EAAyB,YAAI,KAA0B,cACnEA,EAAYA,EAAqC,wBAAI,KAA+B,0BACpFA,EAAYA,EAAoC,uBAAI,KAA0B,yBAC9EA,EAAYA,EAA2B,cAAI,KAA2B,gBACtEA,EAAYA,EAA0B,aAAI,KAAwB,eAClEA,EAAYA,EAA8B,iBAAI,IAA2B,mBACzEA,EAAYA,EAA6B,gBAAI,IAA6B,kBAC1EA,EAAYA,EAAwB,WAAI,GAAmB,aAC3DA,EAAYA,EAAuB,UAAI,KAAyB,YAChEA,EAAYA,EAA8B,iBAAI,GAAmC,mBACjFA,EAAYA,EAA6B,gBAAI,GAAgC,kBAC7EA,EAAYA,EAA+B,kBAAI,GAA0B,oBACzEA,EAAYA,EAA8B,iBAAI,IAA0C,mBACxFA,EAAYA,EAAgC,mBAAI,IAA0C,qBAC1FA,EAAYA,EAA+B,kBAAI,IAAyB,oBACxEA,EAAYA,EAAiC,oBAAI,IAA0B,sBAC3EA,EAAYA,EAAgC,mBAAI,IAA6B,qBAC7EA,EAAYA,EAA4B,eAAI,KAA+B,iBAC3EA,EAAYA,EAA2B,cAAI,KAA+B,gBAC1EA,EAAYA,EAAuB,UAAI,KAA2B,YAClEA,EAAYA,EAA4B,eAAI,KAAiC,iBAC7EA,EAAYA,EAA2B,cAAI,KAA4B,gBACvEA,EAAYA,EAA+B,kBAAI,KAAsB,oBACrEA,EAAYA,EAA8B,iBAAI,KAA4B,mBAC1EA,EAAYA,EAAoC,uBAAI,KAA6B,yBACjFA,EAAYA,EAAmC,sBAAI,KAAyB,wBACrEA,GA7YwB,CA8Y9BxwF,GAAc,CAAC,GACdvD,EAA4B,CAAEg0F,IAChCA,EAAWA,EAAiB,KAAI,GAAK,OACrCA,EAAWA,EAAgB,IAAI,GAAK,MACpCA,EAAWA,EAAkB,MAAI,GAAK,QACtCA,EAAWA,EAAkB,MAAI,GAAK,QACtCA,EAAWA,EAAuB,WAAI,GAAK,aAC3CA,EAAWA,EAA4B,gBAAI,GAAK,kBAChDA,EAAWA,EAAwB,YAAI,IAAM,cAC7CA,EAAWA,EAAsB,UAAI,IAAM,YAC3CA,EAAWA,EAA0B,cAAI,IAAM,gBAC/CA,EAAWA,EAA0B,cAAI,KAAO,gBAChDA,EAAWA,EAAyB,aAAI,KAAO,eAC/CA,EAAWA,EAA8B,kBAAI,KAAO,oBACpDA,EAAWA,EAA8B,kBAAI,MAAQ,oBACrDA,EAAWA,EAA+B,mBAAI,MAAQ,qBACtDA,EAAWA,EAA8B,kBAAI,MAAQ,oBACrDA,EAAWA,EAA8B,kBAAI,MAAQ,oBACrDA,EAAWA,EAAyB,aAAI,OAAS,eACjDA,EAAWA,EAA6B,iBAAI,OAAS,mBACrDA,EAAWA,EAAyB,aAAI,OAAS,eACjDA,EAAWA,EAA4C,gCAAI,QAAU,kCACrEA,EAAWA,EAA6B,iBAAI,QAAU,mBACtDA,EAAWA,EAA2B,eAAI,QAAU,iBACpDA,EAAWA,EAA0C,8BAAI,SAAW,gCACpEA,EAAWA,EAAmC,uBAAI,SAAW,yBAC7DA,EAAWA,EAA0C,8BAAI,SAAW,gCACpEA,EAAWA,EAAuC,2BAAI,SAAW,6BACjEA,EAAWA,EAAkB,MAAI,UAAY,QAC7CA,EAAWA,EAAoB,QAAI,UAAY,UAC/CA,EAAWA,EAA4B,gBAAI,UAAY,kBACvDA,EAAWA,EAAqB,SAAI,WAAa,WACjDA,EAAWA,EAAuB,WAAI,WAAa,aACnDA,EAAWA,EAAuB,WAAI,WAAa,aACnDA,EAAWA,EAAwB,YAAI,GAAK,cAC5CA,EAAWA,EAAqB,SAAI,GAAK,WACzCA,EAAWA,EAAmC,uBAAI,MAAQ,yBAC1DA,EAAWA,EAAqC,yBAAI,MAAQ,2BAC5DA,EAAWA,EAAyB,aAAI,WAAa,eACrDA,EAAWA,EAA8B,kBAAI,OAAS,oBACtDA,EAAWA,EAA2C,+BAAI,UAAY,iCACtEA,EAAWA,EAA+C,mCAAI,KAA0B,qCACxFA,EAAWA,EAAyC,6BAAI,MAAgC,+BACjFA,GA1CuB,CA2C7Bh0F,GAAa,CAAC,GACbd,EAAgC,CAAE+0F,IACpCA,EAAeA,EAAqB,KAAI,GAAK,OAC7CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAwB,QAAI,GAAK,UAChDA,EAAeA,EAA0B,UAAI,GAAK,YAClDA,EAAeA,EAAyB,SAAI,GAAK,WACjDA,EAAeA,EAAyB,SAAI,IAAM,WAClDA,EAAeA,EAAuB,OAAI,IAAM,SAChDA,EAAeA,EAAyB,SAAI,IAAM,WAClDA,EAAeA,EAAwB,QAAI,KAAO,UAClDA,EAAeA,EAAuB,OAAI,KAAO,SACjDA,EAAeA,EAAyB,SAAI,KAAO,WACnDA,EAAeA,EAAsB,MAAI,MAAQ,QACjDA,EAAeA,EAAwB,QAAI,MAAQ,UACnDA,EAAeA,EAAsB,MAAI,MAAQ,QACjDA,EAAeA,EAAmB,GAAI,MAAQ,KAC9CA,EAAeA,EAAoB,IAAI,OAAS,MAChDA,EAAeA,EAA0B,UAAI,OAAS,YACtDA,EAAeA,EAA2B,WAAI,OAAS,aACvDA,EAAeA,EAA4B,YAAI,SAAW,cAC1DA,EAAeA,EAA6B,aAAI,UAAY,eAC5DA,EAAeA,EAA+B,eAAI,UAAY,iBAC9DA,EAAeA,EAA8B,cAAI,UAAY,gBAC7DA,EAAeA,EAA8B,cAAI,WAAa,gBAC9DA,EAAeA,EAA0C,0BAAI,IAAM,4BACnEA,EAAeA,EAAuC,uBAAI,OAAS,yBACnEA,EAAeA,EAAmC,mBAAI,OAAS,qBAC/DA,EAAeA,EAAwC,wBAAI,WAAa,0BACxEA,EAAeA,EAAmC,mBAAI,OAA0B,qBAChFA,EAAeA,EAAsC,sBAAI,QAAU,wBACnEA,EAAeA,EAA0C,0BAAI,WAAa,4BAC1EA,EAAeA,EAAiC,iBAAI,WAAa,mBACjEA,EAAeA,EAAsC,sBAAI,GAAK,wBAC9DA,EAAeA,EAA0C,0BAAI,IAAM,4BACnEA,EAAeA,EAA+C,+BAAI,GAAK,iCACvEA,EAAeA,EAAmC,mBAAI,OAAS,qBAC/DA,EAAeA,EAA8B,cAAI,MAAQ,gBACzDA,EAAeA,EAAoB,IAAI,QAAU,MACjDA,EAAeA,EAAyB,SAAI,OAAS,WAC9CA,GAvC2B,CAwCjC/0F,GAAiB,CAAC,GACjBX,EAA2B,CAAE21F,IAC/BA,EAAUA,EAAgB,KAAI,GAAK,OACnCA,EAAUA,EAAiC,sBAAI,GAAK,wBACpDA,EAAUA,EAAmC,wBAAI,GAAK,0BACtDA,EAAUA,EAA4B,iBAAI,GAAK,mBACxCA,GALsB,CAM5B31F,GAAY,CAAC,GACZoD,GAA2C,CAAEwyF,IAC/CA,EAA0BA,EAAgC,KAAI,GAAK,OACnEA,EAA0BA,EAAqC,UAAI,GAAK,YACxEA,EAA0BA,EAAkC,OAAI,GAAK,SACrEA,EAA0BA,EAA+C,oBAAI,GAAK,sBAClFA,EAA0BA,EAA6C,kBAAI,IAAM,oBACjFA,EAA0BA,EAAuC,YAAI,IAAM,cAC3EA,EAA0BA,EAA8C,mBAAI,IAAM,qBAClFA,EAA0BA,EAA8C,mBAAI,IAAM,qBAClFA,EAA0BA,EAAoC,SAAI,IAAM,WACjEA,GAVsC,CAW5CxyF,IAA4B,CAAC,GAC5BR,GAAqC,CAAEizF,IACzCA,EAAoBA,EAA0B,KAAI,GAAK,OACvDA,EAAoBA,EAA4B,OAAI,GAAK,SACzDA,EAAoBA,EAA2B,MAAI,GAAK,QACxDA,EAAoBA,EAA+B,UAAI,GAAK,YACrDA,GALgC,CAMtCjzF,IAAsB,CAAC,GACtBxE,GAA2C,CAAE03F,IAC/CA,EAA0BA,EAAgC,KAAI,GAAK,OACnEA,EAA0BA,EAAgC,KAAI,GAAK,OACnEA,EAA0BA,EAAgC,KAAI,GAAK,OACnEA,EAA0BA,EAAkC,OAAI,GAAK,SACrEA,EAA0BA,EAAgC,KAAI,GAAK,OACnEA,EAA0BA,EAAoC,SAAI,GAAK,WACvEA,EAA0BA,EAAkD,uBAAI,GAAK,yBACrFA,EAA0BA,EAAsC,WAAI,IAAM,aAC1EA,EAA0BA,EAAqC,UAAI,IAAM,YACzEA,EAA0BA,EAAiD,sBAAI,IAAM,wBAC9EA,GAXsC,CAY5C13F,IAA4B,CAAC,GAC5B+E,GAAyC,CAAE4yF,IAC7CA,EAAwBA,EAA8B,KAAI,GAAK,OAC/DA,EAAwBA,EAAoC,WAAI,GAAK,aACrEA,EAAwBA,EAAgC,OAAI,GAAK,SACjEA,EAAwBA,EAAoC,WAAI,GAAK,aACrEA,EAAwBA,EAAmC,UAAI,GAAK,YACpEA,EAAwBA,EAAgC,OAAI,IAAM,SAClEA,EAAwBA,EAAiC,QAAI,IAAM,UACnEA,EAAwBA,EAAqC,YAAI,IAAM,cACvEA,EAAwBA,EAAgC,OAAI,KAAO,SACnEA,EAAwBA,EAAwC,eAAI,IAAM,iBAC1EA,EAAwBA,EAAmC,UAAI,IAAM,YAC9DA,GAZoC,CAa1C5yF,IAA0B,CAAC,GAC1BiC,GAA6B,CAAE4wF,IACjCA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAgC,mBAAI,GAAK,qBACrDA,EAAYA,EAAmC,sBAAI,GAAK,wBACxDA,EAAYA,EAA0B,aAAI,GAAK,eAC/CA,EAAYA,EAAmC,sBAAI,GAAK,wBACxDA,EAAYA,EAAwB,WAAI,IAAM,aAC9CA,EAAYA,EAAmB,MAAI,IAAM,QACzCA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA2B,cAAI,MAAQ,gBACnDA,EAAYA,EAAmC,sBAAI,MAAQ,wBAC3DA,EAAYA,EAAuB,UAAI,MAAQ,YAC/CA,EAAYA,EAAiC,oBAAI,MAAQ,sBACzDA,EAAYA,EAAsC,yBAAI,OAAS,2BAC/DA,EAAYA,EAA4C,+BAAI,OAAS,iCACrEA,EAAYA,EAAoC,uBAAI,KAAO,yBAC3DA,EAAYA,EAA2B,cAAI,KAAO,gBAClDA,EAAYA,EAAgC,mBAAI,MAAQ,qBACxDA,EAAYA,EAAiC,oBAAI,OAAS,sBAC1DA,EAAYA,EAAsC,yBAAI,MAAQ,2BAC9DA,EAAYA,EAAuB,UAAI,OAAS,YACzCA,GAxBwB,CAyB9B5wF,IAAc,CAAC,GACdnH,GAA4B,CAAEg4F,IAChCA,EAAWA,EAAwB,YAAI,GAAK,cAC5CA,EAAWA,EAAkB,MAAI,GAAK,QACtCA,EAAWA,EAAwB,YAAI,GAAK,cAC5CA,EAAWA,EAAsB,UAAI,GAAK,YAC1CA,EAAWA,EAAuB,WAAI,IAAM,aAC5CA,EAAWA,EAA0B,cAAI,IAAM,gBAC/CA,EAAWA,EAA2B,eAAI,IAAM,iBAChDA,EAAWA,EAAyB,aAAI,KAAO,eAC/CA,EAAWA,EAA0B,cAAI,KAAO,gBAChDA,EAAWA,EAAiB,KAAI,KAAO,OACvCA,EAAWA,EAAwB,YAAI,MAAQ,cAC/CA,EAAWA,EAAuB,WAAI,MAAQ,aAC9CA,EAAWA,EAAmB,OAAI,MAAQ,SAC1CA,EAAWA,EAAkB,MAAI,IAAM,QACvCA,EAAWA,EAAsB,UAAI,IAAM,YACpCA,GAhBuB,CAiB7Bh4F,IAAa,CAAC,GACb5B,GAAuC,CAAE65F,IAC3CA,EAAsBA,EAAmC,YAAI,GAAK,cAClEA,EAAsBA,EAA8B,OAAI,GAAK,SACtDA,GAHkC,CAIxC75F,IAAwB,CAAC,GACxBuF,GAA6B,QAE7BlE,GAAkC,CAAEy4F,IACtCA,EAAiBA,EAA2B,SAAI,GAAK,WACrDA,EAAiBA,EAA6C,2BAAI,GAAK,6BACvEA,EAAiBA,EAA6C,2BAAI,GAAK,6BACvEA,EAAiBA,EAAyB,OAAI,GAAK,SACnDA,EAAiBA,EAAgC,cAAI,GAAK,gBAC1DA,EAAiBA,EAAyC,uBAAI,GAAK,yBACnEA,EAAiBA,EAA0B,QAAI,GAAK,UACpDA,EAAiBA,EAAwC,sBAAI,GAAK,wBAClEA,EAAiBA,EAA6C,2BAAI,GAAK,6BAChEA,GAV6B,CAWnCz4F,IAAmB,CAAC,GACnBC,GAAmD,CAAEy4F,IACvDA,EAAkCA,EAA2E,wCAAI,GAAK,0CACtHA,EAAkCA,EAA6E,0CAAI,GAAK,4CACxHA,EAAkCA,EAAyD,sBAAI,GAAK,wBAC7FA,GAJ8C,CAKpDz4F,IAAoC,CAAC,GACpCP,GAA2B,CAAEi5F,IAC/BA,EAAUA,EAAc,GAAI,GAAK,KACjCA,EAAUA,EAAe,IAAI,GAAK,MAClCA,EAAUA,EAA4B,iBAAI,GAAK,mBACxCA,GAJsB,CAK5Bj5F,IAAY,CAAC,GACZqH,GAAoC,CAAE6xF,IACxCA,EAAmBA,EAAwB,IAAI,GAAK,MACpDA,EAAmBA,EAAgC,YAAI,GAAK,cAC5DA,EAAmBA,EAA+B,WAAI,GAAK,aACpDA,GAJ+B,CAKrC7xF,IAAqB,CAAC,GACrBnH,GAA6B,CAAEi5F,IACjCA,EAAYA,EAAqB,QAAI,GAAK,UAC1CA,EAAYA,EAA+C,kCAAI,GAAK,oCACpEA,EAAYA,EAAiD,oCAAI,GAAK,sCACtEA,EAAYA,EAA2C,8BAAI,GAAK,gCAChEA,EAAYA,EAAkD,qCAAI,GAAK,uCAChEA,GANwB,CAO9Bj5F,IAAc,CAAC,GACdoD,GAAuC,CAAE81F,IAC3CA,EAAsBA,EAA0B,GAAI,GAAK,KACzDA,EAAsBA,EAAqC,cAAI,GAAK,gBACpEA,EAAsBA,EAA0C,mBAAI,GAAK,qBAClEA,GAJkC,CAKxC91F,IAAwB,CAAC,GACxBkF,GAAiC,CAAE6wF,IACrCA,EAAgBA,EAAsB,KAAI,GAAK,OAC/CA,EAAgBA,EAAyB,QAAI,GAAK,UAClDA,EAAgBA,EAAyB,QAAI,GAAK,UAC3CA,GAJ4B,CAKlC7wF,IAAkB,CAAC,GAClBpG,GAAoC,CAAEk3F,IACxCA,EAAmBA,EAAyB,KAAI,GAAK,OACrDA,EAAmBA,EAAyC,qBAAI,GAAK,uBACrEA,EAAmBA,EAA0C,sBAAI,GAAK,wBAC/DA,GAJ+B,CAKrCl3F,IAAqB,CAAC,GACrB5C,GAA+B,CAAE+5F,IACnCA,EAAcA,EAAoB,KAAI,GAAK,OAC3CA,EAAcA,EAAyB,UAAI,GAAK,YAChDA,EAAcA,EAA6B,cAAI,GAAK,gBACpDA,EAAcA,EAA2B,YAAI,GAAK,cAClDA,EAAcA,EAAmC,oBAAI,GAAK,sBACnDA,GAN0B,CAOhC/5F,IAAgB,CAAC,GAChB0E,GAAmC,CAAEs1F,IACvCA,EAAkBA,EAAwB,KAAI,GAAK,OACnDA,EAAkBA,EAAgC,aAAI,GAAK,eAC3DA,EAAkBA,EAA2C,wBAAI,GAAK,0BACtEA,EAAkBA,EAAsD,mCAAI,GAAK,qCACjFA,EAAkBA,EAAyC,sBAAI,GAAK,wBACpEA,EAAkBA,EAAuD,oCAAI,IAAM,sCACnFA,EAAkBA,EAAiD,8BAAI,IAAM,gCAC7EA,EAAkBA,EAAyC,sBAAI,IAAM,wBACrEA,EAAkBA,EAA2C,wBAAI,KAAO,0BACxEA,EAAkBA,EAAyC,sBAAI,KAAO,wBACtEA,EAAkBA,EAAsD,mCAAI,KAAO,qCACnFA,EAAkBA,EAA2C,wBAAI,MAAQ,0BACzEA,EAAkBA,EAAqD,kCAAI,MAAQ,oCACnFA,EAAkBA,EAAqC,kBAAI,MAAQ,oBACnEA,EAAkBA,EAA0C,uBAAI,MAAQ,yBACxEA,EAAkBA,EAAsD,mCAAI,OAAS,qCACrFA,EAAkBA,EAAuD,oCAAI,WAAa,sCAC1FA,EAAkBA,EAAmC,gBAAI,WAAa,kBACtEA,EAAkBA,EAAqC,kBAAI,UAAY,oBACvEA,EAAkBA,EAA4C,yBAAI,OAAS,2BAC3EA,EAAkBA,EAAyD,sCAAI,OAAS,wCACxFA,EAAkBA,EAA4C,yBAAI,QAAU,2BAC5EA,EAAkBA,EAAiD,8BAAI,QAAU,gCACjFA,EAAkBA,EAAmC,gBAAI,QAAU,kBACnEA,EAAkBA,EAA2C,wBAAI,SAAW,0BAC5EA,EAAkBA,EAA2C,wBAAI,SAAW,0BAC5EA,EAAkBA,EAAiD,8BAAI,UAAY,gCACnFA,EAAkBA,EAAgC,aAAI,UAAY,eAClEA,EAAkBA,EAAuC,oBAAI,SAAW,sBACxEA,EAAkBA,EAA+B,YAAI,SAAW,cAChEA,EAAkBA,EAAuC,oBAAI,UAAY,sBAClEA,GAhC8B,CAiCpCt1F,IAAoB,CAAC,GACpBhC,GAA2C,CAAEu3F,IAC/CA,EAA0BA,EAAgC,KAAI,GAAK,OACnEA,EAA0BA,EAA8C,mBAAI,GAAK,qBACjFA,EAA0BA,EAA8C,mBAAI,GAAK,qBACjFA,EAA0BA,EAAmD,wBAAI,GAAK,0BACtFA,EAA0BA,EAAgD,qBAAI,GAAK,uBAC5EA,GANsC,CAO5Cv3F,IAA4B,CAAC,GAC5BkG,GAAkC,CAAEsxF,IACtCA,EAAiBA,EAAuB,KAAI,GAAK,OACjDA,EAAiBA,EAA+B,aAAI,GAAK,eACzDA,EAAiBA,EAA0C,wBAAI,GAAK,0BACpEA,EAAiBA,EAAqD,mCAAI,GAAK,qCAC/EA,EAAiBA,EAAwC,sBAAI,GAAK,wBAClEA,EAAiBA,EAAgD,8BAAI,IAAM,gCAC3EA,EAAiBA,EAAwC,sBAAI,IAAM,wBACnEA,EAAiBA,EAAwC,sBAAI,KAAO,wBACpEA,EAAiBA,EAA0C,wBAAI,MAAQ,0BACvEA,EAAiBA,EAAoD,kCAAI,MAAQ,oCACjFA,EAAiBA,EAAoC,kBAAI,MAAQ,oBACjEA,EAAiBA,EAAyC,uBAAI,MAAQ,yBACtEA,EAAiBA,EAAqD,mCAAI,OAAS,qCACnFA,EAAiBA,EAAsD,oCAAI,WAAa,sCACxFA,EAAiBA,EAAkC,gBAAI,WAAa,kBACpEA,EAAiBA,EAAoC,kBAAI,UAAY,oBACrEA,EAAiBA,EAA0C,wBAAI,SAAW,0BAC1EA,EAAiBA,EAA+B,aAAI,QAAU,eAC9DA,EAAiBA,EAA2C,yBAAI,QAAU,2BAC1EA,EAAiBA,EAA8B,YAAI,QAAU,cAC7DA,EAAiBA,EAAgC,cAAI,SAAW,gBAChEA,EAAiBA,EAAsC,oBAAI,SAAW,sBACtEA,EAAiBA,EAA8B,YAAI,SAAW,cAC9DA,EAAiBA,EAAuC,qBAAI,WAAa,uBAClEA,GAzB6B,CA0BnCtxF,IAAmB,CAAC,GACnBT,GAAoC,CAAEgyF,IACxCA,EAAmBA,EAAyB,KAAI,GAAK,OACrDA,EAAmBA,EAAmD,+BAAI,GAAK,iCAC/EA,EAAmBA,EAA4C,wBAAI,GAAK,0BACxEA,EAAmBA,EAAqC,iBAAI,GAAK,mBACjEA,EAAmBA,EAAuD,mCAAI,GAAK,qCACnFA,EAAmBA,EAAuC,mBAAI,IAAM,qBACpEA,EAAmBA,EAA4C,wBAAI,IAAM,0BAClEA,GAR+B,CASrChyF,IAAqB,CAAC,GACrBL,GAAsC,CAAEsyF,IAC1CA,EAAqBA,EAAiC,WAAI,GAAK,aAC/DA,EAAqBA,EAAoC,cAAI,GAAK,gBAClEA,EAAqBA,EAAoC,cAAI,GAAK,gBAClEA,EAAqBA,EAAkC,YAAI,GAAK,cACzDA,GALiC,CAMvCtyF,IAAuB,CAAC,GACvBgB,GAAoC,CAAEuxF,IACxCA,EAAmBA,EAAyB,KAAI,GAAK,OACrDA,EAAmBA,EAA+B,WAAI,GAAK,aAC3DA,EAAmBA,EAAgC,YAAI,GAAK,cAC5DA,EAAmBA,EAAsC,kBAAI,GAAK,oBAC3DA,GAL+B,CAMrCvxF,IAAqB,CAAC,GACrBC,GAAiD,CAAEuxF,IACrDA,EAAgCA,EAAyC,QAAI,GAAK,UAClFA,EAAgCA,EAAoE,mCAAI,GAAK,qCAC7GA,EAAgCA,EAAyD,wBAAI,GAAK,0BAClGA,EAAgCA,EAAgD,eAAI,GAAK,iBACzFA,EAAgCA,EAAgD,eAAI,GAAK,iBACzFA,EAAgCA,EAAgD,eAAI,GAAK,iBACzFA,EAAgCA,EAA6C,YAAI,GAAK,cACtFA,EAAgCA,EAA+C,cAAI,GAAK,gBACxFA,EAAgCA,EAA8C,aAAI,GAAK,eACvFA,EAAgCA,EAAyC,QAAI,GAAK,UAClFA,EAAgCA,EAAuD,sBAAI,IAAM,wBACjGA,EAAgCA,EAA4C,WAAI,IAAM,aAC/EA,GAb4C,CAclDvxF,IAAkC,CAAC,GAClCb,GAA8B,CAAEqyF,IAClCA,EAAaA,EAAmB,KAAI,GAAK,OACzCA,EAAaA,EAAqC,uBAAI,GAAK,yBAC3DA,EAAaA,EAAkC,oBAAI,GAAK,sBACxDA,EAAaA,EAAuB,SAAI,GAAK,WAC7CA,EAAaA,EAAyB,WAAI,GAAK,aAC/CA,EAAaA,EAAuB,SAAI,IAAM,WAC9CA,EAAaA,EAAoB,MAAI,IAAM,QAC3CA,EAAaA,EAAwB,UAAI,IAAM,YAC/CA,EAAaA,EAAwB,UAAI,KAAO,YAChDA,EAAaA,EAA0B,YAAI,KAAO,cAClDA,EAAaA,EAA0B,YAAI,KAAO,cAClDA,EAAaA,EAA8B,gBAAI,MAAQ,kBACvDA,EAAaA,EAA0B,YAAI,MAAQ,cACnDA,EAAaA,EAA4B,cAAI,MAAQ,gBACrDA,EAAaA,EAAqB,OAAI,MAAQ,SAC9CA,EAAaA,EAA0B,YAAI,OAAS,cACpDA,EAAaA,EAA0B,YAAI,OAAS,cACpDA,EAAaA,EAA0B,YAAI,OAAS,cACpDA,EAAaA,EAAwB,UAAI,QAAU,YACnDA,EAAaA,EAA4B,cAAI,QAAU,gBACvDA,EAAaA,EAAwB,UAAI,QAAU,YACnDA,EAAaA,EAA0B,YAAI,SAAW,cACtDA,EAAaA,EAAoB,MAAI,SAAW,QAChDA,EAAaA,EAAwB,UAAI,SAAW,YACpDA,EAAaA,EAAyB,WAAI,SAAW,aACrDA,EAAaA,EAAuB,SAAI,UAAY,WACpDA,EAAaA,EAAwB,UAAI,UAAY,YACrDA,EAAaA,EAAyB,WAAI,UAAY,aACtDA,EAAaA,EAA4B,cAAI,WAAa,gBAC1DA,EAAaA,EAAkB,KAAK,GAAK,MACzCA,EAAaA,EAAmB,KAAI,KAAO,OAC3CA,EAAaA,EAAuB,SAAI,GAAK,WAC7CA,EAAaA,EAAoB,MAAI,QAAU,QAC/CA,EAAaA,EAAmB,KAAI,QAAU,OAC9CA,EAAaA,EAAwB,UAAI,MAAQ,YACjDA,EAAaA,EAAqB,OAAI,MAAQ,SAC9CA,EAAaA,EAAuB,SAAI,OAAS,WACjDA,EAAaA,EAA6C,+BAAI,QAAU,iCACxEA,EAAaA,EAA0C,4BAAI,QAAsB,8BACjFA,EAAaA,EAAgC,kBAAI,QAAsB,oBACvEA,EAAaA,EAA+B,iBAAI,GAAgB,mBAChEA,EAAaA,EAAiC,mBAAI,QAAU,qBAC5DA,EAAaA,EAA+B,iBAAI,QAAU,mBAC1DA,EAAaA,EAA4B,cAAI,QAAU,gBACvDA,EAAaA,EAAgC,kBAAI,QAAU,oBAC3DA,EAAaA,EAAkC,oBAAI,QAAU,sBAC7DA,EAAaA,EAAgC,kBAAI,QAAU,oBAC3DA,EAAaA,EAAkC,oBAAI,QAAU,sBAC7DA,EAAaA,EAAsC,wBAAI,GAAK,0BAC5DA,EAAaA,EAA6B,eAAI,QAAU,iBACxDA,EAAaA,EAAkC,oBAAI,OAAS,sBAC5DA,EAAaA,EAAkC,oBAAI,OAAS,sBAC5DA,EAAaA,EAA+B,iBAAI,OAAS,mBACzDA,EAAaA,EAAoC,sBAAI,QAAU,wBAC/DA,EAAaA,EAAgC,kBAAI,QAAqB,oBACtEA,EAAaA,EAA4B,cAAI,SAAuB,gBACpEA,EAAaA,EAA2B,aAAI,SAAW,eACvDA,EAAaA,EAA6B,eAAI,KAAO,iBACrDA,EAAaA,EAA0B,YAAI,KAAO,cAClDA,EAAaA,EAAiC,mBAAI,OAAS,qBAC3DA,EAAaA,EAA0B,YAAI,QAAU,cACrDA,EAAaA,EAA4C,8BAAI,KAAO,gCACpEA,EAAaA,EAAkD,qCAAK,KAAO,sCAC3EA,EAAaA,EAA2B,aAAI,SAAW,eACvDA,EAAaA,EAAmC,qBAAI,MAAQ,uBACrDA,GAlEyB,CAmE/BryF,IAAe,CAAC,GACf7I,GAA6B,CAAEm7F,IACjCA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAA0B,aAAI,GAAK,eAC/CA,EAAYA,EAA+B,kBAAI,GAAK,oBACpDA,EAAYA,EAA6B,gBAAI,GAAK,kBAClDA,EAAYA,EAAsB,SAAI,GAAK,WAC3CA,EAAYA,EAAyB,YAAI,IAAM,cAC/CA,EAAYA,EAA0B,aAAI,IAAM,eAChDA,EAAYA,EAA+B,kBAAI,IAAM,oBACrDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA4B,eAAI,KAAO,iBACnDA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAA6B,gBAAI,MAAQ,kBACrDA,EAAYA,EAA4B,eAAI,MAAQ,iBACpDA,EAAYA,EAAkB,KAAI,MAAQ,OAC1CA,EAAYA,EAA2B,cAAI,MAAQ,gBACnDA,EAAYA,EAA+B,kBAAI,OAAS,oBACxDA,EAAYA,EAA2B,cAAI,OAAS,gBACpDA,EAAYA,EAA0B,aAAI,OAAS,eACnDA,EAAYA,EAA0B,aAAI,QAAU,eACpDA,EAAYA,EAAoB,OAAI,QAAU,SAC9CA,EAAYA,EAA2B,cAAI,QAAU,gBACrDA,EAAYA,EAAwB,WAAI,SAAW,aACnDA,EAAYA,EAAuB,UAAI,GAAK,YAC5CA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAAqB,QAAI,IAAM,UACpCA,GA1BwB,CA2B9Bn7F,IAAc,CAAC,GACdsD,GAAqC,CAAE83F,IACzCA,EAA0B,KAAI,SAC9BA,EAAiC,YAAI,gBACrCA,EAAyB,IAAI,QAC7BA,EAA2B,MAAI,UAC/BA,EAAgC,WAAI,WACpCA,EAA4B,OAAI,WAChCA,EAA6B,QAAI,YACjCA,EAA0B,KAAI,SAC9BA,EAA4B,OAAI,WAChCA,EAAmC,cAAI,kBACvCA,EAA2B,MAAI,UAC/BA,EAA8B,SAAI,aAClCA,EAA8B,SAAI,aAClCA,EAA+B,UAAI,gBACnCA,EAAkC,aAAI,UACtCA,EAA6B,QAAI,UACjCA,EAA0B,KAAI,OAC9BA,EAA6C,wBAAI,4BACjDA,EAAsC,iBAAI,qBACnCA,GApBgC,CAqBtC93F,IAAsB,CAAC,GACtBgC,GAAiC,CAAE+1F,IACrCA,EAAgBA,EAAsB,KAAI,GAAK,OAC/CA,EAAgBA,EAA6B,YAAI,GAAK,cACtDA,EAAgBA,EAA6B,YAAI,GAAK,cACtDA,EAAgBA,EAA6B,YAAI,GAAK,cACtDA,EAAgBA,EAAkC,iBAAI,GAAK,mBAC3DA,EAAgBA,EAA+B,cAAI,IAAM,gBACzDA,EAAgBA,EAA6B,YAAI,IAAM,cACvDA,EAAgBA,EAAgC,eAAI,IAAM,iBAC1DA,EAAgBA,EAAsD,qCAAI,KAAO,uCACjFA,EAAgBA,EAA0D,yCAAI,KAAO,2CACrFA,EAAgBA,EAAkC,iBAAI,KAAO,mBAC7DA,EAAgBA,EAAoC,mBAAI,MAAQ,qBAChEA,EAAgBA,EAA8C,6BAAI,MAAQ,+BAC1EA,EAAgBA,EAAoD,mCAAI,MAAQ,qCAChFA,EAAgBA,EAAmD,kCAAI,MAAQ,oCAC/EA,EAAgBA,EAA4C,2BAAI,OAAS,6BACzEA,EAAgBA,EAA0C,yBAAI,OAAS,2BACvEA,EAAgBA,EAAuC,sBAAI,OAAS,wBACpEA,EAAgBA,EAAmC,kBAAI,QAAU,oBACjEA,EAAgBA,EAA8C,6BAAI,QAAU,+BAC5EA,EAAgBA,EAAsC,qBAAI,WAAa,uBACvEA,EAAgBA,EAAqD,oCAAI,SAAW,sCACpFA,EAAgBA,EAA0D,yCAAI,SAAW,2CACzFA,EAAgBA,EAAmC,kBAAI,SAAW,oBAClEA,EAAgBA,EAAsC,qBAAI,SAAW,uBACrEA,EAAgBA,EAA2B,UAAI,WAAa,YACrDA,GA3B4B,CA4BlC/1F,IAAkB,CAAC,GAClBgE,GAA4B,CAAEgyF,IAChCA,EAAWA,EAAgB,IAAI,GAAK,MACpCA,EAAWA,EAAoB,QAAI,GAAK,UACxCA,EAAWA,EAAmB,OAAI,GAAK,SACvCA,EAAWA,EAAmB,OAAI,GAAK,SACvCA,EAAWA,EAAoB,QAAI,IAAM,UACzCA,EAAWA,EAAiB,KAAI,IAAM,OACtCA,EAAWA,EAAmB,OAAI,IAAM,SACxCA,EAAWA,EAA0B,cAAI,KAAO,gBAChDA,EAAWA,EAA0B,cAAI,KAAO,gBAChDA,EAAWA,EAA2B,eAAI,KAAO,iBACjDA,EAAWA,EAAwB,YAAI,MAAQ,cAC/CA,EAAWA,EAA0B,cAAI,MAAQ,gBACjDA,EAAWA,EAAqB,SAAI,MAAQ,WAC5CA,EAAWA,EAA2B,eAAI,MAAQ,iBAClDA,EAAWA,EAAiB,KAAI,OAAS,OACzCA,EAAWA,EAAsB,UAAI,OAAS,YAC9CA,EAAWA,EAAiB,KAAI,OAAS,OACzCA,EAAWA,EAAkB,MAAI,QAAU,QAC3CA,EAAWA,EAA0B,cAAI,QAAU,gBACnDA,EAAWA,EAAmB,OAAI,QAAU,SAC5CA,EAAWA,EAAkB,MAAI,SAAW,QAC5CA,EAAWA,EAAyB,aAAI,SAAW,eACnDA,EAAWA,EAAkB,MAAI,SAAW,QAC5CA,EAAWA,EAA0B,cAAI,SAAW,gBACpDA,EAAWA,EAAwB,YAAI,UAAY,cACnDA,EAAWA,EAAyB,aAAI,UAAY,eACpDA,EAAWA,EAAyB,aAAI,UAAY,eACpDA,EAAWA,EAA4B,gBAAI,WAAa,kBACxDA,EAAWA,EAA0B,cAAI,WAAa,gBACtDA,EAAWA,EAAsB,UAAI,WAAa,YAClDA,EAAWA,EAAsB,UAAI,YAAc,YACnDA,EAAWA,EAAyB,aAAI,GAAK,eAC7CA,EAAWA,EAAqB,SAAI,OAAS,WAC7CA,EAAWA,EAAoB,QAAI,MAAQ,UAC3CA,EAAWA,EAAiB,KAAI,QAAU,OAC1CA,EAAWA,EAAsB,UAAI,MAAQ,YAC7CA,EAAWA,EAAkC,sBAAI,KAAO,wBACxDA,EAAWA,EAA0C,8BAAI,MAAQ,gCACjEA,EAAWA,EAA4B,gBAAI,QAAU,kBACrDA,EAAWA,EAA0B,cAAI,QAAU,gBACnDA,EAAWA,EAAsB,UAAI,UAAY,YACjDA,EAAWA,EAAuB,WAAI,WAAa,aACnDA,EAAWA,EAAuB,WAAI,KAAO,aAC7CA,EAAWA,EAAuB,WAAI,MAAQ,aAC9CA,EAAWA,EAAwB,YAAI,KAAO,cAC9CA,EAAWA,EAAqB,SAAI,MAAQ,WAC5CA,EAAWA,EAAyB,aAAI,OAAS,eACjDA,EAAWA,EAAqB,SAAI,OAAS,WAC7CA,EAAWA,EAAsB,UAAI,WAAa,YAClDA,EAAWA,EAAkC,sBAAI,WAAa,wBAC9DA,EAAWA,EAA4B,gBAAI,WAAa,kBACxDA,EAAWA,EAAgC,oBAAI,SAAW,sBAC1DA,EAAWA,EAA2B,eAAI,SAAW,iBACrDA,EAAWA,EAAyB,aAAI,SAAW,eACnDA,EAAWA,EAAqC,yBAAI,UAAY,2BAChEA,EAAWA,EAAkC,sBAAI,WAAa,wBAC9DA,EAAWA,EAAyB,aAAI,WAAa,eACrDA,EAAWA,EAAqC,yBAAI,WAAa,2BACjEA,EAAWA,EAA4B,gBAAI,SAAW,kBACtDA,EAAWA,EAAyB,aAAI,UAAY,eACpDA,EAAWA,EAAsB,UAAI,UAAY,YACjDA,EAAWA,EAAuB,WAAI,WAAa,aACnDA,EAAWA,EAAyB,aAAI,WAAa,eACrDA,EAAWA,EAAgC,oBAAI,QAA8B,sBAC7EA,EAAWA,EAAoC,wBAAI,SAAuB,0BAC1EA,EAAWA,EAA6B,iBAAI,SAA+B,mBAC3EA,EAAWA,EAAgC,oBAAI,UAA8B,sBAC7EA,EAAWA,EAAiC,qBAAI,UAA+B,uBAC/EA,EAAWA,EAA4C,gCAAI,WAA6B,kCACxFA,EAAWA,EAA0B,cAAI,YAA8B,gBACvEA,EAAWA,EAA8B,kBAAI,UAAY,oBAClDA,GAxEuB,CAyE7BhyF,IAAa,CAAC,GACb5D,GAA8B,CAAE61F,IAClCA,EAAaA,EAAmB,KAAI,GAAK,OACzCA,EAAaA,EAAoB,MAAI,GAAK,QAC1CA,EAAaA,EAAwB,UAAI,GAAK,YAC9CA,EAAaA,EAAwB,UAAI,GAAK,YAC9CA,EAAaA,EAAoB,MAAI,GAAK,QAC1CA,EAAaA,EAAwB,UAAI,IAAM,YAC/CA,EAAaA,EAAqB,OAAI,IAAM,SAC5CA,EAAaA,EAA2B,aAAI,IAAM,eAClDA,EAAaA,EAA4B,cAAI,KAAO,gBACpDA,EAAaA,EAA4B,cAAI,KAAO,gBACpDA,EAAaA,EAAyD,2CAAI,KAAO,6CACjFA,EAAaA,EAA4B,cAAI,MAAQ,gBACrDA,EAAaA,EAA4B,cAAI,MAAQ,gBACrDA,EAAaA,EAAwB,UAAI,MAAQ,YACjDA,EAAaA,EAA2B,aAAI,MAAQ,eACpDA,EAAaA,EAA2B,aAAI,OAAS,eACrDA,EAAaA,EAA6B,eAAI,OAAS,iBACvDA,EAAaA,EAAmC,qBAAI,OAAS,uBAC7DA,EAAaA,EAA2C,6BAAI,QAAU,+BACtEA,EAAaA,EAAgC,kBAAI,QAAU,oBAC3DA,EAAaA,EAAgD,kCAAI,QAAU,oCAC3EA,EAAaA,EAAwC,0BAAI,SAAW,4BACpEA,EAAaA,EAAkC,oBAAI,WAAa,sBAChEA,EAAaA,EAA+B,iBAAI,GAAK,mBACrDA,EAAaA,EAA+B,iBAAI,QAAU,mBAC1DA,EAAaA,EAA+B,iBAAI,QAAU,mBAC1DA,EAAaA,EAAiC,mBAAI,IAAM,qBACxDA,EAAaA,EAAiC,mBAAI,MAAQ,qBAC1DA,EAAaA,EAA6B,eAAI,SAAW,iBACzDA,EAAaA,EAA6B,eAAI,SAAW,iBACzDA,EAAaA,EAA0C,4BAAI,SAAW,8BACtEA,EAAaA,EAAmC,qBAAI,UAAY,uBAChEA,EAAaA,EAA0C,4BAAI,UAAY,8BACvEA,EAAaA,EAAsC,wBAAI,UAAY,0BACnEA,EAAaA,EAAoC,sBAAI,SAAW,wBAChEA,EAAaA,EAAkC,oBAAI,SAAW,sBAC9DA,EAAaA,EAAiC,mBAAI,SAAW,qBAC7DA,EAAaA,EAA4B,cAAI,UAAY,gBACzDA,EAAaA,EAAoC,sBAAI,UAAY,wBACjEA,EAAaA,EAAyC,2BAAI,UAAY,6BACtEA,EAAaA,EAAiC,mBAAI,UAAY,qBAC9DA,EAAaA,EAA0C,4BAAI,UAAY,8BACvEA,EAAaA,EAAkC,oBAAI,UAAY,sBAC/DA,EAAaA,EAAwC,0BAAI,UAAY,4BAC9DA,GA7CyB,CA8C/B71F,IAAe,CAAC,GACfmE,GAAgC,CAAE2xF,IACpCA,EAAeA,EAA0B,UAAI,GAAK,YAClDA,EAAeA,EAA0B,UAAI,GAAK,YAClDA,EAAeA,EAA8B,cAAI,GAAK,gBACtDA,EAAeA,EAA0B,UAAI,GAAK,YAClDA,EAAeA,EAA4B,YAAI,GAAK,cACpDA,EAAeA,EAA6B,aAAI,GAAK,eACrDA,EAAeA,EAA6B,aAAI,GAAK,eACrDA,EAAeA,EAA2B,WAAI,IAAM,aACpDA,EAAeA,EAAyC,yBAAI,IAAM,2BAC3DA,GAV2B,CAWjC3xF,IAAiB,CAAC,GACjB7I,GAA+B,CAAEy6F,IACnCA,EAAcA,EAAwB,SAAI,GAAK,WAC/CA,EAAcA,EAAwB,SAAI,GAAK,WAC/CA,EAAcA,EAAoB,KAAI,GAAK,OAC3CA,EAAcA,EAAwB,SAAI,GAAK,WAC/CA,EAAcA,EAAqB,MAAI,GAAK,QAC5CA,EAAcA,EAAwB,SAAI,IAAM,WAChDA,EAAcA,EAA2B,YAAI,IAAM,cACnDA,EAAcA,EAAuB,QAAI,IAAM,UACxCA,GAT0B,CAUhCz6F,IAAgB,CAAC,GAChB7B,GAA8B,CAAEu8F,IAClCA,EAAaA,EAAmB,KAAI,GAAK,OACzCA,EAAaA,EAA+B,iBAAI,GAAK,mBACrDA,EAAaA,EAAgC,kBAAI,GAAK,oBACtDA,EAAaA,EAAsB,QAAI,GAAK,UAC5CA,EAAaA,EAA0B,YAAI,GAAK,cAChDA,EAAaA,EAA2B,aAAI,IAAM,eAClDA,EAAaA,EAAiC,mBAAI,IAAM,qBACxDA,EAAaA,EAA+B,iBAAI,IAAM,mBACtDA,EAAaA,EAAyC,2BAAI,KAAO,6BACjEA,EAAaA,EAAyB,WAAI,KAAO,aACjDA,EAAaA,EAAyB,WAAI,GAA4B,aAC/DA,GAZyB,CAa/Bv8F,IAAe,CAAC,GACfyD,GAA6B,CAAE+4F,IACjCA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAyB,YAAI,GAAK,cAC9CA,EAAYA,EAA+B,kBAAI,GAAK,oBACpDA,EAAYA,EAA8B,iBAAI,GAAK,mBAC5CA,GALwB,CAM9B/4F,IAAc,CAAC,GACdoB,GAAmC,CAAE43F,IACvCA,EAAkBA,EAA6B,UAAI,GAAK,YACxDA,EAAkBA,EAA4B,SAAI,GAAK,WACvDA,EAAkBA,EAAyB,MAAI,GAAK,QAC7CA,GAJ8B,CAKpC53F,IAAoB,CAAC,GACpBmE,GAAgC,CAAE0zF,IACpCA,EAAeA,EAAqB,KAAI,GAAK,OAC7CA,EAAeA,EAA0B,UAAI,GAAK,YAC3CA,GAH2B,CAIjC1zF,IAAiB,CAAC,GACjBJ,GAAiC,CAAE+zF,IACrCA,EAAgBA,EAAsB,KAAI,GAAK,OAC/CA,EAAgBA,EAAkC,iBAAI,GAAK,mBAC3DA,EAAgBA,EAAiC,gBAAI,GAAK,kBAC1DA,EAAgBA,EAA0B,SAAI,GAAK,WACnDA,EAAgBA,EAAkC,iBAAI,GAAK,mBAC3DA,EAAgBA,EAAkC,iBAAI,IAAM,mBAC5DA,EAAgBA,EAA4C,2BAAI,IAAM,6BACtEA,EAAgBA,EAAiC,gBAAI,IAAM,kBAC3DA,EAAgBA,EAAwD,uCAAI,KAAO,yCACnFA,EAAgBA,EAAkC,iBAAI,KAAO,mBAC7DA,EAAgBA,EAAgC,eAAI,IAAM,iBACnDA,GAZ4B,CAalC/zF,IAAkB,CAAC,GAClBlF,GAA4B,CAAEk5F,IAChCA,EAAWA,EAAmB,OAAI,GAAK,SACvCA,EAAWA,EAAmB,OAAI,GAAK,SAChCA,GAHuB,CAI7Bl5F,IAAa,CAAC,GACb2G,GAA8B,CAAEwyF,IAClCA,EAAaA,EAAqB,OAAI,GAAK,SAC3CA,EAAaA,EAAoB,MAAI,GAAK,QAC1CA,EAAaA,EAAuB,SAAI,GAAK,WAC7CA,EAAaA,EAAuB,SAAI,GAAK,WAC7CA,EAAaA,EAAwB,UAAI,GAAK,YAC9CA,EAAaA,EAAqB,OAAI,GAAK,SACpCA,GAPyB,CAQ/BxyF,IAAe,CAAC,GACfzG,GAAoC,CAAEk5F,IACxCA,EAAmBA,EAAyB,KAAI,GAAK,OACrDA,EAAmBA,EAAsC,kBAAI,GAAK,oBAClEA,EAAmBA,EAAqC,iBAAI,GAAK,mBACjEA,EAAmBA,EAAqC,iBAAI,GAAK,mBACjEA,EAAmBA,EAA0C,sBAAI,GAAK,wBACtEA,EAAmBA,EAAiD,6BAAI,IAAM,+BAC9EA,EAAmBA,EAAyC,qBAAI,IAAM,uBACtEA,EAAmBA,EAA6C,yBAAI,IAAM,2BAC1EA,EAAmBA,EAA+B,WAAI,KAAO,aAC7DA,EAAmBA,EAAiC,aAAI,KAAO,eAC/DA,EAAmBA,EAAkC,cAAI,KAAO,gBAChEA,EAAmBA,EAAiC,aAAI,MAAQ,eAChEA,EAAmBA,EAA6B,SAAI,MAAQ,WAC5DA,EAAmBA,EAA+C,2BAAI,KAAO,6BAC7EA,EAAmBA,EAAgC,aAAK,GAAK,cACtDA,GAhB+B,CAiBrCl5F,IAAqB,CAAC,GACrBD,GAAiC,CAAEo5F,IACrCA,EAAgBA,EAAsB,KAAI,GAAK,OAC/CA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAA4B,WAAI,GAAK,aACrDA,EAAgBA,EAAwC,uBAAI,GAAK,yBAC1DA,GAL4B,CAMlCp5F,IAAkB,CAAC,GAClBkG,GAA0B,CAAEmzF,IAC9BA,EAASA,EAAgB,MAAI,GAAK,QAClCA,EAASA,EAAkB,QAAI,GAAK,UACpCA,EAASA,EAAgB,MAAI,GAAK,QAClCA,EAASA,EAAe,MAAK,GAAK,OAC3BA,GALqB,CAM3BnzF,IAAW,CAAC,GACX3J,GAA4C,CAAE+8F,IAChDA,EAA2BA,EAAiC,KAAI,GAAK,OACrEA,EAA2BA,EAA4C,gBAAI,GAAK,kBAChFA,EAA2BA,EAA0C,cAAI,GAAK,gBAC9EA,EAA2BA,EAA8C,kBAAI,GAAK,oBAClFA,EAA2BA,EAAyC,aAAI,GAAK,eAC7EA,EAA2BA,EAAqC,SAAI,GAAK,WACzEA,EAA2BA,EAAsC,UAAI,GAAK,YAC1EA,EAA2BA,EAAsD,0BAAI,GAAK,4BAC1FA,EAA2BA,EAAwD,4BAAI,GAAK,8BAC5FA,EAA2BA,EAA0D,8BAAI,GAAK,gCACvFA,GAXuC,CAY7C/8F,IAA6B,CAAC,GAC7BwB,GAAqC,CAAEw7F,IACzCA,EAAoBA,EAA6B,QAAI,GAAK,UAC1DA,EAAoBA,EAA2B,MAAI,GAAK,QACxDA,EAAoBA,EAAgC,WAAI,GAAK,aAC7DA,EAAoBA,EAA6B,QAAI,GAAK,UACnDA,GALgC,CAMtCx7F,IAAsB,CAAC,GAC1B,SAASic,uBAAuBw/E,EAAGC,GAAY,GAC7C,MAAMz9F,EAAO+B,GAAmBy7F,EAAEE,UAClC,OAAOD,EAAYz9F,EAAKy3E,cAAgBz3E,CAC1C,CACA,IAAIgG,GAAuC,CAAE23F,IAC3CA,EAAsBA,EAA+B,QAAI,GAAK,UAC9DA,EAAsBA,EAA8B,OAAI,GAAK,SAC7DA,EAAsBA,EAA8B,OAAI,GAAK,SAC7DA,EAAsBA,EAA8B,OAAI,GAAK,SAC7DA,EAAsBA,EAAgC,SAAI,IAAM,WAChEA,EAAsBA,EAA+B,QAAI,KAAO,UACzDA,GAPkC,CAQxC33F,IAAwB,CAAC,GACxBH,GAAsC,CAAE+3F,IAC1CA,EAAqBA,EAA6B,OAAI,GAAK,SAC3DA,EAAqBA,EAA2B,KAAI,GAAK,OACzDA,EAAqBA,EAA4B,MAAI,GAAK,QACnDA,GAJiC,CAKvC/3F,IAAuB,CAAC,GACvBuF,GAAgC,CAAEyyF,IACpCA,EAAeA,EAAqC,qBAAI,GAAK,uBAC7DA,EAAeA,EAAwC,wBAAI,GAAK,0BAChEA,EAAeA,EAAuC,uBAAI,GAAK,yBAC/DA,EAAeA,EAAsC,sBAAI,GAAK,wBAC9DA,EAAeA,EAA4B,YAAI,GAAK,cACpDA,EAAeA,EAA6C,6BAAI,GAAK,+BAC9DA,GAP2B,CAQjCzyF,IAAiB,CAAC,GACjBD,GAAqC,CAAE2yF,IACzCA,EAAoBA,EAAiC,YAAI,GAAK,cAC9DA,EAAoBA,EAA0C,qBAAI,GAAK,uBACvEA,EAAoBA,EAA4C,uBAAI,GAAK,yBACzEA,EAAoBA,EAA2C,sBAAI,GAAK,wBACjEA,GALgC,CAMtC3yF,IAAsB,CAAC,GACtBxD,GAAmC,CAAEo2F,IACvCA,EAAkBA,EAAiC,cAAI,GAAK,gBAC5DA,EAAkBA,EAAoC,iBAAI,GAAK,mBAC/DA,EAAkBA,EAAmC,gBAAI,GAAK,kBAC9DA,EAAkBA,EAAkC,eAAI,GAAK,iBACtDA,GAL8B,CAMpCp2F,IAAoB,CAAC,GACpB5B,GAA6B,CAAEi4F,IACjCA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAsB,SAAI,GAAK,WAC3CA,EAAYA,EAAiB,IAAI,GAAK,MACtCA,EAAYA,EAAiB,IAAI,GAAK,MACtCA,EAAYA,EAAoB,OAAI,GAAK,SACzCA,EAAYA,EAAoB,OAAI,GAAK,SACzCA,EAAYA,EAAoB,OAAI,GAAK,SACzCA,EAAYA,EAAoB,OAAI,GAAK,SACzCA,EAAYA,EAAoB,OAAI,IAAM,SAC1CA,EAAYA,EAAoB,OAAI,KAAO,SAC3CA,EAAYA,EAAoB,OAAI,KAAO,SAC3CA,EAAYA,EAAoB,OAAI,KAAO,SAC3CA,EAAYA,EAAsB,SAAI,KAAO,WAC7CA,EAAYA,EAAsB,SAAI,KAAO,WACtCA,GAfwB,CAgB9Bj4F,IAAc,CAAC,GACdf,GAA0B,CAAEi5F,IAC9BA,EAASA,EAAe,KAAI,GAAK,OACjCA,EAASA,EAAmB,SAAI,GAAK,WACrCA,EAASA,EAAgB,MAAI,GAAK,QAClCA,EAASA,EAAsB,YAAI,GAAK,cACxCA,EAASA,EAAmB,SAAI,GAAK,WACrCA,EAASA,EAAsB,YAAI,GAAK,cACjCA,GAPqB,CAQ3Bj5F,IAAW,CAAC,GACXpB,GAAyC,CAAEs6F,IAC7CA,EAAwBA,EAAgC,OAAI,GAAK,SACjEA,EAAwBA,EAAkC,SAAI,GAAK,WACnEA,EAAwBA,EAA+B,MAAI,GAAK,QACzDA,GAJoC,CAK1Ct6F,IAA0B,CAAC,GAC1B0C,GAA8B,CAAE63F,IAClCA,EAAaA,EAAqC,uBAAI,GAAK,yBAC3DA,EAAaA,EAAuB,SAAI,GAAK,WACtCA,GAHyB,CAI/B73F,IAAe,CAAC,GACfoC,GAA6B,CAAE01F,IACjCA,EAAYA,EAAqB,QAAI,GAAK,UAC1CA,EAAYA,EAAgB,GAAI,GAAK,KACrCA,EAAYA,EAAiB,IAAI,GAAK,MACtCA,EAAYA,EAAgB,GAAI,GAAK,KACrCA,EAAYA,EAAiB,IAAI,GAAK,MACtCA,EAAYA,EAAsB,SAAI,GAAK,WAC3CA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAsB,SAAI,GAAK,WACpCA,GATwB,CAU9B11F,IAAc,CAAC,GACdE,GAA+B,CAAEy1F,IACnCA,EAAeA,EAAoB,IAAI,GAAK,MAC5CA,EAAeA,EAAoB,IAAI,GAAK,MAC5CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAuB,OAAI,IAAM,SAChDA,EAAeA,EAAuB,OAAI,IAAM,SAChDA,EAAeA,EAAuB,OAAI,IAAM,SAChDA,EAAeA,EAAqB,KAAI,KAAO,OAC/CA,EAAeA,EAAuB,OAAI,IAAmB,SACtDA,GAhB0B,CAiBhCz1F,IAAgB,CAAC,GAChBvD,GAAkC,CAAEi5F,IACtCA,EAAiBA,EAA2B,SAAI,GAAK,WACrDA,EAAiBA,EAAsB,IAAI,GAAK,MACzCA,GAH6B,CAInCj5F,IAAmB,CAAC,GACnB6F,GAAsC,CAAEqzF,IAC1CA,EAAqBA,EAA2B,KAAI,GAAK,OACzDA,EAAqBA,EAAgC,UAAI,GAAK,YACvDA,GAHiC,CAIvCrzF,IAAuB,CAAC,GACvBjK,GAAiC,CAAEu9F,IACrCA,EAAgBA,EAAqB,KAAK,GAAK,MAC/CA,EAAgBA,EAA+B,cAAI,GAAK,gBACxDA,EAAgBA,EAAmC,kBAAI,KAAO,oBAC9DA,EAAgBA,EAA0B,SAAI,IAAM,WACpDA,EAAgBA,EAAgC,eAAI,IAAM,iBAC1DA,EAAgBA,EAA+B,cAAI,MAAQ,gBAC3DA,EAAgBA,EAAoC,mBAAI,MAAQ,qBAChEA,EAAgBA,EAA0B,SAAI,KAAO,WACrDA,EAAgBA,EAAuB,MAAI,IAAM,QACjDA,EAAgBA,EAAkC,iBAAI,KAAO,mBAC7DA,EAAgBA,EAAwB,OAAI,MAAQ,SACpDA,EAAgBA,EAAwB,OAAI,MAAQ,SACpDA,EAAgBA,EAAyB,QAAI,MAAQ,UACrDA,EAAgBA,EAAyB,QAAI,MAAQ,UACrDA,EAAgBA,EAAiC,gBAAI,MAAQ,kBAC7DA,EAAgBA,EAAgC,eAAI,MAAQ,iBAC5DA,EAAgBA,EAA+B,cAAI,MAAQ,gBAC3DA,EAAgBA,EAA6B,YAAI,MAAQ,cACzDA,EAAgBA,EAAkC,iBAAI,MAAQ,mBAC9DA,EAAgBA,EAA2B,UAAI,MAAQ,YACvDA,EAAgBA,EAA2B,UAAI,MAAQ,YACvDA,EAAgBA,EAAgC,eAAI,MAAQ,iBAC5DA,EAAgBA,EAAoC,mBAAI,MAAQ,qBAChEA,EAAgBA,EAAkC,iBAAI,OAAS,mBAC/DA,EAAgBA,EAAmC,kBAAI,MAAQ,oBAC/DA,EAAgBA,EAAuB,MAAI,MAAQ,QACnDA,EAAgBA,EAAsC,qBAAI,OAAS,uBACnEA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,KAAO,IAC9CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAAmB,EAAI,IAAM,IAC7CA,EAAgBA,EAA2B,UAAI,IAAM,YACrDA,EAAgBA,EAA0B,SAAI,IAAM,WACpDA,EAAgBA,EAAoB,GAAI,IAAM,KAC9CA,EAAgBA,EAA2B,UAAI,IAAM,YACrDA,EAAgBA,EAA0B,SAAI,IAAM,WACpDA,EAAgBA,EAAqB,IAAI,KAAO,MAChDA,EAAgBA,EAAuB,MAAI,IAAM,QACjDA,EAAgBA,EAA4B,WAAI,KAAO,aACvDA,EAAgBA,EAA8B,aAAI,IAAM,eACxDA,EAAgBA,EAA4B,WAAI,IAAM,aACtDA,EAAgBA,EAAuB,MAAI,IAAM,QACjDA,EAAgBA,EAAuB,MAAI,IAAM,QACjDA,EAAgBA,EAAqB,IAAI,IAAM,MAC/CA,EAAgBA,EAA6B,YAAI,IAAM,cACvDA,EAAgBA,EAAwB,OAAI,IAAM,SAClDA,EAAgBA,EAA6B,YAAI,IAAM,cACvDA,EAAgBA,EAA6B,YAAI,IAAM,cACvDA,EAAgBA,EAAsB,KAAI,IAAM,OAChDA,EAAgBA,EAA0B,SAAI,IAAM,WACpDA,EAAgBA,EAAuB,MAAI,IAAM,QACjDA,EAAgBA,EAA2B,UAAI,KAAO,YACtDA,EAAgBA,EAA6B,YAAI,IAAM,cACvDA,EAAgBA,EAA2B,UAAI,IAAM,YACrDA,EAAgBA,EAAyB,QAAI,IAAM,UACnDA,EAAgBA,EAAsB,KAAI,IAAM,OAChDA,EAAgBA,EAA0B,SAAI,IAAM,WACpDA,EAAgBA,EAA2B,UAAI,IAAM,YACrDA,EAAgBA,EAA6B,YAAI,IAAM,cACvDA,EAAgBA,EAAuB,MAAI,IAAM,QACjDA,EAAgBA,EAAuB,MAAI,KAAO,QAClDA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAA0B,SAAI,IAAM,WACpDA,EAAgBA,EAA+B,cAAI,OAAS,gBAC5DA,EAAgBA,EAAqB,IAAI,GAAK,MAC9CA,EAAgBA,EAA6B,YAAI,IAAM,cAChDA,GA/H4B,CAgIlCv9F,IAAkB,CAAC,GAClBwB,GAA4B,CAAEg8F,IAChCA,EAAe,GAAI,MACnBA,EAAgB,IAAI,OACpBA,EAAgB,IAAI,QACpBA,EAAe,GAAI,MACnBA,EAAgB,IAAI,OACpBA,EAAiB,KAAI,QACrBA,EAAwB,YAAI,eAC5BA,EAAgB,IAAI,OACpBA,EAAgB,IAAI,OACpBA,EAAiB,KAAI,SACrBA,EAAgB,IAAI,OACpBA,EAAgB,IAAI,OACpBA,EAAiB,KAAI,SACdA,GAduB,CAe7Bh8F,IAAa,CAAC,GACb6H,GAAiC,CAAEo0F,IACrCA,EAAgBA,EAAsB,KAAI,GAAK,OAC/CA,EAAgBA,EAAoC,mBAAI,GAAK,qBAC7DA,EAAgBA,EAA6B,YAAI,GAAK,cACtDA,EAAgBA,EAAgC,eAAI,GAAK,iBACzDA,EAAgBA,EAAgC,eAAI,GAAK,iBACzDA,EAAgBA,EAAgC,eAAI,IAAM,iBAC1DA,EAAgBA,EAAgC,eAAI,IAAM,iBAC1DA,EAAgBA,EAAgC,eAAI,IAAM,iBAC1DA,EAAgBA,EAAgC,eAAI,KAAO,iBAC3DA,EAAgBA,EAAgC,eAAI,KAAO,iBAC3DA,EAAgBA,EAAgC,eAAI,KAAO,iBAC3DA,EAAgBA,EAAgC,eAAI,MAAQ,iBAC5DA,EAAgBA,EAAmC,kBAAI,MAAQ,oBAC/DA,EAAgBA,EAAiD,gCAAI,MAAQ,kCAC7EA,EAAgBA,EAA+C,8BAAI,MAAQ,gCAC3EA,EAAgBA,EAAqC,oBAAI,OAAS,sBAClEA,EAAgBA,EAAsC,qBAAI,OAAS,uBACnEA,EAAgBA,EAA4C,2BAAI,OAAS,6BACzEA,EAAgBA,EAA8C,6BAAI,QAAU,+BAC5EA,EAAgBA,EAA4C,2BAAI,QAAU,6BAC1EA,EAAgBA,EAAwC,uBAAI,QAAU,yBACtEA,EAAgBA,EAA+B,cAAI,SAAW,gBAC9DA,EAAgBA,EAA+B,cAAI,SAAW,gBAC9DA,EAAgBA,EAAwD,uCAAI,SAAW,yCACvFA,EAAgBA,EAAuC,sBAAI,SAAW,wBACtEA,EAAgBA,EAAqC,oBAAI,UAAY,sBACrEA,EAAgBA,EAAoC,mBAAI,UAAY,qBACpEA,EAAgBA,EAA+C,8BAAI,UAAY,gCAC/EA,EAAgBA,EAAsC,qBAAI,WAAa,uBACvEA,EAAgBA,EAAuD,sCAAI,WAAa,wCACxFA,EAAgBA,EAAuD,sCAAI,WAAa,wCACxFA,EAAgBA,EAAkC,kBAAK,YAAc,mBACrEA,EAAgBA,EAAkC,iBAAI,GAA8B,mBACpFA,EAAgBA,EAA2B,UAAI,GAAuB,YACtEA,EAAgBA,EAA8B,aAAI,GAA0B,eAC5EA,EAAgBA,EAA8B,aAAI,GAA0B,eAC5EA,EAAgBA,EAA8B,aAAI,IAA2B,eAC7EA,EAAgBA,EAA8B,aAAI,IAA2B,eAC7EA,EAAgBA,EAA8B,aAAI,IAA2B,eAC7EA,EAAgBA,EAA8B,aAAI,KAA4B,eAC9EA,EAAgBA,EAA8B,aAAI,KAA4B,eAC9EA,EAAgBA,EAA8B,aAAI,KAA4B,eAC9EA,EAAgBA,EAA8B,aAAI,MAA6B,eAC/EA,EAAgBA,EAAiC,gBAAI,MAAgC,kBACrFA,EAAgBA,EAA+C,8BAAI,MAA8C,gCACjHA,EAAgBA,EAAyC,yBAAK,YAAqC,0BACnGA,EAAgBA,EAAwC,wBAAK,YAA4C,yBACzGA,EAAgBA,EAA8B,cAAK,YAA2C,eAC9FA,EAAgBA,EAAuC,uBAAK,YAAc,wBAC1EA,EAAgBA,EAAkC,kBAAK,YAAc,mBACrEA,EAAgBA,EAAqC,qBAAK,YAAc,sBACxEA,EAAgBA,EAA0C,0BAAK,YAAc,2BAC7EA,EAAgBA,EAAkC,kBAAK,YAAc,mBACrEA,EAAgBA,EAA+B,eAAK,YAAc,gBAClEA,EAAgBA,EAAgC,gBAAK,YAAc,iBACnEA,EAAgBA,EAA8B,cAAK,GAAK,eACxDA,EAAgBA,EAAuC,uBAAK,YAAc,wBAC1EA,EAAgBA,EAAiD,iCAAK,YAAc,kCACpFA,EAAgBA,EAAiD,iCAAK,YAAc,kCACpFA,EAAgBA,EAAmC,mBAAK,YAAiC,oBACzFA,EAAgBA,EAAqC,qBAAK,YAAc,sBACxEA,EAAgBA,EAAwC,wBAAK,YAAc,yBAC3EA,EAAgBA,EAA4C,2BAAI,WAAa,6BAC7EA,EAAgBA,EAA8C,6BAAI,WAAa,+BACxEA,GAjE4B,CAkElCp0F,IAAkB,CAAC,GAClBd,GAA8B,CAAEm1F,IAClCA,EAAaA,EAAsB,QAAI,GAAK,UAC5CA,EAAaA,EAA0B,YAAI,GAAK,cAChDA,EAAaA,EAAqB,OAAI,GAAK,SAC3CA,EAAaA,EAAuB,SAAI,GAAK,WACtCA,GALyB,CAM/Bn1F,IAAe,CAAC,GACfrH,GAA4B,CAAEy8F,IAChCA,EAAWA,EAAiB,KAAI,GAAK,OACrCA,EAAWA,EAAuB,WAAI,GAAK,aAC3CA,EAAWA,EAAsB,UAAI,GAAK,YAC1CA,EAAWA,EAA6B,iBAAI,GAAK,mBACjDA,EAAWA,EAA2B,eAAI,GAAK,iBAC/CA,EAAWA,EAAyB,aAAI,IAAM,eAC9CA,EAAWA,EAA+B,mBAAI,IAAM,qBACpDA,EAAWA,EAAgC,oBAAI,IAAM,sBACrDA,EAAWA,EAAwB,YAAI,IAAM,cAC7CA,EAAWA,EAA+B,mBAAI,KAAO,qBACrDA,EAAWA,EAAqC,yBAAI,KAAO,2BAC3DA,EAAWA,EAAsC,0BAAI,KAAO,4BAC5DA,EAAWA,EAA8B,kBAAI,KAAO,oBACpDA,EAAWA,EAA8B,kBAAI,MAAQ,oBACrDA,EAAWA,EAA+B,mBAAI,MAAQ,qBACtDA,EAAWA,EAAuB,WAAI,MAAQ,aAC9CA,EAAWA,EAA6B,iBAAI,MAAQ,mBACpDA,EAAWA,EAAuB,WAAI,MAAQ,aAC9CA,EAAWA,EAAuB,WAAI,OAAS,aAC/CA,EAAWA,EAAsB,UAAI,OAAS,YAC9CA,EAAWA,EAAyB,aAAI,OAAS,eACjDA,EAAWA,EAAqB,SAAI,QAAU,WAC9CA,EAAWA,EAA0B,cAAI,QAAU,gBACnDA,EAAWA,EAA8B,kBAAI,QAAU,oBACvDA,EAAWA,EAAmC,uBAAI,SAAW,yBAC7DA,EAAWA,EAA2B,eAAI,SAAW,iBACrDA,EAAWA,EAAuB,WAAI,SAAW,aACjDA,EAAWA,EAAqB,SAAI,SAAW,WAC/CA,EAAWA,EAA4B,gBAAI,UAAY,kBAChDA,GA9BuB,CA+B7Bz8F,IAAa,CAAC,GACbmC,GAAoC,CAAEu6F,IACxCA,EAAmBA,EAAyB,KAAI,GAAK,OACrDA,EAAmBA,EAA2C,uBAAI,GAAK,yBACvEA,EAAmBA,EAA2C,uBAAI,GAAK,yBACvEA,EAAmBA,EAAyC,qBAAI,GAAK,uBACrEA,EAAmBA,EAA8B,UAAI,GAAK,YAC1DA,EAAmBA,EAAiC,aAAI,IAAM,eAC9DA,EAAmBA,EAAmD,+BAAI,IAAM,iCACzEA,GAR+B,CASrCv6F,IAAqB,CAAC,GACrBa,GAA+B,CACjC25F,QAAS,EACTC,MAAO,EACPC,WAAY,EACZC,UAAW,EACXC,eAAgB,EAChBC,aAAc,EACdC,gBAAiB,EACjBC,wBAAyB,EACzBC,gBAAiB,EACjBC,eAAgB,EAChBC,qBAAsB,EACtBC,aAAc,EACdC,8BAA+B,EAC/BC,6BAA8B,EAC9BC,eAAgB,EAChBC,eAAgB,EAChBC,WAAY,EACZC,gBAAiB,EACjBC,eAAgB,EAChBC,iBAAkB,EAClBC,6BAA8B,EAC9BC,iBAAkB,EAClBC,OAAQ,EACRC,gBAAiB,EACjBC,iBAAkB,EAClBC,kBAAmB,EACnBC,cAAe,EACfC,YAAa,EACbC,iCAAkC,EAClCC,iCAAkC,EAClCC,gBAAiB,GACjBC,kCAAmC,GACnCC,mBAAoB,GACpBC,+BAAgC,IAE9Br+F,GAAsC,CAAEs+F,IAC1CA,EAAqBA,EAA8B,QAAI,GAAK,UAC5DA,EAAqBA,EAA6B,OAAI,GAAK,SAC3DA,EAAqBA,EAA2B,KAAI,GAAK,OACzDA,EAAqBA,EAA+B,SAAI,GAAK,WAC7DA,EAAqBA,EAAmD,6BAAI,GAAoB,+BAChGA,EAAqBA,EAA+B,SAAI,IAAM,WAC9DA,EAAqBA,EAA4B,MAAI,IAAM,QAC3DA,EAAqBA,EAA8B,QAAI,IAAM,UAC7DA,EAAqBA,EAAgC,UAAI,KAAO,YAChEA,EAAqBA,EAA6B,OAAI,KAAO,SAC7DA,EAAqBA,EAA2B,KAAI,KAAO,OAC3DA,EAAqBA,EAAkC,YAAI,MAAQ,cACnEA,EAAqBA,EAA4B,MAAI,MAAQ,QAC7DA,EAAqBA,EAAqC,eAAI,MAAQ,iBACtEA,EAAqBA,EAAqC,eAAI,MAAQ,iBACtEA,EAAqBA,EAAkC,YAAI,OAAS,cACpEA,EAAqBA,EAAiC,WAAI,OAAS,aACnEA,EAAqBA,EAAiC,WAAI,OAAS,aACnEA,EAAqBA,EAAoC,cAAI,QAAU,gBACvEA,EAAqBA,EAAyC,mBAAI,QAAU,qBAC5EA,EAAqBA,EAA2C,qBAAI,QAAU,uBAC9EA,EAAqBA,EAA2C,qBAAI,SAAW,uBAC/EA,EAAqBA,EAA0C,oBAAI,SAAW,sBAC9EA,EAAqBA,EAAsC,gBAAI,SAAW,kBAC1EA,EAAqBA,EAA8B,QAAI,SAAW,UAClEA,EAAqBA,EAA+D,yCAAI,UAAY,2CACpGA,EAAqBA,EAAqD,+BAAI,UAAY,iCAC1FA,EAAqBA,EAAsC,gBAAI,GAAmB,kBAClFA,EAAqBA,EAAqC,eAAI,UAA2D,iBACzHA,EAAqBA,EAAoC,cAAI,KAAoB,gBACjFA,EAAqBA,EAAyC,mBAAI,OAA2B,qBAC7FA,EAAqBA,EAA6C,uBAAI,MAAQ,yBAC9EA,EAAqBA,EAA6C,uBAAI,OAAS,yBAC/EA,EAAqBA,EAAqC,eAAI,MAAQ,iBAC/DA,GAnCiC,CAoCvCt+F,IAAuB,CAAC,GACvBN,GAA2B,CAAE6+F,IAC/BA,EAAUA,EAAsB,WAAI,GAAK,aACzCA,EAAUA,EAAsB,WAAI,GAAK,aACzCA,EAAUA,EAA0B,eAAI,GAAK,iBAC7CA,EAAUA,EAA+B,oBAAI,GAAK,sBAClDA,EAAUA,EAAuB,YAAI,GAAK,cAC1CA,EAAUA,EAA6B,kBAAI,GAAK,oBAChDA,EAAUA,EAA6B,kBAAI,GAAK,oBAChDA,EAAUA,EAAoC,yBAAI,GAAK,2BAChDA,GATsB,CAU5B7+F,IAAY,CAAC,GACZ8E,GAAuC,CAAEg6F,IAC3CA,EAAsBA,EAAmC,YAAI,GAAK,cAClEA,EAAsBA,EAAsC,eAAI,GAAK,iBACrEA,EAAsBA,EAAyC,kBAAI,GAAK,oBACxEA,EAAsBA,EAAmD,4BAAI,GAAK,8BAClFA,EAAsBA,EAAoD,6BAAI,IAAM,+BACpFA,EAAsBA,EAAiC,UAAI,IAAM,YACjEA,EAAsBA,EAAkC,WAAI,IAAM,aAClEA,EAAsBA,EAA2B,IAAI,IAAM,MAC3DA,EAAsBA,EAAiD,2BAAK,YAAc,4BACnFA,GAVkC,CAWxCh6F,IAAwB,CAAC,GACxB5B,GAA0C,CAAE67F,IAC9CA,EAAyBA,EAA+B,KAAI,GAAK,OACjEA,EAAyBA,EAAuC,aAAI,GAAK,eACzEA,EAAyBA,EAAuD,6BAAI,GAAK,+BAClFA,GAJqC,CAK3C77F,IAA2B,CAAC,GAC3BC,GAA6B,CAAE67F,IACjCA,EAAYA,EAAkB,KAAI,GAAK,OACvCA,EAAYA,EAAwB,WAAI,GAAK,aAC7CA,EAAYA,EAAuB,UAAI,GAAK,YAC5CA,EAAYA,EAA2B,cAAI,GAAK,gBAChDA,EAAYA,EAAuB,UAAI,GAAK,YAC5CA,EAAYA,EAA0B,aAAI,GAAK,eAC/CA,EAAYA,EAA0B,aAAI,GAAK,eAC/CA,EAAYA,EAAgC,mBAAI,GAAK,qBACrDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAA+B,kBAAI,IAAM,oBACrDA,EAAYA,EAA4B,eAAI,IAAM,iBAClDA,EAAYA,EAAgC,mBAAI,IAAM,qBACtDA,EAAYA,EAAsB,SAAI,KAAO,WAC7CA,EAAYA,EAAgC,mBAAI,KAAO,qBACvDA,EAAYA,EAAkC,qBAAI,KAAO,uBACzDA,EAAYA,EAAoB,OAAI,MAAQ,SAC5CA,EAAYA,EAAyB,YAAI,MAAQ,cACjDA,EAAYA,EAA2B,cAAI,MAAQ,gBACnDA,EAAYA,EAA4B,eAAI,MAAQ,iBACpDA,EAAYA,EAA0B,aAAI,OAAS,eACnDA,EAAYA,EAAiC,oBAAI,OAAS,sBAC1DA,EAAYA,EAA6B,gBAAI,OAAS,kBACtDA,EAAYA,EAAsB,SAAI,OAAS,WAC/CA,EAAYA,EAA2B,cAAI,OAAS,gBACpDA,EAAYA,EAA+B,kBAAI,QAAU,oBACzDA,EAAYA,EAAmC,sBAAI,QAAU,wBAC7DA,EAAYA,EAA4B,eAAI,QAAU,iBACtDA,EAAYA,EAA2B,cAAI,SAAW,gBACtDA,EAAYA,EAA4B,eAAI,SAAW,iBACvDA,EAAYA,EAAuB,UAAI,SAAW,YAClDA,EAAYA,EAA6B,gBAAI,KAAO,kBACpDA,EAAYA,EAA0C,6BAAI,KAAO,+BACjEA,EAAYA,EAAyC,4BAAI,OAAS,8BAClEA,EAAYA,EAAyC,4BAAI,KAAO,8BAChEA,EAAYA,EAAwC,2BAAI,KAAO,6BAC/DA,EAAYA,EAAmC,sBAAI,KAAO,wBAC1DA,EAAYA,EAA0C,6BAAI,KAAO,+BACjEA,EAAYA,EAA0C,6BAAI,QAAU,+BACpEA,EAAYA,EAAyC,4BAAI,QAAU,8BACnEA,EAAYA,EAA+C,kCAAI,QAAU,oCACzEA,EAAYA,EAA8B,iBAAI,QAAU,mBACxDA,EAAYA,EAAiC,oBAAI,QAAiC,sBAClFA,EAAYA,EAA4C,+BAAI,MAAQ,iCACpEA,EAAYA,EAA+B,kBAAI,KAAO,oBACtDA,EAAYA,EAAqC,wBAAI,MAAQ,0BAC7DA,EAAYA,EAAoC,uBAAI,OAAS,yBAC7DA,EAAYA,EAAqC,wBAAI,QAAU,0BAC/DA,EAAYA,EAAuC,0BAAI,KAAO,4BAC9DA,EAAYA,EAAsC,yBAAI,KAAO,2BAC7DA,EAAYA,EAAqC,wBAAI,KAAO,0BAC5DA,EAAYA,EAA8C,iCAAI,KAAO,mCACrEA,EAAYA,EAA6C,gCAAI,GAAqB,kCAClFA,EAAYA,EAAkC,qBAAI,GAAsB,uBACxEA,EAAYA,EAA0B,aAAI,KAAO,eACjDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAAyB,YAAI,KAAO,cAChDA,EAAYA,EAA8B,iBAAI,KAAO,mBACrDA,EAAYA,EAA2C,8BAAI,QAAU,gCACrEA,EAAYA,EAA0C,6BAAI,QAAU,+BACpEA,EAAYA,EAAkC,qBAAI,QAAU,uBAC5DA,EAAYA,EAA2C,8BAAI,QAAU,gCACrEA,EAAYA,EAAiC,oBAAI,KAAO,sBACxDA,EAAYA,EAAkC,qBAAI,QAAU,uBAC5DA,EAAYA,EAAwB,WAAI,SAAW,aACnDA,EAAYA,EAA2B,cAAI,OAAS,gBACpDA,EAAYA,EAA4B,eAAI,OAAS,iBACrDA,EAAYA,EAAwB,WAAI,MAAQ,aAChDA,EAAYA,EAAsC,yBAAI,MAAQ,2BAC9DA,EAAYA,EAA0B,aAAI,IAAM,eACzCA,GAtEwB,CAuE9B77F,IAAc,CAAC,GACdqC,GAAkC,CAAEy5F,IACtCA,EAAiBA,EAAuB,KAAI,GAAK,OACjDA,EAAiBA,EAAiC,eAAI,GAAK,iBAC3DA,EAAiBA,EAA6B,WAAI,GAAK,aACvDA,EAAiBA,EAA4B,UAAI,GAAK,YACtDA,EAAiBA,EAAsB,IAAI,GAAK,MAChDA,EAAiBA,EAA0B,QAAI,GAAe,UACvDA,GAP6B,CAQnCz5F,IAAmB,CAAC,GACnB+J,GAAiB,CACnB,UAAa,CACXqjE,KAAM,CACJ,CAAEh1E,KAAM,QAASshG,UAAU,EAAMC,aAAa,GAC9C,CAAEvhG,KAAM,MAAOshG,UAAU,EAAMC,aAAa,GAC5C,CAAEvhG,KAAM,OAAQshG,UAAU,EAAMC,aAAa,GAC7C,CAAEvhG,KAAM,iBAAkBshG,UAAU,GACpC,CAAEthG,KAAM,kBAAmBshG,UAAU,GACrC,CAAEthG,KAAM,WAAYshG,UAAU,IAEhCpiB,KAAM,GAER,iBAAkB,CAChBlK,KAAM,CAAC,CAAEh1E,KAAM,QAAU,CAAEA,KAAM,OAAQshG,UAAU,IACnDpiB,KAAM,GAER,aAAc,CACZlK,KAAM,CAAC,CAAEh1E,KAAM,SACfk/E,KAAM,GAER,WAAY,CACVA,KAAM,GAER,aAAc,CACZA,KAAM,GAER,IAAO,CACLlK,KAAM,CAAC,CAAEh1E,KAAM,YACfk/E,KAAM,GAER,QAAW,CACTlK,KAAM,CAAC,CAAEh1E,KAAM,YACfk/E,KAAM,GAER,gBAAmB,CACjBlK,KAAM,CAAC,CAAEh1E,KAAM,YACfk/E,KAAM,GAER,WAAc,CACZlK,KAAM,CAAC,CAAEh1E,KAAM,YACfk/E,KAAM,IAGNv6E,GAAmC,CAAE68F,IACvCA,EAAkBA,EAA4B,SAAI,GAAK,WACvDA,EAAkBA,EAA6B,UAAI,GAAK,YACxDA,EAAkBA,EAAsC,mBAAI,GAAK,qBACjEA,EAAkBA,EAAoC,iBAAI,GAAK,mBACxDA,GAL8B,CAMpC78F,IAAoB,CAAC,GAGxB,SAAS+hB,iBAAiB+6E,GACxB,IAAIC,EAAM,KACV,IAAK,IAAI9yB,EAAI,EAAGA,EAAI6yB,EAAKhwC,OAAQmd,IAC/B8yB,GAAOA,GAAO,GAAKA,EAAMD,EAAKxxB,WAAWrB,GAE3C,OAAO8yB,EAAIjiB,UACb,CACA,SAAS9e,qBACH7hE,MAAM6iG,gBAAkB,MAC1B7iG,MAAM6iG,gBAAkB,IAE5B,CACA,IAAI7+F,GAAuC,CAAE8+F,IAC3CA,EAAsBA,EAA+B,QAAI,GAAK,UAC9DA,EAAsBA,EAA+B,QAAI,GAAK,UAC9DA,EAAsBA,EAA+B,QAAI,GAAK,UACvDA,GAJkC,CAKxC9+F,IAAwB,CAAC,GACxB4E,GAAkC,CAAEm6F,IACtCA,EAAiBA,EAAuB,KAAI,KAAO,OACnDA,EAAiBA,EAAyB,OAAI,KAAO,SACrDA,EAAiBA,EAAsB,IAAI,KAAO,MAC3CA,GAJ6B,CAKnCn6F,IAAmB,CAAC,GACnB6rD,GAA0C,IAAIo9B,KAAK,GACvD,SAASv6D,gBAAgB0rE,EAAMhnB,GAC7B,OAAOgnB,EAAK1rE,gBAAgB0kD,IAAavnB,EAC3C,CACA,SAASwuC,iCAAiCC,GACxC,MAAO,CACL,IAAiBA,EAAOC,IACxB,IAAoBD,EAAOE,OAC3B,IAAkBF,EAAOG,KAE7B,CACA,IAAIC,GAAqB,CAAEH,IAAK,GAAIC,OAAQ,GAAIC,KAAM,KAClDE,GAAmBN,iCAAiCK,IACpDv2B,GAA0Bk2B,iCAAiCK,IA0C/D,SAASE,qBAAqBR,EAAMS,EAAOC,EAAWC,EAAWC,GAC/D,IAAIC,EAA0BH,EAC9B,IAAK,IAAII,EAAWL,EAAM9wC,OAAQgxC,GAAaG,EAAUC,gBAAiBD,IAAY,CACpF,MAAME,EAAcP,EAAMC,GAC1B,IAAKM,EACH,SACK,GAAIA,EAAYC,SAAU,CAC/BR,EAAMC,QAAa,EACnB,QACF,CACAC,IACA,MAAMO,EAAcC,kBAAkBH,EAAa1sE,gBAAgB0rE,EAAMgB,EAAYhoB,WACjFgoB,EAAYC,SACdR,EAAMC,QAAa,GAGM,MAA3BE,GAA2CA,EAAwBI,EAAaN,EAAWQ,GACvFT,EAAMC,KACJG,EAA0BH,IAC5BD,EAAMI,GAA2BG,EACjCP,EAAMC,QAAa,GAErBG,KAEJ,CACA,OAAOH,EACP,SAASK,kBACPL,IACkBD,EAAM9wC,SAClBkxC,EAA0BH,IAC5BD,EAAM9wC,OAASkxC,GAEjBH,EAAY,EACZG,EAA0B,EAE9B,CACF,CACA,SAASO,sCAAsCpB,GAC7C,MAAMqB,EAAe,GACfC,EAAyB,GACzBC,EAA0BC,2BAA2B,KACrDC,EAA6BD,2BAA2B,KACxDE,EAA2BF,2BAA2B,KAC5D,OACA,SAASG,WAAW3oB,EAAUnM,EAAU+0B,GACtC,MAAMzJ,EAAO,CACXnf,WACAnM,WACAg1B,eAAgB,EAChBC,MAAOxtE,gBAAgB0rE,EAAMhnB,IAI/B,OAFAqoB,EAAa5zB,KAAK0qB,GAClB4J,0BAA0B5J,EAAMyJ,GACzB,CACLI,MAAO,KACL7J,EAAK8I,UAAW,EAChB92B,oBAAoBk3B,EAAclJ,IAGxC,EACA,SAASqJ,2BAA2BS,GAClC,MAAMxB,EAAQ,GAId,OAHAA,EAAMwB,gBAAkBA,EACxBxB,EAAMC,UAAY,EAClBD,EAAMyB,eAAgB,EACfzB,CACT,CACA,SAAS0B,yBAAyBC,EAAc3B,GAC9CA,EAAMC,UAAY2B,UAAU5B,EAAOA,EAAMwB,gBAAiBxB,EAAMC,UAAWH,GAAiBE,EAAMwB,kBAC9FxB,EAAM9wC,OACR2yC,iBAAiB7B,EAAMwB,kBAEvBjiG,EAAMkyE,OAA2B,IAApBuuB,EAAMC,WACnBD,EAAMyB,eAAgB,EAE1B,CACA,SAASK,4BAA4BH,EAAc3B,GACjD4B,UACEf,EACA,IAEA,EACAA,EAAuB3xC,QAEzBwyC,yBAAyBC,EAAc3B,IAClCA,EAAMyB,eAAiBZ,EAAuB3xC,QACjD2yC,iBAAiB,IAErB,CACA,SAASD,UAAU5B,EAAOwB,EAAiBvB,EAAWC,GACpD,OAAOH,qBACLR,EACAS,EACAC,EACAC,EAGF,SAAS6B,gBAAgBxB,EAAayB,EAAYvB,GAC5CA,GACFF,EAAYa,eAAiB,EACzBpB,IAAUa,IACZb,EAAMgC,QAAc,EA8B5B,SAASC,wCAAwCvK,GAC/CmJ,EAAuB7zB,KAAK0qB,GAC5BwK,sCAAsC,IACxC,CAhCQD,CAAwC1B,KAEjCA,EAAYa,iBAAmB93B,GAAwBk4B,GAChEjB,EAAYa,iBACHpB,IAAUa,GACnBN,EAAYa,eAAiB,EAC7BpB,EAAMgC,QAAc,EACpBV,0BAA0Bf,EAAa,MACV,MAApBiB,IACTjB,EAAYa,iBACZpB,EAAMgC,QAAc,EACpBV,0BAA0Bf,EAAiC,MAApBiB,EAAoC,IAAmB,KAElG,EACF,CACA,SAASW,qBAAqBX,GAC5B,OAAQA,GACN,KAAK,IACH,OAAOV,EACT,KAAK,IACH,OAAOE,EACT,KAAK,IACH,OAAOC,EAEb,CACA,SAASK,0BAA0B5J,EAAM8J,GACvCW,qBAAqBX,GAAiBx0B,KAAK0qB,GAC3CwK,sCAAsCV,EACxC,CAKA,SAASU,sCAAsCV,GACxCW,qBAAqBX,GAAiBC,eACzCI,iBAAiBL,EAErB,CACA,SAASK,iBAAiBL,GACxBW,qBAAqBX,GAAiBC,cAAgBlC,EAAK6C,WAA+B,MAApBZ,EAAoCM,4BAA8BJ,yBAA0BF,EAAqC,MAApBA,EAAoC,8BAAgC,2BAA4BW,qBAAqBX,GAC1S,CACF,CACA,SAASa,4CAA4CC,EAAS3pB,EAA4B4pB,EAAkBC,GAC1G,MAAMC,EAAuBvrF,iBACvBwrF,EAAiBF,EAAuC,IAAIt2B,SAAQ,EACpEy2B,EAA8B,IAAIz2B,IAClC02B,EAAkB9sF,2BAA2B6iE,GACnD,OACA,SAASkqB,oBAAoBtqB,EAAUnM,EAAU02B,EAAkBC,GACjE,MAAMC,EAAWJ,EAAgBrqB,GAC2B,IAAxDkqB,EAAqB/zB,IAAIs0B,EAAU52B,GAAUld,QAAgBwzC,GAC/DA,EAAej0B,IAAIu0B,EAAUT,EAAiBhqB,IAAavnB,IAE7D,MAAMiyC,EAAU75E,iBAAiB45E,IAAa,IACxCE,EAAUP,EAAYjlG,IAAIulG,IAclC,SAASE,uBAAuBC,EAASH,EAASF,GAChD,MAAMG,EAAUZ,EACdc,EACA,EACA,CAACC,EAAWC,KACV,IAAK/6C,SAAS+6C,GAAmB,OACjC,MAAM/qB,EAAWtiD,0BAA0BqtE,EAAkBF,GACvDJ,EAAWJ,EAAgBrqB,GAC3BgrB,EAAYhrB,GAAYkqB,EAAqB/kG,IAAIslG,GACvD,GAAIO,EAAW,CACb,IAAIC,EACAC,EAAY,EAChB,GAAIf,EAAgB,CAClB,MAAMgB,EAAehB,EAAehlG,IAAIslG,GACxC,GAAkB,WAAdK,IACFG,EAAsBjB,EAAiBhqB,IAAavnB,GAChDwyC,EAAoBG,YAAcD,EAAaC,WAAW,OAEhEH,IAAwBA,EAAsBjB,EAAiBhqB,IAAavnB,IAC5E0xC,EAAej0B,IAAIu0B,EAAUQ,GACzBE,IAAiB1yC,GAAyByyC,EAAY,EACjDD,IAAwBxyC,KAAyByyC,EAAY,EACxE,CACA,IAAK,MAAMG,KAAgBL,EACzBK,EAAarrB,EAAUkrB,EAAWD,EAEtC,IAGF,EACA,IACAT,GAIF,OAFAG,EAAQW,eAAiB,EACzBlB,EAAYl0B,IAAIw0B,EAASC,GAClBA,CACT,CAlD8CC,CAAuB/5E,iBAAiBmvD,IAAa,IAAK0qB,EAASF,GAE/G,OADAG,EAAQW,iBACD,CACLtC,MAAO,KAC0B,IAA3B2B,EAAQW,gBACVX,EAAQ3B,QACRoB,EAAYhvB,OAAOsvB,IAEnBC,EAAQW,iBAEVpB,EAAqBjvB,OAAOwvB,EAAU52B,IAG5C,CAsCF,CA+BA,SAAS03B,2BAA2BC,EAAOprB,EAA4Bl7E,EAAM2uE,EAAU43B,GACrF,MACMrM,EADsB7hF,2BAA2B6iE,EAC1CsrB,CAAoBxmG,GAC3BigF,EAAWqmB,EAAMrmG,IAAIi6F,GAe3B,OAdIja,EACFA,EAAS6lB,UAAUv2B,KAAKZ,GAExB23B,EAAMt1B,IAAIkpB,EAAM,CACduL,QAASc,EAEP,CAACE,EAAQC,EAAQC,KACf,IAAIlhB,EACJ,OAAiC,OAAzBA,EAAK6gB,EAAMrmG,IAAIi6F,SAAiB,EAASzU,EAAGqgB,UAAU11B,QAAQ/rD,QAASmtD,GAAOA,EAAGi1B,EAAQC,EAAQC,MAG7Gb,UAAW,CAACn3B,KAGT,CACLm1B,MAAO,KACL,MAAM2B,EAAUa,EAAMrmG,IAAIi6F,GACrBuL,GACA9tC,kBAAkB8tC,EAAQK,UAAWn3B,KAAa82B,EAAQK,UAAUr0C,SACzE60C,EAAMpwB,OAAOgkB,GACb/oF,mBAAmBs0F,KAGzB,CACA,SAASxC,kBAAkBH,EAAa8D,GACtC,MAAMC,EAAU/D,EAAYc,MAAMsC,UAC5BY,EAAUF,EAAaV,UAC7B,OAAIW,IAAYC,IACdhE,EAAYc,MAAQgD,EACpB9D,EAAYn0B,SAASm0B,EAAYhoB,SAAUprD,wBAAwBm3E,EAASC,GAAUF,IAC/E,EAGX,CACA,SAASl3E,wBAAwBm3E,EAASC,GACxC,OAAmB,IAAZD,EAAgB,EAA8B,IAAZC,EAAgB,EAAkB,CAC7E,CACA,IAAI1gE,GAAe,CAAC,kBAAmB,QAAS,OAC5C2gE,GAAYxwC,KAChB,SAAS2O,OAAOwY,GACd,OAAOqpB,GAAUrpB,EACnB,CACA,SAAS1c,UAAUgmC,GACjBD,GAAYC,CACd,CACA,SAASC,2CAA0C,eACjDC,EACAC,0BAA2BjsB,EAA0B,oBACrDksB,EAAmB,oCACnBC,EAAmC,sBACnCC,EAAqB,SACrBC,EACA5C,WAAY6C,EACZC,aAAcC,IAEd,MAAMpB,EAAwB,IAAI73B,IAC5Bk5B,EAAgBluF,iBAChBmuF,EAA4C,IAAIn5B,IACtD,IAAIo5B,EACJ,MAAMC,EAAmBzoE,mBAAmB67C,GACtC6sB,EAAsB1vF,2BAA2B6iE,GACvD,MAAO,CAACyqB,EAASh3B,EAAU6kB,EAAWwU,IAAYxU,EAAYkS,uBAAuBC,EAASqC,EAASr5B,GAAYu4B,EAAevB,EAASh3B,EAAU6kB,EAAWwU,GAChK,SAAStC,uBAAuBC,EAASqC,EAASr5B,EAAUs5B,GAC1D,MAAMzC,EAAUuC,EAAoBpC,GACpC,IAAIuC,EAAmB5B,EAAMrmG,IAAIulG,GAC7B0C,EACFA,EAAiBC,YAEjBD,EAAmB,CACjBzC,QAASyB,EACPvB,EACC7qB,IACC,IAAI2K,EACA2iB,cAActtB,EAAUktB,MACb,MAAXA,OAAkB,EAASA,EAAQK,6BACF,OAA5B5iB,EAAK6gB,EAAMrmG,IAAIulG,SAAoB,EAAS/f,EAAG6iB,gBAAgBC,gBAAgB5C,EAASH,EAAS1qB,GACxG0tB,mBAAmB7C,EAASH,EAASwC,IA4EjD,SAASS,0BAA0B9C,EAASH,EAAS1qB,EAAUktB,GAC7D,MAAMU,EAAgBpC,EAAMrmG,IAAIulG,GAChC,GAAIkD,GAAiBpB,EAAsB3B,EAAS,GAElD,YAMJ,SAASgD,2BAA2BhD,EAASH,EAAS1qB,EAAUktB,GAC9D,MAAM/nB,EAAW2nB,EAA0B3nG,IAAIulG,GAC3CvlB,EACFA,EAAS2oB,UAAUr5B,KAAKuL,GAExB8sB,EAA0B52B,IAAIw0B,EAAS,CAAEG,UAASqC,UAASY,UAAW,CAAC9tB,KAErE+sB,IACFH,EAAcG,GACdA,OAA4B,GAE9BA,EAA4BL,EAAYqB,4BAA6B,IAAK,4BAC5E,CAnBIF,CAA2BhD,EAASH,EAAS1qB,EAAUktB,GAGzDO,gBAAgB5C,EAASH,EAAS1qB,GAClCguB,mBAAmBJ,GACnBK,mBAAmBL,EACrB,CAnFYD,CAA0B9C,EAASH,EAAS1qB,EAAUktB,MAI1D,EACAA,GAEFG,SAAU,EACVa,aAAc5pF,EACdkpF,mBAAe,EACfzgB,WAAO,GAETye,EAAMt1B,IAAIw0B,EAAS0C,GACnBM,mBAAmB7C,EAASH,EAASwC,IAEnCC,IAAOC,EAAiBrgB,QAAUqgB,EAAiBrgB,MAAwB,IAAII,MAAQhX,IAAIg3B,GAC/F,MAAMgB,EAAgBt6B,GAAY,CAAEg3B,UAASh3B,YAI7C,OAHIs6B,GACFtB,EAAc12B,IAAIu0B,EAASyD,GAEtB,CACLtD,UACA7B,MAAO,KACL,IAAIre,EACJ,MAAMyjB,EAAoBpnG,EAAMmyE,aAAaqyB,EAAMrmG,IAAIulG,IACnDyD,GAAetB,EAAc5xB,OAAOyvB,EAASyD,GAC7ChB,IAAwC,OAAjCxiB,EAAKyjB,EAAkBrhB,QAA0BpC,EAAGvP,OAAO+xB,IACtEiB,EAAkBf,WACde,EAAkBf,WACtB7B,EAAMpwB,OAAOsvB,GACb0D,EAAkBrhB,WAAQ,EAC1B12E,mBAAmB+3F,GACnBJ,mBAAmBI,GACnBA,EAAkBF,aAAa3kF,QAAQnT,oBAG7C,CACA,SAASq3F,gBAAgB5C,EAASH,EAAS2D,EAAqBP,GAC9D,IAAInjB,EAAI8O,EACR,IAAIzZ,EACAsuB,EACAt+C,SAASq+C,GACXruB,EAAWquB,EAEXC,EAAYD,EAEdxB,EAActjF,QAAQ,CAACyhF,EAAWuD,KAChC,KAAID,IAA4C,IAA/BA,EAAUnpG,IAAIopG,MAC3BA,IAAgB7D,GAAW1hC,WAAW0hC,EAAS6D,IAAgB7D,EAAQ6D,EAAY53C,UAAYrzC,IACjG,GAAIgrF,EACF,GAAIR,EAAW,CACb,MAAM3oB,EAAWmpB,EAAUnpG,IAAIopG,GAC3BppB,EACFA,EAAS1Q,QAAQq5B,GAEjBQ,EAAUp4B,IAAIq4B,EAAaT,EAAUx4B,QAEzC,MACEg5B,EAAUp4B,IAAIq4B,GAAa,QAG7BvD,EAAUzhF,QAAQ,EAAGsqD,cAAeA,EAASmM,MAIa,OAA/DyZ,EAAkC,OAA5B9O,EAAK6gB,EAAMrmG,IAAIulG,SAAoB,EAAS/f,EAAGoC,QAA0B0M,EAAGlwE,QAAS4jF,IAC1F,MAAMqB,aAAgBC,GAAc93F,aAAaw2F,EAAM5rE,6BAA6BspE,EAAS4D,EAAWxB,IACpGqB,EACFb,gBAAgBN,EAAMF,EAAoBE,GAAOmB,EAAwB,MAAbR,OAAoB,EAASA,EAAUz2C,IAAIm3C,eAEvGf,gBAAgBN,EAAMF,EAAoBE,GAAOqB,aAAaxuB,KAGpE,CAwBA,SAAS+tB,8BACP,IAAIpjB,EACJoiB,OAA4B,EAC5B3iC,OAAO,0CAA0C0iC,EAA0BrzB,QAC3E,MAAMvE,EAAQlJ,IACRsiC,EAA4B,IAAI36B,IACtC,MAAQo5B,GAA6BD,EAA0BrzB,MAAM,CACnE,MAAM1F,EAAS+4B,EAA0BxwB,UAAUtE,OACnDhxE,EAAMkyE,QAAQnF,EAAO26B,MACrB,MAAQz6B,OAAQy2B,GAAS,QAAEG,EAAO,QAAEqC,EAAO,UAAEY,KAAiB/5B,EAC9D+4B,EAA0B1xB,OAAOsvB,GACjC,MAAMhpB,EAAagsB,mBAAmB7C,EAASH,EAASwC,IACrB,OAA5BviB,EAAK6gB,EAAMrmG,IAAIulG,SAAoB,EAAS/f,EAAG6iB,gBAAgBC,gBAAgB5C,EAASH,EAAS4D,EAAW5sB,OAAa,EAASosB,EAC3I,CACA1jC,OAAO,yCAAyC4B,IAAckJ,SAAa43B,EAA0BrzB,QACrGozB,EAActjF,QAAQ,CAACyhF,EAAWuD,KAChC,MAAMppB,EAAWmpB,EAAUnpG,IAAIopG,GAC3BppB,GACF6lB,EAAUzhF,QAAQ,EAAGsqD,WAAUg3B,cACzBn9D,QAAQy3C,GACVA,EAAS57D,QAAQsqD,GAEjBA,EAASg3B,OAMjBzgC,OAAO,sBADS4B,IAAckJ,uCAC4C43B,EAA0BrzB,QAAQszB,IAC9G,CACA,SAASkB,mBAAmBL,GAC1B,IAAKA,EAAe,OACpB,MAAMe,EAAuBf,EAAcM,aAC3CN,EAAcM,aAAe5pF,EAC7B,IAAK,MAAMsqF,KAAgBD,EACzBC,EAAa5F,QACbiF,mBAAmBzC,EAAMrmG,IAAI8nG,EAAoB2B,EAAa/D,UAElE,CACA,SAASmD,mBAAmBrD,IACX,MAAXA,OAAkB,EAASA,EAAQ6C,iBACrC7C,EAAQ6C,cAAcxE,QACtB2B,EAAQ6C,mBAAgB,EAE5B,CACA,SAASE,mBAAmBmB,EAAWC,EAAe5B,GACpD,MAAMU,EAAgBpC,EAAMrmG,IAAI2pG,GAChC,IAAKlB,EAAe,OAAO,EAC3B,MAAM5oG,EAAS22D,cAAc8wC,EAASoC,IACtC,IAAIntB,EACAqtB,EA6BJ,OA5B4C,IAAxC/B,EAAiBhoG,EAAQ6pG,GAC3BntB,EAAa38D,2BACXynF,EAAsBqC,EAAW,GAAqBt3C,WAAWg1C,EAAoCsC,GAAanhB,IAChH,MAAMshB,EAAgBtxE,0BAA0BgwD,EAAOmhB,GACvD,OAAQvB,cAAc0B,EAAe9B,IAAwF,IAA5EF,EAAiBgC,EAAerzC,cAAc8wC,EAASuC,UAAuD,EAAhBA,IAC5I1qF,EACLspF,EAAcM,aACd,CAACxgB,EAAOkhB,IAAiB5B,EAAiBtf,EAAOkhB,EAAa/D,SAsBlE,SAASoE,kCAAkCC,GAEzCC,yBADevE,uBAAuBsE,EAAWhC,GAEnD,EAvBI92F,iBACA+4F,0BAEOvB,EAAcJ,eAAmF,IAAlER,EAAiBhoG,EAAQ4oG,EAAcJ,cAAc3C,UAC7FnpB,GAAa,EACb16E,EAAMkyE,OAAO00B,EAAcM,eAAiB5pF,KAE5C0pF,mBAAmBJ,GACnBA,EAAcJ,cAAgB5C,uBAC5B5lG,EACAkoG,OAEA,EACA2B,GAEFjB,EAAcM,aAAa3kF,QAAQnT,kBACnCsrE,GAAa,GAEfksB,EAAcM,aAAea,GAAmBzqF,EACzCo9D,EAKP,SAASytB,yBAAyBP,IAC/BG,IAAoBA,EAAkB,KAAK