@rstest/core 0.7.7 → 0.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +294 -0
- package/dist/0~130.js +2 -2
- package/dist/0~1472.js +48 -0
- package/dist/0~1981.js +3 -0
- package/dist/0~2173.js +25 -10
- package/dist/0~2255.js +2 -2
- package/dist/0~3062.js +0 -5
- package/dist/0~3919.js +1 -1
- package/dist/0~4403.js +6 -5
- package/dist/0~4809.js +4 -4
- package/dist/0~5835.js +2 -2
- package/dist/0~62.js +3 -3
- package/dist/0~6588.js +3 -3
- package/dist/0~6923.js +2 -2
- package/dist/0~7583.js +9 -8
- package/dist/0~7882.js +1144 -0
- package/dist/0~8426.js +1 -2
- package/dist/0~89.js +33 -24
- package/dist/0~9348.js +953 -0
- package/dist/0~9634.js +58 -10
- package/dist/1157.js +13 -118
- package/dist/{7913.js → 1294.js} +51 -1745
- package/dist/2672.js +647 -0
- package/dist/3278.js +3 -450
- package/dist/4484.js +38 -0
- package/dist/487.js +1739 -0
- package/dist/4899.js +11 -0
- package/dist/5734.js +1 -1
- package/dist/{0~6151.js → 6151.js} +169 -21
- package/dist/{0~6973.js → 6973.js} +5 -5
- package/dist/721.js +9 -0
- package/dist/9131.js +559 -502
- package/dist/browser-runtime/2~907.js +1211 -0
- package/dist/browser-runtime/2~907.js.map +1 -0
- package/dist/browser-runtime/389.js +22071 -0
- package/dist/browser-runtime/389.js.LICENSE.txt +329 -0
- package/dist/browser-runtime/389.js.map +1 -0
- package/dist/browser-runtime/index.d.ts +2806 -0
- package/dist/browser-runtime/index.js +1 -0
- package/dist/browser-runtime/rslib-runtime.js +50 -0
- package/dist/browser-runtime/rslib-runtime.js.map +1 -0
- package/dist/browser.d.ts +3329 -0
- package/dist/browser.js +14 -0
- package/dist/cssFilterLoader.mjs +1 -1
- package/dist/globalSetupWorker.js +3 -2
- package/dist/index.d.ts +67 -2
- package/dist/index.js +2 -1
- package/dist/rslib-runtime.js +27 -0
- package/dist/rstestSuppressWarnings.cjs +9 -0
- package/dist/worker.d.ts +66 -2
- package/dist/worker.js +415 -1
- package/package.json +29 -14
- package/dist/0~8957.js +0 -149
- package/dist/554.js +0 -417
- package/dist/5693.js +0 -91
- /package/dist/{7913.js.LICENSE.txt → 1294.js.LICENSE.txt} +0 -0
- /package/dist/{0~6151.js.LICENSE.txt → 6151.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2~907.js","sources":["../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../../../../node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs"],"sourcesContent":["// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -2147483648 | -value;\n }\n return relative + value;\n}\nfunction encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0\n );\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0\n );\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\tif (this.outro) {\n\t\t\tmappings.advance(this.outro);\n\t\t}\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\treplacement = replacement(string, index, original);\n\t\t\t}\n\t\t\tif (string !== replacement) {\n\t\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tlet _replacement = replacement;\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\t_replacement = replacement(previous, index, original);\n\t\t\t}\n\t\t\tif (previous !== _replacement) this.overwrite(index, index + stringLength, _replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n"],"names":["comma","semicolon","chars","intToChar","Uint8Array","charToInt","i","c","encodeInteger","builder","num","relative","delta","clamped","bufLength","td","TextDecoder","Buffer","buf","out","String","StringWriter","v","buffer","pos","encode","decoded","writer","sourcesIndex","sourceLine","sourceColumn","namesIndex","line","genColumn","j","segment","BitSet","arg","n","Chunk","start","end","content","chunk","index","fn","storeName","contentOnly","sliceIndex","originalBefore","originalAfter","newChunk","rx","trimmed","getBtoa","globalThis","str","unescape","encodeURIComponent","Error","btoa","SourceMap","properties","JSON","guessIndent","code","lines","tabbed","spaced","min","previous","current","numSpaces","Math","Array","getRelativePath","from","to","fromParts","toParts","Object","isObject","thing","getLocator","source","originalLines","lineOffsets","locate","m","column","wordRegex","Mappings","hires","sourceIndex","loc","nameIndex","contentLengthMinusOne","contentLineEnd","previousContentLineEnd","original","sourcemapLocations","originalCharIndex","first","charInHiresBoundary","warned","MagicString","string","options","char","TypeError","cloned","originalChunk","clonedChunk","nextOriginalChunk","nextClonedChunk","names","mappings","indentStr","pattern","isExcluded","exclusions","exclusion","shouldIndentNextCharacter","replacer","match","charIndex","console","last","oldLeft","oldRight","newRight","newLeft","overwrite","lineIndex","lineStr","result","startChunk","containsEnd","sliceStart","sliceEnd","clone","previousChunk","searchForward","length","charType","RegExp","aborted","searchValue","replacement","getReplacement","_","matchAll","re","matches","stringLength","_replacement","hasOwnProp","Bundle","option","uniqueSource","bundle","x_google_ignoreList","name","magicString","indentStringCounts","a","b","arguments","trailingNewline","separator","indentStart","body"],"mappings":"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"}
|