diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index f93cfaff60d..0f381916ce5 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -7,6 +7,7 @@ "@datadog/openfeature-node-server","https://github.com/DataDog/openfeature-js-client","['Apache-2.0']","['DataDog']" "@datadog/pprof","https://github.com/DataDog/pprof-nodejs","['Apache-2.0']","['Google Inc.']" "@datadog/sketches-js","https://github.com/DataDog/sketches-js","['Apache-2.0']","['DataDog']" +"@datadog/source-map","npm:@datadog/source-map","[]","[]" "@datadog/wasm-js-rewriter","https://github.com/DataDog/dd-wasm-js-rewriter","['Apache-2.0']","['Datadog Inc.']" "@isaacs/ttlcache","https://github.com/isaacs/ttlcache","['BlueOak-1.0.0']","['Isaac Z. Schlueter']" "@jsep-plugin/assignment","https://github.com/EricSmekens/jsep","['MIT']","['Shelly']" @@ -31,6 +32,7 @@ "acorn","https://github.com/acornjs/acorn","['MIT']","['acornjs']" "acorn-import-attributes","https://github.com/xtuc/acorn-import-attributes","['MIT']","['Sven Sauleau']" "argparse","https://github.com/nodeca/argparse","['Python-2.0']","['nodeca']" +"astring","https://github.com/davidbonnet/astring","['MIT']","['David Bonnet']" "cjs-module-lexer","https://github.com/nodejs/cjs-module-lexer","['MIT']","['Guy Bedford']" "crypto-randomuuid","npm:crypto-randomuuid","['MIT']","['Stephen Belanger']" "dc-polyfill","https://github.com/DataDog/dc-polyfill","['MIT']","['Thomas Hunter II']" @@ -38,6 +40,8 @@ "delay","https://github.com/sindresorhus/delay","['MIT']","['Sindre Sorhus']" "detect-newline","https://github.com/sindresorhus/detect-newline","['MIT']","['Sindre Sorhus']" "escape-string-regexp","https://github.com/sindresorhus/escape-string-regexp","['MIT']","['Sindre Sorhus']" +"esquery","https://github.com/estools/esquery","['BSD-3-Clause']","['Joel Feenstra']" +"estraverse","https://github.com/estools/estraverse","['BSD-2-Clause']","['estools']" "fast-fifo","https://github.com/mafintosh/fast-fifo","['MIT']","['Mathias Buus']" "ignore","https://github.com/kaelzhang/node-ignore","['MIT']","['kael']" "import-in-the-middle","https://github.com/nodejs/import-in-the-middle","['Apache-2.0']","['Bryan English']" @@ -50,6 +54,7 @@ "lodash.sortby","https://github.com/lodash/lodash","['MIT']","['John-David Dalton']" "long","https://github.com/dcodeIO/long.js","['Apache-2.0']","['Daniel Wirtz']" "lru-cache","https://github.com/isaacs/node-lru-cache","['ISC']","['Isaac Z. Schlueter']" +"meriyah","https://github.com/meriyah/meriyah","['ISC']","['Kenny F.']" "module-details-from-path","https://github.com/watson/module-details-from-path","['MIT']","['Thomas Watson']" "mutexify","https://github.com/mafintosh/mutexify","['MIT']","['Mathias Buus']" "node-addon-api","https://github.com/nodejs/node-addon-api","['MIT']","['nodejs']" diff --git a/loader-hook.mjs b/loader-hook.mjs index 264039dcce0..fc36f0c047b 100644 --- a/loader-hook.mjs +++ b/loader-hook.mjs @@ -2,6 +2,7 @@ import regexpEscapeModule from './packages/node_modules/escape-string-regexp/ind import * as iitm from 'import-in-the-middle/hook.mjs' import hooks from './packages/datadog-instrumentations/src/helpers/hooks.js' import configHelper from './packages/dd-trace/src/config-helper.js' +import * as rewriterLoader from './packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs' const regexpEscape = regexpEscapeModule.default @@ -19,6 +20,10 @@ function initialize (data = {}) { return iitm.initialize(data) } +function load (url, context, nextLoad) { + return rewriterLoader.load(url, context, (url, context) => iitm.load(url, context, nextLoad)) +} + function addInstrumentations (data) { const instrumentations = Object.keys(hooks) @@ -50,5 +55,5 @@ function addExclusions (data) { ) } -export { initialize } -export { load, getFormat, resolve, getSource } from 'import-in-the-middle/hook.mjs' +export { initialize, load } +export { getFormat, resolve, getSource } from 'import-in-the-middle/hook.mjs' diff --git a/packages/datadog-instrumentations/index.js b/packages/datadog-instrumentations/index.js index 4d04ea56dd0..276659b8e91 100644 --- a/packages/datadog-instrumentations/index.js +++ b/packages/datadog-instrumentations/index.js @@ -2,3 +2,4 @@ require('./src/helpers/bundler-register') require('./src/helpers/register') +require('./src/helpers/rewriter/loader') diff --git a/packages/datadog-instrumentations/src/helpers/instrument.js b/packages/datadog-instrumentations/src/helpers/instrument.js index a3c0cd7a327..477cde9fca1 100644 --- a/packages/datadog-instrumentations/src/helpers/instrument.js +++ b/packages/datadog-instrumentations/src/helpers/instrument.js @@ -2,6 +2,7 @@ const dc = require('dc-polyfill') const instrumentations = require('./instrumentations') +const rewriterInstrumentations = require('./rewriter/instrumentations') const { AsyncResource } = require('async_hooks') const channelMap = {} @@ -22,6 +23,15 @@ exports.tracingChannel = function (name) { return tc } +exports.getHooks = function getHooks (names) { + names = [names].flat() + + return rewriterInstrumentations + .map(inst => inst.module) + .filter(({ name }) => names.includes(name)) + .map(({ name, versionRange, filePath }) => ({ name, versions: [versionRange], file: filePath })) +} + /** * @param {object} args * @param {string|string[]} args.name module name diff --git a/packages/datadog-instrumentations/src/helpers/register.js b/packages/datadog-instrumentations/src/helpers/register.js index 6e5f0f3985a..43358350a4e 100644 --- a/packages/datadog-instrumentations/src/helpers/register.js +++ b/packages/datadog-instrumentations/src/helpers/register.js @@ -10,6 +10,7 @@ const checkRequireCache = require('./check-require-cache') const telemetry = require('../../../dd-trace/src/guardrails/telemetry') const { isInServerlessEnvironment } = require('../../../dd-trace/src/serverless') const { getEnvironmentVariables } = require('../../../dd-trace/src/config-helper') +const rewriter = require('./rewriter') const envs = getEnvironmentVariables() @@ -48,6 +49,10 @@ if (DD_TRACE_DEBUG && DD_TRACE_DEBUG.toLowerCase() !== 'false') { const seenCombo = new Set() const allInstrumentations = {} +for (const inst of disabledInstrumentations) { + rewriter.disable(inst) +} + // TODO: make this more efficient for (const packageName of names) { if (disabledInstrumentations.has(packageName)) continue diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js b/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js new file mode 100644 index 00000000000..f31bba0746c --- /dev/null +++ b/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js @@ -0,0 +1,27 @@ +'use strict' + +let meriyah +let astring +let esquery + +module.exports = { + parse: (...args) => { + meriyah ??= require('meriyah') + + return meriyah.parse(...args) + }, + + generate: (...args) => { + astring ??= require('astring') + + return astring.generate(...args) + }, + + traverse: (ast, query, visitor) => { + esquery ??= require('esquery').default + + const selector = esquery.parse(query) + + return esquery.traverse(ast, selector, visitor) + }, +} diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/index.js b/packages/datadog-instrumentations/src/helpers/rewriter/index.js new file mode 100644 index 00000000000..31c0468f2bd --- /dev/null +++ b/packages/datadog-instrumentations/src/helpers/rewriter/index.js @@ -0,0 +1,152 @@ +'use strict' + +/* +This rewriter is basically a JavaScript version of Orchestrion-JS. The goal is +not to replace Orchestrion-JS, but rather to make it easier and faster to write +new integrations in the short-term, especially as many changes to the rewriter +will be needed as all the patterns we need have not been identified yet. This +will avoid the back and forth of having to make Rust changes to an external +library for every integration change or addition that requires something new. + +In the meantime, we'll work concurrently on a change to Orchestrion-JS that +adds an "arbitrary transform" or "plugin" system that can be used from +JavaScript, in order to enable quick iteration while still using Orchestrion-JS. +Once that's done we'll use that, so that we can remove this JS approach and +return to using Orchestrion-JS. + +The long term goal is to backport any additional features we add to the JS +rewriter (or using the plugin system in Orchestrion-JS once we're using that) +to Orchestrion-JS once we're confident that the implementation is fairly +complete and has all features we need. + +Here is a list of the additions and changes in this rewriter compared to +Orchestrion-JS that will need to be backported: + +(NOTE: Please keep this list up-to-date whenever new features are added) + +- Supports an `astQuery` field to filter AST nodes with an esquery query. This + is mostly meant to be used when experimenting or if what needs to be queried + is not a function. We'll see over time if something like this is needed to be + backported or if it can be replaced by simpler queries. +- Supports replacing methods of child class instances in the base constructor. +*/ + +const { readFileSync } = require('fs') +const { join } = require('path') +const semifies = require('semifies') +const transforms = require('./transforms') +const { generate, parse, traverse } = require('./compiler') +const log = require('../../../../dd-trace/src/log') +const instrumentations = require('./instrumentations') +const { getEnvironmentVariable } = require('../../../../dd-trace/src/config-helper') + +const NODE_OPTIONS = getEnvironmentVariable('NODE_OPTIONS') + +const supported = {} +const disabled = new Set() + +// TODO: Source maps without `--enable-source-maps`. +const enableSourceMaps = NODE_OPTIONS?.includes('--enable-source-maps') || + process.execArgv?.some(arg => arg.includes('--enable-source-maps')) + +let SourceMapGenerator + +function rewrite (content, filename, format) { + if (!content) return content + + try { + let ast + + filename = filename.replace('file://', '') + + for (const inst of instrumentations) { + const { astQuery, functionQuery = {}, module: { name, versionRange, filePath } } = inst + const { kind } = functionQuery + const operator = kind === 'Async' ? 'tracePromise' : kind === 'Callback' ? 'traceCallback' : 'traceSync' + const transform = transforms[operator] + + if (disabled.has(name)) continue + if (!filename.endsWith(`${name}/${filePath}`)) continue + if (!transform) continue + if (!satisfies(filename, filePath, versionRange)) continue + + ast ??= parse(content.toString(), { loc: true, ranges: true, module: format === 'module' }) + + const query = astQuery || fromFunctionQuery(functionQuery) + const state = { ...inst, format, functionQuery, operator } + + traverse(ast, query, (...args) => transform(state, ...args)) + } + + if (ast) { + if (!enableSourceMaps) return generate(ast) + + // TODO: Can we use the same version of `source-map` that DI uses? + SourceMapGenerator ??= require('@datadog/source-map').SourceMapGenerator + + const sourceMap = new SourceMapGenerator({ file: filename }) + const code = generate(ast, { sourceMap }) + const map = Buffer.from(sourceMap.toString()).toString('base64') + + return code + '\n' + `//# sourceMappingURL=data:application/json;base64,${map}` + } + } catch (e) { + log.error(e) + } + + return content +} + +function disable (instrumentation) { + disabled.add(instrumentation) +} + +function satisfies (filename, filePath, versions) { + const [basename] = filename.split(filePath) + + if (supported[basename] === undefined) { + try { + const pkg = JSON.parse(readFileSync( + join(basename, 'package.json'), 'utf8' + )) + + supported[basename] = semifies(pkg.version, versions) + } catch { + supported[basename] = false + } + } + + return supported[basename] +} + +// TODO: Support index +function fromFunctionQuery (functionQuery) { + const { methodName, functionName, expressionName, className } = functionQuery + const queries = [] + + if (className) { + queries.push( + `[id.name="${className}"]`, + `[id.name="${className}"] > ClassBody > [key.name="${methodName}"] > [async]`, + `[id.name="${className}"] > ClassExpression > ClassBody > [key.name="${methodName}"] > [async]` + ) + } else if (methodName) { + queries.push( + `ClassBody > [key.name="${methodName}"] > [async]`, + `Property[key.name="${methodName}"] > [async]` + ) + } + + if (functionName) { + queries.push(`FunctionDeclaration[id.name="${functionName}"][async]`) + } else if (expressionName) { + queries.push( + `FunctionExpression[id.name="${expressionName}"][async]`, + `ArrowFunctionExpression[id.name="${expressionName}"][async]` + ) + } + + return queries.join(', ') +} + +module.exports = { rewrite, disable } diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js new file mode 100644 index 00000000000..70d684c4eea --- /dev/null +++ b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js @@ -0,0 +1,5 @@ +'use strict' + +module.exports = [ + ...require('./langchain') +] diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js new file mode 100644 index 00000000000..d5971e39513 --- /dev/null +++ b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js @@ -0,0 +1,237 @@ +'use strict' + +module.exports = [ + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/runnables/base.cjs' + }, + functionQuery: { + methodName: 'invoke', + kind: 'Async', + className: 'RunnableSequence' + }, + channelName: 'RunnableSequence_invoke' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/runnables/base.cjs' + }, + functionQuery: { + methodName: 'batch', + kind: 'Async', + className: 'RunnableSequence' + }, + channelName: 'RunnableSequence_batch' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/language_models/chat_models.cjs' + }, + functionQuery: { + methodName: 'generate', + kind: 'Async', + className: 'BaseChatModel' + }, + channelName: 'BaseChatModel_generate' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/language_models/llms.cjs' + }, + functionQuery: { + methodName: 'generate', + kind: 'Async' + }, + channelName: 'BaseLLM_generate' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/embeddings.cjs' + }, + functionQuery: { + methodName: 'embedQuery', + kind: 'Async', + className: 'Embeddings' + }, + channelName: 'Embeddings_embedQuery' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/embeddings.cjs' + }, + functionQuery: { + methodName: 'embedDocuments', + kind: 'Async', + className: 'Embeddings' + }, + channelName: 'Embeddings_embedDocuments' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/tools/index.cjs' + }, + functionQuery: { + methodName: 'invoke', + kind: 'Async', + className: 'StructuredTool' + }, + channelName: 'Tool_invoke' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/vectorstores.cjs' + }, + functionQuery: { + methodName: 'similaritySearch', + kind: 'Async', + className: 'VectorStore' + }, + channelName: 'VectorStore_similaritySearch' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/vectorstores.cjs' + }, + functionQuery: { + methodName: 'similaritySearchWithScore', + kind: 'Async', + className: 'VectorStore' + }, + channelName: 'VectorStore_similaritySearchWithScore' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/runnables/base.js' + }, + functionQuery: { + methodName: 'invoke', + kind: 'Async', + className: 'RunnableSequence' + }, + channelName: 'RunnableSequence_invoke' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/runnables/base.js' + }, + functionQuery: { + methodName: 'batch', + kind: 'Async', + className: 'RunnableSequence' + }, + channelName: 'RunnableSequence_batch' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/language_models/chat_models.js' + }, + functionQuery: { + methodName: 'generate', + kind: 'Async', + className: 'BaseChatModel' + }, + channelName: 'BaseChatModel_generate' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/language_models/llms.js' + }, + functionQuery: { + methodName: 'generate', + kind: 'Async' + }, + channelName: 'BaseLLM_generate' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/embeddings.js' + }, + functionQuery: { + methodName: 'embedQuery', + kind: 'Async', + className: 'Embeddings' + }, + channelName: 'Embeddings_embedQuery' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/embeddings.js' + }, + functionQuery: { + methodName: 'embedDocuments', + kind: 'Async', + className: 'Embeddings' + }, + channelName: 'Embeddings_embedDocuments' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/tools/index.js' + }, + functionQuery: { + methodName: 'invoke', + kind: 'Async', + className: 'StructuredTool' + }, + channelName: 'Tool_invoke' + }, + { + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/vectorstores.js' + }, + functionQuery: { + methodName: 'similaritySearch', + kind: 'Async', + className: 'VectorStore' + }, + channelName: 'VectorStore_similaritySearch' + }, + { + + module: { + name: '@langchain/core', + versionRange: '>=0.1', + filePath: 'dist/vectorstores.js' + }, + functionQuery: { + methodName: 'similaritySearchWithScore', + kind: 'Async', + className: 'VectorStore' + }, + channelName: 'VectorStore_similaritySearchWithScore' + } +] diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/loader.js b/packages/datadog-instrumentations/src/helpers/rewriter/loader.js new file mode 100644 index 00000000000..da196540c4b --- /dev/null +++ b/packages/datadog-instrumentations/src/helpers/rewriter/loader.js @@ -0,0 +1,9 @@ +'use strict' + +const Module = require('module') +const shimmer = require('../../../../datadog-shimmer') +const { rewrite } = require('./') + +shimmer.wrap(Module.prototype, '_compile', compile => function (content, filename, format) { + return compile.call(this, rewrite(content, filename, format), filename, format) +}) diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs b/packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs new file mode 100644 index 00000000000..0e2b262dc8c --- /dev/null +++ b/packages/datadog-instrumentations/src/helpers/rewriter/loader.mjs @@ -0,0 +1,11 @@ +import { rewrite } from './index.js' + +async function load (url, context, nextLoad) { + const result = await nextLoad(url, context) + + result.source = rewrite(result.source, url, context.format) + + return result +} + +export { load } diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js b/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js new file mode 100644 index 00000000000..5636b1801a3 --- /dev/null +++ b/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js @@ -0,0 +1,139 @@ +'use strict' + +const { parse } = require('./compiler') + +const tracingChannelPredicate = (node) => ( + node.specifiers?.[0]?.local?.name === 'tr_ch_apm_tracingChannel' || + node.declarations?.[0]?.id?.properties?.[0]?.value?.name === 'tr_ch_apm_tracingChannel' +) + +const transforms = module.exports = { + tracingChannelImport ({ format }, node) { + if (node.body.some(tracingChannelPredicate)) return + + const index = node.body.findIndex(child => child.directive === 'use strict') + const code = format === 'module' + ? 'import { tracingChannel as tr_ch_apm_tracingChannel } from "diagnostics_channel"' + : 'const {tracingChannel: tr_ch_apm_tracingChannel} = require("diagnostics_channel")' + + node.body.splice(index + 1, 0, parse(code, { module: format === 'module' }).body[0]) + }, + + tracingChannelDeclaration (state, node) { + const { channelName, module: { name } } = state + const channelVariable = 'tr_ch_apm$' + channelName.replaceAll(':', '_') + + if (node.body.some(child => child.declarations?.[0]?.id?.name === channelVariable)) return + + transforms.tracingChannelImport(state, node) + + const index = node.body.findIndex(tracingChannelPredicate) + const code = ` + const ${channelVariable} = tr_ch_apm_tracingChannel("orchestrion:${name}:${channelName}") + ` + + node.body.splice(index + 1, 0, parse(code).body[0]) + }, + + traceCallback: traceAny, + tracePromise: traceAny, + traceSync: traceAny, +} + +function traceAny (state, node, _parent, ancestry) { + const program = ancestry[ancestry.length - 1] + + if (node.type === 'ClassDeclaration' || node.type === 'ClassExpression') { + traceInstanceMethod(state, node, program) + } else { + traceFunction(state, node, program) + } +} + +function traceFunction (state, node, program) { + const { operator } = state + + transforms.tracingChannelDeclaration(state, program) + + node.body = wrap(state, { + type: 'ArrowFunctionExpression', + params: node.params, + body: node.body, + async: operator === 'tracePromise', + expression: false, + generator: false + }) +} + +function traceInstanceMethod (state, node, program) { + const { functionQuery, operator } = state + const { methodName } = functionQuery + + const classBody = node.body + + // If the method exists on the class, we return as it will be patched later + // while traversing child nodes later on. + if (classBody.body.some(({ key }) => key.name === methodName)) return + + // Method doesn't exist on the class so we assume an instance method and + // wrap it in the constructor instead. + let ctor = classBody.body.find(({ kind }) => kind === 'constructor') + + transforms.tracingChannelDeclaration(state, program) + + if (!ctor) { + ctor = parse( + node.superClass + ? 'class A { constructor (...args) { super(...args) } }' + : 'class A { constructor () {} }' + ).body[0].body.body[0] // Extract constructor from dummy class body. + + classBody.body.unshift(ctor) + } + + const ctorBody = parse(` + const __apm$${methodName} = this["${methodName}"] + this["${methodName}"] = function () {} + `).body + + // Extract only right-hand side function of line 2. + const fn = ctorBody[1].expression.right + + fn.async = operator === 'tracePromise' + fn.body = wrap(state, { type: 'Identifier', name: `__apm$${methodName}` }) + + ctor.value.body.body.push(...ctorBody) +} + +function wrap (state, node) { + const { channelName, operator, functionQuery: { index = -1 } } = state + const async = operator === 'tracePromise' ? 'async' : '' + const channelVariable = 'tr_ch_apm$' + channelName.replaceAll(':', '_') + const tracedArgs = operator === 'traceCallback' + ? `__apm$original_args.splice(${index}, 1, arguments[${index >= 0 ? index : `arguments.length + ${index}`}])` + : '__apm$original_args' + const traceParams = operator === 'traceCallback' + ? `__apm$traced, ${index}` + : '__apm$traced' + const wrapper = parse(` + function wrapper () { + const __apm$original_args = arguments; + const __apm$traced = ${async} function () { + const __apm$wrapped = () => {}; + const __apm$traced_args = ${tracedArgs}; + return __apm$wrapped.apply(this, __apm$traced_args); + }; + if (!${channelVariable}.hasSubscribers) return __apm$traced.apply(this, arguments); + return ${channelVariable}.${operator}(${traceParams}, { + arguments, + self: this, + moduleVersion: "1.0.0" + }, this, ...arguments); + } + `).body[0].body // Extract only block statement of function body. + + // Replace the right-hand side assignment of `const __apm$wrapped = () => {}`. + wrapper.body[1].declarations[0].init.body.body[0].declarations[0].init = node + + return wrapper +} diff --git a/packages/datadog-instrumentations/src/langchain.js b/packages/datadog-instrumentations/src/langchain.js index 3e3f6d50cdc..f266e07a018 100644 --- a/packages/datadog-instrumentations/src/langchain.js +++ b/packages/datadog-instrumentations/src/langchain.js @@ -1,113 +1,7 @@ 'use strict' -const { addHook } = require('./helpers/instrument') -const shimmer = require('../../datadog-shimmer') +const { addHook, getHooks } = require('./helpers/instrument') -const tracingChannel = require('dc-polyfill').tracingChannel - -function wrap (obj, name, channelName, namespace) { - const channel = tracingChannel(channelName) - shimmer.wrap(obj, name, function (original) { - return function () { - if (!channel.start.hasSubscribers) { - return original.apply(this, arguments) - } - const ctx = { self: this, arguments } - if (namespace) { - ctx.namespace = namespace - } - return channel.tracePromise(original, ctx, this, ...arguments) - } - }) -} - -// langchain compiles into ESM and CommonJS, with ESM being the default and landing in the `.js` files -// however, CommonJS ends up in `cjs` files, and are required under the hood with `.cjs` files -// we patch each separately and explicitly to match against exports only once, and not rely on file regex matching -const extensions = ['js', 'cjs'] - -for (const extension of extensions) { - addHook({ name: '@langchain/core', file: `dist/runnables/base.${extension}`, versions: ['>=0.1'] }, exports => { - if (extension === 'cjs') { - wrap(exports.RunnableSequence.prototype, 'invoke', 'orchestrion:@langchain/core:RunnableSequence_invoke') - wrap(exports.RunnableSequence.prototype, 'batch', 'orchestrion:@langchain/core:RunnableSequence_batch') - } - return exports - }) - - addHook({ - name: '@langchain/core', - file: `dist/language_models/chat_models.${extension}`, - versions: ['>=0.1'] - }, exports => { - if (extension === 'cjs') { - wrap(exports.BaseChatModel.prototype, 'generate', 'orchestrion:@langchain/core:BaseChatModel_generate') - } - return exports - }) - - addHook({ name: '@langchain/core', file: `dist/language_models/llms.${extension}`, versions: ['>=0.1'] }, exports => { - if (extension === 'cjs') { - wrap(exports.BaseLLM.prototype, 'generate', 'orchestrion:@langchain/core:BaseLLM_generate') - } - return exports - }) - - addHook({ name: '@langchain/core', file: `dist/tools/index.${extension}`, versions: ['>=0.1'] }, exports => { - if (extension === 'cjs') { - wrap(exports.StructuredTool.prototype, 'invoke', 'orchestrion:@langchain/core:Tool_invoke') - } - return exports - }) - - addHook({ name: '@langchain/core', file: `dist/vectorstores.${extension}`, versions: ['>=0.1'] }, exports => { - if (extension === 'cjs') { - wrap( - exports.VectorStore.prototype, 'similaritySearch', 'orchestrion:@langchain/core:VectorStore_similaritySearch' - ) - wrap( - exports.VectorStore.prototype, 'similaritySearchWithScore', - 'orchestrion:@langchain/core:VectorStore_similaritySearchWithScore' - ) - } - - return exports - }) - - addHook({ name: '@langchain/core', file: `dist/embeddings.${extension}`, versions: ['>=0.1'] }, exports => { - if (extension === 'cjs') { - shimmer.wrap(exports, 'Embeddings', Embeddings => { - return class extends Embeddings { - constructor (...args) { - super(...args) - - const namespace = ['langchain', 'embeddings'] - - if (this.constructor.name === 'OpenAIEmbeddings') { - namespace.push('openai') - } - - wrap(this, 'embedQuery', 'apm:@langchain/core:Embeddings_embedQuery', namespace) - wrap(this, 'embedDocuments', 'apm:@langchain/core:Embeddings_embedDocuments', namespace) - } - } - }) - } else { - const channel = tracingChannel('orchestrion:@langchain/core:Embeddings_constructor') - channel.subscribe({ - end (ctx) { - const { self } = ctx - const namespace = ['langchain', 'embeddings'] - - if (self.constructor.name === 'OpenAIEmbeddings') { - namespace.push('openai') - } - - wrap(self, 'embedQuery', 'apm:@langchain/core:Embeddings_embedQuery', namespace) - wrap(self, 'embedDocuments', 'apm:@langchain/core:Embeddings_embedDocuments', namespace) - } - }) - } - return exports - }) +for (const hook of getHooks('@langchain/core')) { + addHook(hook, exports => exports) } diff --git a/packages/datadog-instrumentations/test/helpers/rewriter/index.spec.js b/packages/datadog-instrumentations/test/helpers/rewriter/index.spec.js new file mode 100644 index 00000000000..ddfa52ee582 --- /dev/null +++ b/packages/datadog-instrumentations/test/helpers/rewriter/index.spec.js @@ -0,0 +1,121 @@ +'use strict' + +const proxyquire = require('proxyquire') +const { beforeEach, describe, it } = require('mocha') +const { readFileSync } = require('node:fs') +const { resolve, join } = require('node:path') +const Module = require('node:module') +const { tracingChannel } = require('dc-polyfill') + +// TODO: Test actual functionality and not just the start channel. +describe('check-require-cache', () => { + let rewriter + let content + let ch + let subs + + function compile (name, format = 'commonjs') { + const folder = resolve(__dirname, 'node_modules', name) + const filename = join(folder, 'index.js') + const mod = new Module(filename, module.parent) + + content = readFileSync(filename, 'utf8') + content = rewriter.rewrite(content, filename, format) + + mod._compile(content, filename, format) + + return mod.exports + } + + beforeEach(() => { + rewriter = proxyquire('../../../src/helpers/rewriter', { + './instrumentations': [ + { + module: { + name: 'test-trace-sync', + versionRange: '>=0.1', + filePath: 'index.js' + }, + functionQuery: { + functionName: 'test', + kind: 'Sync' + }, + channelName: 'test_invoke' + }, + { + module: { + name: 'test-trace-async', + versionRange: '>=0.1', + filePath: 'index.js' + }, + functionQuery: { + functionName: 'test', + kind: 'Async' + }, + channelName: 'test_invoke' + }, + { + module: { + name: 'test-trace-callback', + versionRange: '>=0.1', + filePath: 'index.js' + }, + functionQuery: { + functionName: 'test', + kind: 'Callback' + }, + channelName: 'test_invoke' + } + ] + }) + }) + + afterEach(() => { + ch.unsubscribe(subs) + }) + + it('should auto instrument sync functions', done => { + const test = compile('test-trace-sync') + + subs = { + start () { + done() + } + } + + ch = tracingChannel('orchestrion:test-trace-sync:test_invoke') + ch.subscribe(subs) + + test.test() + }) + + it('should auto instrument async functions', done => { + const test = compile('test-trace-async') + + subs = { + start () { + done() + } + } + + ch = tracingChannel('orchestrion:test-trace-async:test_invoke') + ch.subscribe(subs) + + test.test() + }) + + it('should auto instrument callback functions', done => { + const test = compile('test-trace-callback') + + subs = { + start () { + done() + } + } + + ch = tracingChannel('orchestrion:test-trace-callback:test_invoke') + ch.subscribe(subs) + + test.test(() => {}) + }) +}) diff --git a/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-async/index.js b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-async/index.js new file mode 100644 index 00000000000..5d133435e80 --- /dev/null +++ b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-async/index.js @@ -0,0 +1,5 @@ +'use strict' + +function test () {} + +module.exports = { test } diff --git a/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-async/package.json b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-async/package.json new file mode 100644 index 00000000000..f710b2a7674 --- /dev/null +++ b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-async/package.json @@ -0,0 +1,4 @@ +{ + "name": "test-trace-async", + "version": "0.1" +} diff --git a/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-callback/index.js b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-callback/index.js new file mode 100644 index 00000000000..5be74da7617 --- /dev/null +++ b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-callback/index.js @@ -0,0 +1,7 @@ +'use strict' + +function test (cb) { + cb() +} + +module.exports = { test } diff --git a/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-callback/package.json b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-callback/package.json new file mode 100644 index 00000000000..85d10ff578c --- /dev/null +++ b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-callback/package.json @@ -0,0 +1,4 @@ +{ + "name": "test-trace-callback", + "version": "0.1" +} diff --git a/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-sync/index.js b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-sync/index.js new file mode 100644 index 00000000000..6521fe61296 --- /dev/null +++ b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-sync/index.js @@ -0,0 +1,5 @@ +'use strict' + +async function test () {} + +module.exports = { test } diff --git a/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-sync/package.json b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-sync/package.json new file mode 100644 index 00000000000..a6d2b2c579e --- /dev/null +++ b/packages/datadog-instrumentations/test/helpers/rewriter/node_modules/test-trace-sync/package.json @@ -0,0 +1,4 @@ +{ + "name": "test-trace-sync", + "version": "0.1" +} diff --git a/packages/datadog-plugin-langchain/src/tracing.js b/packages/datadog-plugin-langchain/src/tracing.js index 0f6d88282d9..1bb0c51d76b 100644 --- a/packages/datadog-plugin-langchain/src/tracing.js +++ b/packages/datadog-plugin-langchain/src/tracing.js @@ -12,6 +12,8 @@ const LangChainHandler = require('./handlers/default') const LangChainLanguageModelHandler = require('./handlers/language_models') const LangChainEmbeddingHandler = require('./handlers/embedding') +const defaultNs = ['langchain', 'embeddings'] + class BaseLangChainTracingPlugin extends TracingPlugin { static id = 'langchain' static operation = 'invoke' @@ -36,7 +38,9 @@ class BaseLangChainTracingPlugin extends TracingPlugin { const type = ctx.type = this.constructor.lcType // Runnable interfaces have an `lc_namespace` property - const ns = ctx.self.lc_namespace || ctx.namespace + const ns = ctx.self.lc_namespace || ( + ctx.self.constructor.name === 'OpenAIEmbeddings' ? [...defaultNs, 'openai'] : defaultNs + ) const resourceParts = [...ns, ctx.self.constructor.name] if (type === 'tool') { @@ -111,13 +115,13 @@ class BaseLLMGeneratePlugin extends BaseLangChainTracingPlugin { class EmbeddingsEmbedQueryPlugin extends BaseLangChainTracingPlugin { static id = 'langchain_embeddings_embed_query' static lcType = 'embedding' - static prefix = 'tracing:apm:@langchain/core:Embeddings_embedQuery' + static prefix = 'tracing:orchestrion:@langchain/core:Embeddings_embedQuery' } class EmbeddingsEmbedDocumentsPlugin extends BaseLangChainTracingPlugin { static id = 'langchain_embeddings_embed_documents' static lcType = 'embedding' - static prefix = 'tracing:apm:@langchain/core:Embeddings_embedDocuments' + static prefix = 'tracing:orchestrion:@langchain/core:Embeddings_embedDocuments' } class ToolInvokePlugin extends BaseLangChainTracingPlugin { diff --git a/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs b/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs index a5075668ea4..1b1b04d7a93 100644 --- a/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +++ b/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs @@ -47,7 +47,7 @@ export async function load (url, context, nextLoad) { passes.push('iast') } } else { - passes = ['orchestrion'] + passes = [] // TODO: Re-enable Orchestrion when viable. } const rewritten = rewriter.rewrite(result.source.toString(), url, passes) diff --git a/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js b/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js index 277797f9400..d793c2ebaf9 100644 --- a/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +++ b/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js @@ -175,9 +175,8 @@ function enableRewriter (telemetryVerbosity) { shimmer.wrap(Module.prototype, '_compile', compileMethod => getCompileMethodFn(compileMethod)) } } + enableEsmRewriter(telemetryVerbosity) } - - enableEsmRewriter(telemetryVerbosity) } catch (e) { log.error('Error enabling Rewriter', e) } diff --git a/packages/dd-trace/src/llmobs/plugins/langchain/index.js b/packages/dd-trace/src/llmobs/plugins/langchain/index.js index b26c68a04bd..123202902a5 100644 --- a/packages/dd-trace/src/llmobs/plugins/langchain/index.js +++ b/packages/dd-trace/src/llmobs/plugins/langchain/index.js @@ -174,13 +174,13 @@ class BaseLLMGeneratePlugin extends BaseLangChainLLMObsPlugin { class EmbeddingsEmbedQueryPlugin extends BaseLangChainLLMObsPlugin { static id = 'llmobs_langchain_embeddings_embed_query' static lcType = 'embedding' - static prefix = 'tracing:apm:@langchain/core:Embeddings_embedQuery' + static prefix = 'tracing:orchestrion:@langchain/core:Embeddings_embedQuery' } class EmbeddingsEmbedDocumentsPlugin extends BaseLangChainLLMObsPlugin { static id = 'llmobs_langchain_embeddings_embed_documents' static lcType = 'embedding' - static prefix = 'tracing:apm:@langchain/core:Embeddings_embedDocuments' + static prefix = 'tracing:orchestrion:@langchain/core:Embeddings_embedDocuments' } class ToolInvokePlugin extends BaseLangChainLLMObsPlugin { diff --git a/packages/node_modules/@datadog/source-map/LICENSE b/packages/node_modules/@datadog/source-map/LICENSE new file mode 100644 index 00000000000..ed1b7cf27e9 --- /dev/null +++ b/packages/node_modules/@datadog/source-map/LICENSE @@ -0,0 +1,28 @@ + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* 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. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER 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. diff --git a/packages/node_modules/@datadog/source-map/index.js b/packages/node_modules/@datadog/source-map/index.js new file mode 100644 index 00000000000..7747daf381f --- /dev/null +++ b/packages/node_modules/@datadog/source-map/index.js @@ -0,0 +1 @@ +(()=>{var e={"./@datadog/source-map/lib/array-set.js":function(e,n,r){var t=r("./@datadog/source-map/lib/util.js"),o=Object.prototype.hasOwnProperty,i="undefined"!=typeof Map;function s(){this._array=[],this._set=i?new Map:Object.create(null)}s.fromArray=function(e,n){for(var r=new s,t=0,o=e.length;t=0)return n}else{var r=t.toSetString(e);if(o.call(this._set,r))return this._set[r]}throw Error('"'+e+'" is not in the set.')},s.prototype.at=function(e){if(e>=0&&e>>=5)>0&&(n|=32),r+=t.encode(n);while(o>0);return r},n.decode=function(e,n,r){var o,i,s,a,u=e.length,l=0,c=0;do{if(n>=u)throw Error("Expected more digits in base 64 VLQ value.");if(-1===(a=t.decode(e.charCodeAt(n++))))throw Error("Invalid base64 digit: "+e.charAt(n-1));s=!!(32&a),a&=31,l+=a<>1,r.value=(1&o)==1?-i:i,r.rest=n}},"./@datadog/source-map/lib/base64.js":function(e,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e0?t-u>1?e(u,t,o,i,s,a):a==n.LEAST_UPPER_BOUND?t1?e(r,u,o,i,s,a):a==n.LEAST_UPPER_BOUND?u:r<0?-1:r}(-1,r.length,e,r,t,o||n.GREATEST_LOWER_BOUND);if(i<0)return -1;for(;i-1>=0&&0===t(r[i],r[i-1],!0);)--i;return i}},"./@datadog/source-map/lib/mapping-list.js":function(e,n,r){var t=r("./@datadog/source-map/lib/util.js");function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}o.prototype.unsortedForEach=function(e,n){this._array.forEach(e,n)},o.prototype.add=function(e){var n,r,o,i,s;(n=this._last,r=n.generatedLine,o=e.generatedLine,i=n.generatedColumn,s=e.generatedColumn,o>r||o==r&&s>=i||0>=t.compareByGeneratedPositionsInflated(n,e))?this._last=e:this._sorted=!1,this._array.push(e)},o.prototype.toArray=function(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=o},"./@datadog/source-map/lib/quick-sort.js":function(e,n){function r(e,n,r){var t=e[n];e[n]=e[r],e[r]=t}n.quickSort=function(e,n){!function e(n,t,o,i){if(o=t(n[l],u)&&r(n,a+=1,l);r(n,a+1,l);var c=a+1;e(n,t,o,c-1),e(n,t,c+1,i)}}(e,n,0,e.length-1)}},"./@datadog/source-map/lib/source-map-consumer.js":function(e,n,r){var t=r("./@datadog/source-map/lib/util.js"),o=r("./@datadog/source-map/lib/binary-search.js"),i=r("./@datadog/source-map/lib/array-set.js").ArraySet,s=r("./@datadog/source-map/lib/base64-vlq.js"),a=r("./@datadog/source-map/lib/quick-sort.js").quickSort;function u(e,n){var r=e;return"string"==typeof e&&(r=t.parseSourceMapInput(e)),null!=r.sections?new g(r,n):new l(r,n)}function l(e,n){var r=e;"string"==typeof e&&(r=t.parseSourceMapInput(e));var o=t.getArg(r,"version"),s=t.getArg(r,"sources"),a=t.getArg(r,"names",[]),u=t.getArg(r,"sourceRoot",null),l=t.getArg(r,"sourcesContent",null),c=t.getArg(r,"mappings"),g=t.getArg(r,"file",null);if(o!=this._version)throw Error("Unsupported version: "+o);u&&(u=t.normalize(u)),s=s.map(String).map(t.normalize).map(function(e){return u&&t.isAbsolute(u)&&t.isAbsolute(e)?t.relative(u,e):e}),this._names=i.fromArray(a.map(String),!0),this._sources=i.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map(function(e){return t.computeSourceURL(u,e,n)}),this.sourceRoot=u,this.sourcesContent=l,this._mappings=c,this._sourceMapURL=n,this.file=g}function c(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function g(e,n){var r=e;"string"==typeof e&&(r=t.parseSourceMapInput(e));var o=t.getArg(r,"version"),s=t.getArg(r,"sections");if(o!=this._version)throw Error("Unsupported version: "+o);this._sources=new i,this._names=new i;var a={line:-1,column:0};this._sections=s.map(function(e){if(e.url)throw Error("Support for url field in sections not implemented.");var r=t.getArg(e,"offset"),o=t.getArg(r,"line"),i=t.getArg(r,"column");if(o=0){var a=this._originalMappings[s];if(void 0===e.column)for(var u=a.originalLine;a&&a.originalLine===u;)i.push({line:t.getArg(a,"generatedLine",null),column:t.getArg(a,"generatedColumn",null),lastColumn:t.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++s];else for(var l=a.originalColumn;a&&a.originalLine===n&&a.originalColumn==l;)i.push({line:t.getArg(a,"generatedLine",null),column:t.getArg(a,"generatedColumn",null),lastColumn:t.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++s]}return i},n.SourceMapConsumer=u,l.prototype=Object.create(u.prototype),l.prototype.consumer=u,l.prototype._findSourceIndex=function(e){var n,r=e;if(null!=this.sourceRoot&&(r=t.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(n=0;n1&&(r.source=f+i[1],f+=i[1],r.originalLine=h+i[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=d+i[3],d=r.originalColumn,i.length>4&&(r.name=m+i[4],m+=i[4])),A.push(r),"number"==typeof r.originalLine&&S.push(r)}a(A,t.compareByGeneratedPositionsDeflated),this.__generatedMappings=A,a(S,t.compareByOriginalPositions),this.__originalMappings=S},l.prototype._findMapping=function(e,n,r,t,i,s){if(e[r]<=0)throw TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[t]<0)throw TypeError("Column must be greater than or equal to 0, got "+e[t]);return o.search(e,n,i,s)},l.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===n.generatedLine){var i=t.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),i=t.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=t.getArg(o,"name",null);return null!==s&&(s=this._names.at(s)),{source:i,line:t.getArg(o,"originalLine",null),column:t.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e})},l.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;var r,o=this._findSourceIndex(e);if(o>=0)return this.sourcesContent[o];var i=e;if(null!=this.sourceRoot&&(i=t.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(r=t.urlParse(this.sourceRoot))){var s=i.replace(/^file:\/\//,"");if("file"==r.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!r.path||"/"==r.path)&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(n)return null;throw Error('"'+i+'" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var n=t.getArg(e,"source");if((n=this._findSourceIndex(n))<0)return{line:null,column:null,lastColumn:null};var r={source:n,originalLine:t.getArg(e,"line"),originalColumn:t.getArg(e,"column")},o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",t.compareByOriginalPositions,t.getArg(e,"bias",u.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:t.getArg(i,"generatedLine",null),column:t.getArg(i,"generatedColumn",null),lastColumn:t.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},g.prototype=Object.create(u.prototype),g.prototype.constructor=u,g.prototype._version=3,Object.defineProperty(g.prototype,"sources",{get:function(){for(var e=[],n=0;n0)||!(e.column>=0)||n||r||t){if(!e||!("line"in e)||!("column"in e)||!n||!("line"in n)||!("column"in n)||!(e.line>0)||!(e.column>=0)||!(n.line>0)||!(n.column>=0)||!r)throw Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:n,name:t}))}},a.prototype._serializeMappings=function(){for(var e,n,r,i,s=0,a=1,u=0,l=0,c=0,g=0,p="",h=this._mappings.toArray(),d=0,f=h.length;d0){if(!o.compareByGeneratedPositionsInflated(n,h[d-1]))continue;e+=","}e+=t.encode(n.generatedColumn-s),s=n.generatedColumn,null!=n.source&&(i=this._sources.indexOf(n.source),e+=t.encode(i-g),g=i,e+=t.encode(n.originalLine-1-l),l=n.originalLine-1,e+=t.encode(n.originalColumn-u),u=n.originalColumn,null!=n.name&&(r=this._names.indexOf(n.name),e+=t.encode(r-c),c=r)),p+=e}return p},a.prototype._generateSourcesContent=function(e,n){return e.map(function(e){if(!this._sourcesContents)return null;null!=n&&(e=o.relative(n,e));var r=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)},a.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},a.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=a},"./@datadog/source-map/lib/source-node.js":function(e,n,r){var t=r("./@datadog/source-map/lib/source-map-generator.js").SourceMapGenerator,o=r("./@datadog/source-map/lib/util.js"),i=/(\r?\n)/,s="$$$isSourceNode$$$";function a(e,n,r,t,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==n?null:n,this.source=null==r?null:r,this.name=null==o?null:o,this[s]=!0,null!=t&&this.add(t)}a.fromStringWithSourceMap=function(e,n,r){var t=new a,s=e.split(i),u=0,l=function(){return e()+(e()||"");function e(){return u=0;n--)this.prepend(e[n]);else if(e[s]||"string"==typeof e)this.children.unshift(e);else throw TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);return this},a.prototype.walk=function(e){for(var n,r=0,t=this.children.length;r0){for(r=0,n=[];r=0;c--)"."===(s=u[c])?u.splice(c,1):".."===s?l++:l>0&&(""===s?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return(""===(r=u.join("/"))&&(r=a?"/":"."),t)?(t.path=r,i(t)):r}function a(e,n){""===e&&(e="."),""===n&&(n=".");var r=o(n),a=o(e);if(a&&(e=a.path||"/"),r&&!r.scheme)return a&&(r.scheme=a.scheme),i(r);if(r||n.match(t))return n;if(a&&!a.host&&!a.path)return a.host=n,i(a);var u="/"===n.charAt(0)?n:s(e.replace(/\/+$/,"")+"/"+n);return a?(a.path=u,i(a)):u}n.urlParse=o,n.urlGenerate=i,n.normalize=s,n.join=a,n.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},n.relative=function(e,n){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==n.indexOf(e+"/");){var t=e.lastIndexOf("/");if(t<0||(e=e.slice(0,t)).match(/^([^\/]+:\/)?\/*$/))return n;++r}return Array(r+1).join("../")+n.substr(e.length+1)};var u=!("__proto__"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var n=e.length;if(n<9||95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var r=n-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function g(e,n){return e===n?0:null===e?1:null===n?-1:e>n?1:-1}n.toSetString=u?l:function(e){return c(e)?"$"+e:e},n.fromSetString=u?l:function(e){return c(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,n,r){var t=g(e.source,n.source);return 0!==t||0!=(t=e.originalLine-n.originalLine)||0!=(t=e.originalColumn-n.originalColumn)||r||0!=(t=e.generatedColumn-n.generatedColumn)||0!=(t=e.generatedLine-n.generatedLine)?t:g(e.name,n.name)},n.compareByGeneratedPositionsDeflated=function(e,n,r){var t=e.generatedLine-n.generatedLine;return 0!==t||0!=(t=e.generatedColumn-n.generatedColumn)||r||0!==(t=g(e.source,n.source))||0!=(t=e.originalLine-n.originalLine)||0!=(t=e.originalColumn-n.originalColumn)?t:g(e.name,n.name)},n.compareByGeneratedPositionsInflated=function(e,n){var r=e.generatedLine-n.generatedLine;return 0!==r||0!=(r=e.generatedColumn-n.generatedColumn)||0!==(r=g(e.source,n.source))||0!=(r=e.originalLine-n.originalLine)||0!=(r=e.originalColumn-n.originalColumn)?r:g(e.name,n.name)},n.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},n.computeSourceURL=function(e,n,r){if(n=n||"",e&&("/"!==e[e.length-1]&&"/"!==n[0]&&(e+="/"),n=e+n),r){var t=o(r);if(!t)throw Error("sourceMapURL could not be parsed");if(t.path){var u=t.path.lastIndexOf("/");u>=0&&(t.path=t.path.substring(0,u+1))}n=a(i(t),n)}return s(n)}}},n={};function r(t){var o=n[t];if(void 0!==o)return o.exports;var i=n[t]={exports:{}};return e[t](i,i.exports,r),i.exports}var t={};t.SourceMapGenerator=r("./@datadog/source-map/lib/source-map-generator.js").SourceMapGenerator,t.SourceMapConsumer=r("./@datadog/source-map/lib/source-map-consumer.js").SourceMapConsumer,t.SourceNode=r("./@datadog/source-map/lib/source-node.js").SourceNode,module.exports=t})(); \ No newline at end of file diff --git a/packages/node_modules/@datadog/source-map/index.js.map b/packages/node_modules/@datadog/source-map/index.js.map new file mode 100644 index 00000000000..da4e591d0fb --- /dev/null +++ b/packages/node_modules/@datadog/source-map/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"@datadog/source-map/index.js","sources":["webpack:///./@datadog/source-map/lib/array-set.js","webpack:///./@datadog/source-map/lib/base64-vlq.js","webpack:///./@datadog/source-map/lib/base64.js","webpack:///./@datadog/source-map/lib/binary-search.js","webpack:///./@datadog/source-map/lib/mapping-list.js","webpack:///./@datadog/source-map/lib/quick-sort.js","webpack:///./@datadog/source-map/lib/source-map-consumer.js","webpack:///./@datadog/source-map/lib/source-map-generator.js","webpack:///./@datadog/source-map/lib/source-node.js","webpack:///./@datadog/source-map/lib/util.js","webpack:///./@datadog/source-map/source-map.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n"],"names":["r","Object","Map","Error","TypeError","i","a","Math","t","s","String","o","g","p","n","JSON","Array","arguments"],"mappings":"sEAOA,IAAI,EAAOA,EAAQ,qCACf,EAAMC,OAAO,SAAS,CAAC,cAAc,CACrC,EAAe,AAAe,aAAf,OAAOC,IAQ1B,SAAS,IACP,IAAI,CAAC,MAAM,CAAG,EAAE,CAChB,IAAI,CAAC,IAAI,CAAG,EAAe,IAAIA,IAAQD,OAAO,MAAM,CAAC,KACvD,CAKA,EAAS,SAAS,CAAG,SAA4B,CAAM,CAAE,CAAgB,EAEvE,IAAK,IADD,EAAM,IAAI,EACL,EAAI,EAAG,EAAM,EAAO,MAAM,CAAE,EAAI,EAAK,IAC5C,EAAI,GAAG,CAAC,CAAM,CAAC,EAAE,CAAE,GAErB,OAAO,CACT,EAQA,EAAS,SAAS,CAAC,IAAI,CAAG,WACxB,OAAO,EAAe,IAAI,CAAC,IAAI,CAAC,IAAI,CAAGA,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,AACrF,EAOA,EAAS,SAAS,CAAC,GAAG,CAAG,SAAsB,CAAI,CAAE,CAAgB,EACnE,IAAI,EAAO,EAAe,EAAO,EAAK,WAAW,CAAC,GAC9C,EAAc,EAAe,IAAI,CAAC,GAAG,CAAC,GAAQ,EAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,GAClE,EAAM,IAAI,CAAC,MAAM,CAAC,MAAM,AACxB,GAAC,GAAe,CAAe,GACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAEd,IACC,EACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAM,GAEpB,IAAI,CAAC,IAAI,CAAC,EAAK,CAAG,EAGxB,EAOA,EAAS,SAAS,CAAC,GAAG,CAAG,SAAsB,CAAI,EACjD,GAAI,EACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAErB,IAAI,EAAO,EAAK,WAAW,CAAC,GAC5B,OAAO,EAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,EAE/B,EAOA,EAAS,SAAS,CAAC,OAAO,CAAG,SAA0B,CAAI,EACzD,GAAI,EAAc,CAChB,IAAI,EAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GACxB,GAAI,GAAO,EACP,OAAO,CAEb,KAAO,CACL,IAAI,EAAO,EAAK,WAAW,CAAC,GAC5B,GAAI,EAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,GACtB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAK,AAE1B,CAEA,MAAM,AAAIE,MAAM,IAAM,EAAO,uBAC/B,EAOA,EAAS,SAAS,CAAC,EAAE,CAAG,SAAqB,CAAI,EAC/C,GAAI,GAAQ,GAAK,EAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CACxC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAK,AAE1B,OAAM,AAAIA,MAAM,yBAA2B,EAC7C,EAOA,EAAS,SAAS,CAAC,OAAO,CAAG,WAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAC1B,EAEA,EAAQ,QAAQ,CAAG,C,4DCnFnB,IAAI,EAASH,EAAQ,sCAsDrB,GAAQ,MAAM,CAAG,SAA0B,CAAM,EAC/C,IACI,EADA,EAAU,GAGV,EA1BG,AA0Be,EA1BN,EACZ,AAAC,CAAC,CAyBgB,GAzBJ,GAAK,EACnB,AAAC,CAwBiB,GAxBP,GAAK,EA0BpB,GACE,EAAQ,AAzCQ,GAyCR,EAEJ,AADJ,MAhDiB,CAgDK,EACZ,GAGR,IAjDS,EAiDmB,EAE9B,GAAW,EAAO,MAAM,CAAC,SAClB,EAAM,EAAG,CAElB,OAAO,CACT,EAMA,EAAQ,MAAM,CAAG,SAA0B,CAAI,CAAE,CAAM,CAAE,CAAS,EAChE,IApCqB,EAEjB,EAqCA,EAAc,EAHd,EAAS,EAAK,MAAM,CACpB,EAAS,EACT,EAAQ,EAGZ,EAAG,CACD,GAAI,GAAU,EACZ,MAAM,AAAIG,MAAM,8CAIlB,GAAI,AAAU,KADd,GAAQ,EAAO,MAAM,CAAC,EAAK,UAAU,CAAC,KAAS,EAE7C,MAAM,AAAIA,MAAM,yBAA2B,EAAK,MAAM,CAAC,EAAS,IAGlE,EAAe,CAAC,CAAE,CA7EP,GA6EO,CAA2B,EAC7C,GA3EgB,GA4EhB,GAAmB,GAAS,EAC5B,GAnFiB,CAoFnB,OAAS,EAAc,CArDnB,EAAU,CAFO,EAyDW,IAvDR,EAuDxB,EAAU,KAAK,CAtDR,AAFU,AAAC,CAAS,EAAT,CAAS,GAAO,EAG9B,CAAC,EACD,EAqDJ,EAAU,IAAI,CAAG,CACnB,C,sDCpIA,IAAI,EAAe,mEAAmE,KAAK,CAAC,GAK5F,GAAQ,MAAM,CAAG,SAAU,CAAM,EAC/B,GAAI,GAAK,GAAU,EAAS,EAAa,MAAM,CAC7C,OAAO,CAAY,CAAC,EAAO,AAE7B,OAAM,AAAIC,UAAU,6BAA+B,EACrD,EAMA,EAAQ,MAAM,CAAG,SAAU,CAAQ,SAiBjC,AAAI,AAhBO,IAgBC,GAAY,GAfb,GAgBD,EAjBC,GAqBP,AAlBU,IAkBC,GAAY,GAjBb,IAkBJ,EAnBI,GASK,GAcf,AApBO,IAoBC,GAAY,GAnBb,GAoBD,EArBC,GAOQ,GAkBf,AAtBO,IAsBP,EACK,GAIL,AA1BQ,IA0BR,EACK,GAIF,EACT,C,6DC3DA,EAAQ,oBAAoB,CAAG,EAC/B,EAAQ,iBAAiB,CAAG,EAgF5B,EAAQ,MAAM,CAAG,SAAgB,CAAO,CAAE,CAAS,CAAE,CAAQ,CAAE,CAAK,EAClE,GAAI,AAAqB,IAArB,EAAU,MAAM,CAClB,OAAO,GAGT,IAAIC,EAAQ,AAtEd,SAAS,EAAgB,CAAI,CAAE,CAAK,CAAE,CAAO,CAAE,CAAS,CAAE,CAAQ,CAAEC,CAAK,EAUvE,IAAI,EAAMC,KAAK,KAAK,CAAC,AAAC,GAAQ,CAAG,EAAK,GAAK,EACvC,EAAM,EAAS,EAAS,CAAS,CAAC,EAAI,CAAE,WAC5C,AAAI,AAAQ,IAAR,EAEK,EAEA,EAAM,EAEb,AAAI,EAAQ,EAAM,EAET,EAAgB,EAAK,EAAO,EAAS,EAAW,EAAUD,GAK/DA,GAAS,EAAQ,iBAAiB,CAC7B,EAAQ,EAAU,MAAM,CAAG,EAAQ,GAEnC,EAKT,AAAI,EAAM,EAAO,EAER,EAAgB,EAAM,EAAK,EAAS,EAAW,EAAUA,GAI9DA,GAAS,EAAQ,iBAAiB,CAC7B,EAEA,EAAO,EAAI,GAAK,CAG7B,EAyB8B,GAAI,EAAU,MAAM,CAAE,EAAS,EAC/B,EAAU,GAAS,EAAQ,oBAAoB,EAC3E,GAAID,EAAQ,EACV,OAAO,GAMT,KACE,AADKA,EAAQ,GAAK,GACd,AAA2D,IAA3D,EAAS,CAAS,CAACA,EAAM,CAAE,CAAS,CAACA,EAAQ,EAAE,CAAE,KAGrD,EAAEA,EAGJ,OAAOA,CACT,C,8DCvGA,IAAI,EAAOL,EAAQ,qCAqBnB,SAAS,IACP,IAAI,CAAC,MAAM,CAAG,EAAE,CAChB,IAAI,CAAC,OAAO,CAAG,GAEf,IAAI,CAAC,KAAK,CAAG,CAAC,cAAe,GAAI,gBAAiB,CAAC,CACrD,CAQA,EAAY,SAAS,CAAC,eAAe,CACnC,SAA6B,CAAS,CAAE,CAAQ,EAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAW,EACjC,EAOF,EAAY,SAAS,CAAC,GAAG,CAAG,SAAyB,CAAQ,MAtC7B,EAE1B,EACA,EACA,EACA,GAL0B,EAuCH,IAAI,CAAC,KAAK,CArCjC,EAAQ,EAAS,aAAa,CAC9B,EAAQ,AAoC2B,EApClB,aAAa,CAC9B,EAAU,EAAS,eAAe,CAClC,EAAU,AAkCyB,EAlChB,eAAe,CAC/B,EAAQ,GAAS,GAAS,GAAS,GAAW,GAC9C,AAAgE,GAAhE,EAAK,mCAAmC,CAAC,EAgCT,IACrC,IAAI,CAAC,KAAK,CAAG,EAGb,IAAI,CAAC,OAAO,CAAG,GACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAErB,EAWA,EAAY,SAAS,CAAC,OAAO,CAAG,WAK9B,OAJK,IAAI,CAAC,OAAO,GACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAK,mCAAmC,EACzD,IAAI,CAAC,OAAO,CAAG,IAEV,IAAI,CAAC,MAAM,AACpB,EAEA,EAAQ,WAAW,CAAG,C,0DCnDtB,SAAS,EAAK,CAAG,CAAE,CAAC,CAAE,CAAC,EACrB,IAAIQ,EAAO,CAAG,CAAC,EAAE,AACjB,EAAG,CAAC,EAAE,CAAG,CAAG,CAAC,EAAE,CACf,CAAG,CAAC,EAAE,CAAGA,CACX,CAgFA,EAAQ,SAAS,CAAG,SAAU,CAAG,CAAE,CAAU,GAC3C,AAvDF,SAAS,EAAY,CAAG,CAAE,CAAU,CAAE,CAAC,CAAE,CAAC,EAKxC,GAAI,EAAI,EAAG,CAYT,IAAI,EAhCCD,KAAK,KAAK,CAAC,AAgCkB,EAhCXA,KAAK,MAAM,GAAM,CAgCH,EAAH,CAhCe,GAiC7C,EAAI,EAAI,EAEZ,EAAK,EAAK,EAAY,GAStB,IAAK,IARD,EAAQ,CAAG,CAAC,EAAE,CAQT,EAAI,EAAG,EAAI,EAAG,IACY,GAA7B,EAAW,CAAG,CAAC,EAAE,CAAE,IAErB,EAAK,EADL,GAAK,EACQ,GAIjB,EAAK,EAAK,EAAI,EAAG,GACjB,IAAI,EAAI,EAAI,EAIZ,EAAY,EAAK,EAAY,EAAG,EAAI,GACpC,EAAY,EAAK,EAAY,EAAI,EAAG,EACtC,CACF,EAWc,EAAK,EAAY,EAAG,EAAI,MAAM,CAAG,EAC/C,C,qEC1GA,IAAI,EAAOP,EAAQ,qCACf,EAAeA,EAAQ,8CACvB,EAAWA,EAAA,mDACX,EAAYA,EAAQ,2CACpB,EAAYA,EAAA,qDAEhB,SAAS,EAAkB,CAAU,CAAE,CAAa,EAClD,IAAI,EAAY,EAKhB,MAJI,AAAsB,UAAtB,OAAO,GACT,GAAY,EAAK,mBAAmB,CAAC,EAAU,EAG1C,AAAsB,MAAtB,EAAU,QAAQ,CACrB,IAAI,EAAyB,EAAW,GACxC,IAAI,EAAuB,EAAW,EAC5C,CAyQA,SAAS,EAAuB,CAAU,CAAE,CAAa,EACvD,IAAI,EAAY,CACZ,AAAsB,WAAtB,OAAO,GACT,GAAY,EAAK,mBAAmB,CAAC,EAAU,EAGjD,IAAI,EAAU,EAAK,MAAM,CAAC,EAAW,WACjCS,EAAU,EAAK,MAAM,CAAC,EAAW,WAGjC,EAAQ,EAAK,MAAM,CAAC,EAAW,QAAS,EAAE,EAC1C,EAAa,EAAK,MAAM,CAAC,EAAW,aAAc,MAClD,EAAiB,EAAK,MAAM,CAAC,EAAW,iBAAkB,MAC1D,EAAW,EAAK,MAAM,CAAC,EAAW,YAClC,EAAO,EAAK,MAAM,CAAC,EAAW,OAAQ,MAI1C,GAAI,GAAW,IAAI,CAAC,QAAQ,CAC1B,MAAM,AAAIN,MAAM,wBAA0B,EAGxC,IACF,GAAa,EAAK,SAAS,CAAC,EAAU,EAGxCM,EAAUA,EACP,GAAG,CAACC,QAIJ,GAAG,CAAC,EAAK,SAAS,EAKlB,GAAG,CAAC,SAAU,CAAM,EACnB,OAAO,GAAc,EAAK,UAAU,CAAC,IAAe,EAAK,UAAU,CAAC,GAChE,EAAK,QAAQ,CAAC,EAAY,GAC1B,CACN,GAMF,IAAI,CAAC,MAAM,CAAG,EAAS,SAAS,CAAC,EAAM,GAAG,CAACA,QAAS,IACpD,IAAI,CAAC,QAAQ,CAAG,EAAS,SAAS,CAACD,EAAS,IAE5C,IAAI,CAAC,gBAAgB,CAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,SAAU,CAAC,EAC7D,OAAO,EAAK,gBAAgB,CAAC,EAAY,EAAG,EAC9C,GAEA,IAAI,CAAC,UAAU,CAAG,EAClB,IAAI,CAAC,cAAc,CAAG,EACtB,IAAI,CAAC,SAAS,CAAG,EACjB,IAAI,CAAC,aAAa,CAAG,EACrB,IAAI,CAAC,IAAI,CAAG,CACd,CA2GA,SAAS,IACP,IAAI,CAAC,aAAa,CAAG,EACrB,IAAI,CAAC,eAAe,CAAG,EACvB,IAAI,CAAC,MAAM,CAAG,KACd,IAAI,CAAC,YAAY,CAAG,KACpB,IAAI,CAAC,cAAc,CAAG,KACtB,IAAI,CAAC,IAAI,CAAG,IACd,CAiaA,SAAS,EAAyB,CAAU,CAAE,CAAa,EACzD,IAAI,EAAY,CACZ,AAAsB,WAAtB,OAAO,GACT,GAAY,EAAK,mBAAmB,CAAC,EAAU,EAGjD,IAAI,EAAU,EAAK,MAAM,CAAC,EAAW,WACjCA,EAAW,EAAK,MAAM,CAAC,EAAW,YAEtC,GAAI,GAAW,IAAI,CAAC,QAAQ,CAC1B,MAAM,AAAIN,MAAM,wBAA0B,EAG5C,KAAI,CAAC,QAAQ,CAAG,IAAI,EACpB,IAAI,CAAC,MAAM,CAAG,IAAI,EAElB,IAAI,EAAa,CACf,KAAM,GACN,OAAQ,CACV,CACA,KAAI,CAAC,SAAS,CAAGM,EAAS,GAAG,CAAC,SAAU,CAAC,EACvC,GAAI,EAAE,GAAG,CAGP,MAAM,AAAIN,MAAM,sDAElB,IAAI,EAAS,EAAK,MAAM,CAAC,EAAG,UACxBQ,EAAa,EAAK,MAAM,CAAC,EAAQ,QACjC,EAAe,EAAK,MAAM,CAAC,EAAQ,UAEvC,GAAIA,EAAa,EAAW,IAAI,EAC3BA,IAAe,EAAW,IAAI,EAAI,EAAe,EAAW,MAAM,CACrE,MAAM,AAAIR,MAAM,wDAIlB,OAFA,EAAa,EAEN,CACL,gBAAiB,CAGf,cAAeQ,EAAa,EAC5B,gBAAiB,EAAe,CAClC,EACA,SAAU,IAAI,EAAkB,EAAK,MAAM,CAAC,EAAG,OAAQ,EACzD,CACF,EACF,CAl4BA,EAAkB,aAAa,CAAG,SAAS,CAAU,CAAE,CAAa,EAClE,OAAO,EAAuB,aAAa,CAAC,EAAY,EAC1D,EAKA,EAAkB,SAAS,CAAC,QAAQ,CAAG,EAgCvC,EAAkB,SAAS,CAAC,mBAAmB,CAAG,KAClDV,OAAO,cAAc,CAAC,EAAkB,SAAS,CAAE,qBAAsB,CACvE,aAAc,GACd,WAAY,GACZ,IAAK,WAKH,OAJI,AAAC,IAAI,CAAC,mBAAmB,EAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,UAAU,EAG9C,IAAI,CAAC,mBAAmB,AACjC,CACF,GAEA,EAAkB,SAAS,CAAC,kBAAkB,CAAG,KACjDA,OAAO,cAAc,CAAC,EAAkB,SAAS,CAAE,oBAAqB,CACtE,aAAc,GACd,WAAY,GACZ,IAAK,WAKH,OAJI,AAAC,IAAI,CAAC,kBAAkB,EAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,UAAU,EAG9C,IAAI,CAAC,kBAAkB,AAChC,CACF,GAEA,EAAkB,SAAS,CAAC,uBAAuB,CACjD,SAAkD,CAAI,CAAE,CAAK,EAC3D,IAAI,EAAI,EAAK,MAAM,CAAC,GACpB,MAAO,AAAM,MAAN,GAAa,AAAM,MAAN,CACtB,EAOF,EAAkB,SAAS,CAAC,cAAc,CACxC,SAAyC,CAAI,CAAE,CAAW,EACxD,MAAM,AAAIE,MAAM,2CAClB,EAEF,EAAkB,eAAe,CAAG,EACpC,EAAkB,cAAc,CAAG,EAEnC,EAAkB,oBAAoB,CAAG,EACzC,EAAkB,iBAAiB,CAAG,EAkBtC,EAAkB,SAAS,CAAC,WAAW,CACrC,SAAuC,CAAS,CAAE,CAAQ,CAAE,CAAM,EAKhE,OAHY,GAAU,EAAkB,eAAe,EAIvD,KAAK,EAAkB,eAAe,CACpC,EAAW,IAAI,CAAC,kBAAkB,CAClC,KACF,MAAK,EAAkB,cAAc,CACnC,EAAW,IAAI,CAAC,iBAAiB,CACjC,KACF,SACE,MAAM,AAAIA,MAAM,8BAClB,CAEA,IAZI,EAYA,EAAa,IAAI,CAAC,UAAU,CAChC,EAAS,GAAG,CAAC,SAAU,CAAO,EAC5B,IAAI,EAAS,AAAmB,OAAnB,EAAQ,MAAM,CAAY,KAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAQ,MAAM,EAE7E,MAAO,CACL,OAFF,EAAS,EAAK,gBAAgB,CAAC,EAAY,EAAQ,IAAI,CAAC,aAAa,EAGnE,cAAe,EAAQ,aAAa,CACpC,gBAAiB,EAAQ,eAAe,CACxC,aAAc,EAAQ,YAAY,CAClC,eAAgB,EAAQ,cAAc,CACtC,KAAM,AAAiB,OAAjB,EAAQ,IAAI,CAAY,KAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAQ,IAAI,CAClE,CACF,EAAG,IAAI,EAAE,OAAO,CAAC,EA3BH,GAAY,KA4B5B,EAwBF,EAAkB,SAAS,CAAC,wBAAwB,CAClD,SAAoD,CAAK,EACvD,IAAI,EAAO,EAAK,MAAM,CAAC,EAAO,QAM1B,EAAS,CACX,OAAQ,EAAK,MAAM,CAAC,EAAO,UAC3B,aAAc,EACd,eAAgB,EAAK,MAAM,CAAC,EAAO,SAAU,EAC/C,EAGA,GADA,EAAO,MAAM,CAAG,IAAI,CAAC,gBAAgB,CAAC,EAAO,MAAM,EAC/C,EAAO,MAAM,CAAG,EAClB,MAAO,EAAE,CAGX,IAAI,EAAW,EAAE,CAEb,EAAQ,IAAI,CAAC,YAAY,CAAC,EACA,IAAI,CAAC,iBAAiB,CACtB,eACA,iBACA,EAAK,0BAA0B,CAC/B,EAAa,iBAAiB,EAC5D,GAAI,GAAS,EAAG,CACd,IAAI,EAAU,IAAI,CAAC,iBAAiB,CAAC,EAAM,CAE3C,GAAI,AAAiB,SAAjB,EAAM,MAAM,CAOd,IANA,IAAI,EAAe,EAAQ,YAAY,CAMhC,GAAW,EAAQ,YAAY,GAAK,GACzC,EAAS,IAAI,CAAC,CACZ,KAAM,EAAK,MAAM,CAAC,EAAS,gBAAiB,MAC5C,OAAQ,EAAK,MAAM,CAAC,EAAS,kBAAmB,MAChD,WAAY,EAAK,MAAM,CAAC,EAAS,sBAAuB,KAC1D,GAEA,EAAU,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAM,MAS3C,IANA,IAAI,EAAiB,EAAQ,cAAc,CAMpC,GACA,EAAQ,YAAY,GAAK,GACzB,EAAQ,cAAc,EAAI,GAC/B,EAAS,IAAI,CAAC,CACZ,KAAM,EAAK,MAAM,CAAC,EAAS,gBAAiB,MAC5C,OAAQ,EAAK,MAAM,CAAC,EAAS,kBAAmB,MAChD,WAAY,EAAK,MAAM,CAAC,EAAS,sBAAuB,KAC1D,GAEA,EAAU,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAM,AAG/C,CAEA,OAAO,CACT,EAEF,EAAQ,iBAAiB,CAAG,EAgG5B,EAAuB,SAAS,CAAGF,OAAO,MAAM,CAAC,EAAkB,SAAS,EAC5E,EAAuB,SAAS,CAAC,QAAQ,CAAG,EAM5C,EAAuB,SAAS,CAAC,gBAAgB,CAAG,SAAS,CAAO,EAClE,IAWI,EAXAD,EAAiB,EAKrB,GAJI,AAAmB,MAAnB,IAAI,CAAC,UAAU,EACjBA,CAAAA,EAAiB,EAAK,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAEA,EAAc,EAG5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,GACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACA,GAM/B,IAAK,EAAI,EAAG,EAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAE,EAAE,EAC9C,GAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAI,EAC9B,OAAO,EAIX,OAAO,EACT,EAWA,EAAuB,aAAa,CAClC,SAAyC,CAAU,CAAE,CAAa,EAChE,IAAI,EAAMC,OAAO,MAAM,CAAC,EAAuB,SAAS,EAEpD,EAAQ,EAAI,MAAM,CAAG,EAAS,SAAS,CAAC,EAAW,MAAM,CAAC,OAAO,GAAI,IACrEQ,EAAU,EAAI,QAAQ,CAAG,EAAS,SAAS,CAAC,EAAW,QAAQ,CAAC,OAAO,GAAI,GAC/E,GAAI,UAAU,CAAG,EAAW,WAAW,CACvC,EAAI,cAAc,CAAG,EAAW,uBAAuB,CAAC,EAAI,QAAQ,CAAC,OAAO,GACpB,EAAI,UAAU,EACtE,EAAI,IAAI,CAAG,EAAW,KAAK,CAC3B,EAAI,aAAa,CAAG,EACpB,EAAI,gBAAgB,CAAG,EAAI,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,SAAU,CAAC,EAC3D,OAAO,EAAK,gBAAgB,CAAC,EAAI,UAAU,CAAE,EAAG,EAClD,GAWA,IAAK,IAJD,EAAoB,EAAW,SAAS,CAAC,OAAO,GAAG,KAAK,GACxD,EAAwB,EAAI,mBAAmB,CAAG,EAAE,CACpD,EAAuB,EAAI,kBAAkB,CAAG,EAAE,CAE7C,EAAI,EAAG,EAAS,EAAkB,MAAM,CAAE,EAAI,EAAQ,IAAK,CAClE,IAAI,EAAa,CAAiB,CAAC,EAAE,CACjC,EAAc,IAAI,CACtB,GAAY,aAAa,CAAG,EAAW,aAAa,CACpD,EAAY,eAAe,CAAG,EAAW,eAAe,CAEpD,EAAW,MAAM,GACnB,EAAY,MAAM,CAAGA,EAAQ,OAAO,CAAC,EAAW,MAAM,EACtD,EAAY,YAAY,CAAG,EAAW,YAAY,CAClD,EAAY,cAAc,CAAG,EAAW,cAAc,CAElD,EAAW,IAAI,EACjB,GAAY,IAAI,CAAG,EAAM,OAAO,CAAC,EAAW,IAAI,GAGlD,EAAqB,IAAI,CAAC,IAG5B,EAAsB,IAAI,CAAC,EAC7B,CAIA,OAFA,EAAU,EAAI,kBAAkB,CAAE,EAAK,0BAA0B,EAE1D,CACT,EAKF,EAAuB,SAAS,CAAC,QAAQ,CAAG,EAK5CR,OAAO,cAAc,CAAC,EAAuB,SAAS,CAAE,UAAW,CACjE,IAAK,WACH,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EACpC,CACF,GAmBA,EAAuB,SAAS,CAAC,cAAc,CAC7C,SAAyC,CAAI,CAAE,CAAW,EAexD,IAdA,IAYI,EAAS,EAAK,EAAS,EAAK,EAZ5BW,EAAgB,EAChBC,EAA0B,EAC1B,EAAuB,EACvB,EAAyB,EACzB,EAAiB,EACjB,EAAe,EACf,EAAS,EAAK,MAAM,CACpB,EAAQ,EACR,EAAiB,CAAC,EAClB,EAAO,CAAC,EACR,EAAmB,EAAE,CACrB,EAAoB,EAAE,CAGnB,EAAQ,GACb,GAAI,AAAuB,MAAvB,EAAK,MAAM,CAAC,GACdD,IACA,IACAC,EAA0B,OAEvB,GAAI,AAAuB,MAAvB,EAAK,MAAM,CAAC,GACnB,QAEG,CASH,IAPA,AADA,GAAU,IAAI,CAAQ,EACd,aAAa,CAAGD,EAOnB,EAAM,EAAO,EAAM,IAClB,IAAI,CAAC,uBAAuB,CAAC,EAAM,GADT,KAQhC,GADA,EAAU,CAAc,CAFxB,EAAM,EAAK,KAAK,CAAC,EAAO,GAEK,CAE3B,GAAS,EAAI,MAAM,KACd,CAEL,IADA,EAAU,EAAE,CACL,EAAQ,GACb,EAAU,MAAM,CAAC,EAAM,EAAO,GAC9B,EAAQ,EAAK,KAAK,CAClB,EAAQ,EAAK,IAAI,CACjB,EAAQ,IAAI,CAAC,GAGf,GAAI,AAAmB,IAAnB,EAAQ,MAAM,CAChB,MAAM,AAAIT,MAAM,0CAGlB,GAAI,AAAmB,IAAnB,EAAQ,MAAM,CAChB,MAAM,AAAIA,MAAM,yCAGlB,EAAc,CAAC,EAAI,CAAG,CACxB,CAGA,EAAQ,eAAe,CAAGU,EAA0B,CAAO,CAAC,EAAE,CAC9DA,EAA0B,EAAQ,eAAe,CAE7C,EAAQ,MAAM,CAAG,IAEnB,EAAQ,MAAM,CAAG,EAAiB,CAAO,CAAC,EAAE,CAC5C,GAAkB,CAAO,CAAC,EAAE,CAG5B,EAAQ,YAAY,CAAG,EAAuB,CAAO,CAAC,EAAE,CACxD,EAAuB,EAAQ,YAAY,CAE3C,EAAQ,YAAY,EAAI,EAGxB,EAAQ,cAAc,CAAG,EAAyB,CAAO,CAAC,EAAE,CAC5D,EAAyB,EAAQ,cAAc,CAE3C,EAAQ,MAAM,CAAG,IAEnB,EAAQ,IAAI,CAAG,EAAe,CAAO,CAAC,EAAE,CACxC,GAAgB,CAAO,CAAC,EAAE,GAI9B,EAAkB,IAAI,CAAC,GACnB,AAAgC,UAAhC,OAAO,EAAQ,YAAY,EAC7B,EAAiB,IAAI,CAAC,EAE1B,CAGF,EAAU,EAAmB,EAAK,mCAAmC,EACrE,IAAI,CAAC,mBAAmB,CAAG,EAE3B,EAAU,EAAkB,EAAK,0BAA0B,EAC3D,IAAI,CAAC,kBAAkB,CAAG,CAC5B,EAMF,EAAuB,SAAS,CAAC,YAAY,CAC3C,SAAuC,CAAO,CAAE,CAAS,CAAE,CAAS,CAC7B,CAAW,CAAE,CAAW,CAAE,CAAK,EAMpE,GAAI,CAAO,CAAC,EAAU,EAAI,EACxB,MAAM,AAAIT,UAAU,gDACE,CAAO,CAAC,EAAU,EAE1C,GAAI,CAAO,CAAC,EAAY,CAAG,EACzB,MAAM,AAAIA,UAAU,kDACE,CAAO,CAAC,EAAY,EAG5C,OAAO,EAAa,MAAM,CAAC,EAAS,EAAW,EAAa,EAC9D,EAMF,EAAuB,SAAS,CAAC,kBAAkB,CACjD,WACE,IAAK,IAAI,EAAQ,EAAG,EAAQ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAE,EAAE,EAAO,CACnE,IAAI,EAAU,IAAI,CAAC,kBAAkB,CAAC,EAAM,CAM5C,GAAI,EAAQ,EAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAE,CAC9C,IAAI,EAAc,IAAI,CAAC,kBAAkB,CAAC,EAAQ,EAAE,CAEpD,GAAI,EAAQ,aAAa,GAAK,EAAY,aAAa,CAAE,CACvD,EAAQ,mBAAmB,CAAG,EAAY,eAAe,CAAG,EAC5D,QACF,CACF,CAGA,EAAQ,mBAAmB,CAAG,GAChC,CACF,EA0BF,EAAuB,SAAS,CAAC,mBAAmB,CAClD,SAA+C,CAAK,EAClD,IAAIU,EAAS,CACX,cAAe,EAAK,MAAM,CAAC,EAAO,QAClC,gBAAiB,EAAK,MAAM,CAAC,EAAO,SACtC,EAEI,EAAQ,IAAI,CAAC,YAAY,CAC3BA,EACA,IAAI,CAAC,kBAAkB,CACvB,gBACA,kBACA,EAAK,mCAAmC,CACxC,EAAK,MAAM,CAAC,EAAO,OAAQ,EAAkB,oBAAoB,GAGnE,GAAI,GAAS,EAAG,CACd,IAAI,EAAU,IAAI,CAAC,kBAAkB,CAAC,EAAM,CAE5C,GAAI,EAAQ,aAAa,GAAKA,EAAO,aAAa,CAAE,CAClD,IAAI,EAAS,EAAK,MAAM,CAAC,EAAS,SAAU,KAC7B,QAAX,IACF,EAAS,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAC1B,EAAS,EAAK,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAE,EAAQ,IAAI,CAAC,aAAa,GAE5E,IAAI,EAAO,EAAK,MAAM,CAAC,EAAS,OAAQ,MAIxC,OAHI,AAAS,OAAT,GACF,GAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAI,EAErB,CACL,OAAQ,EACR,KAAM,EAAK,MAAM,CAAC,EAAS,eAAgB,MAC3C,OAAQ,EAAK,MAAM,CAAC,EAAS,iBAAkB,MAC/C,KAAM,CACR,CACF,CACF,CAEA,MAAO,CACL,OAAQ,KACR,KAAM,KACN,OAAQ,KACR,KAAM,IACR,CACF,EAMF,EAAuB,SAAS,CAAC,uBAAuB,CACtD,iBACE,CAAI,CAAC,IAAI,CAAC,cAAc,EAGjB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IACrD,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAU,CAAE,EAAI,OAAO,AAAM,MAAN,CAAY,EACjE,EAOF,EAAuB,SAAS,CAAC,gBAAgB,CAC/C,SAA4C,CAAO,CAAEA,CAAa,EAChE,GAAI,CAAC,IAAI,CAAC,cAAc,CACtB,OAAO,KAGT,IAUI,EAVA,EAAQ,IAAI,CAAC,gBAAgB,CAAC,GAClC,GAAI,GAAS,EACX,OAAO,IAAI,CAAC,cAAc,CAAC,EAAM,CAGnC,IAAI,EAAiB,EAMrB,GALI,AAAmB,MAAnB,IAAI,CAAC,UAAU,EACjB,GAAiB,EAAK,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAE,EAAc,EAI5D,AAAmB,MAAnB,IAAI,CAAC,UAAU,EACX,GAAM,EAAK,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAI,CAK7C,IAAI,EAAiB,EAAe,OAAO,CAAC,aAAc,IAC1D,GAAI,AAAc,QAAd,EAAI,MAAM,EACP,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GACvB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAgB,CAGnE,GAAI,AAAC,EAAC,EAAI,IAAI,EAAI,AAAY,KAAZ,EAAI,IAAI,AAAM,GACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAM,GAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAM,GAAgB,AAE3E,CAMA,GAAIA,EACF,OAAO,IAGP,OAAM,AAAIX,MAAM,IAAM,EAAiB,6BAE3C,EAyBF,EAAuB,SAAS,CAAC,oBAAoB,CACnD,SAAgD,CAAK,EACnD,IAAI,EAAS,EAAK,MAAM,CAAC,EAAO,UAEhC,GAAI,AADJ,GAAS,IAAI,CAAC,gBAAgB,CAAC,EAAM,EACxB,EACX,MAAO,CACL,KAAM,KACN,OAAQ,KACR,WAAY,IACd,EAGF,IAAI,EAAS,CACX,OAAQ,EACR,aAAc,EAAK,MAAM,CAAC,EAAO,QACjC,eAAgB,EAAK,MAAM,CAAC,EAAO,SACrC,EAEI,EAAQ,IAAI,CAAC,YAAY,CAC3B,EACA,IAAI,CAAC,iBAAiB,CACtB,eACA,iBACA,EAAK,0BAA0B,CAC/B,EAAK,MAAM,CAAC,EAAO,OAAQ,EAAkB,oBAAoB,GAGnE,GAAI,GAAS,EAAG,CACd,IAAI,EAAU,IAAI,CAAC,iBAAiB,CAAC,EAAM,CAE3C,GAAI,EAAQ,MAAM,GAAK,EAAO,MAAM,CAClC,MAAO,CACL,KAAM,EAAK,MAAM,CAAC,EAAS,gBAAiB,MAC5C,OAAQ,EAAK,MAAM,CAAC,EAAS,kBAAmB,MAChD,WAAY,EAAK,MAAM,CAAC,EAAS,sBAAuB,KAC1D,CAEJ,CAEA,MAAO,CACL,KAAM,KACN,OAAQ,KACR,WAAY,IACd,CACF,EAqGF,EAAyB,SAAS,CAAGF,OAAO,MAAM,CAAC,EAAkB,SAAS,EAC9E,EAAyB,SAAS,CAAC,WAAW,CAAG,EAKjD,EAAyB,SAAS,CAAC,QAAQ,CAAG,EAK9CA,OAAO,cAAc,CAAC,EAAyB,SAAS,CAAE,UAAW,CACnE,IAAK,WAEH,IAAK,IADD,EAAU,EAAE,CACP,EAAI,EAAG,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAE,IACzC,IAAK,IAAI,EAAI,EAAG,EAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAE,IAC7D,EAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAGtD,OAAO,CACT,CACF,GAqBA,EAAyB,SAAS,CAAC,mBAAmB,CACpD,SAAsD,CAAK,EACzD,IAAIa,EAAS,CACX,cAAe,EAAK,MAAM,CAAC,EAAO,QAClC,gBAAiB,EAAK,MAAM,CAAC,EAAO,SACtC,EAII,EAAe,EAAa,MAAM,CAACA,EAAQ,IAAI,CAAC,SAAS,CAC3D,SAAS,CAAM,CAAE,CAAO,EACtB,IAAI,EAAM,EAAO,aAAa,CAAG,EAAQ,eAAe,CAAC,aAAa,QACtE,AAAI,GAII,EAAO,eAAe,CACtB,EAAQ,eAAe,CAAC,eAAe,AACjD,GACE,EAAU,IAAI,CAAC,SAAS,CAAC,EAAa,QAE1C,AAAK,EASE,EAAQ,QAAQ,CAAC,mBAAmB,CAAC,CAC1C,KAAMA,EAAO,aAAa,CACvB,GAAQ,eAAe,CAAC,aAAa,CAAG,GAC3C,OAAQA,EAAO,eAAe,CAC3B,GAAQ,eAAe,CAAC,aAAa,GAAKA,EAAO,aAAa,CAC5D,EAAQ,eAAe,CAAC,eAAe,CAAG,EAC1C,GACL,KAAM,EAAM,IAAI,AAClB,GAhBS,CACL,OAAQ,KACR,KAAM,KACN,OAAQ,KACR,KAAM,IACR,CAYJ,EAMF,EAAyB,SAAS,CAAC,uBAAuB,CACxD,WACE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAU,CAAC,EACrC,OAAO,EAAE,QAAQ,CAAC,uBAAuB,EAC3C,EACF,EAOF,EAAyB,SAAS,CAAC,gBAAgB,CACjD,SAAmD,CAAO,CAAEA,CAAa,EACvE,IAAK,IAAI,EAAI,EAAG,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAE,IAAK,CAG9C,IAAI,EAAU,AAFA,IAAI,CAAC,SAAS,CAAC,EAAE,CAET,QAAQ,CAAC,gBAAgB,CAAC,EAAS,IACzD,GAAI,EACF,OAAO,CAEX,CACA,GAAIA,EACF,OAAO,IAGP,OAAM,AAAIX,MAAM,IAAM,EAAU,6BAEpC,EAoBF,EAAyB,SAAS,CAAC,oBAAoB,CACrD,SAAuD,CAAK,EAC1D,IAAK,IAAI,EAAI,EAAG,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAE,IAAK,CAC9C,IAAI,EAAU,IAAI,CAAC,SAAS,CAAC,EAAE,CAI/B,GAAI,AAAoE,KAApE,EAAQ,QAAQ,CAAC,gBAAgB,CAAC,EAAK,MAAM,CAAC,EAAO,YAGzD,IAAI,EAAoB,EAAQ,QAAQ,CAAC,oBAAoB,CAAC,GAC9D,GAAI,EASF,MARU,CACR,KAAM,EAAkB,IAAI,CACzB,GAAQ,eAAe,CAAC,aAAa,CAAG,GAC3C,OAAQ,EAAkB,MAAM,CAC7B,GAAQ,eAAe,CAAC,aAAa,GAAK,EAAkB,IAAI,CAC9D,EAAQ,eAAe,CAAC,eAAe,CAAG,EAC1C,EACP,EAGJ,CAEA,MAAO,CACL,KAAM,KACN,OAAQ,IACV,CACF,EAOF,EAAyB,SAAS,CAAC,cAAc,CAC/C,SAAgD,CAAI,CAAE,CAAW,EAC/D,IAAI,CAAC,mBAAmB,CAAG,EAAE,CAC7B,IAAI,CAAC,kBAAkB,CAAG,EAAE,CAC5B,IAAK,IAAI,EAAI,EAAG,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAE,IAGzC,IAAK,IAFD,EAAU,IAAI,CAAC,SAAS,CAAC,EAAE,CAC3B,EAAkB,EAAQ,QAAQ,CAAC,kBAAkB,CAChD,EAAI,EAAG,EAAI,EAAgB,MAAM,CAAE,IAAK,CAC/C,IAAI,EAAU,CAAe,CAAC,EAAE,CAE5B,EAAS,EAAQ,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAQ,MAAM,EACxD,EAAS,EAAK,gBAAgB,CAAC,EAAQ,QAAQ,CAAC,UAAU,CAAE,EAAQ,IAAI,CAAC,aAAa,EACtF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAClB,EAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAE/B,IAAI,EAAO,IACP,GAAQ,IAAI,GACd,EAAO,EAAQ,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAQ,IAAI,EAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAChB,EAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAO7B,IAAI,EAAkB,CACpB,OAAQ,EACR,cAAe,EAAQ,aAAa,CACjC,GAAQ,eAAe,CAAC,aAAa,CAAG,GAC3C,gBAAiB,EAAQ,eAAe,CACrC,GAAQ,eAAe,CAAC,aAAa,GAAK,EAAQ,aAAa,CAC9D,EAAQ,eAAe,CAAC,eAAe,CAAG,EAC1C,GACJ,aAAc,EAAQ,YAAY,CAClC,eAAgB,EAAQ,cAAc,CACtC,KAAM,CACR,EAEA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAC1B,AAAwC,UAAxC,OAAO,EAAgB,YAAY,EACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAEjC,CAGF,EAAU,IAAI,CAAC,mBAAmB,CAAE,EAAK,mCAAmC,EAC5E,EAAU,IAAI,CAAC,kBAAkB,CAAE,EAAK,0BAA0B,CACpE,C,sEC/mCF,IAAI,EAAYH,EAAQ,2CACpB,EAAOA,EAAQ,qCACf,EAAWA,EAAA,mDACX,EAAcA,EAAA,yDAUlB,SAAS,EAAmB,CAAK,EAC3B,AAAC,GACH,GAAQ,CAAC,GAEX,IAAI,CAAC,KAAK,CAAG,EAAK,MAAM,CAAC,EAAO,OAAQ,MACxC,IAAI,CAAC,WAAW,CAAG,EAAK,MAAM,CAAC,EAAO,aAAc,MACpD,IAAI,CAAC,eAAe,CAAG,EAAK,MAAM,CAAC,EAAO,iBAAkB,IAC5D,IAAI,CAAC,QAAQ,CAAG,IAAI,EACpB,IAAI,CAAC,MAAM,CAAG,IAAI,EAClB,IAAI,CAAC,SAAS,CAAG,IAAI,EACrB,IAAI,CAAC,gBAAgB,CAAG,IAC1B,CAEA,EAAmB,SAAS,CAAC,QAAQ,CAAG,EAOxC,EAAmB,aAAa,CAC9B,SAA0C,CAAkB,EAC1D,IAAI,EAAa,EAAmB,UAAU,CAC1C,EAAY,IAAI,EAAmB,CACrC,KAAM,EAAmB,IAAI,CAC7B,WAAY,CACd,GA0CA,OAzCA,EAAmB,WAAW,CAAC,SAAU,CAAO,EAC9C,IAAI,EAAa,CACf,UAAW,CACT,KAAM,EAAQ,aAAa,CAC3B,OAAQ,EAAQ,eAAe,AACjC,CACF,CAEsB,OAAlB,EAAQ,MAAM,GAChB,EAAW,MAAM,CAAG,EAAQ,MAAM,CAC9B,AAAc,MAAd,GACF,GAAW,MAAM,CAAG,EAAK,QAAQ,CAAC,EAAY,EAAW,MAAM,GAGjE,EAAW,QAAQ,CAAG,CACpB,KAAM,EAAQ,YAAY,CAC1B,OAAQ,EAAQ,cAAc,AAChC,EAEI,AAAgB,MAAhB,EAAQ,IAAI,EACd,GAAW,IAAI,CAAG,EAAQ,IAAI,AAAD,GAIjC,EAAU,UAAU,CAAC,EACvB,GACA,EAAmB,OAAO,CAAC,OAAO,CAAC,SAAU,CAAU,EACrD,IAAI,EAAiB,CACjB,AAAe,QAAf,GACF,GAAiB,EAAK,QAAQ,CAAC,EAAY,EAAU,EAGnD,AAAC,EAAU,QAAQ,CAAC,GAAG,CAAC,IAC1B,EAAU,QAAQ,CAAC,GAAG,CAAC,GAGzB,IAAI,EAAU,EAAmB,gBAAgB,CAAC,EAC9C,AAAW,OAAX,GACF,EAAU,gBAAgB,CAAC,EAAY,EAE3C,GACO,CACT,EAYF,EAAmB,SAAS,CAAC,UAAU,CACrC,SAAuC,CAAK,EAC1C,IAAI,EAAY,EAAK,MAAM,CAAC,EAAO,aAC/B,EAAW,EAAK,MAAM,CAAC,EAAO,WAAY,MAC1C,EAAS,EAAK,MAAM,CAAC,EAAO,SAAU,MACtC,EAAO,EAAK,MAAM,CAAC,EAAO,OAAQ,KAElC,AAAC,KAAI,CAAC,eAAe,EACvB,IAAI,CAAC,gBAAgB,CAAC,EAAW,EAAU,EAAQ,GAGvC,MAAV,IACF,EAASU,OAAO,GACZ,AAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAIV,MAAR,IACF,EAAOA,OAAO,GACV,AAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAIpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CACjB,cAAe,EAAU,IAAI,CAC7B,gBAAiB,EAAU,MAAM,CACjC,aAAc,AAAY,MAAZ,GAAoB,EAAS,IAAI,CAC/C,eAAgB,AAAY,MAAZ,GAAoB,EAAS,MAAM,CACnD,OAAQ,EACR,KAAM,CACR,EACF,EAKF,EAAmB,SAAS,CAAC,gBAAgB,CAC3C,SAA6C,CAAW,CAAE,CAAc,EACtE,IAAI,EAAS,CACT,AAAoB,OAApB,IAAI,CAAC,WAAW,EAClB,GAAS,EAAK,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAE,EAAM,EAG7C,AAAkB,MAAlB,GAGE,AAAC,IAAI,CAAC,gBAAgB,EACxB,KAAI,CAAC,gBAAgB,CAAGT,OAAO,MAAM,CAAC,KAAI,EAE5C,IAAI,CAAC,gBAAgB,CAAC,EAAK,WAAW,CAAC,GAAQ,CAAG,GACzC,IAAI,CAAC,gBAAgB,GAG9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAK,WAAW,CAAC,GAAQ,CAClDA,AAA8C,IAA9CA,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAC3C,KAAI,CAAC,gBAAgB,CAAG,IAAG,EAGjC,EAkBF,EAAmB,SAAS,CAAC,cAAc,CACzC,SAA2C,CAAkB,CAAE,CAAW,CAAE,CAAc,EACxF,IAAI,EAAa,EAEjB,GAAI,AAAe,MAAf,EAAqB,CACvB,GAAI,AAA2B,MAA3B,EAAmB,IAAI,CACzB,MAAM,AAAIE,MACR,iJAIJ,EAAa,EAAmB,IAAI,AACtC,CACA,IAAIM,EAAa,IAAI,CAAC,WAAW,AAE7BA,AAAc,OAAdA,GACF,GAAa,EAAK,QAAQ,CAACA,EAAY,EAAU,EAInD,IAAI,EAAa,IAAI,EACjB,EAAW,IAAI,EAGnB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAU,CAAO,EAC9C,GAAI,EAAQ,MAAM,GAAK,GAAc,AAAwB,MAAxB,EAAQ,YAAY,CAAU,CAEjE,IAAI,EAAW,EAAmB,mBAAmB,CAAC,CACpD,KAAM,EAAQ,YAAY,CAC1B,OAAQ,EAAQ,cAAc,AAChC,EACuB,OAAnB,EAAS,MAAM,GAEjB,EAAQ,MAAM,CAAG,EAAS,MAAM,CAC5B,AAAkB,MAAlB,GACF,GAAQ,MAAM,CAAG,EAAK,IAAI,CAAC,EAAgB,EAAQ,MAAM,GAEvDA,AAAc,MAAdA,GACF,GAAQ,MAAM,CAAG,EAAK,QAAQ,CAACA,EAAY,EAAQ,MAAM,GAE3D,EAAQ,YAAY,CAAG,EAAS,IAAI,CACpC,EAAQ,cAAc,CAAG,EAAS,MAAM,CACpC,AAAiB,MAAjB,EAAS,IAAI,EACf,GAAQ,IAAI,CAAG,EAAS,IAAI,AAAD,EAGjC,CAEA,IAAI,EAAS,EAAQ,MAAM,AACvB,AAAU,OAAV,GAAmB,EAAW,GAAG,CAAC,IACpC,EAAW,GAAG,CAAC,GAGjB,IAAI,EAAO,EAAQ,IAAI,AACnB,AAAQ,OAAR,GAAiB,EAAS,GAAG,CAAC,IAChC,EAAS,GAAG,CAAC,EAGjB,EAAG,IAAI,EACP,IAAI,CAAC,QAAQ,CAAG,EAChB,IAAI,CAAC,MAAM,CAAG,EAGd,EAAmB,OAAO,CAAC,OAAO,CAAC,SAAU,CAAU,EACrD,IAAI,EAAU,EAAmB,gBAAgB,CAAC,EACnC,OAAX,IACE,AAAkB,MAAlB,GACF,GAAa,EAAK,IAAI,CAAC,EAAgB,EAAU,EAE/CA,AAAc,MAAdA,GACF,GAAa,EAAK,QAAQ,CAACA,EAAY,EAAU,EAEnD,IAAI,CAAC,gBAAgB,CAAC,EAAY,GAEtC,EAAG,IAAI,CACT,EAaF,EAAmB,SAAS,CAAC,gBAAgB,CAC3C,SAA4C,CAAU,CAAE,CAAS,CAAE,CAAO,CAC9B,CAAK,EAK/C,GAAI,GAAa,AAA0B,UAA1B,OAAO,EAAU,IAAI,EAAiB,AAA4B,UAA5B,OAAO,EAAU,MAAM,CAC1E,MAAM,AAAIN,MACN,gPAMR,GAAI,KAAc,UAAU,CAAS,IAAK,YAAY,CAAS,IACxD,GAAW,IAAI,CAAG,KAAK,GAAW,MAAM,EAAI,IAC3C,GAAc,GAAY,EAI7B,IAAI,KAAc,UAAU,CAAS,IAAK,YAAY,CAAS,IACxD,IAAa,UAAU,CAAQ,IAAK,YAAY,CAAQ,IACxD,GAAW,IAAI,CAAG,KAAK,GAAW,MAAM,EAAI,KAC5C,GAAU,IAAI,CAAG,KAAK,GAAU,MAAM,EAAI,KAC1C,EAKV,MAAM,AAAIA,MAAM,oBAAsBY,KAAK,SAAS,CAAC,CACnD,UAAW,EACX,OAAQ,EACR,SAAU,EACV,KAAM,CACR,GACF,CACF,EAMF,EAAmB,SAAS,CAAC,kBAAkB,CAC7C,WAcE,IAAK,IAND,EACA,EACA,EACA,EAVA,EAA0B,EAC1B,EAAwB,EACxB,EAAyB,EACzB,EAAuB,EACvB,EAAe,EACf,EAAiB,EACjB,EAAS,GAMT,EAAW,IAAI,CAAC,SAAS,CAAC,OAAO,GAC5B,EAAI,EAAG,EAAM,EAAS,MAAM,CAAE,EAAI,EAAK,IAAK,CAInD,GAHA,EAAU,CAAQ,CAAC,EAAE,CACrB,EAAO,GAEH,EAAQ,aAAa,GAAK,EAE5B,IADA,EAA0B,EACnB,EAAQ,aAAa,GAAK,GAC/B,GAAQ,IACR,SAIF,GAAI,EAAI,EAAG,CACT,GAAI,CAAC,EAAK,mCAAmC,CAAC,EAAS,CAAQ,CAAC,EAAI,EAAE,EACpE,SAEF,GAAQ,GACV,CAGF,GAAQ,EAAU,MAAM,CAAC,EAAQ,eAAe,CACnB,GAC7B,EAA0B,EAAQ,eAAe,CAE3B,MAAlB,EAAQ,MAAM,GAChB,EAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAQ,MAAM,EAChD,GAAQ,EAAU,MAAM,CAAC,EAAY,GACrC,EAAiB,EAGjB,GAAQ,EAAU,MAAM,CAAC,EAAQ,YAAY,CAAG,EACnB,GAC7B,EAAuB,EAAQ,YAAY,CAAG,EAE9C,GAAQ,EAAU,MAAM,CAAC,EAAQ,cAAc,CAClB,GAC7B,EAAyB,EAAQ,cAAc,CAE3B,MAAhB,EAAQ,IAAI,GACd,EAAU,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAQ,IAAI,EAC1C,GAAQ,EAAU,MAAM,CAAC,EAAU,GACnC,EAAe,IAInB,GAAU,CACZ,CAEA,OAAO,CACT,EAEF,EAAmB,SAAS,CAAC,uBAAuB,CAClD,SAAmD,CAAQ,CAAE,CAAW,EACtE,OAAO,EAAS,GAAG,CAAC,SAAU,CAAM,EAClC,GAAI,CAAC,IAAI,CAAC,gBAAgB,CACxB,OAAO,IAEL,AAAe,OAAf,GACF,GAAS,EAAK,QAAQ,CAAC,EAAa,EAAM,EAE5C,IAAI,EAAM,EAAK,WAAW,CAAC,GAC3B,OAAOd,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAE,GAC/D,IAAI,CAAC,gBAAgB,CAAC,EAAI,CAC1B,IACN,EAAG,IAAI,CACT,EAKF,EAAmB,SAAS,CAAC,MAAM,CACjC,WACE,IAAI,EAAM,CACR,QAAS,IAAI,CAAC,QAAQ,CACtB,QAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,GAC9B,MAAO,IAAI,CAAC,MAAM,CAAC,OAAO,GAC1B,SAAU,IAAI,CAAC,kBAAkB,EACnC,EAWA,OAVI,AAAc,MAAd,IAAI,CAAC,KAAK,EACZ,GAAI,IAAI,CAAG,IAAI,CAAC,KAAK,AAAD,EAElB,AAAoB,MAApB,IAAI,CAAC,WAAW,EAClB,GAAI,UAAU,CAAG,IAAI,CAAC,WAAW,AAAD,EAE9B,IAAI,CAAC,gBAAgB,EACvB,GAAI,cAAc,CAAG,IAAI,CAAC,uBAAuB,CAAC,EAAI,OAAO,CAAE,EAAI,UAAU,GAGxE,CACT,EAKF,EAAmB,SAAS,CAAC,QAAQ,CACnC,WACE,OAAOc,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,GACnC,EAEF,EAAQ,kBAAkB,CAAG,C,6DCja7B,IAAI,EAAqBf,EAAA,wEACrB,EAAOA,EAAQ,qCAIf,EAAgB,UAQhB,EAAe,qBAcnB,SAAS,EAAW,CAAK,CAAE,CAAO,CAAE,CAAO,CAAE,CAAO,CAAE,CAAK,EACzD,IAAI,CAAC,QAAQ,CAAG,EAAE,CAClB,IAAI,CAAC,cAAc,CAAG,CAAC,EACvB,IAAI,CAAC,IAAI,CAAG,AAAS,MAAT,EAAgB,KAAO,EACnC,IAAI,CAAC,MAAM,CAAG,AAAW,MAAX,EAAkB,KAAO,EACvC,IAAI,CAAC,MAAM,CAAG,AAAW,MAAX,EAAkB,KAAO,EACvC,IAAI,CAAC,IAAI,CAAG,AAAS,MAAT,EAAgB,KAAO,EACnC,IAAI,CAAC,EAAa,CAAG,GACjB,AAAW,MAAX,GAAiB,IAAI,CAAC,GAAG,CAAC,EAChC,CAUA,EAAW,uBAAuB,CAChC,SAA4C,CAAc,CAAE,CAAkB,CAAE,CAAa,EAG3F,IAAI,EAAO,IAAI,EAMX,EAAiB,EAAe,KAAK,CAAC,GACtC,EAAsB,EACtB,EAAgB,WAIlB,OAAO,AAHY,IAEL,MAAiB,EAAC,EAGhC,SAAS,IACP,OAAO,EAAsB,EAAe,MAAM,CAC9C,CAAc,CAAC,IAAsB,CAAG,MAC9C,CACF,EAGI,EAAoB,EAAG,EAAsB,EAK7C,EAAc,KAgElB,OA9DA,EAAmB,WAAW,CAAC,SAAU,CAAO,EAC9C,GAAI,AAAgB,OAAhB,EAGF,GAAI,EAAoB,EAAQ,aAAa,CAE3C,EAAmB,EAAa,KAChC,IACA,EAAsB,MAEjB,CAIL,IAAIc,EAAW,CAAc,CAAC,EAAoB,EAAI,GAClD,EAAOA,EAAS,MAAM,CAAC,EAAG,EAAQ,eAAe,CACvB,EAC9B,EAAc,CAAC,EAAoB,CAAGA,EAAS,MAAM,CAAC,EAAQ,eAAe,CACzC,GACpC,EAAsB,EAAQ,eAAe,CAC7C,EAAmB,EAAa,GAEhC,EAAc,EACd,MACF,CAKF,KAAO,EAAoB,EAAQ,aAAa,EAC9C,EAAK,GAAG,CAAC,KACT,IAEF,GAAI,EAAsB,EAAQ,eAAe,CAAE,CACjD,IAAIA,EAAW,CAAc,CAAC,EAAoB,EAAI,GACtD,EAAK,GAAG,CAACA,EAAS,MAAM,CAAC,EAAG,EAAQ,eAAe,GACnD,CAAc,CAAC,EAAoB,CAAGA,EAAS,MAAM,CAAC,EAAQ,eAAe,EAC7E,EAAsB,EAAQ,eAAe,AAC/C,CACA,EAAc,CAChB,EAAG,IAAI,EAEH,EAAsB,EAAe,MAAM,GACzC,GAEF,EAAmB,EAAa,KAGlC,EAAK,GAAG,CAAC,EAAe,MAAM,CAAC,GAAqB,IAAI,CAAC,MAI3D,EAAmB,OAAO,CAAC,OAAO,CAAC,SAAU,CAAU,EACrD,IAAI,EAAU,EAAmB,gBAAgB,CAAC,EACnC,OAAX,IACE,AAAiB,MAAjB,GACF,GAAa,EAAK,IAAI,CAAC,EAAe,EAAU,EAElD,EAAK,gBAAgB,CAAC,EAAY,GAEtC,GAEO,EAEP,SAAS,EAAmB,CAAO,CAAE,CAAI,EACvC,GAAI,AAAY,OAAZ,GAAoB,AAAmB,SAAnB,EAAQ,MAAM,CACpC,EAAK,GAAG,CAAC,OACJ,CACL,IAAI,EAAS,EACT,EAAK,IAAI,CAAC,EAAe,EAAQ,MAAM,EACvC,EAAQ,MAAM,CAClB,EAAK,GAAG,CAAC,IAAI,EAAW,EAAQ,YAAY,CACpB,EAAQ,cAAc,CACtB,EACA,EACA,EAAQ,IAAI,EACtC,CACF,CACF,EAQF,EAAW,SAAS,CAAC,GAAG,CAAG,SAAwB,CAAM,EACvD,GAAIE,MAAM,OAAO,CAAC,GAChB,EAAO,OAAO,CAAC,SAAU,CAAK,EAC5B,IAAI,CAAC,GAAG,CAAC,EACX,EAAG,IAAI,OAEJ,GAAI,CAAM,CAAC,EAAa,EAAI,AAAkB,UAAlB,OAAO,EAClC,GACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAIrB,MAAM,AAAIZ,UACR,8EAAgF,GAGpF,OAAO,IAAI,AACb,EAQA,EAAW,SAAS,CAAC,OAAO,CAAG,SAA4B,CAAM,EAC/D,GAAIY,MAAM,OAAO,CAAC,GAChB,IAAK,IAAI,EAAI,EAAO,MAAM,CAAC,EAAG,GAAK,EAAG,IACpC,IAAI,CAAC,OAAO,CAAC,CAAM,CAAC,EAAE,OAGrB,GAAI,CAAM,CAAC,EAAa,EAAI,AAAkB,UAAlB,OAAO,EACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAGtB,MAAM,AAAIZ,UACR,8EAAgF,GAGpF,OAAO,IAAI,AACb,EASA,EAAW,SAAS,CAAC,IAAI,CAAG,SAAyB,CAAG,EAEtD,IAAK,IADD,EACK,EAAI,EAAG,EAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,EAAI,EAAK,IAE/C,AADJ,GAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,AAAD,CACd,CAAC,EAAa,CACrB,EAAM,IAAI,CAAC,GAGP,AAAU,KAAV,GACF,EAAI,EAAO,CAAE,OAAQ,IAAI,CAAC,MAAM,CACnB,KAAM,IAAI,CAAC,IAAI,CACf,OAAQ,IAAI,CAAC,MAAM,CACnB,KAAM,IAAI,CAAC,IAAI,AAAC,EAIrC,EAQA,EAAW,SAAS,CAAC,IAAI,CAAG,SAAyB,CAAI,EAGvD,IAFIU,EACA,EACA,EAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC9B,GAAI,EAAM,EAAG,CAEX,IAAK,EAAI,EADTA,EAAc,EAAE,CACJ,EAAI,EAAI,EAAG,IACrBA,EAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EACjCA,EAAY,IAAI,CAAC,GAEnBA,EAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EACjC,IAAI,CAAC,QAAQ,CAAGA,CAClB,CACA,OAAO,IAAI,AACb,EASA,EAAW,SAAS,CAAC,YAAY,CAAG,SAAiC,CAAQ,CAAE,CAAY,EACzF,IAAI,EAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAG,EAAE,CAUvD,OATI,CAAS,CAAC,EAAa,CACzB,EAAU,YAAY,CAAC,EAAU,GAE1B,AAAqB,UAArB,OAAO,EACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAG,EAAE,CAAG,EAAU,OAAO,CAAC,EAAU,GAGtE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAU,IAEnC,IAAI,AACb,EASA,EAAW,SAAS,CAAC,gBAAgB,CACnC,SAAqC,CAAW,CAAE,CAAc,EAC9D,IAAI,CAAC,cAAc,CAAC,EAAK,WAAW,CAAC,GAAa,CAAG,CACvD,EAQF,EAAW,SAAS,CAAC,kBAAkB,CACrC,SAAuC,CAAG,EACxC,IAAK,IAAI,EAAI,EAAG,EAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,EAAI,EAAK,IAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAa,EAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAKxC,IAAK,IADD,EAAUb,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EACpC,EAAI,EAAG,EAAM,EAAQ,MAAM,CAAE,EAAI,EAAK,IAC7C,EAAI,EAAK,aAAa,CAAC,CAAO,CAAC,EAAE,EAAG,IAAI,CAAC,cAAc,CAAC,CAAO,CAAC,EAAE,CAAC,CAEvE,EAMF,EAAW,SAAS,CAAC,QAAQ,CAAG,WAC9B,IAAI,EAAM,GAIV,OAHA,IAAI,CAAC,IAAI,CAAC,SAAU,CAAK,EACvB,GAAO,CACT,GACO,CACT,EAMA,EAAW,SAAS,CAAC,qBAAqB,CAAG,SAA0C,CAAK,EAC1F,IAAI,EAAY,CACd,KAAM,GACN,KAAM,EACN,OAAQ,CACV,EACI,EAAM,IAAI,EAAmB,GAC7B,EAAsB,GACtB,EAAqB,KACrB,EAAmB,KACnB,EAAqB,KACrB,EAAmB,KAqEvB,OApEA,IAAI,CAAC,IAAI,CAAC,SAAU,CAAK,CAAE,CAAQ,EACjC,EAAU,IAAI,EAAI,EACd,AAAoB,OAApB,EAAS,MAAM,EACZ,AAAkB,OAAlB,EAAS,IAAI,EACb,AAAoB,OAApB,EAAS,MAAM,EACjB,KAAuB,EAAS,MAAM,EACnC,IAAqB,EAAS,IAAI,EAClC,IAAuB,EAAS,MAAM,EACtC,IAAqB,EAAS,IAAI,AAAD,GACrC,EAAI,UAAU,CAAC,CACb,OAAQ,EAAS,MAAM,CACvB,SAAU,CACR,KAAM,EAAS,IAAI,CACnB,OAAQ,EAAS,MAAM,AACzB,EACA,UAAW,CACT,KAAM,EAAU,IAAI,CACpB,OAAQ,EAAU,MAAM,AAC1B,EACA,KAAM,EAAS,IAAI,AACrB,GAEF,EAAqB,EAAS,MAAM,CACpC,EAAmB,EAAS,IAAI,CAChC,EAAqB,EAAS,MAAM,CACpC,EAAmB,EAAS,IAAI,CAChC,EAAsB,IACb,IACT,EAAI,UAAU,CAAC,CACb,UAAW,CACT,KAAM,EAAU,IAAI,CACpB,OAAQ,EAAU,MAAM,AAC1B,CACF,GACA,EAAqB,KACrB,EAAsB,IAExB,IAAK,IAAI,EAAM,EAAG,EAAS,EAAM,MAAM,CAAE,EAAM,EAAQ,IACjD,AA5WS,KA4WT,EAAM,UAAU,CAAC,IACnB,EAAU,IAAI,GACd,EAAU,MAAM,CAAG,EAEf,EAAM,IAAM,GACd,EAAqB,KACrB,EAAsB,IACb,GACT,EAAI,UAAU,CAAC,CACb,OAAQ,EAAS,MAAM,CACvB,SAAU,CACR,KAAM,EAAS,IAAI,CACnB,OAAQ,EAAS,MAAM,AACzB,EACA,UAAW,CACT,KAAM,EAAU,IAAI,CACpB,OAAQ,EAAU,MAAM,AAC1B,EACA,KAAM,EAAS,IAAI,AACrB,IAGF,EAAU,MAAM,EAGtB,GACA,IAAI,CAAC,kBAAkB,CAAC,SAAU,CAAU,CAAE,CAAa,EACzD,EAAI,gBAAgB,CAAC,EAAY,EACnC,GAEO,CAAE,KAAM,EAAU,IAAI,CAAE,IAAK,CAAI,CAC1C,EAEA,EAAQ,UAAU,CAAG,C,oDClYrB,EAAQ,MAAM,CATd,SAAgB,CAAK,CAAE,CAAK,CAAE,CAAa,EACzC,GAAI,KAAS,EACX,OAAO,CAAK,CAAC,EAAM,CACd,GAAIgB,AAAqB,GAArBA,UAAU,MAAM,CACzB,OAAO,CAEP,OAAM,AAAId,MAAM,IAAM,EAAQ,4BAElC,EAGA,IAAI,EAAY,iEACZ,EAAgB,gBAEpB,SAAS,EAAS,CAAI,EACpB,IAAI,EAAQ,EAAK,KAAK,CAAC,UACvB,AAAK,EAGE,CACL,OAAQ,CAAK,CAAC,EAAE,CAChB,KAAM,CAAK,CAAC,EAAE,CACd,KAAM,CAAK,CAAC,EAAE,CACd,KAAM,CAAK,CAAC,EAAE,CACd,KAAM,CAAK,CAAC,EAAE,AAChB,EARS,IASX,CAGA,SAAS,EAAY,CAAU,EAC7B,IAAI,EAAM,GAiBV,OAhBI,EAAW,MAAM,EACnB,IAAO,EAAW,MAAM,CAAG,GAAE,EAE/B,GAAO,KACH,EAAW,IAAI,EACjB,IAAO,EAAW,IAAI,CAAG,GAAE,EAEzB,EAAW,IAAI,EACjB,IAAO,EAAW,IAAI,AAAD,EAEnB,EAAW,IAAI,EACjB,IAAO,IAAM,EAAW,IAAI,AAAD,EAEzB,EAAW,IAAI,EACjB,IAAO,EAAW,IAAI,AAAD,EAEhB,CACT,CAcA,SAAS,EAAU,CAAK,EACtB,IAAI,EAAO,EACP,EAAM,EAAS,GACnB,GAAI,EAAK,CACP,GAAI,CAAC,EAAI,IAAI,CACX,OAAO,EAET,EAAO,EAAI,IAAI,AACjB,CAIA,IAAK,IAAI,EAHL,EAAa,EAAQ,UAAU,CAAC,GAEhC,EAAQ,EAAK,KAAK,CAAC,OACR,EAAK,EAAG,EAAI,EAAM,MAAM,CAAG,EAAG,GAAK,EAAG,IAE/C,AAAS,MADb,GAAO,CAAK,CAAC,EAAE,AAAD,EAEZ,EAAM,MAAM,CAAC,EAAG,GACP,AAAS,OAAT,EACT,IACS,EAAK,IACV,AAAS,KAAT,GAIF,EAAM,MAAM,CAAC,EAAI,EAAG,GACpB,EAAK,IAEL,EAAM,MAAM,CAAC,EAAG,GAChB,YAUN,CAJI,AAAS,KAFb,GAAO,EAAM,IAAI,CAAC,IAAG,GAGnB,GAAO,EAAa,IAAM,GAAE,EAG1B,IACF,EAAI,IAAI,CAAG,EACJ,EAAY,IAEd,CACT,CAmBA,SAAS,EAAK,CAAK,CAAE,CAAK,EACpB,AAAU,KAAV,GACF,GAAQ,GAAE,EAER,AAAU,KAAV,GACF,GAAQ,GAAE,EAEZ,IAAI,EAAW,EAAS,GACpBG,EAAW,EAAS,GAMxB,GALIA,GACF,GAAQA,EAAS,IAAI,EAAI,GAAE,EAIzB,GAAY,CAAC,EAAS,MAAM,CAI9B,OAHIA,GACF,GAAS,MAAM,CAAGA,EAAS,MAAM,AAAD,EAE3B,EAAY,GAGrB,GAAI,GAAY,EAAM,KAAK,CAAC,GAC1B,OAAO,EAIT,GAAIA,GAAY,CAACA,EAAS,IAAI,EAAI,CAACA,EAAS,IAAI,CAE9C,OADAA,EAAS,IAAI,CAAG,EACT,EAAYA,GAGrB,IAAI,EAAS,AAAoB,MAApB,EAAM,MAAM,CAAC,GACtB,EACA,EAAU,EAAM,OAAO,CAAC,OAAQ,IAAM,IAAM,UAEhD,AAAIA,GACFA,EAAS,IAAI,CAAG,EACT,EAAYA,IAEd,CACT,CAxIA,EAAQ,QAAQ,CAAG,EAsBnB,EAAQ,WAAW,CAAG,EAwDtB,EAAQ,SAAS,CAAG,EA2DpB,EAAQ,IAAI,CAAG,EAEf,EAAQ,UAAU,CAAG,SAAU,CAAK,EAClC,MAAO,AAAoB,MAApB,EAAM,MAAM,CAAC,IAAc,EAAU,IAAI,CAAC,EACnD,EAwCA,EAAQ,QAAQ,CAhChB,SAAkB,CAAK,CAAE,CAAK,EACxB,AAAU,KAAV,GACF,GAAQ,GAAE,EAGZ,EAAQ,EAAM,OAAO,CAAC,MAAO,IAO7B,IADA,IAAI,EAAQ,EACL,AAA+B,IAA/B,EAAM,OAAO,CAAC,EAAQ,MAAY,CACvC,IAAI,EAAQ,EAAM,WAAW,CAAC,KAC9B,GAAI,EAAQ,GAQR,AADJ,GAAQ,EAAM,KAAK,CAAC,EAAG,EAAK,EAClB,KAAK,CAAC,qBAPd,OAAO,CAWT,GAAE,CACJ,CAGA,OAAOU,MAAM,EAAQ,GAAG,IAAI,CAAC,OAAS,EAAM,MAAM,CAAC,EAAM,MAAM,CAAG,EACpE,EAGA,IAAI,EAEK,CAAE,eADCf,OAAO,MAAM,CAAC,KACE,EAG5B,SAAS,EAAU,CAAC,EAClB,OAAO,CACT,CA6BA,SAAS,EAAc,CAAC,EACtB,GAAI,CAAC,EACH,MAAO,GAGT,IAAI,EAAS,EAAE,MAAM,CAErB,GAAI,EAAS,GAIT,AAA6B,KAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,KAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,MAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,MAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,MAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,MAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,MAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,KAA7B,EAAE,UAAU,CAAC,EAAS,IACtB,AAA6B,KAA7B,EAAE,UAAU,CAAC,EAAS,GAXxB,MAAO,GAeT,IAAK,IAAI,EAAI,EAAS,GAAI,GAAK,EAAG,IAChC,GAAI,AAAoB,KAApB,EAAE,UAAU,CAAC,GACf,MAAO,GAIX,MAAO,EACT,CA+EA,SAAS,EAAO,CAAK,CAAE,CAAK,SAC1B,AAAI,IAAU,EACL,EAGL,AAAU,OAAV,EACK,EAGL,AAAU,OAAV,EACK,GAGL,EAAQ,EACH,EAGF,EACT,CA1IA,EAAQ,WAAW,CAAG,EAAoB,EAP1C,SAAqB,CAAI,SACvB,AAAI,EAAc,GACT,IAAM,EAGR,CACT,EAUA,EAAQ,aAAa,CAAG,EAAoB,EAP5C,SAAuB,CAAI,SACzB,AAAI,EAAc,GACT,EAAK,KAAK,CAAC,GAGb,CACT,EAuEA,EAAQ,0BAA0B,CA5BlC,SAAoC,CAAQ,CAAE,CAAQ,CAAE,CAAmB,EACzE,IAAI,EAAM,EAAO,EAAS,MAAM,CAAE,EAAS,MAAM,SACjD,AAAY,IAAR,GAKA,AAAQ,GADZ,GAAM,EAAS,YAAY,CAAG,EAAS,YAAY,AAAD,GAM9C,AAAQ,GADZ,GAAM,EAAS,cAAc,CAAG,EAAS,cAAc,AAAD,GACrC,GAKb,AAAQ,GADZ,GAAM,EAAS,eAAe,CAAG,EAAS,eAAe,AAAD,GAMpD,AAAQ,GADZ,GAAM,EAAS,aAAa,CAAG,EAAS,aAAa,AAAD,EAlB3C,EAuBF,EAAO,EAAS,IAAI,CAAE,EAAS,IAAI,CAC5C,EAwCA,EAAQ,mCAAmC,CA5B3C,SAA6C,CAAQ,CAAE,CAAQ,CAAE,CAAoB,EACnF,IAAI,EAAM,EAAS,aAAa,CAAG,EAAS,aAAa,QACzD,AAAY,IAAR,GAKA,AAAQ,GADZ,GAAM,EAAS,eAAe,CAAG,EAAS,eAAe,AAAD,GACvC,GAKb,AAAQ,IADZ,GAAM,EAAO,EAAS,MAAM,CAAE,EAAS,MAAM,IAMzC,AAAQ,GADZ,GAAM,EAAS,YAAY,CAAG,EAAS,YAAY,AAAD,GAM9C,AAAQ,GADZ,GAAM,EAAS,cAAc,CAAG,EAAS,cAAc,AAAD,EAlB7C,EAuBF,EAAO,EAAS,IAAI,CAAE,EAAS,IAAI,CAC5C,EAuDA,EAAQ,mCAAmC,CA5B3C,SAA6C,CAAQ,CAAE,CAAQ,EAC7D,IAAI,EAAM,EAAS,aAAa,CAAG,EAAS,aAAa,QACzD,AAAY,IAAR,GAKA,AAAQ,GADZ,GAAM,EAAS,eAAe,CAAG,EAAS,eAAe,AAAD,GAMpD,AAAQ,IADZ,GAAM,EAAO,EAAS,MAAM,CAAE,EAAS,MAAM,IAMzC,AAAQ,GADZ,GAAM,EAAS,YAAY,CAAG,EAAS,YAAY,AAAD,GAM9C,AAAQ,GADZ,GAAM,EAAS,cAAc,CAAG,EAAS,cAAc,AAAD,EAlB7C,EAuBF,EAAO,EAAS,IAAI,CAAE,EAAS,IAAI,CAC5C,EAWA,EAAQ,mBAAmB,CAH3B,SAA6B,CAAG,EAC9B,OAAOc,KAAK,KAAK,CAAC,EAAI,OAAO,CAAC,iBAAkB,IAClD,EAsDA,EAAQ,gBAAgB,CA/CxB,SAA0B,CAAU,CAAE,CAAS,CAAE,CAAY,EA8B3D,GA7BA,EAAY,GAAa,GAErB,IAEE,AAAsC,MAAtC,CAAU,CAAC,EAAW,MAAM,CAAG,EAAE,EAAY,AAAiB,MAAjB,CAAS,CAAC,EAAE,EAC3D,IAAc,GAAE,EAOlB,EAAY,EAAa,GAiBvB,EAAc,CAChB,IAAI,EAAS,EAAS,GACtB,GAAI,CAAC,EACH,MAAM,AAAIZ,MAAM,oCAElB,GAAI,EAAO,IAAI,CAAE,CAEf,IAAI,EAAQ,EAAO,IAAI,CAAC,WAAW,CAAC,IAChC,IAAS,GACX,GAAO,IAAI,CAAG,EAAO,IAAI,CAAC,SAAS,CAAC,EAAG,EAAQ,EAAC,CAEpD,CACA,EAAY,EAAK,EAAY,GAAS,EACxC,CAEA,OAAO,EAAU,EACnB,C,qICjeA,C,EAAQ,kBAAkB,CAAGH,EAA7B,uEAAqF,CACrF,A,EAAQ,iBAAiB,CAAGA,EAA5B,qEAAkF,CAClF,A,EAAQ,UAAU,CAAGA,EAArB,sDAA4D,C"} \ No newline at end of file diff --git a/packages/node_modules/astring/LICENSE b/packages/node_modules/astring/LICENSE new file mode 100644 index 00000000000..4714dd6f96e --- /dev/null +++ b/packages/node_modules/astring/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015, David Bonnet + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/packages/node_modules/astring/index.js b/packages/node_modules/astring/index.js new file mode 100644 index 00000000000..b73bb26a68a --- /dev/null +++ b/packages/node_modules/astring/index.js @@ -0,0 +1 @@ +(()=>{"use strict";let e,t,i,r,n,s;var l={};l.d=(e,t)=>{for(var i in t)l.o(t,i)&&!l.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};l.r(o),l.d(o,{EXPRESSIONS_PRECEDENCE:()=>u,GENERATOR:()=>f,NEEDS_PARENTHESES:()=>w,baseGenerator:()=>b,generate:()=>E});let{stringify:a}=JSON;if(!String.prototype.repeat)throw Error("String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation");if(!String.prototype.endsWith)throw Error("String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation");let p={"||":2,"??":3,"&&":4,"|":5,"^":6,"&":7,"==":8,"!=":8,"===":8,"!==":8,"<":9,">":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},w=17,u={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:17,ClassExpression:17,FunctionExpression:17,ObjectExpression:17,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function h(e,t){let{generator:i}=e;if(e.write("("),null!=t&&t.length>0){i[t[0].type](t[0],e);let{length:r}=t;for(let n=1;n0){e.write(r);for(let t=1;t0){i.VariableDeclarator(r[0],e);for(let t=1;t0){t.write(r),n&&null!=e.comments&&y(t,e.comments,s,r);let{length:o}=l;for(let e=0;e0){for(;s0&&t.write(", ");let e=i[s],r=e.type[6];if("D"===r)t.write(e.local.name,e),s++;else if("N"===r)t.write("* as "+e.local.name,e),s++;else break}if(s0){t.write(" with { ");for(let e=0;e0)for(let e=0;;){let n=i[e],{name:s}=n.local;if(t.write(s,n),s!==n.exported.name&&t.write(" as "+n.exported.name),++e0){t.write(" with { ");for(let i=0;i0){t.write(" with { ");for(let i=0;i "),"O"===e.body.type[0]?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression(e,t){t.write("this",e)},Super(e,t){t.write("super",e)},RestElement:i=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:i,YieldExpression(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression(e,t){t.write("await ",e),m(t,e.argument,e)},TemplateLiteral(e,t){let{quasis:i,expressions:r}=e;t.write("`");let{length:n}=r;for(let e=0;e0){let{elements:i}=e,{length:r}=i;for(let e=0;;){let n=i[e];if(null!=n&&this[n.type](n,t),++e0){t.write(r),n&&null!=e.comments&&y(t,e.comments,s,r);let l=","+r,{properties:o}=e,{length:a}=o;for(let e=0;;){let i=o[e];if(n&&null!=i.comments&&y(t,i.comments,s,r),t.write(s),this[i.type](i,t),++e0){let{properties:i}=e,{length:r}=i;for(let e=0;;)if(this[i[e].type](i[e],t),++e1||"U"===n[0]&&("n"===n[1]||"p"===n[1])&&r.prefix&&r.operator[0]===i&&("+"===i||"-"===i))&&t.write(" "),s?(t.write(i.length>1?" (":"("),this[n](r,t),t.write(")")):this[n](r,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:r=function(e,t){let i="in"===e.operator;i&&t.write("("),m(t,e.left,e,!1),t.write(" "+e.operator+" "),m(t,e.right,e,!0),i&&t.write(")")},LogicalExpression:r,ConditionalExpression(e,t){let{test:i}=e,r=t.expressionsPrecedence[i.type];r===w||r<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[i.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression(e,t){t.write("new ");let i=t.expressionsPrecedence[e.callee.type];i===w||i0&&(this.lineEndSize>0&&(1===r.length?e[i-1]===r:e.endsWith(r))?(this.line+=this.lineEndSize,this.column=0):this.column+=i)}toString(){return this.output}}function E(e,t){let i=new x(t);return i.generator[e.type](e,i),i.output}module.exports=o})(); \ No newline at end of file diff --git a/packages/node_modules/astring/index.js.map b/packages/node_modules/astring/index.js.map new file mode 100644 index 00000000000..e2ba2f3292c --- /dev/null +++ b/packages/node_modules/astring/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"astring/index.js","sources":["webpack:///./astring/dist/astring.mjs","webpack:///webpack/runtime/define_property_getters","webpack:///webpack/runtime/has_own_property","webpack:///webpack/runtime/make_namespace_object"],"sourcesContent":["// Astring is a tiny and fast JavaScript code generator from an ESTree-compliant AST.\n//\n// Astring was written by David Bonnet and released under an MIT license.\n//\n// The Git repository for Astring is available at:\n// https://github.com/davidbonnet/astring.git\n//\n// Please use the GitHub bug tracker to report issues:\n// https://github.com/davidbonnet/astring/issues\n\nconst { stringify } = JSON\n\n/* c8 ignore if */\nif (!String.prototype.repeat) {\n /* c8 ignore next */\n throw new Error(\n 'String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation',\n )\n}\n\n/* c8 ignore if */\nif (!String.prototype.endsWith) {\n /* c8 ignore next */\n throw new Error(\n 'String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation',\n )\n}\n\nconst OPERATOR_PRECEDENCE = {\n '||': 2,\n '??': 3,\n '&&': 4,\n '|': 5,\n '^': 6,\n '&': 7,\n '==': 8,\n '!=': 8,\n '===': 8,\n '!==': 8,\n '<': 9,\n '>': 9,\n '<=': 9,\n '>=': 9,\n in: 9,\n instanceof: 9,\n '<<': 10,\n '>>': 10,\n '>>>': 10,\n '+': 11,\n '-': 11,\n '*': 12,\n '%': 12,\n '/': 12,\n '**': 13,\n}\n\n// Enables parenthesis regardless of precedence\nexport const NEEDS_PARENTHESES = 17\n\nexport const EXPRESSIONS_PRECEDENCE = {\n // Definitions\n ArrayExpression: 20,\n TaggedTemplateExpression: 20,\n ThisExpression: 20,\n Identifier: 20,\n PrivateIdentifier: 20,\n Literal: 18,\n TemplateLiteral: 20,\n Super: 20,\n SequenceExpression: 20,\n // Operations\n MemberExpression: 19,\n ChainExpression: 19,\n CallExpression: 19,\n NewExpression: 19,\n // Other definitions\n ArrowFunctionExpression: NEEDS_PARENTHESES,\n ClassExpression: NEEDS_PARENTHESES,\n FunctionExpression: NEEDS_PARENTHESES,\n ObjectExpression: NEEDS_PARENTHESES,\n // Other operations\n UpdateExpression: 16,\n UnaryExpression: 15,\n AwaitExpression: 15,\n BinaryExpression: 14,\n LogicalExpression: 13,\n ConditionalExpression: 4,\n AssignmentExpression: 3,\n YieldExpression: 2,\n RestElement: 1,\n}\n\nfunction formatSequence(state, nodes) {\n /*\n Writes into `state` a sequence of `nodes`.\n */\n const { generator } = state\n state.write('(')\n if (nodes != null && nodes.length > 0) {\n generator[nodes[0].type](nodes[0], state)\n const { length } = nodes\n for (let i = 1; i < length; i++) {\n const param = nodes[i]\n state.write(', ')\n generator[param.type](param, state)\n }\n }\n state.write(')')\n}\n\nfunction expressionNeedsParenthesis(state, node, parentNode, isRightHand) {\n const nodePrecedence = state.expressionsPrecedence[node.type]\n if (nodePrecedence === NEEDS_PARENTHESES) {\n return true\n }\n const parentNodePrecedence = state.expressionsPrecedence[parentNode.type]\n if (nodePrecedence !== parentNodePrecedence) {\n // Different node types\n return (\n (!isRightHand &&\n nodePrecedence === 15 &&\n parentNodePrecedence === 14 &&\n parentNode.operator === '**') ||\n nodePrecedence < parentNodePrecedence\n )\n }\n if (nodePrecedence !== 13 && nodePrecedence !== 14) {\n // Not a `LogicalExpression` or `BinaryExpression`\n return false\n }\n if (node.operator === '**' && parentNode.operator === '**') {\n // Exponentiation operator has right-to-left associativity\n return !isRightHand\n }\n if (\n nodePrecedence === 13 &&\n parentNodePrecedence === 13 &&\n (node.operator === '??' || parentNode.operator === '??')\n ) {\n // Nullish coalescing and boolean operators cannot be combined\n return true\n }\n if (isRightHand) {\n // Parenthesis are used if both operators have the same precedence\n return (\n OPERATOR_PRECEDENCE[node.operator] <=\n OPERATOR_PRECEDENCE[parentNode.operator]\n )\n }\n return (\n OPERATOR_PRECEDENCE[node.operator] <\n OPERATOR_PRECEDENCE[parentNode.operator]\n )\n}\n\nfunction formatExpression(state, node, parentNode, isRightHand) {\n /*\n Writes into `state` the provided `node`, adding parenthesis around if the provided `parentNode` needs it. If `node` is a right-hand argument, the provided `isRightHand` parameter should be `true`.\n */\n const { generator } = state\n if (expressionNeedsParenthesis(state, node, parentNode, isRightHand)) {\n state.write('(')\n generator[node.type](node, state)\n state.write(')')\n } else {\n generator[node.type](node, state)\n }\n}\n\nfunction reindent(state, text, indent, lineEnd) {\n /*\n Writes into `state` the `text` string reindented with the provided `indent`.\n */\n const lines = text.split('\\n')\n const end = lines.length - 1\n state.write(lines[0].trim())\n if (end > 0) {\n state.write(lineEnd)\n for (let i = 1; i < end; i++) {\n state.write(indent + lines[i].trim() + lineEnd)\n }\n state.write(indent + lines[end].trim())\n }\n}\n\nfunction formatComments(state, comments, indent, lineEnd) {\n /*\n Writes into `state` the provided list of `comments`, with the given `indent` and `lineEnd` strings.\n Line comments will end with `\"\\n\"` regardless of the value of `lineEnd`.\n Expects to start on a new unindented line.\n */\n const { length } = comments\n for (let i = 0; i < length; i++) {\n const comment = comments[i]\n state.write(indent)\n if (comment.type[0] === 'L') {\n // Line comment\n state.write('// ' + comment.value.trim() + '\\n', comment)\n } else {\n // Block comment\n state.write('/*')\n reindent(state, comment.value, indent, lineEnd)\n state.write('*/' + lineEnd)\n }\n }\n}\n\nfunction hasCallExpression(node) {\n /*\n Returns `true` if the provided `node` contains a call expression and `false` otherwise.\n */\n let currentNode = node\n while (currentNode != null) {\n const { type } = currentNode\n if (type[0] === 'C' && type[1] === 'a') {\n // Is CallExpression\n return true\n } else if (type[0] === 'M' && type[1] === 'e' && type[2] === 'm') {\n // Is MemberExpression\n currentNode = currentNode.object\n } else {\n return false\n }\n }\n}\n\nfunction formatVariableDeclaration(state, node) {\n /*\n Writes into `state` a variable declaration.\n */\n const { generator } = state\n const { declarations } = node\n state.write(node.kind + ' ')\n const { length } = declarations\n if (length > 0) {\n generator.VariableDeclarator(declarations[0], state)\n for (let i = 1; i < length; i++) {\n state.write(', ')\n generator.VariableDeclarator(declarations[i], state)\n }\n }\n}\n\nlet ForInStatement,\n FunctionDeclaration,\n RestElement,\n BinaryExpression,\n ArrayExpression,\n BlockStatement\n\nexport const GENERATOR = {\n /*\n Default generator.\n */\n Program(node, state) {\n const indent = state.indent.repeat(state.indentLevel)\n const { lineEnd, writeComments } = state\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, indent, lineEnd)\n }\n const statements = node.body\n const { length } = statements\n for (let i = 0; i < length; i++) {\n const statement = statements[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, indent, lineEnd)\n }\n state.write(indent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, indent, lineEnd)\n }\n },\n BlockStatement: (BlockStatement = function (node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n const statementIndent = indent + state.indent\n state.write('{')\n const statements = node.body\n if (statements != null && statements.length > 0) {\n state.write(lineEnd)\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, statementIndent, lineEnd)\n }\n const { length } = statements\n for (let i = 0; i < length; i++) {\n const statement = statements[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, statementIndent, lineEnd)\n }\n state.write(statementIndent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n state.write(indent)\n } else {\n if (writeComments && node.comments != null) {\n state.write(lineEnd)\n formatComments(state, node.comments, statementIndent, lineEnd)\n state.write(indent)\n }\n }\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, statementIndent, lineEnd)\n }\n state.write('}')\n state.indentLevel--\n }),\n ClassBody: BlockStatement,\n StaticBlock(node, state) {\n state.write('static ')\n this.BlockStatement(node, state)\n },\n EmptyStatement(node, state) {\n state.write(';')\n },\n ExpressionStatement(node, state) {\n const precedence = state.expressionsPrecedence[node.expression.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n (precedence === 3 && node.expression.left.type[0] === 'O')\n ) {\n // Should always have parentheses or is an AssignmentExpression to an ObjectPattern\n state.write('(')\n this[node.expression.type](node.expression, state)\n state.write(')')\n } else {\n this[node.expression.type](node.expression, state)\n }\n state.write(';')\n },\n IfStatement(node, state) {\n state.write('if (')\n this[node.test.type](node.test, state)\n state.write(') ')\n this[node.consequent.type](node.consequent, state)\n if (node.alternate != null) {\n state.write(' else ')\n this[node.alternate.type](node.alternate, state)\n }\n },\n LabeledStatement(node, state) {\n this[node.label.type](node.label, state)\n state.write(': ')\n this[node.body.type](node.body, state)\n },\n BreakStatement(node, state) {\n state.write('break')\n if (node.label != null) {\n state.write(' ')\n this[node.label.type](node.label, state)\n }\n state.write(';')\n },\n ContinueStatement(node, state) {\n state.write('continue')\n if (node.label != null) {\n state.write(' ')\n this[node.label.type](node.label, state)\n }\n state.write(';')\n },\n WithStatement(node, state) {\n state.write('with (')\n this[node.object.type](node.object, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n SwitchStatement(node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n state.indentLevel++\n const caseIndent = indent + state.indent\n const statementIndent = caseIndent + state.indent\n state.write('switch (')\n this[node.discriminant.type](node.discriminant, state)\n state.write(') {' + lineEnd)\n const { cases: occurences } = node\n const { length: occurencesCount } = occurences\n for (let i = 0; i < occurencesCount; i++) {\n const occurence = occurences[i]\n if (writeComments && occurence.comments != null) {\n formatComments(state, occurence.comments, caseIndent, lineEnd)\n }\n if (occurence.test) {\n state.write(caseIndent + 'case ')\n this[occurence.test.type](occurence.test, state)\n state.write(':' + lineEnd)\n } else {\n state.write(caseIndent + 'default:' + lineEnd)\n }\n const { consequent } = occurence\n const { length: consequentCount } = consequent\n for (let i = 0; i < consequentCount; i++) {\n const statement = consequent[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, statementIndent, lineEnd)\n }\n state.write(statementIndent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n }\n state.indentLevel -= 2\n state.write(indent + '}')\n },\n ReturnStatement(node, state) {\n state.write('return')\n if (node.argument) {\n state.write(' ')\n this[node.argument.type](node.argument, state)\n }\n state.write(';')\n },\n ThrowStatement(node, state) {\n state.write('throw ')\n this[node.argument.type](node.argument, state)\n state.write(';')\n },\n TryStatement(node, state) {\n state.write('try ')\n this[node.block.type](node.block, state)\n if (node.handler) {\n const { handler } = node\n if (handler.param == null) {\n state.write(' catch ')\n } else {\n state.write(' catch (')\n this[handler.param.type](handler.param, state)\n state.write(') ')\n }\n this[handler.body.type](handler.body, state)\n }\n if (node.finalizer) {\n state.write(' finally ')\n this[node.finalizer.type](node.finalizer, state)\n }\n },\n WhileStatement(node, state) {\n state.write('while (')\n this[node.test.type](node.test, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n DoWhileStatement(node, state) {\n state.write('do ')\n this[node.body.type](node.body, state)\n state.write(' while (')\n this[node.test.type](node.test, state)\n state.write(');')\n },\n ForStatement(node, state) {\n state.write('for (')\n if (node.init != null) {\n const { init } = node\n if (init.type[0] === 'V') {\n formatVariableDeclaration(state, init)\n } else {\n this[init.type](init, state)\n }\n }\n state.write('; ')\n if (node.test) {\n this[node.test.type](node.test, state)\n }\n state.write('; ')\n if (node.update) {\n this[node.update.type](node.update, state)\n }\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n ForInStatement: (ForInStatement = function (node, state) {\n state.write(`for ${node.await ? 'await ' : ''}(`)\n const { left } = node\n if (left.type[0] === 'V') {\n formatVariableDeclaration(state, left)\n } else {\n this[left.type](left, state)\n }\n // Identifying whether node.type is `ForInStatement` or `ForOfStatement`\n state.write(node.type[3] === 'I' ? ' in ' : ' of ')\n this[node.right.type](node.right, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n }),\n ForOfStatement: ForInStatement,\n DebuggerStatement(node, state) {\n state.write('debugger;', node)\n },\n FunctionDeclaration: (FunctionDeclaration = function (node, state) {\n state.write(\n (node.async ? 'async ' : '') +\n (node.generator ? 'function* ' : 'function ') +\n (node.id ? node.id.name : ''),\n node,\n )\n formatSequence(state, node.params)\n state.write(' ')\n this[node.body.type](node.body, state)\n }),\n FunctionExpression: FunctionDeclaration,\n VariableDeclaration(node, state) {\n formatVariableDeclaration(state, node)\n state.write(';')\n },\n VariableDeclarator(node, state) {\n this[node.id.type](node.id, state)\n if (node.init != null) {\n state.write(' = ')\n this[node.init.type](node.init, state)\n }\n },\n ClassDeclaration(node, state) {\n state.write('class ' + (node.id ? `${node.id.name} ` : ''), node)\n if (node.superClass) {\n state.write('extends ')\n const { superClass } = node\n const { type } = superClass\n const precedence = state.expressionsPrecedence[type]\n if (\n (type[0] !== 'C' || type[1] !== 'l' || type[5] !== 'E') &&\n (precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.ClassExpression)\n ) {\n // Not a ClassExpression that needs parentheses\n state.write('(')\n this[node.superClass.type](superClass, state)\n state.write(')')\n } else {\n this[superClass.type](superClass, state)\n }\n state.write(' ')\n }\n this.ClassBody(node.body, state)\n },\n ImportDeclaration(node, state) {\n state.write('import ')\n const { specifiers, attributes } = node\n const { length } = specifiers\n // TODO: Once babili is fixed, put this after condition\n // https://github.com/babel/babili/issues/430\n let i = 0\n if (length > 0) {\n for (; i < length; ) {\n if (i > 0) {\n state.write(', ')\n }\n const specifier = specifiers[i]\n const type = specifier.type[6]\n if (type === 'D') {\n // ImportDefaultSpecifier\n state.write(specifier.local.name, specifier)\n i++\n } else if (type === 'N') {\n // ImportNamespaceSpecifier\n state.write('* as ' + specifier.local.name, specifier)\n i++\n } else {\n // ImportSpecifier\n break\n }\n }\n if (i < length) {\n state.write('{')\n for (;;) {\n const specifier = specifiers[i]\n const { name } = specifier.imported\n state.write(name, specifier)\n if (name !== specifier.local.name) {\n state.write(' as ' + specifier.local.name)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n state.write('}')\n }\n state.write(' from ')\n }\n this.Literal(node.source, state)\n\n if (attributes && attributes.length > 0) {\n state.write(' with { ')\n for (let i = 0; i < attributes.length; i++) {\n this.ImportAttribute(attributes[i], state)\n if (i < attributes.length - 1) state.write(', ')\n }\n\n state.write(' }')\n }\n state.write(';')\n },\n ImportAttribute(node, state) {\n this.Identifier(node.key, state)\n state.write(': ')\n this.Literal(node.value, state)\n },\n ImportExpression(node, state) {\n state.write('import(')\n this[node.source.type](node.source, state)\n state.write(')')\n },\n ExportDefaultDeclaration(node, state) {\n state.write('export default ')\n this[node.declaration.type](node.declaration, state)\n if (\n state.expressionsPrecedence[node.declaration.type] != null &&\n node.declaration.type[0] !== 'F'\n ) {\n // All expression nodes except `FunctionExpression`\n state.write(';')\n }\n },\n ExportNamedDeclaration(node, state) {\n state.write('export ')\n if (node.declaration) {\n this[node.declaration.type](node.declaration, state)\n } else {\n state.write('{')\n const { specifiers } = node,\n { length } = specifiers\n if (length > 0) {\n for (let i = 0; ; ) {\n const specifier = specifiers[i]\n const { name } = specifier.local\n state.write(name, specifier)\n if (name !== specifier.exported.name) {\n state.write(' as ' + specifier.exported.name)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n }\n state.write('}')\n if (node.source) {\n state.write(' from ')\n this.Literal(node.source, state)\n }\n\n if (node.attributes && node.attributes.length > 0) {\n state.write(' with { ')\n for (let i = 0; i < node.attributes.length; i++) {\n this.ImportAttribute(node.attributes[i], state)\n if (i < node.attributes.length - 1) state.write(', ')\n }\n\n state.write(' }')\n }\n\n state.write(';')\n }\n },\n ExportAllDeclaration(node, state) {\n if (node.exported != null) {\n state.write('export * as ' + node.exported.name + ' from ')\n } else {\n state.write('export * from ')\n }\n this.Literal(node.source, state)\n\n if (node.attributes && node.attributes.length > 0) {\n state.write(' with { ')\n for (let i = 0; i < node.attributes.length; i++) {\n this.ImportAttribute(node.attributes[i], state)\n if (i < node.attributes.length - 1) state.write(', ')\n }\n\n state.write(' }')\n }\n\n state.write(';')\n },\n MethodDefinition(node, state) {\n if (node.static) {\n state.write('static ')\n }\n const kind = node.kind[0]\n if (kind === 'g' || kind === 's') {\n // Getter or setter\n state.write(node.kind + ' ')\n }\n if (node.value.async) {\n state.write('async ')\n }\n if (node.value.generator) {\n state.write('*')\n }\n if (node.computed) {\n state.write('[')\n this[node.key.type](node.key, state)\n state.write(']')\n } else {\n this[node.key.type](node.key, state)\n }\n formatSequence(state, node.value.params)\n state.write(' ')\n this[node.value.body.type](node.value.body, state)\n },\n ClassExpression(node, state) {\n this.ClassDeclaration(node, state)\n },\n ArrowFunctionExpression(node, state) {\n state.write(node.async ? 'async ' : '', node)\n const { params } = node\n if (params != null) {\n // Omit parenthesis if only one named parameter\n if (params.length === 1 && params[0].type[0] === 'I') {\n // If params[0].type[0] starts with 'I', it can't be `ImportDeclaration` nor `IfStatement` and thus is `Identifier`\n state.write(params[0].name, params[0])\n } else {\n formatSequence(state, node.params)\n }\n }\n state.write(' => ')\n if (node.body.type[0] === 'O') {\n // Body is an object expression\n state.write('(')\n this.ObjectExpression(node.body, state)\n state.write(')')\n } else {\n this[node.body.type](node.body, state)\n }\n },\n ThisExpression(node, state) {\n state.write('this', node)\n },\n Super(node, state) {\n state.write('super', node)\n },\n RestElement: (RestElement = function (node, state) {\n state.write('...')\n this[node.argument.type](node.argument, state)\n }),\n SpreadElement: RestElement,\n YieldExpression(node, state) {\n state.write(node.delegate ? 'yield*' : 'yield')\n if (node.argument) {\n state.write(' ')\n this[node.argument.type](node.argument, state)\n }\n },\n AwaitExpression(node, state) {\n state.write('await ', node)\n formatExpression(state, node.argument, node)\n },\n TemplateLiteral(node, state) {\n const { quasis, expressions } = node\n state.write('`')\n const { length } = expressions\n for (let i = 0; i < length; i++) {\n const expression = expressions[i]\n const quasi = quasis[i]\n state.write(quasi.value.raw, quasi)\n state.write('${')\n this[expression.type](expression, state)\n state.write('}')\n }\n const quasi = quasis[quasis.length - 1]\n state.write(quasi.value.raw, quasi)\n state.write('`')\n },\n TemplateElement(node, state) {\n state.write(node.value.raw, node)\n },\n TaggedTemplateExpression(node, state) {\n formatExpression(state, node.tag, node)\n this[node.quasi.type](node.quasi, state)\n },\n ArrayExpression: (ArrayExpression = function (node, state) {\n state.write('[')\n if (node.elements.length > 0) {\n const { elements } = node,\n { length } = elements\n for (let i = 0; ; ) {\n const element = elements[i]\n if (element != null) {\n this[element.type](element, state)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n if (element == null) {\n state.write(', ')\n }\n break\n }\n }\n }\n state.write(']')\n }),\n ArrayPattern: ArrayExpression,\n ObjectExpression(node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n const propertyIndent = indent + state.indent\n state.write('{')\n if (node.properties.length > 0) {\n state.write(lineEnd)\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, propertyIndent, lineEnd)\n }\n const comma = ',' + lineEnd\n const { properties } = node,\n { length } = properties\n for (let i = 0; ; ) {\n const property = properties[i]\n if (writeComments && property.comments != null) {\n formatComments(state, property.comments, propertyIndent, lineEnd)\n }\n state.write(propertyIndent)\n this[property.type](property, state)\n if (++i < length) {\n state.write(comma)\n } else {\n break\n }\n }\n state.write(lineEnd)\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n }\n state.write(indent + '}')\n } else if (writeComments) {\n if (node.comments != null) {\n state.write(lineEnd)\n formatComments(state, node.comments, propertyIndent, lineEnd)\n if (node.trailingComments != null) {\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n }\n state.write(indent + '}')\n } else if (node.trailingComments != null) {\n state.write(lineEnd)\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n state.write(indent + '}')\n } else {\n state.write('}')\n }\n } else {\n state.write('}')\n }\n state.indentLevel--\n },\n Property(node, state) {\n if (node.method || node.kind[0] !== 'i') {\n // Either a method or of kind `set` or `get` (not `init`)\n this.MethodDefinition(node, state)\n } else {\n if (!node.shorthand) {\n if (node.computed) {\n state.write('[')\n this[node.key.type](node.key, state)\n state.write(']')\n } else {\n this[node.key.type](node.key, state)\n }\n state.write(': ')\n }\n this[node.value.type](node.value, state)\n }\n },\n PropertyDefinition(node, state) {\n if (node.static) {\n state.write('static ')\n }\n if (node.computed) {\n state.write('[')\n }\n this[node.key.type](node.key, state)\n if (node.computed) {\n state.write(']')\n }\n if (node.value == null) {\n if (node.key.type[0] !== 'F') {\n state.write(';')\n }\n return\n }\n state.write(' = ')\n this[node.value.type](node.value, state)\n state.write(';')\n },\n ObjectPattern(node, state) {\n state.write('{')\n if (node.properties.length > 0) {\n const { properties } = node,\n { length } = properties\n for (let i = 0; ; ) {\n this[properties[i].type](properties[i], state)\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n }\n state.write('}')\n },\n SequenceExpression(node, state) {\n formatSequence(state, node.expressions)\n },\n UnaryExpression(node, state) {\n if (node.prefix) {\n const {\n operator,\n argument,\n argument: { type },\n } = node\n state.write(operator)\n const needsParentheses = expressionNeedsParenthesis(state, argument, node)\n if (\n !needsParentheses &&\n (operator.length > 1 ||\n (type[0] === 'U' &&\n (type[1] === 'n' || type[1] === 'p') &&\n argument.prefix &&\n argument.operator[0] === operator &&\n (operator === '+' || operator === '-')))\n ) {\n // Large operator or argument is UnaryExpression or UpdateExpression node\n state.write(' ')\n }\n if (needsParentheses) {\n state.write(operator.length > 1 ? ' (' : '(')\n this[type](argument, state)\n state.write(')')\n } else {\n this[type](argument, state)\n }\n } else {\n // FIXME: This case never occurs\n this[node.argument.type](node.argument, state)\n state.write(node.operator)\n }\n },\n UpdateExpression(node, state) {\n // Always applied to identifiers or members, no parenthesis check needed\n if (node.prefix) {\n state.write(node.operator)\n this[node.argument.type](node.argument, state)\n } else {\n this[node.argument.type](node.argument, state)\n state.write(node.operator)\n }\n },\n AssignmentExpression(node, state) {\n this[node.left.type](node.left, state)\n state.write(' ' + node.operator + ' ')\n this[node.right.type](node.right, state)\n },\n AssignmentPattern(node, state) {\n this[node.left.type](node.left, state)\n state.write(' = ')\n this[node.right.type](node.right, state)\n },\n BinaryExpression: (BinaryExpression = function (node, state) {\n const isIn = node.operator === 'in'\n if (isIn) {\n // Avoids confusion in `for` loops initializers\n state.write('(')\n }\n formatExpression(state, node.left, node, false)\n state.write(' ' + node.operator + ' ')\n formatExpression(state, node.right, node, true)\n if (isIn) {\n state.write(')')\n }\n }),\n LogicalExpression: BinaryExpression,\n ConditionalExpression(node, state) {\n const { test } = node\n const precedence = state.expressionsPrecedence[test.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence <= state.expressionsPrecedence.ConditionalExpression\n ) {\n state.write('(')\n this[test.type](test, state)\n state.write(')')\n } else {\n this[test.type](test, state)\n }\n state.write(' ? ')\n this[node.consequent.type](node.consequent, state)\n state.write(' : ')\n this[node.alternate.type](node.alternate, state)\n },\n NewExpression(node, state) {\n state.write('new ')\n const precedence = state.expressionsPrecedence[node.callee.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.CallExpression ||\n hasCallExpression(node.callee)\n ) {\n state.write('(')\n this[node.callee.type](node.callee, state)\n state.write(')')\n } else {\n this[node.callee.type](node.callee, state)\n }\n formatSequence(state, node['arguments'])\n },\n CallExpression(node, state) {\n const precedence = state.expressionsPrecedence[node.callee.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.CallExpression\n ) {\n state.write('(')\n this[node.callee.type](node.callee, state)\n state.write(')')\n } else {\n this[node.callee.type](node.callee, state)\n }\n if (node.optional) {\n state.write('?.')\n }\n formatSequence(state, node['arguments'])\n },\n ChainExpression(node, state) {\n this[node.expression.type](node.expression, state)\n },\n MemberExpression(node, state) {\n const precedence = state.expressionsPrecedence[node.object.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.MemberExpression\n ) {\n state.write('(')\n this[node.object.type](node.object, state)\n state.write(')')\n } else {\n this[node.object.type](node.object, state)\n }\n if (node.computed) {\n if (node.optional) {\n state.write('?.')\n }\n state.write('[')\n this[node.property.type](node.property, state)\n state.write(']')\n } else {\n if (node.optional) {\n state.write('?.')\n } else {\n state.write('.')\n }\n this[node.property.type](node.property, state)\n }\n },\n MetaProperty(node, state) {\n state.write(node.meta.name + '.' + node.property.name, node)\n },\n Identifier(node, state) {\n state.write(node.name, node)\n },\n PrivateIdentifier(node, state) {\n state.write(`#${node.name}`, node)\n },\n Literal(node, state) {\n if (node.raw != null) {\n // Non-standard property\n state.write(node.raw, node)\n } else if (node.regex != null) {\n this.RegExpLiteral(node, state)\n } else if (node.bigint != null) {\n state.write(node.bigint + 'n', node)\n } else {\n state.write(stringify(node.value), node)\n }\n },\n RegExpLiteral(node, state) {\n const { regex } = node\n state.write(`/${regex.pattern}/${regex.flags}`, node)\n },\n}\n\nconst EMPTY_OBJECT = {}\n\n/*\nDEPRECATED: Alternate export of `GENERATOR`.\n*/\nexport const baseGenerator = GENERATOR\n\nclass State {\n constructor(options) {\n const setup = options == null ? EMPTY_OBJECT : options\n this.output = ''\n // Functional options\n if (setup.output != null) {\n this.output = setup.output\n this.write = this.writeToStream\n } else {\n this.output = ''\n }\n this.generator = setup.generator != null ? setup.generator : GENERATOR\n this.expressionsPrecedence =\n setup.expressionsPrecedence != null\n ? setup.expressionsPrecedence\n : EXPRESSIONS_PRECEDENCE\n // Formating setup\n this.indent = setup.indent != null ? setup.indent : ' '\n this.lineEnd = setup.lineEnd != null ? setup.lineEnd : '\\n'\n this.indentLevel =\n setup.startingIndentLevel != null ? setup.startingIndentLevel : 0\n this.writeComments = setup.comments ? setup.comments : false\n // Source map\n if (setup.sourceMap != null) {\n this.write =\n setup.output == null ? this.writeAndMap : this.writeToStreamAndMap\n this.sourceMap = setup.sourceMap\n this.line = 1\n this.column = 0\n this.lineEndSize = this.lineEnd.split('\\n').length - 1\n this.mapping = {\n original: null,\n // Uses the entire state to avoid generating ephemeral objects\n generated: this,\n name: undefined,\n source: setup.sourceMap.file || setup.sourceMap._file,\n }\n }\n }\n\n write(code) {\n this.output += code\n }\n\n writeToStream(code) {\n this.output.write(code)\n }\n\n writeAndMap(code, node) {\n this.output += code\n this.map(code, node)\n }\n\n writeToStreamAndMap(code, node) {\n this.output.write(code)\n this.map(code, node)\n }\n\n map(code, node) {\n if (node != null) {\n const { type } = node\n if (type[0] === 'L' && type[2] === 'n') {\n // LineComment\n this.column = 0\n this.line++\n return\n }\n if (node.loc != null) {\n const { mapping } = this\n mapping.original = node.loc.start\n mapping.name = node.name\n this.sourceMap.addMapping(mapping)\n }\n if (\n (type[0] === 'T' && type[8] === 'E') ||\n (type[0] === 'L' && type[1] === 'i' && typeof node.value === 'string')\n ) {\n // TemplateElement or Literal string node\n const { length } = code\n let { column, line } = this\n for (let i = 0; i < length; i++) {\n if (code[i] === '\\n') {\n column = 0\n line++\n } else {\n column++\n }\n }\n this.column = column\n this.line = line\n return\n }\n }\n const { length } = code\n const { lineEnd } = this\n if (length > 0) {\n if (\n this.lineEndSize > 0 &&\n (lineEnd.length === 1\n ? code[length - 1] === lineEnd\n : code.endsWith(lineEnd))\n ) {\n this.line += this.lineEndSize\n this.column = 0\n } else {\n this.column += length\n }\n }\n }\n\n toString() {\n return this.output\n }\n}\n\nexport function generate(node, options) {\n /*\n Returns a string representing the rendered code of the provided AST `node`.\n The `options` are:\n\n - `indent`: string to use for indentation (defaults to `␣␣`)\n - `lineEnd`: string to use for line endings (defaults to `\\n`)\n - `startingIndentLevel`: indent level to start from (defaults to `0`)\n - `comments`: generate comments if `true` (defaults to `false`)\n - `output`: output stream to write the rendered code to (defaults to `null`)\n - `generator`: custom code generator (defaults to `GENERATOR`)\n - `expressionsPrecedence`: custom map of node types and their precedence level (defaults to `EXPRESSIONS_PRECEDENCE`)\n */\n const state = new State(options)\n // Travel through the AST node and generate the code\n state.generator[node.type](node, state)\n return state.output\n}\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["e","Object","Symbol","JSON","String","Error","n","i","t","s","l","o","b"],"mappings":"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"} \ No newline at end of file diff --git a/packages/node_modules/esquery/LICENSE b/packages/node_modules/esquery/LICENSE new file mode 100644 index 00000000000..52f915e2688 --- /dev/null +++ b/packages/node_modules/esquery/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2013, Joel Feenstra +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * 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. + * Neither the name of the ESQuery nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 JOEL FEENSTRA 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. diff --git a/packages/node_modules/esquery/index.js b/packages/node_modules/esquery/index.js new file mode 100644 index 00000000000..9c20b7393e5 --- /dev/null +++ b/packages/node_modules/esquery/index.js @@ -0,0 +1 @@ +(()=>{"use strict";var e={};e.d=(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,i,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return s}}(e,t)||o(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rE}),"undefined"!=typeof globalThis||("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self);var s=i(function(e,t){!function e(t){var r,n,o,a,i,s;function l(e){var t,r,n={};for(t in e)e.hasOwnProperty(t)&&(r=e[t],n[t]="object"==typeof r&&null!==r?l(r):r);return n}function u(e,t){this.parent=e,this.key=t}function c(e,t,r,n){this.node=e,this.path=t,this.wrap=r,this.ref=n}function f(){}function p(e){return null!=e&&"object"==typeof e&&"string"==typeof e.type}function h(e,t){return(e===r.ObjectExpression||e===r.ObjectPattern)&&"properties"===t}function y(e,t){for(var r=e.length-1;r>=0;--r)if(e[r].node===t)return!0;return!1}function d(e,t){return(new f).traverse(e,t)}return r={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ChainExpression:"ChainExpression",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportExpression:"ImportExpression",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",PrivateIdentifier:"PrivateIdentifier",Program:"Program",Property:"Property",PropertyDefinition:"PropertyDefinition",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},o={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportExpression:["source"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},n={Break:a={},Skip:i={},Remove:s={}},u.prototype.replace=function(e){this.parent[this.key]=e},u.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},f.prototype.path=function(){var e,t,r,n,o;function a(e,t){if(Array.isArray(t))for(r=0,n=t.length;r=0;)if(v=s[f=x[d]]){if(Array.isArray(v)){for(m=v.length;(m-=1)>=0;)if(v[m]&&!y(n,v[m])){if(h(l,x[d]))o=new c(v[m],[f,m],"Property",null);else{if(!p(v[m]))continue;o=new c(v[m],[f,m],null,null)}r.push(o)}}else if(p(v)){if(y(n,v))continue;r.push(new c(v,f,null,null))}}}}else if(o=n.pop(),u=this.__execute(t.leave,o),this.__state===a||u===a)return},f.prototype.replace=function(e,t){var r,n,o,l,f,y,d,m,x,v,g,A,b;function E(e){var t,n,o,a;if(e.ref.remove()){for(n=e.ref.key,a=e.ref.parent,t=r.length;t--;)if((o=r[t]).ref&&o.ref.parent===a){if(o.ref.key=0;)if(v=o[b=x[d]])if(Array.isArray(v)){for(m=v.length;(m-=1)>=0;)if(v[m]){if(h(l,x[d]))y=new c(v[m],[b,m],"Property",new u(v,m));else{if(!p(v[m]))continue;y=new c(v[m],[b,m],null,new u(v,m))}r.push(y)}}else p(v)&&r.push(new c(v,b,null,new u(o,b)))}}else if(y=n.pop(),void 0!==(f=this.__execute(t.leave,y))&&f!==a&&f!==i&&f!==s&&y.ref.replace(f),this.__state!==s&&f!==s||E(y),this.__state===a||f===a)break;return A.root},t.Syntax=r,t.traverse=d,t.replace=function(e,t){return(new f).replace(e,t)},t.attachComments=function(e,t,r){var o,a,i,s,u=[];if(!e.range)throw Error("attachComments needs range information");if(!r.length){if(t.length){for(i=0,a=t.length;i>>1)])?n=r:(o=a+1,n-=r+1);return o}(t,function(t){return t.range[0]>e.range[0]}),e.extendedRange=[e.range[0],e.range[1]],r!==t.length&&(e.extendedRange[1]=t[r].range[0]),(r-=1)>=0&&(e.extendedRange[0]=t[r].range[1]),e}(l(t[i]),r));return s=0,d(e,{enter:function(e){for(var t;se.range[0]);)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),u.splice(s,1)):s+=1;return s===u.length?n.Break:u[s].extendedRange[0]>e.range[1]?n.Skip:void 0}}),s=0,d(e,{leave:function(e){for(var t;se.range[1]?n.Skip:void 0}}),e},t.VisitorKeys=o,t.VisitorOption=n,t.Controller=f,t.cloneEnvironment=function(){return e({})},t}(t)}),l=i(function(e){e.exports&&(e.exports=function(){function e(t,r,n,o){this.message=t,this.expected=r,this.found=n,this.location=o,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(e,Error),e.buildMessage=function(e,t){var r={literal:function(e){return'"'+o(e.text)+'"'},class:function(e){var t,r="";for(t=0;t0){for(t=1,n=1;t<~+.]/,p=ep([" ","[","]",",","(",")",":","#","!","=",">","<","~","+","."],!0,!1),h=ef(">",!1),y=ef("~",!1),d=ef("+",!1),m=ef(",",!1),x=function(e,t){return[e].concat(t.map(function(e){return e[3]}))},v=ef("!",!1),g=ef("*",!1),A=ef("#",!1),b=ef("[",!1),E=ef("]",!1),S=/^[>","<","!"],!1,!1),C=ef("=",!1),P=function(e){return(e||"")+"="},w=/^[><]/,k=ep([">","<"],!1,!1),D=ef(".",!1),j=function(e,t,r){return{type:"attribute",name:e,operator:t,value:r}},I=ef('"',!1),T=/^[^\\"]/,F=ep(["\\",'"'],!0,!1),O=ef("\\",!1),R={type:"any"},M=function(e,t){return e+t},L=function(e){return{type:"literal",value:e.join("").replace(/\\(.)/g,function(e,t){switch(t){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";default:return t}})}},B=ef("'",!1),U=/^[^\\']/,K=ep(["\\","'"],!0,!1),N=/^[0-9]/,W=ep([["0","9"]],!1,!1),V=ef("type(",!1),q=/^[^ )]/,G=ep([" ",")"],!0,!1),z=ef(")",!1),H=/^[imsu]/,Y=ep(["i","m","s","u"],!1,!1),$=ef("/",!1),J=/^[^\/]/,Q=ep(["/"],!0,!1),X=ef(":not(",!1),Z=ef(":matches(",!1),ee=ef(":has(",!1),et=ef(":first-child",!1),er=ef(":last-child",!1),en=ef(":nth-child(",!1),eo=ef(":nth-last-child(",!1),ea=ef(":",!1),ei=0,es=[{line:1,column:1}],el=0,eu=[],ec={};if("startRule"in r){if(!(r.startRule in l))throw Error("Can't start parsing from rule \""+r.startRule+'".');u=l[r.startRule]}function ef(e,t){return{type:"literal",text:e,ignoreCase:t}}function ep(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function eh(e){var r,n=es[e];if(n)return n;for(r=e-1;!es[r];)r--;for(n={line:(n=es[r]).line,column:n.column};rel&&(el=ei,eu=[]),eu.push(e))}function em(){var e,t,r,n,o=32*ei+0,a=ec[o];return a?(ei=a.nextPos,a.result):(e=ei,(t=ex())!==s&&(r=eA())!==s&&ex()!==s?e=t=1===(n=r).length?n[0]:{type:"matches",selectors:n}:(ei=e,e=s),e===s&&(e=ei,(t=ex())!==s&&(t=void 0),e=t),ec[o]={nextPos:ei,result:e},e)}function ex(){var e,r,n=32*ei+1,o=ec[n];if(o)return ei=o.nextPos,o.result;for(e=[],32===t.charCodeAt(ei)?(r=" ",ei++):(r=s,ed(c));r!==s;)e.push(r),32===t.charCodeAt(ei)?(r=" ",ei++):(r=s,ed(c));return ec[n]={nextPos:ei,result:e},e}function ev(){var e,r,n,o=32*ei+2,a=ec[o];if(a)return ei=a.nextPos,a.result;if(r=[],f.test(t.charAt(ei))?(n=t.charAt(ei),ei++):(n=s,ed(p)),n!==s)for(;n!==s;)r.push(n),f.test(t.charAt(ei))?(n=t.charAt(ei),ei++):(n=s,ed(p));else r=s;return r!==s&&(r=r.join("")),e=r,ec[o]={nextPos:ei,result:e},e}function eg(){var e,r,n,o=32*ei+3,a=ec[o];return a?(ei=a.nextPos,a.result):(e=ei,(r=ex())!==s?(62===t.charCodeAt(ei)?(n=">",ei++):(n=s,ed(h)),n!==s&&ex()!==s?e=r="child":(ei=e,e=s)):(ei=e,e=s),e===s&&(e=ei,(r=ex())!==s?(126===t.charCodeAt(ei)?(n="~",ei++):(n=s,ed(y)),n!==s&&ex()!==s?e=r="sibling":(ei=e,e=s)):(ei=e,e=s),e===s&&(e=ei,(r=ex())!==s?(43===t.charCodeAt(ei)?(n="+",ei++):(n=s,ed(d)),n!==s&&ex()!==s?e=r="adjacent":(ei=e,e=s)):(ei=e,e=s),e===s&&(e=ei,32===t.charCodeAt(ei)?(r=" ",ei++):(r=s,ed(c)),r!==s&&(n=ex())!==s?e=r="descendant":(ei=e,e=s)))),ec[o]={nextPos:ei,result:e},e)}function eA(){var e,r,n,o,a,i,l,u,c=32*ei+5,f=ec[c];if(f)return ei=f.nextPos,f.result;if(e=ei,(r=eE())!==s){for(n=[],o=ei,(a=ex())!==s?(44===t.charCodeAt(ei)?(i=",",ei++):(i=s,ed(m)),i!==s&&(l=ex())!==s&&(u=eE())!==s?o=a=[a,i,l,u]:(ei=o,o=s)):(ei=o,o=s);o!==s;)n.push(o),o=ei,(a=ex())!==s?(44===t.charCodeAt(ei)?(i=",",ei++):(i=s,ed(m)),i!==s&&(l=ex())!==s&&(u=eE())!==s?o=a=[a,i,l,u]:(ei=o,o=s)):(ei=o,o=s);n!==s?e=r=x(r,n):(ei=e,e=s)}else ei=e,e=s;return ec[c]={nextPos:ei,result:e},e}function eb(){var e,t,r,n,o,a=32*ei+6,i=ec[a];return i?(ei=i.nextPos,i.result):(e=ei,(t=eg())===s&&(t=null),t!==s&&(r=eE())!==s?(o=r,e=t=(n=t)?{type:n,left:{type:"exactNode"},right:o}:o):(ei=e,e=s),ec[a]={nextPos:ei,result:e},e)}function eE(){var e,t,r,n,o,a,i,l=32*ei+7,u=ec[l];if(u)return ei=u.nextPos,u.result;if(e=ei,(t=eS())!==s){for(r=[],n=ei,(o=eg())!==s&&(a=eS())!==s?n=o=[o,a]:(ei=n,n=s);n!==s;)r.push(n),n=ei,(o=eg())!==s&&(a=eS())!==s?n=o=[o,a]:(ei=n,n=s);r!==s?(i=t,e=t=r.reduce(function(e,t){return{type:t[0],left:e,right:t[1]}},i)):(ei=e,e=s)}else ei=e,e=s;return ec[l]={nextPos:ei,result:e},e}function eS(){var e,r,n,o,a,i,l,u=32*ei+8,c=ec[u];if(c)return ei=c.nextPos,c.result;if(e=ei,33===t.charCodeAt(ei)?(r="!",ei++):(r=s,ed(v)),r===s&&(r=null),r!==s){if(n=[],(o=e_())!==s)for(;o!==s;)n.push(o),o=e_();else n=s;n!==s?(a=r,l=1===(i=n).length?i[0]:{type:"compound",selectors:i},a&&(l.subject=!0),e=r=l):(ei=e,e=s)}else ei=e,e=s;return ec[u]={nextPos:ei,result:e},e}function e_(){var e,r,n,o,a,i,l,u,c,f,p,h,y,d,es,el,eu,ef,ep,eh,ey,em,eg,eE,eS,e_,ek,eD,ej,eI,eT,eF,eO,eR,eM,eL,eB,eU,eK,eN,eW,eV,eq,eG,ez,eH,eY,e$,eJ,eQ,eX,eZ,e1,e0,e2,e3,e4,e9,e6,e5,e7,e8,te,tt,tr,tn,to,ta=32*ei+9,ti=ec[ta];return ti?(ei=ti.nextPos,ti.result):((to=(o=ec[n=32*ei+10])?(ei=o.nextPos,o.result):(42===t.charCodeAt(ei)?(r="*",ei++):(r=s,ed(g)),r!==s&&(r={type:"wildcard",value:r}),e=r,ec[n]={nextPos:ei,result:e},e))===s&&(to=(c=ec[u=32*ei+11])?(ei=c.nextPos,c.result):(a=ei,35===t.charCodeAt(ei)?(i="#",ei++):(i=s,ed(A)),i===s&&(i=null),i!==s&&(l=ev())!==s?a=i={type:"identifier",value:l}:(ei=a,a=s),ec[u]={nextPos:ei,result:a},a))===s&&(to=(es=ec[d=32*ei+12])?(ei=es.nextPos,es.result):(f=ei,91===t.charCodeAt(ei)?(p="[",ei++):(p=s,ed(b)),p!==s&&ex()!==s&&(h=(ey=ec[eh=32*ei+16])?(ei=ey.nextPos,ey.result):(el=ei,(eu=eC())!==s&&ex()!==s&&(ef=(e_=ec[eS=32*ei+14])?(ei=e_.nextPos,e_.result):(em=ei,33===t.charCodeAt(ei)?(eg="!",ei++):(eg=s,ed(v)),eg===s&&(eg=null),eg!==s?(61===t.charCodeAt(ei)?(eE="=",ei++):(eE=s,ed(C)),eE!==s?em=eg=P(eg):(ei=em,em=s)):(ei=em,em=s),ec[eS]={nextPos:ei,result:em},em))!==s&&ex()!==s?((ep=function(){var e,r,n,o,a,i=32*ei+20,l=ec[i];if(l)return ei=l.nextPos,l.result;if(e=ei,"type("===t.substr(ei,5)?(r="type(",ei+=5):(r=s,ed(V)),r!==s)if(ex()!==s){if(n=[],q.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(G)),o!==s)for(;o!==s;)n.push(o),q.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(G));else n=s;n!==s&&(o=ex())!==s?(41===t.charCodeAt(ei)?(a=")",ei++):(a=s,ed(z)),a!==s?e=r={type:"type",value:n.join("")}:(ei=e,e=s)):(ei=e,e=s)}else ei=e,e=s;else ei=e,e=s;return ec[i]={nextPos:ei,result:e},e}())===s&&(ep=function(){var e,r,n,o,a,i,l=32*ei+22,u=ec[l];if(u)return ei=u.nextPos,u.result;if(e=ei,47===t.charCodeAt(ei)?(r="/",ei++):(r=s,ed($)),r!==s){if(n=[],J.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(Q)),o!==s)for(;o!==s;)n.push(o),J.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(Q));else n=s;n!==s?(47===t.charCodeAt(ei)?(o="/",ei++):(o=s,ed($)),o!==s?((a=function(){var e,r,n=32*ei+21,o=ec[n];if(o)return ei=o.nextPos,o.result;if(e=[],H.test(t.charAt(ei))?(r=t.charAt(ei),ei++):(r=s,ed(Y)),r!==s)for(;r!==s;)e.push(r),H.test(t.charAt(ei))?(r=t.charAt(ei),ei++):(r=s,ed(Y));else e=s;return ec[n]={nextPos:ei,result:e},e}())===s&&(a=null),a!==s?(i=a,e=r={type:"regexp",value:new RegExp(n.join(""),i?i.join(""):"")}):(ei=e,e=s)):(ei=e,e=s)):(ei=e,e=s)}else ei=e,e=s;return ec[l]={nextPos:ei,result:e},e}()),ep!==s?el=eu=j(eu,ef,ep):(ei=el,el=s)):(ei=el,el=s),el===s&&(el=ei,(eu=eC())!==s&&ex()!==s&&(ef=(eT=ec[eI=32*ei+13])?(ei=eT.nextPos,eT.result):(ek=ei,S.test(t.charAt(ei))?(eD=t.charAt(ei),ei++):(eD=s,ed(_)),eD===s&&(eD=null),eD!==s?(61===t.charCodeAt(ei)?(ej="=",ei++):(ej=s,ed(C)),ej!==s?ek=eD=P(eD):(ei=ek,ek=s)):(ei=ek,ek=s),ek===s&&(w.test(t.charAt(ei))?(ek=t.charAt(ei),ei++):(ek=s,ed(k))),ec[eI]={nextPos:ei,result:ek},ek))!==s&&ex()!==s?((ep=function(){var e,r,n,o,a,i,l=32*ei+17,u=ec[l];if(u)return ei=u.nextPos,u.result;if(e=ei,34===t.charCodeAt(ei)?(r='"',ei++):(r=s,ed(I)),r!==s){for(n=[],T.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(F)),o===s&&(o=ei,92===t.charCodeAt(ei)?(a="\\",ei++):(a=s,ed(O)),a!==s?(t.length>ei?(i=t.charAt(ei),ei++):(i=s,ed(R)),i!==s?o=a=M(a,i):(ei=o,o=s)):(ei=o,o=s));o!==s;)n.push(o),T.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(F)),o===s&&(o=ei,92===t.charCodeAt(ei)?(a="\\",ei++):(a=s,ed(O)),a!==s?(t.length>ei?(i=t.charAt(ei),ei++):(i=s,ed(R)),i!==s?o=a=M(a,i):(ei=o,o=s)):(ei=o,o=s));n!==s?(34===t.charCodeAt(ei)?(o='"',ei++):(o=s,ed(I)),o!==s?e=r=L(n):(ei=e,e=s)):(ei=e,e=s)}else ei=e,e=s;if(e===s)if(e=ei,39===t.charCodeAt(ei)?(r="'",ei++):(r=s,ed(B)),r!==s){for(n=[],U.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(K)),o===s&&(o=ei,92===t.charCodeAt(ei)?(a="\\",ei++):(a=s,ed(O)),a!==s?(t.length>ei?(i=t.charAt(ei),ei++):(i=s,ed(R)),i!==s?o=a=M(a,i):(ei=o,o=s)):(ei=o,o=s));o!==s;)n.push(o),U.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(K)),o===s&&(o=ei,92===t.charCodeAt(ei)?(a="\\",ei++):(a=s,ed(O)),a!==s?(t.length>ei?(i=t.charAt(ei),ei++):(i=s,ed(R)),i!==s?o=a=M(a,i):(ei=o,o=s)):(ei=o,o=s));n!==s?(39===t.charCodeAt(ei)?(o="'",ei++):(o=s,ed(B)),o!==s?e=r=L(n):(ei=e,e=s)):(ei=e,e=s)}else ei=e,e=s;return ec[l]={nextPos:ei,result:e},e}())===s&&(ep=function(){var e,r,n,o,a,i,l=32*ei+18,u=ec[l];if(u)return ei=u.nextPos,u.result;for(e=ei,r=ei,n=[],N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W));o!==s;)n.push(o),N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W));if(n!==s?(46===t.charCodeAt(ei)?(o=".",ei++):(o=s,ed(D)),o!==s?r=n=[n,o]:(ei=r,r=s)):(ei=r,r=s),r===s&&(r=null),r!==s){if(n=[],N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W)),o!==s)for(;o!==s;)n.push(o),N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W));else n=s;n!==s?(i=n,e=r={type:"literal",value:parseFloat(((a=r)?[].concat.apply([],a).join(""):"")+i.join(""))}):(ei=e,e=s)}else ei=e,e=s;return ec[l]={nextPos:ei,result:e},e}())===s&&(ep=(eM=ec[eR=32*ei+19])?(ei=eM.nextPos,eM.result):((eO=ev())!==s&&(eO={type:"literal",value:eO}),eF=eO,ec[eR]={nextPos:ei,result:eF},eF)),ep!==s?el=eu=j(eu,ef,ep):(ei=el,el=s)):(ei=el,el=s),el===s&&(el=ei,(eu=eC())!==s&&(eu={type:"attribute",name:eu}),el=eu)),ec[eh]={nextPos:ei,result:el},el))!==s&&ex()!==s?(93===t.charCodeAt(ei)?(y="]",ei++):(y=s,ed(E)),y!==s?f=p=h:(ei=f,f=s)):(ei=f,f=s),ec[d]={nextPos:ei,result:f},f))===s&&(to=function(){var e,r,n,o,a,i,l,u=32*ei+23,c=ec[u];if(c)return ei=c.nextPos,c.result;if(e=ei,46===t.charCodeAt(ei)?(r=".",ei++):(r=s,ed(D)),r!==s)if((n=ev())!==s){for(o=[],a=ei,46===t.charCodeAt(ei)?(i=".",ei++):(i=s,ed(D)),i!==s&&(l=ev())!==s?a=i=[i,l]:(ei=a,a=s);a!==s;)o.push(a),a=ei,46===t.charCodeAt(ei)?(i=".",ei++):(i=s,ed(D)),i!==s&&(l=ev())!==s?a=i=[i,l]:(ei=a,a=s);o!==s?e=r={type:"field",name:o.reduce(function(e,t){return e+t[0]+t[1]},n)}:(ei=e,e=s)}else ei=e,e=s;else ei=e,e=s;return ec[u]={nextPos:ei,result:e},e}())===s&&(to=(eW=ec[eN=32*ei+24])?(ei=eW.nextPos,eW.result):(eL=ei,":not("===t.substr(ei,5)?(eB=":not(",ei+=5):(eB=s,ed(X)),eB!==s&&ex()!==s&&(eU=eA())!==s&&ex()!==s?(41===t.charCodeAt(ei)?(eK=")",ei++):(eK=s,ed(z)),eK!==s?eL=eB={type:"not",selectors:eU}:(ei=eL,eL=s)):(ei=eL,eL=s),ec[eN]={nextPos:ei,result:eL},eL))===s&&(to=(eY=ec[eH=32*ei+25])?(ei=eY.nextPos,eY.result):(eV=ei,":matches("===t.substr(ei,9)?(eq=":matches(",ei+=9):(eq=s,ed(Z)),eq!==s&&ex()!==s&&(eG=eA())!==s&&ex()!==s?(41===t.charCodeAt(ei)?(ez=")",ei++):(ez=s,ed(z)),ez!==s?eV=eq={type:"matches",selectors:eG}:(ei=eV,eV=s)):(ei=eV,eV=s),ec[eH]={nextPos:ei,result:eV},eV))===s&&(to=(e1=ec[eZ=32*ei+26])?(ei=e1.nextPos,e1.result):(e$=ei,":has("===t.substr(ei,5)?(eJ=":has(",ei+=5):(eJ=s,ed(ee)),eJ!==s&&ex()!==s&&(eQ=function(){var e,r,n,o,a,i,l,u,c=32*ei+4,f=ec[c];if(f)return ei=f.nextPos,f.result;if(e=ei,(r=eb())!==s){for(n=[],o=ei,(a=ex())!==s?(44===t.charCodeAt(ei)?(i=",",ei++):(i=s,ed(m)),i!==s&&(l=ex())!==s&&(u=eb())!==s?o=a=[a,i,l,u]:(ei=o,o=s)):(ei=o,o=s);o!==s;)n.push(o),o=ei,(a=ex())!==s?(44===t.charCodeAt(ei)?(i=",",ei++):(i=s,ed(m)),i!==s&&(l=ex())!==s&&(u=eb())!==s?o=a=[a,i,l,u]:(ei=o,o=s)):(ei=o,o=s);n!==s?e=r=x(r,n):(ei=e,e=s)}else ei=e,e=s;return ec[c]={nextPos:ei,result:e},e}())!==s&&ex()!==s?(41===t.charCodeAt(ei)?(eX=")",ei++):(eX=s,ed(z)),eX!==s?e$=eJ={type:"has",selectors:eQ}:(ei=e$,e$=s)):(ei=e$,e$=s),ec[eZ]={nextPos:ei,result:e$},e$))===s&&(to=(e4=ec[e3=32*ei+27])?(ei=e4.nextPos,e4.result):(":first-child"===t.substr(ei,12)?(e2=":first-child",ei+=12):(e2=s,ed(et)),e2!==s&&(e2=eP(1)),e0=e2,ec[e3]={nextPos:ei,result:e0},e0))===s&&(to=(e7=ec[e5=32*ei+28])?(ei=e7.nextPos,e7.result):(":last-child"===t.substr(ei,11)?(e6=":last-child",ei+=11):(e6=s,ed(er)),e6!==s&&(e6=ew(1)),e9=e6,ec[e5]={nextPos:ei,result:e9},e9))===s&&(to=function(){var e,r,n,o,a,i=32*ei+29,l=ec[i];if(l)return ei=l.nextPos,l.result;if(e=ei,":nth-child("===t.substr(ei,11)?(r=":nth-child(",ei+=11):(r=s,ed(en)),r!==s)if(ex()!==s){if(n=[],N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W)),o!==s)for(;o!==s;)n.push(o),N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W));else n=s;n!==s&&(o=ex())!==s?(41===t.charCodeAt(ei)?(a=")",ei++):(a=s,ed(z)),a!==s?e=r=eP(parseInt(n.join(""),10)):(ei=e,e=s)):(ei=e,e=s)}else ei=e,e=s;else ei=e,e=s;return ec[i]={nextPos:ei,result:e},e}())===s&&(to=function(){var e,r,n,o,a,i=32*ei+30,l=ec[i];if(l)return ei=l.nextPos,l.result;if(e=ei,":nth-last-child("===t.substr(ei,16)?(r=":nth-last-child(",ei+=16):(r=s,ed(eo)),r!==s)if(ex()!==s){if(n=[],N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W)),o!==s)for(;o!==s;)n.push(o),N.test(t.charAt(ei))?(o=t.charAt(ei),ei++):(o=s,ed(W));else n=s;n!==s&&(o=ex())!==s?(41===t.charCodeAt(ei)?(a=")",ei++):(a=s,ed(z)),a!==s?e=r=ew(parseInt(n.join(""),10)):(ei=e,e=s)):(ei=e,e=s)}else ei=e,e=s;else ei=e,e=s;return ec[i]={nextPos:ei,result:e},e}())===s&&(to=(tn=ec[tr=32*ei+31])?(ei=tn.nextPos,tn.result):(e8=ei,58===t.charCodeAt(ei)?(te=":",ei++):(te=s,ed(ea)),te!==s&&(tt=ev())!==s?e8=te={type:"class",name:tt}:(ei=e8,e8=s),ec[tr]={nextPos:ei,result:e8},e8)),ec[ta]={nextPos:ei,result:to},to)}function eC(){var e,r,n,o,a,i,l,u=32*ei+15,c=ec[u];if(c)return ei=c.nextPos,c.result;if(e=ei,(r=ev())!==s){for(n=[],o=ei,46===t.charCodeAt(ei)?(a=".",ei++):(a=s,ed(D)),a!==s&&(i=ev())!==s?o=a=[a,i]:(ei=o,o=s);o!==s;)n.push(o),o=ei,46===t.charCodeAt(ei)?(a=".",ei++):(a=s,ed(D)),a!==s&&(i=ev())!==s?o=a=[a,i]:(ei=o,o=s);n!==s?(l=r,e=r=[].concat.apply([l],n).join("")):(ei=e,e=s)}else ei=e,e=s;return ec[u]={nextPos:ei,result:e},e}function eP(e){return{type:"nth-child",index:{type:"literal",value:e}}}function ew(e){return{type:"nth-last-child",index:{type:"literal",value:e}}}if((n=u())!==s&&ei===t.length)return n;throw n!==s&&ei0&&p(e,t,r))&&c(t[0],t.slice(1),r)};case"descendant":var h=f(e.left),y=f(e.right);return function(e,t,r){if(y(e,t,r)){for(var n=0,o=t.length;n":return function(t){return u(t,v)>e.value.value};case">=":return function(t){return u(t,v)>=e.value.value}}throw Error("Unknown operator: ".concat(e.operator));case"sibling":var b=f(e.left),E=f(e.right);return function(t,r,n){return E(t,r,n)&&d(t,b,r,"LEFT_SIDE",n)||e.left.subject&&b(t,r,n)&&d(t,E,r,"RIGHT_SIDE",n)};case"adjacent":var S=f(e.left),_=f(e.right);return function(t,r,n){return _(t,r,n)&&m(t,S,r,"LEFT_SIDE",n)||e.right.subject&&S(t,r,n)&&m(t,_,r,"RIGHT_SIDE",n)};case"nth-child":var C=e.index.value,P=f(e.right);return function(e,t,r){return P(e,t,r)&&x(e,t,C,r)};case"nth-last-child":var w=-e.index.value,k=f(e.right);return function(e,t,r){return k(e,t,r)&&x(e,t,w,r)};case"class":var D=e.name.toLowerCase();return function(t,r,n){if(n&&n.matchClass)return n.matchClass(e.name,t,r);if(n&&n.nodeTypeKey)return!1;switch(D){case"statement":if("Statement"===t.type.slice(-9))return!0;case"declaration":return"Declaration"===t.type.slice(-11);case"pattern":if("Pattern"===t.type.slice(-7))return!0;case"expression":return"Expression"===t.type.slice(-10)||"Literal"===t.type.slice(-7)||"Identifier"===t.type&&(0===r.length||"MetaProperty"!==r[0].type)||"MetaProperty"===t.type;case"function":return"FunctionDeclaration"===t.type||"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type}throw Error("Unknown class name: ".concat(e.name))}}throw Error("Unknown selector type: ".concat(e.type))}function h(e,t){var r=t&&t.nodeTypeKey||"type",n=e[r];return t&&t.visitorKeys&&t.visitorKeys[n]?t.visitorKeys[n]:s.VisitorKeys[n]?s.VisitorKeys[n]:t&&"function"==typeof t.fallback?t.fallback(e):Object.keys(e).filter(function(e){return e!==r})}function y(e,t){var n=t&&t.nodeTypeKey||"type";return null!==e&&"object"===r(e)&&"string"==typeof e[n]}function d(e,t,r,o,a){var i=n(r,1)[0];if(!i)return!1;for(var s=h(i,a),l=0;l0&&y(u[c-1],a)&&t(u[c-1],r,a)||"RIGHT_SIDE"===o&&c=0&&u {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","function e(t){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(t)}function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,o,a,i,s=[],u=!0,l=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||n(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function r(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||n(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function n(e,t){if(e){if(\"string\"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;--r)if(e[r].node===t)return!0;return!1}function d(e,t){return(new f).traverse(e,t)}function m(e,t){var r;return r=function(e,t){var r,n,o,a;for(n=e.length,o=0;n;)t(e[a=o+(r=n>>>1)])?n=r:(o=a+1,n-=r+1);return o}(t,(function(t){return t.range[0]>e.range[0]})),e.extendedRange=[e.range[0],e.range[1]],r!==t.length&&(e.extendedRange[1]=t[r].range[0]),(r-=1)>=0&&(e.extendedRange[0]=t[r].range[1]),e}return r={AssignmentExpression:\"AssignmentExpression\",AssignmentPattern:\"AssignmentPattern\",ArrayExpression:\"ArrayExpression\",ArrayPattern:\"ArrayPattern\",ArrowFunctionExpression:\"ArrowFunctionExpression\",AwaitExpression:\"AwaitExpression\",BlockStatement:\"BlockStatement\",BinaryExpression:\"BinaryExpression\",BreakStatement:\"BreakStatement\",CallExpression:\"CallExpression\",CatchClause:\"CatchClause\",ChainExpression:\"ChainExpression\",ClassBody:\"ClassBody\",ClassDeclaration:\"ClassDeclaration\",ClassExpression:\"ClassExpression\",ComprehensionBlock:\"ComprehensionBlock\",ComprehensionExpression:\"ComprehensionExpression\",ConditionalExpression:\"ConditionalExpression\",ContinueStatement:\"ContinueStatement\",DebuggerStatement:\"DebuggerStatement\",DirectiveStatement:\"DirectiveStatement\",DoWhileStatement:\"DoWhileStatement\",EmptyStatement:\"EmptyStatement\",ExportAllDeclaration:\"ExportAllDeclaration\",ExportDefaultDeclaration:\"ExportDefaultDeclaration\",ExportNamedDeclaration:\"ExportNamedDeclaration\",ExportSpecifier:\"ExportSpecifier\",ExpressionStatement:\"ExpressionStatement\",ForStatement:\"ForStatement\",ForInStatement:\"ForInStatement\",ForOfStatement:\"ForOfStatement\",FunctionDeclaration:\"FunctionDeclaration\",FunctionExpression:\"FunctionExpression\",GeneratorExpression:\"GeneratorExpression\",Identifier:\"Identifier\",IfStatement:\"IfStatement\",ImportExpression:\"ImportExpression\",ImportDeclaration:\"ImportDeclaration\",ImportDefaultSpecifier:\"ImportDefaultSpecifier\",ImportNamespaceSpecifier:\"ImportNamespaceSpecifier\",ImportSpecifier:\"ImportSpecifier\",Literal:\"Literal\",LabeledStatement:\"LabeledStatement\",LogicalExpression:\"LogicalExpression\",MemberExpression:\"MemberExpression\",MetaProperty:\"MetaProperty\",MethodDefinition:\"MethodDefinition\",ModuleSpecifier:\"ModuleSpecifier\",NewExpression:\"NewExpression\",ObjectExpression:\"ObjectExpression\",ObjectPattern:\"ObjectPattern\",PrivateIdentifier:\"PrivateIdentifier\",Program:\"Program\",Property:\"Property\",PropertyDefinition:\"PropertyDefinition\",RestElement:\"RestElement\",ReturnStatement:\"ReturnStatement\",SequenceExpression:\"SequenceExpression\",SpreadElement:\"SpreadElement\",Super:\"Super\",SwitchStatement:\"SwitchStatement\",SwitchCase:\"SwitchCase\",TaggedTemplateExpression:\"TaggedTemplateExpression\",TemplateElement:\"TemplateElement\",TemplateLiteral:\"TemplateLiteral\",ThisExpression:\"ThisExpression\",ThrowStatement:\"ThrowStatement\",TryStatement:\"TryStatement\",UnaryExpression:\"UnaryExpression\",UpdateExpression:\"UpdateExpression\",VariableDeclaration:\"VariableDeclaration\",VariableDeclarator:\"VariableDeclarator\",WhileStatement:\"WhileStatement\",WithStatement:\"WithStatement\",YieldExpression:\"YieldExpression\"},o={AssignmentExpression:[\"left\",\"right\"],AssignmentPattern:[\"left\",\"right\"],ArrayExpression:[\"elements\"],ArrayPattern:[\"elements\"],ArrowFunctionExpression:[\"params\",\"body\"],AwaitExpression:[\"argument\"],BlockStatement:[\"body\"],BinaryExpression:[\"left\",\"right\"],BreakStatement:[\"label\"],CallExpression:[\"callee\",\"arguments\"],CatchClause:[\"param\",\"body\"],ChainExpression:[\"expression\"],ClassBody:[\"body\"],ClassDeclaration:[\"id\",\"superClass\",\"body\"],ClassExpression:[\"id\",\"superClass\",\"body\"],ComprehensionBlock:[\"left\",\"right\"],ComprehensionExpression:[\"blocks\",\"filter\",\"body\"],ConditionalExpression:[\"test\",\"consequent\",\"alternate\"],ContinueStatement:[\"label\"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:[\"body\",\"test\"],EmptyStatement:[],ExportAllDeclaration:[\"source\"],ExportDefaultDeclaration:[\"declaration\"],ExportNamedDeclaration:[\"declaration\",\"specifiers\",\"source\"],ExportSpecifier:[\"exported\",\"local\"],ExpressionStatement:[\"expression\"],ForStatement:[\"init\",\"test\",\"update\",\"body\"],ForInStatement:[\"left\",\"right\",\"body\"],ForOfStatement:[\"left\",\"right\",\"body\"],FunctionDeclaration:[\"id\",\"params\",\"body\"],FunctionExpression:[\"id\",\"params\",\"body\"],GeneratorExpression:[\"blocks\",\"filter\",\"body\"],Identifier:[],IfStatement:[\"test\",\"consequent\",\"alternate\"],ImportExpression:[\"source\"],ImportDeclaration:[\"specifiers\",\"source\"],ImportDefaultSpecifier:[\"local\"],ImportNamespaceSpecifier:[\"local\"],ImportSpecifier:[\"imported\",\"local\"],Literal:[],LabeledStatement:[\"label\",\"body\"],LogicalExpression:[\"left\",\"right\"],MemberExpression:[\"object\",\"property\"],MetaProperty:[\"meta\",\"property\"],MethodDefinition:[\"key\",\"value\"],ModuleSpecifier:[],NewExpression:[\"callee\",\"arguments\"],ObjectExpression:[\"properties\"],ObjectPattern:[\"properties\"],PrivateIdentifier:[],Program:[\"body\"],Property:[\"key\",\"value\"],PropertyDefinition:[\"key\",\"value\"],RestElement:[\"argument\"],ReturnStatement:[\"argument\"],SequenceExpression:[\"expressions\"],SpreadElement:[\"argument\"],Super:[],SwitchStatement:[\"discriminant\",\"cases\"],SwitchCase:[\"test\",\"consequent\"],TaggedTemplateExpression:[\"tag\",\"quasi\"],TemplateElement:[],TemplateLiteral:[\"quasis\",\"expressions\"],ThisExpression:[],ThrowStatement:[\"argument\"],TryStatement:[\"block\",\"handler\",\"finalizer\"],UnaryExpression:[\"argument\"],UpdateExpression:[\"argument\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\",\"init\"],WhileStatement:[\"test\",\"body\"],WithStatement:[\"object\",\"body\"],YieldExpression:[\"argument\"]},n={Break:a={},Skip:i={},Remove:s={}},l.prototype.replace=function(e){this.parent[this.key]=e},l.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},f.prototype.path=function(){var e,t,r,n,o;function a(e,t){if(Array.isArray(t))for(r=0,n=t.length;r=0;)if(v=s[f=x[d]])if(Array.isArray(v)){for(m=v.length;(m-=1)>=0;)if(v[m]&&!y(n,v[m])){if(h(u,x[d]))o=new c(v[m],[f,m],\"Property\",null);else{if(!p(v[m]))continue;o=new c(v[m],[f,m],null,null)}r.push(o)}}else if(p(v)){if(y(n,v))continue;r.push(new c(v,f,null,null))}}}else if(o=n.pop(),l=this.__execute(t.leave,o),this.__state===a||l===a)return},f.prototype.replace=function(e,t){var r,n,o,u,f,y,d,m,x,v,g,A,E;function b(e){var t,n,o,a;if(e.ref.remove())for(n=e.ref.key,a=e.ref.parent,t=r.length;t--;)if((o=r[t]).ref&&o.ref.parent===a){if(o.ref.key=0;)if(v=o[E=x[d]])if(Array.isArray(v)){for(m=v.length;(m-=1)>=0;)if(v[m]){if(h(u,x[d]))y=new c(v[m],[E,m],\"Property\",new l(v,m));else{if(!p(v[m]))continue;y=new c(v[m],[E,m],null,new l(v,m))}r.push(y)}}else p(v)&&r.push(new c(v,E,null,new l(o,E)))}}else if(y=n.pop(),void 0!==(f=this.__execute(t.leave,y))&&f!==a&&f!==i&&f!==s&&y.ref.replace(f),this.__state!==s&&f!==s||b(y),this.__state===a||f===a)return A.root;return A.root},t.Syntax=r,t.traverse=d,t.replace=function(e,t){return(new f).replace(e,t)},t.attachComments=function(e,t,r){var o,a,i,s,l=[];if(!e.range)throw new Error(\"attachComments needs range information\");if(!r.length){if(t.length){for(i=0,a=t.length;ie.range[0]);)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),l.splice(s,1)):s+=1;return s===l.length?n.Break:l[s].extendedRange[0]>e.range[1]?n.Skip:void 0}}),s=0,d(e,{leave:function(e){for(var t;se.range[1]?n.Skip:void 0}}),e},t.VisitorKeys=o,t.VisitorOption=n,t.Controller=f,t.cloneEnvironment=function(){return e({})},t}(t)})),s=a((function(e){e.exports&&(e.exports=function(){function e(t,r,n,o){this.message=t,this.expected=r,this.found=n,this.location=o,this.name=\"SyntaxError\",\"function\"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(e,Error),e.buildMessage=function(e,t){var r={literal:function(e){return'\"'+o(e.text)+'\"'},class:function(e){var t,r=\"\";for(t=0;t0){for(t=1,n=1;t<~+.]/,p=pe([\" \",\"[\",\"]\",\",\",\"(\",\")\",\":\",\"#\",\"!\",\"=\",\">\",\"<\",\"~\",\"+\",\".\"],!0,!1),h=fe(\">\",!1),y=fe(\"~\",!1),d=fe(\"+\",!1),m=fe(\",\",!1),x=function(e,t){return[e].concat(t.map((function(e){return e[3]})))},v=fe(\"!\",!1),g=fe(\"*\",!1),A=fe(\"#\",!1),E=fe(\"[\",!1),b=fe(\"]\",!1),S=/^[>\",\"<\",\"!\"],!1,!1),C=fe(\"=\",!1),w=function(e){return(e||\"\")+\"=\"},P=/^[><]/,k=pe([\">\",\"<\"],!1,!1),D=fe(\".\",!1),I=function(e,t,r){return{type:\"attribute\",name:e,operator:t,value:r}},j=fe('\"',!1),T=/^[^\\\\\"]/,F=pe([\"\\\\\",'\"'],!0,!1),R=fe(\"\\\\\",!1),O={type:\"any\"},L=function(e,t){return e+t},M=function(e){return{type:\"literal\",value:(t=e.join(\"\"),t.replace(/\\\\(.)/g,(function(e,t){switch(t){case\"b\":return\"\\b\";case\"f\":return\"\\f\";case\"n\":return\"\\n\";case\"r\":return\"\\r\";case\"t\":return\"\\t\";case\"v\":return\"\\v\";default:return t}})))};var t},B=fe(\"'\",!1),U=/^[^\\\\']/,K=pe([\"\\\\\",\"'\"],!0,!1),N=/^[0-9]/,W=pe([[\"0\",\"9\"]],!1,!1),V=fe(\"type(\",!1),q=/^[^ )]/,G=pe([\" \",\")\"],!0,!1),z=fe(\")\",!1),H=/^[imsu]/,Y=pe([\"i\",\"m\",\"s\",\"u\"],!1,!1),$=fe(\"/\",!1),J=/^[^\\/]/,Q=pe([\"/\"],!0,!1),X=fe(\":not(\",!1),Z=fe(\":matches(\",!1),ee=fe(\":has(\",!1),te=fe(\":first-child\",!1),re=fe(\":last-child\",!1),ne=fe(\":nth-child(\",!1),oe=fe(\":nth-last-child(\",!1),ae=fe(\":\",!1),ie=0,se=[{line:1,column:1}],ue=0,le=[],ce={};if(\"startRule\"in r){if(!(r.startRule in u))throw new Error(\"Can't start parsing from rule \\\"\"+r.startRule+'\".');l=u[r.startRule]}function fe(e,t){return{type:\"literal\",text:e,ignoreCase:t}}function pe(e,t,r){return{type:\"class\",parts:e,inverted:t,ignoreCase:r}}function he(e){var r,n=se[e];if(n)return n;for(r=e-1;!se[r];)r--;for(n={line:(n=se[r]).line,column:n.column};rue&&(ue=ie,le=[]),le.push(e))}function me(){var e,t,r,n,o=32*ie+0,a=ce[o];return a?(ie=a.nextPos,a.result):(e=ie,(t=xe())!==s&&(r=Ae())!==s&&xe()!==s?e=t=1===(n=r).length?n[0]:{type:\"matches\",selectors:n}:(ie=e,e=s),e===s&&(e=ie,(t=xe())!==s&&(t=void 0),e=t),ce[o]={nextPos:ie,result:e},e)}function xe(){var e,r,n=32*ie+1,o=ce[n];if(o)return ie=o.nextPos,o.result;for(e=[],32===t.charCodeAt(ie)?(r=\" \",ie++):(r=s,de(c));r!==s;)e.push(r),32===t.charCodeAt(ie)?(r=\" \",ie++):(r=s,de(c));return ce[n]={nextPos:ie,result:e},e}function ve(){var e,r,n,o=32*ie+2,a=ce[o];if(a)return ie=a.nextPos,a.result;if(r=[],f.test(t.charAt(ie))?(n=t.charAt(ie),ie++):(n=s,de(p)),n!==s)for(;n!==s;)r.push(n),f.test(t.charAt(ie))?(n=t.charAt(ie),ie++):(n=s,de(p));else r=s;return r!==s&&(r=r.join(\"\")),e=r,ce[o]={nextPos:ie,result:e},e}function ge(){var e,r,n,o=32*ie+3,a=ce[o];return a?(ie=a.nextPos,a.result):(e=ie,(r=xe())!==s?(62===t.charCodeAt(ie)?(n=\">\",ie++):(n=s,de(h)),n!==s&&xe()!==s?e=r=\"child\":(ie=e,e=s)):(ie=e,e=s),e===s&&(e=ie,(r=xe())!==s?(126===t.charCodeAt(ie)?(n=\"~\",ie++):(n=s,de(y)),n!==s&&xe()!==s?e=r=\"sibling\":(ie=e,e=s)):(ie=e,e=s),e===s&&(e=ie,(r=xe())!==s?(43===t.charCodeAt(ie)?(n=\"+\",ie++):(n=s,de(d)),n!==s&&xe()!==s?e=r=\"adjacent\":(ie=e,e=s)):(ie=e,e=s),e===s&&(e=ie,32===t.charCodeAt(ie)?(r=\" \",ie++):(r=s,de(c)),r!==s&&(n=xe())!==s?e=r=\"descendant\":(ie=e,e=s)))),ce[o]={nextPos:ie,result:e},e)}function Ae(){var e,r,n,o,a,i,u,l,c=32*ie+5,f=ce[c];if(f)return ie=f.nextPos,f.result;if(e=ie,(r=be())!==s){for(n=[],o=ie,(a=xe())!==s?(44===t.charCodeAt(ie)?(i=\",\",ie++):(i=s,de(m)),i!==s&&(u=xe())!==s&&(l=be())!==s?o=a=[a,i,u,l]:(ie=o,o=s)):(ie=o,o=s);o!==s;)n.push(o),o=ie,(a=xe())!==s?(44===t.charCodeAt(ie)?(i=\",\",ie++):(i=s,de(m)),i!==s&&(u=xe())!==s&&(l=be())!==s?o=a=[a,i,u,l]:(ie=o,o=s)):(ie=o,o=s);n!==s?e=r=x(r,n):(ie=e,e=s)}else ie=e,e=s;return ce[c]={nextPos:ie,result:e},e}function Ee(){var e,t,r,n,o,a=32*ie+6,i=ce[a];return i?(ie=i.nextPos,i.result):(e=ie,(t=ge())===s&&(t=null),t!==s&&(r=be())!==s?(o=r,e=t=(n=t)?{type:n,left:{type:\"exactNode\"},right:o}:o):(ie=e,e=s),ce[a]={nextPos:ie,result:e},e)}function be(){var e,t,r,n,o,a,i,u=32*ie+7,l=ce[u];if(l)return ie=l.nextPos,l.result;if(e=ie,(t=Se())!==s){for(r=[],n=ie,(o=ge())!==s&&(a=Se())!==s?n=o=[o,a]:(ie=n,n=s);n!==s;)r.push(n),n=ie,(o=ge())!==s&&(a=Se())!==s?n=o=[o,a]:(ie=n,n=s);r!==s?(i=t,e=t=r.reduce((function(e,t){return{type:t[0],left:e,right:t[1]}}),i)):(ie=e,e=s)}else ie=e,e=s;return ce[u]={nextPos:ie,result:e},e}function Se(){var e,r,n,o,a,i,u,l=32*ie+8,c=ce[l];if(c)return ie=c.nextPos,c.result;if(e=ie,33===t.charCodeAt(ie)?(r=\"!\",ie++):(r=s,de(v)),r===s&&(r=null),r!==s){if(n=[],(o=_e())!==s)for(;o!==s;)n.push(o),o=_e();else n=s;n!==s?(a=r,u=1===(i=n).length?i[0]:{type:\"compound\",selectors:i},a&&(u.subject=!0),e=r=u):(ie=e,e=s)}else ie=e,e=s;return ce[l]={nextPos:ie,result:e},e}function _e(){var e,r=32*ie+9,n=ce[r];return n?(ie=n.nextPos,n.result):((e=function(){var e,r,n=32*ie+10,o=ce[n];return o?(ie=o.nextPos,o.result):(42===t.charCodeAt(ie)?(r=\"*\",ie++):(r=s,de(g)),r!==s&&(r={type:\"wildcard\",value:r}),e=r,ce[n]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n,o=32*ie+11,a=ce[o];return a?(ie=a.nextPos,a.result):(e=ie,35===t.charCodeAt(ie)?(r=\"#\",ie++):(r=s,de(A)),r===s&&(r=null),r!==s&&(n=ve())!==s?e=r={type:\"identifier\",value:n}:(ie=e,e=s),ce[o]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n,o,a=32*ie+12,i=ce[a];return i?(ie=i.nextPos,i.result):(e=ie,91===t.charCodeAt(ie)?(r=\"[\",ie++):(r=s,de(E)),r!==s&&xe()!==s&&(n=function(){var e,r,n,o,a=32*ie+16,i=ce[a];return i?(ie=i.nextPos,i.result):(e=ie,(r=Ce())!==s&&xe()!==s&&(n=function(){var e,r,n,o=32*ie+14,a=ce[o];return a?(ie=a.nextPos,a.result):(e=ie,33===t.charCodeAt(ie)?(r=\"!\",ie++):(r=s,de(v)),r===s&&(r=null),r!==s?(61===t.charCodeAt(ie)?(n=\"=\",ie++):(n=s,de(C)),n!==s?(r=w(r),e=r):(ie=e,e=s)):(ie=e,e=s),ce[o]={nextPos:ie,result:e},e)}())!==s&&xe()!==s?((o=function(){var e,r,n,o,a,i=32*ie+20,u=ce[i];if(u)return ie=u.nextPos,u.result;if(e=ie,\"type(\"===t.substr(ie,5)?(r=\"type(\",ie+=5):(r=s,de(V)),r!==s)if(xe()!==s){if(n=[],q.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(G)),o!==s)for(;o!==s;)n.push(o),q.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(G));else n=s;n!==s&&(o=xe())!==s?(41===t.charCodeAt(ie)?(a=\")\",ie++):(a=s,de(z)),a!==s?(r={type:\"type\",value:n.join(\"\")},e=r):(ie=e,e=s)):(ie=e,e=s)}else ie=e,e=s;else ie=e,e=s;return ce[i]={nextPos:ie,result:e},e}())===s&&(o=function(){var e,r,n,o,a,i,u=32*ie+22,l=ce[u];if(l)return ie=l.nextPos,l.result;if(e=ie,47===t.charCodeAt(ie)?(r=\"/\",ie++):(r=s,de($)),r!==s){if(n=[],J.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(Q)),o!==s)for(;o!==s;)n.push(o),J.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(Q));else n=s;n!==s?(47===t.charCodeAt(ie)?(o=\"/\",ie++):(o=s,de($)),o!==s?((a=function(){var e,r,n=32*ie+21,o=ce[n];if(o)return ie=o.nextPos,o.result;if(e=[],H.test(t.charAt(ie))?(r=t.charAt(ie),ie++):(r=s,de(Y)),r!==s)for(;r!==s;)e.push(r),H.test(t.charAt(ie))?(r=t.charAt(ie),ie++):(r=s,de(Y));else e=s;return ce[n]={nextPos:ie,result:e},e}())===s&&(a=null),a!==s?(i=a,r={type:\"regexp\",value:new RegExp(n.join(\"\"),i?i.join(\"\"):\"\")},e=r):(ie=e,e=s)):(ie=e,e=s)):(ie=e,e=s)}else ie=e,e=s;return ce[u]={nextPos:ie,result:e},e}()),o!==s?(r=I(r,n,o),e=r):(ie=e,e=s)):(ie=e,e=s),e===s&&(e=ie,(r=Ce())!==s&&xe()!==s&&(n=function(){var e,r,n,o=32*ie+13,a=ce[o];return a?(ie=a.nextPos,a.result):(e=ie,S.test(t.charAt(ie))?(r=t.charAt(ie),ie++):(r=s,de(_)),r===s&&(r=null),r!==s?(61===t.charCodeAt(ie)?(n=\"=\",ie++):(n=s,de(C)),n!==s?(r=w(r),e=r):(ie=e,e=s)):(ie=e,e=s),e===s&&(P.test(t.charAt(ie))?(e=t.charAt(ie),ie++):(e=s,de(k))),ce[o]={nextPos:ie,result:e},e)}())!==s&&xe()!==s?((o=function(){var e,r,n,o,a,i,u=32*ie+17,l=ce[u];if(l)return ie=l.nextPos,l.result;if(e=ie,34===t.charCodeAt(ie)?(r='\"',ie++):(r=s,de(j)),r!==s){for(n=[],T.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(F)),o===s&&(o=ie,92===t.charCodeAt(ie)?(a=\"\\\\\",ie++):(a=s,de(R)),a!==s?(t.length>ie?(i=t.charAt(ie),ie++):(i=s,de(O)),i!==s?(a=L(a,i),o=a):(ie=o,o=s)):(ie=o,o=s));o!==s;)n.push(o),T.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(F)),o===s&&(o=ie,92===t.charCodeAt(ie)?(a=\"\\\\\",ie++):(a=s,de(R)),a!==s?(t.length>ie?(i=t.charAt(ie),ie++):(i=s,de(O)),i!==s?(a=L(a,i),o=a):(ie=o,o=s)):(ie=o,o=s));n!==s?(34===t.charCodeAt(ie)?(o='\"',ie++):(o=s,de(j)),o!==s?(r=M(n),e=r):(ie=e,e=s)):(ie=e,e=s)}else ie=e,e=s;if(e===s)if(e=ie,39===t.charCodeAt(ie)?(r=\"'\",ie++):(r=s,de(B)),r!==s){for(n=[],U.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(K)),o===s&&(o=ie,92===t.charCodeAt(ie)?(a=\"\\\\\",ie++):(a=s,de(R)),a!==s?(t.length>ie?(i=t.charAt(ie),ie++):(i=s,de(O)),i!==s?(a=L(a,i),o=a):(ie=o,o=s)):(ie=o,o=s));o!==s;)n.push(o),U.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(K)),o===s&&(o=ie,92===t.charCodeAt(ie)?(a=\"\\\\\",ie++):(a=s,de(R)),a!==s?(t.length>ie?(i=t.charAt(ie),ie++):(i=s,de(O)),i!==s?(a=L(a,i),o=a):(ie=o,o=s)):(ie=o,o=s));n!==s?(39===t.charCodeAt(ie)?(o=\"'\",ie++):(o=s,de(B)),o!==s?(r=M(n),e=r):(ie=e,e=s)):(ie=e,e=s)}else ie=e,e=s;return ce[u]={nextPos:ie,result:e},e}())===s&&(o=function(){var e,r,n,o,a,i,u,l=32*ie+18,c=ce[l];if(c)return ie=c.nextPos,c.result;for(e=ie,r=ie,n=[],N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W));o!==s;)n.push(o),N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W));if(n!==s?(46===t.charCodeAt(ie)?(o=\".\",ie++):(o=s,de(D)),o!==s?r=n=[n,o]:(ie=r,r=s)):(ie=r,r=s),r===s&&(r=null),r!==s){if(n=[],N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W)),o!==s)for(;o!==s;)n.push(o),N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W));else n=s;n!==s?(i=n,u=(a=r)?[].concat.apply([],a).join(\"\"):\"\",r={type:\"literal\",value:parseFloat(u+i.join(\"\"))},e=r):(ie=e,e=s)}else ie=e,e=s;return ce[l]={nextPos:ie,result:e},e}())===s&&(o=function(){var e,t,r=32*ie+19,n=ce[r];return n?(ie=n.nextPos,n.result):((t=ve())!==s&&(t={type:\"literal\",value:t}),e=t,ce[r]={nextPos:ie,result:e},e)}()),o!==s?(r=I(r,n,o),e=r):(ie=e,e=s)):(ie=e,e=s),e===s&&(e=ie,(r=Ce())!==s&&(r={type:\"attribute\",name:r}),e=r)),ce[a]={nextPos:ie,result:e},e)}())!==s&&xe()!==s?(93===t.charCodeAt(ie)?(o=\"]\",ie++):(o=s,de(b)),o!==s?e=r=n:(ie=e,e=s)):(ie=e,e=s),ce[a]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n,o,a,i,u,l,c=32*ie+23,f=ce[c];if(f)return ie=f.nextPos,f.result;if(e=ie,46===t.charCodeAt(ie)?(r=\".\",ie++):(r=s,de(D)),r!==s)if((n=ve())!==s){for(o=[],a=ie,46===t.charCodeAt(ie)?(i=\".\",ie++):(i=s,de(D)),i!==s&&(u=ve())!==s?a=i=[i,u]:(ie=a,a=s);a!==s;)o.push(a),a=ie,46===t.charCodeAt(ie)?(i=\".\",ie++):(i=s,de(D)),i!==s&&(u=ve())!==s?a=i=[i,u]:(ie=a,a=s);o!==s?(l=n,r={type:\"field\",name:o.reduce((function(e,t){return e+t[0]+t[1]}),l)},e=r):(ie=e,e=s)}else ie=e,e=s;else ie=e,e=s;return ce[c]={nextPos:ie,result:e},e}())===s&&(e=function(){var e,r,n,o,a=32*ie+24,i=ce[a];return i?(ie=i.nextPos,i.result):(e=ie,\":not(\"===t.substr(ie,5)?(r=\":not(\",ie+=5):(r=s,de(X)),r!==s&&xe()!==s&&(n=Ae())!==s&&xe()!==s?(41===t.charCodeAt(ie)?(o=\")\",ie++):(o=s,de(z)),o!==s?e=r={type:\"not\",selectors:n}:(ie=e,e=s)):(ie=e,e=s),ce[a]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n,o,a=32*ie+25,i=ce[a];return i?(ie=i.nextPos,i.result):(e=ie,\":matches(\"===t.substr(ie,9)?(r=\":matches(\",ie+=9):(r=s,de(Z)),r!==s&&xe()!==s&&(n=Ae())!==s&&xe()!==s?(41===t.charCodeAt(ie)?(o=\")\",ie++):(o=s,de(z)),o!==s?e=r={type:\"matches\",selectors:n}:(ie=e,e=s)):(ie=e,e=s),ce[a]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n,o,a=32*ie+26,i=ce[a];return i?(ie=i.nextPos,i.result):(e=ie,\":has(\"===t.substr(ie,5)?(r=\":has(\",ie+=5):(r=s,de(ee)),r!==s&&xe()!==s&&(n=function(){var e,r,n,o,a,i,u,l,c=32*ie+4,f=ce[c];if(f)return ie=f.nextPos,f.result;if(e=ie,(r=Ee())!==s){for(n=[],o=ie,(a=xe())!==s?(44===t.charCodeAt(ie)?(i=\",\",ie++):(i=s,de(m)),i!==s&&(u=xe())!==s&&(l=Ee())!==s?o=a=[a,i,u,l]:(ie=o,o=s)):(ie=o,o=s);o!==s;)n.push(o),o=ie,(a=xe())!==s?(44===t.charCodeAt(ie)?(i=\",\",ie++):(i=s,de(m)),i!==s&&(u=xe())!==s&&(l=Ee())!==s?o=a=[a,i,u,l]:(ie=o,o=s)):(ie=o,o=s);n!==s?e=r=x(r,n):(ie=e,e=s)}else ie=e,e=s;return ce[c]={nextPos:ie,result:e},e}())!==s&&xe()!==s?(41===t.charCodeAt(ie)?(o=\")\",ie++):(o=s,de(z)),o!==s?e=r={type:\"has\",selectors:n}:(ie=e,e=s)):(ie=e,e=s),ce[a]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n=32*ie+27,o=ce[n];return o?(ie=o.nextPos,o.result):(\":first-child\"===t.substr(ie,12)?(r=\":first-child\",ie+=12):(r=s,de(te)),r!==s&&(r=we(1)),e=r,ce[n]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n=32*ie+28,o=ce[n];return o?(ie=o.nextPos,o.result):(\":last-child\"===t.substr(ie,11)?(r=\":last-child\",ie+=11):(r=s,de(re)),r!==s&&(r=Pe(1)),e=r,ce[n]={nextPos:ie,result:e},e)}())===s&&(e=function(){var e,r,n,o,a,i=32*ie+29,u=ce[i];if(u)return ie=u.nextPos,u.result;if(e=ie,\":nth-child(\"===t.substr(ie,11)?(r=\":nth-child(\",ie+=11):(r=s,de(ne)),r!==s)if(xe()!==s){if(n=[],N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W)),o!==s)for(;o!==s;)n.push(o),N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W));else n=s;n!==s&&(o=xe())!==s?(41===t.charCodeAt(ie)?(a=\")\",ie++):(a=s,de(z)),a!==s?(r=we(parseInt(n.join(\"\"),10)),e=r):(ie=e,e=s)):(ie=e,e=s)}else ie=e,e=s;else ie=e,e=s;return ce[i]={nextPos:ie,result:e},e}())===s&&(e=function(){var e,r,n,o,a,i=32*ie+30,u=ce[i];if(u)return ie=u.nextPos,u.result;if(e=ie,\":nth-last-child(\"===t.substr(ie,16)?(r=\":nth-last-child(\",ie+=16):(r=s,de(oe)),r!==s)if(xe()!==s){if(n=[],N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W)),o!==s)for(;o!==s;)n.push(o),N.test(t.charAt(ie))?(o=t.charAt(ie),ie++):(o=s,de(W));else n=s;n!==s&&(o=xe())!==s?(41===t.charCodeAt(ie)?(a=\")\",ie++):(a=s,de(z)),a!==s?(r=Pe(parseInt(n.join(\"\"),10)),e=r):(ie=e,e=s)):(ie=e,e=s)}else ie=e,e=s;else ie=e,e=s;return ce[i]={nextPos:ie,result:e},e}())===s&&(e=function(){var e,r,n,o=32*ie+31,a=ce[o];return a?(ie=a.nextPos,a.result):(e=ie,58===t.charCodeAt(ie)?(r=\":\",ie++):(r=s,de(ae)),r!==s&&(n=ve())!==s?e=r={type:\"class\",name:n}:(ie=e,e=s),ce[o]={nextPos:ie,result:e},e)}()),ce[r]={nextPos:ie,result:e},e)}function Ce(){var e,r,n,o,a,i,u,l,c=32*ie+15,f=ce[c];if(f)return ie=f.nextPos,f.result;if(e=ie,(r=ve())!==s){for(n=[],o=ie,46===t.charCodeAt(ie)?(a=\".\",ie++):(a=s,de(D)),a!==s&&(i=ve())!==s?o=a=[a,i]:(ie=o,o=s);o!==s;)n.push(o),o=ie,46===t.charCodeAt(ie)?(a=\".\",ie++):(a=s,de(D)),a!==s&&(i=ve())!==s?o=a=[a,i]:(ie=o,o=s);n!==s?(u=r,l=n,e=r=[].concat.apply([u],l).join(\"\")):(ie=e,e=s)}else ie=e,e=s;return ce[c]={nextPos:ie,result:e},e}function we(e){return{type:\"nth-child\",index:{type:\"literal\",value:e}}}function Pe(e){return{type:\"nth-last-child\",index:{type:\"literal\",value:e}}}if((n=l())!==s&&ie===t.length)return n;throw n!==s&&ie0&&p(e,t,r))&&f(t[0],t.slice(1),r)};case\"descendant\":var h=c(t.left),x=c(t.right);return function(e,t,r){if(x(e,t,r))for(var n=0,o=t.length;n\":return function(e){return u(e,v)>t.value.value};case\">=\":return function(e){return u(e,v)>=t.value.value}}throw new Error(\"Unknown operator: \".concat(t.operator));case\"sibling\":var E=c(t.left),b=c(t.right);return function(e,r,n){return b(e,r,n)&&y(e,E,r,\"LEFT_SIDE\",n)||t.left.subject&&E(e,r,n)&&y(e,b,r,\"RIGHT_SIDE\",n)};case\"adjacent\":var S=c(t.left),_=c(t.right);return function(e,r,n){return _(e,r,n)&&d(e,S,r,\"LEFT_SIDE\",n)||t.right.subject&&S(e,r,n)&&d(e,_,r,\"RIGHT_SIDE\",n)};case\"nth-child\":var C=t.index.value,w=c(t.right);return function(e,t,r){return w(e,t,r)&&m(e,t,C,r)};case\"nth-last-child\":var P=-t.index.value,k=c(t.right);return function(e,t,r){return k(e,t,r)&&m(e,t,P,r)};case\"class\":var D=t.name.toLowerCase();return function(e,r,n){if(n&&n.matchClass)return n.matchClass(t.name,e,r);if(n&&n.nodeTypeKey)return!1;switch(D){case\"statement\":if(\"Statement\"===e.type.slice(-9))return!0;case\"declaration\":return\"Declaration\"===e.type.slice(-11);case\"pattern\":if(\"Pattern\"===e.type.slice(-7))return!0;case\"expression\":return\"Expression\"===e.type.slice(-10)||\"Literal\"===e.type.slice(-7)||\"Identifier\"===e.type&&(0===r.length||\"MetaProperty\"!==r[0].type)||\"MetaProperty\"===e.type;case\"function\":return\"FunctionDeclaration\"===e.type||\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}throw new Error(\"Unknown class name: \".concat(t.name))}}throw new Error(\"Unknown selector type: \".concat(t.type))}function p(e,t){var r=t&&t.nodeTypeKey||\"type\",n=e[r];return t&&t.visitorKeys&&t.visitorKeys[n]?t.visitorKeys[n]:i.VisitorKeys[n]?i.VisitorKeys[n]:t&&\"function\"==typeof t.fallback?t.fallback(e):Object.keys(e).filter((function(e){return e!==r}))}function h(t,r){var n=r&&r.nodeTypeKey||\"type\";return null!==t&&\"object\"===e(t)&&\"string\"==typeof t[n]}function y(e,r,n,o,a){var i=t(n,1)[0];if(!i)return!1;for(var s=p(i,a),u=0;u0&&h(l[c-1],a)&&r(l[c-1],n,a))return!0;if(\"RIGHT_SIDE\"===o&&c=0&&l{"use strict";var e,t,r,n,o={};o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};o.r(a),o.d(a,{parse:()=>td,parseModule:()=>tu,parseScript:()=>tc,version:()=>tl});let i=((e,t)=>{let r=new Uint32Array(69632),n=0,o=0;for(;n<2571;){let a=e[n++];if(a<0)o-=a;else{let i=e[n++];2&a&&(i=t[i]),1&a?r.fill(i,o,o+=e[n++]):r[o++]=i}}return r})([-1,2,26,2,27,2,5,-1,0,0x4a00400,3,44,2,3,0,14,2,63,2,64,3,0,3,0,0xbcdfffff,0,0xffffd7c0,2,1,2,0,2,41,3,0,4,0,0xfffffcfb,3,0,4,2,16,2,65,2,0,0,0xfffe01ff,0,0xbfffffff,0,0xffff00b6,2,66,0,0x7ff0000,3,0,2,0,0xffffc3ff,3,0,2,0,0x9fefffff,0,0x9ffffdff,2,18,2,0,0,0xffffe7ff,3,0,2,2,19,2,0,0,0x243fffff,2,0,2,60,2,7,2,6,0,0xff807eff,3,0,2,2,1,3,0,3,0,0xfffeffcf,2,40,0,0xf3c5fdff,0,0xb080799f,0,0x5003ffcf,0,0xfff987ee,0,0xd36dfdff,0,0x5e023987,0,4194240,0,0xfffbbfee,2,2,0,80831,0,0xfe00ffcf,0,0xfff99fee,2,2,0,0xb0e0399f,0,196559,0,0xd63dc7ec,0,0xc3ffc718,0,8469959,0,65472,2,3,0,0xf3fffdff,0,0x27603ddf,0,65487,0,0xfffddfef,0,0xf3effdff,0,0x60603ddf,0,982991,2,3,2,0,0,0x80f07ddf,0,0xfc00ffcf,0,0xfc7fffee,2,71,0,0xff5f847f,0,851904,2,4,2,12,0,0x3ff7fff,-1,2,72,0,0x3fffffaf,0,0xf3ff7f5f,-1,0,0x3000001,0,0xc2a003ff,2,33,0,0xfffe1fff,0,0xfeffffdf,2,20,2,137,-1,3,0,2,2,23,2,0,2,10,2,0,2,15,2,22,3,0,10,2,74,2,0,2,75,2,76,2,77,2,0,2,78,2,0,2,11,0,261632,2,25,3,0,2,2,13,2,4,3,0,18,2,79,2,5,3,0,2,2,80,0,0x803fffff,2,29,2,9,0,909311,3,0,2,0,0x308fffff,2,49,0,0x3ffb800,3,0,2,2,42,2,0,2,6,2,0,2,30,2,8,0,0xfff0fff,2,110,2,51,2,0,2,81,0,0x7ff03ff,-1,2,7,2,0,2,8,0,0x9fffffff,0,0x3ff03ff,0,0xbfff0080,2,17,-1,3,0,2,2,53,0,1046528,3,0,3,2,9,2,0,2,54,0,0xffffe3ff,2,10,2,6,2,11,0,0xfff70000,2,12,3,0,16,2,13,2,0,2,82,2,10,2,0,2,83,2,84,2,85,0,12288,2,55,0,1048577,2,86,2,14,-1,2,14,0,131042,2,87,2,88,2,89,2,0,2,34,-83,3,0,7,0,1046559,2,0,2,15,2,0,0,0x800080ff,2,21,3,90,2,2,0,-16,2,91,0,0x1f3efffe,2,4,2,0,0,0xfe7fffff,2,4,3,0,2,2,28,2,16,3,0,2,2,17,2,0,-1,2,18,-16,3,0,206,-2,3,0,692,2,73,-1,2,18,2,10,3,0,8,2,93,2,133,2,0,0,0xbff0ffff,3,0,3,2,19,2,94,2,95,3,0,2,2,96,2,0,2,97,2,46,2,0,0,4351,2,0,2,9,3,0,2,0,0x3ff003f,0,0xe8ffffff,2,0,2,24,2,9,2,20,3,0,2,0,0x3ff8001,2,8,2,0,2,21,0,0x3ff3fff,0,0xfc7fffff,3,0,2,0,0x38000007,0,8191999,2,101,2,102,2,22,2,23,3,0,3,0,0x3ff37ff,3,0,349,2,103,2,104,2,7,-264,3,0,11,2,24,3,0,2,2,32,-1,0,0xe0f8007f,2,105,2,106,3,0,2,2,19,2,107,3,0,10,2,10,2,18,2,0,2,47,2,0,2,31,2,108,2,25,0,1638399,0,57344,2,109,3,0,3,2,20,2,26,2,27,2,5,2,28,2,0,2,8,2,111,-1,2,112,2,113,2,114,-1,3,0,3,2,12,-2,2,0,2,29,-3,0,0x20000000,-4,2,20,2,0,2,36,0,1,2,0,2,67,2,6,2,12,2,10,2,0,2,115,-1,3,0,4,2,10,2,23,2,116,2,7,2,0,2,117,2,0,2,118,2,119,2,120,2,0,2,9,3,0,9,2,21,2,30,2,31,2,121,2,122,-2,2,123,2,124,2,30,2,21,2,8,-2,2,125,2,30,2,32,-2,2,0,2,39,-2,0,0xfeeff06f,0,0x873fffff,-1,3,20,2,-1,2,33,2,38,2,0,3,30,2,2,35,2,19,-3,3,0,2,2,34,-1,2,0,2,35,2,0,2,35,2,0,2,48,2,0,0,0xffffbe3f,2,37,-7,2,0,0,203775,2,57,0,0xf0000000,2,20,2,43,2,36,2,18,2,37,2,18,2,126,2,21,3,0,2,2,38,0,0x803fffc0,2,0,2,12,0,0xffff0004,2,144,2,0,2,58,2,56,0,5242879,3,0,2,0,0x17ffde1f,-1,2,128,2,39,0,3,-1,2,129,2,130,2,0,0,0x3ff07ff,2,40,0,0xfbedfdff,0,0xe081399f,0,2039759,2,132,2,41,0,1046437,0,6,3,0,2,0,0xc3ff07ff,0,3,3,0,2,0,0x3ff00bf,-5,2,0,0,0xff3fffff,0,0x3f000001,-1,3,0,2,0,0x3ff0011,-1,2,0,2,42,2,23,2,50,2,11,2,61,2,38,-5,2,0,2,12,-3,3,0,2,0,0x800003ff,2,134,0,0xf9bfffff,2,52,-2,2,135,0,0xfcffffff,0,27,2,0,2,8,2,43,2,0,2,68,2,18,2,0,2,42,-6,2,0,2,45,2,59,2,44,2,45,2,46,2,47,0,8388351,-2,2,136,0,0xb47fffff,2,48,2,138,0,0x1fb7fff,2,49,-9,2,21,0,0xfffdffff,0,0xc7ffffff,0,0x7ff0007,-2,2,69,-2,3,0,28,2,32,-3,3,0,3,2,17,3,0,6,2,50,-81,2,18,3,0,2,2,36,3,0,33,2,25,2,30,3,0,124,2,12,3,0,18,2,38,-213,2,0,2,32,-54,3,0,17,2,42,2,8,2,23,2,0,2,8,2,23,2,51,2,0,2,21,2,52,2,139,2,25,-13,2,0,2,53,-6,3,0,2,-4,3,0,2,0,0xffff87ff,2,0,0,0xffff80ff,-2,0,196635,3,0,191,2,54,3,0,38,2,30,2,55,2,34,-278,2,140,3,0,9,2,141,2,142,2,56,3,0,11,2,7,-72,3,0,3,2,143,0,0x63ff01ff,-130,2,26,-16,2,0,2,24,2,38,-16,0,0xf807e3e0,0,4071,0,15360,-4,2,57,-13,3,0,2,2,58,2,0,2,145,2,146,2,62,2,0,2,147,2,148,2,149,3,0,10,2,150,2,151,2,22,3,58,2,3,152,2,3,59,2,0,0xffffcff7,2,0,-16,2,0,2,92,2,0,0,2105343,0,0xf8000010,0,65534,-34,2,8,2,154,-6,0,0xf9ffff7f,0,0xffff07db,2,0,2,60,2,100,-3,2,0,0,0x3fff1fff,0,17407,-9,2,18,2,17,2,0,2,32,-14,2,18,2,32,-6,2,18,2,12,-15,2,155,3,0,6,0,8323103,-1,3,0,2,2,61,-37,2,62,2,156,2,157,2,158,2,159,2,160,-105,2,26,-32,3,0,1335,-1,3,0,129,2,32,3,0,6,2,10,3,0,180,2,161,3,0,233,2,162,3,0,18,2,10,-77,3,0,16,2,10,-47,3,0,154,2,6,3,0,130,2,25,-22250,3,0,7,2,25,-6130,3,5,2,-1,0,0x4200400,3,44,2,3,0,14,2,63,2,64,-3,0,0xbcdf0000,0,0xffffd740,2,1,2,0,2,41,3,0,4,0,0xfffffc03,3,0,4,2,16,2,65,2,0,2,34,-1,2,18,2,66,-1,2,0,0,2047,0,0xfffec000,3,0,2,0,3145727,0,0x9c00c060,0,0xfffd0000,2,25,2,67,3,0,2,0,131135,2,98,0,0x43007ff,0,0x43fffff,0,272,2,42,2,6,0,32511,2,0,2,49,-1,2,99,2,68,0,0xff010000,0,0xfffe0003,0,0xfff99fe1,0,0x23c5fdff,0,0xb0004000,0,0x10030003,0,0xfff987e0,0,0x36dfdff,0,0x5e000000,0,1835008,0,0xfffbbfe0,2,70,2,69,0,0x2000003,2,131,2,70,0,0xb0000000,0,131075,0,0xd63dc7e8,0,0x3ffc718,2,69,-1,0,4294828e3,0,0x23fffdff,0,0x27000000,0,3,0,0xfffddfe1,0,0x23effdff,0,0x60000000,0,393219,0,0xfffddff0,0,0x27ffffff,0,0x80704000,0,0xfc000003,0,0xfc7fffe0,2,71,2,38,-1,2,4,0,917503,2,38,-1,2,72,0,0x200dffaf,0,0xf000005f,-1,0,1,-1,2,33,2,73,0,7936,-3,2,0,0,0x800007ff,0,0x3c3f0000,0,0xffe1c062,0,16387,2,0,2,15,2,22,3,0,10,2,74,2,0,2,75,2,76,2,77,2,0,2,78,2,0,2,12,-1,2,25,3,0,2,2,13,2,4,3,0,18,2,79,2,5,3,0,2,2,80,0,0x8003ffff,3,19,2,0,122879,2,0,2,9,0,0x10800000,-2,3,0,2,2,42,2,0,0,0xffff05ff,2,0,2,30,2,8,-1,2,18,2,51,2,0,2,81,2,49,-1,2,21,2,0,2,29,-2,0,128,-2,2,28,2,9,0,8160,-1,2,127,0,0xfc00c001,2,0,2,37,2,0,2,50,0,0xfc00e000,2,10,2,6,2,11,-1,0,0x46fde00,3,0,6,-2,3,0,8,2,13,2,0,2,82,2,10,2,0,2,83,2,84,2,85,-3,2,86,2,14,-3,2,87,2,88,2,89,2,0,2,34,-83,3,0,7,0,817183,2,0,2,15,2,0,0,33023,2,21,3,90,2,-17,2,91,0,0x1f3e03fe,2,4,2,0,2,92,2,4,2,0,2,22,2,28,2,16,3,0,2,2,17,2,0,-1,2,18,-16,3,0,206,-2,3,0,692,2,73,-1,2,18,2,10,3,0,8,2,93,0,3072,2,0,0,0x80007fff,2,10,3,0,2,2,25,2,94,2,95,3,0,2,2,96,2,0,2,97,2,46,0,0xfffff7bb,0,7,2,0,2,9,2,95,2,9,-1,0,0x68fc0000,2,98,0,0xffff003f,2,38,2,20,2,99,2,35,2,100,0,0x7c00ffdf,2,0,2,34,2,153,0,0xc47fffff,2,0,0,0x3e62ffff,0,0x38000005,0,1837055,2,101,2,102,2,22,2,23,3,0,3,0,7,3,0,349,2,103,2,104,2,7,-264,3,0,11,2,24,3,0,2,2,32,-1,0,0xa0f8007f,2,105,2,106,3,0,2,2,19,2,107,3,0,10,2,10,2,18,2,0,2,47,2,0,2,31,2,108,-3,2,109,3,0,3,2,20,-1,3,5,2,2,110,2,0,2,8,2,111,-1,2,112,2,113,2,114,-1,3,0,3,2,12,-2,2,0,2,29,-8,2,20,2,0,2,36,-1,2,0,2,67,2,6,2,30,2,10,2,0,2,115,-1,3,0,4,2,10,2,18,2,116,2,7,2,0,2,117,2,0,2,118,2,119,2,120,2,0,2,9,3,0,9,2,21,2,30,2,31,2,121,2,122,-2,2,123,2,124,2,30,2,21,2,8,-2,2,125,2,30,2,32,-2,2,0,2,39,-2,0,0xfeef0001,2,30,-1,3,20,2,-1,2,33,2,126,2,0,3,30,2,2,35,2,19,-3,3,0,2,2,34,-1,2,0,2,35,2,0,2,35,2,0,2,50,2,98,0,0xffff803f,2,37,-7,2,0,0,197631,2,57,-1,2,20,2,43,2,37,2,18,0,3,2,18,2,126,2,21,2,127,2,54,-1,0,2490368,2,127,2,25,2,18,2,34,2,127,2,38,0,0xffff0090,0,4718591,2,127,2,35,0,0x1400001e,-1,2,128,0,0x80000fff,0,1,-1,2,129,2,130,2,8,-1,2,131,2,70,0,0xe0010000,0,3,2,132,0,0xbfffff,0,655360,-1,2,0,2,29,0,0x80000780,0,3,2,0,2,25,0,176,-5,2,0,2,17,0,0xf000000,-1,2,0,2,25,0,16,-1,2,0,0,0x10007ff,-2,2,12,-1,2,38,-5,2,0,2,133,-3,3,0,2,2,55,2,134,0,0x8000ffff,0,2,-2,2,135,2,36,0,10,0,0xfffff801,0,0x407ffff,0,0xf0010000,2,0,0,0x200003ff,2,18,2,0,2,42,-6,2,0,0,1,2,59,2,17,0,1,2,46,2,25,-3,2,136,2,36,2,137,2,138,0,0x10003ff,-10,2,35,0,0xfffdfff4,2,9,-3,2,69,-2,3,0,28,2,32,-3,3,0,3,2,17,3,0,6,2,50,-81,2,18,3,0,2,2,36,3,0,33,2,25,0,126,3,0,124,2,12,3,0,18,2,38,-213,2,10,-55,3,0,17,2,42,2,8,2,18,2,0,2,8,2,18,2,60,2,0,2,25,2,50,2,139,2,25,-13,2,0,2,73,-6,3,0,2,-4,3,0,2,0,67583,-1,2,107,-2,0,11,3,0,191,2,54,3,0,38,2,30,2,55,2,34,-278,2,140,3,0,9,2,141,2,142,2,56,3,0,11,2,7,-72,3,0,3,2,143,2,144,-187,3,0,2,2,58,2,0,2,145,2,146,2,62,2,0,2,147,2,148,2,149,3,0,10,2,150,2,151,2,22,3,58,2,3,152,2,3,59,2,2,153,-57,2,8,2,154,-7,2,18,2,0,2,60,-4,2,0,0,0x3f801fff,0,16384,-9,2,18,2,60,2,0,2,133,-14,2,18,2,133,-6,2,18,0,81919,-15,2,155,3,0,6,2,126,-1,3,0,2,0,2063,-37,2,62,2,156,2,157,2,158,2,159,2,160,-138,3,0,1335,-1,3,0,129,2,32,3,0,6,2,10,3,0,180,2,161,3,0,233,2,162,3,0,18,2,10,-77,3,0,16,2,10,-47,3,0,154,2,6,3,0,130,2,25,-28386],[0xffffffff,0xfffffffb,0xf3edfdff,0xfffddfff,0xfffffffe,0x7fffffe,0xffff07ff,0xfffffff,0x7fffffff,1048575,0x3fffffff,0xe7ffffff,0x7ffffff,0x3f3fffff,0x1fff0000,0xffff20bf,0xfffeffff,32767,0xffff0000,262143,0x1fffffff,8388607,0xf7ffffff,0xffff03ff,0xffff3fff,65535,0x3ff0000,0x87fffffe,0xffffffe0,2097151,4194303,255,0x3ffffff,0xfffffeff,511,524287,131071,63,127,0xc0ffffff,0xfff99fef,0xffbfffff,0x1ffffff,0xffff0080,0xff7fffff,0x3ff0001,0xfffc0000,0xfffcffff,0x3ff00ff,1023,15,2047999,0x3ff000f,0x3ff1fff,0xffffff,0x80000000,4294902e3,28,0xffdfffff,0xfffffdff,16383,0x3ff0fff,0xffffffef,262083,20511,0x27fffff,493567,0xffffe000,0x23ffffff,65536,0x23edfdff,0x2ffbffff,0xfffff7d6,8191,0x3d7f3dff,0xffff3dff,0x7f3dffff,0xff7fff3d,0xff3dffff,0xffff9fff,0x1ffc7ff,0xffff0fff,0xaaff3f3f,0x5fdfffff,0xfcf1fdc,0x1fdc1fff,0x80020000,0x3f2ffc84,0xf3fffd50,17376,0x7f7f7f7f,224,0xf87fffff,0xffff1fff,0xff800000,0xfffffffc,0xfffff9ff,0x1feb3fff,0xfffffc00,0xfffffff0,32768,8289918,0xffff7f7f,0xffff000f,0xfffff87f,0x5f7ffdff,0xffffffdb,0xfff80000,0xfff0000,0xffdf0000,0xffffffc0,0x1cfcfcfc,0xffffefff,0xb7ffff7f,0x3fff3fff,4128527,0xff0fffff,0xffff00ff,0xf7ff000f,0xffb7f7ff,0x1bfbfffb,0xffffffbf,0x7fdffff,0xfffffd3f,0x91bfffff,3670015,31,0xfffffff8,0xfffbffff,0xbfffbd7f,0xffff01ff,0xfff99fe0,0xffff4bff,4095,0xff6ff27f,0xfffffcff,0xfffffb7f,64,0xfffffdbf,0xe0fffff8,0x6fef0000,262151,2555904,0x1fff07ff,0x3ff01ff,0xdfffffff,0xebffde64,0xdfdfe7bf,0x7bffffff,0xfffdfc5f,0xffffff3f,0xf7fffffd,0xffff7fff,4087,2016,0x7fff6f7f,0xaf7fe96,0xaa96ea84,0x5ef7f796,0xffffbff,0xffffbee,0xffff0003,0xffff0001]),s=e=>(i[(e>>>5)+34816]>>>e&1)!=0;function f(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function l(e){let t=e.currentChar;if((64512&t)!=55296)return 0;let r=e.source.charCodeAt(e.index+1);return(64512&r)!=56320?0:65536+((1023&t)<<10)+(1023&r)}function c(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,(4&t)==0&&(e.column=0,e.line++)}function u(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function d(e){return e<65?e-48:e-65+10&15}let p=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function k(e){return e<=127?g[e]>0:s(e)}function h(e){return e<=127?x[e]>0:(i[(e>>>5)+0]>>>e&1)!=0||8204===e||8205===e}let b=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function m(e,t,r,n,o,a){return 2&n&&e.report(0),T(e,t,r,o,a)}function T(e,t,r,n,o){let{index:a}=e;for(e.tokenIndex=e.index,e.tokenLine=e.line,e.tokenColumn=e.column;e.index1114111)return -5;if(e.currentChar<1||125!==e.currentChar)return -4;return t}{if((64&p[t])==0)return -4;let r=e.source.charCodeAt(e.index+1);if((64&p[r])==0)return -4;let n=e.source.charCodeAt(e.index+2);if((64&p[n])==0)return -4;let o=e.source.charCodeAt(e.index+3);if((64&p[o])==0)return -4;return e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),d(t)<<12|d(r)<<8|d(n)<<4|d(o)}}case 56:case 57:if(n||!e.options.webcompat||1&t)return -3;e.flags|=4096;default:return r}}function w(e,t,r){switch(t){case -1:return;case -2:e.report(r?2:1);case -3:e.report(r?3:14);case -4:e.report(7);case -5:e.report(104)}}function S(e,t){let{index:r}=e,n=0x4010009,o="",a=f(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){f(e),n=0x4010008;break}if(92===a)if((a=f(e))>126)o+=String.fromCodePoint(a);else{let{index:r,line:i,column:s}=e,l=y(e,1|t,a,1);if(l>=0)o+=String.fromCodePoint(l);else if(-1!==l&&64&t){e.index=r,e.line=i,e.column=s,o=null,(a=function(e,t){for(;96!==t;){switch(t){case 36:{let r=e.index+1;if(r=e.end&&e.report(17),t=f(e)}return t}(e,a))<0&&(n=0x4010008);break}else w(e,l,1)}else e.index=e.end&&e.report(17),a=f(e)}return f(e),e.tokenValue=o,e.tokenRaw=e.source.slice(r+1,e.index-(0x4010009===n?1:2)),n}(e=r||(r={}))[e.Empty=0]="Empty",e[e.Escape=1]="Escape",e[e.Class=2]="Class",(t=n||(n={}))[t.Empty=0]="Empty",t[t.IgnoreCase=1]="IgnoreCase",t[t.Global=2]="Global",t[t.Multiline=4]="Multiline",t[t.Unicode=16]="Unicode",t[t.Sticky=8]="Sticky",t[t.DotAll=32]="DotAll",t[t.Indices=64]="Indices",t[t.UnicodeSets=128]="UnicodeSets";let v={0:"Unexpected token",30:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"\\8 and \\9 are not allowed in template strings",4:"Private identifier #%0 is not defined",5:"Illegal Unicode escape sequence",6:"Invalid code point %0",7:"Invalid hexadecimal escape sequence",9:"Octal literals are not allowed in strict mode",8:"Decimal integer literals with a leading zero are forbidden in strict mode",10:"Expected number in radix %0",151:"Invalid left-hand side assignment to a destructible right-hand side",11:"Non-number found after exponent indicator",12:"Invalid BigIntLiteral",13:"No identifiers allowed directly after numeric literal",14:"Escapes \\8 or \\9 are not syntactically valid escapes",15:"Escapes \\8 or \\9 are not allowed in strict mode",16:"Unterminated string literal",17:"Unterminated template literal",18:"Multiline comment was not closed properly",19:"The identifier contained dynamic unicode escape that was not closed",20:"Illegal character '%0'",21:"Missing hexadecimal digits",22:"Invalid implicit octal",23:"Invalid line break in string literal",24:"Only unicode escapes are legal in identifier names",25:"Expected '%0'",26:"Invalid left-hand side in assignment",27:"Invalid left-hand side in async arrow",28:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',29:"Member access on super must be in a method",31:"Await expression not allowed in formal parameter",32:"Yield expression not allowed in formal parameter",95:"Unexpected token: 'escaped keyword'",33:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",123:"Async functions can only be declared at the top level or inside a block",34:"Unterminated regular expression",35:"Unexpected regular expression flag",36:"Duplicate regular expression flag '%0'",37:"%0 functions must have exactly %1 argument%2",38:"Setter function argument must not be a rest parameter",39:"%0 declaration must have a name in this context",40:"Function name may not contain any reserved words or be eval or arguments in strict mode",41:"The rest operator is missing an argument",42:"A getter cannot be a generator",43:"A setter cannot be a generator",44:"A computed property name must be followed by a colon or paren",134:"Object literal keys that are strings or numbers must be a method or have a colon",46:"Found `* async x(){}` but this should be `async * x(){}`",45:"Getters and setters can not be generators",47:"'%0' can not be generator method",48:"No line break is allowed after '=>'",49:"The left-hand side of the arrow can only be destructed through assignment",50:"The binding declaration is not destructible",51:"Async arrow can not be followed by new expression",52:"Classes may not have a static property named 'prototype'",53:"Class constructor may not be a %0",54:"Duplicate constructor method in class",55:"Invalid increment/decrement operand",56:"Invalid use of `new` keyword on an increment/decrement expression",57:"`=>` is an invalid assignment target",58:"Rest element may not have a trailing comma",59:"Missing initializer in %0 declaration",60:"'for-%0' loop head declarations can not have an initializer",61:"Invalid left-hand side in for-%0 loop: Must have a single binding",62:"Invalid shorthand property initializer",63:"Property name __proto__ appears more than once in object literal",64:"Let is disallowed as a lexically bound name",65:"Invalid use of '%0' inside new expression",66:"Illegal 'use strict' directive in function with non-simple parameter list",67:'Identifier "let" disallowed as left-hand side expression in strict mode',68:"Illegal continue statement",69:"Illegal break statement",70:"Cannot have `let[...]` as a var name in strict mode",71:"Invalid destructuring assignment target",72:"Rest parameter may not have a default initializer",73:"The rest argument must the be last parameter",74:"Invalid rest argument",76:"In strict mode code, functions can only be declared at top level or inside a block",77:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",78:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",79:"Class declaration can't appear in single-statement context",80:"Invalid left-hand side in for-%0",81:"Invalid assignment in for-%0",82:"for await (... of ...) is only valid in async functions and async generators",83:"The first token after the template expression should be a continuation of the template",85:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",84:"`let \n [` is a restricted production at the start of a statement",86:"Catch clause requires exactly one parameter, not more (and no trailing comma)",87:"Catch clause parameter does not support default values",88:"Missing catch or finally after try",89:"More than one default clause in switch statement",90:"Illegal newline after throw",91:"Strict mode code may not include a with statement",92:"Illegal return statement",93:"The left hand side of the for-header binding declaration is not destructible",94:"new.target only allowed within functions or static blocks",96:"'#' not followed by identifier",102:"Invalid keyword",101:"Can not use 'let' as a class name",100:"'A lexical declaration can't define a 'let' binding",99:"Can not use `let` as variable name in strict mode",97:"'%0' may not be used as an identifier in this context",98:"Await is only valid in async functions",103:"The %0 keyword can only be used with the module goal",104:"Unicode codepoint must not be greater than 0x10FFFF",105:"%0 source must be string",106:"Only a identifier or string can be used to indicate alias",107:"Only '*' or '{...}' can be imported after default",108:"Trailing decorator may be followed by method",109:"Decorators can't be used with a constructor",110:"Can not use `await` as identifier in module or async func",111:"Can not use `await` as identifier in module",112:"HTML comments are only allowed with web compatibility (Annex B)",113:"The identifier 'let' must not be in expression position in strict mode",114:"Cannot assign to `eval` and `arguments` in strict mode",115:"The left-hand side of a for-of loop may not start with 'let'",116:"Block body arrows can not be immediately invoked without a group",117:"Block body arrows can not be immediately accessed without a group",118:"Unexpected strict mode reserved word",119:"Unexpected eval or arguments in strict mode",120:"Decorators must not be followed by a semicolon",121:"Calling delete on expression not allowed in strict mode",122:"Pattern can not have a tail",124:"Can not have a `yield` expression on the left side of a ternary",125:"An arrow function can not have a postfix update operator",126:"Invalid object literal key character after generator star",127:"Private fields can not be deleted",129:"Classes may not have a field called constructor",128:"Classes may not have a private element named constructor",130:"A class field initializer or static block may not contain arguments",131:"Generators can only be declared at the top level or inside a block",132:"Async methods are a restricted production and cannot have a newline following it",133:"Unexpected character after object literal property name",135:"Invalid key token",136:"Label '%0' has already been declared",137:"continue statement must be nested within an iteration statement",138:"Undefined label '%0'",139:"Trailing comma is disallowed inside import(...) arguments",140:"Invalid binding in JSON import",141:"import() requires exactly one argument",142:"Cannot use new with import(...)",143:"... is not allowed in import()",144:"Expected '=>'",145:"Duplicate binding '%0'",146:"Duplicate private identifier #%0",147:"Cannot export a duplicate name '%0'",150:"Duplicate %0 for-binding",148:"Exported binding '%0' needs to refer to a top-level declared variable",149:"Unexpected private field",153:"Numeric separators are not allowed at the end of numeric literals",152:"Only one underscore is allowed as numeric separator",154:"JSX value should be either an expression or a quoted JSX text",155:"Expected corresponding JSX closing tag for %0",156:"Adjacent JSX elements must be wrapped in an enclosing tag",157:"JSX attributes must only be assigned a non-empty 'expression'",158:"'%0' has already been declared",159:"'%0' shadowed a catch clause binding",160:"Dot property must be an identifier",161:"Encountered invalid input after spread/rest argument",162:"Catch without try",163:"Finally without try",164:"Expected corresponding closing tag for JSX fragment",165:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",166:"Invalid tagged template on optional chain",167:"Invalid optional chain from super property",168:"Invalid optional chain from new expression",169:'Cannot use "import.meta" outside a module',170:"Leading decorators must be attached to a class declaration",171:"An export name cannot include a lone surrogate, found %0",172:"A string literal cannot be used as an exported binding without `from`",173:"Private fields can't be accessed on super",174:"The only valid meta property for import is 'import.meta'",175:"'import.meta' must not contain escaped characters",176:'cannot use "await" as identifier inside an async function',177:'cannot use "await" in static blocks'};class C extends SyntaxError{start;end;range;loc;description;constructor(e,t,r,...n){const o=v[r].replace(/%(\d+)/g,(e,t)=>n[t]);super("["+e.line+":"+e.column+"-"+t.line+":"+t.column+"]: "+o),this.start=e.index,this.end=t.index,this.range=[e.index,t.index],this.loc={start:{line:e.line,column:e.column},end:{line:t.line,column:t.column}},this.description=o}}function q(e,t,r){let n=e.currentChar,o=0,a=9,i=64&r?0:1,s=0,l=0;if(64&r)o="."+E(e,n),110===(n=e.currentChar)&&e.report(12);else{if(48===n)if((32|(n=f(e)))==120){for(r=136,n=f(e);4160&p[n];){if(95===n){l||e.report(152),l=0,n=f(e);continue}l=1,o=16*o+d(n),s++,n=f(e)}0!==s&&l||e.report(0===s?21:153)}else if((32|n)==111){for(r=132,n=f(e);4128&p[n];){if(95===n){l||e.report(152),l=0,n=f(e);continue}l=1,o=8*o+(n-48),s++,n=f(e)}0!==s&&l||e.report(153*(0!==s))}else if((32|n)==98){for(r=130,n=f(e);4224&p[n];){if(95===n){l||e.report(152),l=0,n=f(e);continue}l=1,o=2*o+(n-48),s++,n=f(e)}0!==s&&l||e.report(153*(0!==s))}else if(32&p[n])for(1&t&&e.report(1),r=1;16&p[n];){if(512&p[n]){r=32,i=0;break}o=8*o+(n-48),n=f(e)}else 512&p[n]?(1&t&&e.report(1),e.flags|=64,r=32):95===n&&e.report(0);if(48&r){if(i){for(;a>=0&&4112&p[n];){if(95===n){if(95===(n=f(e))||32&r)throw new C(e.currentLocation,{index:e.index+1,line:e.line,column:e.column},152);l=1;continue}l=0,o=10*o+(n-48),n=f(e),--a}if(l)throw new C(e.currentLocation,{index:e.index+1,line:e.line,column:e.column},153);if(a>=0&&!k(n)&&46!==n)return e.tokenValue=o,e.options.raw&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),0x8010002}o+=E(e,n),46===(n=e.currentChar)&&(95===f(e)&&e.report(0),r=64,o+="."+E(e,e.currentChar),n=e.currentChar)}}let c=e.index,u=0;if(110===n&&128&r)u=1,n=f(e);else if((32|n)==101){256&p[n=f(e)]&&(n=f(e));let{index:t}=e;(16&p[n])==0&&e.report(11),o+=e.source.substring(c,t)+E(e,n),n=e.currentChar}return((e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","accessor","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],L={this:86111,function:86104,if:20569,return:20572,var:86088,else:20563,for:20567,new:86107,in:8673330,typeof:0x101502b,while:20578,case:20556,break:20555,try:20577,catch:20557,delete:0x101502c,throw:86112,switch:86110,continue:20559,default:20561,instanceof:8411187,do:20562,void:0x101502d,finally:20566,async:209005,await:209006,class:86094,const:86090,constructor:12399,debugger:20560,export:20564,extends:20565,false:86021,from:209011,get:209008,implements:36964,import:86106,interface:36965,let:241737,null:86023,of:471156,package:36966,private:36967,protected:36968,public:36969,set:209009,static:36970,super:86109,true:86022,with:20579,yield:241771,enum:86133,eval:0x20033076,as:77932,arguments:0x20033077,target:209029,meta:209030,accessor:12402};function A(e,t){(1&e.flags)==0&&(1048576&e.getToken())!=1048576&&e.report(30,N[255&e.getToken()]),V(e,t,0x40100011)||e.options.onInsertedSemicolon?.(e.startIndex)}function I(e,t,r,n){return t-r<13&&"use strict"===n&&((1048576&e.getToken())==1048576||1&e.flags)?1:0}function D(e,t,r){return e.getToken()!==r?0:($(e,t),1)}function V(e,t,r){return e.getToken()===r&&($(e,t),!0)}function R(e,t,r){e.getToken()!==r&&e.report(25,N[255&r]),$(e,t)}function P(e,t){switch(t.type){case"ArrayExpression":{t.type="ArrayPattern";let{elements:r}=t;for(let t=0,n=r.length;t0)h(t)||e.report(20,String.fromCodePoint(t)),e.currentChar=t,e.index++,e.column++;else if(!h(e.currentChar))break;f(e)}e.index<=e.end&&(e.tokenValue+=e.source.slice(o,e.index));let{length:a}=e.tokenValue;if(n&&a>=2&&a<=11){let n=F(L,e.tokenValue);if(void 0===n)return 208897|(r?-0x80000000:0);if(!r)return n;if(209006===n)return(2050&t)==0?-0x80000000|n:-0x7fffff88;if(1&t){if(36970===n||(36864&n)==36864)return -0x7fffff87;if((20480&n)==20480)if(262144&t&&(8&t)==0)return -0x80000000|n;else return -0x7fffff88;return -0x7ffccf86}return 262144&t&&(8&t)==0&&(20480&n)==20480?-0x80000000|n:241771===n?262144&t?-0x7ffccf86:1024&t?-0x7fffff88:-0x80000000|n:209005===n?-0x7ffccf86:(36864&n)==36864?12288|n|-0x80000000:-0x7fffff88}return 208897|(r?-0x80000000:0)}function X(e){return 117!==e.source.charCodeAt(e.index+1)&&e.report(5),e.currentChar=e.source.charCodeAt(e.index+=2),e.column+=2,function(e){let t=0,r=e.currentChar;if(123===r){let r=e.index-2;for(;64&p[f(e)];)if((t=t<<4|d(e.currentChar))>1114111)throw new C({index:r,line:e.line,column:e.column},e.currentLocation,104);if(125!==e.currentChar)throw new C({index:r,line:e.line,column:e.column},e.currentLocation,7);return f(e),t}(64&p[r])==0&&e.report(7);let n=e.source.charCodeAt(e.index+1);(64&p[n])==0&&e.report(7);let o=e.source.charCodeAt(e.index+2);(64&p[o])==0&&e.report(7);let a=e.source.charCodeAt(e.index+3);return(64&p[a])==0&&e.report(7),t=d(r)<<12|d(n)<<8|d(o)<<4|d(a),e.currentChar=e.source.charCodeAt(e.index+=4),e.column+=4,t}(e)}let _=[128,128,128,128,128,128,128,128,128,127,135,127,127,129,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,127,0x101002e,0x8010003,130,208897,8391477,8390213,0x8010003,0x401000b,16,8391476,0x1810a30,18,0x1810a31,0x400000d,8457014,0x8010002,0x8010002,0x8010002,0x8010002,0x8010002,0x8010002,0x8010002,0x8010002,0x8010002,0x8010002,21,0x40100011,8456256,0x4040001b,8390721,22,132,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,0x4210013,136,20,8389959,208897,131,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8389702,0x4010000f,0x101002f,128];function $(e,t){e.flags=(1|e.flags)^1,e.startIndex=e.index,e.startColumn=e.column,e.startLine=e.line,e.setToken(Y(e,t,0))}function Y(e,t,o){let a=0===e.index,{source:i}=e,d=e.currentLocation;for(;e.index=0?o+=String.fromCodePoint(r):w(e,r,0)}else o+=String.fromCodePoint(a);i=e.index+1}else(8232===a||8233===a)&&(e.column=-1,e.line++);e.index>=e.end&&e.report(16),a=f(e)}e.report(16)}(e,t,x);case 131:return S(e,t);case 136:return function(e,t){let r=X(e);return k(r)||e.report(5),e.tokenValue=String.fromCodePoint(r),z(e,t,1,4&p[r])}(e,t);case 130:return function(e){let t=f(e);if(92===t)return 130;let r=l(e);return r&&(t=r),k(t)||e.report(96),130}(e);case 127:f(e);break;case 129:o|=5,u(e);break;case 135:c(e,o),o=-5&o|1;break;case 8456256:{let r=f(e);if(e.index=e.end)return 8391476;let t=e.currentChar;if(61===t)return f(e),4194338;if(42!==t)return 8391476;if(61!==f(e))return 8391735;return f(e),4194335}case 8389959:if(61!==f(e))return 8389959;return f(e),4194341;case 0x1810a30:{f(e);let t=e.currentChar;if(43===t)return f(e),0x2010019;if(61===t)return f(e),4194336;return 0x1810a30}case 0x1810a31:{f(e);let r=e.currentChar;if(45===r){if(f(e),(1&o||a)&&62===e.currentChar){e.options.webcompat||e.report(112),f(e),o=m(e,i,o,t,3,d),d=e.tokenStart;continue}return 0x201001a}if(61===r)return f(e),4194337;return 0x1810a31}case 8457014:if(f(e),e.index=e.source.length)return e.report(34)}let a=e.index-1,i=n.Empty,s=e.currentChar,{index:l}=e;for(;h(s);){switch(s){case 103:i&n.Global&&e.report(36,"g"),i|=n.Global;break;case 105:i&n.IgnoreCase&&e.report(36,"i"),i|=n.IgnoreCase;break;case 109:i&n.Multiline&&e.report(36,"m"),i|=n.Multiline;break;case 117:i&n.Unicode&&e.report(36,"u"),i&n.UnicodeSets&&e.report(36,"vu"),i|=n.Unicode;break;case 118:i&n.Unicode&&e.report(36,"uv"),i&n.UnicodeSets&&e.report(36,"v"),i|=n.UnicodeSets;break;case 121:i&n.Sticky&&e.report(36,"y"),i|=n.Sticky;break;case 115:i&n.DotAll&&e.report(36,"s"),i|=n.DotAll;break;case 100:i&n.Indices&&e.report(36,"d"),i|=n.Indices;break;default:e.report(35)}s=f(e)}let c=e.source.slice(l,e.index),u=e.source.slice(t,a);return e.tokenRegExp={pattern:u,flags:c},e.options.raw&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),e.tokenValue=function(e,t,r){try{return new RegExp(t,r)}catch{try{return new RegExp(t,r),null}catch{e.report(34)}}}(e,u,c),65540}(e);if(61===a)return f(e),4259875}return 8457014;case 0x400000d:{let r=f(e);if(r>=48&&r<=57)return q(e,t,80);if(46===r){let t=e.index+1;if(t=48&&t<=57))return f(e),0x400007e}return 22}}}else{var g;if((8232^x)<=1){o=-5&o|1,u(e);continue}let r=l(e);if(r>0&&(x=r),s(x))return e.tokenValue="",z(e,t,0,0);if(160===(g=x)||65279===g||133===g||5760===g||g>=8192&&g<=8203||8239===g||8287===g||12288===g||8201===g||65519===g){f(e);continue}e.report(20,String.fromCodePoint(x))}}return 1048576}let Z={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Abreve:"Ă",Acirc:"\xc2",Acy:"А",Afr:"\uD835\uDD04",Agrave:"\xc0",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"\uD835\uDD38",ApplyFunction:"⁡",Aring:"\xc5",Ascr:"\uD835\uDC9C",Assign:"≔",Atilde:"\xc3",Auml:"\xc4",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"\uD835\uDD05",Bopf:"\uD835\uDD39",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"\xa9",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"\xc7",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"\uD835\uDC9E",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"\uD835\uDD07",DiacriticalAcute:"\xb4",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"\uD835\uDD3B",Dot:"\xa8",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"\xa8",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"\uD835\uDC9F",Dstrok:"Đ",ENG:"Ŋ",ETH:"\xd0",Eacute:"\xc9",Ecaron:"Ě",Ecirc:"\xca",Ecy:"Э",Edot:"Ė",Efr:"\uD835\uDD08",Egrave:"\xc8",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"\uD835\uDD3C",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"\xcb",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"\uD835\uDD09",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"\uD835\uDD3D",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"\uD835\uDD0A",Gg:"⋙",Gopf:"\uD835\uDD3E",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"\uD835\uDCA2",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"\xcd",Icirc:"\xce",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"\xcc",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"\uD835\uDD40",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"\xcf",Jcirc:"Ĵ",Jcy:"Й",Jfr:"\uD835\uDD0D",Jopf:"\uD835\uDD41",Jscr:"\uD835\uDCA5",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"\uD835\uDD0E",Kopf:"\uD835\uDD42",Kscr:"\uD835\uDCA6",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"\uD835\uDD0F",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"\uD835\uDD43",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"\uD835\uDD10",MinusPlus:"∓",Mopf:"\uD835\uDD44",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"\uD835\uDD11",NoBreak:"⁠",NonBreakingSpace:"\xa0",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"\uD835\uDCA9",Ntilde:"\xd1",Nu:"Ν",OElig:"Œ",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"О",Odblac:"Ő",Ofr:"\uD835\uDD12",Ograve:"\xd2",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"\uD835\uDD46",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"\uD835\uDCAA",Oslash:"\xd8",Otilde:"\xd5",Otimes:"⨷",Ouml:"\xd6",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"\uD835\uDD13",Phi:"Φ",Pi:"Π",PlusMinus:"\xb1",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"\uD835\uDCAB",Psi:"Ψ",QUOT:'"',Qfr:"\uD835\uDD14",Qopf:"ℚ",Qscr:"\uD835\uDCAC",RBarr:"⤐",REG:"\xae",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"\uD835\uDD16",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"\uD835\uDD4A",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"\uD835\uDCAE",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"\xde",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"\uD835\uDD17",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"\uD835\uDD4B",TripleDot:"⃛",Tscr:"\uD835\uDCAF",Tstrok:"Ŧ",Uacute:"\xda",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"\xdb",Ucy:"У",Udblac:"Ű",Ufr:"\uD835\uDD18",Ugrave:"\xd9",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"\uD835\uDD4C",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"\uD835\uDCB0",Utilde:"Ũ",Uuml:"\xdc",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"\uD835\uDD19",Vopf:"\uD835\uDD4D",Vscr:"\uD835\uDCB1",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"\uD835\uDD1A",Wopf:"\uD835\uDD4E",Wscr:"\uD835\uDCB2",Xfr:"\uD835\uDD1B",Xi:"Ξ",Xopf:"\uD835\uDD4F",Xscr:"\uD835\uDCB3",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"\xdd",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"\uD835\uDD1C",Yopf:"\uD835\uDD50",Yscr:"\uD835\uDCB4",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"\uD835\uDCB5",aacute:"\xe1",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"\xe2",acute:"\xb4",acy:"а",aelig:"\xe6",af:"⁡",afr:"\uD835\uDD1E",agrave:"\xe0",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"\xc5",angzarr:"⍼",aogon:"ą",aopf:"\uD835\uDD52",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"\xe5",ascr:"\uD835\uDCB6",ast:"*",asymp:"≈",asympeq:"≍",atilde:"\xe3",auml:"\xe4",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"\uD835\uDD1F",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"\uD835\uDD53",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"\xa6",bscr:"\uD835\uDCB7",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"\xe7",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"\xb8",cemptyv:"⦲",cent:"\xa2",centerdot:"\xb7",cfr:"\uD835\uDD20",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"\xae",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"\uD835\uDD54",coprod:"∐",copy:"\xa9",copysr:"℗",crarr:"↵",cross:"✗",cscr:"\uD835\uDCB8",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"\xa4",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"\xb0",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"\uD835\uDD21",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"\xa8",digamma:"ϝ",disin:"⋲",div:"\xf7",divide:"\xf7",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"\uD835\uDD55",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"\uD835\uDCB9",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"\xe9",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"\xea",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"\uD835\uDD22",eg:"⪚",egrave:"\xe8",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"\uD835\uDD56",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"\xf0",euml:"\xeb",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"\uD835\uDD23",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"\uD835\uDD57",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"\xbd",frac13:"⅓",frac14:"\xbc",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"\xbe",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"\uD835\uDCBB",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"\uD835\uDD24",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"\uD835\uDD58",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"\xbd",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"\uD835\uDD25",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"\uD835\uDD59",horbar:"―",hscr:"\uD835\uDCBD",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"\xed",ic:"⁣",icirc:"\xee",icy:"и",iecy:"е",iexcl:"\xa1",iff:"⇔",ifr:"\uD835\uDD26",igrave:"\xec",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"\uD835\uDD5A",iota:"ι",iprod:"⨼",iquest:"\xbf",iscr:"\uD835\uDCBE",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"\xef",jcirc:"ĵ",jcy:"й",jfr:"\uD835\uDD27",jmath:"ȷ",jopf:"\uD835\uDD5B",jscr:"\uD835\uDCBF",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"\uD835\uDD28",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"\uD835\uDD5C",kscr:"\uD835\uDCC0",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"\xab",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"\uD835\uDD29",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"\uD835\uDD5D",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"\uD835\uDCC1",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"\xaf",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"\uD835\uDD2A",mho:"℧",micro:"\xb5",mid:"∣",midast:"*",midcir:"⫰",middot:"\xb7",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"\uD835\uDD5E",mp:"∓",mscr:"\uD835\uDCC2",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:"\xa0",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"\uD835\uDD2B",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"\uD835\uDD5F",not:"\xac",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"\uD835\uDCC3",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"\xf1",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"\xf3",oast:"⊛",ocir:"⊚",ocirc:"\xf4",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"\uD835\uDD2C",ogon:"˛",ograve:"\xf2",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"\uD835\uDD60",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"\xaa",ordm:"\xba",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"\xf8",osol:"⊘",otilde:"\xf5",otimes:"⊗",otimesas:"⨶",ouml:"\xf6",ovbar:"⌽",par:"∥",para:"\xb6",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"\uD835\uDD2D",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"\xb1",plussim:"⨦",plustwo:"⨧",pm:"\xb1",pointint:"⨕",popf:"\uD835\uDD61",pound:"\xa3",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"\uD835\uDCC5",psi:"ψ",puncsp:" ",qfr:"\uD835\uDD2E",qint:"⨌",qopf:"\uD835\uDD62",qprime:"⁗",qscr:"\uD835\uDCC6",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"\xbb",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"\xae",rfisht:"⥽",rfloor:"⌋",rfr:"\uD835\uDD2F",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"\uD835\uDD63",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"\uD835\uDCC7",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"\xa7",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"\uD835\uDD30",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"\xad",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"\uD835\uDD64",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"\uD835\uDCC8",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"\xaf",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"\xdf",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"\uD835\uDD31",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"\xfe",tilde:"˜",times:"\xd7",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"\uD835\uDD65",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"\uD835\uDCC9",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"\xfa",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"\xfb",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"\uD835\uDD32",ugrave:"\xf9",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"\xa8",uogon:"ų",uopf:"\uD835\uDD66",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"\uD835\uDCCA",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"\xfc",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"\uD835\uDD33",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"\uD835\uDD67",vprop:"∝",vrtri:"⊳",vscr:"\uD835\uDCCB",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"\uD835\uDD34",wopf:"\uD835\uDD68",wp:"℘",wr:"≀",wreath:"≀",wscr:"\uD835\uDCCC",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"\uD835\uDD35",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"\uD835\uDD69",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"\uD835\uDCCD",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"\xfd",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"\xa5",yfr:"\uD835\uDD36",yicy:"ї",yopf:"\uD835\uDD6A",yscr:"\uD835\uDCCE",yucy:"ю",yuml:"\xff",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"\uD835\uDD37",zhcy:"ж",zigrarr:"⇝",zopf:"\uD835\uDD6B",zscr:"\uD835\uDCCF",zwj:"‍",zwnj:"‌"},K={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function W(e){if(e.startIndex=e.tokenIndex=e.index,e.startColumn=e.tokenColumn=e.column,e.startLine=e.tokenLine=e.line,e.index>=e.end)return void e.setToken(1048576);if(60===e.currentChar){f(e),e.setToken(8456256);return}if(123===e.currentChar){f(e),e.setToken(2162700);return}let t=0;for(;e.index{if("#"===e.charAt(1)){var t;let r=e.charAt(2);return(t="X"===r||"x"===r?parseInt(e.slice(3),16):parseInt(e.slice(2),10))>=55296&&t<=57343||t>1114111?"�":String.fromCodePoint(F(K,t)??t)}return F(Z,e.slice(1,-1))??e}),e.setToken(137)}function Q(e){if((143360&e.getToken())==143360){let{index:t}=e,r=e.currentChar;for(;32770&p[r];)r=f(e);e.tokenValue+=e.source.slice(t,e.index),e.setToken(208897,!0)}return e.getToken()}class ee{parser;type;parent;scopeError;variableBindings=new Map;constructor(e,t=2,r){this.parser=e,this.type=t,this.parent=r}createChildScope(e){return new ee(this.parser,e,this)}addVarOrBlock(e,t,r,n){4&r?this.addVarName(e,t,r):this.addBlockName(e,t,r,n),64&n&&this.parser.declareUnboundVariable(t)}addVarName(e,t,r){let{parser:n}=this,o=this;for(;o&&(128&o.type)==0;){let{variableBindings:a}=o,i=a.get(t);i&&248&i&&(n.options.webcompat&&(1&e)==0&&(128&r&&68&i||128&i&&68&r)||n.report(145,t)),o===this&&i&&1&i&&1&r&&o.recordScopeError(145,t),i&&(256&i||512&i&&!n.options.webcompat)&&n.report(145,t),o.variableBindings.set(t,r),o=o.parent}}hasVariable(e){return this.variableBindings.has(e)}addBlockName(e,t,r,n){let{parser:o}=this,a=this.variableBindings.get(t);a&&(2&a)==0&&(1&r?this.recordScopeError(145,t):o.options.webcompat&&(1&e)==0&&2&n&&64===a&&64===r||o.report(145,t)),64&this.type&&this.parent?.hasVariable(t)&&(2&this.parent.variableBindings.get(t))==0&&o.report(145,t),512&this.type&&a&&(2&a)==0&&1&r&&this.recordScopeError(145,t),32&this.type&&768&this.parent.variableBindings.get(t)&&o.report(159,t),this.variableBindings.set(t,r)}recordScopeError(e,...t){this.scopeError={type:e,params:t,start:this.parser.tokenStart,end:this.parser.currentLocation}}reportScopeError(){let{scopeError:e}=this;if(e)throw new C(e.start,e.end,e.type,...e.params)}}function et(e,t,r){let n=e.createScope().createChildScope(512);return n.addBlockName(t,r,1,0),n}class er{parser;parent;refs=Object.create(null);privateIdentifiers=new Map;constructor(e,t){this.parser=e,this.parent=t}addPrivateIdentifier(e,t){let{privateIdentifiers:r}=this,n=800&t;768&n||(n|=768);let o=r.get(e);this.hasPrivateIdentifier(e)&&((32&o)!=(32&n)||o&n&768)&&this.parser.report(146,e),r.set(e,this.hasPrivateIdentifier(e)?o|n:n)}addPrivateIdentifierRef(e){this.refs[e]??=[],this.refs[e].push(this.parser.tokenStart)}isPrivateIdentifierDefined(e){return this.hasPrivateIdentifier(e)||!!this.parent?.isPrivateIdentifierDefined(e)}validatePrivateIdentifierRefs(){for(let e in this.refs)if(!this.isPrivateIdentifierDefined(e)){let{index:t,line:r,column:n}=this.refs[e][0];throw new C({index:t,line:r,column:n},{index:t+e.length,line:r,column:n+e.length},4,e)}}hasPrivateIdentifier(e){return this.privateIdentifiers.has(e)}}class en{source;options;lastOnToken=null;token=1048576;flags=0;index=0;line=1;column=0;startIndex=0;end=0;tokenIndex=0;startColumn=0;tokenColumn=0;tokenLine=1;startLine=1;tokenValue="";tokenRaw="";tokenRegExp=void 0;currentChar=0;exportedNames=new Set;exportedBindings=new Set;assignable=1;destructible=0;leadingDecorators={decorators:[]};constructor(e,t={}){this.source=e,this.options=t,this.end=e.length,this.currentChar=e.charCodeAt(0)}getToken(){return this.token}setToken(e,t=!1){this.token=e;let{onToken:r}=this.options;if(r)if(1048576!==e){let n={start:{line:this.tokenLine,column:this.tokenColumn},end:{line:this.line,column:this.column}};!t&&this.lastOnToken&&r(...this.lastOnToken),this.lastOnToken=[function(e){switch(e){case 0x8010002:return"NumericLiteral";case 0x8010003:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 0x4010008:case 0x4010009:case 131:return"TemplateLiteral";default:if((143360&e)==143360)return"Identifier";if((4096&e)==4096)return"Keyword";return"Punctuator"}}(e),this.tokenIndex,this.index,n]}else this.lastOnToken&&(r(...this.lastOnToken),this.lastOnToken=null);return e}get tokenStart(){return{index:this.tokenIndex,line:this.tokenLine,column:this.tokenColumn}}get currentLocation(){return{index:this.index,line:this.line,column:this.column}}finishNode(e,t,r){if(this.options.ranges){e.start=t.index;let n=r?r.index:this.startIndex;e.end=n,e.range=[t.index,n]}return this.options.loc&&(e.loc={start:{line:t.line,column:t.column},end:r?{line:r.line,column:r.column}:{line:this.startLine,column:this.startColumn}},this.options.source&&(e.loc.source=this.options.source)),e}addBindingToExports(e){this.exportedBindings.add(e)}declareUnboundVariable(e){let{exportedNames:t}=this;t.has(e)&&this.report(147,e),t.add(e)}report(e,...t){throw new C(this.tokenStart,this.currentLocation,e,...t)}createScopeIfLexical(e,t){if(this.options.lexical)return this.createScope(e,t)}createScope(e,t){return new ee(this,e,t)}createPrivateScopeIfLexical(e){if(this.options.lexical)return new er(this,e)}}function eo(e,t={},r=0){var n,o;let a,i=((a={...t}).onComment&&(a.onComment=Array.isArray(a.onComment)?(n=a.onComment,function(e,t,r,o,i){let s={type:e,value:t};a.ranges&&(s.start=r,s.end=o,s.range=[r,o]),a.loc&&(s.loc=i),n.push(s)}):a.onComment),a.onToken&&(a.onToken=Array.isArray(a.onToken)?(o=a.onToken,function(e,t,r,n){let i={token:e};a.ranges&&(i.start=t,i.end=r,i.range=[t,r]),a.loc&&(i.loc=n),o.push(i)}):a.onToken),a);i.module&&(r|=3),i.globalReturn&&(r|=4096),i.impliedStrict&&(r|=1);let s=new en(e,i);!function(e){let{source:t}=e;35===e.currentChar&&33===t.charCodeAt(e.index+1)&&(f(e),f(e),T(e,t,0,4,e.tokenStart))}(s);let l=s.createScopeIfLexical(),c=[],u="script";if(2&r){if(u="module",c=function(e,t,r){$(e,32|t);let n=[];for(;0x8010003===e.getToken();){let{tokenStart:r}=e,o=e.getToken();n.push(eu(e,t,ez(e,t),o,r))}for(;1048576!==e.getToken();)n.push(function(e,t,r){let n;switch(132===e.getToken()&&Object.assign(e.leadingDecorators,{start:e.tokenStart,decorators:e7(e,t,void 0)}),e.getToken()){case 20564:n=function(e,t,r){let n=e.leadingDecorators.decorators.length?e.leadingDecorators.start:e.tokenStart;$(e,32|t);let o=[],a=null,i=null,s=[];if(V(e,32|t,20561)){switch(e.getToken()){case 86104:a=eX(e,t,r,void 0,4,1,1,0,e.tokenStart);break;case 132:case 86094:a=e5(e,t,r,void 0,1);break;case 209005:{let{tokenStart:n}=e;a=eH(e,t);let{flags:o}=e;(1&o)==0&&(86104===e.getToken()?a=eX(e,t,r,void 0,4,1,1,1,n):0x401000b===e.getToken()?(a=e6(e,t,void 0,a,1,1,0,o,n),a=eD(e,t,void 0,a,0,0,n),a=eq(e,t,void 0,0,0,n,a)):143360&e.getToken()&&(r&&(r=et(e,t,e.tokenValue)),a=eH(e,t),a=e3(e,t,r,void 0,[a],1,n)));break}default:a=eS(e,t,void 0,1,0,e.tokenStart),A(e,32|t)}return r&&e.declareUnboundVariable("default"),e.finishNode({type:"ExportDefaultDeclaration",declaration:a},n)}switch(e.getToken()){case 8391476:{$(e,t);let o=null;V(e,t,77932)&&(r&&e.declareUnboundVariable(e.tokenValue),o=eO(e,t)),R(e,t,209011),0x8010003!==e.getToken()&&e.report(105,"Export");let a={type:"ExportAllDeclaration",source:i=ez(e,t),exported:o,attributes:eB(e,t)};return A(e,32|t),e.finishNode(a,n)}case 2162700:{$(e,t);let n=[],a=[],f=0;for(;143360&e.getToken()||0x8010003===e.getToken();){let i,{tokenStart:s,tokenValue:l}=e,c=eO(e,t);"Literal"===c.type&&(f=1),77932===e.getToken()?($(e,t),(143360&e.getToken())==0&&0x8010003!==e.getToken()&&e.report(106),r&&(n.push(e.tokenValue),a.push(l)),i=eO(e,t)):(r&&(n.push(e.tokenValue),a.push(e.tokenValue)),i=c),o.push(e.finishNode({type:"ExportSpecifier",local:c,exported:i},s)),0x4010000f!==e.getToken()&&R(e,t,18)}R(e,t,0x4010000f),V(e,t,209011)?(0x8010003!==e.getToken()&&e.report(105,"Export"),i=ez(e,t),s=eB(e,t),r&&n.forEach(t=>e.declareUnboundVariable(t))):(f&&e.report(172),r&&(n.forEach(t=>e.declareUnboundVariable(t)),a.forEach(t=>e.addBindingToExports(t)))),A(e,32|t);break}case 132:case 86094:a=e5(e,t,r,void 0,2);break;case 86104:a=eX(e,t,r,void 0,4,1,2,0,e.tokenStart);break;case 241737:a=eg(e,t,r,void 0,8,64);break;case 86090:a=eg(e,t,r,void 0,16,64);break;case 86088:a=ex(e,t,r,void 0,64);break;case 209005:{let{tokenStart:n}=e;if($(e,t),(1&e.flags)==0&&86104===e.getToken()){a=eX(e,t,r,void 0,4,1,2,1,n);break}}default:e.report(30,N[255&e.getToken()])}let f={type:"ExportNamedDeclaration",declaration:a,specifiers:o,source:i,attributes:s};return e.finishNode(f,n)}(e,t,r);break;case 86106:n=function(e,t,r){let n=e.tokenStart;$(e,t);let o=null,{tokenStart:a}=e,i=[];if(0x8010003===e.getToken())o=ez(e,t);else{var s,f;if(143360&e.getToken()){let n=eb(e,t,r);if(i=[e.finishNode({type:"ImportDefaultSpecifier",local:n},a)],V(e,t,18))switch(e.getToken()){case 8391476:i.push(em(e,t,r));break;case 2162700:eT(e,t,r,i);break;default:e.report(107)}}else switch(e.getToken()){case 8391476:i=[em(e,t,r)];break;case 2162700:eT(e,t,r,i);break;case 0x401000b:return ew(e,t,void 0,n);case 0x400000d:return ey(e,t,n);default:e.report(30,N[255&e.getToken()])}R(s=e,f=t,209011),0x8010003!==s.getToken()&&s.report(105,"Import"),o=ez(s,f)}let l={type:"ImportDeclaration",specifiers:i,source:o,attributes:eB(e,t)};return A(e,32|t),e.finishNode(l,n)}(e,t,r);break;default:n=ea(e,t,r,void 0,4,{})}return e.leadingDecorators?.decorators.length&&e.report(170),n}(e,t,r));return n}(s,8|r,l),l)for(let e of s.exportedBindings)l.hasVariable(e)||s.report(148,e)}else c=function(e,t,r){$(e,32|t|262144);let n=[];for(;0x8010003===e.getToken();){let{index:r,tokenValue:o,tokenStart:a,tokenIndex:i}=e,s=e.getToken(),f=ez(e,t);if(I(e,r,i,o)){if(t|=1,64&e.flags)throw new C(e.tokenStart,e.currentLocation,9);if(4096&e.flags)throw new C(e.tokenStart,e.currentLocation,15)}n.push(eu(e,t,f,s,a))}for(;1048576!==e.getToken();)n.push(ea(e,t,r,void 0,4,{}));return n}(s,8|r,l);return s.finishNode({type:"Program",sourceType:u,body:c},{index:0,line:1,column:0},s.currentLocation)}function ea(e,t,r,n,o,a){let i=e.tokenStart;switch(e.getToken()){case 86104:return eX(e,t,r,n,o,1,0,0,i);case 132:case 86094:return e5(e,t,r,n,0);case 86090:return eg(e,t,r,n,16,0);case 241737:return function(e,t,r,n,o){let{tokenValue:a,tokenStart:i}=e,s=e.getToken(),f=eH(e,t);if(2240512&e.getToken()){let o=ek(e,t,r,n,8,0);return A(e,32|t),e.finishNode({type:"VariableDeclaration",kind:"let",declarations:o},i)}if(e.assignable=1,1&t&&e.report(85),21===e.getToken())return el(e,t,r,n,o,{},a,f,s,0,i);if(10===e.getToken()){let r;e.options.lexical&&(r=et(e,t,a)),e.flags=(128|e.flags)^128,f=e3(e,t,r,n,[f],0,i)}else f=eD(e,t,n,f,0,0,i),f=eq(e,t,n,0,0,i,f);return 18===e.getToken()&&(f=ev(e,t,n,0,i,f)),ef(e,t,f,i)}(e,t,r,n,o);case 20564:e.report(103,"export");case 86106:switch($(e,t),e.getToken()){case 0x401000b:return ew(e,t,n,i);case 0x400000d:return ey(e,t,i);default:e.report(103,"import")}case 209005:return ec(e,t,r,n,o,a,1);default:return ei(e,t,r,n,o,a,1)}}function ei(e,t,r,n,o,a,i){var s,f,l,c,u,d,p,g,x,k,h,b,m,T,y,w,S,v,C,q,E,N,L,I,D,U,B,O,j,M;switch(e.getToken()){case 86088:return ex(e,t,r,n,0);case 20572:let J,F;return s=e,f=t,l=n,(4096&f)==0&&s.report(92),J=s.tokenStart,$(s,32|f),F=1&s.flags||1048576&s.getToken()?null:eC(s,f,l,0,1,s.tokenStart),A(s,32|f),s.finishNode({type:"ReturnStatement",argument:F},J);case 20569:let H,z,X,_;return c=e,u=t,d=r,p=n,g=a,H=c.tokenStart,$(c,u),R(c,32|u,0x401000b),c.assignable=1,z=eC(c,u,p,0,1,c.tokenStart),R(c,32|u,16),X=ed(c,u,d,p,g),_=null,20563===c.getToken()&&($(c,32|u),_=ed(c,u,d,p,g)),c.finishNode({type:"IfStatement",test:z,consequent:X,alternate:_},H);case 20567:return function(e,t,r,n,o){let a,i=e.tokenStart;$(e,t);let s=((2048&t)>0||(2&t)>0&&(8&t)>0)&&V(e,t,209006);R(e,32|t,0x401000b),r=r?.createChildScope(1);let f=null,l=null,c=0,u=null,d=86088===e.getToken()||241737===e.getToken()||86090===e.getToken(),{tokenStart:p}=e,g=e.getToken();if(d)241737===g?(u=eH(e,t),2240512&e.getToken()?(8673330===e.getToken()?1&t&&e.report(67):u=e.finishNode({type:"VariableDeclaration",kind:"let",declarations:ek(e,131072|t,r,n,8,32)},p),e.assignable=1):1&t?e.report(67):(d=!1,e.assignable=1,u=eD(e,t,n,u,0,0,p),471156===e.getToken()&&e.report(115))):($(e,t),u=e.finishNode(86088===g?{type:"VariableDeclaration",kind:"var",declarations:ek(e,131072|t,r,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:ek(e,131072|t,r,n,16,32)},p),e.assignable=1);else if(0x40100011===g)s&&e.report(82);else if((2097152&g)==2097152){let r=e.tokenStart;u=2162700===g?eW(e,t,void 0,n,1,0,0,2,32):e$(e,t,void 0,n,1,0,0,2,32),64&(c=e.destructible)&&e.report(63),e.assignable=16&c?2:1,u=eD(e,131072|t,n,u,0,0,r)}else u=eI(e,131072|t,n,1,0,1);if((262144&e.getToken())==262144){if(471156===e.getToken()){2&e.assignable&&e.report(80,s?"await":"of"),P(e,u),$(e,32|t),a=eS(e,t,n,1,0,e.tokenStart),R(e,32|t,16);let f=ep(e,t,r,n,o);return e.finishNode({type:"ForOfStatement",left:u,right:a,body:f,await:s},i)}2&e.assignable&&e.report(80,"in"),P(e,u),$(e,32|t),s&&e.report(82),a=eC(e,t,n,0,1,e.tokenStart),R(e,32|t,16);let f=ep(e,t,r,n,o);return e.finishNode({type:"ForInStatement",body:f,left:u,right:a},i)}s&&e.report(82),d||(8&c&&0x4040001b!==e.getToken()&&e.report(80,"loop"),u=eq(e,131072|t,n,0,0,p,u)),18===e.getToken()&&(u=ev(e,t,n,0,p,u)),R(e,32|t,0x40100011),0x40100011!==e.getToken()&&(f=eC(e,t,n,0,1,e.tokenStart)),R(e,32|t,0x40100011),16!==e.getToken()&&(l=eC(e,t,n,0,1,e.tokenStart)),R(e,32|t,16);let x=ep(e,t,r,n,o);return e.finishNode({type:"ForStatement",init:u,test:f,update:l,body:x},i)}(e,t,r,n,a);case 20562:let Y,Z,K;return x=e,k=t,h=r,b=n,m=a,Y=x.tokenStart,$(x,32|k),Z=ep(x,k,h,b,m),R(x,k,20578),R(x,32|k,0x401000b),K=eC(x,k,b,0,1,x.tokenStart),R(x,32|k,16),V(x,32|k,0x40100011),x.finishNode({type:"DoWhileStatement",body:Z,test:K},Y);case 20578:let W,Q,ee;return T=e,y=t,w=r,S=n,v=a,W=T.tokenStart,$(T,y),R(T,32|y,0x401000b),Q=eC(T,y,S,0,1,T.tokenStart),R(T,32|y,16),ee=ep(T,y,w,S,v),T.finishNode({type:"WhileStatement",test:Q,body:ee},W);case 86110:return function(e,t,r,n,o){let a=e.tokenStart;$(e,t),R(e,32|t,0x401000b);let i=eC(e,t,n,0,1,e.tokenStart);R(e,t,16),R(e,t,2162700);let s=[],f=0;for(r=r?.createChildScope(8);0x4010000f!==e.getToken();){let{tokenStart:a}=e,i=null,l=[];for(V(e,32|t,20556)?i=eC(e,t,n,0,1,e.tokenStart):(R(e,32|t,20561),f&&e.report(89),f=1),R(e,32|t,21);20556!==e.getToken()&&0x4010000f!==e.getToken()&&20561!==e.getToken();)l.push(ea(e,4|t,r,n,2,{$:o}));s.push(e.finishNode({type:"SwitchCase",test:i,consequent:l},a))}return R(e,32|t,0x4010000f),e.finishNode({type:"SwitchStatement",discriminant:i,cases:s},a)}(e,t,r,n,a);case 0x40100011:let et;return C=e,q=t,et=C.tokenStart,$(C,32|q),C.finishNode({type:"EmptyStatement"},et);case 2162700:return es(e,t,r?.createChildScope(),n,a,e.tokenStart);case 86112:let er,en;return E=e,N=t,L=n,er=E.tokenStart,$(E,32|N),1&E.flags&&E.report(90),en=eC(E,N,L,0,1,E.tokenStart),A(E,32|N),E.finishNode({type:"ThrowStatement",argument:en},er);case 20555:return function(e,t,r){let n=e.tokenStart;$(e,32|t);let o=null;if((1&e.flags)==0&&143360&e.getToken()){let{tokenValue:n}=e;o=eH(e,32|t),G(e,r,n,0)||e.report(138,n)}else(132&t)==0&&e.report(69);return A(e,32|t),e.finishNode({type:"BreakStatement",label:o},n)}(e,t,a);case 20559:return function(e,t,r){(128&t)==0&&e.report(68);let n=e.tokenStart;$(e,t);let o=null;if((1&e.flags)==0&&143360&e.getToken()){let{tokenValue:n}=e;o=eH(e,32|t),G(e,r,n,1)||e.report(138,n)}return A(e,32|t),e.finishNode({type:"ContinueStatement",label:o},n)}(e,t,a);case 20577:return function(e,t,r,n,o){var a,i,s,f,l,c;let u,d,p=e.tokenStart;$(e,32|t);let g=es(e,t,r?.createChildScope(16),n,{$:o}),{tokenStart:x}=e,k=V(e,32|t,20557)?(a=e,i=t,s=r,f=n,l=o,c=x,u=null,V(a,i,0x401000b)&&(u=tr(a,i,s=s?.createChildScope(4),f,(2097152&a.getToken())==2097152?256:512,0),18===a.getToken()?a.report(86):0x4040001b===a.getToken()&&a.report(87),R(a,32|i,16)),d=es(a,i,s?.createChildScope(32),f,{$:l}),a.finishNode({type:"CatchClause",param:u,body:d},c)):null,h=null;return 20566===e.getToken()&&($(e,32|t),h=es(e,t,r?.createChildScope(4),n,{$:o})),k||h||e.report(88),e.finishNode({type:"TryStatement",block:g,handler:k,finalizer:h},p)}(e,t,r,n,a);case 20579:let eo,eu,eg;return I=e,D=t,U=r,B=n,O=a,eo=I.tokenStart,$(I,D),1&D&&I.report(91),R(I,32|D,0x401000b),eu=eC(I,D,B,0,1,I.tokenStart),R(I,32|D,16),eg=ei(I,D,U,B,2,O,0),I.finishNode({type:"WithStatement",object:eu,body:eg},eo);case 20560:let eh;return j=e,M=t,eh=j.tokenStart,$(j,32|M),A(j,32|M),j.finishNode({type:"DebuggerStatement"},eh);case 209005:return ec(e,t,r,n,o,a,0);case 20557:e.report(162);case 20566:e.report(163);case 86104:e.report(1&t?76:e.options.webcompat?77:78);case 86094:e.report(79);default:return function(e,t,r,n,o,a,i){let s,{tokenValue:f,tokenStart:l}=e,c=e.getToken();return(241737===c?(s=eH(e,t),1&t&&e.report(85),0x4210013===e.getToken()&&e.report(84)):s=eR(e,t,n,2,0,1,0,1,e.tokenStart),143360&c&&21===e.getToken())?el(e,t,r,n,o,a,f,s,c,i,l):(s=eD(e,t,n,s,0,0,l),s=eq(e,t,n,0,0,l,s),18===e.getToken()&&(s=ev(e,t,n,0,l,s)),ef(e,t,s,l))}(e,t,r,n,o,a,i)}}function es(e,t,r,n,o,a=e.tokenStart,i="BlockStatement"){let s=[];for(R(e,32|t,2162700);0x4010000f!==e.getToken();)s.push(ea(e,t,r,n,2,{$:o}));return R(e,32|t,0x4010000f),e.finishNode({type:i,body:s},a)}function ef(e,t,r,n){return A(e,32|t),e.finishNode({type:"ExpressionStatement",expression:r},n)}function el(e,t,r,n,o,a,i,s,f,l,c){U(e,t,0,f,1);let u=a;for(;u;)u["$"+i]&&e.report(136,i),u=u.$;a["$"+i]=1,$(e,32|t);let d=l&&(1&t)==0&&e.options.webcompat&&86104===e.getToken()?eX(e,t,r?.createChildScope(),n,o,0,0,0,e.tokenStart):ei(e,t,r,n,o,a,l);return e.finishNode({type:"LabeledStatement",label:s,body:d},c)}function ec(e,t,r,n,o,a,i){let{tokenValue:s,tokenStart:f}=e,l=e.getToken(),c=eH(e,t);if(21===e.getToken())return el(e,t,r,n,o,a,s,c,l,1,f);let u=1&e.flags;if(!u){if(86104===e.getToken())return i||e.report(123),eX(e,t,r,n,o,1,0,1,f);if(M(t,e.getToken()))return c=e8(e,t,n,1,f),18===e.getToken()&&(c=ev(e,t,n,0,f,c)),ef(e,t,c,f)}return 0x401000b===e.getToken()?c=e6(e,t,n,c,1,1,0,u,f):(10===e.getToken()&&(J(e,t,l),(36864&l)==36864&&(e.flags|=256),c=e1(e,2048|t,n,e.tokenValue,c,0,1,0,f)),e.assignable=1),c=eD(e,t,n,c,0,0,f),c=eq(e,t,n,0,0,f,c),e.assignable=1,18===e.getToken()&&(c=ev(e,t,n,0,f,c)),ef(e,t,c,f)}function eu(e,t,r,n,o){let a=e.startIndex;0x40100011!==n&&(e.assignable=2,r=eD(e,t,void 0,r,0,0,o),0x40100011!==e.getToken()&&(r=eq(e,t,void 0,0,0,o,r),18===e.getToken()&&(r=ev(e,t,void 0,0,o,r))),A(e,32|t));let i={type:"ExpressionStatement",expression:r};return"Literal"===r.type&&"string"==typeof r.value&&(i.directive=e.source.slice(o.index+1,a-1)),e.finishNode(i,o)}function ed(e,t,r,n,o){let{tokenStart:a}=e;return 1&t||!e.options.webcompat||86104!==e.getToken()?ei(e,t,r,n,0,{$:o},0):eX(e,t,r?.createChildScope(),n,0,0,0,0,a)}function ep(e,t,r,n,o){return ei(e,(131072|t)^131072|128,r,n,0,{loop:1,$:o},0)}function eg(e,t,r,n,o,a){let i=e.tokenStart;$(e,t);let s=ek(e,t,r,n,o,a);return A(e,32|t),e.finishNode({type:"VariableDeclaration",kind:8&o?"let":"const",declarations:s},i)}function ex(e,t,r,n,o){let a=e.tokenStart;$(e,t);let i=ek(e,t,r,n,4,o);return A(e,32|t),e.finishNode({type:"VariableDeclaration",kind:"var",declarations:i},a)}function ek(e,t,r,n,o,a){let i=1,s=[eh(e,t,r,n,o,a)];for(;V(e,t,18);)i++,s.push(eh(e,t,r,n,o,a));return i>1&&32&a&&262144&e.getToken()&&e.report(61,N[255&e.getToken()]),s}function eh(e,t,r,n,o,a){let{tokenStart:i}=e,s=e.getToken(),f=null,l=tr(e,t,r,n,o,a);if(0x4040001b===e.getToken()){if($(e,32|t),f=eS(e,t,n,1,0,e.tokenStart),(32&a||(2097152&s)==0)&&(471156===e.getToken()||8673330===e.getToken()&&(2097152&s||(4&o)==0||1&t)))throw new C(i,e.currentLocation,60,471156===e.getToken()?"of":"in")}else(16&o||(2097152&s)>0)&&(262144&e.getToken())!=262144&&e.report(59,16&o?"const":"destructuring");return e.finishNode({type:"VariableDeclarator",id:l,init:f},i)}function eb(e,t,r){return M(t,e.getToken())||e.report(118),(0x20033000&e.getToken())==0x20033000&&e.report(119),r?.addBlockName(t,e.tokenValue,8,0),eH(e,t)}function em(e,t,r){let{tokenStart:n}=e;if($(e,t),R(e,t,77932),(0x8000000&e.getToken())==0x8000000)throw new C(n,e.currentLocation,30,N[255&e.getToken()]);return e.finishNode({type:"ImportNamespaceSpecifier",local:eb(e,t,r)},n)}function eT(e,t,r,n){for($(e,t);143360&e.getToken()||0x8010003===e.getToken();){let o,{tokenValue:a,tokenStart:i}=e,s=e.getToken(),f=eO(e,t);V(e,t,77932)?((0x8000000&e.getToken())==0x8000000||18===e.getToken()?e.report(106):U(e,t,16,e.getToken(),0),a=e.tokenValue,o=eH(e,t)):"Identifier"===f.type?(U(e,t,16,s,0),o=f):e.report(25,N[108]),r?.addBlockName(t,a,8,0),n.push(e.finishNode({type:"ImportSpecifier",local:o,imported:f},i)),0x4010000f!==e.getToken()&&R(e,t,18)}return R(e,t,0x4010000f),n}function ey(e,t,r){let n=eP(e,t,e.finishNode({type:"Identifier",name:"import"},r),r);return n=eD(e,t,void 0,n,0,0,r),n=eq(e,t,void 0,0,0,r,n),18===e.getToken()&&(n=ev(e,t,void 0,0,r,n)),ef(e,t,n,r)}function ew(e,t,r,n){let o=eU(e,t,r,0,n);return o=eD(e,t,r,o,0,0,n),18===e.getToken()&&(o=ev(e,t,r,0,n,o)),ef(e,t,o,n)}function eS(e,t,r,n,o,a){let i=eR(e,t,r,2,0,n,o,1,a);return i=eD(e,t,r,i,o,0,a),eq(e,t,r,o,0,a,i)}function ev(e,t,r,n,o,a){let i=[a];for(;V(e,32|t,18);)i.push(eS(e,t,r,1,n,e.tokenStart));return e.finishNode({type:"SequenceExpression",expressions:i},o)}function eC(e,t,r,n,o,a){let i=eS(e,t,r,o,n,a);return 18===e.getToken()?ev(e,t,r,n,a,i):i}function eq(e,t,r,n,o,a,i){let s=e.getToken();if((4194304&s)==4194304){2&e.assignable&&e.report(26),(o||0x4040001b!==s||"ArrayExpression"!==i.type)&&"ObjectExpression"!==i.type||P(e,i),$(e,32|t);let f=eS(e,t,r,1,n,e.tokenStart);return e.assignable=2,e.finishNode(o?{type:"AssignmentPattern",left:i,right:f}:{type:"AssignmentExpression",left:i,operator:N[255&s],right:f},a)}return(8388608&s)==8388608&&(i=eL(e,t,r,n,a,4,s,i)),V(e,32|t,22)&&(i=eN(e,t,r,i,a)),i}function eE(e,t,r,n,o,a,i){let s=e.getToken();$(e,32|t);let f=eS(e,t,r,1,n,e.tokenStart);return i=e.finishNode(o?{type:"AssignmentPattern",left:i,right:f}:{type:"AssignmentExpression",left:i,operator:N[255&s],right:f},a),e.assignable=2,i}function eN(e,t,r,n,o){let a=eS(e,(131072|t)^131072,r,1,0,e.tokenStart);R(e,32|t,21),e.assignable=1;let i=eS(e,t,r,1,0,e.tokenStart);return e.assignable=2,e.finishNode({type:"ConditionalExpression",test:n,consequent:a,alternate:i},o)}function eL(e,t,r,n,o,a,i,s){let f,l,c=8673330&-((131072&t)>0);for(e.assignable=2;8388608&e.getToken()&&(l=3840&(f=e.getToken()),(524288&f&&0x10000000&i||524288&i&&0x10000000&f)&&e.report(165),!(l+((8391735===f)<<8)-((c===f)<<12)<=a));)$(e,32|t),s=e.finishNode({type:524288&f||0x10000000&f?"LogicalExpression":"BinaryExpression",left:s,right:eL(e,t,r,n,e.tokenStart,l,f,eI(e,t,r,0,n,1)),operator:N[255&f]},o);return 0x4040001b===e.getToken()&&e.report(26),s}function eA(e,t,r,n,o,a,i){let{tokenStart:s}=e;R(e,32|t,2162700);let f=[];if(0x4010000f!==e.getToken()){for(;0x8010003===e.getToken();){let{index:r,tokenStart:n,tokenIndex:o,tokenValue:a}=e,s=e.getToken(),l=ez(e,t);if(I(e,r,o,a)){if(t|=1,128&e.flags)throw new C(n,e.currentLocation,66);if(64&e.flags)throw new C(n,e.currentLocation,9);if(4096&e.flags)throw new C(n,e.currentLocation,15);i?.reportScopeError()}f.push(eu(e,t,l,s,n))}1&t&&(a&&((0x20033000&a)==0x20033000&&e.report(119),(36864&a)==36864&&e.report(40)),512&e.flags&&e.report(119),256&e.flags&&e.report(118))}for(e.flags=(512|e.flags|4416)^4928,e.destructible=(256|e.destructible)^256;0x4010000f!==e.getToken();)f.push(ea(e,t,r,n,4,{}));return R(e,24&o?32|t:t,0x4010000f),e.flags&=-4289,0x4040001b===e.getToken()&&e.report(26),e.finishNode({type:"BlockStatement",body:f},s)}function eI(e,t,r,n,o,a){let i=e.tokenStart,s=eR(e,t,r,2,0,n,o,a,i);return eD(e,t,r,s,o,0,i)}function eD(e,t,r,n,o,a,i){if((0x2010000&e.getToken())==0x2010000&&(1&e.flags)==0){var s,f;let r;s=t,f=n,2&e.assignable&&e.report(55),r=e.getToken(),$(e,s),e.assignable=2,n=e.finishNode({type:"UpdateExpression",argument:f,operator:N[255&r],prefix:!1},i)}else if((0x4000000&e.getToken())==0x4000000){switch(t=(131072|t)^131072,e.getToken()){case 0x400000d:{$(e,(262144|t|8)^8),16&t&&130===e.getToken()&&"super"===e.tokenValue&&e.report(173),e.assignable=1;let o=eV(e,64|t,r);n=e.finishNode({type:"MemberExpression",object:n,computed:!1,property:o,optional:!1},i);break}case 0x4210013:{let a=!1;(2048&e.flags)==2048&&(a=!0,e.flags=(2048|e.flags)^2048),$(e,32|t);let{tokenStart:s}=e,f=eC(e,t,r,o,1,s);R(e,t,20),e.assignable=1,n=e.finishNode({type:"MemberExpression",object:n,computed:!0,property:f,optional:!1},i),a&&(e.flags|=2048);break}case 0x401000b:{if((1024&e.flags)==1024)return e.flags=(1024|e.flags)^1024,n;let a=!1;(2048&e.flags)==2048&&(a=!0,e.flags=(2048|e.flags)^2048);let s=eF(e,t,r,o);e.assignable=2,n=e.finishNode({type:"CallExpression",callee:n,arguments:s,optional:!1},i),a&&(e.flags|=2048);break}case 0x400007e:$(e,(262144|t|8)^8),e.flags|=2048,e.assignable=2,n=function(e,t,r,n,o){let a,i=!1;if((0x4210013===e.getToken()||0x401000b===e.getToken())&&(2048&e.flags)==2048&&(i=!0,e.flags=(2048|e.flags)^2048),0x4210013===e.getToken()){$(e,32|t);let{tokenStart:i}=e,s=eC(e,t,r,0,1,i);R(e,t,20),e.assignable=2,a=e.finishNode({type:"MemberExpression",object:n,computed:!0,optional:!0,property:s},o)}else if(0x401000b===e.getToken()){let i=eF(e,t,r,0);e.assignable=2,a=e.finishNode({type:"CallExpression",callee:n,arguments:i,optional:!0},o)}else{let i=eV(e,t,r);e.assignable=2,a=e.finishNode({type:"MemberExpression",object:n,computed:!1,optional:!0,property:i},o)}return i&&(e.flags|=2048),a}(e,t,r,n,i);break;default:(2048&e.flags)==2048&&e.report(166),e.assignable=2,n=e.finishNode({type:"TaggedTemplateExpression",tag:n,quasi:0x4010008===e.getToken()?eM(e,64|t,r):ej(e,t)},i)}n=eD(e,t,r,n,0,1,i)}return 0===a&&(2048&e.flags)==2048&&(e.flags=(2048|e.flags)^2048,n=e.finishNode({type:"ChainExpression",expression:n},i)),n}function eV(e,t,r){return(143360&e.getToken())==0&&-0x7fffff88!==e.getToken()&&-0x7fffff87!==e.getToken()&&130!==e.getToken()&&e.report(160),130===e.getToken()?te(e,t,r,0):eH(e,t)}function eR(e,t,r,n,o,a,i,s,l){var c,u,d,g,x,k,h,b,m,T,y,w,S,v,q;if((143360&e.getToken())==143360){switch(e.getToken()){case 209006:i&&(e.destructible|=128),524288&t&&e.report(177);let f=e0(e,t,r);if("ArrowFunctionExpression"===f.type||(65536&e.getToken())==0){if(2048&t)throw new C(l,{index:e.startIndex,line:e.startLine,column:e.startColumn},176);if(2&t||8192&t&&2048&t)throw new C(l,{index:e.startIndex,line:e.startLine,column:e.startColumn},110);return f}if(8192&t)throw new C(l,{index:e.startIndex,line:e.startLine,column:e.startColumn},31);if(2048&t||2&t&&8&t){if(o)throw new C(l,{index:e.startIndex,line:e.startLine,column:e.startColumn},0);let n=eI(e,t,r,0,0,1);return 8391735===e.getToken()&&e.report(33),e.assignable=2,e.finishNode({type:"AwaitExpression",argument:n},l)}if(2&t)throw new C(l,{index:e.startIndex,line:e.startLine,column:e.startColumn},98);return f;case 241771:if(i&&(e.destructible|=256),1024&t){$(e,32|t),8192&t&&e.report(32),a||e.report(26),22===e.getToken()&&e.report(124);let n=null,o=!1;return(1&e.flags)==0?(o=V(e,32|t,8391476),(77824&e.getToken()||o)&&(n=eS(e,t,r,1,0,e.tokenStart))):8391476===e.getToken()&&e.report(30,N[255&e.getToken()]),e.assignable=2,e.finishNode({type:"YieldExpression",argument:n,delegate:o},l)}return 1&t&&e.report(97,"yield"),e0(e,t,r);case 209005:return function(e,t,r,n,o,a,i,s){let f=e.getToken(),l=eH(e,t),{flags:c}=e;if((1&c)==0){if(86104===e.getToken())return e_(e,t,r,1,n,s);if(M(t,e.getToken()))return o||e.report(0),(36864&e.getToken())==36864&&(e.flags|=256),e8(e,t,r,a,s)}return i||0x401000b!==e.getToken()?10===e.getToken()?(J(e,t,f),i&&e.report(51),(36864&f)==36864&&(e.flags|=256),e1(e,t,r,e.tokenValue,l,i,a,0,s)):(e.assignable=1,l):e6(e,t,r,l,a,1,0,c,s)}(e,t,r,i,s,a,o,l)}let{tokenValue:c}=e,u=e.getToken(),d=eH(e,64|t);return 10===e.getToken()?(s||e.report(0),J(e,t,u),(36864&u)==36864&&(e.flags|=256),e1(e,t,r,c,d,o,a,0,l)):(!(16&t)||32768&t||8192&t||"arguments"!==e.tokenValue||e.report(130),(255&u)==73&&(1&t&&e.report(113),24&n&&e.report(100)),e.assignable=1&t&&(0x20033000&u)==0x20033000?2:1,d)}if((0x8000000&e.getToken())==0x8000000)return ez(e,t);switch(e.getToken()){case 0x2010019:case 0x201001a:let E,L;return o&&e.report(56),s||e.report(0),E=e.getToken(),$(e,32|t),L=eI(e,t,r,0,0,1),2&e.assignable&&e.report(55),e.assignable=2,e.finishNode({type:"UpdateExpression",argument:L,operator:N[255&E],prefix:!0},l);case 0x101502c:case 0x101002e:case 0x101002f:case 0x1810a30:case 0x1810a31:case 0x101502b:case 0x101502d:return function(e,t,r,n,o){n||e.report(0);let{tokenStart:a}=e,i=e.getToken();$(e,32|t);let s=eI(e,t,r,0,o,1);if(8391735===e.getToken()&&e.report(33),1&t&&0x101502c===i)if("Identifier"===s.type)e.report(121);else s.property&&"PrivateIdentifier"===s.property.type&&e.report(127);return e.assignable=2,e.finishNode({type:"UnaryExpression",operator:N[255&i],argument:s,prefix:!0},a)}(e,t,r,s,i);case 86104:return e_(e,t,r,0,i,l);case 2162700:let A;return A=eW(c=e,t,void 0,r,+!a,i,0,2,0),64&c.destructible&&c.report(63),8&c.destructible&&c.report(62),A;case 0x4210013:let I;return I=e$(u=e,t,void 0,r,+!a,i,0,2,0),64&u.destructible&&u.report(63),8&u.destructible&&u.report(62),I;case 0x401000b:return function(e,t,r,n,o,a,i){let s;e.flags=(128|e.flags)^128;let f=e.tokenStart;$(e,32|t|262144);let l=e.createScopeIfLexical()?.createChildScope(512);if(V(e,t=(131072|t)^131072,16))return e2(e,t,l,r,[],n,0,i);let c=0;e.destructible&=-385;let u=[],d=0,p=0,g=0,x=e.tokenStart;for(e.assignable=1;16!==e.getToken();){let{tokenStart:n}=e,o=e.getToken();if(143360&o)l?.addBlockName(t,e.tokenValue,1,0),(0x20033000&o)==0x20033000?p=1:(36864&o)==36864&&(g=1),s=eR(e,t,r,1,0,1,1,1,n),16===e.getToken()||18===e.getToken()?2&e.assignable&&(c|=16,p=1):(0x4040001b===e.getToken()?p=1:c|=16,s=eD(e,t,r,s,1,0,n),16!==e.getToken()&&18!==e.getToken()&&(s=eq(e,t,r,1,0,n,s)));else if((2097152&o)==2097152)s=2162700===o?eW(e,262144|t,l,r,0,1,0,1,0):e$(e,262144|t,l,r,0,1,0,1,0),c|=e.destructible,p=1,e.assignable=2,16!==e.getToken()&&18!==e.getToken()&&(8&c&&e.report(122),s=eD(e,t,r,s,0,0,n),c|=16,16!==e.getToken()&&18!==e.getToken()&&(s=eq(e,t,r,0,0,n,s)));else if(14===o){s=eZ(e,t,l,r,16,1,0,0,1,0),16&e.destructible&&e.report(74),p=1,d&&(16===e.getToken()||18===e.getToken())&&u.push(s),c|=8;break}else{if(c|=16,s=eS(e,t,r,1,1,n),d&&(16===e.getToken()||18===e.getToken())&&u.push(s),18!==e.getToken()||d||(d=1,u=[s]),d){for(;V(e,32|t,18);)u.push(eS(e,t,r,1,1,e.tokenStart));e.assignable=2,s=e.finishNode({type:"SequenceExpression",expressions:u},x)}return R(e,t,16),e.destructible=c,e.options.preserveParens?e.finishNode({type:"ParenthesizedExpression",expression:s},f):s}if(d&&(16===e.getToken()||18===e.getToken())&&u.push(s),!V(e,32|t,18))break;if(d||(d=1,u=[s]),16===e.getToken()){c|=8;break}}return(d&&(e.assignable=2,s=e.finishNode({type:"SequenceExpression",expressions:u},x)),R(e,t,16),16&c&&8&c&&e.report(151),c|=256&e.destructible?256:128&e.destructible?128:0,10===e.getToken())?(48&c&&e.report(49),2050&t&&128&c&&e.report(31),1025&t&&256&c&&e.report(32),p&&(e.flags|=128),g&&(e.flags|=256),e2(e,t,l,r,d?u:[s],n,0,i)):(64&c&&e.report(63),8&c&&e.report(144),e.destructible=(256|e.destructible)^256|c,e.options.preserveParens?e.finishNode({type:"ParenthesizedExpression",expression:s},f):s)}(e,64|t,r,a,1,0,l);case 86021:case 86022:case 86023:let D,P,U;return d=e,g=t,D=d.tokenStart,P=N[255&d.getToken()],U=86023===d.getToken()?null:"true"===P,$(d,g),d.assignable=2,d.finishNode(d.options.raw?{type:"Literal",value:U,raw:P}:{type:"Literal",value:U},D);case 86111:return function(e,t){let{tokenStart:r}=e;return $(e,t),e.assignable=2,e.finishNode({type:"ThisExpression"},r)}(e,t);case 65540:return function(e,t){let{tokenRaw:r,tokenRegExp:n,tokenValue:o,tokenStart:a}=e;$(e,t),e.assignable=2;let i={type:"Literal",value:o,regex:n};return e.options.raw&&(i.raw=r),e.finishNode(i,a)}(e,t);case 132:case 86094:let B,G,F,H,z;return x=e,k=t,h=r,b=i,m=l,B=null,G=null,F=e7(x,k,h),$(x,k=(1|k|16384)^16384),4096&x.getToken()&&20565!==x.getToken()&&(O(x,k,x.getToken())&&x.report(118),(0x20033000&x.getToken())==0x20033000&&x.report(119),B=eH(x,k)),H=k,V(x,32|k,20565)?(G=eI(x,k,h,0,b,0),H|=512):H=(512|H)^512,z=e9(x,H,k,void 0,h,2,0,b),x.assignable=2,x.finishNode({type:"ClassExpression",id:B,superClass:G,body:z,...x.options.next?{decorators:F}:null},m);case 86109:return function(e,t){let{tokenStart:r}=e;switch($(e,t),e.getToken()){case 0x400007e:e.report(167);case 0x401000b:(512&t)==0&&e.report(28),e.assignable=2;break;case 0x4210013:case 0x400000d:(256&t)==0&&e.report(29),e.assignable=1;break;default:e.report(30,"super")}return e.finishNode({type:"Super"},r)}(e,t);case 0x4010009:return ej(e,t);case 0x4010008:return eM(e,t,r);case 86107:return function(e,t,r,n){let{tokenStart:o}=e,a=eH(e,32|t),{tokenStart:i}=e;if(V(e,t,0x400000d)){if(65536&t&&209029===e.getToken()){var s,f,l,c;let r;return e.assignable=2,s=e,f=t,l=a,c=o,r=eH(s,f),s.finishNode({type:"MetaProperty",meta:l,property:r},c)}e.report(94)}e.assignable=2,(0x1010000&e.getToken())==0x1010000&&e.report(65,N[255&e.getToken()]);let u=eR(e,t,r,2,1,0,n,1,i);t=(131072|t)^131072,0x400007e===e.getToken()&&e.report(168);let d=function e(t,r,n,o,a,i){let s=t.getToken();if(0x4000000&s){if(0x400000d===s){$(t,262144|r),t.assignable=1;let a=eV(t,r,n);return e(t,r,n,t.finishNode({type:"MemberExpression",object:o,computed:!1,property:a,optional:!1},i),0,i)}else if(0x4210013===s){$(t,32|r);let{tokenStart:s}=t,f=eC(t,r,n,a,1,s);return R(t,r,20),t.assignable=1,e(t,r,n,t.finishNode({type:"MemberExpression",object:o,computed:!0,property:f,optional:!1},i),0,i)}else if(0x4010008===s||0x4010009===s)return t.assignable=2,e(t,r,n,t.finishNode({type:"TaggedTemplateExpression",tag:o,quasi:0x4010008===t.getToken()?eM(t,64|r,n):ej(t,64|r)},i),0,i)}return o}(e,t,r,u,n,i);return e.assignable=2,e.finishNode({type:"NewExpression",callee:d,arguments:0x401000b===e.getToken()?eF(e,t,r,n):[]},o)}(e,t,r,i);case 0x801007c:return eG(e,t);case 130:return te(e,t,r,0);case 86106:let X;return T=e,y=t,w=r,S=o,v=i,q=l,X=eH(T,y),0x400000d===T.getToken()?eP(T,y,X,q):(S&&T.report(142),X=eU(T,y,w,v,q),T.assignable=2,eD(T,y,w,X,v,0,q));case 8456256:if(e.options.jsx)return function e(t,r,n,o,a){var i,s,l,c,u,d,g;let x,k,h;if(o||R(t,r,8456256),8390721===t.getToken()){let f=(i=t,s=a,W(i),i.finishNode({type:"JSXOpeningFragment"},s)),[l,c]=function(t,r,n,o){let a=[];for(;;){let i=function(t,r,n,o){if(137===t.getToken())return to(t,r);if(2162700===t.getToken())return ts(t,r,n,1,0);if(8456256===t.getToken()){let{tokenStart:a}=t;if($(t,r),8457014===t.getToken())return R(t,r,8457014),8390721!==t.getToken()&&t.report(25,N[65]),o?W(t):$(t,r),t.finishNode({type:"JSXClosingFragment"},a);return e(t,r,n,1,a)}t.report(0)}(t,r,n,o);if("JSXClosingFragment"===i.type)return[a,i];a.push(i)}}(t,r,n,o);return t.finishNode({type:"JSXFragment",openingFragment:f,children:l,closingFragment:c},a)}8457014===t.getToken()&&t.report(30,N[255&t.getToken()]);let b=null,m=[],T=(l=t,c=r,u=n,d=o,g=a,(143360&l.getToken())!=143360&&(4096&l.getToken())!=4096&&l.report(0),x=ta(l,c),k=function(t,r,n){let o=[];for(;8457014!==t.getToken()&&8390721!==t.getToken()&&1048576!==t.getToken();)o.push(function(t,r,n){let{tokenStart:o}=t;if(2162700===t.getToken()){let e,o;return e=t.tokenStart,$(t,r),R(t,r,14),o=eS(t,r,n,1,0,t.tokenStart),R(t,r,0x4010000f),t.finishNode({type:"JSXSpreadAttribute",argument:o},e)}Q(t);let a=null,i=tf(t,r);if(21===t.getToken()&&(i=ti(t,r,i,o)),0x4040001b===t.getToken())switch(t.startIndex=t.tokenIndex=t.index,t.startColumn=t.tokenColumn=t.column,t.startLine=t.tokenLine=t.line,t.setToken(8192&p[t.currentChar]?function(e){let t=e.currentChar,r=f(e),n=e.index;for(;r!==t;)e.index>=e.end&&e.report(16),r=f(e);return r!==t&&e.report(16),e.tokenValue=e.source.slice(n,e.index),f(e),e.options.raw&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),0x8010003}(t):Y(t,r,0)),t.getToken()){case 0x8010003:a=ez(t,r);break;case 8456256:a=e(t,r,n,0,t.tokenStart);break;case 2162700:a=ts(t,r,n,0,1);break;default:t.report(154)}return t.finishNode({type:"JSXAttribute",value:a,name:i},o)}(t,r,n));return o}(l,c,u),(h=8457014===l.getToken())&&R(l,c,8457014),8390721!==l.getToken()&&l.report(25,N[65]),d||!h?W(l):$(l,c),l.finishNode({type:"JSXOpeningElement",name:x,attributes:k,selfClosing:h},g));if(!T.selfClosing){[m,b]=function(t,r,n,o){let a=[];for(;;){let i=function(t,r,n,o){if(137===t.getToken())return to(t,r);if(2162700===t.getToken())return ts(t,r,n,1,0);if(8456256===t.getToken()){let{tokenStart:a}=t;if($(t,r),8457014===t.getToken()){let e;return R(t,r,8457014),e=ta(t,r),8390721!==t.getToken()&&t.report(25,N[65]),o?W(t):$(t,r),t.finishNode({type:"JSXClosingElement",name:e},a)}return e(t,r,n,1,a)}t.report(0)}(t,r,n,o);if("JSXClosingElement"===i.type)return[a,i];a.push(i)}}(t,r,n,o);let a=j(b.name);j(T.name)!==a&&t.report(155,a)}return t.finishNode({type:"JSXElement",children:m,openingElement:T,closingElement:b},a)}(e,t,r,0,e.tokenStart);default:if(M(t,e.getToken()))return e0(e,t,r);e.report(30,N[255&e.getToken()])}}function eP(e,t,r,n){(2&t)==0&&e.report(169),$(e,t);let o=e.getToken();return 209030!==o&&"meta"!==e.tokenValue?e.report(174):-0x80000000&o&&e.report(175),e.assignable=2,e.finishNode({type:"MetaProperty",meta:r,property:eH(e,t)},n)}function eU(e,t,r,n,o){R(e,32|t,0x401000b),14===e.getToken()&&e.report(143);let a=eS(e,t,r,1,n,e.tokenStart),i=null;18===e.getToken()&&(R(e,t,18),16!==e.getToken()&&(i=eS(e,(131072|t)^131072,r,1,n,e.tokenStart)),V(e,t,18));let s={type:"ImportExpression",source:a,options:i};return R(e,t,16),e.finishNode(s,o)}function eB(e,t){if(!V(e,t,20579))return[];R(e,t,2162700);let r=[],n=new Set;for(;0x4010000f!==e.getToken();){var o,a;let i=e.tokenStart,s=(o=e,a=t,0x8010003===o.getToken()?ez(o,a):143360&o.getToken()?eH(o,a):void o.report(30,N[255&o.getToken()]));R(e,t,21);let f=function(e,t){if(0x8010003===e.getToken())return ez(e,t);e.report(30,N[255&e.getToken()])}(e,t),l="Literal"===s.type?s.value:s.name;n.has(l)&&e.report(145,`${l}`),n.add(l),r.push(e.finishNode({type:"ImportAttribute",key:s,value:f},i)),0x4010000f!==e.getToken()&&R(e,t,18)}return R(e,t,0x4010000f),r}function eO(e,t){return 0x8010003===e.getToken()?(!function(e,t){let r=t.length;for(let n=0;n56319||++n>=r||(64512&t.charCodeAt(n))!=56320)&&e.report(171,JSON.stringify(t.charAt(n--)))}}(e,e.tokenValue),ez(e,t)):143360&e.getToken()?eH(e,t):void e.report(30,N[255&e.getToken()])}function eG(e,t){let{tokenRaw:r,tokenValue:n,tokenStart:o}=e;$(e,t),e.assignable=2;let a={type:"Literal",value:n,bigint:String(n)};return e.options.raw&&(a.raw=r),e.finishNode(a,o)}function ej(e,t){e.assignable=2;let{tokenValue:r,tokenRaw:n,tokenStart:o}=e;R(e,t,0x4010009);let a=[eJ(e,r,n,o,!0)];return e.finishNode({type:"TemplateLiteral",expressions:[],quasis:a},o)}function eM(e,t,r){var n;let{tokenValue:o,tokenRaw:a,tokenStart:i}=e;R(e,-65&(t=(131072|t)^131072)|32,0x4010008);let s=[eJ(e,o,a,i,!1)],f=[eC(e,-65&t,r,0,1,e.tokenStart)];for(0x4010000f!==e.getToken()&&e.report(83);0x4010009!==e.setToken((n=t,e.index>=e.end&&e.report(0),e.index--,e.column--,S(e,n)),!0);){let{tokenValue:n,tokenRaw:o,tokenStart:a}=e;R(e,-65&t|32,0x4010008),s.push(eJ(e,n,o,a,!1)),f.push(eC(e,t,r,0,1,e.tokenStart)),0x4010000f!==e.getToken()&&e.report(83)}{let{tokenValue:r,tokenRaw:n,tokenStart:o}=e;R(e,t,0x4010009),s.push(eJ(e,r,n,o,!0))}return e.finishNode({type:"TemplateLiteral",expressions:f,quasis:s},i)}function eJ(e,t,r,n,o){let a=e.finishNode({type:"TemplateElement",value:{cooked:t,raw:r},tail:o},n),i=o?1:2;return e.options.ranges&&(a.start+=1,a.range[0]+=1,a.end-=i,a.range[1]-=i),e.options.loc&&(a.loc.start.column+=1,a.loc.end.column-=i),a}function eF(e,t,r,n){var o,a,i;let s,f;$(e,32|t);let l=[];if(16===e.getToken())return $(e,64|t),l;for(;16!==e.getToken()&&(14===e.getToken()?l.push((o=e,a=t,i=r,s=o.tokenStart,R(o,32|(a=(131072|a)^131072),14),f=eS(o,a,i,1,0,o.tokenStart),o.assignable=1,o.finishNode({type:"SpreadElement",argument:f},s))):l.push(eS(e,t,r,1,n,e.tokenStart)),18===e.getToken())&&($(e,32|t),16!==e.getToken()););return R(e,64|t,16),l}function eH(e,t){let{tokenValue:r,tokenStart:n}=e,o="await"===r&&(-0x80000000&e.getToken())==0;return $(e,t|32*!!o),e.finishNode({type:"Identifier",name:r},n)}function ez(e,t){let{tokenValue:r,tokenRaw:n,tokenStart:o}=e;return 0x801007c===e.getToken()?eG(e,t):($(e,t),e.assignable=2,e.finishNode(e.options.raw?{type:"Literal",value:r,raw:n}:{type:"Literal",value:r},o))}function eX(e,t,r,n,o,a,i,s,f){let l;$(e,32|t);let c=a?D(e,t,8391476):0,u=null,d=r?e.createScope():void 0;if(0x401000b===e.getToken())(1&i)==0&&e.report(39,"Function");else{let n=4&o&&((8&t)==0||(2&t)==0)?4:64|1024*!!s|1024*!!c;B(e,t,e.getToken()),r&&(4&n?r.addVarName(t,e.tokenValue,n):r.addBlockName(t,e.tokenValue,n,o),d=d?.createChildScope(128),i&&2&i&&e.declareUnboundVariable(e.tokenValue)),l=e.getToken(),143360&e.getToken()?u=eH(e,t):e.report(30,N[255&e.getToken()])}let p=e4(e,(8192|(t=(28416|t)^28416|65536|2048*!!s|1024*!!c|262144*!c))&-524289,d=d?.createChildScope(256),n,0,1),g=eA(e,(524428|t)^524428|36864,d?.createChildScope(64),n,8,l,d);return e.finishNode({type:"FunctionDeclaration",id:u,params:p,body:g,async:1===s,generator:1===c},f)}function e_(e,t,r,n,o,a){let i;$(e,32|t);let s=D(e,t,8391476),f=2048*!!n|1024*!!s,l=null,c=e.createScopeIfLexical();143360&e.getToken()&&(B(e,(552704|t)^552704|f,e.getToken()),c=c?.createChildScope(128),i=e.getToken(),l=eH(e,t));let u=e4(e,(8192|(t=(552704|t)^552704|65536|f|262144*!s))&-524289,c=c?.createChildScope(256),r,o,1),d=eA(e,-131229&t|36864,c?.createChildScope(64),r,0,i,c);return e.assignable=2,e.finishNode({type:"FunctionExpression",id:l,params:u,body:d,async:1===n,generator:1===s},a)}function e$(e,t,r,n,o,a,i,s,f){let{tokenStart:l}=e;$(e,32|t);let c=[],u=0;for(t=(131072|t)^131072;20!==e.getToken();)if(V(e,32|t,18))c.push(null);else{let o,{tokenStart:l,tokenValue:d}=e,p=e.getToken();if(143360&p)if(o=eR(e,t,n,s,0,1,a,1,l),0x4040001b===e.getToken()){2&e.assignable&&e.report(26),$(e,32|t),r?.addVarOrBlock(t,d,s,f);let c=eS(e,t,n,1,a,e.tokenStart);o=e.finishNode(i?{type:"AssignmentPattern",left:o,right:c}:{type:"AssignmentExpression",operator:"=",left:o,right:c},l),u|=256&e.destructible?256:128&e.destructible?128:0}else 18===e.getToken()||20===e.getToken()?(2&e.assignable?u|=16:r?.addVarOrBlock(t,d,s,f),u|=256&e.destructible?256:128&e.destructible?128:0):(u|=1&s?32:16*((2&s)==0),o=eD(e,t,n,o,a,0,l),18!==e.getToken()&&20!==e.getToken()?(0x4040001b!==e.getToken()&&(u|=16),o=eq(e,t,n,a,i,l,o)):0x4040001b!==e.getToken()&&(u|=2&e.assignable?16:32));else 2097152&p?(o=2162700===e.getToken()?eW(e,t,r,n,0,a,i,s,f):e$(e,t,r,n,0,a,i,s,f),u|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.getToken()||20===e.getToken()?2&e.assignable&&(u|=16):8&e.destructible?e.report(71):(o=eD(e,t,n,o,a,0,l),u=2&e.assignable?16:0,18!==e.getToken()&&20!==e.getToken()?o=eq(e,t,n,a,i,l,o):0x4040001b!==e.getToken()&&(u|=2&e.assignable?16:32))):14===p?(o=eZ(e,t,r,n,20,s,f,0,a,i),u|=e.destructible,18!==e.getToken()&&20!==e.getToken()&&e.report(30,N[255&e.getToken()])):(o=eI(e,t,n,1,0,1),18!==e.getToken()&&20!==e.getToken()?(o=eq(e,t,n,a,i,l,o),(3&s)==0&&0x401000b===p&&(u|=16)):2&e.assignable?u|=16:0x401000b===p&&(u|=1&e.assignable&&3&s?32:16));if(c.push(o),V(e,32|t,18)){if(20===e.getToken())break}else break}R(e,t,20);let d=e.finishNode({type:i?"ArrayPattern":"ArrayExpression",elements:c},l);return!o&&4194304&e.getToken()?eY(e,t,n,u,a,i,l,d):(e.destructible=u,d)}function eY(e,t,r,n,o,a,i,s){0x4040001b!==e.getToken()&&e.report(26),$(e,32|t),16&n&&e.report(26),a||P(e,s);let{tokenStart:f}=e,l=eS(e,t,r,1,o,f);return e.destructible=(64|n|8)^72|(128&e.destructible?128:0)|(256&e.destructible?256:0),e.finishNode(a?{type:"AssignmentPattern",left:s,right:l}:{type:"AssignmentExpression",left:s,operator:"=",right:l},i)}function eZ(e,t,r,n,o,a,i,s,f,l){let{tokenStart:c}=e;$(e,32|t);let u=null,d=0,{tokenValue:p,tokenStart:g}=e,x=e.getToken();if(143360&x)e.assignable=1,u=eR(e,t,n,a,0,1,f,1,g),x=e.getToken(),u=eD(e,t,n,u,f,0,g),18!==e.getToken()&&e.getToken()!==o&&(2&e.assignable&&0x4040001b===e.getToken()&&e.report(71),d|=16,u=eq(e,t,n,f,l,g,u)),2&e.assignable?d|=16:x===o||18===x?r?.addVarOrBlock(t,p,a,i):d|=32,d|=128&e.destructible?128:0;else if(x===o)e.report(41);else if(2097152&x)u=2162700===e.getToken()?eW(e,t,r,n,1,f,l,a,i):e$(e,t,r,n,1,f,l,a,i),0x4040001b!==(x=e.getToken())&&x!==o&&18!==x?(8&e.destructible&&e.report(71),u=eD(e,t,n,u,f,0,g),d|=2&e.assignable?16:0,(4194304&e.getToken())==4194304?(0x4040001b!==e.getToken()&&(d|=16),u=eq(e,t,n,f,l,g,u)):((8388608&e.getToken())==8388608&&(u=eL(e,t,n,1,g,4,x,u)),V(e,32|t,22)&&(u=eN(e,t,n,u,g)),d|=2&e.assignable?16:32)):d|=0x4010000f===o&&0x4040001b!==x?16:e.destructible;else{d|=32,u=eI(e,t,n,1,f,1);let{tokenStart:r}=e,a=e.getToken();return 0x4040001b===a?(2&e.assignable&&e.report(26),u=eq(e,t,n,f,l,r,u),d|=16):(18===a?d|=16:a!==o&&(u=eq(e,t,n,f,l,r,u)),d|=1&e.assignable?32:16),e.destructible=d,e.getToken()!==o&&18!==e.getToken()&&e.report(161),e.finishNode({type:l?"RestElement":"SpreadElement",argument:u},c)}if(e.getToken()!==o)if(1&a&&(d|=s?16:32),V(e,32|t,0x4040001b)){16&d&&e.report(26),P(e,u);let r=eS(e,t,n,1,f,e.tokenStart);u=e.finishNode(l?{type:"AssignmentPattern",left:u,right:r}:{type:"AssignmentExpression",left:u,operator:"=",right:r},g),d=16}else d|=16;return e.destructible=d,e.finishNode({type:l?"RestElement":"SpreadElement",argument:u},c)}function eK(e,t,r,n,o,a){let i=11264|16896*((64&n)==0);t=(t|i)^i|(8&n?1024:0)|(16&n?2048:0)|(64&n?16384:0)|98560;let s=e.createScopeIfLexical(256),f=function(e,t,r,n,o,a,i){R(e,t,0x401000b);let s=[];if(e.flags=(128|e.flags)^128,16===e.getToken())return 512&o&&e.report(37,"Setter","one",""),$(e,t),s;256&o&&e.report(37,"Getter","no","s"),512&o&&14===e.getToken()&&e.report(38),t=(131072|t)^131072;let f=0,l=0;for(;18!==e.getToken();){let a=null,{tokenStart:c}=e;if(143360&e.getToken()?((1&t)==0&&((36864&e.getToken())==36864&&(e.flags|=256),(0x20033000&e.getToken())==0x20033000&&(e.flags|=512)),a=tn(e,t,r,1|o,0)):(2162700===e.getToken()?a=eW(e,t,r,n,1,i,1,1,0):0x4210013===e.getToken()?a=e$(e,t,r,n,1,i,1,1,0):14===e.getToken()&&(a=eZ(e,t,r,n,16,1,0,0,i,1)),l=1,48&e.destructible&&e.report(50)),0x4040001b===e.getToken()){$(e,32|t),l=1;let r=eS(e,t,n,1,0,e.tokenStart);a=e.finishNode({type:"AssignmentPattern",left:a,right:r},c)}if(f++,s.push(a),!V(e,t,18)||16===e.getToken())break}return 512&o&&1!==f&&e.report(37,"Setter","one",""),r?.reportScopeError(),l&&(e.flags|=128),R(e,t,16),s}(e,(8192|t)&-524289,s,r,n,1,o),l=eA(e,-655373&t|36864,s=s?.createChildScope(64),r,0,void 0,s?.parent);return e.finishNode({type:"FunctionExpression",params:f,body:l,async:(16&n)>0,generator:(8&n)>0,id:null},a)}function eW(e,t,r,n,o,a,i,s,f){let{tokenStart:l}=e;$(e,t);let c=[],u=0,d=0;for(t=(131072|t)^131072;0x4010000f!==e.getToken();){let{tokenValue:o,tokenStart:l}=e,p=e.getToken();if(14===p)c.push(eZ(e,t,r,n,0x4010000f,s,f,0,a,i));else{let g,x=0,k=null;if(143360&e.getToken()||-0x7fffff88===e.getToken()||-0x7fffff87===e.getToken())if(-0x7fffff87===e.getToken()&&(u|=16),k=eH(e,t),18===e.getToken()||0x4010000f===e.getToken()||0x4040001b===e.getToken())if(x|=4,1&t&&(0x20033000&p)==0x20033000?u|=16:U(e,t,s,p,0),r?.addVarOrBlock(t,o,s,f),V(e,32|t,0x4040001b)){u|=8;let r=eS(e,t,n,1,a,e.tokenStart);u|=256&e.destructible?256:128&e.destructible?128:0,g=e.finishNode({type:"AssignmentPattern",left:e.options.uniqueKeyInPattern?Object.assign({},k):k,right:r},l)}else u|=128*(209006===p)|16*(-0x7fffff88===p),g=e.options.uniqueKeyInPattern?Object.assign({},k):k;else if(V(e,32|t,21)){let{tokenStart:l}=e;if("__proto__"===o&&d++,143360&e.getToken()){let o=e.getToken(),c=e.tokenValue;g=eR(e,t,n,s,0,1,a,1,l);let d=e.getToken();g=eD(e,t,n,g,a,0,l),18===e.getToken()||0x4010000f===e.getToken()?0x4040001b===d||0x4010000f===d||18===d?(u|=128&e.destructible?128:0,2&e.assignable?u|=16:(143360&o)==143360&&r?.addVarOrBlock(t,c,s,f)):u|=1&e.assignable?32:16:(4194304&e.getToken())==4194304?(2&e.assignable?u|=16:0x4040001b!==d?u|=32:r?.addVarOrBlock(t,c,s,f),g=eq(e,t,n,a,i,l,g)):(u|=16,(8388608&e.getToken())==8388608&&(g=eL(e,t,n,1,l,4,d,g)),V(e,32|t,22)&&(g=eN(e,t,n,g,l)))}else(2097152&e.getToken())==2097152?(g=0x4210013===e.getToken()?e$(e,t,r,n,0,a,i,s,f):eW(e,t,r,n,0,a,i,s,f),u=e.destructible,e.assignable=16&u?2:1,18===e.getToken()||0x4010000f===e.getToken()?2&e.assignable&&(u|=16):8&e.destructible?e.report(71):(g=eD(e,t,n,g,a,0,l),u=2&e.assignable?16:0,(4194304&e.getToken())==4194304?g=eE(e,t,n,a,i,l,g):((8388608&e.getToken())==8388608&&(g=eL(e,t,n,1,l,4,p,g)),V(e,32|t,22)&&(g=eN(e,t,n,g,l)),u|=2&e.assignable?16:32))):(g=eI(e,t,n,1,a,1),u|=1&e.assignable?32:16,18===e.getToken()||0x4010000f===e.getToken()?2&e.assignable&&(u|=16):(g=eD(e,t,n,g,a,0,l),u=2&e.assignable?16:0,18!==e.getToken()&&0x4010000f!==p&&(0x4040001b!==e.getToken()&&(u|=16),g=eq(e,t,n,a,i,l,g))))}else 0x4210013===e.getToken()?(u|=16,209005===p&&(x|=16),x|=(209008===p?256:209009===p?512:1)|2,k=eQ(e,t,n,a),u|=e.assignable,g=eK(e,t,n,x,a,e.tokenStart)):143360&e.getToken()?(u|=16,-0x7fffff88===p&&e.report(95),209005===p?(1&e.flags&&e.report(132),x|=17):209008===p?x|=256:209009===p?x|=512:e.report(0),k=eH(e,t),g=eK(e,t,n,x,a,e.tokenStart)):0x401000b===e.getToken()?(u|=16,x|=1,g=eK(e,t,n,x,a,e.tokenStart)):8391476===e.getToken()?(u|=16,209008===p?e.report(42):209009===p?e.report(43):209005!==p&&e.report(30,N[52]),$(e,t),x|=9|16*(209005===p),143360&e.getToken()?k=eH(e,t):(0x8000000&e.getToken())==0x8000000?k=ez(e,t):0x4210013===e.getToken()?(x|=2,k=eQ(e,t,n,a),u|=e.assignable):e.report(30,N[255&e.getToken()]),g=eK(e,t,n,x,a,e.tokenStart)):(0x8000000&e.getToken())==0x8000000?(209005===p&&(x|=16),x|=209008===p?256:209009===p?512:1,u|=16,k=ez(e,t),g=eK(e,t,n,x,a,e.tokenStart)):e.report(133);else if((0x8000000&e.getToken())==0x8000000)if(k=ez(e,t),21===e.getToken()){R(e,32|t,21);let{tokenStart:l}=e;if("__proto__"===o&&d++,143360&e.getToken()){g=eR(e,t,n,s,0,1,a,1,l);let{tokenValue:o}=e,c=e.getToken();g=eD(e,t,n,g,a,0,l),18===e.getToken()||0x4010000f===e.getToken()?0x4040001b===c||0x4010000f===c||18===c?2&e.assignable?u|=16:r?.addVarOrBlock(t,o,s,f):u|=1&e.assignable?32:16:(0x4040001b===e.getToken()?2&e.assignable&&(u|=16):u|=16,g=eq(e,t,n,a,i,l,g))}else(2097152&e.getToken())==2097152?(g=0x4210013===e.getToken()?e$(e,t,r,n,0,a,i,s,f):eW(e,t,r,n,0,a,i,s,f),u=e.destructible,e.assignable=16&u?2:1,18===e.getToken()||0x4010000f===e.getToken()?2&e.assignable&&(u|=16):(8&e.destructible)!=8&&(g=eD(e,t,n,g,a,0,l),u=2&e.assignable?16:0,(4194304&e.getToken())==4194304?g=eE(e,t,n,a,i,l,g):((8388608&e.getToken())==8388608&&(g=eL(e,t,n,1,l,4,p,g)),V(e,32|t,22)&&(g=eN(e,t,n,g,l)),u|=2&e.assignable?16:32))):(g=eI(e,t,n,1,0,1),u|=1&e.assignable?32:16,18===e.getToken()||0x4010000f===e.getToken()?2&e.assignable&&(u|=16):(g=eD(e,t,n,g,a,0,l),u=1&e.assignable?0:16,18!==e.getToken()&&0x4010000f!==e.getToken()&&(0x4040001b!==e.getToken()&&(u|=16),g=eq(e,t,n,a,i,l,g))))}else 0x401000b===e.getToken()?(x|=1,g=eK(e,t,n,x,a,e.tokenStart),u=16|e.assignable):e.report(134);else if(0x4210013===e.getToken())if(k=eQ(e,t,n,a),u|=256&e.destructible?256:0,x|=2,21===e.getToken()){$(e,32|t);let{tokenStart:o,tokenValue:l}=e,c=e.getToken();if(143360&e.getToken()){g=eR(e,t,n,s,0,1,a,1,o);let d=e.getToken();g=eD(e,t,n,g,a,0,o),(4194304&e.getToken())==4194304?(u|=2&e.assignable?16:32*(0x4040001b!==d),g=eE(e,t,n,a,i,o,g)):18===e.getToken()||0x4010000f===e.getToken()?0x4040001b===d||0x4010000f===d||18===d?2&e.assignable?u|=16:(143360&c)==143360&&r?.addVarOrBlock(t,l,s,f):u|=1&e.assignable?32:16:(u|=16,g=eq(e,t,n,a,i,o,g))}else(2097152&e.getToken())==2097152?(g=0x4210013===e.getToken()?e$(e,t,r,n,0,a,i,s,f):eW(e,t,r,n,0,a,i,s,f),u=e.destructible,e.assignable=16&u?2:1,18===e.getToken()||0x4010000f===e.getToken()?2&e.assignable&&(u|=16):8&u?e.report(62):(g=eD(e,t,n,g,a,0,o),u=2&e.assignable?16|u:0,(4194304&e.getToken())==4194304?(0x4040001b!==e.getToken()&&(u|=16),g=eE(e,t,n,a,i,o,g)):((8388608&e.getToken())==8388608&&(g=eL(e,t,n,1,o,4,p,g)),V(e,32|t,22)&&(g=eN(e,t,n,g,o)),u|=2&e.assignable?16:32))):(g=eI(e,t,n,1,0,1),u|=1&e.assignable?32:16,18===e.getToken()||0x4010000f===e.getToken()?2&e.assignable&&(u|=16):(g=eD(e,t,n,g,a,0,o),u=1&e.assignable?0:16,18!==e.getToken()&&0x4010000f!==e.getToken()&&(0x4040001b!==e.getToken()&&(u|=16),g=eq(e,t,n,a,i,o,g))))}else 0x401000b===e.getToken()?(x|=1,g=eK(e,t,n,x,a,e.tokenStart),u=16):e.report(44);else if(8391476===p)if(R(e,32|t,8391476),x|=8,143360&e.getToken()){let r=e.getToken();if(k=eH(e,t),x|=1,0x401000b===e.getToken())u|=16,g=eK(e,t,n,x,a,e.tokenStart);else throw new C(e.tokenStart,e.currentLocation,209005===r?46:209008===r||209009===e.getToken()?45:47,N[255&r])}else(0x8000000&e.getToken())==0x8000000?(u|=16,k=ez(e,t),x|=1,g=eK(e,t,n,x,a,e.tokenStart)):0x4210013===e.getToken()?(u|=16,x|=3,k=eQ(e,t,n,a),g=eK(e,t,n,x,a,e.tokenStart)):e.report(126);else e.report(30,N[255&p]);u|=128&e.destructible?128:0,e.destructible=u,c.push(e.finishNode({type:"Property",key:k,value:g,kind:768&x?512&x?"set":"get":"init",computed:(2&x)>0,method:(1&x)>0,shorthand:(4&x)>0},l))}if(u|=e.destructible,18!==e.getToken())break;$(e,t)}R(e,t,0x4010000f),d>1&&(u|=64);let p=e.finishNode({type:i?"ObjectPattern":"ObjectExpression",properties:c},l);return!o&&4194304&e.getToken()?eY(e,t,n,u,a,i,l,p):(e.destructible=u,p)}function eQ(e,t,r,n){$(e,32|t);let o=eS(e,(131072|t)^131072,r,1,n,e.tokenStart);return R(e,t,20),o}function e0(e,t,r){let{tokenStart:n}=e,{tokenValue:o}=e,a=0,i=0;(0x20033000&e.getToken())==0x20033000?a=1:(36864&e.getToken())==36864&&(i=1);let s=eH(e,t);if(e.assignable=1,10===e.getToken()){let f=e.options.lexical?et(e,t,o):void 0;return a&&(e.flags|=128),i&&(e.flags|=256),e3(e,t,f,r,[s],0,n)}return s}function e1(e,t,r,n,o,a,i,s,f){i||e.report(57),a&&e.report(51),e.flags&=-129;let l=e.options.lexical?et(e,t,n):void 0;return e3(e,t,l,r,[o],s,f)}function e2(e,t,r,n,o,a,i,s){a||e.report(57);for(let t=0;t0&&"constructor"===e.tokenValue&&e.report(109),0x4010000f===e.getToken()&&e.report(108),V(e,t,0x40100011)){i.length>0&&e.report(120);continue}u.push(function e(t,r,n,o,a,i,s,f,l,c){let u=32*!!f,d=null,p=t.getToken();if(176128&p||-0x7fffff88===p)switch(d=eH(t,r),p){case 36970:if(!f&&0x401000b!==t.getToken()&&(1048576&t.getToken())!=1048576&&0x4040001b!==t.getToken())return e(t,r,n,o,a,i,s,1,l,c);break;case 209005:if(0x401000b!==t.getToken()&&(1&t.flags)==0){if((0x40000000&t.getToken())==0x40000000)return tt(t,r,o,d,u,s,c);u|=16|8*!!D(t,r,8391476)}break;case 209008:if(0x401000b!==t.getToken()){if((0x40000000&t.getToken())==0x40000000)return tt(t,r,o,d,u,s,c);u|=256}break;case 209009:if(0x401000b!==t.getToken()){if((0x40000000&t.getToken())==0x40000000)return tt(t,r,o,d,u,s,c);u|=512}break;case 12402:if(0x401000b!==t.getToken()&&(1&t.flags)==0){if((0x40000000&t.getToken())==0x40000000)return tt(t,r,o,d,u,s,c);t.options.next&&(u|=1024)}}else if(0x4210013===p)u|=2,d=eQ(t,a,o,l);else if((0x8000000&p)==0x8000000)d=ez(t,r);else if(8391476===p)u|=8,$(t,r);else if(130===t.getToken())u|=8192,d=te(t,16|r,o,768);else if((0x40000000&t.getToken())==0x40000000)u|=128;else if(f&&2162700===p){var g,x;return g=16|r,x=n,es(t,g=(5764|g)^5764|592128,x=x?.createChildScope(),o,{},c,"StaticBlock")}else -0x7fffff87===p?(d=eH(t,r),0x401000b!==t.getToken()&&t.report(30,N[255&t.getToken()])):t.report(30,N[255&t.getToken()]);if(1816&u&&(143360&t.getToken()||-0x7fffff88===t.getToken()||-0x7fffff87===t.getToken()?d=eH(t,r):(0x8000000&t.getToken())==0x8000000?d=ez(t,r):0x4210013===t.getToken()?(u|=2,d=eQ(t,r,o,0)):130===t.getToken()?(u|=8192,d=te(t,r,o,u)):t.report(135)),(2&u)==0&&("constructor"===t.tokenValue?((0x40000000&t.getToken())==0x40000000?t.report(129):(32&u)==0&&0x401000b===t.getToken()&&(920&u?t.report(53,"accessor"):(512&r)==0&&(32&t.flags?t.report(54):t.flags|=32)),u|=64):(8192&u)==0&&32&u&&"prototype"===t.tokenValue&&t.report(52)),1024&u||0x401000b!==t.getToken()&&(768&u)==0)return tt(t,r,o,d,u,s,c);let k=eK(t,16|r,o,u,l,t.tokenStart);return t.finishNode({type:"MethodDefinition",kind:(32&u)==0&&64&u?"constructor":256&u?"get":512&u?"set":"method",static:(32&u)>0,computed:(2&u)>0,key:d,value:k,...t.options.next?{decorators:s}:null},c)}(e,t,n,l,r,a,i,0,s,i.length>0?o:e.tokenStart))}return R(e,8&i?32|t:t,0x4010000f),l?.validatePrivateIdentifierRefs(),e.flags=-33&e.flags|c,e.finishNode({type:"ClassBody",body:u},f)}function te(e,t,r,n){let{tokenStart:o}=e;$(e,t);let{tokenValue:a}=e;return"constructor"===a&&e.report(128),e.options.lexical&&(r||e.report(4,a),n?r.addPrivateIdentifier(a,n):r.addPrivateIdentifierRef(a)),$(e,t),e.finishNode({type:"PrivateIdentifier",name:a},o)}function tt(e,t,r,n,o,a,i){let s=null;if(8&o&&e.report(0),0x4040001b===e.getToken()){$(e,32|t);let{tokenStart:n}=e;0x20033077===e.getToken()&&e.report(119);let a=11264|16896*((64&o)==0);s=eR(e,16|(t=(t|a)^a|(8&o?1024:0)|(16&o?2048:0)|(64&o?16384:0)|65792),r,2,0,1,0,1,n),((0x40000000&e.getToken())!=0x40000000||(4194304&e.getToken())==4194304)&&(s=eD(e,16|t,r,s,0,0,n),s=eq(e,16|t,r,0,0,n,s))}return A(e,t),e.finishNode({type:1024&o?"AccessorProperty":"PropertyDefinition",key:n,value:s,static:(32&o)>0,computed:(2&o)>0,...e.options.next?{decorators:a}:null},i)}function tr(e,t,r,n,o,a){if(143360&e.getToken()||(1&t)==0&&-0x7fffff87===e.getToken())return tn(e,t,r,o,a);(2097152&e.getToken())!=2097152&&e.report(30,N[255&e.getToken()]);let i=0x4210013===e.getToken()?e$(e,t,r,n,1,0,1,o,a):eW(e,t,r,n,1,0,1,o,a);return 16&e.destructible&&e.report(50),32&e.destructible&&e.report(50),i}function tn(e,t,r,n,o){let a=e.getToken();1&t&&((0x20033000&a)==0x20033000?e.report(119):((36864&a)==36864||-0x7fffff87===a)&&e.report(118)),(20480&a)==20480&&e.report(102),241771===a&&(1024&t&&e.report(32),2&t&&e.report(111)),(255&a)==73&&24&n&&e.report(100),209006===a&&(2048&t&&e.report(176),2&t&&e.report(110));let{tokenValue:i,tokenStart:s}=e;return $(e,t),r?.addVarOrBlock(t,i,n,o),e.finishNode({type:"Identifier",name:i},s)}function to(e,t){let r=e.tokenStart;$(e,t);let n={type:"JSXText",value:e.tokenValue};return e.options.raw&&(n.raw=e.tokenRaw),e.finishNode(n,r)}function ta(e,t){let{tokenStart:r}=e;Q(e);let n=tf(e,t);if(21===e.getToken())return ti(e,t,n,r);for(;V(e,t,0x400000d);)Q(e),n=function(e,t,r,n){let o=tf(e,t);return e.finishNode({type:"JSXMemberExpression",object:r,property:o},n)}(e,t,n,r);return n}function ti(e,t,r,n){R(e,t,21);let o=tf(e,t);return e.finishNode({type:"JSXNamespacedName",namespace:r,name:o},n)}function ts(e,t,r,n,o){var a,i,s,f,l,c;let{tokenStart:u}=e;$(e,32|t);let{tokenStart:d}=e;if(14===e.getToken()){let n;return a=e,i=t,s=r,f=u,R(a,i,14),n=eS(a,i,s,1,0,a.tokenStart),R(a,i,0x4010000f),a.finishNode({type:"JSXSpreadChild",expression:n},f)}let p=null;return 0x4010000f===e.getToken()?(o&&e.report(157),l=e,c={index:e.startIndex,line:e.startLine,column:e.startColumn},p=l.finishNode({type:"JSXEmptyExpression"},c,l.tokenStart)):p=eS(e,t,r,1,0,d),0x4010000f!==e.getToken()&&e.report(25,N[15]),n?W(e):$(e,t),e.finishNode({type:"JSXExpressionContainer",expression:p},u)}function tf(e,t){let r=e.tokenStart;143360&e.getToken()||e.report(30,N[255&e.getToken()]);let{tokenValue:n}=e;return $(e,t),e.finishNode({type:"JSXIdentifier",name:n},r)}let tl="6.1.4";function tc(e,t){return eo(e,t)}function tu(e,t){return eo(e,t,3)}function td(e,t){return eo(e,t)}module.exports=a})(); \ No newline at end of file diff --git a/packages/node_modules/meriyah/index.js.map b/packages/node_modules/meriyah/index.js.map new file mode 100644 index 00000000000..e4ff428c017 --- /dev/null +++ b/packages/node_modules/meriyah/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"meriyah/index.js","sources":["webpack:///./meriyah/dist/meriyah.mjs","webpack:///webpack/runtime/define_property_getters","webpack:///webpack/runtime/has_own_property","webpack:///webpack/runtime/make_namespace_object"],"sourcesContent":["const unicodeLookup = ((compressed, lookup) => {\n const result = new Uint32Array(69632);\n let index = 0;\n let subIndex = 0;\n while (index < 2571) {\n const inst = compressed[index++];\n if (inst < 0) {\n subIndex -= inst;\n }\n else {\n let code = compressed[index++];\n if (inst & 2)\n code = lookup[code];\n if (inst & 1) {\n result.fill(code, subIndex, subIndex += compressed[index++]);\n }\n else {\n result[subIndex++] = code;\n }\n }\n }\n return result;\n})([-1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 63, 2, 64, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 65, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 66, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 18, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 60, 2, 7, 2, 6, 0, 4286611199, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 0, 65472, 2, 3, 0, 4093640191, 0, 660618719, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1616920031, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 71, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 72, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, 137, -1, 3, 0, 2, 2, 23, 2, 0, 2, 10, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 74, 2, 0, 2, 75, 2, 76, 2, 77, 2, 0, 2, 78, 2, 0, 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 79, 2, 5, 3, 0, 2, 2, 80, 0, 2151677951, 2, 29, 2, 9, 0, 909311, 3, 0, 2, 0, 814743551, 2, 49, 0, 67090432, 3, 0, 2, 2, 42, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 110, 2, 51, 2, 0, 2, 81, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 17, -1, 3, 0, 2, 2, 53, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 54, 0, 4294960127, 2, 10, 2, 6, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 82, 2, 10, 2, 0, 2, 83, 2, 84, 2, 85, 0, 12288, 2, 55, 0, 1048577, 2, 86, 2, 14, -1, 2, 14, 0, 131042, 2, 87, 2, 88, 2, 89, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 90, 2, 2, 0, -16, 2, 91, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, 206, -2, 3, 0, 692, 2, 73, -1, 2, 18, 2, 10, 3, 0, 8, 2, 93, 2, 133, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 94, 2, 95, 3, 0, 2, 2, 96, 2, 0, 2, 97, 2, 46, 2, 0, 0, 4351, 2, 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, 2, 9, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 101, 2, 102, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 103, 2, 104, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 3774349439, 2, 105, 2, 106, 3, 0, 2, 2, 19, 2, 107, 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 47, 2, 0, 2, 31, 2, 108, 2, 25, 0, 1638399, 0, 57344, 2, 109, 3, 0, 3, 2, 20, 2, 26, 2, 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 111, -1, 2, 112, 2, 113, 2, 114, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 0, 536870912, -4, 2, 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 67, 2, 6, 2, 12, 2, 10, 2, 0, 2, 115, -1, 3, 0, 4, 2, 10, 2, 23, 2, 116, 2, 7, 2, 0, 2, 117, 2, 0, 2, 118, 2, 119, 2, 120, 2, 0, 2, 9, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 121, 2, 122, -2, 2, 123, 2, 124, 2, 30, 2, 21, 2, 8, -2, 2, 125, 2, 30, 2, 32, -2, 2, 0, 2, 39, -2, 0, 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 38, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 48, 2, 0, 0, 4294950463, 2, 37, -7, 2, 0, 0, 203775, 2, 57, 0, 4026531840, 2, 20, 2, 43, 2, 36, 2, 18, 2, 37, 2, 18, 2, 126, 2, 21, 3, 0, 2, 2, 38, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 144, 2, 0, 2, 58, 2, 56, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 128, 2, 39, 0, 3, -1, 2, 129, 2, 130, 2, 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, 2039759, 2, 132, 2, 41, 0, 1046437, 0, 6, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 42, 2, 23, 2, 50, 2, 11, 2, 61, 2, 38, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 134, 0, 4190109695, 2, 52, -2, 2, 135, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 43, 2, 0, 2, 68, 2, 18, 2, 0, 2, 42, -6, 2, 0, 2, 45, 2, 59, 2, 44, 2, 45, 2, 46, 2, 47, 0, 8388351, -2, 2, 136, 0, 3028287487, 2, 48, 2, 138, 0, 33259519, 2, 49, -9, 2, 21, 0, 4294836223, 0, 3355443199, 0, 134152199, -2, 2, 69, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 50, -81, 2, 18, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 0, 2, 32, -54, 3, 0, 17, 2, 42, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, 2, 51, 2, 0, 2, 21, 2, 52, 2, 139, 2, 25, -13, 2, 0, 2, 53, -6, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 54, 3, 0, 38, 2, 30, 2, 55, 2, 34, -278, 2, 140, 3, 0, 9, 2, 141, 2, 142, 2, 56, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 143, 0, 1677656575, -130, 2, 26, -16, 2, 0, 2, 24, 2, 38, -16, 0, 4161266656, 0, 4071, 0, 15360, -4, 2, 57, -13, 3, 0, 2, 2, 58, 2, 0, 2, 145, 2, 146, 2, 62, 2, 0, 2, 147, 2, 148, 2, 149, 3, 0, 10, 2, 150, 2, 151, 2, 22, 3, 58, 2, 3, 152, 2, 3, 59, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 92, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -34, 2, 8, 2, 154, -6, 0, 4194303871, 0, 4294903771, 2, 0, 2, 60, 2, 100, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 18, 2, 17, 2, 0, 2, 32, -14, 2, 18, 2, 32, -6, 2, 18, 2, 12, -15, 2, 155, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 61, -37, 2, 62, 2, 156, 2, 157, 2, 158, 2, 159, 2, 160, -105, 2, 26, -32, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, 180, 2, 161, 3, 0, 233, 2, 162, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -22250, 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 63, 2, 64, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 65, 2, 0, 2, 34, -1, 2, 18, 2, 66, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 25, 2, 67, 3, 0, 2, 0, 131135, 2, 98, 0, 70256639, 0, 71303167, 0, 272, 2, 42, 2, 6, 0, 32511, 2, 0, 2, 49, -1, 2, 99, 2, 68, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 70, 2, 69, 0, 33554435, 2, 131, 2, 70, 0, 2952790016, 0, 131075, 0, 3594373096, 0, 67094296, 2, 69, -1, 0, 4294828000, 0, 603979263, 0, 654311424, 0, 3, 0, 4294828001, 0, 602930687, 0, 1610612736, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 71, 2, 38, -1, 2, 4, 0, 917503, 2, 38, -1, 2, 72, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 73, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 74, 2, 0, 2, 75, 2, 76, 2, 77, 2, 0, 2, 78, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 79, 2, 5, 3, 0, 2, 2, 80, 0, 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, -2, 3, 0, 2, 2, 42, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, -1, 2, 18, 2, 51, 2, 0, 2, 81, 2, 49, -1, 2, 21, 2, 0, 2, 29, -2, 0, 128, -2, 2, 28, 2, 9, 0, 8160, -1, 2, 127, 0, 4227907585, 2, 0, 2, 37, 2, 0, 2, 50, 0, 4227915776, 2, 10, 2, 6, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 82, 2, 10, 2, 0, 2, 83, 2, 84, 2, 85, -3, 2, 86, 2, 14, -3, 2, 87, 2, 88, 2, 89, 2, 0, 2, 34, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 90, 2, -17, 2, 91, 0, 524157950, 2, 4, 2, 0, 2, 92, 2, 4, 2, 0, 2, 22, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, 206, -2, 3, 0, 692, 2, 73, -1, 2, 18, 2, 10, 3, 0, 8, 2, 93, 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 25, 2, 94, 2, 95, 3, 0, 2, 2, 96, 2, 0, 2, 97, 2, 46, 0, 4294965179, 0, 7, 2, 0, 2, 9, 2, 95, 2, 9, -1, 0, 1761345536, 2, 98, 0, 4294901823, 2, 38, 2, 20, 2, 99, 2, 35, 2, 100, 0, 2080440287, 2, 0, 2, 34, 2, 153, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 101, 2, 102, 2, 22, 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 103, 2, 104, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 105, 2, 106, 3, 0, 2, 2, 19, 2, 107, 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 47, 2, 0, 2, 31, 2, 108, -3, 2, 109, 3, 0, 3, 2, 20, -1, 3, 5, 2, 2, 110, 2, 0, 2, 8, 2, 111, -1, 2, 112, 2, 113, 2, 114, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, 0, 2, 36, -1, 2, 0, 2, 67, 2, 6, 2, 30, 2, 10, 2, 0, 2, 115, -1, 3, 0, 4, 2, 10, 2, 18, 2, 116, 2, 7, 2, 0, 2, 117, 2, 0, 2, 118, 2, 119, 2, 120, 2, 0, 2, 9, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 121, 2, 122, -2, 2, 123, 2, 124, 2, 30, 2, 21, 2, 8, -2, 2, 125, 2, 30, 2, 32, -2, 2, 0, 2, 39, -2, 0, 4277075969, 2, 30, -1, 3, 20, 2, -1, 2, 33, 2, 126, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 50, 2, 98, 0, 4294934591, 2, 37, -7, 2, 0, 0, 197631, 2, 57, -1, 2, 20, 2, 43, 2, 37, 2, 18, 0, 3, 2, 18, 2, 126, 2, 21, 2, 127, 2, 54, -1, 0, 2490368, 2, 127, 2, 25, 2, 18, 2, 34, 2, 127, 2, 38, 0, 4294901904, 0, 4718591, 2, 127, 2, 35, 0, 335544350, -1, 2, 128, 0, 2147487743, 0, 1, -1, 2, 129, 2, 130, 2, 8, -1, 2, 131, 2, 70, 0, 3758161920, 0, 3, 2, 132, 0, 12582911, 0, 655360, -1, 2, 0, 2, 29, 0, 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 17, 0, 251658240, -1, 2, 0, 2, 25, 0, 16, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 38, -5, 2, 0, 2, 133, -3, 3, 0, 2, 2, 55, 2, 134, 0, 2147549183, 0, 2, -2, 2, 135, 2, 36, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 18, 2, 0, 2, 42, -6, 2, 0, 0, 1, 2, 59, 2, 17, 0, 1, 2, 46, 2, 25, -3, 2, 136, 2, 36, 2, 137, 2, 138, 0, 16778239, -10, 2, 35, 0, 4294836212, 2, 9, -3, 2, 69, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 50, -81, 2, 18, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 0, 126, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 10, -55, 3, 0, 17, 2, 42, 2, 8, 2, 18, 2, 0, 2, 8, 2, 18, 2, 60, 2, 0, 2, 25, 2, 50, 2, 139, 2, 25, -13, 2, 0, 2, 73, -6, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 107, -2, 0, 11, 3, 0, 191, 2, 54, 3, 0, 38, 2, 30, 2, 55, 2, 34, -278, 2, 140, 3, 0, 9, 2, 141, 2, 142, 2, 56, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 143, 2, 144, -187, 3, 0, 2, 2, 58, 2, 0, 2, 145, 2, 146, 2, 62, 2, 0, 2, 147, 2, 148, 2, 149, 3, 0, 10, 2, 150, 2, 151, 2, 22, 3, 58, 2, 3, 152, 2, 3, 59, 2, 2, 153, -57, 2, 8, 2, 154, -7, 2, 18, 2, 0, 2, 60, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 18, 2, 60, 2, 0, 2, 133, -14, 2, 18, 2, 133, -6, 2, 18, 0, 81919, -15, 2, 155, 3, 0, 6, 2, 126, -1, 3, 0, 2, 0, 2063, -37, 2, 62, 2, 156, 2, 157, 2, 158, 2, 159, 2, 160, -138, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, 180, 2, 161, 3, 0, 233, 2, 162, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -28386], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4294901759, 32767, 4294901760, 262143, 536870911, 8388607, 4160749567, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 63, 127, 3238002687, 4294549487, 4290772991, 33554431, 4294901888, 4286578687, 67043329, 4294705152, 4294770687, 67043583, 1023, 15, 2047999, 67043343, 67051519, 16777215, 2147483648, 4294902000, 28, 4292870143, 4294966783, 16383, 67047423, 4294967279, 262083, 20511, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 535511039, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 134086655, 4294966591, 2445279231, 3670015, 31, 4294967288, 4294705151, 3221208447, 4294902271, 4294549472, 4294921215, 4095, 4285526655, 4294966527, 4294966143, 64, 4294966719, 3774873592, 1877934080, 262151, 2555904, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 4294901761]);\nconst isIDContinue = (code) => (unicodeLookup[(code >>> 5) + 0] >>> code & 31 & 1) !== 0;\nconst isIDStart = (code) => (unicodeLookup[(code >>> 5) + 34816] >>> code & 31 & 1) !== 0;\n\nfunction advanceChar(parser) {\n parser.column++;\n return (parser.currentChar = parser.source.charCodeAt(++parser.index));\n}\nfunction consumePossibleSurrogatePair(parser) {\n const hi = parser.currentChar;\n if ((hi & 0xfc00) !== 55296)\n return 0;\n const lo = parser.source.charCodeAt(parser.index + 1);\n if ((lo & 0xfc00) !== 56320)\n return 0;\n return 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff);\n}\nfunction consumeLineFeed(parser, state) {\n parser.currentChar = parser.source.charCodeAt(++parser.index);\n parser.flags |= 1;\n if ((state & 4) === 0) {\n parser.column = 0;\n parser.line++;\n }\n}\nfunction scanNewLine(parser) {\n parser.flags |= 1;\n parser.currentChar = parser.source.charCodeAt(++parser.index);\n parser.column = 0;\n parser.line++;\n}\nfunction isExoticECMAScriptWhitespace(ch) {\n return (ch === 160 ||\n ch === 65279 ||\n ch === 133 ||\n ch === 5760 ||\n (ch >= 8192 && ch <= 8203) ||\n ch === 8239 ||\n ch === 8287 ||\n ch === 12288 ||\n ch === 8201 ||\n ch === 65519);\n}\nfunction toHex(code) {\n return code < 65 ? code - 48 : (code - 65 + 10) & 0xf;\n}\nfunction convertTokenType(t) {\n switch (t) {\n case 134283266:\n return 'NumericLiteral';\n case 134283267:\n return 'StringLiteral';\n case 86021:\n case 86022:\n return 'BooleanLiteral';\n case 86023:\n return 'NullLiteral';\n case 65540:\n return 'RegularExpression';\n case 67174408:\n case 67174409:\n case 131:\n return 'TemplateLiteral';\n default:\n if ((t & 143360) === 143360)\n return 'Identifier';\n if ((t & 4096) === 4096)\n return 'Keyword';\n return 'Punctuator';\n }\n}\n\nconst CharTypes = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 8 | 1024,\n 0,\n 0,\n 8 | 2048,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 8192,\n 0,\n 1 | 2,\n 0,\n 0,\n 8192,\n 0,\n 0,\n 0,\n 256,\n 0,\n 256 | 32768,\n 0,\n 0,\n 2 | 16 | 128 | 32 | 64,\n 2 | 16 | 128 | 32 | 64,\n 2 | 16 | 32 | 64,\n 2 | 16 | 32 | 64,\n 2 | 16 | 32 | 64,\n 2 | 16 | 32 | 64,\n 2 | 16 | 32 | 64,\n 2 | 16 | 32 | 64,\n 2 | 16 | 512 | 64,\n 2 | 16 | 512 | 64,\n 0,\n 0,\n 16384,\n 0,\n 0,\n 0,\n 0,\n 1 | 2 | 64,\n 1 | 2 | 64,\n 1 | 2 | 64,\n 1 | 2 | 64,\n 1 | 2 | 64,\n 1 | 2 | 64,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 1 | 2,\n 0,\n 1,\n 0,\n 0,\n 1 | 2 | 4096,\n 0,\n 1 | 2 | 4 | 64,\n 1 | 2 | 4 | 64,\n 1 | 2 | 4 | 64,\n 1 | 2 | 4 | 64,\n 1 | 2 | 4 | 64,\n 1 | 2 | 4 | 64,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 1 | 2 | 4,\n 16384,\n 0,\n 0,\n 0,\n 0\n];\nconst isIdStart = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n];\nconst isIdPart = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n];\nfunction isIdentifierStart(code) {\n return code <= 0x7F\n ? isIdStart[code] > 0\n : isIDStart(code);\n}\nfunction isIdentifierPart(code) {\n return code <= 0x7F\n ? isIdPart[code] > 0\n : isIDContinue(code) || (code === 8204 || code === 8205);\n}\n\nconst CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment'];\nfunction skipHashBang(parser) {\n const { source } = parser;\n if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) {\n advanceChar(parser);\n advanceChar(parser);\n skipSingleLineComment(parser, source, 0, 4, parser.tokenStart);\n }\n}\nfunction skipSingleHTMLComment(parser, source, state, context, type, start) {\n if (context & 2)\n parser.report(0);\n return skipSingleLineComment(parser, source, state, type, start);\n}\nfunction skipSingleLineComment(parser, source, state, type, start) {\n const { index } = parser;\n parser.tokenIndex = parser.index;\n parser.tokenLine = parser.line;\n parser.tokenColumn = parser.column;\n while (parser.index < parser.end) {\n if (CharTypes[parser.currentChar] & 8) {\n const isCR = parser.currentChar === 13;\n scanNewLine(parser);\n if (isCR && parser.index < parser.end && parser.currentChar === 10)\n parser.currentChar = source.charCodeAt(++parser.index);\n break;\n }\n else if ((parser.currentChar ^ 8232) <= 1) {\n scanNewLine(parser);\n break;\n }\n advanceChar(parser);\n parser.tokenIndex = parser.index;\n parser.tokenLine = parser.line;\n parser.tokenColumn = parser.column;\n }\n if (parser.options.onComment) {\n const loc = {\n start: {\n line: start.line,\n column: start.column,\n },\n end: {\n line: parser.tokenLine,\n column: parser.tokenColumn,\n },\n };\n parser.options.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenIndex), start.index, parser.tokenIndex, loc);\n }\n return state | 1;\n}\nfunction skipMultiLineComment(parser, source, state) {\n const { index } = parser;\n while (parser.index < parser.end) {\n if (parser.currentChar < 0x2b) {\n let skippedOneAsterisk = false;\n while (parser.currentChar === 42) {\n if (!skippedOneAsterisk) {\n state &= -5;\n skippedOneAsterisk = true;\n }\n if (advanceChar(parser) === 47) {\n advanceChar(parser);\n if (parser.options.onComment) {\n const loc = {\n start: {\n line: parser.tokenLine,\n column: parser.tokenColumn,\n },\n end: {\n line: parser.line,\n column: parser.column,\n },\n };\n parser.options.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc);\n }\n parser.tokenIndex = parser.index;\n parser.tokenLine = parser.line;\n parser.tokenColumn = parser.column;\n return state;\n }\n }\n if (skippedOneAsterisk) {\n continue;\n }\n if (CharTypes[parser.currentChar] & 8) {\n if (parser.currentChar === 13) {\n state |= 1 | 4;\n scanNewLine(parser);\n }\n else {\n consumeLineFeed(parser, state);\n state = (state & -5) | 1;\n }\n }\n else {\n advanceChar(parser);\n }\n }\n else if ((parser.currentChar ^ 8232) <= 1) {\n state = (state & -5) | 1;\n scanNewLine(parser);\n }\n else {\n state &= -5;\n advanceChar(parser);\n }\n }\n parser.report(18);\n}\n\nvar RegexState;\n(function (RegexState) {\n RegexState[RegexState[\"Empty\"] = 0] = \"Empty\";\n RegexState[RegexState[\"Escape\"] = 1] = \"Escape\";\n RegexState[RegexState[\"Class\"] = 2] = \"Class\";\n})(RegexState || (RegexState = {}));\nvar RegexFlags;\n(function (RegexFlags) {\n RegexFlags[RegexFlags[\"Empty\"] = 0] = \"Empty\";\n RegexFlags[RegexFlags[\"IgnoreCase\"] = 1] = \"IgnoreCase\";\n RegexFlags[RegexFlags[\"Global\"] = 2] = \"Global\";\n RegexFlags[RegexFlags[\"Multiline\"] = 4] = \"Multiline\";\n RegexFlags[RegexFlags[\"Unicode\"] = 16] = \"Unicode\";\n RegexFlags[RegexFlags[\"Sticky\"] = 8] = \"Sticky\";\n RegexFlags[RegexFlags[\"DotAll\"] = 32] = \"DotAll\";\n RegexFlags[RegexFlags[\"Indices\"] = 64] = \"Indices\";\n RegexFlags[RegexFlags[\"UnicodeSets\"] = 128] = \"UnicodeSets\";\n})(RegexFlags || (RegexFlags = {}));\nfunction scanRegularExpression(parser) {\n const bodyStart = parser.index;\n let preparseState = RegexState.Empty;\n loop: while (true) {\n const ch = parser.currentChar;\n advanceChar(parser);\n if (preparseState & RegexState.Escape) {\n preparseState &= ~RegexState.Escape;\n }\n else {\n switch (ch) {\n case 47:\n if (!preparseState)\n break loop;\n else\n break;\n case 92:\n preparseState |= RegexState.Escape;\n break;\n case 91:\n preparseState |= RegexState.Class;\n break;\n case 93:\n preparseState &= RegexState.Escape;\n break;\n }\n }\n if (ch === 13 ||\n ch === 10 ||\n ch === 8232 ||\n ch === 8233) {\n parser.report(34);\n }\n if (parser.index >= parser.source.length) {\n return parser.report(34);\n }\n }\n const bodyEnd = parser.index - 1;\n let mask = RegexFlags.Empty;\n let char = parser.currentChar;\n const { index: flagStart } = parser;\n while (isIdentifierPart(char)) {\n switch (char) {\n case 103:\n if (mask & RegexFlags.Global)\n parser.report(36, 'g');\n mask |= RegexFlags.Global;\n break;\n case 105:\n if (mask & RegexFlags.IgnoreCase)\n parser.report(36, 'i');\n mask |= RegexFlags.IgnoreCase;\n break;\n case 109:\n if (mask & RegexFlags.Multiline)\n parser.report(36, 'm');\n mask |= RegexFlags.Multiline;\n break;\n case 117:\n if (mask & RegexFlags.Unicode)\n parser.report(36, 'u');\n if (mask & RegexFlags.UnicodeSets)\n parser.report(36, 'vu');\n mask |= RegexFlags.Unicode;\n break;\n case 118:\n if (mask & RegexFlags.Unicode)\n parser.report(36, 'uv');\n if (mask & RegexFlags.UnicodeSets)\n parser.report(36, 'v');\n mask |= RegexFlags.UnicodeSets;\n break;\n case 121:\n if (mask & RegexFlags.Sticky)\n parser.report(36, 'y');\n mask |= RegexFlags.Sticky;\n break;\n case 115:\n if (mask & RegexFlags.DotAll)\n parser.report(36, 's');\n mask |= RegexFlags.DotAll;\n break;\n case 100:\n if (mask & RegexFlags.Indices)\n parser.report(36, 'd');\n mask |= RegexFlags.Indices;\n break;\n default:\n parser.report(35);\n }\n char = advanceChar(parser);\n }\n const flags = parser.source.slice(flagStart, parser.index);\n const pattern = parser.source.slice(bodyStart, bodyEnd);\n parser.tokenRegExp = { pattern, flags };\n if (parser.options.raw)\n parser.tokenRaw = parser.source.slice(parser.tokenIndex, parser.index);\n parser.tokenValue = validate(parser, pattern, flags);\n return 65540;\n}\nfunction validate(parser, pattern, flags) {\n try {\n return new RegExp(pattern, flags);\n }\n catch {\n try {\n new RegExp(pattern, flags);\n return null;\n }\n catch {\n parser.report(34);\n }\n }\n}\n\nfunction scanString(parser, context, quote) {\n const { index: start } = parser;\n let ret = '';\n let char = advanceChar(parser);\n let marker = parser.index;\n while ((CharTypes[char] & 8) === 0) {\n if (char === quote) {\n ret += parser.source.slice(marker, parser.index);\n advanceChar(parser);\n if (parser.options.raw)\n parser.tokenRaw = parser.source.slice(start, parser.index);\n parser.tokenValue = ret;\n return 134283267;\n }\n if ((char & 8) === 8 && char === 92) {\n ret += parser.source.slice(marker, parser.index);\n char = advanceChar(parser);\n if (char < 0x7f || char === 8232 || char === 8233) {\n const code = parseEscape(parser, context, char);\n if (code >= 0)\n ret += String.fromCodePoint(code);\n else\n handleStringError(parser, code, 0);\n }\n else {\n ret += String.fromCodePoint(char);\n }\n marker = parser.index + 1;\n }\n else if (char === 8232 || char === 8233) {\n parser.column = -1;\n parser.line++;\n }\n if (parser.index >= parser.end)\n parser.report(16);\n char = advanceChar(parser);\n }\n parser.report(16);\n}\nfunction parseEscape(parser, context, first, isTemplate = 0) {\n switch (first) {\n case 98:\n return 8;\n case 102:\n return 12;\n case 114:\n return 13;\n case 110:\n return 10;\n case 116:\n return 9;\n case 118:\n return 11;\n case 13: {\n if (parser.index < parser.end) {\n const nextChar = parser.source.charCodeAt(parser.index + 1);\n if (nextChar === 10) {\n parser.index = parser.index + 1;\n parser.currentChar = nextChar;\n }\n }\n }\n case 10:\n case 8232:\n case 8233:\n parser.column = -1;\n parser.line++;\n return -1;\n case 48:\n case 49:\n case 50:\n case 51: {\n let code = first - 48;\n let index = parser.index + 1;\n let column = parser.column + 1;\n if (index < parser.end) {\n const next = parser.source.charCodeAt(index);\n if ((CharTypes[next] & 32) === 0) {\n if (code !== 0 || CharTypes[next] & 512) {\n if (context & 1 || isTemplate)\n return -2;\n parser.flags |= 64;\n }\n }\n else if (context & 1 || isTemplate) {\n return -2;\n }\n else {\n parser.currentChar = next;\n code = (code << 3) | (next - 48);\n index++;\n column++;\n if (index < parser.end) {\n const next = parser.source.charCodeAt(index);\n if (CharTypes[next] & 32) {\n parser.currentChar = next;\n code = (code << 3) | (next - 48);\n index++;\n column++;\n }\n }\n parser.flags |= 64;\n }\n parser.index = index - 1;\n parser.column = column - 1;\n }\n return code;\n }\n case 52:\n case 53:\n case 54:\n case 55: {\n if (isTemplate || context & 1)\n return -2;\n let code = first - 48;\n const index = parser.index + 1;\n const column = parser.column + 1;\n if (index < parser.end) {\n const next = parser.source.charCodeAt(index);\n if (CharTypes[next] & 32) {\n code = (code << 3) | (next - 48);\n parser.currentChar = next;\n parser.index = index;\n parser.column = column;\n }\n }\n parser.flags |= 64;\n return code;\n }\n case 120: {\n const ch1 = advanceChar(parser);\n if ((CharTypes[ch1] & 64) === 0)\n return -4;\n const hi = toHex(ch1);\n const ch2 = advanceChar(parser);\n if ((CharTypes[ch2] & 64) === 0)\n return -4;\n const lo = toHex(ch2);\n return (hi << 4) | lo;\n }\n case 117: {\n const ch = advanceChar(parser);\n if (parser.currentChar === 123) {\n let code = 0;\n while ((CharTypes[advanceChar(parser)] & 64) !== 0) {\n code = (code << 4) | toHex(parser.currentChar);\n if (code > 1114111)\n return -5;\n }\n if (parser.currentChar < 1 || parser.currentChar !== 125) {\n return -4;\n }\n return code;\n }\n else {\n if ((CharTypes[ch] & 64) === 0)\n return -4;\n const ch2 = parser.source.charCodeAt(parser.index + 1);\n if ((CharTypes[ch2] & 64) === 0)\n return -4;\n const ch3 = parser.source.charCodeAt(parser.index + 2);\n if ((CharTypes[ch3] & 64) === 0)\n return -4;\n const ch4 = parser.source.charCodeAt(parser.index + 3);\n if ((CharTypes[ch4] & 64) === 0)\n return -4;\n parser.index += 3;\n parser.column += 3;\n parser.currentChar = parser.source.charCodeAt(parser.index);\n return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4);\n }\n }\n case 56:\n case 57:\n if (isTemplate || !parser.options.webcompat || context & 1)\n return -3;\n parser.flags |= 4096;\n default:\n return first;\n }\n}\nfunction handleStringError(parser, code, isTemplate) {\n switch (code) {\n case -1:\n return;\n case -2:\n parser.report(isTemplate ? 2 : 1);\n case -3:\n parser.report(isTemplate ? 3 : 14);\n case -4:\n parser.report(7);\n case -5:\n parser.report(104);\n }\n}\n\nfunction scanTemplate(parser, context) {\n const { index: start } = parser;\n let token = 67174409;\n let ret = '';\n let char = advanceChar(parser);\n while (char !== 96) {\n if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) {\n advanceChar(parser);\n token = 67174408;\n break;\n }\n else if (char === 92) {\n char = advanceChar(parser);\n if (char > 0x7e) {\n ret += String.fromCodePoint(char);\n }\n else {\n const { index, line, column } = parser;\n const code = parseEscape(parser, context | 1, char, 1);\n if (code >= 0) {\n ret += String.fromCodePoint(code);\n }\n else if (code !== -1 && context & 64) {\n parser.index = index;\n parser.line = line;\n parser.column = column;\n ret = null;\n char = scanBadTemplate(parser, char);\n if (char < 0)\n token = 67174408;\n break;\n }\n else {\n handleStringError(parser, code, 1);\n }\n }\n }\n else if (parser.index < parser.end) {\n if (char === 13 && parser.source.charCodeAt(parser.index) === 10) {\n ret += String.fromCodePoint(char);\n parser.currentChar = parser.source.charCodeAt(++parser.index);\n }\n if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) {\n parser.column = -1;\n parser.line++;\n }\n ret += String.fromCodePoint(char);\n }\n if (parser.index >= parser.end)\n parser.report(17);\n char = advanceChar(parser);\n }\n advanceChar(parser);\n parser.tokenValue = ret;\n parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2));\n return token;\n}\nfunction scanBadTemplate(parser, ch) {\n while (ch !== 96) {\n switch (ch) {\n case 36: {\n const index = parser.index + 1;\n if (index < parser.end && parser.source.charCodeAt(index) === 123) {\n parser.index = index;\n parser.column++;\n return -ch;\n }\n break;\n }\n case 10:\n case 8232:\n case 8233:\n parser.column = -1;\n parser.line++;\n }\n if (parser.index >= parser.end)\n parser.report(17);\n ch = advanceChar(parser);\n }\n return ch;\n}\nfunction scanTemplateTail(parser, context) {\n if (parser.index >= parser.end)\n parser.report(0);\n parser.index--;\n parser.column--;\n return scanTemplate(parser, context);\n}\n\nconst errorMessages = {\n [0]: 'Unexpected token',\n [30]: \"Unexpected token: '%0'\",\n [1]: 'Octal escape sequences are not allowed in strict mode',\n [2]: 'Octal escape sequences are not allowed in template strings',\n [3]: '\\\\8 and \\\\9 are not allowed in template strings',\n [4]: 'Private identifier #%0 is not defined',\n [5]: 'Illegal Unicode escape sequence',\n [6]: 'Invalid code point %0',\n [7]: 'Invalid hexadecimal escape sequence',\n [9]: 'Octal literals are not allowed in strict mode',\n [8]: 'Decimal integer literals with a leading zero are forbidden in strict mode',\n [10]: 'Expected number in radix %0',\n [151]: 'Invalid left-hand side assignment to a destructible right-hand side',\n [11]: 'Non-number found after exponent indicator',\n [12]: 'Invalid BigIntLiteral',\n [13]: 'No identifiers allowed directly after numeric literal',\n [14]: 'Escapes \\\\8 or \\\\9 are not syntactically valid escapes',\n [15]: 'Escapes \\\\8 or \\\\9 are not allowed in strict mode',\n [16]: 'Unterminated string literal',\n [17]: 'Unterminated template literal',\n [18]: 'Multiline comment was not closed properly',\n [19]: 'The identifier contained dynamic unicode escape that was not closed',\n [20]: \"Illegal character '%0'\",\n [21]: 'Missing hexadecimal digits',\n [22]: 'Invalid implicit octal',\n [23]: 'Invalid line break in string literal',\n [24]: 'Only unicode escapes are legal in identifier names',\n [25]: \"Expected '%0'\",\n [26]: 'Invalid left-hand side in assignment',\n [27]: 'Invalid left-hand side in async arrow',\n [28]: 'Calls to super must be in the \"constructor\" method of a class expression or class declaration that has a superclass',\n [29]: 'Member access on super must be in a method',\n [31]: 'Await expression not allowed in formal parameter',\n [32]: 'Yield expression not allowed in formal parameter',\n [95]: \"Unexpected token: 'escaped keyword'\",\n [33]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses',\n [123]: 'Async functions can only be declared at the top level or inside a block',\n [34]: 'Unterminated regular expression',\n [35]: 'Unexpected regular expression flag',\n [36]: \"Duplicate regular expression flag '%0'\",\n [37]: '%0 functions must have exactly %1 argument%2',\n [38]: 'Setter function argument must not be a rest parameter',\n [39]: '%0 declaration must have a name in this context',\n [40]: 'Function name may not contain any reserved words or be eval or arguments in strict mode',\n [41]: 'The rest operator is missing an argument',\n [42]: 'A getter cannot be a generator',\n [43]: 'A setter cannot be a generator',\n [44]: 'A computed property name must be followed by a colon or paren',\n [134]: 'Object literal keys that are strings or numbers must be a method or have a colon',\n [46]: 'Found `* async x(){}` but this should be `async * x(){}`',\n [45]: 'Getters and setters can not be generators',\n [47]: \"'%0' can not be generator method\",\n [48]: \"No line break is allowed after '=>'\",\n [49]: 'The left-hand side of the arrow can only be destructed through assignment',\n [50]: 'The binding declaration is not destructible',\n [51]: 'Async arrow can not be followed by new expression',\n [52]: \"Classes may not have a static property named 'prototype'\",\n [53]: 'Class constructor may not be a %0',\n [54]: 'Duplicate constructor method in class',\n [55]: 'Invalid increment/decrement operand',\n [56]: 'Invalid use of `new` keyword on an increment/decrement expression',\n [57]: '`=>` is an invalid assignment target',\n [58]: 'Rest element may not have a trailing comma',\n [59]: 'Missing initializer in %0 declaration',\n [60]: \"'for-%0' loop head declarations can not have an initializer\",\n [61]: 'Invalid left-hand side in for-%0 loop: Must have a single binding',\n [62]: 'Invalid shorthand property initializer',\n [63]: 'Property name __proto__ appears more than once in object literal',\n [64]: 'Let is disallowed as a lexically bound name',\n [65]: \"Invalid use of '%0' inside new expression\",\n [66]: \"Illegal 'use strict' directive in function with non-simple parameter list\",\n [67]: 'Identifier \"let\" disallowed as left-hand side expression in strict mode',\n [68]: 'Illegal continue statement',\n [69]: 'Illegal break statement',\n [70]: 'Cannot have `let[...]` as a var name in strict mode',\n [71]: 'Invalid destructuring assignment target',\n [72]: 'Rest parameter may not have a default initializer',\n [73]: 'The rest argument must the be last parameter',\n [74]: 'Invalid rest argument',\n [76]: 'In strict mode code, functions can only be declared at top level or inside a block',\n [77]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement',\n [78]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement',\n [79]: \"Class declaration can't appear in single-statement context\",\n [80]: 'Invalid left-hand side in for-%0',\n [81]: 'Invalid assignment in for-%0',\n [82]: 'for await (... of ...) is only valid in async functions and async generators',\n [83]: 'The first token after the template expression should be a continuation of the template',\n [85]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode',\n [84]: '`let \\n [` is a restricted production at the start of a statement',\n [86]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)',\n [87]: 'Catch clause parameter does not support default values',\n [88]: 'Missing catch or finally after try',\n [89]: 'More than one default clause in switch statement',\n [90]: 'Illegal newline after throw',\n [91]: 'Strict mode code may not include a with statement',\n [92]: 'Illegal return statement',\n [93]: 'The left hand side of the for-header binding declaration is not destructible',\n [94]: 'new.target only allowed within functions or static blocks',\n [96]: \"'#' not followed by identifier\",\n [102]: 'Invalid keyword',\n [101]: \"Can not use 'let' as a class name\",\n [100]: \"'A lexical declaration can't define a 'let' binding\",\n [99]: 'Can not use `let` as variable name in strict mode',\n [97]: \"'%0' may not be used as an identifier in this context\",\n [98]: 'Await is only valid in async functions',\n [103]: 'The %0 keyword can only be used with the module goal',\n [104]: 'Unicode codepoint must not be greater than 0x10FFFF',\n [105]: '%0 source must be string',\n [106]: 'Only a identifier or string can be used to indicate alias',\n [107]: \"Only '*' or '{...}' can be imported after default\",\n [108]: 'Trailing decorator may be followed by method',\n [109]: \"Decorators can't be used with a constructor\",\n [110]: 'Can not use `await` as identifier in module or async func',\n [111]: 'Can not use `await` as identifier in module',\n [112]: 'HTML comments are only allowed with web compatibility (Annex B)',\n [113]: \"The identifier 'let' must not be in expression position in strict mode\",\n [114]: 'Cannot assign to `eval` and `arguments` in strict mode',\n [115]: \"The left-hand side of a for-of loop may not start with 'let'\",\n [116]: 'Block body arrows can not be immediately invoked without a group',\n [117]: 'Block body arrows can not be immediately accessed without a group',\n [118]: 'Unexpected strict mode reserved word',\n [119]: 'Unexpected eval or arguments in strict mode',\n [120]: 'Decorators must not be followed by a semicolon',\n [121]: 'Calling delete on expression not allowed in strict mode',\n [122]: 'Pattern can not have a tail',\n [124]: 'Can not have a `yield` expression on the left side of a ternary',\n [125]: 'An arrow function can not have a postfix update operator',\n [126]: 'Invalid object literal key character after generator star',\n [127]: 'Private fields can not be deleted',\n [129]: 'Classes may not have a field called constructor',\n [128]: 'Classes may not have a private element named constructor',\n [130]: 'A class field initializer or static block may not contain arguments',\n [131]: 'Generators can only be declared at the top level or inside a block',\n [132]: 'Async methods are a restricted production and cannot have a newline following it',\n [133]: 'Unexpected character after object literal property name',\n [135]: 'Invalid key token',\n [136]: \"Label '%0' has already been declared\",\n [137]: 'continue statement must be nested within an iteration statement',\n [138]: \"Undefined label '%0'\",\n [139]: 'Trailing comma is disallowed inside import(...) arguments',\n [140]: 'Invalid binding in JSON import',\n [141]: 'import() requires exactly one argument',\n [142]: 'Cannot use new with import(...)',\n [143]: '... is not allowed in import()',\n [144]: \"Expected '=>'\",\n [145]: \"Duplicate binding '%0'\",\n [146]: 'Duplicate private identifier #%0',\n [147]: \"Cannot export a duplicate name '%0'\",\n [150]: 'Duplicate %0 for-binding',\n [148]: \"Exported binding '%0' needs to refer to a top-level declared variable\",\n [149]: 'Unexpected private field',\n [153]: 'Numeric separators are not allowed at the end of numeric literals',\n [152]: 'Only one underscore is allowed as numeric separator',\n [154]: 'JSX value should be either an expression or a quoted JSX text',\n [155]: 'Expected corresponding JSX closing tag for %0',\n [156]: 'Adjacent JSX elements must be wrapped in an enclosing tag',\n [157]: \"JSX attributes must only be assigned a non-empty 'expression'\",\n [158]: \"'%0' has already been declared\",\n [159]: \"'%0' shadowed a catch clause binding\",\n [160]: 'Dot property must be an identifier',\n [161]: 'Encountered invalid input after spread/rest argument',\n [162]: 'Catch without try',\n [163]: 'Finally without try',\n [164]: 'Expected corresponding closing tag for JSX fragment',\n [165]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses',\n [166]: 'Invalid tagged template on optional chain',\n [167]: 'Invalid optional chain from super property',\n [168]: 'Invalid optional chain from new expression',\n [169]: 'Cannot use \"import.meta\" outside a module',\n [170]: 'Leading decorators must be attached to a class declaration',\n [171]: 'An export name cannot include a lone surrogate, found %0',\n [172]: 'A string literal cannot be used as an exported binding without `from`',\n [173]: \"Private fields can't be accessed on super\",\n [174]: \"The only valid meta property for import is 'import.meta'\",\n [175]: \"'import.meta' must not contain escaped characters\",\n [176]: 'cannot use \"await\" as identifier inside an async function',\n [177]: 'cannot use \"await\" in static blocks',\n};\nclass ParseError extends SyntaxError {\n start;\n end;\n range;\n loc;\n description;\n constructor(start, end, type, ...params) {\n const description = errorMessages[type].replace(/%(\\d+)/g, (_, i) => params[i]);\n const message = '[' + start.line + ':' + start.column + '-' + end.line + ':' + end.column + ']: ' + description;\n super(message);\n this.start = start.index;\n this.end = end.index;\n this.range = [start.index, end.index];\n this.loc = {\n start: { line: start.line, column: start.column },\n end: { line: end.line, column: end.column },\n };\n this.description = description;\n }\n}\n\nfunction scanNumber(parser, context, kind) {\n let char = parser.currentChar;\n let value = 0;\n let digit = 9;\n let atStart = kind & 64 ? 0 : 1;\n let digits = 0;\n let allowSeparator = 0;\n if (kind & 64) {\n value = '.' + scanDecimalDigitsOrSeparator(parser, char);\n char = parser.currentChar;\n if (char === 110)\n parser.report(12);\n }\n else {\n if (char === 48) {\n char = advanceChar(parser);\n if ((char | 32) === 120) {\n kind = 8 | 128;\n char = advanceChar(parser);\n while (CharTypes[char] & (64 | 4096)) {\n if (char === 95) {\n if (!allowSeparator)\n parser.report(152);\n allowSeparator = 0;\n char = advanceChar(parser);\n continue;\n }\n allowSeparator = 1;\n value = value * 0x10 + toHex(char);\n digits++;\n char = advanceChar(parser);\n }\n if (digits === 0 || !allowSeparator) {\n parser.report(digits === 0 ? 21 : 153);\n }\n }\n else if ((char | 32) === 111) {\n kind = 4 | 128;\n char = advanceChar(parser);\n while (CharTypes[char] & (32 | 4096)) {\n if (char === 95) {\n if (!allowSeparator) {\n parser.report(152);\n }\n allowSeparator = 0;\n char = advanceChar(parser);\n continue;\n }\n allowSeparator = 1;\n value = value * 8 + (char - 48);\n digits++;\n char = advanceChar(parser);\n }\n if (digits === 0 || !allowSeparator) {\n parser.report(digits === 0 ? 0 : 153);\n }\n }\n else if ((char | 32) === 98) {\n kind = 2 | 128;\n char = advanceChar(parser);\n while (CharTypes[char] & (128 | 4096)) {\n if (char === 95) {\n if (!allowSeparator) {\n parser.report(152);\n }\n allowSeparator = 0;\n char = advanceChar(parser);\n continue;\n }\n allowSeparator = 1;\n value = value * 2 + (char - 48);\n digits++;\n char = advanceChar(parser);\n }\n if (digits === 0 || !allowSeparator) {\n parser.report(digits === 0 ? 0 : 153);\n }\n }\n else if (CharTypes[char] & 32) {\n if (context & 1)\n parser.report(1);\n kind = 1;\n while (CharTypes[char] & 16) {\n if (CharTypes[char] & 512) {\n kind = 32;\n atStart = 0;\n break;\n }\n value = value * 8 + (char - 48);\n char = advanceChar(parser);\n }\n }\n else if (CharTypes[char] & 512) {\n if (context & 1)\n parser.report(1);\n parser.flags |= 64;\n kind = 32;\n }\n else if (char === 95) {\n parser.report(0);\n }\n }\n if (kind & 48) {\n if (atStart) {\n while (digit >= 0 && CharTypes[char] & (16 | 4096)) {\n if (char === 95) {\n char = advanceChar(parser);\n if (char === 95 || kind & 32) {\n throw new ParseError(parser.currentLocation, { index: parser.index + 1, line: parser.line, column: parser.column }, 152);\n }\n allowSeparator = 1;\n continue;\n }\n allowSeparator = 0;\n value = 10 * value + (char - 48);\n char = advanceChar(parser);\n --digit;\n }\n if (allowSeparator) {\n throw new ParseError(parser.currentLocation, { index: parser.index + 1, line: parser.line, column: parser.column }, 153);\n }\n if (digit >= 0 && !isIdentifierStart(char) && char !== 46) {\n parser.tokenValue = value;\n if (parser.options.raw)\n parser.tokenRaw = parser.source.slice(parser.tokenIndex, parser.index);\n return 134283266;\n }\n }\n value += scanDecimalDigitsOrSeparator(parser, char);\n char = parser.currentChar;\n if (char === 46) {\n if (advanceChar(parser) === 95)\n parser.report(0);\n kind = 64;\n value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar);\n char = parser.currentChar;\n }\n }\n }\n const end = parser.index;\n let isBigInt = 0;\n if (char === 110 && kind & 128) {\n isBigInt = 1;\n char = advanceChar(parser);\n }\n else {\n if ((char | 32) === 101) {\n char = advanceChar(parser);\n if (CharTypes[char] & 256)\n char = advanceChar(parser);\n const { index } = parser;\n if ((CharTypes[char] & 16) === 0)\n parser.report(11);\n value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);\n char = parser.currentChar;\n }\n }\n if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) {\n parser.report(13);\n }\n if (isBigInt) {\n parser.tokenRaw = parser.source.slice(parser.tokenIndex, parser.index);\n parser.tokenValue = BigInt(parser.tokenRaw.slice(0, -1).replaceAll('_', ''));\n return 134283388;\n }\n parser.tokenValue =\n kind & (1 | 2 | 8 | 4)\n ? value\n : kind & 32\n ? parseFloat(parser.source.substring(parser.tokenIndex, parser.index))\n : +value;\n if (parser.options.raw)\n parser.tokenRaw = parser.source.slice(parser.tokenIndex, parser.index);\n return 134283266;\n}\nfunction scanDecimalDigitsOrSeparator(parser, char) {\n let allowSeparator = 0;\n let start = parser.index;\n let ret = '';\n while (CharTypes[char] & (16 | 4096)) {\n if (char === 95) {\n const { index } = parser;\n char = advanceChar(parser);\n if (char === 95) {\n throw new ParseError(parser.currentLocation, { index: parser.index + 1, line: parser.line, column: parser.column }, 152);\n }\n allowSeparator = 1;\n ret += parser.source.substring(start, index);\n start = parser.index;\n continue;\n }\n allowSeparator = 0;\n char = advanceChar(parser);\n }\n if (allowSeparator) {\n throw new ParseError(parser.currentLocation, { index: parser.index + 1, line: parser.line, column: parser.column }, 153);\n }\n return ret + parser.source.substring(start, parser.index);\n}\n\nconst KeywordDescTable = [\n 'end of source',\n 'identifier', 'number', 'string', 'regular expression',\n 'false', 'true', 'null',\n 'template continuation', 'template tail',\n '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\\'', '\"',\n '++', '--',\n '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=',\n '&=', '||=', '&&=', '??=',\n 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&',\n '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^',\n 'var', 'let', 'const',\n 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export',\n 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch',\n 'this', 'throw', 'try', 'while', 'with',\n 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield',\n 'as', 'async', 'await', 'constructor', 'get', 'set', 'accessor', 'from', 'of',\n 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#',\n 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField',\n 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText'\n];\nconst descKeywordTable = {\n this: 86111,\n function: 86104,\n if: 20569,\n return: 20572,\n var: 86088,\n else: 20563,\n for: 20567,\n new: 86107,\n in: 8673330,\n typeof: 16863275,\n while: 20578,\n case: 20556,\n break: 20555,\n try: 20577,\n catch: 20557,\n delete: 16863276,\n throw: 86112,\n switch: 86110,\n continue: 20559,\n default: 20561,\n instanceof: 8411187,\n do: 20562,\n void: 16863277,\n finally: 20566,\n async: 209005,\n await: 209006,\n class: 86094,\n const: 86090,\n constructor: 12399,\n debugger: 20560,\n export: 20564,\n extends: 20565,\n false: 86021,\n from: 209011,\n get: 209008,\n implements: 36964,\n import: 86106,\n interface: 36965,\n let: 241737,\n null: 86023,\n of: 471156,\n package: 36966,\n private: 36967,\n protected: 36968,\n public: 36969,\n set: 209009,\n static: 36970,\n super: 86109,\n true: 86022,\n with: 20579,\n yield: 241771,\n enum: 86133,\n eval: 537079926,\n as: 77932,\n arguments: 537079927,\n target: 209029,\n meta: 209030,\n accessor: 12402,\n};\n\nfunction matchOrInsertSemicolon(parser, context) {\n if ((parser.flags & 1) === 0 && (parser.getToken() & 1048576) !== 1048576) {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n if (!consumeOpt(parser, context, 1074790417)) {\n parser.options.onInsertedSemicolon?.(parser.startIndex);\n }\n}\nfunction isValidStrictMode(parser, index, tokenIndex, tokenValue) {\n if (index - tokenIndex < 13 && tokenValue === 'use strict') {\n if ((parser.getToken() & 1048576) === 1048576 || parser.flags & 1) {\n return 1;\n }\n }\n return 0;\n}\nfunction optionalBit(parser, context, t) {\n if (parser.getToken() !== t)\n return 0;\n nextToken(parser, context);\n return 1;\n}\nfunction consumeOpt(parser, context, t) {\n if (parser.getToken() !== t)\n return false;\n nextToken(parser, context);\n return true;\n}\nfunction consume(parser, context, t) {\n if (parser.getToken() !== t)\n parser.report(25, KeywordDescTable[t & 255]);\n nextToken(parser, context);\n}\nfunction reinterpretToPattern(parser, node) {\n switch (node.type) {\n case 'ArrayExpression': {\n node.type = 'ArrayPattern';\n const { elements } = node;\n for (let i = 0, n = elements.length; i < n; ++i) {\n const element = elements[i];\n if (element)\n reinterpretToPattern(parser, element);\n }\n return;\n }\n case 'ObjectExpression': {\n node.type = 'ObjectPattern';\n const { properties } = node;\n for (let i = 0, n = properties.length; i < n; ++i) {\n reinterpretToPattern(parser, properties[i]);\n }\n return;\n }\n case 'AssignmentExpression':\n node.type = 'AssignmentPattern';\n if (node.operator !== '=')\n parser.report(71);\n delete node.operator;\n reinterpretToPattern(parser, node.left);\n return;\n case 'Property':\n reinterpretToPattern(parser, node.value);\n return;\n case 'SpreadElement':\n node.type = 'RestElement';\n reinterpretToPattern(parser, node.argument);\n }\n}\nfunction validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) {\n if (context & 1) {\n if ((t & 36864) === 36864) {\n parser.report(118);\n }\n if (!skipEvalArgCheck && (t & 537079808) === 537079808) {\n parser.report(119);\n }\n }\n if ((t & 20480) === 20480 || t === -2147483528) {\n parser.report(102);\n }\n if (kind & (8 | 16) && (t & 255) === (241737 & 255)) {\n parser.report(100);\n }\n if (context & (2048 | 2) && t === 209006) {\n parser.report(110);\n }\n if (context & (1024 | 1) && t === 241771) {\n parser.report(97, 'yield');\n }\n}\nfunction validateFunctionName(parser, context, t) {\n if (context & 1) {\n if ((t & 36864) === 36864) {\n parser.report(118);\n }\n if ((t & 537079808) === 537079808) {\n parser.report(119);\n }\n if (t === -2147483527) {\n parser.report(95);\n }\n if (t === -2147483528) {\n parser.report(95);\n }\n }\n if ((t & 20480) === 20480) {\n parser.report(102);\n }\n if (context & (2048 | 2) && t === 209006) {\n parser.report(110);\n }\n if (context & (1024 | 1) && t === 241771) {\n parser.report(97, 'yield');\n }\n}\nfunction isStrictReservedWord(parser, context, t) {\n if (t === 209006) {\n if (context & (2048 | 2))\n parser.report(110);\n parser.destructible |= 128;\n }\n if (t === 241771 && context & 1024)\n parser.report(97, 'yield');\n return ((t & 20480) === 20480 ||\n (t & 36864) === 36864 ||\n t == -2147483527);\n}\nfunction isPropertyWithPrivateFieldKey(expr) {\n return !expr.property ? false : expr.property.type === 'PrivateIdentifier';\n}\nfunction isValidLabel(parser, labels, name, isIterationStatement) {\n while (labels) {\n if (labels['$' + name]) {\n if (isIterationStatement)\n parser.report(137);\n return 1;\n }\n if (isIterationStatement && labels.loop)\n isIterationStatement = 0;\n labels = labels['$'];\n }\n return 0;\n}\nfunction validateAndDeclareLabel(parser, labels, name) {\n let set = labels;\n while (set) {\n if (set['$' + name])\n parser.report(136, name);\n set = set['$'];\n }\n labels['$' + name] = 1;\n}\nfunction isEqualTagName(elementName) {\n switch (elementName.type) {\n case 'JSXIdentifier':\n return elementName.name;\n case 'JSXNamespacedName':\n return elementName.namespace + ':' + elementName.name;\n case 'JSXMemberExpression':\n return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);\n }\n}\nfunction isValidIdentifier(context, t) {\n if (context & (1 | 1024)) {\n if (context & 2 && t === 209006)\n return false;\n if (context & 1024 && t === 241771)\n return false;\n return (t & 12288) === 12288;\n }\n return (t & 12288) === 12288 || (t & 36864) === 36864;\n}\nfunction classifyIdentifier(parser, context, t) {\n if ((t & 537079808) === 537079808) {\n if (context & 1)\n parser.report(119);\n parser.flags |= 512;\n }\n if (!isValidIdentifier(context, t))\n parser.report(0);\n}\nfunction getOwnProperty(object, key) {\n return Object.hasOwn(object, key) ? object[key] : undefined;\n}\n\nfunction scanIdentifier(parser, context, isValidAsKeyword) {\n while (isIdPart[advanceChar(parser)])\n ;\n parser.tokenValue = parser.source.slice(parser.tokenIndex, parser.index);\n return parser.currentChar !== 92 && parser.currentChar <= 0x7e\n ? (getOwnProperty(descKeywordTable, parser.tokenValue) ?? 208897)\n : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword);\n}\nfunction scanUnicodeIdentifier(parser, context) {\n const cookedChar = scanIdentifierUnicodeEscape(parser);\n if (!isIdentifierStart(cookedChar))\n parser.report(5);\n parser.tokenValue = String.fromCodePoint(cookedChar);\n return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4);\n}\nfunction scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {\n let start = parser.index;\n while (parser.index < parser.end) {\n if (parser.currentChar === 92) {\n parser.tokenValue += parser.source.slice(start, parser.index);\n hasEscape = 1;\n const code = scanIdentifierUnicodeEscape(parser);\n if (!isIdentifierPart(code))\n parser.report(5);\n isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4;\n parser.tokenValue += String.fromCodePoint(code);\n start = parser.index;\n }\n else {\n const merged = consumePossibleSurrogatePair(parser);\n if (merged > 0) {\n if (!isIdentifierPart(merged)) {\n parser.report(20, String.fromCodePoint(merged));\n }\n parser.currentChar = merged;\n parser.index++;\n parser.column++;\n }\n else if (!isIdentifierPart(parser.currentChar)) {\n break;\n }\n advanceChar(parser);\n }\n }\n if (parser.index <= parser.end) {\n parser.tokenValue += parser.source.slice(start, parser.index);\n }\n const { length } = parser.tokenValue;\n if (isValidAsKeyword && length >= 2 && length <= 11) {\n const token = getOwnProperty(descKeywordTable, parser.tokenValue);\n if (token === void 0)\n return 208897 | (hasEscape ? -2147483648 : 0);\n if (!hasEscape)\n return token;\n if (token === 209006) {\n if ((context & (2 | 2048)) === 0) {\n return token | -2147483648;\n }\n return -2147483528;\n }\n if (context & 1) {\n if (token === 36970) {\n return -2147483527;\n }\n if ((token & 36864) === 36864) {\n return -2147483527;\n }\n if ((token & 20480) === 20480) {\n if (context & 262144 && (context & 8) === 0) {\n return token | -2147483648;\n }\n else {\n return -2147483528;\n }\n }\n return 209018 | -2147483648;\n }\n if (context & 262144 &&\n (context & 8) === 0 &&\n (token & 20480) === 20480) {\n return token | -2147483648;\n }\n if (token === 241771) {\n return context & 262144\n ? 209018 | -2147483648\n : context & 1024\n ? -2147483528\n : token | -2147483648;\n }\n if (token === 209005) {\n return 209018 | -2147483648;\n }\n if ((token & 36864) === 36864) {\n return token | 12288 | -2147483648;\n }\n return -2147483528;\n }\n return 208897 | (hasEscape ? -2147483648 : 0);\n}\nfunction scanPrivateIdentifier(parser) {\n let char = advanceChar(parser);\n if (char === 92)\n return 130;\n const merged = consumePossibleSurrogatePair(parser);\n if (merged)\n char = merged;\n if (!isIdentifierStart(char))\n parser.report(96);\n return 130;\n}\nfunction scanIdentifierUnicodeEscape(parser) {\n if (parser.source.charCodeAt(parser.index + 1) !== 117) {\n parser.report(5);\n }\n parser.currentChar = parser.source.charCodeAt((parser.index += 2));\n parser.column += 2;\n return scanUnicodeEscape(parser);\n}\nfunction scanUnicodeEscape(parser) {\n let codePoint = 0;\n const char = parser.currentChar;\n if (char === 123) {\n const begin = parser.index - 2;\n while (CharTypes[advanceChar(parser)] & 64) {\n codePoint = (codePoint << 4) | toHex(parser.currentChar);\n if (codePoint > 1114111)\n throw new ParseError({ index: begin, line: parser.line, column: parser.column }, parser.currentLocation, 104);\n }\n if (parser.currentChar !== 125) {\n throw new ParseError({ index: begin, line: parser.line, column: parser.column }, parser.currentLocation, 7);\n }\n advanceChar(parser);\n return codePoint;\n }\n if ((CharTypes[char] & 64) === 0)\n parser.report(7);\n const char2 = parser.source.charCodeAt(parser.index + 1);\n if ((CharTypes[char2] & 64) === 0)\n parser.report(7);\n const char3 = parser.source.charCodeAt(parser.index + 2);\n if ((CharTypes[char3] & 64) === 0)\n parser.report(7);\n const char4 = parser.source.charCodeAt(parser.index + 3);\n if ((CharTypes[char4] & 64) === 0)\n parser.report(7);\n codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);\n parser.currentChar = parser.source.charCodeAt((parser.index += 4));\n parser.column += 4;\n return codePoint;\n}\n\nconst TokenLookup = [\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 127,\n 135,\n 127,\n 127,\n 129,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 128,\n 127,\n 16842798,\n 134283267,\n 130,\n 208897,\n 8391477,\n 8390213,\n 134283267,\n 67174411,\n 16,\n 8391476,\n 25233968,\n 18,\n 25233969,\n 67108877,\n 8457014,\n 134283266,\n 134283266,\n 134283266,\n 134283266,\n 134283266,\n 134283266,\n 134283266,\n 134283266,\n 134283266,\n 134283266,\n 21,\n 1074790417,\n 8456256,\n 1077936155,\n 8390721,\n 22,\n 132,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 208897,\n 69271571,\n 136,\n 20,\n 8389959,\n 208897,\n 131,\n 4096,\n 4096,\n 4096,\n 4096,\n 4096,\n 4096,\n 4096,\n 208897,\n 4096,\n 208897,\n 208897,\n 4096,\n 208897,\n 4096,\n 208897,\n 4096,\n 208897,\n 4096,\n 4096,\n 4096,\n 208897,\n 4096,\n 4096,\n 208897,\n 4096,\n 4096,\n 2162700,\n 8389702,\n 1074790415,\n 16842799,\n 128,\n];\nfunction nextToken(parser, context) {\n parser.flags = (parser.flags | 1) ^ 1;\n parser.startIndex = parser.index;\n parser.startColumn = parser.column;\n parser.startLine = parser.line;\n parser.setToken(scanSingleToken(parser, context, 0));\n}\nfunction scanSingleToken(parser, context, state) {\n const isStartOfLine = parser.index === 0;\n const { source } = parser;\n let start = parser.currentLocation;\n while (parser.index < parser.end) {\n parser.tokenIndex = parser.index;\n parser.tokenColumn = parser.column;\n parser.tokenLine = parser.line;\n let char = parser.currentChar;\n if (char <= 0x7e) {\n const token = TokenLookup[char];\n switch (token) {\n case 67174411:\n case 16:\n case 2162700:\n case 1074790415:\n case 69271571:\n case 20:\n case 21:\n case 1074790417:\n case 18:\n case 16842799:\n case 132:\n case 128:\n advanceChar(parser);\n return token;\n case 208897:\n return scanIdentifier(parser, context, 0);\n case 4096:\n return scanIdentifier(parser, context, 1);\n case 134283266:\n return scanNumber(parser, context, 16 | 128);\n case 134283267:\n return scanString(parser, context, char);\n case 131:\n return scanTemplate(parser, context);\n case 136:\n return scanUnicodeIdentifier(parser, context);\n case 130:\n return scanPrivateIdentifier(parser);\n case 127:\n advanceChar(parser);\n break;\n case 129:\n state |= 1 | 4;\n scanNewLine(parser);\n break;\n case 135:\n consumeLineFeed(parser, state);\n state = (state & -5) | 1;\n break;\n case 8456256: {\n const ch = advanceChar(parser);\n if (parser.index < parser.end) {\n if (ch === 60) {\n if (parser.index < parser.end && advanceChar(parser) === 61) {\n advanceChar(parser);\n return 4194332;\n }\n return 8390978;\n }\n else if (ch === 61) {\n advanceChar(parser);\n return 8390718;\n }\n if (ch === 33) {\n const index = parser.index + 1;\n if (index + 1 < parser.end &&\n source.charCodeAt(index) === 45 &&\n source.charCodeAt(index + 1) == 45) {\n parser.column += 3;\n parser.currentChar = source.charCodeAt((parser.index += 3));\n state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenStart);\n start = parser.tokenStart;\n continue;\n }\n return 8456256;\n }\n }\n return 8456256;\n }\n case 1077936155: {\n advanceChar(parser);\n const ch = parser.currentChar;\n if (ch === 61) {\n if (advanceChar(parser) === 61) {\n advanceChar(parser);\n return 8390458;\n }\n return 8390460;\n }\n if (ch === 62) {\n advanceChar(parser);\n return 10;\n }\n return 1077936155;\n }\n case 16842798:\n if (advanceChar(parser) !== 61) {\n return 16842798;\n }\n if (advanceChar(parser) !== 61) {\n return 8390461;\n }\n advanceChar(parser);\n return 8390459;\n case 8391477:\n if (advanceChar(parser) !== 61)\n return 8391477;\n advanceChar(parser);\n return 4194340;\n case 8391476: {\n advanceChar(parser);\n if (parser.index >= parser.end)\n return 8391476;\n const ch = parser.currentChar;\n if (ch === 61) {\n advanceChar(parser);\n return 4194338;\n }\n if (ch !== 42)\n return 8391476;\n if (advanceChar(parser) !== 61)\n return 8391735;\n advanceChar(parser);\n return 4194335;\n }\n case 8389959:\n if (advanceChar(parser) !== 61)\n return 8389959;\n advanceChar(parser);\n return 4194341;\n case 25233968: {\n advanceChar(parser);\n const ch = parser.currentChar;\n if (ch === 43) {\n advanceChar(parser);\n return 33619993;\n }\n if (ch === 61) {\n advanceChar(parser);\n return 4194336;\n }\n return 25233968;\n }\n case 25233969: {\n advanceChar(parser);\n const ch = parser.currentChar;\n if (ch === 45) {\n advanceChar(parser);\n if ((state & 1 || isStartOfLine) && parser.currentChar === 62) {\n if (!parser.options.webcompat)\n parser.report(112);\n advanceChar(parser);\n state = skipSingleHTMLComment(parser, source, state, context, 3, start);\n start = parser.tokenStart;\n continue;\n }\n return 33619994;\n }\n if (ch === 61) {\n advanceChar(parser);\n return 4194337;\n }\n return 25233969;\n }\n case 8457014: {\n advanceChar(parser);\n if (parser.index < parser.end) {\n const ch = parser.currentChar;\n if (ch === 47) {\n advanceChar(parser);\n state = skipSingleLineComment(parser, source, state, 0, parser.tokenStart);\n start = parser.tokenStart;\n continue;\n }\n if (ch === 42) {\n advanceChar(parser);\n state = skipMultiLineComment(parser, source, state);\n start = parser.tokenStart;\n continue;\n }\n if (context & 32) {\n return scanRegularExpression(parser);\n }\n if (ch === 61) {\n advanceChar(parser);\n return 4259875;\n }\n }\n return 8457014;\n }\n case 67108877: {\n const next = advanceChar(parser);\n if (next >= 48 && next <= 57)\n return scanNumber(parser, context, 64 | 16);\n if (next === 46) {\n const index = parser.index + 1;\n if (index < parser.end && source.charCodeAt(index) === 46) {\n parser.column += 2;\n parser.currentChar = source.charCodeAt((parser.index += 2));\n return 14;\n }\n }\n return 67108877;\n }\n case 8389702: {\n advanceChar(parser);\n const ch = parser.currentChar;\n if (ch === 124) {\n advanceChar(parser);\n if (parser.currentChar === 61) {\n advanceChar(parser);\n return 4194344;\n }\n return 8913465;\n }\n if (ch === 61) {\n advanceChar(parser);\n return 4194342;\n }\n return 8389702;\n }\n case 8390721: {\n advanceChar(parser);\n const ch = parser.currentChar;\n if (ch === 61) {\n advanceChar(parser);\n return 8390719;\n }\n if (ch !== 62)\n return 8390721;\n advanceChar(parser);\n if (parser.index < parser.end) {\n const ch = parser.currentChar;\n if (ch === 62) {\n if (advanceChar(parser) === 61) {\n advanceChar(parser);\n return 4194334;\n }\n return 8390980;\n }\n if (ch === 61) {\n advanceChar(parser);\n return 4194333;\n }\n }\n return 8390979;\n }\n case 8390213: {\n advanceChar(parser);\n const ch = parser.currentChar;\n if (ch === 38) {\n advanceChar(parser);\n if (parser.currentChar === 61) {\n advanceChar(parser);\n return 4194345;\n }\n return 8913720;\n }\n if (ch === 61) {\n advanceChar(parser);\n return 4194343;\n }\n return 8390213;\n }\n case 22: {\n let ch = advanceChar(parser);\n if (ch === 63) {\n advanceChar(parser);\n if (parser.currentChar === 61) {\n advanceChar(parser);\n return 4194346;\n }\n return 276824445;\n }\n if (ch === 46) {\n const index = parser.index + 1;\n if (index < parser.end) {\n ch = source.charCodeAt(index);\n if (!(ch >= 48 && ch <= 57)) {\n advanceChar(parser);\n return 67108990;\n }\n }\n }\n return 22;\n }\n }\n }\n else {\n if ((char ^ 8232) <= 1) {\n state = (state & -5) | 1;\n scanNewLine(parser);\n continue;\n }\n const merged = consumePossibleSurrogatePair(parser);\n if (merged > 0)\n char = merged;\n if (isIDStart(char)) {\n parser.tokenValue = '';\n return scanIdentifierSlowCase(parser, context, 0, 0);\n }\n if (isExoticECMAScriptWhitespace(char)) {\n advanceChar(parser);\n continue;\n }\n parser.report(20, String.fromCodePoint(char));\n }\n }\n return 1048576;\n}\n\nconst entities = {\n AElig: '\\u00C6',\n AMP: '\\u0026',\n Aacute: '\\u00C1',\n Abreve: '\\u0102',\n Acirc: '\\u00C2',\n Acy: '\\u0410',\n Afr: '\\uD835\\uDD04',\n Agrave: '\\u00C0',\n Alpha: '\\u0391',\n Amacr: '\\u0100',\n And: '\\u2A53',\n Aogon: '\\u0104',\n Aopf: '\\uD835\\uDD38',\n ApplyFunction: '\\u2061',\n Aring: '\\u00C5',\n Ascr: '\\uD835\\uDC9C',\n Assign: '\\u2254',\n Atilde: '\\u00C3',\n Auml: '\\u00C4',\n Backslash: '\\u2216',\n Barv: '\\u2AE7',\n Barwed: '\\u2306',\n Bcy: '\\u0411',\n Because: '\\u2235',\n Bernoullis: '\\u212C',\n Beta: '\\u0392',\n Bfr: '\\uD835\\uDD05',\n Bopf: '\\uD835\\uDD39',\n Breve: '\\u02D8',\n Bscr: '\\u212C',\n Bumpeq: '\\u224E',\n CHcy: '\\u0427',\n COPY: '\\u00A9',\n Cacute: '\\u0106',\n Cap: '\\u22D2',\n CapitalDifferentialD: '\\u2145',\n Cayleys: '\\u212D',\n Ccaron: '\\u010C',\n Ccedil: '\\u00C7',\n Ccirc: '\\u0108',\n Cconint: '\\u2230',\n Cdot: '\\u010A',\n Cedilla: '\\u00B8',\n CenterDot: '\\u00B7',\n Cfr: '\\u212D',\n Chi: '\\u03A7',\n CircleDot: '\\u2299',\n CircleMinus: '\\u2296',\n CirclePlus: '\\u2295',\n CircleTimes: '\\u2297',\n ClockwiseContourIntegral: '\\u2232',\n CloseCurlyDoubleQuote: '\\u201D',\n CloseCurlyQuote: '\\u2019',\n Colon: '\\u2237',\n Colone: '\\u2A74',\n Congruent: '\\u2261',\n Conint: '\\u222F',\n ContourIntegral: '\\u222E',\n Copf: '\\u2102',\n Coproduct: '\\u2210',\n CounterClockwiseContourIntegral: '\\u2233',\n Cross: '\\u2A2F',\n Cscr: '\\uD835\\uDC9E',\n Cup: '\\u22D3',\n CupCap: '\\u224D',\n DD: '\\u2145',\n DDotrahd: '\\u2911',\n DJcy: '\\u0402',\n DScy: '\\u0405',\n DZcy: '\\u040F',\n Dagger: '\\u2021',\n Darr: '\\u21A1',\n Dashv: '\\u2AE4',\n Dcaron: '\\u010E',\n Dcy: '\\u0414',\n Del: '\\u2207',\n Delta: '\\u0394',\n Dfr: '\\uD835\\uDD07',\n DiacriticalAcute: '\\u00B4',\n DiacriticalDot: '\\u02D9',\n DiacriticalDoubleAcute: '\\u02DD',\n DiacriticalGrave: '\\u0060',\n DiacriticalTilde: '\\u02DC',\n Diamond: '\\u22C4',\n DifferentialD: '\\u2146',\n Dopf: '\\uD835\\uDD3B',\n Dot: '\\u00A8',\n DotDot: '\\u20DC',\n DotEqual: '\\u2250',\n DoubleContourIntegral: '\\u222F',\n DoubleDot: '\\u00A8',\n DoubleDownArrow: '\\u21D3',\n DoubleLeftArrow: '\\u21D0',\n DoubleLeftRightArrow: '\\u21D4',\n DoubleLeftTee: '\\u2AE4',\n DoubleLongLeftArrow: '\\u27F8',\n DoubleLongLeftRightArrow: '\\u27FA',\n DoubleLongRightArrow: '\\u27F9',\n DoubleRightArrow: '\\u21D2',\n DoubleRightTee: '\\u22A8',\n DoubleUpArrow: '\\u21D1',\n DoubleUpDownArrow: '\\u21D5',\n DoubleVerticalBar: '\\u2225',\n DownArrow: '\\u2193',\n DownArrowBar: '\\u2913',\n DownArrowUpArrow: '\\u21F5',\n DownBreve: '\\u0311',\n DownLeftRightVector: '\\u2950',\n DownLeftTeeVector: '\\u295E',\n DownLeftVector: '\\u21BD',\n DownLeftVectorBar: '\\u2956',\n DownRightTeeVector: '\\u295F',\n DownRightVector: '\\u21C1',\n DownRightVectorBar: '\\u2957',\n DownTee: '\\u22A4',\n DownTeeArrow: '\\u21A7',\n Downarrow: '\\u21D3',\n Dscr: '\\uD835\\uDC9F',\n Dstrok: '\\u0110',\n ENG: '\\u014A',\n ETH: '\\u00D0',\n Eacute: '\\u00C9',\n Ecaron: '\\u011A',\n Ecirc: '\\u00CA',\n Ecy: '\\u042D',\n Edot: '\\u0116',\n Efr: '\\uD835\\uDD08',\n Egrave: '\\u00C8',\n Element: '\\u2208',\n Emacr: '\\u0112',\n EmptySmallSquare: '\\u25FB',\n EmptyVerySmallSquare: '\\u25AB',\n Eogon: '\\u0118',\n Eopf: '\\uD835\\uDD3C',\n Epsilon: '\\u0395',\n Equal: '\\u2A75',\n EqualTilde: '\\u2242',\n Equilibrium: '\\u21CC',\n Escr: '\\u2130',\n Esim: '\\u2A73',\n Eta: '\\u0397',\n Euml: '\\u00CB',\n Exists: '\\u2203',\n ExponentialE: '\\u2147',\n Fcy: '\\u0424',\n Ffr: '\\uD835\\uDD09',\n FilledSmallSquare: '\\u25FC',\n FilledVerySmallSquare: '\\u25AA',\n Fopf: '\\uD835\\uDD3D',\n ForAll: '\\u2200',\n Fouriertrf: '\\u2131',\n Fscr: '\\u2131',\n GJcy: '\\u0403',\n GT: '\\u003E',\n Gamma: '\\u0393',\n Gammad: '\\u03DC',\n Gbreve: '\\u011E',\n Gcedil: '\\u0122',\n Gcirc: '\\u011C',\n Gcy: '\\u0413',\n Gdot: '\\u0120',\n Gfr: '\\uD835\\uDD0A',\n Gg: '\\u22D9',\n Gopf: '\\uD835\\uDD3E',\n GreaterEqual: '\\u2265',\n GreaterEqualLess: '\\u22DB',\n GreaterFullEqual: '\\u2267',\n GreaterGreater: '\\u2AA2',\n GreaterLess: '\\u2277',\n GreaterSlantEqual: '\\u2A7E',\n GreaterTilde: '\\u2273',\n Gscr: '\\uD835\\uDCA2',\n Gt: '\\u226B',\n HARDcy: '\\u042A',\n Hacek: '\\u02C7',\n Hat: '\\u005E',\n Hcirc: '\\u0124',\n Hfr: '\\u210C',\n HilbertSpace: '\\u210B',\n Hopf: '\\u210D',\n HorizontalLine: '\\u2500',\n Hscr: '\\u210B',\n Hstrok: '\\u0126',\n HumpDownHump: '\\u224E',\n HumpEqual: '\\u224F',\n IEcy: '\\u0415',\n IJlig: '\\u0132',\n IOcy: '\\u0401',\n Iacute: '\\u00CD',\n Icirc: '\\u00CE',\n Icy: '\\u0418',\n Idot: '\\u0130',\n Ifr: '\\u2111',\n Igrave: '\\u00CC',\n Im: '\\u2111',\n Imacr: '\\u012A',\n ImaginaryI: '\\u2148',\n Implies: '\\u21D2',\n Int: '\\u222C',\n Integral: '\\u222B',\n Intersection: '\\u22C2',\n InvisibleComma: '\\u2063',\n InvisibleTimes: '\\u2062',\n Iogon: '\\u012E',\n Iopf: '\\uD835\\uDD40',\n Iota: '\\u0399',\n Iscr: '\\u2110',\n Itilde: '\\u0128',\n Iukcy: '\\u0406',\n Iuml: '\\u00CF',\n Jcirc: '\\u0134',\n Jcy: '\\u0419',\n Jfr: '\\uD835\\uDD0D',\n Jopf: '\\uD835\\uDD41',\n Jscr: '\\uD835\\uDCA5',\n Jsercy: '\\u0408',\n Jukcy: '\\u0404',\n KHcy: '\\u0425',\n KJcy: '\\u040C',\n Kappa: '\\u039A',\n Kcedil: '\\u0136',\n Kcy: '\\u041A',\n Kfr: '\\uD835\\uDD0E',\n Kopf: '\\uD835\\uDD42',\n Kscr: '\\uD835\\uDCA6',\n LJcy: '\\u0409',\n LT: '\\u003C',\n Lacute: '\\u0139',\n Lambda: '\\u039B',\n Lang: '\\u27EA',\n Laplacetrf: '\\u2112',\n Larr: '\\u219E',\n Lcaron: '\\u013D',\n Lcedil: '\\u013B',\n Lcy: '\\u041B',\n LeftAngleBracket: '\\u27E8',\n LeftArrow: '\\u2190',\n LeftArrowBar: '\\u21E4',\n LeftArrowRightArrow: '\\u21C6',\n LeftCeiling: '\\u2308',\n LeftDoubleBracket: '\\u27E6',\n LeftDownTeeVector: '\\u2961',\n LeftDownVector: '\\u21C3',\n LeftDownVectorBar: '\\u2959',\n LeftFloor: '\\u230A',\n LeftRightArrow: '\\u2194',\n LeftRightVector: '\\u294E',\n LeftTee: '\\u22A3',\n LeftTeeArrow: '\\u21A4',\n LeftTeeVector: '\\u295A',\n LeftTriangle: '\\u22B2',\n LeftTriangleBar: '\\u29CF',\n LeftTriangleEqual: '\\u22B4',\n LeftUpDownVector: '\\u2951',\n LeftUpTeeVector: '\\u2960',\n LeftUpVector: '\\u21BF',\n LeftUpVectorBar: '\\u2958',\n LeftVector: '\\u21BC',\n LeftVectorBar: '\\u2952',\n Leftarrow: '\\u21D0',\n Leftrightarrow: '\\u21D4',\n LessEqualGreater: '\\u22DA',\n LessFullEqual: '\\u2266',\n LessGreater: '\\u2276',\n LessLess: '\\u2AA1',\n LessSlantEqual: '\\u2A7D',\n LessTilde: '\\u2272',\n Lfr: '\\uD835\\uDD0F',\n Ll: '\\u22D8',\n Lleftarrow: '\\u21DA',\n Lmidot: '\\u013F',\n LongLeftArrow: '\\u27F5',\n LongLeftRightArrow: '\\u27F7',\n LongRightArrow: '\\u27F6',\n Longleftarrow: '\\u27F8',\n Longleftrightarrow: '\\u27FA',\n Longrightarrow: '\\u27F9',\n Lopf: '\\uD835\\uDD43',\n LowerLeftArrow: '\\u2199',\n LowerRightArrow: '\\u2198',\n Lscr: '\\u2112',\n Lsh: '\\u21B0',\n Lstrok: '\\u0141',\n Lt: '\\u226A',\n Map: '\\u2905',\n Mcy: '\\u041C',\n MediumSpace: '\\u205F',\n Mellintrf: '\\u2133',\n Mfr: '\\uD835\\uDD10',\n MinusPlus: '\\u2213',\n Mopf: '\\uD835\\uDD44',\n Mscr: '\\u2133',\n Mu: '\\u039C',\n NJcy: '\\u040A',\n Nacute: '\\u0143',\n Ncaron: '\\u0147',\n Ncedil: '\\u0145',\n Ncy: '\\u041D',\n NegativeMediumSpace: '\\u200B',\n NegativeThickSpace: '\\u200B',\n NegativeThinSpace: '\\u200B',\n NegativeVeryThinSpace: '\\u200B',\n NestedGreaterGreater: '\\u226B',\n NestedLessLess: '\\u226A',\n NewLine: '\\u000A',\n Nfr: '\\uD835\\uDD11',\n NoBreak: '\\u2060',\n NonBreakingSpace: '\\u00A0',\n Nopf: '\\u2115',\n Not: '\\u2AEC',\n NotCongruent: '\\u2262',\n NotCupCap: '\\u226D',\n NotDoubleVerticalBar: '\\u2226',\n NotElement: '\\u2209',\n NotEqual: '\\u2260',\n NotEqualTilde: '\\u2242\\u0338',\n NotExists: '\\u2204',\n NotGreater: '\\u226F',\n NotGreaterEqual: '\\u2271',\n NotGreaterFullEqual: '\\u2267\\u0338',\n NotGreaterGreater: '\\u226B\\u0338',\n NotGreaterLess: '\\u2279',\n NotGreaterSlantEqual: '\\u2A7E\\u0338',\n NotGreaterTilde: '\\u2275',\n NotHumpDownHump: '\\u224E\\u0338',\n NotHumpEqual: '\\u224F\\u0338',\n NotLeftTriangle: '\\u22EA',\n NotLeftTriangleBar: '\\u29CF\\u0338',\n NotLeftTriangleEqual: '\\u22EC',\n NotLess: '\\u226E',\n NotLessEqual: '\\u2270',\n NotLessGreater: '\\u2278',\n NotLessLess: '\\u226A\\u0338',\n NotLessSlantEqual: '\\u2A7D\\u0338',\n NotLessTilde: '\\u2274',\n NotNestedGreaterGreater: '\\u2AA2\\u0338',\n NotNestedLessLess: '\\u2AA1\\u0338',\n NotPrecedes: '\\u2280',\n NotPrecedesEqual: '\\u2AAF\\u0338',\n NotPrecedesSlantEqual: '\\u22E0',\n NotReverseElement: '\\u220C',\n NotRightTriangle: '\\u22EB',\n NotRightTriangleBar: '\\u29D0\\u0338',\n NotRightTriangleEqual: '\\u22ED',\n NotSquareSubset: '\\u228F\\u0338',\n NotSquareSubsetEqual: '\\u22E2',\n NotSquareSuperset: '\\u2290\\u0338',\n NotSquareSupersetEqual: '\\u22E3',\n NotSubset: '\\u2282\\u20D2',\n NotSubsetEqual: '\\u2288',\n NotSucceeds: '\\u2281',\n NotSucceedsEqual: '\\u2AB0\\u0338',\n NotSucceedsSlantEqual: '\\u22E1',\n NotSucceedsTilde: '\\u227F\\u0338',\n NotSuperset: '\\u2283\\u20D2',\n NotSupersetEqual: '\\u2289',\n NotTilde: '\\u2241',\n NotTildeEqual: '\\u2244',\n NotTildeFullEqual: '\\u2247',\n NotTildeTilde: '\\u2249',\n NotVerticalBar: '\\u2224',\n Nscr: '\\uD835\\uDCA9',\n Ntilde: '\\u00D1',\n Nu: '\\u039D',\n OElig: '\\u0152',\n Oacute: '\\u00D3',\n Ocirc: '\\u00D4',\n Ocy: '\\u041E',\n Odblac: '\\u0150',\n Ofr: '\\uD835\\uDD12',\n Ograve: '\\u00D2',\n Omacr: '\\u014C',\n Omega: '\\u03A9',\n Omicron: '\\u039F',\n Oopf: '\\uD835\\uDD46',\n OpenCurlyDoubleQuote: '\\u201C',\n OpenCurlyQuote: '\\u2018',\n Or: '\\u2A54',\n Oscr: '\\uD835\\uDCAA',\n Oslash: '\\u00D8',\n Otilde: '\\u00D5',\n Otimes: '\\u2A37',\n Ouml: '\\u00D6',\n OverBar: '\\u203E',\n OverBrace: '\\u23DE',\n OverBracket: '\\u23B4',\n OverParenthesis: '\\u23DC',\n PartialD: '\\u2202',\n Pcy: '\\u041F',\n Pfr: '\\uD835\\uDD13',\n Phi: '\\u03A6',\n Pi: '\\u03A0',\n PlusMinus: '\\u00B1',\n Poincareplane: '\\u210C',\n Popf: '\\u2119',\n Pr: '\\u2ABB',\n Precedes: '\\u227A',\n PrecedesEqual: '\\u2AAF',\n PrecedesSlantEqual: '\\u227C',\n PrecedesTilde: '\\u227E',\n Prime: '\\u2033',\n Product: '\\u220F',\n Proportion: '\\u2237',\n Proportional: '\\u221D',\n Pscr: '\\uD835\\uDCAB',\n Psi: '\\u03A8',\n QUOT: '\\u0022',\n Qfr: '\\uD835\\uDD14',\n Qopf: '\\u211A',\n Qscr: '\\uD835\\uDCAC',\n RBarr: '\\u2910',\n REG: '\\u00AE',\n Racute: '\\u0154',\n Rang: '\\u27EB',\n Rarr: '\\u21A0',\n Rarrtl: '\\u2916',\n Rcaron: '\\u0158',\n Rcedil: '\\u0156',\n Rcy: '\\u0420',\n Re: '\\u211C',\n ReverseElement: '\\u220B',\n ReverseEquilibrium: '\\u21CB',\n ReverseUpEquilibrium: '\\u296F',\n Rfr: '\\u211C',\n Rho: '\\u03A1',\n RightAngleBracket: '\\u27E9',\n RightArrow: '\\u2192',\n RightArrowBar: '\\u21E5',\n RightArrowLeftArrow: '\\u21C4',\n RightCeiling: '\\u2309',\n RightDoubleBracket: '\\u27E7',\n RightDownTeeVector: '\\u295D',\n RightDownVector: '\\u21C2',\n RightDownVectorBar: '\\u2955',\n RightFloor: '\\u230B',\n RightTee: '\\u22A2',\n RightTeeArrow: '\\u21A6',\n RightTeeVector: '\\u295B',\n RightTriangle: '\\u22B3',\n RightTriangleBar: '\\u29D0',\n RightTriangleEqual: '\\u22B5',\n RightUpDownVector: '\\u294F',\n RightUpTeeVector: '\\u295C',\n RightUpVector: '\\u21BE',\n RightUpVectorBar: '\\u2954',\n RightVector: '\\u21C0',\n RightVectorBar: '\\u2953',\n Rightarrow: '\\u21D2',\n Ropf: '\\u211D',\n RoundImplies: '\\u2970',\n Rrightarrow: '\\u21DB',\n Rscr: '\\u211B',\n Rsh: '\\u21B1',\n RuleDelayed: '\\u29F4',\n SHCHcy: '\\u0429',\n SHcy: '\\u0428',\n SOFTcy: '\\u042C',\n Sacute: '\\u015A',\n Sc: '\\u2ABC',\n Scaron: '\\u0160',\n Scedil: '\\u015E',\n Scirc: '\\u015C',\n Scy: '\\u0421',\n Sfr: '\\uD835\\uDD16',\n ShortDownArrow: '\\u2193',\n ShortLeftArrow: '\\u2190',\n ShortRightArrow: '\\u2192',\n ShortUpArrow: '\\u2191',\n Sigma: '\\u03A3',\n SmallCircle: '\\u2218',\n Sopf: '\\uD835\\uDD4A',\n Sqrt: '\\u221A',\n Square: '\\u25A1',\n SquareIntersection: '\\u2293',\n SquareSubset: '\\u228F',\n SquareSubsetEqual: '\\u2291',\n SquareSuperset: '\\u2290',\n SquareSupersetEqual: '\\u2292',\n SquareUnion: '\\u2294',\n Sscr: '\\uD835\\uDCAE',\n Star: '\\u22C6',\n Sub: '\\u22D0',\n Subset: '\\u22D0',\n SubsetEqual: '\\u2286',\n Succeeds: '\\u227B',\n SucceedsEqual: '\\u2AB0',\n SucceedsSlantEqual: '\\u227D',\n SucceedsTilde: '\\u227F',\n SuchThat: '\\u220B',\n Sum: '\\u2211',\n Sup: '\\u22D1',\n Superset: '\\u2283',\n SupersetEqual: '\\u2287',\n Supset: '\\u22D1',\n THORN: '\\u00DE',\n TRADE: '\\u2122',\n TSHcy: '\\u040B',\n TScy: '\\u0426',\n Tab: '\\u0009',\n Tau: '\\u03A4',\n Tcaron: '\\u0164',\n Tcedil: '\\u0162',\n Tcy: '\\u0422',\n Tfr: '\\uD835\\uDD17',\n Therefore: '\\u2234',\n Theta: '\\u0398',\n ThickSpace: '\\u205F\\u200A',\n ThinSpace: '\\u2009',\n Tilde: '\\u223C',\n TildeEqual: '\\u2243',\n TildeFullEqual: '\\u2245',\n TildeTilde: '\\u2248',\n Topf: '\\uD835\\uDD4B',\n TripleDot: '\\u20DB',\n Tscr: '\\uD835\\uDCAF',\n Tstrok: '\\u0166',\n Uacute: '\\u00DA',\n Uarr: '\\u219F',\n Uarrocir: '\\u2949',\n Ubrcy: '\\u040E',\n Ubreve: '\\u016C',\n Ucirc: '\\u00DB',\n Ucy: '\\u0423',\n Udblac: '\\u0170',\n Ufr: '\\uD835\\uDD18',\n Ugrave: '\\u00D9',\n Umacr: '\\u016A',\n UnderBar: '\\u005F',\n UnderBrace: '\\u23DF',\n UnderBracket: '\\u23B5',\n UnderParenthesis: '\\u23DD',\n Union: '\\u22C3',\n UnionPlus: '\\u228E',\n Uogon: '\\u0172',\n Uopf: '\\uD835\\uDD4C',\n UpArrow: '\\u2191',\n UpArrowBar: '\\u2912',\n UpArrowDownArrow: '\\u21C5',\n UpDownArrow: '\\u2195',\n UpEquilibrium: '\\u296E',\n UpTee: '\\u22A5',\n UpTeeArrow: '\\u21A5',\n Uparrow: '\\u21D1',\n Updownarrow: '\\u21D5',\n UpperLeftArrow: '\\u2196',\n UpperRightArrow: '\\u2197',\n Upsi: '\\u03D2',\n Upsilon: '\\u03A5',\n Uring: '\\u016E',\n Uscr: '\\uD835\\uDCB0',\n Utilde: '\\u0168',\n Uuml: '\\u00DC',\n VDash: '\\u22AB',\n Vbar: '\\u2AEB',\n Vcy: '\\u0412',\n Vdash: '\\u22A9',\n Vdashl: '\\u2AE6',\n Vee: '\\u22C1',\n Verbar: '\\u2016',\n Vert: '\\u2016',\n VerticalBar: '\\u2223',\n VerticalLine: '\\u007C',\n VerticalSeparator: '\\u2758',\n VerticalTilde: '\\u2240',\n VeryThinSpace: '\\u200A',\n Vfr: '\\uD835\\uDD19',\n Vopf: '\\uD835\\uDD4D',\n Vscr: '\\uD835\\uDCB1',\n Vvdash: '\\u22AA',\n Wcirc: '\\u0174',\n Wedge: '\\u22C0',\n Wfr: '\\uD835\\uDD1A',\n Wopf: '\\uD835\\uDD4E',\n Wscr: '\\uD835\\uDCB2',\n Xfr: '\\uD835\\uDD1B',\n Xi: '\\u039E',\n Xopf: '\\uD835\\uDD4F',\n Xscr: '\\uD835\\uDCB3',\n YAcy: '\\u042F',\n YIcy: '\\u0407',\n YUcy: '\\u042E',\n Yacute: '\\u00DD',\n Ycirc: '\\u0176',\n Ycy: '\\u042B',\n Yfr: '\\uD835\\uDD1C',\n Yopf: '\\uD835\\uDD50',\n Yscr: '\\uD835\\uDCB4',\n Yuml: '\\u0178',\n ZHcy: '\\u0416',\n Zacute: '\\u0179',\n Zcaron: '\\u017D',\n Zcy: '\\u0417',\n Zdot: '\\u017B',\n ZeroWidthSpace: '\\u200B',\n Zeta: '\\u0396',\n Zfr: '\\u2128',\n Zopf: '\\u2124',\n Zscr: '\\uD835\\uDCB5',\n aacute: '\\u00E1',\n abreve: '\\u0103',\n ac: '\\u223E',\n acE: '\\u223E\\u0333',\n acd: '\\u223F',\n acirc: '\\u00E2',\n acute: '\\u00B4',\n acy: '\\u0430',\n aelig: '\\u00E6',\n af: '\\u2061',\n afr: '\\uD835\\uDD1E',\n agrave: '\\u00E0',\n alefsym: '\\u2135',\n aleph: '\\u2135',\n alpha: '\\u03B1',\n amacr: '\\u0101',\n amalg: '\\u2A3F',\n amp: '\\u0026',\n and: '\\u2227',\n andand: '\\u2A55',\n andd: '\\u2A5C',\n andslope: '\\u2A58',\n andv: '\\u2A5A',\n ang: '\\u2220',\n ange: '\\u29A4',\n angle: '\\u2220',\n angmsd: '\\u2221',\n angmsdaa: '\\u29A8',\n angmsdab: '\\u29A9',\n angmsdac: '\\u29AA',\n angmsdad: '\\u29AB',\n angmsdae: '\\u29AC',\n angmsdaf: '\\u29AD',\n angmsdag: '\\u29AE',\n angmsdah: '\\u29AF',\n angrt: '\\u221F',\n angrtvb: '\\u22BE',\n angrtvbd: '\\u299D',\n angsph: '\\u2222',\n angst: '\\u00C5',\n angzarr: '\\u237C',\n aogon: '\\u0105',\n aopf: '\\uD835\\uDD52',\n ap: '\\u2248',\n apE: '\\u2A70',\n apacir: '\\u2A6F',\n ape: '\\u224A',\n apid: '\\u224B',\n apos: '\\u0027',\n approx: '\\u2248',\n approxeq: '\\u224A',\n aring: '\\u00E5',\n ascr: '\\uD835\\uDCB6',\n ast: '\\u002A',\n asymp: '\\u2248',\n asympeq: '\\u224D',\n atilde: '\\u00E3',\n auml: '\\u00E4',\n awconint: '\\u2233',\n awint: '\\u2A11',\n bNot: '\\u2AED',\n backcong: '\\u224C',\n backepsilon: '\\u03F6',\n backprime: '\\u2035',\n backsim: '\\u223D',\n backsimeq: '\\u22CD',\n barvee: '\\u22BD',\n barwed: '\\u2305',\n barwedge: '\\u2305',\n bbrk: '\\u23B5',\n bbrktbrk: '\\u23B6',\n bcong: '\\u224C',\n bcy: '\\u0431',\n bdquo: '\\u201E',\n becaus: '\\u2235',\n because: '\\u2235',\n bemptyv: '\\u29B0',\n bepsi: '\\u03F6',\n bernou: '\\u212C',\n beta: '\\u03B2',\n beth: '\\u2136',\n between: '\\u226C',\n bfr: '\\uD835\\uDD1F',\n bigcap: '\\u22C2',\n bigcirc: '\\u25EF',\n bigcup: '\\u22C3',\n bigodot: '\\u2A00',\n bigoplus: '\\u2A01',\n bigotimes: '\\u2A02',\n bigsqcup: '\\u2A06',\n bigstar: '\\u2605',\n bigtriangledown: '\\u25BD',\n bigtriangleup: '\\u25B3',\n biguplus: '\\u2A04',\n bigvee: '\\u22C1',\n bigwedge: '\\u22C0',\n bkarow: '\\u290D',\n blacklozenge: '\\u29EB',\n blacksquare: '\\u25AA',\n blacktriangle: '\\u25B4',\n blacktriangledown: '\\u25BE',\n blacktriangleleft: '\\u25C2',\n blacktriangleright: '\\u25B8',\n blank: '\\u2423',\n blk12: '\\u2592',\n blk14: '\\u2591',\n blk34: '\\u2593',\n block: '\\u2588',\n bne: '\\u003D\\u20E5',\n bnequiv: '\\u2261\\u20E5',\n bnot: '\\u2310',\n bopf: '\\uD835\\uDD53',\n bot: '\\u22A5',\n bottom: '\\u22A5',\n bowtie: '\\u22C8',\n boxDL: '\\u2557',\n boxDR: '\\u2554',\n boxDl: '\\u2556',\n boxDr: '\\u2553',\n boxH: '\\u2550',\n boxHD: '\\u2566',\n boxHU: '\\u2569',\n boxHd: '\\u2564',\n boxHu: '\\u2567',\n boxUL: '\\u255D',\n boxUR: '\\u255A',\n boxUl: '\\u255C',\n boxUr: '\\u2559',\n boxV: '\\u2551',\n boxVH: '\\u256C',\n boxVL: '\\u2563',\n boxVR: '\\u2560',\n boxVh: '\\u256B',\n boxVl: '\\u2562',\n boxVr: '\\u255F',\n boxbox: '\\u29C9',\n boxdL: '\\u2555',\n boxdR: '\\u2552',\n boxdl: '\\u2510',\n boxdr: '\\u250C',\n boxh: '\\u2500',\n boxhD: '\\u2565',\n boxhU: '\\u2568',\n boxhd: '\\u252C',\n boxhu: '\\u2534',\n boxminus: '\\u229F',\n boxplus: '\\u229E',\n boxtimes: '\\u22A0',\n boxuL: '\\u255B',\n boxuR: '\\u2558',\n boxul: '\\u2518',\n boxur: '\\u2514',\n boxv: '\\u2502',\n boxvH: '\\u256A',\n boxvL: '\\u2561',\n boxvR: '\\u255E',\n boxvh: '\\u253C',\n boxvl: '\\u2524',\n boxvr: '\\u251C',\n bprime: '\\u2035',\n breve: '\\u02D8',\n brvbar: '\\u00A6',\n bscr: '\\uD835\\uDCB7',\n bsemi: '\\u204F',\n bsim: '\\u223D',\n bsime: '\\u22CD',\n bsol: '\\u005C',\n bsolb: '\\u29C5',\n bsolhsub: '\\u27C8',\n bull: '\\u2022',\n bullet: '\\u2022',\n bump: '\\u224E',\n bumpE: '\\u2AAE',\n bumpe: '\\u224F',\n bumpeq: '\\u224F',\n cacute: '\\u0107',\n cap: '\\u2229',\n capand: '\\u2A44',\n capbrcup: '\\u2A49',\n capcap: '\\u2A4B',\n capcup: '\\u2A47',\n capdot: '\\u2A40',\n caps: '\\u2229\\uFE00',\n caret: '\\u2041',\n caron: '\\u02C7',\n ccaps: '\\u2A4D',\n ccaron: '\\u010D',\n ccedil: '\\u00E7',\n ccirc: '\\u0109',\n ccups: '\\u2A4C',\n ccupssm: '\\u2A50',\n cdot: '\\u010B',\n cedil: '\\u00B8',\n cemptyv: '\\u29B2',\n cent: '\\u00A2',\n centerdot: '\\u00B7',\n cfr: '\\uD835\\uDD20',\n chcy: '\\u0447',\n check: '\\u2713',\n checkmark: '\\u2713',\n chi: '\\u03C7',\n cir: '\\u25CB',\n cirE: '\\u29C3',\n circ: '\\u02C6',\n circeq: '\\u2257',\n circlearrowleft: '\\u21BA',\n circlearrowright: '\\u21BB',\n circledR: '\\u00AE',\n circledS: '\\u24C8',\n circledast: '\\u229B',\n circledcirc: '\\u229A',\n circleddash: '\\u229D',\n cire: '\\u2257',\n cirfnint: '\\u2A10',\n cirmid: '\\u2AEF',\n cirscir: '\\u29C2',\n clubs: '\\u2663',\n clubsuit: '\\u2663',\n colon: '\\u003A',\n colone: '\\u2254',\n coloneq: '\\u2254',\n comma: '\\u002C',\n commat: '\\u0040',\n comp: '\\u2201',\n compfn: '\\u2218',\n complement: '\\u2201',\n complexes: '\\u2102',\n cong: '\\u2245',\n congdot: '\\u2A6D',\n conint: '\\u222E',\n copf: '\\uD835\\uDD54',\n coprod: '\\u2210',\n copy: '\\u00A9',\n copysr: '\\u2117',\n crarr: '\\u21B5',\n cross: '\\u2717',\n cscr: '\\uD835\\uDCB8',\n csub: '\\u2ACF',\n csube: '\\u2AD1',\n csup: '\\u2AD0',\n csupe: '\\u2AD2',\n ctdot: '\\u22EF',\n cudarrl: '\\u2938',\n cudarrr: '\\u2935',\n cuepr: '\\u22DE',\n cuesc: '\\u22DF',\n cularr: '\\u21B6',\n cularrp: '\\u293D',\n cup: '\\u222A',\n cupbrcap: '\\u2A48',\n cupcap: '\\u2A46',\n cupcup: '\\u2A4A',\n cupdot: '\\u228D',\n cupor: '\\u2A45',\n cups: '\\u222A\\uFE00',\n curarr: '\\u21B7',\n curarrm: '\\u293C',\n curlyeqprec: '\\u22DE',\n curlyeqsucc: '\\u22DF',\n curlyvee: '\\u22CE',\n curlywedge: '\\u22CF',\n curren: '\\u00A4',\n curvearrowleft: '\\u21B6',\n curvearrowright: '\\u21B7',\n cuvee: '\\u22CE',\n cuwed: '\\u22CF',\n cwconint: '\\u2232',\n cwint: '\\u2231',\n cylcty: '\\u232D',\n dArr: '\\u21D3',\n dHar: '\\u2965',\n dagger: '\\u2020',\n daleth: '\\u2138',\n darr: '\\u2193',\n dash: '\\u2010',\n dashv: '\\u22A3',\n dbkarow: '\\u290F',\n dblac: '\\u02DD',\n dcaron: '\\u010F',\n dcy: '\\u0434',\n dd: '\\u2146',\n ddagger: '\\u2021',\n ddarr: '\\u21CA',\n ddotseq: '\\u2A77',\n deg: '\\u00B0',\n delta: '\\u03B4',\n demptyv: '\\u29B1',\n dfisht: '\\u297F',\n dfr: '\\uD835\\uDD21',\n dharl: '\\u21C3',\n dharr: '\\u21C2',\n diam: '\\u22C4',\n diamond: '\\u22C4',\n diamondsuit: '\\u2666',\n diams: '\\u2666',\n die: '\\u00A8',\n digamma: '\\u03DD',\n disin: '\\u22F2',\n div: '\\u00F7',\n divide: '\\u00F7',\n divideontimes: '\\u22C7',\n divonx: '\\u22C7',\n djcy: '\\u0452',\n dlcorn: '\\u231E',\n dlcrop: '\\u230D',\n dollar: '\\u0024',\n dopf: '\\uD835\\uDD55',\n dot: '\\u02D9',\n doteq: '\\u2250',\n doteqdot: '\\u2251',\n dotminus: '\\u2238',\n dotplus: '\\u2214',\n dotsquare: '\\u22A1',\n doublebarwedge: '\\u2306',\n downarrow: '\\u2193',\n downdownarrows: '\\u21CA',\n downharpoonleft: '\\u21C3',\n downharpoonright: '\\u21C2',\n drbkarow: '\\u2910',\n drcorn: '\\u231F',\n drcrop: '\\u230C',\n dscr: '\\uD835\\uDCB9',\n dscy: '\\u0455',\n dsol: '\\u29F6',\n dstrok: '\\u0111',\n dtdot: '\\u22F1',\n dtri: '\\u25BF',\n dtrif: '\\u25BE',\n duarr: '\\u21F5',\n duhar: '\\u296F',\n dwangle: '\\u29A6',\n dzcy: '\\u045F',\n dzigrarr: '\\u27FF',\n eDDot: '\\u2A77',\n eDot: '\\u2251',\n eacute: '\\u00E9',\n easter: '\\u2A6E',\n ecaron: '\\u011B',\n ecir: '\\u2256',\n ecirc: '\\u00EA',\n ecolon: '\\u2255',\n ecy: '\\u044D',\n edot: '\\u0117',\n ee: '\\u2147',\n efDot: '\\u2252',\n efr: '\\uD835\\uDD22',\n eg: '\\u2A9A',\n egrave: '\\u00E8',\n egs: '\\u2A96',\n egsdot: '\\u2A98',\n el: '\\u2A99',\n elinters: '\\u23E7',\n ell: '\\u2113',\n els: '\\u2A95',\n elsdot: '\\u2A97',\n emacr: '\\u0113',\n empty: '\\u2205',\n emptyset: '\\u2205',\n emptyv: '\\u2205',\n emsp13: '\\u2004',\n emsp14: '\\u2005',\n emsp: '\\u2003',\n eng: '\\u014B',\n ensp: '\\u2002',\n eogon: '\\u0119',\n eopf: '\\uD835\\uDD56',\n epar: '\\u22D5',\n eparsl: '\\u29E3',\n eplus: '\\u2A71',\n epsi: '\\u03B5',\n epsilon: '\\u03B5',\n epsiv: '\\u03F5',\n eqcirc: '\\u2256',\n eqcolon: '\\u2255',\n eqsim: '\\u2242',\n eqslantgtr: '\\u2A96',\n eqslantless: '\\u2A95',\n equals: '\\u003D',\n equest: '\\u225F',\n equiv: '\\u2261',\n equivDD: '\\u2A78',\n eqvparsl: '\\u29E5',\n erDot: '\\u2253',\n erarr: '\\u2971',\n escr: '\\u212F',\n esdot: '\\u2250',\n esim: '\\u2242',\n eta: '\\u03B7',\n eth: '\\u00F0',\n euml: '\\u00EB',\n euro: '\\u20AC',\n excl: '\\u0021',\n exist: '\\u2203',\n expectation: '\\u2130',\n exponentiale: '\\u2147',\n fallingdotseq: '\\u2252',\n fcy: '\\u0444',\n female: '\\u2640',\n ffilig: '\\uFB03',\n fflig: '\\uFB00',\n ffllig: '\\uFB04',\n ffr: '\\uD835\\uDD23',\n filig: '\\uFB01',\n fjlig: '\\u0066\\u006A',\n flat: '\\u266D',\n fllig: '\\uFB02',\n fltns: '\\u25B1',\n fnof: '\\u0192',\n fopf: '\\uD835\\uDD57',\n forall: '\\u2200',\n fork: '\\u22D4',\n forkv: '\\u2AD9',\n fpartint: '\\u2A0D',\n frac12: '\\u00BD',\n frac13: '\\u2153',\n frac14: '\\u00BC',\n frac15: '\\u2155',\n frac16: '\\u2159',\n frac18: '\\u215B',\n frac23: '\\u2154',\n frac25: '\\u2156',\n frac34: '\\u00BE',\n frac35: '\\u2157',\n frac38: '\\u215C',\n frac45: '\\u2158',\n frac56: '\\u215A',\n frac58: '\\u215D',\n frac78: '\\u215E',\n frasl: '\\u2044',\n frown: '\\u2322',\n fscr: '\\uD835\\uDCBB',\n gE: '\\u2267',\n gEl: '\\u2A8C',\n gacute: '\\u01F5',\n gamma: '\\u03B3',\n gammad: '\\u03DD',\n gap: '\\u2A86',\n gbreve: '\\u011F',\n gcirc: '\\u011D',\n gcy: '\\u0433',\n gdot: '\\u0121',\n ge: '\\u2265',\n gel: '\\u22DB',\n geq: '\\u2265',\n geqq: '\\u2267',\n geqslant: '\\u2A7E',\n ges: '\\u2A7E',\n gescc: '\\u2AA9',\n gesdot: '\\u2A80',\n gesdoto: '\\u2A82',\n gesdotol: '\\u2A84',\n gesl: '\\u22DB\\uFE00',\n gesles: '\\u2A94',\n gfr: '\\uD835\\uDD24',\n gg: '\\u226B',\n ggg: '\\u22D9',\n gimel: '\\u2137',\n gjcy: '\\u0453',\n gl: '\\u2277',\n glE: '\\u2A92',\n gla: '\\u2AA5',\n glj: '\\u2AA4',\n gnE: '\\u2269',\n gnap: '\\u2A8A',\n gnapprox: '\\u2A8A',\n gne: '\\u2A88',\n gneq: '\\u2A88',\n gneqq: '\\u2269',\n gnsim: '\\u22E7',\n gopf: '\\uD835\\uDD58',\n grave: '\\u0060',\n gscr: '\\u210A',\n gsim: '\\u2273',\n gsime: '\\u2A8E',\n gsiml: '\\u2A90',\n gt: '\\u003E',\n gtcc: '\\u2AA7',\n gtcir: '\\u2A7A',\n gtdot: '\\u22D7',\n gtlPar: '\\u2995',\n gtquest: '\\u2A7C',\n gtrapprox: '\\u2A86',\n gtrarr: '\\u2978',\n gtrdot: '\\u22D7',\n gtreqless: '\\u22DB',\n gtreqqless: '\\u2A8C',\n gtrless: '\\u2277',\n gtrsim: '\\u2273',\n gvertneqq: '\\u2269\\uFE00',\n gvnE: '\\u2269\\uFE00',\n hArr: '\\u21D4',\n hairsp: '\\u200A',\n half: '\\u00BD',\n hamilt: '\\u210B',\n hardcy: '\\u044A',\n harr: '\\u2194',\n harrcir: '\\u2948',\n harrw: '\\u21AD',\n hbar: '\\u210F',\n hcirc: '\\u0125',\n hearts: '\\u2665',\n heartsuit: '\\u2665',\n hellip: '\\u2026',\n hercon: '\\u22B9',\n hfr: '\\uD835\\uDD25',\n hksearow: '\\u2925',\n hkswarow: '\\u2926',\n hoarr: '\\u21FF',\n homtht: '\\u223B',\n hookleftarrow: '\\u21A9',\n hookrightarrow: '\\u21AA',\n hopf: '\\uD835\\uDD59',\n horbar: '\\u2015',\n hscr: '\\uD835\\uDCBD',\n hslash: '\\u210F',\n hstrok: '\\u0127',\n hybull: '\\u2043',\n hyphen: '\\u2010',\n iacute: '\\u00ED',\n ic: '\\u2063',\n icirc: '\\u00EE',\n icy: '\\u0438',\n iecy: '\\u0435',\n iexcl: '\\u00A1',\n iff: '\\u21D4',\n ifr: '\\uD835\\uDD26',\n igrave: '\\u00EC',\n ii: '\\u2148',\n iiiint: '\\u2A0C',\n iiint: '\\u222D',\n iinfin: '\\u29DC',\n iiota: '\\u2129',\n ijlig: '\\u0133',\n imacr: '\\u012B',\n image: '\\u2111',\n imagline: '\\u2110',\n imagpart: '\\u2111',\n imath: '\\u0131',\n imof: '\\u22B7',\n imped: '\\u01B5',\n in: '\\u2208',\n incare: '\\u2105',\n infin: '\\u221E',\n infintie: '\\u29DD',\n inodot: '\\u0131',\n int: '\\u222B',\n intcal: '\\u22BA',\n integers: '\\u2124',\n intercal: '\\u22BA',\n intlarhk: '\\u2A17',\n intprod: '\\u2A3C',\n iocy: '\\u0451',\n iogon: '\\u012F',\n iopf: '\\uD835\\uDD5A',\n iota: '\\u03B9',\n iprod: '\\u2A3C',\n iquest: '\\u00BF',\n iscr: '\\uD835\\uDCBE',\n isin: '\\u2208',\n isinE: '\\u22F9',\n isindot: '\\u22F5',\n isins: '\\u22F4',\n isinsv: '\\u22F3',\n isinv: '\\u2208',\n it: '\\u2062',\n itilde: '\\u0129',\n iukcy: '\\u0456',\n iuml: '\\u00EF',\n jcirc: '\\u0135',\n jcy: '\\u0439',\n jfr: '\\uD835\\uDD27',\n jmath: '\\u0237',\n jopf: '\\uD835\\uDD5B',\n jscr: '\\uD835\\uDCBF',\n jsercy: '\\u0458',\n jukcy: '\\u0454',\n kappa: '\\u03BA',\n kappav: '\\u03F0',\n kcedil: '\\u0137',\n kcy: '\\u043A',\n kfr: '\\uD835\\uDD28',\n kgreen: '\\u0138',\n khcy: '\\u0445',\n kjcy: '\\u045C',\n kopf: '\\uD835\\uDD5C',\n kscr: '\\uD835\\uDCC0',\n lAarr: '\\u21DA',\n lArr: '\\u21D0',\n lAtail: '\\u291B',\n lBarr: '\\u290E',\n lE: '\\u2266',\n lEg: '\\u2A8B',\n lHar: '\\u2962',\n lacute: '\\u013A',\n laemptyv: '\\u29B4',\n lagran: '\\u2112',\n lambda: '\\u03BB',\n lang: '\\u27E8',\n langd: '\\u2991',\n langle: '\\u27E8',\n lap: '\\u2A85',\n laquo: '\\u00AB',\n larr: '\\u2190',\n larrb: '\\u21E4',\n larrbfs: '\\u291F',\n larrfs: '\\u291D',\n larrhk: '\\u21A9',\n larrlp: '\\u21AB',\n larrpl: '\\u2939',\n larrsim: '\\u2973',\n larrtl: '\\u21A2',\n lat: '\\u2AAB',\n latail: '\\u2919',\n late: '\\u2AAD',\n lates: '\\u2AAD\\uFE00',\n lbarr: '\\u290C',\n lbbrk: '\\u2772',\n lbrace: '\\u007B',\n lbrack: '\\u005B',\n lbrke: '\\u298B',\n lbrksld: '\\u298F',\n lbrkslu: '\\u298D',\n lcaron: '\\u013E',\n lcedil: '\\u013C',\n lceil: '\\u2308',\n lcub: '\\u007B',\n lcy: '\\u043B',\n ldca: '\\u2936',\n ldquo: '\\u201C',\n ldquor: '\\u201E',\n ldrdhar: '\\u2967',\n ldrushar: '\\u294B',\n ldsh: '\\u21B2',\n le: '\\u2264',\n leftarrow: '\\u2190',\n leftarrowtail: '\\u21A2',\n leftharpoondown: '\\u21BD',\n leftharpoonup: '\\u21BC',\n leftleftarrows: '\\u21C7',\n leftrightarrow: '\\u2194',\n leftrightarrows: '\\u21C6',\n leftrightharpoons: '\\u21CB',\n leftrightsquigarrow: '\\u21AD',\n leftthreetimes: '\\u22CB',\n leg: '\\u22DA',\n leq: '\\u2264',\n leqq: '\\u2266',\n leqslant: '\\u2A7D',\n les: '\\u2A7D',\n lescc: '\\u2AA8',\n lesdot: '\\u2A7F',\n lesdoto: '\\u2A81',\n lesdotor: '\\u2A83',\n lesg: '\\u22DA\\uFE00',\n lesges: '\\u2A93',\n lessapprox: '\\u2A85',\n lessdot: '\\u22D6',\n lesseqgtr: '\\u22DA',\n lesseqqgtr: '\\u2A8B',\n lessgtr: '\\u2276',\n lesssim: '\\u2272',\n lfisht: '\\u297C',\n lfloor: '\\u230A',\n lfr: '\\uD835\\uDD29',\n lg: '\\u2276',\n lgE: '\\u2A91',\n lhard: '\\u21BD',\n lharu: '\\u21BC',\n lharul: '\\u296A',\n lhblk: '\\u2584',\n ljcy: '\\u0459',\n ll: '\\u226A',\n llarr: '\\u21C7',\n llcorner: '\\u231E',\n llhard: '\\u296B',\n lltri: '\\u25FA',\n lmidot: '\\u0140',\n lmoust: '\\u23B0',\n lmoustache: '\\u23B0',\n lnE: '\\u2268',\n lnap: '\\u2A89',\n lnapprox: '\\u2A89',\n lne: '\\u2A87',\n lneq: '\\u2A87',\n lneqq: '\\u2268',\n lnsim: '\\u22E6',\n loang: '\\u27EC',\n loarr: '\\u21FD',\n lobrk: '\\u27E6',\n longleftarrow: '\\u27F5',\n longleftrightarrow: '\\u27F7',\n longmapsto: '\\u27FC',\n longrightarrow: '\\u27F6',\n looparrowleft: '\\u21AB',\n looparrowright: '\\u21AC',\n lopar: '\\u2985',\n lopf: '\\uD835\\uDD5D',\n loplus: '\\u2A2D',\n lotimes: '\\u2A34',\n lowast: '\\u2217',\n lowbar: '\\u005F',\n loz: '\\u25CA',\n lozenge: '\\u25CA',\n lozf: '\\u29EB',\n lpar: '\\u0028',\n lparlt: '\\u2993',\n lrarr: '\\u21C6',\n lrcorner: '\\u231F',\n lrhar: '\\u21CB',\n lrhard: '\\u296D',\n lrm: '\\u200E',\n lrtri: '\\u22BF',\n lsaquo: '\\u2039',\n lscr: '\\uD835\\uDCC1',\n lsh: '\\u21B0',\n lsim: '\\u2272',\n lsime: '\\u2A8D',\n lsimg: '\\u2A8F',\n lsqb: '\\u005B',\n lsquo: '\\u2018',\n lsquor: '\\u201A',\n lstrok: '\\u0142',\n lt: '\\u003C',\n ltcc: '\\u2AA6',\n ltcir: '\\u2A79',\n ltdot: '\\u22D6',\n lthree: '\\u22CB',\n ltimes: '\\u22C9',\n ltlarr: '\\u2976',\n ltquest: '\\u2A7B',\n ltrPar: '\\u2996',\n ltri: '\\u25C3',\n ltrie: '\\u22B4',\n ltrif: '\\u25C2',\n lurdshar: '\\u294A',\n luruhar: '\\u2966',\n lvertneqq: '\\u2268\\uFE00',\n lvnE: '\\u2268\\uFE00',\n mDDot: '\\u223A',\n macr: '\\u00AF',\n male: '\\u2642',\n malt: '\\u2720',\n maltese: '\\u2720',\n map: '\\u21A6',\n mapsto: '\\u21A6',\n mapstodown: '\\u21A7',\n mapstoleft: '\\u21A4',\n mapstoup: '\\u21A5',\n marker: '\\u25AE',\n mcomma: '\\u2A29',\n mcy: '\\u043C',\n mdash: '\\u2014',\n measuredangle: '\\u2221',\n mfr: '\\uD835\\uDD2A',\n mho: '\\u2127',\n micro: '\\u00B5',\n mid: '\\u2223',\n midast: '\\u002A',\n midcir: '\\u2AF0',\n middot: '\\u00B7',\n minus: '\\u2212',\n minusb: '\\u229F',\n minusd: '\\u2238',\n minusdu: '\\u2A2A',\n mlcp: '\\u2ADB',\n mldr: '\\u2026',\n mnplus: '\\u2213',\n models: '\\u22A7',\n mopf: '\\uD835\\uDD5E',\n mp: '\\u2213',\n mscr: '\\uD835\\uDCC2',\n mstpos: '\\u223E',\n mu: '\\u03BC',\n multimap: '\\u22B8',\n mumap: '\\u22B8',\n nGg: '\\u22D9\\u0338',\n nGt: '\\u226B\\u20D2',\n nGtv: '\\u226B\\u0338',\n nLeftarrow: '\\u21CD',\n nLeftrightarrow: '\\u21CE',\n nLl: '\\u22D8\\u0338',\n nLt: '\\u226A\\u20D2',\n nLtv: '\\u226A\\u0338',\n nRightarrow: '\\u21CF',\n nVDash: '\\u22AF',\n nVdash: '\\u22AE',\n nabla: '\\u2207',\n nacute: '\\u0144',\n nang: '\\u2220\\u20D2',\n nap: '\\u2249',\n napE: '\\u2A70\\u0338',\n napid: '\\u224B\\u0338',\n napos: '\\u0149',\n napprox: '\\u2249',\n natur: '\\u266E',\n natural: '\\u266E',\n naturals: '\\u2115',\n nbsp: '\\u00A0',\n nbump: '\\u224E\\u0338',\n nbumpe: '\\u224F\\u0338',\n ncap: '\\u2A43',\n ncaron: '\\u0148',\n ncedil: '\\u0146',\n ncong: '\\u2247',\n ncongdot: '\\u2A6D\\u0338',\n ncup: '\\u2A42',\n ncy: '\\u043D',\n ndash: '\\u2013',\n ne: '\\u2260',\n neArr: '\\u21D7',\n nearhk: '\\u2924',\n nearr: '\\u2197',\n nearrow: '\\u2197',\n nedot: '\\u2250\\u0338',\n nequiv: '\\u2262',\n nesear: '\\u2928',\n nesim: '\\u2242\\u0338',\n nexist: '\\u2204',\n nexists: '\\u2204',\n nfr: '\\uD835\\uDD2B',\n ngE: '\\u2267\\u0338',\n nge: '\\u2271',\n ngeq: '\\u2271',\n ngeqq: '\\u2267\\u0338',\n ngeqslant: '\\u2A7E\\u0338',\n nges: '\\u2A7E\\u0338',\n ngsim: '\\u2275',\n ngt: '\\u226F',\n ngtr: '\\u226F',\n nhArr: '\\u21CE',\n nharr: '\\u21AE',\n nhpar: '\\u2AF2',\n ni: '\\u220B',\n nis: '\\u22FC',\n nisd: '\\u22FA',\n niv: '\\u220B',\n njcy: '\\u045A',\n nlArr: '\\u21CD',\n nlE: '\\u2266\\u0338',\n nlarr: '\\u219A',\n nldr: '\\u2025',\n nle: '\\u2270',\n nleftarrow: '\\u219A',\n nleftrightarrow: '\\u21AE',\n nleq: '\\u2270',\n nleqq: '\\u2266\\u0338',\n nleqslant: '\\u2A7D\\u0338',\n nles: '\\u2A7D\\u0338',\n nless: '\\u226E',\n nlsim: '\\u2274',\n nlt: '\\u226E',\n nltri: '\\u22EA',\n nltrie: '\\u22EC',\n nmid: '\\u2224',\n nopf: '\\uD835\\uDD5F',\n not: '\\u00AC',\n notin: '\\u2209',\n notinE: '\\u22F9\\u0338',\n notindot: '\\u22F5\\u0338',\n notinva: '\\u2209',\n notinvb: '\\u22F7',\n notinvc: '\\u22F6',\n notni: '\\u220C',\n notniva: '\\u220C',\n notnivb: '\\u22FE',\n notnivc: '\\u22FD',\n npar: '\\u2226',\n nparallel: '\\u2226',\n nparsl: '\\u2AFD\\u20E5',\n npart: '\\u2202\\u0338',\n npolint: '\\u2A14',\n npr: '\\u2280',\n nprcue: '\\u22E0',\n npre: '\\u2AAF\\u0338',\n nprec: '\\u2280',\n npreceq: '\\u2AAF\\u0338',\n nrArr: '\\u21CF',\n nrarr: '\\u219B',\n nrarrc: '\\u2933\\u0338',\n nrarrw: '\\u219D\\u0338',\n nrightarrow: '\\u219B',\n nrtri: '\\u22EB',\n nrtrie: '\\u22ED',\n nsc: '\\u2281',\n nsccue: '\\u22E1',\n nsce: '\\u2AB0\\u0338',\n nscr: '\\uD835\\uDCC3',\n nshortmid: '\\u2224',\n nshortparallel: '\\u2226',\n nsim: '\\u2241',\n nsime: '\\u2244',\n nsimeq: '\\u2244',\n nsmid: '\\u2224',\n nspar: '\\u2226',\n nsqsube: '\\u22E2',\n nsqsupe: '\\u22E3',\n nsub: '\\u2284',\n nsubE: '\\u2AC5\\u0338',\n nsube: '\\u2288',\n nsubset: '\\u2282\\u20D2',\n nsubseteq: '\\u2288',\n nsubseteqq: '\\u2AC5\\u0338',\n nsucc: '\\u2281',\n nsucceq: '\\u2AB0\\u0338',\n nsup: '\\u2285',\n nsupE: '\\u2AC6\\u0338',\n nsupe: '\\u2289',\n nsupset: '\\u2283\\u20D2',\n nsupseteq: '\\u2289',\n nsupseteqq: '\\u2AC6\\u0338',\n ntgl: '\\u2279',\n ntilde: '\\u00F1',\n ntlg: '\\u2278',\n ntriangleleft: '\\u22EA',\n ntrianglelefteq: '\\u22EC',\n ntriangleright: '\\u22EB',\n ntrianglerighteq: '\\u22ED',\n nu: '\\u03BD',\n num: '\\u0023',\n numero: '\\u2116',\n numsp: '\\u2007',\n nvDash: '\\u22AD',\n nvHarr: '\\u2904',\n nvap: '\\u224D\\u20D2',\n nvdash: '\\u22AC',\n nvge: '\\u2265\\u20D2',\n nvgt: '\\u003E\\u20D2',\n nvinfin: '\\u29DE',\n nvlArr: '\\u2902',\n nvle: '\\u2264\\u20D2',\n nvlt: '\\u003C\\u20D2',\n nvltrie: '\\u22B4\\u20D2',\n nvrArr: '\\u2903',\n nvrtrie: '\\u22B5\\u20D2',\n nvsim: '\\u223C\\u20D2',\n nwArr: '\\u21D6',\n nwarhk: '\\u2923',\n nwarr: '\\u2196',\n nwarrow: '\\u2196',\n nwnear: '\\u2927',\n oS: '\\u24C8',\n oacute: '\\u00F3',\n oast: '\\u229B',\n ocir: '\\u229A',\n ocirc: '\\u00F4',\n ocy: '\\u043E',\n odash: '\\u229D',\n odblac: '\\u0151',\n odiv: '\\u2A38',\n odot: '\\u2299',\n odsold: '\\u29BC',\n oelig: '\\u0153',\n ofcir: '\\u29BF',\n ofr: '\\uD835\\uDD2C',\n ogon: '\\u02DB',\n ograve: '\\u00F2',\n ogt: '\\u29C1',\n ohbar: '\\u29B5',\n ohm: '\\u03A9',\n oint: '\\u222E',\n olarr: '\\u21BA',\n olcir: '\\u29BE',\n olcross: '\\u29BB',\n oline: '\\u203E',\n olt: '\\u29C0',\n omacr: '\\u014D',\n omega: '\\u03C9',\n omicron: '\\u03BF',\n omid: '\\u29B6',\n ominus: '\\u2296',\n oopf: '\\uD835\\uDD60',\n opar: '\\u29B7',\n operp: '\\u29B9',\n oplus: '\\u2295',\n or: '\\u2228',\n orarr: '\\u21BB',\n ord: '\\u2A5D',\n order: '\\u2134',\n orderof: '\\u2134',\n ordf: '\\u00AA',\n ordm: '\\u00BA',\n origof: '\\u22B6',\n oror: '\\u2A56',\n orslope: '\\u2A57',\n orv: '\\u2A5B',\n oscr: '\\u2134',\n oslash: '\\u00F8',\n osol: '\\u2298',\n otilde: '\\u00F5',\n otimes: '\\u2297',\n otimesas: '\\u2A36',\n ouml: '\\u00F6',\n ovbar: '\\u233D',\n par: '\\u2225',\n para: '\\u00B6',\n parallel: '\\u2225',\n parsim: '\\u2AF3',\n parsl: '\\u2AFD',\n part: '\\u2202',\n pcy: '\\u043F',\n percnt: '\\u0025',\n period: '\\u002E',\n permil: '\\u2030',\n perp: '\\u22A5',\n pertenk: '\\u2031',\n pfr: '\\uD835\\uDD2D',\n phi: '\\u03C6',\n phiv: '\\u03D5',\n phmmat: '\\u2133',\n phone: '\\u260E',\n pi: '\\u03C0',\n pitchfork: '\\u22D4',\n piv: '\\u03D6',\n planck: '\\u210F',\n planckh: '\\u210E',\n plankv: '\\u210F',\n plus: '\\u002B',\n plusacir: '\\u2A23',\n plusb: '\\u229E',\n pluscir: '\\u2A22',\n plusdo: '\\u2214',\n plusdu: '\\u2A25',\n pluse: '\\u2A72',\n plusmn: '\\u00B1',\n plussim: '\\u2A26',\n plustwo: '\\u2A27',\n pm: '\\u00B1',\n pointint: '\\u2A15',\n popf: '\\uD835\\uDD61',\n pound: '\\u00A3',\n pr: '\\u227A',\n prE: '\\u2AB3',\n prap: '\\u2AB7',\n prcue: '\\u227C',\n pre: '\\u2AAF',\n prec: '\\u227A',\n precapprox: '\\u2AB7',\n preccurlyeq: '\\u227C',\n preceq: '\\u2AAF',\n precnapprox: '\\u2AB9',\n precneqq: '\\u2AB5',\n precnsim: '\\u22E8',\n precsim: '\\u227E',\n prime: '\\u2032',\n primes: '\\u2119',\n prnE: '\\u2AB5',\n prnap: '\\u2AB9',\n prnsim: '\\u22E8',\n prod: '\\u220F',\n profalar: '\\u232E',\n profline: '\\u2312',\n profsurf: '\\u2313',\n prop: '\\u221D',\n propto: '\\u221D',\n prsim: '\\u227E',\n prurel: '\\u22B0',\n pscr: '\\uD835\\uDCC5',\n psi: '\\u03C8',\n puncsp: '\\u2008',\n qfr: '\\uD835\\uDD2E',\n qint: '\\u2A0C',\n qopf: '\\uD835\\uDD62',\n qprime: '\\u2057',\n qscr: '\\uD835\\uDCC6',\n quaternions: '\\u210D',\n quatint: '\\u2A16',\n quest: '\\u003F',\n questeq: '\\u225F',\n quot: '\\u0022',\n rAarr: '\\u21DB',\n rArr: '\\u21D2',\n rAtail: '\\u291C',\n rBarr: '\\u290F',\n rHar: '\\u2964',\n race: '\\u223D\\u0331',\n racute: '\\u0155',\n radic: '\\u221A',\n raemptyv: '\\u29B3',\n rang: '\\u27E9',\n rangd: '\\u2992',\n range: '\\u29A5',\n rangle: '\\u27E9',\n raquo: '\\u00BB',\n rarr: '\\u2192',\n rarrap: '\\u2975',\n rarrb: '\\u21E5',\n rarrbfs: '\\u2920',\n rarrc: '\\u2933',\n rarrfs: '\\u291E',\n rarrhk: '\\u21AA',\n rarrlp: '\\u21AC',\n rarrpl: '\\u2945',\n rarrsim: '\\u2974',\n rarrtl: '\\u21A3',\n rarrw: '\\u219D',\n ratail: '\\u291A',\n ratio: '\\u2236',\n rationals: '\\u211A',\n rbarr: '\\u290D',\n rbbrk: '\\u2773',\n rbrace: '\\u007D',\n rbrack: '\\u005D',\n rbrke: '\\u298C',\n rbrksld: '\\u298E',\n rbrkslu: '\\u2990',\n rcaron: '\\u0159',\n rcedil: '\\u0157',\n rceil: '\\u2309',\n rcub: '\\u007D',\n rcy: '\\u0440',\n rdca: '\\u2937',\n rdldhar: '\\u2969',\n rdquo: '\\u201D',\n rdquor: '\\u201D',\n rdsh: '\\u21B3',\n real: '\\u211C',\n realine: '\\u211B',\n realpart: '\\u211C',\n reals: '\\u211D',\n rect: '\\u25AD',\n reg: '\\u00AE',\n rfisht: '\\u297D',\n rfloor: '\\u230B',\n rfr: '\\uD835\\uDD2F',\n rhard: '\\u21C1',\n rharu: '\\u21C0',\n rharul: '\\u296C',\n rho: '\\u03C1',\n rhov: '\\u03F1',\n rightarrow: '\\u2192',\n rightarrowtail: '\\u21A3',\n rightharpoondown: '\\u21C1',\n rightharpoonup: '\\u21C0',\n rightleftarrows: '\\u21C4',\n rightleftharpoons: '\\u21CC',\n rightrightarrows: '\\u21C9',\n rightsquigarrow: '\\u219D',\n rightthreetimes: '\\u22CC',\n ring: '\\u02DA',\n risingdotseq: '\\u2253',\n rlarr: '\\u21C4',\n rlhar: '\\u21CC',\n rlm: '\\u200F',\n rmoust: '\\u23B1',\n rmoustache: '\\u23B1',\n rnmid: '\\u2AEE',\n roang: '\\u27ED',\n roarr: '\\u21FE',\n robrk: '\\u27E7',\n ropar: '\\u2986',\n ropf: '\\uD835\\uDD63',\n roplus: '\\u2A2E',\n rotimes: '\\u2A35',\n rpar: '\\u0029',\n rpargt: '\\u2994',\n rppolint: '\\u2A12',\n rrarr: '\\u21C9',\n rsaquo: '\\u203A',\n rscr: '\\uD835\\uDCC7',\n rsh: '\\u21B1',\n rsqb: '\\u005D',\n rsquo: '\\u2019',\n rsquor: '\\u2019',\n rthree: '\\u22CC',\n rtimes: '\\u22CA',\n rtri: '\\u25B9',\n rtrie: '\\u22B5',\n rtrif: '\\u25B8',\n rtriltri: '\\u29CE',\n ruluhar: '\\u2968',\n rx: '\\u211E',\n sacute: '\\u015B',\n sbquo: '\\u201A',\n sc: '\\u227B',\n scE: '\\u2AB4',\n scap: '\\u2AB8',\n scaron: '\\u0161',\n sccue: '\\u227D',\n sce: '\\u2AB0',\n scedil: '\\u015F',\n scirc: '\\u015D',\n scnE: '\\u2AB6',\n scnap: '\\u2ABA',\n scnsim: '\\u22E9',\n scpolint: '\\u2A13',\n scsim: '\\u227F',\n scy: '\\u0441',\n sdot: '\\u22C5',\n sdotb: '\\u22A1',\n sdote: '\\u2A66',\n seArr: '\\u21D8',\n searhk: '\\u2925',\n searr: '\\u2198',\n searrow: '\\u2198',\n sect: '\\u00A7',\n semi: '\\u003B',\n seswar: '\\u2929',\n setminus: '\\u2216',\n setmn: '\\u2216',\n sext: '\\u2736',\n sfr: '\\uD835\\uDD30',\n sfrown: '\\u2322',\n sharp: '\\u266F',\n shchcy: '\\u0449',\n shcy: '\\u0448',\n shortmid: '\\u2223',\n shortparallel: '\\u2225',\n shy: '\\u00AD',\n sigma: '\\u03C3',\n sigmaf: '\\u03C2',\n sigmav: '\\u03C2',\n sim: '\\u223C',\n simdot: '\\u2A6A',\n sime: '\\u2243',\n simeq: '\\u2243',\n simg: '\\u2A9E',\n simgE: '\\u2AA0',\n siml: '\\u2A9D',\n simlE: '\\u2A9F',\n simne: '\\u2246',\n simplus: '\\u2A24',\n simrarr: '\\u2972',\n slarr: '\\u2190',\n smallsetminus: '\\u2216',\n smashp: '\\u2A33',\n smeparsl: '\\u29E4',\n smid: '\\u2223',\n smile: '\\u2323',\n smt: '\\u2AAA',\n smte: '\\u2AAC',\n smtes: '\\u2AAC\\uFE00',\n softcy: '\\u044C',\n sol: '\\u002F',\n solb: '\\u29C4',\n solbar: '\\u233F',\n sopf: '\\uD835\\uDD64',\n spades: '\\u2660',\n spadesuit: '\\u2660',\n spar: '\\u2225',\n sqcap: '\\u2293',\n sqcaps: '\\u2293\\uFE00',\n sqcup: '\\u2294',\n sqcups: '\\u2294\\uFE00',\n sqsub: '\\u228F',\n sqsube: '\\u2291',\n sqsubset: '\\u228F',\n sqsubseteq: '\\u2291',\n sqsup: '\\u2290',\n sqsupe: '\\u2292',\n sqsupset: '\\u2290',\n sqsupseteq: '\\u2292',\n squ: '\\u25A1',\n square: '\\u25A1',\n squarf: '\\u25AA',\n squf: '\\u25AA',\n srarr: '\\u2192',\n sscr: '\\uD835\\uDCC8',\n ssetmn: '\\u2216',\n ssmile: '\\u2323',\n sstarf: '\\u22C6',\n star: '\\u2606',\n starf: '\\u2605',\n straightepsilon: '\\u03F5',\n straightphi: '\\u03D5',\n strns: '\\u00AF',\n sub: '\\u2282',\n subE: '\\u2AC5',\n subdot: '\\u2ABD',\n sube: '\\u2286',\n subedot: '\\u2AC3',\n submult: '\\u2AC1',\n subnE: '\\u2ACB',\n subne: '\\u228A',\n subplus: '\\u2ABF',\n subrarr: '\\u2979',\n subset: '\\u2282',\n subseteq: '\\u2286',\n subseteqq: '\\u2AC5',\n subsetneq: '\\u228A',\n subsetneqq: '\\u2ACB',\n subsim: '\\u2AC7',\n subsub: '\\u2AD5',\n subsup: '\\u2AD3',\n succ: '\\u227B',\n succapprox: '\\u2AB8',\n succcurlyeq: '\\u227D',\n succeq: '\\u2AB0',\n succnapprox: '\\u2ABA',\n succneqq: '\\u2AB6',\n succnsim: '\\u22E9',\n succsim: '\\u227F',\n sum: '\\u2211',\n sung: '\\u266A',\n sup1: '\\u00B9',\n sup2: '\\u00B2',\n sup3: '\\u00B3',\n sup: '\\u2283',\n supE: '\\u2AC6',\n supdot: '\\u2ABE',\n supdsub: '\\u2AD8',\n supe: '\\u2287',\n supedot: '\\u2AC4',\n suphsol: '\\u27C9',\n suphsub: '\\u2AD7',\n suplarr: '\\u297B',\n supmult: '\\u2AC2',\n supnE: '\\u2ACC',\n supne: '\\u228B',\n supplus: '\\u2AC0',\n supset: '\\u2283',\n supseteq: '\\u2287',\n supseteqq: '\\u2AC6',\n supsetneq: '\\u228B',\n supsetneqq: '\\u2ACC',\n supsim: '\\u2AC8',\n supsub: '\\u2AD4',\n supsup: '\\u2AD6',\n swArr: '\\u21D9',\n swarhk: '\\u2926',\n swarr: '\\u2199',\n swarrow: '\\u2199',\n swnwar: '\\u292A',\n szlig: '\\u00DF',\n target: '\\u2316',\n tau: '\\u03C4',\n tbrk: '\\u23B4',\n tcaron: '\\u0165',\n tcedil: '\\u0163',\n tcy: '\\u0442',\n tdot: '\\u20DB',\n telrec: '\\u2315',\n tfr: '\\uD835\\uDD31',\n there4: '\\u2234',\n therefore: '\\u2234',\n theta: '\\u03B8',\n thetasym: '\\u03D1',\n thetav: '\\u03D1',\n thickapprox: '\\u2248',\n thicksim: '\\u223C',\n thinsp: '\\u2009',\n thkap: '\\u2248',\n thksim: '\\u223C',\n thorn: '\\u00FE',\n tilde: '\\u02DC',\n times: '\\u00D7',\n timesb: '\\u22A0',\n timesbar: '\\u2A31',\n timesd: '\\u2A30',\n tint: '\\u222D',\n toea: '\\u2928',\n top: '\\u22A4',\n topbot: '\\u2336',\n topcir: '\\u2AF1',\n topf: '\\uD835\\uDD65',\n topfork: '\\u2ADA',\n tosa: '\\u2929',\n tprime: '\\u2034',\n trade: '\\u2122',\n triangle: '\\u25B5',\n triangledown: '\\u25BF',\n triangleleft: '\\u25C3',\n trianglelefteq: '\\u22B4',\n triangleq: '\\u225C',\n triangleright: '\\u25B9',\n trianglerighteq: '\\u22B5',\n tridot: '\\u25EC',\n trie: '\\u225C',\n triminus: '\\u2A3A',\n triplus: '\\u2A39',\n trisb: '\\u29CD',\n tritime: '\\u2A3B',\n trpezium: '\\u23E2',\n tscr: '\\uD835\\uDCC9',\n tscy: '\\u0446',\n tshcy: '\\u045B',\n tstrok: '\\u0167',\n twixt: '\\u226C',\n twoheadleftarrow: '\\u219E',\n twoheadrightarrow: '\\u21A0',\n uArr: '\\u21D1',\n uHar: '\\u2963',\n uacute: '\\u00FA',\n uarr: '\\u2191',\n ubrcy: '\\u045E',\n ubreve: '\\u016D',\n ucirc: '\\u00FB',\n ucy: '\\u0443',\n udarr: '\\u21C5',\n udblac: '\\u0171',\n udhar: '\\u296E',\n ufisht: '\\u297E',\n ufr: '\\uD835\\uDD32',\n ugrave: '\\u00F9',\n uharl: '\\u21BF',\n uharr: '\\u21BE',\n uhblk: '\\u2580',\n ulcorn: '\\u231C',\n ulcorner: '\\u231C',\n ulcrop: '\\u230F',\n ultri: '\\u25F8',\n umacr: '\\u016B',\n uml: '\\u00A8',\n uogon: '\\u0173',\n uopf: '\\uD835\\uDD66',\n uparrow: '\\u2191',\n updownarrow: '\\u2195',\n upharpoonleft: '\\u21BF',\n upharpoonright: '\\u21BE',\n uplus: '\\u228E',\n upsi: '\\u03C5',\n upsih: '\\u03D2',\n upsilon: '\\u03C5',\n upuparrows: '\\u21C8',\n urcorn: '\\u231D',\n urcorner: '\\u231D',\n urcrop: '\\u230E',\n uring: '\\u016F',\n urtri: '\\u25F9',\n uscr: '\\uD835\\uDCCA',\n utdot: '\\u22F0',\n utilde: '\\u0169',\n utri: '\\u25B5',\n utrif: '\\u25B4',\n uuarr: '\\u21C8',\n uuml: '\\u00FC',\n uwangle: '\\u29A7',\n vArr: '\\u21D5',\n vBar: '\\u2AE8',\n vBarv: '\\u2AE9',\n vDash: '\\u22A8',\n vangrt: '\\u299C',\n varepsilon: '\\u03F5',\n varkappa: '\\u03F0',\n varnothing: '\\u2205',\n varphi: '\\u03D5',\n varpi: '\\u03D6',\n varpropto: '\\u221D',\n varr: '\\u2195',\n varrho: '\\u03F1',\n varsigma: '\\u03C2',\n varsubsetneq: '\\u228A\\uFE00',\n varsubsetneqq: '\\u2ACB\\uFE00',\n varsupsetneq: '\\u228B\\uFE00',\n varsupsetneqq: '\\u2ACC\\uFE00',\n vartheta: '\\u03D1',\n vartriangleleft: '\\u22B2',\n vartriangleright: '\\u22B3',\n vcy: '\\u0432',\n vdash: '\\u22A2',\n vee: '\\u2228',\n veebar: '\\u22BB',\n veeeq: '\\u225A',\n vellip: '\\u22EE',\n verbar: '\\u007C',\n vert: '\\u007C',\n vfr: '\\uD835\\uDD33',\n vltri: '\\u22B2',\n vnsub: '\\u2282\\u20D2',\n vnsup: '\\u2283\\u20D2',\n vopf: '\\uD835\\uDD67',\n vprop: '\\u221D',\n vrtri: '\\u22B3',\n vscr: '\\uD835\\uDCCB',\n vsubnE: '\\u2ACB\\uFE00',\n vsubne: '\\u228A\\uFE00',\n vsupnE: '\\u2ACC\\uFE00',\n vsupne: '\\u228B\\uFE00',\n vzigzag: '\\u299A',\n wcirc: '\\u0175',\n wedbar: '\\u2A5F',\n wedge: '\\u2227',\n wedgeq: '\\u2259',\n weierp: '\\u2118',\n wfr: '\\uD835\\uDD34',\n wopf: '\\uD835\\uDD68',\n wp: '\\u2118',\n wr: '\\u2240',\n wreath: '\\u2240',\n wscr: '\\uD835\\uDCCC',\n xcap: '\\u22C2',\n xcirc: '\\u25EF',\n xcup: '\\u22C3',\n xdtri: '\\u25BD',\n xfr: '\\uD835\\uDD35',\n xhArr: '\\u27FA',\n xharr: '\\u27F7',\n xi: '\\u03BE',\n xlArr: '\\u27F8',\n xlarr: '\\u27F5',\n xmap: '\\u27FC',\n xnis: '\\u22FB',\n xodot: '\\u2A00',\n xopf: '\\uD835\\uDD69',\n xoplus: '\\u2A01',\n xotime: '\\u2A02',\n xrArr: '\\u27F9',\n xrarr: '\\u27F6',\n xscr: '\\uD835\\uDCCD',\n xsqcup: '\\u2A06',\n xuplus: '\\u2A04',\n xutri: '\\u25B3',\n xvee: '\\u22C1',\n xwedge: '\\u22C0',\n yacute: '\\u00FD',\n yacy: '\\u044F',\n ycirc: '\\u0177',\n ycy: '\\u044B',\n yen: '\\u00A5',\n yfr: '\\uD835\\uDD36',\n yicy: '\\u0457',\n yopf: '\\uD835\\uDD6A',\n yscr: '\\uD835\\uDCCE',\n yucy: '\\u044E',\n yuml: '\\u00FF',\n zacute: '\\u017A',\n zcaron: '\\u017E',\n zcy: '\\u0437',\n zdot: '\\u017C',\n zeetrf: '\\u2128',\n zeta: '\\u03B6',\n zfr: '\\uD835\\uDD37',\n zhcy: '\\u0436',\n zigrarr: '\\u21DD',\n zopf: '\\uD835\\uDD6B',\n zscr: '\\uD835\\uDCCF',\n zwj: '\\u200D',\n zwnj: '\\u200C',\n};\nconst decodeMap = {\n '0': 65533,\n '128': 8364,\n '130': 8218,\n '131': 402,\n '132': 8222,\n '133': 8230,\n '134': 8224,\n '135': 8225,\n '136': 710,\n '137': 8240,\n '138': 352,\n '139': 8249,\n '140': 338,\n '142': 381,\n '145': 8216,\n '146': 8217,\n '147': 8220,\n '148': 8221,\n '149': 8226,\n '150': 8211,\n '151': 8212,\n '152': 732,\n '153': 8482,\n '154': 353,\n '155': 8250,\n '156': 339,\n '158': 382,\n '159': 376,\n};\nfunction decodeHTMLStrict(text) {\n return text.replace(/&(?:[a-zA-Z]+|#[xX][\\da-fA-F]+|#\\d+);/g, (key) => {\n if (key.charAt(1) === '#') {\n const secondChar = key.charAt(2);\n const codePoint = secondChar === 'X' || secondChar === 'x' ? parseInt(key.slice(3), 16) : parseInt(key.slice(2), 10);\n return decodeCodePoint(codePoint);\n }\n return getOwnProperty(entities, key.slice(1, -1)) ?? key;\n });\n}\nfunction decodeCodePoint(codePoint) {\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return '\\uFFFD';\n }\n return String.fromCodePoint(getOwnProperty(decodeMap, codePoint) ?? codePoint);\n}\n\nfunction scanJSXAttributeValue(parser, context) {\n parser.startIndex = parser.tokenIndex = parser.index;\n parser.startColumn = parser.tokenColumn = parser.column;\n parser.startLine = parser.tokenLine = parser.line;\n parser.setToken(CharTypes[parser.currentChar] & 8192\n ? scanJSXString(parser)\n : scanSingleToken(parser, context, 0));\n return parser.getToken();\n}\nfunction scanJSXString(parser) {\n const quote = parser.currentChar;\n let char = advanceChar(parser);\n const start = parser.index;\n while (char !== quote) {\n if (parser.index >= parser.end)\n parser.report(16);\n char = advanceChar(parser);\n }\n if (char !== quote)\n parser.report(16);\n parser.tokenValue = parser.source.slice(start, parser.index);\n advanceChar(parser);\n if (parser.options.raw)\n parser.tokenRaw = parser.source.slice(parser.tokenIndex, parser.index);\n return 134283267;\n}\nfunction nextJSXToken(parser) {\n parser.startIndex = parser.tokenIndex = parser.index;\n parser.startColumn = parser.tokenColumn = parser.column;\n parser.startLine = parser.tokenLine = parser.line;\n if (parser.index >= parser.end) {\n parser.setToken(1048576);\n return;\n }\n if (parser.currentChar === 60) {\n advanceChar(parser);\n parser.setToken(8456256);\n return;\n }\n if (parser.currentChar === 123) {\n advanceChar(parser);\n parser.setToken(2162700);\n return;\n }\n let state = 0;\n while (parser.index < parser.end) {\n const type = CharTypes[parser.source.charCodeAt(parser.index)];\n if (type & 1024) {\n state |= 1 | 4;\n scanNewLine(parser);\n }\n else if (type & 2048) {\n consumeLineFeed(parser, state);\n state = (state & -5) | 1;\n }\n else {\n advanceChar(parser);\n }\n if (CharTypes[parser.currentChar] & 16384)\n break;\n }\n if (parser.tokenIndex === parser.index)\n parser.report(0);\n const raw = parser.source.slice(parser.tokenIndex, parser.index);\n if (parser.options.raw)\n parser.tokenRaw = raw;\n parser.tokenValue = decodeHTMLStrict(raw);\n parser.setToken(137);\n}\nfunction rescanJSXIdentifier(parser) {\n if ((parser.getToken() & 143360) === 143360) {\n const { index } = parser;\n let char = parser.currentChar;\n while (CharTypes[char] & (32768 | 2)) {\n char = advanceChar(parser);\n }\n parser.tokenValue += parser.source.slice(index, parser.index);\n parser.setToken(208897, true);\n }\n return parser.getToken();\n}\n\nclass Scope {\n parser;\n type;\n parent;\n scopeError;\n variableBindings = new Map();\n constructor(parser, type = 2, parent) {\n this.parser = parser;\n this.type = type;\n this.parent = parent;\n }\n createChildScope(type) {\n return new Scope(this.parser, type, this);\n }\n addVarOrBlock(context, name, kind, origin) {\n if (kind & 4) {\n this.addVarName(context, name, kind);\n }\n else {\n this.addBlockName(context, name, kind, origin);\n }\n if (origin & 64) {\n this.parser.declareUnboundVariable(name);\n }\n }\n addVarName(context, name, kind) {\n const { parser } = this;\n let currentScope = this;\n while (currentScope && (currentScope.type & 128) === 0) {\n const { variableBindings } = currentScope;\n const value = variableBindings.get(name);\n if (value && value & 248) {\n if (parser.options.webcompat &&\n (context & 1) === 0 &&\n ((kind & 128 && value & 68) ||\n (value & 128 && kind & 68))) ;\n else {\n parser.report(145, name);\n }\n }\n if (currentScope === this) {\n if (value && value & 1 && kind & 1) {\n currentScope.recordScopeError(145, name);\n }\n }\n if (value &&\n (value & 256 || (value & 512 && !parser.options.webcompat))) {\n parser.report(145, name);\n }\n currentScope.variableBindings.set(name, kind);\n currentScope = currentScope.parent;\n }\n }\n hasVariable(name) {\n return this.variableBindings.has(name);\n }\n addBlockName(context, name, kind, origin) {\n const { parser } = this;\n const value = this.variableBindings.get(name);\n if (value && (value & 2) === 0) {\n if (kind & 1) {\n this.recordScopeError(145, name);\n }\n else if (parser.options.webcompat &&\n (context & 1) === 0 &&\n origin & 2 &&\n value === 64 &&\n kind === 64) ;\n else {\n parser.report(145, name);\n }\n }\n if (this.type & 64 &&\n this.parent?.hasVariable(name) &&\n (this.parent.variableBindings.get(name) & 2) === 0) {\n parser.report(145, name);\n }\n if (this.type & 512 && value && (value & 2) === 0) {\n if (kind & 1) {\n this.recordScopeError(145, name);\n }\n }\n if (this.type & 32) {\n if (this.parent.variableBindings.get(name) & 768)\n parser.report(159, name);\n }\n this.variableBindings.set(name, kind);\n }\n recordScopeError(type, ...params) {\n this.scopeError = {\n type,\n params,\n start: this.parser.tokenStart,\n end: this.parser.currentLocation,\n };\n }\n reportScopeError() {\n const { scopeError } = this;\n if (!scopeError) {\n return;\n }\n throw new ParseError(scopeError.start, scopeError.end, scopeError.type, ...scopeError.params);\n }\n}\nfunction createArrowHeadParsingScope(parser, context, value) {\n const scope = parser.createScope().createChildScope(512);\n scope.addBlockName(context, value, 1, 0);\n return scope;\n}\n\nclass PrivateScope {\n parser;\n parent;\n refs = Object.create(null);\n privateIdentifiers = new Map();\n constructor(parser, parent) {\n this.parser = parser;\n this.parent = parent;\n }\n addPrivateIdentifier(name, kind) {\n const { privateIdentifiers } = this;\n let focusKind = kind & (32 | 768);\n if (!(focusKind & 768))\n focusKind |= 768;\n const value = privateIdentifiers.get(name);\n if (this.hasPrivateIdentifier(name) &&\n ((value & 32) !== (focusKind & 32) || value & focusKind & 768)) {\n this.parser.report(146, name);\n }\n privateIdentifiers.set(name, this.hasPrivateIdentifier(name) ? value | focusKind : focusKind);\n }\n addPrivateIdentifierRef(name) {\n this.refs[name] ??= [];\n this.refs[name].push(this.parser.tokenStart);\n }\n isPrivateIdentifierDefined(name) {\n return this.hasPrivateIdentifier(name) || Boolean(this.parent?.isPrivateIdentifierDefined(name));\n }\n validatePrivateIdentifierRefs() {\n for (const name in this.refs) {\n if (!this.isPrivateIdentifierDefined(name)) {\n const { index, line, column } = this.refs[name][0];\n throw new ParseError({ index, line, column }, { index: index + name.length, line, column: column + name.length }, 4, name);\n }\n }\n }\n hasPrivateIdentifier(name) {\n return this.privateIdentifiers.has(name);\n }\n}\n\nclass Parser {\n source;\n options;\n lastOnToken = null;\n token = 1048576;\n flags = 0;\n index = 0;\n line = 1;\n column = 0;\n startIndex = 0;\n end = 0;\n tokenIndex = 0;\n startColumn = 0;\n tokenColumn = 0;\n tokenLine = 1;\n startLine = 1;\n tokenValue = '';\n tokenRaw = '';\n tokenRegExp = void 0;\n currentChar = 0;\n exportedNames = new Set();\n exportedBindings = new Set();\n assignable = 1;\n destructible = 0;\n leadingDecorators = { decorators: [] };\n constructor(source, options = {}) {\n this.source = source;\n this.options = options;\n this.end = source.length;\n this.currentChar = source.charCodeAt(0);\n }\n getToken() {\n return this.token;\n }\n setToken(value, replaceLast = false) {\n this.token = value;\n const { onToken } = this.options;\n if (onToken) {\n if (value !== 1048576) {\n const loc = {\n start: {\n line: this.tokenLine,\n column: this.tokenColumn,\n },\n end: {\n line: this.line,\n column: this.column,\n },\n };\n if (!replaceLast && this.lastOnToken) {\n onToken(...this.lastOnToken);\n }\n this.lastOnToken = [convertTokenType(value), this.tokenIndex, this.index, loc];\n }\n else {\n if (this.lastOnToken) {\n onToken(...this.lastOnToken);\n this.lastOnToken = null;\n }\n }\n }\n return value;\n }\n get tokenStart() {\n return {\n index: this.tokenIndex,\n line: this.tokenLine,\n column: this.tokenColumn,\n };\n }\n get currentLocation() {\n return { index: this.index, line: this.line, column: this.column };\n }\n finishNode(node, start, end) {\n if (this.options.ranges) {\n node.start = start.index;\n const endIndex = end ? end.index : this.startIndex;\n node.end = endIndex;\n node.range = [start.index, endIndex];\n }\n if (this.options.loc) {\n node.loc = {\n start: {\n line: start.line,\n column: start.column,\n },\n end: end ? { line: end.line, column: end.column } : { line: this.startLine, column: this.startColumn },\n };\n if (this.options.source) {\n node.loc.source = this.options.source;\n }\n }\n return node;\n }\n addBindingToExports(name) {\n this.exportedBindings.add(name);\n }\n declareUnboundVariable(name) {\n const { exportedNames } = this;\n if (exportedNames.has(name)) {\n this.report(147, name);\n }\n exportedNames.add(name);\n }\n report(type, ...params) {\n throw new ParseError(this.tokenStart, this.currentLocation, type, ...params);\n }\n createScopeIfLexical(type, parent) {\n if (this.options.lexical) {\n return this.createScope(type, parent);\n }\n return undefined;\n }\n createScope(type, parent) {\n return new Scope(this, type, parent);\n }\n createPrivateScopeIfLexical(parent) {\n if (this.options.lexical) {\n return new PrivateScope(this, parent);\n }\n return undefined;\n }\n}\nfunction pushComment(comments, options) {\n return function (type, value, start, end, loc) {\n const comment = {\n type,\n value,\n };\n if (options.ranges) {\n comment.start = start;\n comment.end = end;\n comment.range = [start, end];\n }\n if (options.loc) {\n comment.loc = loc;\n }\n comments.push(comment);\n };\n}\nfunction pushToken(tokens, options) {\n return function (type, start, end, loc) {\n const token = {\n token: type,\n };\n if (options.ranges) {\n token.start = start;\n token.end = end;\n token.range = [start, end];\n }\n if (options.loc) {\n token.loc = loc;\n }\n tokens.push(token);\n };\n}\n\nfunction normalizeOptions(rawOptions) {\n const options = { ...rawOptions };\n if (options.onComment) {\n options.onComment = Array.isArray(options.onComment) ? pushComment(options.onComment, options) : options.onComment;\n }\n if (options.onToken) {\n options.onToken = Array.isArray(options.onToken) ? pushToken(options.onToken, options) : options.onToken;\n }\n return options;\n}\n\nfunction parseSource(source, rawOptions = {}, context = 0) {\n const options = normalizeOptions(rawOptions);\n if (options.module)\n context |= 2 | 1;\n if (options.globalReturn)\n context |= 4096;\n if (options.impliedStrict)\n context |= 1;\n const parser = new Parser(source, options);\n skipHashBang(parser);\n const scope = parser.createScopeIfLexical();\n let body = [];\n let sourceType = 'script';\n if (context & 2) {\n sourceType = 'module';\n body = parseModuleItemList(parser, context | 8, scope);\n if (scope) {\n for (const name of parser.exportedBindings) {\n if (!scope.hasVariable(name))\n parser.report(148, name);\n }\n }\n }\n else {\n body = parseStatementList(parser, context | 8, scope);\n }\n return parser.finishNode({\n type: 'Program',\n sourceType,\n body,\n }, { index: 0, line: 1, column: 0 }, parser.currentLocation);\n}\nfunction parseStatementList(parser, context, scope) {\n nextToken(parser, context | 32 | 262144);\n const statements = [];\n while (parser.getToken() === 134283267) {\n const { index, tokenValue, tokenStart, tokenIndex } = parser;\n const token = parser.getToken();\n const expr = parseLiteral(parser, context);\n if (isValidStrictMode(parser, index, tokenIndex, tokenValue)) {\n context |= 1;\n if (parser.flags & 64) {\n throw new ParseError(parser.tokenStart, parser.currentLocation, 9);\n }\n if (parser.flags & 4096) {\n throw new ParseError(parser.tokenStart, parser.currentLocation, 15);\n }\n }\n statements.push(parseDirective(parser, context, expr, token, tokenStart));\n }\n while (parser.getToken() !== 1048576) {\n statements.push(parseStatementListItem(parser, context, scope, undefined, 4, {}));\n }\n return statements;\n}\nfunction parseModuleItemList(parser, context, scope) {\n nextToken(parser, context | 32);\n const statements = [];\n while (parser.getToken() === 134283267) {\n const { tokenStart } = parser;\n const token = parser.getToken();\n statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenStart));\n }\n while (parser.getToken() !== 1048576) {\n statements.push(parseModuleItem(parser, context, scope));\n }\n return statements;\n}\nfunction parseModuleItem(parser, context, scope) {\n if (parser.getToken() === 132) {\n Object.assign(parser.leadingDecorators, {\n start: parser.tokenStart,\n decorators: parseDecorators(parser, context, undefined),\n });\n }\n let moduleItem;\n switch (parser.getToken()) {\n case 20564:\n moduleItem = parseExportDeclaration(parser, context, scope);\n break;\n case 86106:\n moduleItem = parseImportDeclaration(parser, context, scope);\n break;\n default:\n moduleItem = parseStatementListItem(parser, context, scope, undefined, 4, {});\n }\n if (parser.leadingDecorators?.decorators.length) {\n parser.report(170);\n }\n return moduleItem;\n}\nfunction parseStatementListItem(parser, context, scope, privateScope, origin, labels) {\n const start = parser.tokenStart;\n switch (parser.getToken()) {\n case 86104:\n return parseFunctionDeclaration(parser, context, scope, privateScope, origin, 1, 0, 0, start);\n case 132:\n case 86094:\n return parseClassDeclaration(parser, context, scope, privateScope, 0);\n case 86090:\n return parseLexicalDeclaration(parser, context, scope, privateScope, 16, 0);\n case 241737:\n return parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateScope, origin);\n case 20564:\n parser.report(103, 'export');\n case 86106:\n nextToken(parser, context);\n switch (parser.getToken()) {\n case 67174411:\n return parseImportCallDeclaration(parser, context, privateScope, start);\n case 67108877:\n return parseImportMetaDeclaration(parser, context, start);\n default:\n parser.report(103, 'import');\n }\n case 209005:\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, privateScope, origin, labels, 1);\n default:\n return parseStatement(parser, context, scope, privateScope, origin, labels, 1);\n }\n}\nfunction parseStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl) {\n switch (parser.getToken()) {\n case 86088:\n return parseVariableStatement(parser, context, scope, privateScope, 0);\n case 20572:\n return parseReturnStatement(parser, context, privateScope);\n case 20569:\n return parseIfStatement(parser, context, scope, privateScope, labels);\n case 20567:\n return parseForStatement(parser, context, scope, privateScope, labels);\n case 20562:\n return parseDoWhileStatement(parser, context, scope, privateScope, labels);\n case 20578:\n return parseWhileStatement(parser, context, scope, privateScope, labels);\n case 86110:\n return parseSwitchStatement(parser, context, scope, privateScope, labels);\n case 1074790417:\n return parseEmptyStatement(parser, context);\n case 2162700:\n return parseBlock(parser, context, scope?.createChildScope(), privateScope, labels, parser.tokenStart);\n case 86112:\n return parseThrowStatement(parser, context, privateScope);\n case 20555:\n return parseBreakStatement(parser, context, labels);\n case 20559:\n return parseContinueStatement(parser, context, labels);\n case 20577:\n return parseTryStatement(parser, context, scope, privateScope, labels);\n case 20579:\n return parseWithStatement(parser, context, scope, privateScope, labels);\n case 20560:\n return parseDebuggerStatement(parser, context);\n case 209005:\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, privateScope, origin, labels, 0);\n case 20557:\n parser.report(162);\n case 20566:\n parser.report(163);\n case 86104:\n parser.report(context & 1\n ? 76\n : !parser.options.webcompat\n ? 78\n : 77);\n case 86094:\n parser.report(79);\n default:\n return parseExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl);\n }\n}\nfunction parseExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl) {\n const { tokenValue, tokenStart } = parser;\n const token = parser.getToken();\n let expr;\n switch (token) {\n case 241737:\n expr = parseIdentifier(parser, context);\n if (context & 1)\n parser.report(85);\n if (parser.getToken() === 69271571)\n parser.report(84);\n break;\n default:\n expr = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, parser.tokenStart);\n }\n if (token & 143360 && parser.getToken() === 21) {\n return parseLabelledStatement(parser, context, scope, privateScope, origin, labels, tokenValue, expr, token, allowFuncDecl, tokenStart);\n }\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 0, tokenStart);\n expr = parseAssignmentExpression(parser, context, privateScope, 0, 0, tokenStart, expr);\n if (parser.getToken() === 18) {\n expr = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, expr);\n }\n return parseExpressionStatement(parser, context, expr, tokenStart);\n}\nfunction parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {\n const body = [];\n consume(parser, context | 32, 2162700);\n while (parser.getToken() !== 1074790415) {\n body.push(parseStatementListItem(parser, context, scope, privateScope, 2, { $: labels }));\n }\n consume(parser, context | 32, 1074790415);\n return parser.finishNode({\n type,\n body,\n }, start);\n}\nfunction parseReturnStatement(parser, context, privateScope) {\n if ((context & 4096) === 0)\n parser.report(92);\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n const argument = parser.flags & 1 || parser.getToken() & 1048576\n ? null\n : parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'ReturnStatement',\n argument,\n }, start);\n}\nfunction parseExpressionStatement(parser, context, expression, start) {\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'ExpressionStatement',\n expression,\n }, start);\n}\nfunction parseLabelledStatement(parser, context, scope, privateScope, origin, labels, value, expr, token, allowFuncDecl, start) {\n validateBindingIdentifier(parser, context, 0, token, 1);\n validateAndDeclareLabel(parser, labels, value);\n nextToken(parser, context | 32);\n const body = allowFuncDecl &&\n (context & 1) === 0 &&\n parser.options.webcompat &&\n parser.getToken() === 86104\n ? parseFunctionDeclaration(parser, context, scope?.createChildScope(), privateScope, origin, 0, 0, 0, parser.tokenStart)\n : parseStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl);\n return parser.finishNode({\n type: 'LabeledStatement',\n label: expr,\n body,\n }, start);\n}\nfunction parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, privateScope, origin, labels, allowFuncDecl) {\n const { tokenValue, tokenStart: start } = parser;\n const token = parser.getToken();\n let expr = parseIdentifier(parser, context);\n if (parser.getToken() === 21) {\n return parseLabelledStatement(parser, context, scope, privateScope, origin, labels, tokenValue, expr, token, 1, start);\n }\n const asyncNewLine = parser.flags & 1;\n if (!asyncNewLine) {\n if (parser.getToken() === 86104) {\n if (!allowFuncDecl)\n parser.report(123);\n return parseFunctionDeclaration(parser, context, scope, privateScope, origin, 1, 0, 1, start);\n }\n if (isValidIdentifier(context, parser.getToken())) {\n expr = parseAsyncArrowAfterIdent(parser, context, privateScope, 1, start);\n if (parser.getToken() === 18)\n expr = parseSequenceExpression(parser, context, privateScope, 0, start, expr);\n return parseExpressionStatement(parser, context, expr, start);\n }\n }\n if (parser.getToken() === 67174411) {\n expr = parseAsyncArrowOrCallExpression(parser, context, privateScope, expr, 1, 1, 0, asyncNewLine, start);\n }\n else {\n if (parser.getToken() === 10) {\n classifyIdentifier(parser, context, token);\n if ((token & 36864) === 36864) {\n parser.flags |= 256;\n }\n expr = parseArrowFromIdentifier(parser, context | 2048, privateScope, parser.tokenValue, expr, 0, 1, 0, start);\n }\n parser.assignable = 1;\n }\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 0, start);\n expr = parseAssignmentExpression(parser, context, privateScope, 0, 0, start, expr);\n parser.assignable = 1;\n if (parser.getToken() === 18) {\n expr = parseSequenceExpression(parser, context, privateScope, 0, start, expr);\n }\n return parseExpressionStatement(parser, context, expr, start);\n}\nfunction parseDirective(parser, context, expression, token, start) {\n const endIndex = parser.startIndex;\n if (token !== 1074790417) {\n parser.assignable = 2;\n expression = parseMemberOrUpdateExpression(parser, context, undefined, expression, 0, 0, start);\n if (parser.getToken() !== 1074790417) {\n expression = parseAssignmentExpression(parser, context, undefined, 0, 0, start, expression);\n if (parser.getToken() === 18) {\n expression = parseSequenceExpression(parser, context, undefined, 0, start, expression);\n }\n }\n matchOrInsertSemicolon(parser, context | 32);\n }\n const node = {\n type: 'ExpressionStatement',\n expression,\n };\n if (expression.type === 'Literal' && typeof expression.value === 'string') {\n node.directive = parser.source.slice(start.index + 1, endIndex - 1);\n }\n return parser.finishNode(node, start);\n}\nfunction parseEmptyStatement(parser, context) {\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n return parser.finishNode({\n type: 'EmptyStatement',\n }, start);\n}\nfunction parseThrowStatement(parser, context, privateScope) {\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n if (parser.flags & 1)\n parser.report(90);\n const argument = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'ThrowStatement',\n argument,\n }, start);\n}\nfunction parseIfStatement(parser, context, scope, privateScope, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n consume(parser, context | 32, 67174411);\n parser.assignable = 1;\n const test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context | 32, 16);\n const consequent = parseConsequentOrAlternative(parser, context, scope, privateScope, labels);\n let alternate = null;\n if (parser.getToken() === 20563) {\n nextToken(parser, context | 32);\n alternate = parseConsequentOrAlternative(parser, context, scope, privateScope, labels);\n }\n return parser.finishNode({\n type: 'IfStatement',\n test,\n consequent,\n alternate,\n }, start);\n}\nfunction parseConsequentOrAlternative(parser, context, scope, privateScope, labels) {\n const { tokenStart } = parser;\n return context & 1 ||\n !parser.options.webcompat ||\n parser.getToken() !== 86104\n ? parseStatement(parser, context, scope, privateScope, 0, { $: labels }, 0)\n : parseFunctionDeclaration(parser, context, scope?.createChildScope(), privateScope, 0, 0, 0, 0, tokenStart);\n}\nfunction parseSwitchStatement(parser, context, scope, privateScope, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n consume(parser, context | 32, 67174411);\n const discriminant = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context, 16);\n consume(parser, context, 2162700);\n const cases = [];\n let seenDefault = 0;\n scope = scope?.createChildScope(8);\n while (parser.getToken() !== 1074790415) {\n const { tokenStart } = parser;\n let test = null;\n const consequent = [];\n if (consumeOpt(parser, context | 32, 20556)) {\n test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n }\n else {\n consume(parser, context | 32, 20561);\n if (seenDefault)\n parser.report(89);\n seenDefault = 1;\n }\n consume(parser, context | 32, 21);\n while (parser.getToken() !== 20556 &&\n parser.getToken() !== 1074790415 &&\n parser.getToken() !== 20561) {\n consequent.push(parseStatementListItem(parser, context | 4, scope, privateScope, 2, {\n $: labels,\n }));\n }\n cases.push(parser.finishNode({\n type: 'SwitchCase',\n test,\n consequent,\n }, tokenStart));\n }\n consume(parser, context | 32, 1074790415);\n return parser.finishNode({\n type: 'SwitchStatement',\n discriminant,\n cases,\n }, start);\n}\nfunction parseWhileStatement(parser, context, scope, privateScope, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n consume(parser, context | 32, 67174411);\n const test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context | 32, 16);\n const body = parseIterationStatementBody(parser, context, scope, privateScope, labels);\n return parser.finishNode({\n type: 'WhileStatement',\n test,\n body,\n }, start);\n}\nfunction parseIterationStatementBody(parser, context, scope, privateScope, labels) {\n return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, 0, { loop: 1, $: labels }, 0);\n}\nfunction parseContinueStatement(parser, context, labels) {\n if ((context & 128) === 0)\n parser.report(68);\n const start = parser.tokenStart;\n nextToken(parser, context);\n let label = null;\n if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {\n const { tokenValue } = parser;\n label = parseIdentifier(parser, context | 32);\n if (!isValidLabel(parser, labels, tokenValue, 1))\n parser.report(138, tokenValue);\n }\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'ContinueStatement',\n label,\n }, start);\n}\nfunction parseBreakStatement(parser, context, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n let label = null;\n if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {\n const { tokenValue } = parser;\n label = parseIdentifier(parser, context | 32);\n if (!isValidLabel(parser, labels, tokenValue, 0))\n parser.report(138, tokenValue);\n }\n else if ((context & (4 | 128)) === 0) {\n parser.report(69);\n }\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'BreakStatement',\n label,\n }, start);\n}\nfunction parseWithStatement(parser, context, scope, privateScope, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n if (context & 1)\n parser.report(91);\n consume(parser, context | 32, 67174411);\n const object = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context | 32, 16);\n const body = parseStatement(parser, context, scope, privateScope, 2, labels, 0);\n return parser.finishNode({\n type: 'WithStatement',\n object,\n body,\n }, start);\n}\nfunction parseDebuggerStatement(parser, context) {\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'DebuggerStatement',\n }, start);\n}\nfunction parseTryStatement(parser, context, scope, privateScope, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n const firstScope = scope?.createChildScope(16);\n const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });\n const { tokenStart } = parser;\n const handler = consumeOpt(parser, context | 32, 20557)\n ? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)\n : null;\n let finalizer = null;\n if (parser.getToken() === 20566) {\n nextToken(parser, context | 32);\n const finalizerScope = scope?.createChildScope(4);\n const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });\n finalizer = block;\n }\n if (!handler && !finalizer) {\n parser.report(88);\n }\n return parser.finishNode({\n type: 'TryStatement',\n block,\n handler,\n finalizer,\n }, start);\n}\nfunction parseCatchBlock(parser, context, scope, privateScope, labels, start) {\n let param = null;\n let additionalScope = scope;\n if (consumeOpt(parser, context, 67174411)) {\n scope = scope?.createChildScope(4);\n param = parseBindingPattern(parser, context, scope, privateScope, (parser.getToken() & 2097152) === 2097152\n ? 256\n : 512, 0);\n if (parser.getToken() === 18) {\n parser.report(86);\n }\n else if (parser.getToken() === 1077936155) {\n parser.report(87);\n }\n consume(parser, context | 32, 16);\n }\n additionalScope = scope?.createChildScope(32);\n const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });\n return parser.finishNode({\n type: 'CatchClause',\n param,\n body,\n }, start);\n}\nfunction parseStaticBlock(parser, context, scope, privateScope, start) {\n scope = scope?.createChildScope();\n const ctorContext = 512 | 4096 | 1024 | 4 | 128;\n context =\n ((context | ctorContext) ^ ctorContext) |\n 256 |\n 2048 |\n 524288 |\n 65536;\n return parseBlock(parser, context, scope, privateScope, {}, start, 'StaticBlock');\n}\nfunction parseDoWhileStatement(parser, context, scope, privateScope, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n const body = parseIterationStatementBody(parser, context, scope, privateScope, labels);\n consume(parser, context, 20578);\n consume(parser, context | 32, 67174411);\n const test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context | 32, 16);\n consumeOpt(parser, context | 32, 1074790417);\n return parser.finishNode({\n type: 'DoWhileStatement',\n body,\n test,\n }, start);\n}\nfunction parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateScope, origin) {\n const { tokenValue, tokenStart } = parser;\n const token = parser.getToken();\n let expr = parseIdentifier(parser, context);\n if (parser.getToken() & (143360 | 2097152)) {\n const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, 8, 0);\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'VariableDeclaration',\n kind: 'let',\n declarations,\n }, tokenStart);\n }\n parser.assignable = 1;\n if (context & 1)\n parser.report(85);\n if (parser.getToken() === 21) {\n return parseLabelledStatement(parser, context, scope, privateScope, origin, {}, tokenValue, expr, token, 0, tokenStart);\n }\n if (parser.getToken() === 10) {\n let scope = void 0;\n if (parser.options.lexical)\n scope = createArrowHeadParsingScope(parser, context, tokenValue);\n parser.flags = (parser.flags | 128) ^ 128;\n expr = parseArrowFunctionExpression(parser, context, scope, privateScope, [expr], 0, tokenStart);\n }\n else {\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 0, tokenStart);\n expr = parseAssignmentExpression(parser, context, privateScope, 0, 0, tokenStart, expr);\n }\n if (parser.getToken() === 18) {\n expr = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, expr);\n }\n return parseExpressionStatement(parser, context, expr, tokenStart);\n}\nfunction parseLexicalDeclaration(parser, context, scope, privateScope, kind, origin) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin);\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'VariableDeclaration',\n kind: kind & 8 ? 'let' : 'const',\n declarations,\n }, start);\n}\nfunction parseVariableStatement(parser, context, scope, privateScope, origin) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, 4, origin);\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode({\n type: 'VariableDeclaration',\n kind: 'var',\n declarations,\n }, start);\n}\nfunction parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin) {\n let bindingCount = 1;\n const list = [\n parseVariableDeclaration(parser, context, scope, privateScope, kind, origin),\n ];\n while (consumeOpt(parser, context, 18)) {\n bindingCount++;\n list.push(parseVariableDeclaration(parser, context, scope, privateScope, kind, origin));\n }\n if (bindingCount > 1 && origin & 32 && parser.getToken() & 262144) {\n parser.report(61, KeywordDescTable[parser.getToken() & 255]);\n }\n return list;\n}\nfunction parseVariableDeclaration(parser, context, scope, privateScope, kind, origin) {\n const { tokenStart } = parser;\n const token = parser.getToken();\n let init = null;\n const id = parseBindingPattern(parser, context, scope, privateScope, kind, origin);\n if (parser.getToken() === 1077936155) {\n nextToken(parser, context | 32);\n init = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n if (origin & 32 || (token & 2097152) === 0) {\n if (parser.getToken() === 471156 ||\n (parser.getToken() === 8673330 &&\n (token & 2097152 || (kind & 4) === 0 || context & 1))) {\n throw new ParseError(tokenStart, parser.currentLocation, 60, parser.getToken() === 471156 ? 'of' : 'in');\n }\n }\n }\n else if ((kind & 16 || (token & 2097152) > 0) &&\n (parser.getToken() & 262144) !== 262144) {\n parser.report(59, kind & 16 ? 'const' : 'destructuring');\n }\n return parser.finishNode({\n type: 'VariableDeclarator',\n id,\n init,\n }, tokenStart);\n}\nfunction parseForStatement(parser, context, scope, privateScope, labels) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n const forAwait = ((context & 2048) > 0 || ((context & 2) > 0 && (context & 8) > 0)) &&\n consumeOpt(parser, context, 209006);\n consume(parser, context | 32, 67174411);\n scope = scope?.createChildScope(1);\n let test = null;\n let update = null;\n let destructible = 0;\n let init = null;\n let isVarDecl = parser.getToken() === 86088 ||\n parser.getToken() === 241737 ||\n parser.getToken() === 86090;\n let right;\n const { tokenStart } = parser;\n const token = parser.getToken();\n if (isVarDecl) {\n if (token === 241737) {\n init = parseIdentifier(parser, context);\n if (parser.getToken() & (143360 | 2097152)) {\n if (parser.getToken() === 8673330) {\n if (context & 1)\n parser.report(67);\n }\n else {\n init = parser.finishNode({\n type: 'VariableDeclaration',\n kind: 'let',\n declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),\n }, tokenStart);\n }\n parser.assignable = 1;\n }\n else if (context & 1) {\n parser.report(67);\n }\n else {\n isVarDecl = false;\n parser.assignable = 1;\n init = parseMemberOrUpdateExpression(parser, context, privateScope, init, 0, 0, tokenStart);\n if (parser.getToken() === 471156)\n parser.report(115);\n }\n }\n else {\n nextToken(parser, context);\n init = parser.finishNode(token === 86088\n ? {\n type: 'VariableDeclaration',\n kind: 'var',\n declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 4, 32),\n }\n : {\n type: 'VariableDeclaration',\n kind: 'const',\n declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 16, 32),\n }, tokenStart);\n parser.assignable = 1;\n }\n }\n else if (token === 1074790417) {\n if (forAwait)\n parser.report(82);\n }\n else if ((token & 2097152) === 2097152) {\n const patternStart = parser.tokenStart;\n init =\n token === 2162700\n ? parseObjectLiteralOrPattern(parser, context, void 0, privateScope, 1, 0, 0, 2, 32)\n : parseArrayExpressionOrPattern(parser, context, void 0, privateScope, 1, 0, 0, 2, 32);\n destructible = parser.destructible;\n if (destructible & 64) {\n parser.report(63);\n }\n parser.assignable =\n destructible & 16 ? 2 : 1;\n init = parseMemberOrUpdateExpression(parser, context | 131072, privateScope, init, 0, 0, patternStart);\n }\n else {\n init = parseLeftHandSideExpression(parser, context | 131072, privateScope, 1, 0, 1);\n }\n if ((parser.getToken() & 262144) === 262144) {\n if (parser.getToken() === 471156) {\n if (parser.assignable & 2)\n parser.report(80, forAwait ? 'await' : 'of');\n reinterpretToPattern(parser, init);\n nextToken(parser, context | 32);\n right = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n consume(parser, context | 32, 16);\n const body = parseIterationStatementBody(parser, context, scope, privateScope, labels);\n return parser.finishNode({\n type: 'ForOfStatement',\n left: init,\n right,\n body,\n await: forAwait,\n }, start);\n }\n if (parser.assignable & 2)\n parser.report(80, 'in');\n reinterpretToPattern(parser, init);\n nextToken(parser, context | 32);\n if (forAwait)\n parser.report(82);\n right = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context | 32, 16);\n const body = parseIterationStatementBody(parser, context, scope, privateScope, labels);\n return parser.finishNode({\n type: 'ForInStatement',\n body,\n left: init,\n right,\n }, start);\n }\n if (forAwait)\n parser.report(82);\n if (!isVarDecl) {\n if (destructible & 8 && parser.getToken() !== 1077936155) {\n parser.report(80, 'loop');\n }\n init = parseAssignmentExpression(parser, context | 131072, privateScope, 0, 0, tokenStart, init);\n }\n if (parser.getToken() === 18)\n init = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, init);\n consume(parser, context | 32, 1074790417);\n if (parser.getToken() !== 1074790417)\n test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context | 32, 1074790417);\n if (parser.getToken() !== 16)\n update = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);\n consume(parser, context | 32, 16);\n const body = parseIterationStatementBody(parser, context, scope, privateScope, labels);\n return parser.finishNode({\n type: 'ForStatement',\n init,\n test,\n update,\n body,\n }, start);\n}\nfunction parseRestrictedIdentifier(parser, context, scope) {\n if (!isValidIdentifier(context, parser.getToken()))\n parser.report(118);\n if ((parser.getToken() & 537079808) === 537079808)\n parser.report(119);\n scope?.addBlockName(context, parser.tokenValue, 8, 0);\n return parseIdentifier(parser, context);\n}\nfunction parseImportDeclaration(parser, context, scope) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n let source = null;\n const { tokenStart } = parser;\n let specifiers = [];\n if (parser.getToken() === 134283267) {\n source = parseLiteral(parser, context);\n }\n else {\n if (parser.getToken() & 143360) {\n const local = parseRestrictedIdentifier(parser, context, scope);\n specifiers = [\n parser.finishNode({\n type: 'ImportDefaultSpecifier',\n local,\n }, tokenStart),\n ];\n if (consumeOpt(parser, context, 18)) {\n switch (parser.getToken()) {\n case 8391476:\n specifiers.push(parseImportNamespaceSpecifier(parser, context, scope));\n break;\n case 2162700:\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\n break;\n default:\n parser.report(107);\n }\n }\n }\n else {\n switch (parser.getToken()) {\n case 8391476:\n specifiers = [parseImportNamespaceSpecifier(parser, context, scope)];\n break;\n case 2162700:\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\n break;\n case 67174411:\n return parseImportCallDeclaration(parser, context, undefined, start);\n case 67108877:\n return parseImportMetaDeclaration(parser, context, start);\n default:\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n }\n source = parseModuleSpecifier(parser, context);\n }\n const attributes = parseImportAttributes(parser, context);\n const node = {\n type: 'ImportDeclaration',\n specifiers,\n source,\n attributes,\n };\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode(node, start);\n}\nfunction parseImportNamespaceSpecifier(parser, context, scope) {\n const { tokenStart } = parser;\n nextToken(parser, context);\n consume(parser, context, 77932);\n if ((parser.getToken() & 134217728) === 134217728) {\n throw new ParseError(tokenStart, parser.currentLocation, 30, KeywordDescTable[parser.getToken() & 255]);\n }\n return parser.finishNode({\n type: 'ImportNamespaceSpecifier',\n local: parseRestrictedIdentifier(parser, context, scope),\n }, tokenStart);\n}\nfunction parseModuleSpecifier(parser, context) {\n consume(parser, context, 209011);\n if (parser.getToken() !== 134283267)\n parser.report(105, 'Import');\n return parseLiteral(parser, context);\n}\nfunction parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) {\n nextToken(parser, context);\n while (parser.getToken() & 143360 || parser.getToken() === 134283267) {\n let { tokenValue, tokenStart } = parser;\n const token = parser.getToken();\n const imported = parseModuleExportName(parser, context);\n let local;\n if (consumeOpt(parser, context, 77932)) {\n if ((parser.getToken() & 134217728) === 134217728 ||\n parser.getToken() === 18) {\n parser.report(106);\n }\n else {\n validateBindingIdentifier(parser, context, 16, parser.getToken(), 0);\n }\n tokenValue = parser.tokenValue;\n local = parseIdentifier(parser, context);\n }\n else if (imported.type === 'Identifier') {\n validateBindingIdentifier(parser, context, 16, token, 0);\n local = imported;\n }\n else {\n parser.report(25, KeywordDescTable[77932 & 255]);\n }\n scope?.addBlockName(context, tokenValue, 8, 0);\n specifiers.push(parser.finishNode({\n type: 'ImportSpecifier',\n local,\n imported,\n }, tokenStart));\n if (parser.getToken() !== 1074790415)\n consume(parser, context, 18);\n }\n consume(parser, context, 1074790415);\n return specifiers;\n}\nfunction parseImportMetaDeclaration(parser, context, start) {\n let expr = parseImportMetaExpression(parser, context, parser.finishNode({\n type: 'Identifier',\n name: 'import',\n }, start), start);\n expr = parseMemberOrUpdateExpression(parser, context, undefined, expr, 0, 0, start);\n expr = parseAssignmentExpression(parser, context, undefined, 0, 0, start, expr);\n if (parser.getToken() === 18) {\n expr = parseSequenceExpression(parser, context, undefined, 0, start, expr);\n }\n return parseExpressionStatement(parser, context, expr, start);\n}\nfunction parseImportCallDeclaration(parser, context, privateScope, start) {\n let expr = parseImportExpression(parser, context, privateScope, 0, start);\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 0, start);\n if (parser.getToken() === 18) {\n expr = parseSequenceExpression(parser, context, privateScope, 0, start, expr);\n }\n return parseExpressionStatement(parser, context, expr, start);\n}\nfunction parseExportDeclaration(parser, context, scope) {\n const start = parser.leadingDecorators.decorators.length ? parser.leadingDecorators.start : parser.tokenStart;\n nextToken(parser, context | 32);\n const specifiers = [];\n let declaration = null;\n let source = null;\n let attributes = [];\n if (consumeOpt(parser, context | 32, 20561)) {\n switch (parser.getToken()) {\n case 86104: {\n declaration = parseFunctionDeclaration(parser, context, scope, undefined, 4, 1, 1, 0, parser.tokenStart);\n break;\n }\n case 132:\n case 86094:\n declaration = parseClassDeclaration(parser, context, scope, undefined, 1);\n break;\n case 209005: {\n const { tokenStart } = parser;\n declaration = parseIdentifier(parser, context);\n const { flags } = parser;\n if ((flags & 1) === 0) {\n if (parser.getToken() === 86104) {\n declaration = parseFunctionDeclaration(parser, context, scope, undefined, 4, 1, 1, 1, tokenStart);\n }\n else {\n if (parser.getToken() === 67174411) {\n declaration = parseAsyncArrowOrCallExpression(parser, context, undefined, declaration, 1, 1, 0, flags, tokenStart);\n declaration = parseMemberOrUpdateExpression(parser, context, undefined, declaration, 0, 0, tokenStart);\n declaration = parseAssignmentExpression(parser, context, undefined, 0, 0, tokenStart, declaration);\n }\n else if (parser.getToken() & 143360) {\n if (scope)\n scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);\n declaration = parseIdentifier(parser, context);\n declaration = parseArrowFunctionExpression(parser, context, scope, undefined, [declaration], 1, tokenStart);\n }\n }\n }\n break;\n }\n default:\n declaration = parseExpression(parser, context, undefined, 1, 0, parser.tokenStart);\n matchOrInsertSemicolon(parser, context | 32);\n }\n if (scope)\n parser.declareUnboundVariable('default');\n return parser.finishNode({\n type: 'ExportDefaultDeclaration',\n declaration,\n }, start);\n }\n switch (parser.getToken()) {\n case 8391476: {\n nextToken(parser, context);\n let exported = null;\n const isNamedDeclaration = consumeOpt(parser, context, 77932);\n if (isNamedDeclaration) {\n if (scope)\n parser.declareUnboundVariable(parser.tokenValue);\n exported = parseModuleExportName(parser, context);\n }\n consume(parser, context, 209011);\n if (parser.getToken() !== 134283267)\n parser.report(105, 'Export');\n source = parseLiteral(parser, context);\n const attributes = parseImportAttributes(parser, context);\n const node = {\n type: 'ExportAllDeclaration',\n source,\n exported,\n attributes,\n };\n matchOrInsertSemicolon(parser, context | 32);\n return parser.finishNode(node, start);\n }\n case 2162700: {\n nextToken(parser, context);\n const tmpExportedNames = [];\n const tmpExportedBindings = [];\n let hasLiteralLocal = 0;\n while (parser.getToken() & 143360 || parser.getToken() === 134283267) {\n const { tokenStart, tokenValue } = parser;\n const local = parseModuleExportName(parser, context);\n if (local.type === 'Literal') {\n hasLiteralLocal = 1;\n }\n let exported;\n if (parser.getToken() === 77932) {\n nextToken(parser, context);\n if ((parser.getToken() & 143360) === 0 && parser.getToken() !== 134283267) {\n parser.report(106);\n }\n if (scope) {\n tmpExportedNames.push(parser.tokenValue);\n tmpExportedBindings.push(tokenValue);\n }\n exported = parseModuleExportName(parser, context);\n }\n else {\n if (scope) {\n tmpExportedNames.push(parser.tokenValue);\n tmpExportedBindings.push(parser.tokenValue);\n }\n exported = local;\n }\n specifiers.push(parser.finishNode({\n type: 'ExportSpecifier',\n local,\n exported,\n }, tokenStart));\n if (parser.getToken() !== 1074790415)\n consume(parser, context, 18);\n }\n consume(parser, context, 1074790415);\n if (consumeOpt(parser, context, 209011)) {\n if (parser.getToken() !== 134283267)\n parser.report(105, 'Export');\n source = parseLiteral(parser, context);\n attributes = parseImportAttributes(parser, context);\n if (scope) {\n tmpExportedNames.forEach((n) => parser.declareUnboundVariable(n));\n }\n }\n else {\n if (hasLiteralLocal) {\n parser.report(172);\n }\n if (scope) {\n tmpExportedNames.forEach((n) => parser.declareUnboundVariable(n));\n tmpExportedBindings.forEach((b) => parser.addBindingToExports(b));\n }\n }\n matchOrInsertSemicolon(parser, context | 32);\n break;\n }\n case 132:\n case 86094:\n declaration = parseClassDeclaration(parser, context, scope, undefined, 2);\n break;\n case 86104:\n declaration = parseFunctionDeclaration(parser, context, scope, undefined, 4, 1, 2, 0, parser.tokenStart);\n break;\n case 241737:\n declaration = parseLexicalDeclaration(parser, context, scope, undefined, 8, 64);\n break;\n case 86090:\n declaration = parseLexicalDeclaration(parser, context, scope, undefined, 16, 64);\n break;\n case 86088:\n declaration = parseVariableStatement(parser, context, scope, undefined, 64);\n break;\n case 209005: {\n const { tokenStart } = parser;\n nextToken(parser, context);\n if ((parser.flags & 1) === 0 && parser.getToken() === 86104) {\n declaration = parseFunctionDeclaration(parser, context, scope, undefined, 4, 1, 2, 1, tokenStart);\n break;\n }\n }\n default:\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n const node = {\n type: 'ExportNamedDeclaration',\n declaration,\n specifiers,\n source,\n attributes: attributes,\n };\n return parser.finishNode(node, start);\n}\nfunction parseExpression(parser, context, privateScope, canAssign, inGroup, start) {\n let expr = parsePrimaryExpression(parser, context, privateScope, 2, 0, canAssign, inGroup, 1, start);\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGroup, 0, start);\n return parseAssignmentExpression(parser, context, privateScope, inGroup, 0, start, expr);\n}\nfunction parseSequenceExpression(parser, context, privateScope, inGroup, start, expr) {\n const expressions = [expr];\n while (consumeOpt(parser, context | 32, 18)) {\n expressions.push(parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart));\n }\n return parser.finishNode({\n type: 'SequenceExpression',\n expressions,\n }, start);\n}\nfunction parseExpressions(parser, context, privateScope, inGroup, canAssign, start) {\n const expr = parseExpression(parser, context, privateScope, canAssign, inGroup, start);\n return parser.getToken() === 18\n ? parseSequenceExpression(parser, context, privateScope, inGroup, start, expr)\n : expr;\n}\nfunction parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, start, left) {\n const token = parser.getToken();\n if ((token & 4194304) === 4194304) {\n if (parser.assignable & 2)\n parser.report(26);\n if ((!isPattern && token === 1077936155 && left.type === 'ArrayExpression') ||\n left.type === 'ObjectExpression') {\n reinterpretToPattern(parser, left);\n }\n nextToken(parser, context | 32);\n const right = parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart);\n parser.assignable = 2;\n return parser.finishNode(isPattern\n ? {\n type: 'AssignmentPattern',\n left,\n right,\n }\n : {\n type: 'AssignmentExpression',\n left,\n operator: KeywordDescTable[token & 255],\n right,\n }, start);\n }\n if ((token & 8388608) === 8388608) {\n left = parseBinaryExpression(parser, context, privateScope, inGroup, start, 4, token, left);\n }\n if (consumeOpt(parser, context | 32, 22)) {\n left = parseConditionalExpression(parser, context, privateScope, left, start);\n }\n return left;\n}\nfunction parseAssignmentExpressionOrPattern(parser, context, privateScope, inGroup, isPattern, start, left) {\n const token = parser.getToken();\n nextToken(parser, context | 32);\n const right = parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart);\n left = parser.finishNode(isPattern\n ? {\n type: 'AssignmentPattern',\n left,\n right,\n }\n : {\n type: 'AssignmentExpression',\n left,\n operator: KeywordDescTable[token & 255],\n right,\n }, start);\n parser.assignable = 2;\n return left;\n}\nfunction parseConditionalExpression(parser, context, privateScope, test, start) {\n const consequent = parseExpression(parser, (context | 131072) ^ 131072, privateScope, 1, 0, parser.tokenStart);\n consume(parser, context | 32, 21);\n parser.assignable = 1;\n const alternate = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n parser.assignable = 2;\n return parser.finishNode({\n type: 'ConditionalExpression',\n test,\n consequent,\n alternate,\n }, start);\n}\nfunction parseBinaryExpression(parser, context, privateScope, inGroup, start, minPrecedence, operator, left) {\n const bit = -((context & 131072) > 0) & 8673330;\n let t;\n let precedence;\n parser.assignable = 2;\n while (parser.getToken() & 8388608) {\n t = parser.getToken();\n precedence = t & 3840;\n if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) {\n parser.report(165);\n }\n if (precedence + ((t === 8391735) << 8) - ((bit === t) << 12) <= minPrecedence)\n break;\n nextToken(parser, context | 32);\n left = parser.finishNode({\n type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression',\n left,\n right: parseBinaryExpression(parser, context, privateScope, inGroup, parser.tokenStart, precedence, t, parseLeftHandSideExpression(parser, context, privateScope, 0, inGroup, 1)),\n operator: KeywordDescTable[t & 255],\n }, start);\n }\n if (parser.getToken() === 1077936155)\n parser.report(26);\n return left;\n}\nfunction parseUnaryExpression(parser, context, privateScope, isLHS, inGroup) {\n if (!isLHS)\n parser.report(0);\n const { tokenStart } = parser;\n const unaryOperator = parser.getToken();\n nextToken(parser, context | 32);\n const arg = parseLeftHandSideExpression(parser, context, privateScope, 0, inGroup, 1);\n if (parser.getToken() === 8391735)\n parser.report(33);\n if (context & 1 && unaryOperator === 16863276) {\n if (arg.type === 'Identifier') {\n parser.report(121);\n }\n else if (isPropertyWithPrivateFieldKey(arg)) {\n parser.report(127);\n }\n }\n parser.assignable = 2;\n return parser.finishNode({\n type: 'UnaryExpression',\n operator: KeywordDescTable[unaryOperator & 255],\n argument: arg,\n prefix: true,\n }, tokenStart);\n}\nfunction parseAsyncExpression(parser, context, privateScope, inGroup, isLHS, canAssign, inNew, start) {\n const token = parser.getToken();\n const expr = parseIdentifier(parser, context);\n const { flags } = parser;\n if ((flags & 1) === 0) {\n if (parser.getToken() === 86104) {\n return parseFunctionExpression(parser, context, privateScope, 1, inGroup, start);\n }\n if (isValidIdentifier(context, parser.getToken())) {\n if (!isLHS)\n parser.report(0);\n if ((parser.getToken() & 36864) === 36864) {\n parser.flags |= 256;\n }\n return parseAsyncArrowAfterIdent(parser, context, privateScope, canAssign, start);\n }\n }\n if (!inNew && parser.getToken() === 67174411) {\n return parseAsyncArrowOrCallExpression(parser, context, privateScope, expr, canAssign, 1, 0, flags, start);\n }\n if (parser.getToken() === 10) {\n classifyIdentifier(parser, context, token);\n if (inNew)\n parser.report(51);\n if ((token & 36864) === 36864) {\n parser.flags |= 256;\n }\n return parseArrowFromIdentifier(parser, context, privateScope, parser.tokenValue, expr, inNew, canAssign, 0, start);\n }\n parser.assignable = 1;\n return expr;\n}\nfunction parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start) {\n if (inGroup)\n parser.destructible |= 256;\n if (context & 1024) {\n nextToken(parser, context | 32);\n if (context & 8192)\n parser.report(32);\n if (!canAssign)\n parser.report(26);\n if (parser.getToken() === 22)\n parser.report(124);\n let argument = null;\n let delegate = false;\n if ((parser.flags & 1) === 0) {\n delegate = consumeOpt(parser, context | 32, 8391476);\n if (parser.getToken() & (12288 | 65536) || delegate) {\n argument = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n }\n }\n else if (parser.getToken() === 8391476) {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n parser.assignable = 2;\n return parser.finishNode({\n type: 'YieldExpression',\n argument,\n delegate,\n }, start);\n }\n if (context & 1)\n parser.report(97, 'yield');\n return parseIdentifierOrArrow(parser, context, privateScope);\n}\nfunction parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew, inGroup, start) {\n if (inGroup)\n parser.destructible |= 128;\n if (context & 524288)\n parser.report(177);\n const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope);\n const isIdentifier = possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||\n (parser.getToken() & 65536) === 0;\n if (isIdentifier) {\n if (context & 2048)\n throw new ParseError(start, { index: parser.startIndex, line: parser.startLine, column: parser.startColumn }, 176);\n if (context & 2)\n throw new ParseError(start, { index: parser.startIndex, line: parser.startLine, column: parser.startColumn }, 110);\n if (context & 8192 && context & 2048)\n throw new ParseError(start, { index: parser.startIndex, line: parser.startLine, column: parser.startColumn }, 110);\n return possibleIdentifierOrArrowFunc;\n }\n if (context & 8192) {\n throw new ParseError(start, { index: parser.startIndex, line: parser.startLine, column: parser.startColumn }, 31);\n }\n if (context & 2048 || (context & 2 && context & 8)) {\n if (inNew)\n throw new ParseError(start, { index: parser.startIndex, line: parser.startLine, column: parser.startColumn }, 0);\n const argument = parseLeftHandSideExpression(parser, context, privateScope, 0, 0, 1);\n if (parser.getToken() === 8391735)\n parser.report(33);\n parser.assignable = 2;\n return parser.finishNode({\n type: 'AwaitExpression',\n argument,\n }, start);\n }\n if (context & 2)\n throw new ParseError(start, { index: parser.startIndex, line: parser.startLine, column: parser.startColumn }, 98);\n return possibleIdentifierOrArrowFunc;\n}\nfunction parseFunctionBody(parser, context, scope, privateScope, origin, funcNameToken, functionScope) {\n const { tokenStart } = parser;\n consume(parser, context | 32, 2162700);\n const body = [];\n if (parser.getToken() !== 1074790415) {\n while (parser.getToken() === 134283267) {\n const { index, tokenStart, tokenIndex, tokenValue } = parser;\n const token = parser.getToken();\n const expr = parseLiteral(parser, context);\n if (isValidStrictMode(parser, index, tokenIndex, tokenValue)) {\n context |= 1;\n if (parser.flags & 128) {\n throw new ParseError(tokenStart, parser.currentLocation, 66);\n }\n if (parser.flags & 64) {\n throw new ParseError(tokenStart, parser.currentLocation, 9);\n }\n if (parser.flags & 4096) {\n throw new ParseError(tokenStart, parser.currentLocation, 15);\n }\n functionScope?.reportScopeError();\n }\n body.push(parseDirective(parser, context, expr, token, tokenStart));\n }\n if (context & 1) {\n if (funcNameToken) {\n if ((funcNameToken & 537079808) === 537079808) {\n parser.report(119);\n }\n if ((funcNameToken & 36864) === 36864) {\n parser.report(40);\n }\n }\n if (parser.flags & 512)\n parser.report(119);\n if (parser.flags & 256)\n parser.report(118);\n }\n }\n parser.flags =\n (parser.flags | 512 | 256 | 64 | 4096) ^\n (512 | 256 | 64 | 4096);\n parser.destructible = (parser.destructible | 256) ^ 256;\n while (parser.getToken() !== 1074790415) {\n body.push(parseStatementListItem(parser, context, scope, privateScope, 4, {}));\n }\n consume(parser, origin & (16 | 8) ? context | 32 : context, 1074790415);\n parser.flags &= -4289;\n if (parser.getToken() === 1077936155)\n parser.report(26);\n return parser.finishNode({\n type: 'BlockStatement',\n body,\n }, tokenStart);\n}\nfunction parseSuperExpression(parser, context) {\n const { tokenStart } = parser;\n nextToken(parser, context);\n switch (parser.getToken()) {\n case 67108990:\n parser.report(167);\n case 67174411: {\n if ((context & 512) === 0)\n parser.report(28);\n parser.assignable = 2;\n break;\n }\n case 69271571:\n case 67108877: {\n if ((context & 256) === 0)\n parser.report(29);\n parser.assignable = 1;\n break;\n }\n default:\n parser.report(30, 'super');\n }\n return parser.finishNode({ type: 'Super' }, tokenStart);\n}\nfunction parseLeftHandSideExpression(parser, context, privateScope, canAssign, inGroup, isLHS) {\n const start = parser.tokenStart;\n const expression = parsePrimaryExpression(parser, context, privateScope, 2, 0, canAssign, inGroup, isLHS, start);\n return parseMemberOrUpdateExpression(parser, context, privateScope, expression, inGroup, 0, start);\n}\nfunction parseUpdateExpression(parser, context, expr, start) {\n if (parser.assignable & 2)\n parser.report(55);\n const token = parser.getToken();\n nextToken(parser, context);\n parser.assignable = 2;\n return parser.finishNode({\n type: 'UpdateExpression',\n argument: expr,\n operator: KeywordDescTable[token & 255],\n prefix: false,\n }, start);\n}\nfunction parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGroup, inChain, start) {\n if ((parser.getToken() & 33619968) === 33619968 && (parser.flags & 1) === 0) {\n expr = parseUpdateExpression(parser, context, expr, start);\n }\n else if ((parser.getToken() & 67108864) === 67108864) {\n context = (context | 131072) ^ 131072;\n switch (parser.getToken()) {\n case 67108877: {\n nextToken(parser, (context | 262144 | 8) ^ 8);\n if (context & 16 && parser.getToken() === 130 && parser.tokenValue === 'super') {\n parser.report(173);\n }\n parser.assignable = 1;\n const property = parsePropertyOrPrivatePropertyName(parser, context | 64, privateScope);\n expr = parser.finishNode({\n type: 'MemberExpression',\n object: expr,\n computed: false,\n property,\n optional: false,\n }, start);\n break;\n }\n case 69271571: {\n let restoreHasOptionalChaining = false;\n if ((parser.flags & 2048) === 2048) {\n restoreHasOptionalChaining = true;\n parser.flags = (parser.flags | 2048) ^ 2048;\n }\n nextToken(parser, context | 32);\n const { tokenStart } = parser;\n const property = parseExpressions(parser, context, privateScope, inGroup, 1, tokenStart);\n consume(parser, context, 20);\n parser.assignable = 1;\n expr = parser.finishNode({\n type: 'MemberExpression',\n object: expr,\n computed: true,\n property,\n optional: false,\n }, start);\n if (restoreHasOptionalChaining) {\n parser.flags |= 2048;\n }\n break;\n }\n case 67174411: {\n if ((parser.flags & 1024) === 1024) {\n parser.flags = (parser.flags | 1024) ^ 1024;\n return expr;\n }\n let restoreHasOptionalChaining = false;\n if ((parser.flags & 2048) === 2048) {\n restoreHasOptionalChaining = true;\n parser.flags = (parser.flags | 2048) ^ 2048;\n }\n const args = parseArguments(parser, context, privateScope, inGroup);\n parser.assignable = 2;\n expr = parser.finishNode({\n type: 'CallExpression',\n callee: expr,\n arguments: args,\n optional: false,\n }, start);\n if (restoreHasOptionalChaining) {\n parser.flags |= 2048;\n }\n break;\n }\n case 67108990: {\n nextToken(parser, (context | 262144 | 8) ^ 8);\n parser.flags |= 2048;\n parser.assignable = 2;\n expr = parseOptionalChain(parser, context, privateScope, expr, start);\n break;\n }\n default:\n if ((parser.flags & 2048) === 2048) {\n parser.report(166);\n }\n parser.assignable = 2;\n expr = parser.finishNode({\n type: 'TaggedTemplateExpression',\n tag: expr,\n quasi: parser.getToken() === 67174408\n ? parseTemplate(parser, context | 64, privateScope)\n : parseTemplateLiteral(parser, context),\n }, start);\n }\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 1, start);\n }\n if (inChain === 0 && (parser.flags & 2048) === 2048) {\n parser.flags = (parser.flags | 2048) ^ 2048;\n expr = parser.finishNode({\n type: 'ChainExpression',\n expression: expr,\n }, start);\n }\n return expr;\n}\nfunction parseOptionalChain(parser, context, privateScope, expr, start) {\n let restoreHasOptionalChaining = false;\n let node;\n if (parser.getToken() === 69271571 || parser.getToken() === 67174411) {\n if ((parser.flags & 2048) === 2048) {\n restoreHasOptionalChaining = true;\n parser.flags = (parser.flags | 2048) ^ 2048;\n }\n }\n if (parser.getToken() === 69271571) {\n nextToken(parser, context | 32);\n const { tokenStart } = parser;\n const property = parseExpressions(parser, context, privateScope, 0, 1, tokenStart);\n consume(parser, context, 20);\n parser.assignable = 2;\n node = parser.finishNode({\n type: 'MemberExpression',\n object: expr,\n computed: true,\n optional: true,\n property,\n }, start);\n }\n else if (parser.getToken() === 67174411) {\n const args = parseArguments(parser, context, privateScope, 0);\n parser.assignable = 2;\n node = parser.finishNode({\n type: 'CallExpression',\n callee: expr,\n arguments: args,\n optional: true,\n }, start);\n }\n else {\n const property = parsePropertyOrPrivatePropertyName(parser, context, privateScope);\n parser.assignable = 2;\n node = parser.finishNode({\n type: 'MemberExpression',\n object: expr,\n computed: false,\n optional: true,\n property,\n }, start);\n }\n if (restoreHasOptionalChaining) {\n parser.flags |= 2048;\n }\n return node;\n}\nfunction parsePropertyOrPrivatePropertyName(parser, context, privateScope) {\n if ((parser.getToken() & 143360) === 0 &&\n parser.getToken() !== -2147483528 &&\n parser.getToken() !== -2147483527 &&\n parser.getToken() !== 130) {\n parser.report(160);\n }\n return parser.getToken() === 130\n ? parsePrivateIdentifier(parser, context, privateScope, 0)\n : parseIdentifier(parser, context);\n}\nfunction parseUpdateExpressionPrefixed(parser, context, privateScope, inNew, isLHS, start) {\n if (inNew)\n parser.report(56);\n if (!isLHS)\n parser.report(0);\n const token = parser.getToken();\n nextToken(parser, context | 32);\n const arg = parseLeftHandSideExpression(parser, context, privateScope, 0, 0, 1);\n if (parser.assignable & 2) {\n parser.report(55);\n }\n parser.assignable = 2;\n return parser.finishNode({\n type: 'UpdateExpression',\n argument: arg,\n operator: KeywordDescTable[token & 255],\n prefix: true,\n }, start);\n}\nfunction parsePrimaryExpression(parser, context, privateScope, kind, inNew, canAssign, inGroup, isLHS, start) {\n if ((parser.getToken() & 143360) === 143360) {\n switch (parser.getToken()) {\n case 209006:\n return parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew, inGroup, start);\n case 241771:\n return parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start);\n case 209005:\n return parseAsyncExpression(parser, context, privateScope, inGroup, isLHS, canAssign, inNew, start);\n }\n const { tokenValue } = parser;\n const token = parser.getToken();\n const expr = parseIdentifier(parser, context | 64);\n if (parser.getToken() === 10) {\n if (!isLHS)\n parser.report(0);\n classifyIdentifier(parser, context, token);\n if ((token & 36864) === 36864) {\n parser.flags |= 256;\n }\n return parseArrowFromIdentifier(parser, context, privateScope, tokenValue, expr, inNew, canAssign, 0, start);\n }\n if (context & 16 &&\n !(context & 32768) &&\n !(context & 8192) &&\n parser.tokenValue === 'arguments')\n parser.report(130);\n if ((token & 255) === (241737 & 255)) {\n if (context & 1)\n parser.report(113);\n if (kind & (8 | 16))\n parser.report(100);\n }\n parser.assignable =\n context & 1 && (token & 537079808) === 537079808\n ? 2\n : 1;\n return expr;\n }\n if ((parser.getToken() & 134217728) === 134217728) {\n return parseLiteral(parser, context);\n }\n switch (parser.getToken()) {\n case 33619993:\n case 33619994:\n return parseUpdateExpressionPrefixed(parser, context, privateScope, inNew, isLHS, start);\n case 16863276:\n case 16842798:\n case 16842799:\n case 25233968:\n case 25233969:\n case 16863275:\n case 16863277:\n return parseUnaryExpression(parser, context, privateScope, isLHS, inGroup);\n case 86104:\n return parseFunctionExpression(parser, context, privateScope, 0, inGroup, start);\n case 2162700:\n return parseObjectLiteral(parser, context, privateScope, canAssign ? 0 : 1, inGroup);\n case 69271571:\n return parseArrayLiteral(parser, context, privateScope, canAssign ? 0 : 1, inGroup);\n case 67174411:\n return parseParenthesizedExpression(parser, context | 64, privateScope, canAssign, 1, 0, start);\n case 86021:\n case 86022:\n case 86023:\n return parseNullOrTrueOrFalseLiteral(parser, context);\n case 86111:\n return parseThisExpression(parser, context);\n case 65540:\n return parseRegExpLiteral(parser, context);\n case 132:\n case 86094:\n return parseClassExpression(parser, context, privateScope, inGroup, start);\n case 86109:\n return parseSuperExpression(parser, context);\n case 67174409:\n return parseTemplateLiteral(parser, context);\n case 67174408:\n return parseTemplate(parser, context, privateScope);\n case 86107:\n return parseNewExpression(parser, context, privateScope, inGroup);\n case 134283388:\n return parseBigIntLiteral(parser, context);\n case 130:\n return parsePrivateIdentifier(parser, context, privateScope, 0);\n case 86106:\n return parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start);\n case 8456256:\n if (parser.options.jsx)\n return parseJSXRootElementOrFragment(parser, context, privateScope, 0, parser.tokenStart);\n default:\n if (isValidIdentifier(context, parser.getToken()))\n return parseIdentifierOrArrow(parser, context, privateScope);\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n}\nfunction parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start) {\n let expr = parseIdentifier(parser, context);\n if (parser.getToken() === 67108877) {\n return parseImportMetaExpression(parser, context, expr, start);\n }\n if (inNew)\n parser.report(142);\n expr = parseImportExpression(parser, context, privateScope, inGroup, start);\n parser.assignable = 2;\n return parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGroup, 0, start);\n}\nfunction parseImportMetaExpression(parser, context, meta, start) {\n if ((context & 2) === 0)\n parser.report(169);\n nextToken(parser, context);\n const token = parser.getToken();\n if (token !== 209030 && parser.tokenValue !== 'meta') {\n parser.report(174);\n }\n else if (token & -2147483648) {\n parser.report(175);\n }\n parser.assignable = 2;\n return parser.finishNode({\n type: 'MetaProperty',\n meta,\n property: parseIdentifier(parser, context),\n }, start);\n}\nfunction parseImportExpression(parser, context, privateScope, inGroup, start) {\n consume(parser, context | 32, 67174411);\n if (parser.getToken() === 14)\n parser.report(143);\n const source = parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart);\n let options = null;\n if (parser.getToken() === 18) {\n consume(parser, context, 18);\n if (parser.getToken() !== 16) {\n const expContext = (context | 131072) ^ 131072;\n options = parseExpression(parser, expContext, privateScope, 1, inGroup, parser.tokenStart);\n }\n consumeOpt(parser, context, 18);\n }\n const node = {\n type: 'ImportExpression',\n source,\n options,\n };\n consume(parser, context, 16);\n return parser.finishNode(node, start);\n}\nfunction parseImportAttributes(parser, context) {\n if (!consumeOpt(parser, context, 20579))\n return [];\n consume(parser, context, 2162700);\n const attributes = [];\n const keysContent = new Set();\n while (parser.getToken() !== 1074790415) {\n const start = parser.tokenStart;\n const key = parseIdentifierOrStringLiteral(parser, context);\n consume(parser, context, 21);\n const value = parseStringLiteral(parser, context);\n const keyContent = key.type === 'Literal' ? key.value : key.name;\n if (keysContent.has(keyContent)) {\n parser.report(145, `${keyContent}`);\n }\n keysContent.add(keyContent);\n attributes.push(parser.finishNode({\n type: 'ImportAttribute',\n key,\n value,\n }, start));\n if (parser.getToken() !== 1074790415) {\n consume(parser, context, 18);\n }\n }\n consume(parser, context, 1074790415);\n return attributes;\n}\nfunction parseStringLiteral(parser, context) {\n if (parser.getToken() === 134283267) {\n return parseLiteral(parser, context);\n }\n else {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n}\nfunction parseIdentifierOrStringLiteral(parser, context) {\n if (parser.getToken() === 134283267) {\n return parseLiteral(parser, context);\n }\n else if (parser.getToken() & 143360) {\n return parseIdentifier(parser, context);\n }\n else {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n}\nfunction validateStringWellFormed(parser, str) {\n const len = str.length;\n for (let i = 0; i < len; i++) {\n const code = str.charCodeAt(i);\n if ((code & 0xfc00) !== 55296)\n continue;\n if (code > 56319 || ++i >= len || (str.charCodeAt(i) & 0xfc00) !== 56320) {\n parser.report(171, JSON.stringify(str.charAt(i--)));\n }\n }\n}\nfunction parseModuleExportName(parser, context) {\n if (parser.getToken() === 134283267) {\n validateStringWellFormed(parser, parser.tokenValue);\n return parseLiteral(parser, context);\n }\n else if (parser.getToken() & 143360) {\n return parseIdentifier(parser, context);\n }\n else {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n}\nfunction parseBigIntLiteral(parser, context) {\n const { tokenRaw, tokenValue, tokenStart } = parser;\n nextToken(parser, context);\n parser.assignable = 2;\n const node = {\n type: 'Literal',\n value: tokenValue,\n bigint: String(tokenValue),\n };\n if (parser.options.raw) {\n node.raw = tokenRaw;\n }\n return parser.finishNode(node, tokenStart);\n}\nfunction parseTemplateLiteral(parser, context) {\n parser.assignable = 2;\n const { tokenValue, tokenRaw, tokenStart } = parser;\n consume(parser, context, 67174409);\n const quasis = [parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, true)];\n return parser.finishNode({\n type: 'TemplateLiteral',\n expressions: [],\n quasis,\n }, tokenStart);\n}\nfunction parseTemplate(parser, context, privateScope) {\n context = (context | 131072) ^ 131072;\n const { tokenValue, tokenRaw, tokenStart } = parser;\n consume(parser, (context & -65) | 32, 67174408);\n const quasis = [parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, false)];\n const expressions = [\n parseExpressions(parser, context & -65, privateScope, 0, 1, parser.tokenStart),\n ];\n if (parser.getToken() !== 1074790415)\n parser.report(83);\n while (parser.setToken(scanTemplateTail(parser, context), true) !== 67174409) {\n const { tokenValue, tokenRaw, tokenStart } = parser;\n consume(parser, (context & -65) | 32, 67174408);\n quasis.push(parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, false));\n expressions.push(parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart));\n if (parser.getToken() !== 1074790415)\n parser.report(83);\n }\n {\n const { tokenValue, tokenRaw, tokenStart } = parser;\n consume(parser, context, 67174409);\n quasis.push(parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, true));\n }\n return parser.finishNode({\n type: 'TemplateLiteral',\n expressions,\n quasis,\n }, tokenStart);\n}\nfunction parseTemplateElement(parser, cooked, raw, start, tail) {\n const node = parser.finishNode({\n type: 'TemplateElement',\n value: {\n cooked,\n raw,\n },\n tail,\n }, start);\n const tailSize = tail ? 1 : 2;\n if (parser.options.ranges) {\n node.start += 1;\n node.range[0] += 1;\n node.end -= tailSize;\n node.range[1] -= tailSize;\n }\n if (parser.options.loc) {\n node.loc.start.column += 1;\n node.loc.end.column -= tailSize;\n }\n return node;\n}\nfunction parseSpreadElement(parser, context, privateScope) {\n const start = parser.tokenStart;\n context = (context | 131072) ^ 131072;\n consume(parser, context | 32, 14);\n const argument = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n parser.assignable = 1;\n return parser.finishNode({\n type: 'SpreadElement',\n argument,\n }, start);\n}\nfunction parseArguments(parser, context, privateScope, inGroup) {\n nextToken(parser, context | 32);\n const args = [];\n if (parser.getToken() === 16) {\n nextToken(parser, context | 64);\n return args;\n }\n while (parser.getToken() !== 16) {\n if (parser.getToken() === 14) {\n args.push(parseSpreadElement(parser, context, privateScope));\n }\n else {\n args.push(parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart));\n }\n if (parser.getToken() !== 18)\n break;\n nextToken(parser, context | 32);\n if (parser.getToken() === 16)\n break;\n }\n consume(parser, context | 64, 16);\n return args;\n}\nfunction parseIdentifier(parser, context) {\n const { tokenValue, tokenStart } = parser;\n const allowRegex = tokenValue === 'await' && (parser.getToken() & -2147483648) === 0;\n nextToken(parser, context | (allowRegex ? 32 : 0));\n return parser.finishNode({\n type: 'Identifier',\n name: tokenValue,\n }, tokenStart);\n}\nfunction parseLiteral(parser, context) {\n const { tokenValue, tokenRaw, tokenStart } = parser;\n if (parser.getToken() === 134283388) {\n return parseBigIntLiteral(parser, context);\n }\n nextToken(parser, context);\n parser.assignable = 2;\n return parser.finishNode(parser.options.raw\n ? {\n type: 'Literal',\n value: tokenValue,\n raw: tokenRaw,\n }\n : {\n type: 'Literal',\n value: tokenValue,\n }, tokenStart);\n}\nfunction parseNullOrTrueOrFalseLiteral(parser, context) {\n const start = parser.tokenStart;\n const raw = KeywordDescTable[parser.getToken() & 255];\n const value = parser.getToken() === 86023 ? null : raw === 'true';\n nextToken(parser, context);\n parser.assignable = 2;\n return parser.finishNode(parser.options.raw\n ? {\n type: 'Literal',\n value,\n raw,\n }\n : {\n type: 'Literal',\n value,\n }, start);\n}\nfunction parseThisExpression(parser, context) {\n const { tokenStart } = parser;\n nextToken(parser, context);\n parser.assignable = 2;\n return parser.finishNode({\n type: 'ThisExpression',\n }, tokenStart);\n}\nfunction parseFunctionDeclaration(parser, context, scope, privateScope, origin, allowGen, flags, isAsync, start) {\n nextToken(parser, context | 32);\n const isGenerator = allowGen ? optionalBit(parser, context, 8391476) : 0;\n let id = null;\n let funcNameToken;\n let functionScope = scope ? parser.createScope() : void 0;\n if (parser.getToken() === 67174411) {\n if ((flags & 1) === 0)\n parser.report(39, 'Function');\n }\n else {\n const kind = origin & 4 && ((context & 8) === 0 || (context & 2) === 0)\n ? 4\n : 64 | (isAsync ? 1024 : 0) | (isGenerator ? 1024 : 0);\n validateFunctionName(parser, context, parser.getToken());\n if (scope) {\n if (kind & 4) {\n scope.addVarName(context, parser.tokenValue, kind);\n }\n else {\n scope.addBlockName(context, parser.tokenValue, kind, origin);\n }\n functionScope = functionScope?.createChildScope(128);\n if (flags) {\n if (flags & 2) {\n parser.declareUnboundVariable(parser.tokenValue);\n }\n }\n }\n funcNameToken = parser.getToken();\n if (parser.getToken() & 143360) {\n id = parseIdentifier(parser, context);\n }\n else {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n }\n {\n const modifierFlags = 256 |\n 512 |\n 1024 |\n 2048 |\n 8192 |\n 16384;\n context =\n ((context | modifierFlags) ^ modifierFlags) |\n 65536 |\n (isAsync ? 2048 : 0) |\n (isGenerator ? 1024 : 0) |\n (isGenerator ? 0 : 262144);\n }\n functionScope = functionScope?.createChildScope(256);\n const params = parseFormalParametersOrFormalList(parser, (context | 8192) & -524289, functionScope, privateScope, 0, 1);\n const modifierFlags = 8 | 4 | 128 | 524288;\n const body = parseFunctionBody(parser, ((context | modifierFlags) ^ modifierFlags) | 32768 | 4096, functionScope?.createChildScope(64), privateScope, 8, funcNameToken, functionScope);\n return parser.finishNode({\n type: 'FunctionDeclaration',\n id,\n params,\n body,\n async: isAsync === 1,\n generator: isGenerator === 1,\n }, start);\n}\nfunction parseFunctionExpression(parser, context, privateScope, isAsync, inGroup, start) {\n nextToken(parser, context | 32);\n const isGenerator = optionalBit(parser, context, 8391476);\n const generatorAndAsyncFlags = (isAsync ? 2048 : 0) | (isGenerator ? 1024 : 0);\n let id = null;\n let funcNameToken;\n let scope = parser.createScopeIfLexical();\n const modifierFlags = 256 |\n 512 |\n 1024 |\n 2048 |\n 8192 |\n 16384 |\n 524288;\n if (parser.getToken() & 143360) {\n validateFunctionName(parser, ((context | modifierFlags) ^ modifierFlags) | generatorAndAsyncFlags, parser.getToken());\n scope = scope?.createChildScope(128);\n funcNameToken = parser.getToken();\n id = parseIdentifier(parser, context);\n }\n context =\n ((context | modifierFlags) ^ modifierFlags) |\n 65536 |\n generatorAndAsyncFlags |\n (isGenerator ? 0 : 262144);\n scope = scope?.createChildScope(256);\n const params = parseFormalParametersOrFormalList(parser, (context | 8192) & -524289, scope, privateScope, inGroup, 1);\n const body = parseFunctionBody(parser, (context & -131229) |\n 32768 |\n 4096, scope?.createChildScope(64), privateScope, 0, funcNameToken, scope);\n parser.assignable = 2;\n return parser.finishNode({\n type: 'FunctionExpression',\n id,\n params,\n body,\n async: isAsync === 1,\n generator: isGenerator === 1,\n }, start);\n}\nfunction parseArrayLiteral(parser, context, privateScope, skipInitializer, inGroup) {\n const expr = parseArrayExpressionOrPattern(parser, context, void 0, privateScope, skipInitializer, inGroup, 0, 2, 0);\n if (parser.destructible & 64) {\n parser.report(63);\n }\n if (parser.destructible & 8) {\n parser.report(62);\n }\n return expr;\n}\nfunction parseArrayExpressionOrPattern(parser, context, scope, privateScope, skipInitializer, inGroup, isPattern, kind, origin) {\n const { tokenStart: start } = parser;\n nextToken(parser, context | 32);\n const elements = [];\n let destructible = 0;\n context = (context | 131072) ^ 131072;\n while (parser.getToken() !== 20) {\n if (consumeOpt(parser, context | 32, 18)) {\n elements.push(null);\n }\n else {\n let left;\n const { tokenStart, tokenValue } = parser;\n const token = parser.getToken();\n if (token & 143360) {\n left = parsePrimaryExpression(parser, context, privateScope, kind, 0, 1, inGroup, 1, tokenStart);\n if (parser.getToken() === 1077936155) {\n if (parser.assignable & 2)\n parser.report(26);\n nextToken(parser, context | 32);\n scope?.addVarOrBlock(context, tokenValue, kind, origin);\n const right = parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart);\n left = parser.finishNode(isPattern\n ? {\n type: 'AssignmentPattern',\n left,\n right,\n }\n : {\n type: 'AssignmentExpression',\n operator: '=',\n left,\n right,\n }, tokenStart);\n destructible |=\n parser.destructible & 256\n ? 256\n : 0 | (parser.destructible & 128)\n ? 128\n : 0;\n }\n else if (parser.getToken() === 18 || parser.getToken() === 20) {\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n else {\n scope?.addVarOrBlock(context, tokenValue, kind, origin);\n }\n destructible |=\n parser.destructible & 256\n ? 256\n : 0 | (parser.destructible & 128)\n ? 128\n : 0;\n }\n else {\n destructible |=\n kind & 1\n ? 32\n : (kind & 2) === 0\n ? 16\n : 0;\n left = parseMemberOrUpdateExpression(parser, context, privateScope, left, inGroup, 0, tokenStart);\n if (parser.getToken() !== 18 && parser.getToken() !== 20) {\n if (parser.getToken() !== 1077936155)\n destructible |= 16;\n left = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, left);\n }\n else if (parser.getToken() !== 1077936155) {\n destructible |=\n parser.assignable & 2\n ? 16\n : 32;\n }\n }\n }\n else if (token & 2097152) {\n left =\n parser.getToken() === 2162700\n ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin)\n : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);\n destructible |= parser.destructible;\n parser.assignable =\n parser.destructible & 16\n ? 2\n : 1;\n if (parser.getToken() === 18 || parser.getToken() === 20) {\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n }\n else if (parser.destructible & 8) {\n parser.report(71);\n }\n else {\n left = parseMemberOrUpdateExpression(parser, context, privateScope, left, inGroup, 0, tokenStart);\n destructible = parser.assignable & 2 ? 16 : 0;\n if (parser.getToken() !== 18 && parser.getToken() !== 20) {\n left = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, left);\n }\n else if (parser.getToken() !== 1077936155) {\n destructible |=\n parser.assignable & 2\n ? 16\n : 32;\n }\n }\n }\n else if (token === 14) {\n left = parseSpreadOrRestElement(parser, context, scope, privateScope, 20, kind, origin, 0, inGroup, isPattern);\n destructible |= parser.destructible;\n if (parser.getToken() !== 18 && parser.getToken() !== 20)\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n else {\n left = parseLeftHandSideExpression(parser, context, privateScope, 1, 0, 1);\n if (parser.getToken() !== 18 && parser.getToken() !== 20) {\n left = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, left);\n if ((kind & (2 | 1)) === 0 && token === 67174411)\n destructible |= 16;\n }\n else if (parser.assignable & 2) {\n destructible |= 16;\n }\n else if (token === 67174411) {\n destructible |=\n parser.assignable & 1 && kind & (2 | 1)\n ? 32\n : 16;\n }\n }\n elements.push(left);\n if (consumeOpt(parser, context | 32, 18)) {\n if (parser.getToken() === 20)\n break;\n }\n else\n break;\n }\n }\n consume(parser, context, 20);\n const node = parser.finishNode({\n type: isPattern ? 'ArrayPattern' : 'ArrayExpression',\n elements,\n }, start);\n if (!skipInitializer && parser.getToken() & 4194304) {\n return parseArrayOrObjectAssignmentPattern(parser, context, privateScope, destructible, inGroup, isPattern, start, node);\n }\n parser.destructible = destructible;\n return node;\n}\nfunction parseArrayOrObjectAssignmentPattern(parser, context, privateScope, destructible, inGroup, isPattern, start, node) {\n if (parser.getToken() !== 1077936155)\n parser.report(26);\n nextToken(parser, context | 32);\n if (destructible & 16)\n parser.report(26);\n if (!isPattern)\n reinterpretToPattern(parser, node);\n const { tokenStart } = parser;\n const right = parseExpression(parser, context, privateScope, 1, inGroup, tokenStart);\n parser.destructible =\n ((destructible | 64 | 8) ^\n (8 | 64)) |\n (parser.destructible & 128 ? 128 : 0) |\n (parser.destructible & 256 ? 256 : 0);\n return parser.finishNode(isPattern\n ? {\n type: 'AssignmentPattern',\n left: node,\n right,\n }\n : {\n type: 'AssignmentExpression',\n left: node,\n operator: '=',\n right,\n }, start);\n}\nfunction parseSpreadOrRestElement(parser, context, scope, privateScope, closingToken, kind, origin, isAsync, inGroup, isPattern) {\n const { tokenStart: start } = parser;\n nextToken(parser, context | 32);\n let argument = null;\n let destructible = 0;\n const { tokenValue, tokenStart } = parser;\n let token = parser.getToken();\n if (token & 143360) {\n parser.assignable = 1;\n argument = parsePrimaryExpression(parser, context, privateScope, kind, 0, 1, inGroup, 1, tokenStart);\n token = parser.getToken();\n argument = parseMemberOrUpdateExpression(parser, context, privateScope, argument, inGroup, 0, tokenStart);\n if (parser.getToken() !== 18 && parser.getToken() !== closingToken) {\n if (parser.assignable & 2 && parser.getToken() === 1077936155)\n parser.report(71);\n destructible |= 16;\n argument = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, argument);\n }\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n else if (token === closingToken || token === 18) {\n scope?.addVarOrBlock(context, tokenValue, kind, origin);\n }\n else {\n destructible |= 32;\n }\n destructible |= parser.destructible & 128 ? 128 : 0;\n }\n else if (token === closingToken) {\n parser.report(41);\n }\n else if (token & 2097152) {\n argument =\n parser.getToken() === 2162700\n ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)\n : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin);\n token = parser.getToken();\n if (token !== 1077936155 && token !== closingToken && token !== 18) {\n if (parser.destructible & 8)\n parser.report(71);\n argument = parseMemberOrUpdateExpression(parser, context, privateScope, argument, inGroup, 0, tokenStart);\n destructible |= parser.assignable & 2 ? 16 : 0;\n if ((parser.getToken() & 4194304) === 4194304) {\n if (parser.getToken() !== 1077936155)\n destructible |= 16;\n argument = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, argument);\n }\n else {\n if ((parser.getToken() & 8388608) === 8388608) {\n argument = parseBinaryExpression(parser, context, privateScope, 1, tokenStart, 4, token, argument);\n }\n if (consumeOpt(parser, context | 32, 22)) {\n argument = parseConditionalExpression(parser, context, privateScope, argument, tokenStart);\n }\n destructible |=\n parser.assignable & 2\n ? 16\n : 32;\n }\n }\n else {\n destructible |=\n closingToken === 1074790415 && token !== 1077936155\n ? 16\n : parser.destructible;\n }\n }\n else {\n destructible |= 32;\n argument = parseLeftHandSideExpression(parser, context, privateScope, 1, inGroup, 1);\n const { tokenStart } = parser;\n const token = parser.getToken();\n if (token === 1077936155) {\n if (parser.assignable & 2)\n parser.report(26);\n argument = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, argument);\n destructible |= 16;\n }\n else {\n if (token === 18) {\n destructible |= 16;\n }\n else if (token !== closingToken) {\n argument = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, argument);\n }\n destructible |=\n parser.assignable & 1 ? 32 : 16;\n }\n parser.destructible = destructible;\n if (parser.getToken() !== closingToken && parser.getToken() !== 18)\n parser.report(161);\n return parser.finishNode({\n type: isPattern ? 'RestElement' : 'SpreadElement',\n argument: argument,\n }, start);\n }\n if (parser.getToken() !== closingToken) {\n if (kind & 1)\n destructible |= isAsync ? 16 : 32;\n if (consumeOpt(parser, context | 32, 1077936155)) {\n if (destructible & 16)\n parser.report(26);\n reinterpretToPattern(parser, argument);\n const right = parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart);\n argument = parser.finishNode(isPattern\n ? {\n type: 'AssignmentPattern',\n left: argument,\n right,\n }\n : {\n type: 'AssignmentExpression',\n left: argument,\n operator: '=',\n right,\n }, tokenStart);\n destructible = 16;\n }\n else {\n destructible |= 16;\n }\n }\n parser.destructible = destructible;\n return parser.finishNode({\n type: isPattern ? 'RestElement' : 'SpreadElement',\n argument: argument,\n }, start);\n}\nfunction parseMethodDefinition(parser, context, privateScope, kind, inGroup, start) {\n const modifierFlags = 1024 |\n 2048 |\n 8192 |\n ((kind & 64) === 0 ? 512 | 16384 : 0);\n context =\n ((context | modifierFlags) ^ modifierFlags) |\n (kind & 8 ? 1024 : 0) |\n (kind & 16 ? 2048 : 0) |\n (kind & 64 ? 16384 : 0) |\n 256 |\n 32768 |\n 65536;\n let scope = parser.createScopeIfLexical(256);\n const params = parseMethodFormals(parser, (context | 8192) & -524289, scope, privateScope, kind, 1, inGroup);\n scope = scope?.createChildScope(64);\n const body = parseFunctionBody(parser, (context & -655373) |\n 32768 |\n 4096, scope, privateScope, 0, void 0, scope?.parent);\n return parser.finishNode({\n type: 'FunctionExpression',\n params,\n body,\n async: (kind & 16) > 0,\n generator: (kind & 8) > 0,\n id: null,\n }, start);\n}\nfunction parseObjectLiteral(parser, context, privateScope, skipInitializer, inGroup) {\n const expr = parseObjectLiteralOrPattern(parser, context, void 0, privateScope, skipInitializer, inGroup, 0, 2, 0);\n if (parser.destructible & 64) {\n parser.report(63);\n }\n if (parser.destructible & 8) {\n parser.report(62);\n }\n return expr;\n}\nfunction parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipInitializer, inGroup, isPattern, kind, origin) {\n const { tokenStart: start } = parser;\n nextToken(parser, context);\n const properties = [];\n let destructible = 0;\n let prototypeCount = 0;\n context = (context | 131072) ^ 131072;\n while (parser.getToken() !== 1074790415) {\n const { tokenValue, tokenStart } = parser;\n const token = parser.getToken();\n if (token === 14) {\n properties.push(parseSpreadOrRestElement(parser, context, scope, privateScope, 1074790415, kind, origin, 0, inGroup, isPattern));\n }\n else {\n let state = 0;\n let key = null;\n let value;\n if (parser.getToken() & 143360 ||\n parser.getToken() === -2147483528 ||\n parser.getToken() === -2147483527) {\n if (parser.getToken() === -2147483527)\n destructible |= 16;\n key = parseIdentifier(parser, context);\n if (parser.getToken() === 18 ||\n parser.getToken() === 1074790415 ||\n parser.getToken() === 1077936155) {\n state |= 4;\n if (context & 1 && (token & 537079808) === 537079808) {\n destructible |= 16;\n }\n else {\n validateBindingIdentifier(parser, context, kind, token, 0);\n }\n scope?.addVarOrBlock(context, tokenValue, kind, origin);\n if (consumeOpt(parser, context | 32, 1077936155)) {\n destructible |= 8;\n const right = parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart);\n destructible |=\n parser.destructible & 256\n ? 256\n : 0 | (parser.destructible & 128)\n ? 128\n : 0;\n value = parser.finishNode({\n type: 'AssignmentPattern',\n left: parser.options.uniqueKeyInPattern ? Object.assign({}, key) : key,\n right,\n }, tokenStart);\n }\n else {\n destructible |=\n (token === 209006 ? 128 : 0) |\n (token === -2147483528 ? 16 : 0);\n value = parser.options.uniqueKeyInPattern ? Object.assign({}, key) : key;\n }\n }\n else if (consumeOpt(parser, context | 32, 21)) {\n const { tokenStart } = parser;\n if (tokenValue === '__proto__')\n prototypeCount++;\n if (parser.getToken() & 143360) {\n const tokenAfterColon = parser.getToken();\n const valueAfterColon = parser.tokenValue;\n value = parsePrimaryExpression(parser, context, privateScope, kind, 0, 1, inGroup, 1, tokenStart);\n const token = parser.getToken();\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (token === 1077936155 || token === 1074790415 || token === 18) {\n destructible |= parser.destructible & 128 ? 128 : 0;\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n else if ((tokenAfterColon & 143360) === 143360) {\n scope?.addVarOrBlock(context, valueAfterColon, kind, origin);\n }\n }\n else {\n destructible |=\n parser.assignable & 1\n ? 32\n : 16;\n }\n }\n else if ((parser.getToken() & 4194304) === 4194304) {\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n else if (token !== 1077936155) {\n destructible |= 32;\n }\n else {\n scope?.addVarOrBlock(context, valueAfterColon, kind, origin);\n }\n value = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n else {\n destructible |= 16;\n if ((parser.getToken() & 8388608) === 8388608) {\n value = parseBinaryExpression(parser, context, privateScope, 1, tokenStart, 4, token, value);\n }\n if (consumeOpt(parser, context | 32, 22)) {\n value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);\n }\n }\n }\n else if ((parser.getToken() & 2097152) === 2097152) {\n value =\n parser.getToken() === 69271571\n ? parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin)\n : parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);\n destructible = parser.destructible;\n parser.assignable =\n destructible & 16 ? 2 : 1;\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (parser.assignable & 2)\n destructible |= 16;\n }\n else if (parser.destructible & 8) {\n parser.report(71);\n }\n else {\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n destructible = parser.assignable & 2 ? 16 : 0;\n if ((parser.getToken() & 4194304) === 4194304) {\n value = parseAssignmentExpressionOrPattern(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n else {\n if ((parser.getToken() & 8388608) === 8388608) {\n value = parseBinaryExpression(parser, context, privateScope, 1, tokenStart, 4, token, value);\n }\n if (consumeOpt(parser, context | 32, 22)) {\n value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);\n }\n destructible |=\n parser.assignable & 2\n ? 16\n : 32;\n }\n }\n }\n else {\n value = parseLeftHandSideExpression(parser, context, privateScope, 1, inGroup, 1);\n destructible |=\n parser.assignable & 1\n ? 32\n : 16;\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (parser.assignable & 2)\n destructible |= 16;\n }\n else {\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n destructible = parser.assignable & 2 ? 16 : 0;\n if (parser.getToken() !== 18 && token !== 1074790415) {\n if (parser.getToken() !== 1077936155)\n destructible |= 16;\n value = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n }\n }\n }\n else if (parser.getToken() === 69271571) {\n destructible |= 16;\n if (token === 209005)\n state |= 16;\n state |=\n (token === 209008\n ? 256\n : token === 209009\n ? 512\n : 1) | 2;\n key = parseComputedPropertyName(parser, context, privateScope, inGroup);\n destructible |= parser.assignable;\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else if (parser.getToken() & 143360) {\n destructible |= 16;\n if (token === -2147483528)\n parser.report(95);\n if (token === 209005) {\n if (parser.flags & 1)\n parser.report(132);\n state |= 16 | 1;\n }\n else if (token === 209008) {\n state |= 256;\n }\n else if (token === 209009) {\n state |= 512;\n }\n else {\n parser.report(0);\n }\n key = parseIdentifier(parser, context);\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else if (parser.getToken() === 67174411) {\n destructible |= 16;\n state |= 1;\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else if (parser.getToken() === 8391476) {\n destructible |= 16;\n if (token === 209008) {\n parser.report(42);\n }\n else if (token === 209009) {\n parser.report(43);\n }\n else if (token !== 209005) {\n parser.report(30, KeywordDescTable[8391476 & 255]);\n }\n nextToken(parser, context);\n state |=\n 8 | 1 | (token === 209005 ? 16 : 0);\n if (parser.getToken() & 143360) {\n key = parseIdentifier(parser, context);\n }\n else if ((parser.getToken() & 134217728) === 134217728) {\n key = parseLiteral(parser, context);\n }\n else if (parser.getToken() === 69271571) {\n state |= 2;\n key = parseComputedPropertyName(parser, context, privateScope, inGroup);\n destructible |= parser.assignable;\n }\n else {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else if ((parser.getToken() & 134217728) === 134217728) {\n if (token === 209005)\n state |= 16;\n state |=\n token === 209008\n ? 256\n : token === 209009\n ? 512\n : 1;\n destructible |= 16;\n key = parseLiteral(parser, context);\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else {\n parser.report(133);\n }\n }\n else if ((parser.getToken() & 134217728) === 134217728) {\n key = parseLiteral(parser, context);\n if (parser.getToken() === 21) {\n consume(parser, context | 32, 21);\n const { tokenStart } = parser;\n if (tokenValue === '__proto__')\n prototypeCount++;\n if (parser.getToken() & 143360) {\n value = parsePrimaryExpression(parser, context, privateScope, kind, 0, 1, inGroup, 1, tokenStart);\n const { tokenValue: valueAfterColon } = parser;\n const token = parser.getToken();\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (token === 1077936155 || token === 1074790415 || token === 18) {\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n else {\n scope?.addVarOrBlock(context, valueAfterColon, kind, origin);\n }\n }\n else {\n destructible |=\n parser.assignable & 1\n ? 32\n : 16;\n }\n }\n else if (parser.getToken() === 1077936155) {\n if (parser.assignable & 2)\n destructible |= 16;\n value = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n else {\n destructible |= 16;\n value = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n }\n else if ((parser.getToken() & 2097152) === 2097152) {\n value =\n parser.getToken() === 69271571\n ? parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin)\n : parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);\n destructible = parser.destructible;\n parser.assignable =\n destructible & 16 ? 2 : 1;\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n }\n else if ((parser.destructible & 8) !== 8) {\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n destructible = parser.assignable & 2 ? 16 : 0;\n if ((parser.getToken() & 4194304) === 4194304) {\n value = parseAssignmentExpressionOrPattern(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n else {\n if ((parser.getToken() & 8388608) === 8388608) {\n value = parseBinaryExpression(parser, context, privateScope, 1, tokenStart, 4, token, value);\n }\n if (consumeOpt(parser, context | 32, 22)) {\n value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);\n }\n destructible |=\n parser.assignable & 2\n ? 16\n : 32;\n }\n }\n }\n else {\n value = parseLeftHandSideExpression(parser, context, privateScope, 1, 0, 1);\n destructible |=\n parser.assignable & 1\n ? 32\n : 16;\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n }\n else {\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n destructible = parser.assignable & 1 ? 0 : 16;\n if (parser.getToken() !== 18 && parser.getToken() !== 1074790415) {\n if (parser.getToken() !== 1077936155)\n destructible |= 16;\n value = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n }\n }\n }\n else if (parser.getToken() === 67174411) {\n state |= 1;\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n destructible = parser.assignable | 16;\n }\n else {\n parser.report(134);\n }\n }\n else if (parser.getToken() === 69271571) {\n key = parseComputedPropertyName(parser, context, privateScope, inGroup);\n destructible |= parser.destructible & 256 ? 256 : 0;\n state |= 2;\n if (parser.getToken() === 21) {\n nextToken(parser, context | 32);\n const { tokenStart, tokenValue } = parser;\n const tokenAfterColon = parser.getToken();\n if (parser.getToken() & 143360) {\n value = parsePrimaryExpression(parser, context, privateScope, kind, 0, 1, inGroup, 1, tokenStart);\n const token = parser.getToken();\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n if ((parser.getToken() & 4194304) === 4194304) {\n destructible |=\n parser.assignable & 2\n ? 16\n : token === 1077936155\n ? 0\n : 32;\n value = parseAssignmentExpressionOrPattern(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n else if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (token === 1077936155 || token === 1074790415 || token === 18) {\n if (parser.assignable & 2) {\n destructible |= 16;\n }\n else if ((tokenAfterColon & 143360) === 143360) {\n scope?.addVarOrBlock(context, tokenValue, kind, origin);\n }\n }\n else {\n destructible |=\n parser.assignable & 1\n ? 32\n : 16;\n }\n }\n else {\n destructible |= 16;\n value = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n }\n else if ((parser.getToken() & 2097152) === 2097152) {\n value =\n parser.getToken() === 69271571\n ? parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin)\n : parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);\n destructible = parser.destructible;\n parser.assignable =\n destructible & 16 ? 2 : 1;\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (parser.assignable & 2)\n destructible |= 16;\n }\n else if (destructible & 8) {\n parser.report(62);\n }\n else {\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n destructible =\n parser.assignable & 2 ? destructible | 16 : 0;\n if ((parser.getToken() & 4194304) === 4194304) {\n if (parser.getToken() !== 1077936155)\n destructible |= 16;\n value = parseAssignmentExpressionOrPattern(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n else {\n if ((parser.getToken() & 8388608) === 8388608) {\n value = parseBinaryExpression(parser, context, privateScope, 1, tokenStart, 4, token, value);\n }\n if (consumeOpt(parser, context | 32, 22)) {\n value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);\n }\n destructible |=\n parser.assignable & 2\n ? 16\n : 32;\n }\n }\n }\n else {\n value = parseLeftHandSideExpression(parser, context, privateScope, 1, 0, 1);\n destructible |=\n parser.assignable & 1\n ? 32\n : 16;\n if (parser.getToken() === 18 || parser.getToken() === 1074790415) {\n if (parser.assignable & 2)\n destructible |= 16;\n }\n else {\n value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);\n destructible = parser.assignable & 1 ? 0 : 16;\n if (parser.getToken() !== 18 && parser.getToken() !== 1074790415) {\n if (parser.getToken() !== 1077936155)\n destructible |= 16;\n value = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, value);\n }\n }\n }\n }\n else if (parser.getToken() === 67174411) {\n state |= 1;\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n destructible = 16;\n }\n else {\n parser.report(44);\n }\n }\n else if (token === 8391476) {\n consume(parser, context | 32, 8391476);\n state |= 8;\n if (parser.getToken() & 143360) {\n const token = parser.getToken();\n key = parseIdentifier(parser, context);\n state |= 1;\n if (parser.getToken() === 67174411) {\n destructible |= 16;\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else {\n throw new ParseError(parser.tokenStart, parser.currentLocation, token === 209005\n ? 46\n : token === 209008 || parser.getToken() === 209009\n ? 45\n : 47, KeywordDescTable[token & 255]);\n }\n }\n else if ((parser.getToken() & 134217728) === 134217728) {\n destructible |= 16;\n key = parseLiteral(parser, context);\n state |= 1;\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else if (parser.getToken() === 69271571) {\n destructible |= 16;\n state |= 2 | 1;\n key = parseComputedPropertyName(parser, context, privateScope, inGroup);\n value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);\n }\n else {\n parser.report(126);\n }\n }\n else {\n parser.report(30, KeywordDescTable[token & 255]);\n }\n destructible |= parser.destructible & 128 ? 128 : 0;\n parser.destructible = destructible;\n properties.push(parser.finishNode({\n type: 'Property',\n key: key,\n value,\n kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get',\n computed: (state & 2) > 0,\n method: (state & 1) > 0,\n shorthand: (state & 4) > 0,\n }, tokenStart));\n }\n destructible |= parser.destructible;\n if (parser.getToken() !== 18)\n break;\n nextToken(parser, context);\n }\n consume(parser, context, 1074790415);\n if (prototypeCount > 1)\n destructible |= 64;\n const node = parser.finishNode({\n type: isPattern ? 'ObjectPattern' : 'ObjectExpression',\n properties,\n }, start);\n if (!skipInitializer && parser.getToken() & 4194304) {\n return parseArrayOrObjectAssignmentPattern(parser, context, privateScope, destructible, inGroup, isPattern, start, node);\n }\n parser.destructible = destructible;\n return node;\n}\nfunction parseMethodFormals(parser, context, scope, privateScope, kind, type, inGroup) {\n consume(parser, context, 67174411);\n const params = [];\n parser.flags = (parser.flags | 128) ^ 128;\n if (parser.getToken() === 16) {\n if (kind & 512) {\n parser.report(37, 'Setter', 'one', '');\n }\n nextToken(parser, context);\n return params;\n }\n if (kind & 256) {\n parser.report(37, 'Getter', 'no', 's');\n }\n if (kind & 512 && parser.getToken() === 14) {\n parser.report(38);\n }\n context = (context | 131072) ^ 131072;\n let setterArgs = 0;\n let isNonSimpleParameterList = 0;\n while (parser.getToken() !== 18) {\n let left = null;\n const { tokenStart } = parser;\n if (parser.getToken() & 143360) {\n if ((context & 1) === 0) {\n if ((parser.getToken() & 36864) === 36864) {\n parser.flags |= 256;\n }\n if ((parser.getToken() & 537079808) === 537079808) {\n parser.flags |= 512;\n }\n }\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0);\n }\n else {\n if (parser.getToken() === 2162700) {\n left = parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, 1, type, 0);\n }\n else if (parser.getToken() === 69271571) {\n left = parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, 1, type, 0);\n }\n else if (parser.getToken() === 14) {\n left = parseSpreadOrRestElement(parser, context, scope, privateScope, 16, type, 0, 0, inGroup, 1);\n }\n isNonSimpleParameterList = 1;\n if (parser.destructible & (32 | 16))\n parser.report(50);\n }\n if (parser.getToken() === 1077936155) {\n nextToken(parser, context | 32);\n isNonSimpleParameterList = 1;\n const right = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n left = parser.finishNode({\n type: 'AssignmentPattern',\n left: left,\n right,\n }, tokenStart);\n }\n setterArgs++;\n params.push(left);\n if (!consumeOpt(parser, context, 18))\n break;\n if (parser.getToken() === 16) {\n break;\n }\n }\n if (kind & 512 && setterArgs !== 1) {\n parser.report(37, 'Setter', 'one', '');\n }\n scope?.reportScopeError();\n if (isNonSimpleParameterList)\n parser.flags |= 128;\n consume(parser, context, 16);\n return params;\n}\nfunction parseComputedPropertyName(parser, context, privateScope, inGroup) {\n nextToken(parser, context | 32);\n const key = parseExpression(parser, (context | 131072) ^ 131072, privateScope, 1, inGroup, parser.tokenStart);\n consume(parser, context, 20);\n return key;\n}\nfunction parseParenthesizedExpression(parser, context, privateScope, canAssign, kind, origin, start) {\n parser.flags = (parser.flags | 128) ^ 128;\n const parenthesesStart = parser.tokenStart;\n nextToken(parser, context | 32 | 262144);\n const scope = parser.createScopeIfLexical()?.createChildScope(512);\n context = (context | 131072) ^ 131072;\n if (consumeOpt(parser, context, 16)) {\n return parseParenthesizedArrow(parser, context, scope, privateScope, [], canAssign, 0, start);\n }\n let destructible = 0;\n parser.destructible &= -385;\n let expr;\n let expressions = [];\n let isSequence = 0;\n let isNonSimpleParameterList = 0;\n let hasStrictReserved = 0;\n const tokenAfterParenthesesStart = parser.tokenStart;\n parser.assignable = 1;\n while (parser.getToken() !== 16) {\n const { tokenStart } = parser;\n const token = parser.getToken();\n if (token & 143360) {\n scope?.addBlockName(context, parser.tokenValue, 1, 0);\n if ((token & 537079808) === 537079808) {\n isNonSimpleParameterList = 1;\n }\n else if ((token & 36864) === 36864) {\n hasStrictReserved = 1;\n }\n expr = parsePrimaryExpression(parser, context, privateScope, kind, 0, 1, 1, 1, tokenStart);\n if (parser.getToken() === 16 || parser.getToken() === 18) {\n if (parser.assignable & 2) {\n destructible |= 16;\n isNonSimpleParameterList = 1;\n }\n }\n else {\n if (parser.getToken() === 1077936155) {\n isNonSimpleParameterList = 1;\n }\n else {\n destructible |= 16;\n }\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 1, 0, tokenStart);\n if (parser.getToken() !== 16 && parser.getToken() !== 18) {\n expr = parseAssignmentExpression(parser, context, privateScope, 1, 0, tokenStart, expr);\n }\n }\n }\n else if ((token & 2097152) === 2097152) {\n expr =\n token === 2162700\n ? parseObjectLiteralOrPattern(parser, context | 262144, scope, privateScope, 0, 1, 0, kind, origin)\n : parseArrayExpressionOrPattern(parser, context | 262144, scope, privateScope, 0, 1, 0, kind, origin);\n destructible |= parser.destructible;\n isNonSimpleParameterList = 1;\n parser.assignable = 2;\n if (parser.getToken() !== 16 && parser.getToken() !== 18) {\n if (destructible & 8)\n parser.report(122);\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 0, tokenStart);\n destructible |= 16;\n if (parser.getToken() !== 16 && parser.getToken() !== 18) {\n expr = parseAssignmentExpression(parser, context, privateScope, 0, 0, tokenStart, expr);\n }\n }\n }\n else if (token === 14) {\n expr = parseSpreadOrRestElement(parser, context, scope, privateScope, 16, kind, origin, 0, 1, 0);\n if (parser.destructible & 16)\n parser.report(74);\n isNonSimpleParameterList = 1;\n if (isSequence && (parser.getToken() === 16 || parser.getToken() === 18)) {\n expressions.push(expr);\n }\n destructible |= 8;\n break;\n }\n else {\n destructible |= 16;\n expr = parseExpression(parser, context, privateScope, 1, 1, tokenStart);\n if (isSequence && (parser.getToken() === 16 || parser.getToken() === 18)) {\n expressions.push(expr);\n }\n if (parser.getToken() === 18) {\n if (!isSequence) {\n isSequence = 1;\n expressions = [expr];\n }\n }\n if (isSequence) {\n while (consumeOpt(parser, context | 32, 18)) {\n expressions.push(parseExpression(parser, context, privateScope, 1, 1, parser.tokenStart));\n }\n parser.assignable = 2;\n expr = parser.finishNode({\n type: 'SequenceExpression',\n expressions,\n }, tokenAfterParenthesesStart);\n }\n consume(parser, context, 16);\n parser.destructible = destructible;\n return parser.options.preserveParens\n ? parser.finishNode({\n type: 'ParenthesizedExpression',\n expression: expr,\n }, parenthesesStart)\n : expr;\n }\n if (isSequence && (parser.getToken() === 16 || parser.getToken() === 18)) {\n expressions.push(expr);\n }\n if (!consumeOpt(parser, context | 32, 18))\n break;\n if (!isSequence) {\n isSequence = 1;\n expressions = [expr];\n }\n if (parser.getToken() === 16) {\n destructible |= 8;\n break;\n }\n }\n if (isSequence) {\n parser.assignable = 2;\n expr = parser.finishNode({\n type: 'SequenceExpression',\n expressions,\n }, tokenAfterParenthesesStart);\n }\n consume(parser, context, 16);\n if (destructible & 16 && destructible & 8)\n parser.report(151);\n destructible |=\n parser.destructible & 256\n ? 256\n : 0 | (parser.destructible & 128)\n ? 128\n : 0;\n if (parser.getToken() === 10) {\n if (destructible & (32 | 16))\n parser.report(49);\n if (context & (2048 | 2) && destructible & 128)\n parser.report(31);\n if (context & (1 | 1024) && destructible & 256) {\n parser.report(32);\n }\n if (isNonSimpleParameterList)\n parser.flags |= 128;\n if (hasStrictReserved)\n parser.flags |= 256;\n return parseParenthesizedArrow(parser, context, scope, privateScope, isSequence ? expressions : [expr], canAssign, 0, start);\n }\n if (destructible & 64) {\n parser.report(63);\n }\n if (destructible & 8) {\n parser.report(144);\n }\n parser.destructible = ((parser.destructible | 256) ^ 256) | destructible;\n return parser.options.preserveParens\n ? parser.finishNode({\n type: 'ParenthesizedExpression',\n expression: expr,\n }, parenthesesStart)\n : expr;\n}\nfunction parseIdentifierOrArrow(parser, context, privateScope) {\n const { tokenStart: start } = parser;\n const { tokenValue } = parser;\n let isNonSimpleParameterList = 0;\n let hasStrictReserved = 0;\n if ((parser.getToken() & 537079808) === 537079808) {\n isNonSimpleParameterList = 1;\n }\n else if ((parser.getToken() & 36864) === 36864) {\n hasStrictReserved = 1;\n }\n const expr = parseIdentifier(parser, context);\n parser.assignable = 1;\n if (parser.getToken() === 10) {\n const scope = parser.options.lexical ? createArrowHeadParsingScope(parser, context, tokenValue) : undefined;\n if (isNonSimpleParameterList)\n parser.flags |= 128;\n if (hasStrictReserved)\n parser.flags |= 256;\n return parseArrowFunctionExpression(parser, context, scope, privateScope, [expr], 0, start);\n }\n return expr;\n}\nfunction parseArrowFromIdentifier(parser, context, privateScope, value, expr, inNew, canAssign, isAsync, start) {\n if (!canAssign)\n parser.report(57);\n if (inNew)\n parser.report(51);\n parser.flags &= -129;\n const scope = parser.options.lexical ? createArrowHeadParsingScope(parser, context, value) : void 0;\n return parseArrowFunctionExpression(parser, context, scope, privateScope, [expr], isAsync, start);\n}\nfunction parseParenthesizedArrow(parser, context, scope, privateScope, params, canAssign, isAsync, start) {\n if (!canAssign)\n parser.report(57);\n for (let i = 0; i < params.length; ++i)\n reinterpretToPattern(parser, params[i]);\n return parseArrowFunctionExpression(parser, context, scope, privateScope, params, isAsync, start);\n}\nfunction parseArrowFunctionExpression(parser, context, scope, privateScope, params, isAsync, start) {\n if (parser.flags & 1)\n parser.report(48);\n consume(parser, context | 32, 10);\n const modifierFlags = 1024 | 2048 | 8192 | 524288;\n context = ((context | modifierFlags) ^ modifierFlags) | (isAsync ? 2048 : 0);\n const expression = parser.getToken() !== 2162700;\n let body;\n scope?.reportScopeError();\n if (expression) {\n parser.flags =\n (parser.flags | 512 | 256 | 64 | 4096) ^\n (512 | 256 | 64 | 4096);\n body = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n }\n else {\n scope = scope?.createChildScope(64);\n const modifierFlags = 4 | 131072 | 8;\n body = parseFunctionBody(parser, ((context | modifierFlags) ^ modifierFlags) | 4096, scope, privateScope, 16, void 0, void 0);\n switch (parser.getToken()) {\n case 69271571:\n if ((parser.flags & 1) === 0) {\n parser.report(116);\n }\n break;\n case 67108877:\n case 67174409:\n case 22:\n parser.report(117);\n case 67174411:\n if ((parser.flags & 1) === 0) {\n parser.report(116);\n }\n parser.flags |= 1024;\n break;\n }\n if ((parser.getToken() & 8388608) === 8388608 && (parser.flags & 1) === 0)\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n if ((parser.getToken() & 33619968) === 33619968)\n parser.report(125);\n }\n parser.assignable = 2;\n return parser.finishNode({\n type: 'ArrowFunctionExpression',\n params,\n body,\n async: isAsync === 1,\n expression,\n generator: false,\n }, start);\n}\nfunction parseFormalParametersOrFormalList(parser, context, scope, privateScope, inGroup, kind) {\n consume(parser, context, 67174411);\n parser.flags = (parser.flags | 128) ^ 128;\n const params = [];\n if (consumeOpt(parser, context, 16))\n return params;\n context = (context | 131072) ^ 131072;\n let isNonSimpleParameterList = 0;\n while (parser.getToken() !== 18) {\n let left;\n const { tokenStart } = parser;\n const token = parser.getToken();\n if (token & 143360) {\n if ((context & 1) === 0) {\n if ((token & 36864) === 36864) {\n parser.flags |= 256;\n }\n if ((token & 537079808) === 537079808) {\n parser.flags |= 512;\n }\n }\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0);\n }\n else {\n if (token === 2162700) {\n left = parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, 1, kind, 0);\n }\n else if (token === 69271571) {\n left = parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, 1, kind, 0);\n }\n else if (token === 14) {\n left = parseSpreadOrRestElement(parser, context, scope, privateScope, 16, kind, 0, 0, inGroup, 1);\n }\n else {\n parser.report(30, KeywordDescTable[token & 255]);\n }\n isNonSimpleParameterList = 1;\n if (parser.destructible & (32 | 16)) {\n parser.report(50);\n }\n }\n if (parser.getToken() === 1077936155) {\n nextToken(parser, context | 32);\n isNonSimpleParameterList = 1;\n const right = parseExpression(parser, context, privateScope, 1, inGroup, parser.tokenStart);\n left = parser.finishNode({\n type: 'AssignmentPattern',\n left,\n right,\n }, tokenStart);\n }\n params.push(left);\n if (!consumeOpt(parser, context, 18))\n break;\n if (parser.getToken() === 16) {\n break;\n }\n }\n if (isNonSimpleParameterList)\n parser.flags |= 128;\n if (isNonSimpleParameterList || context & 1) {\n scope?.reportScopeError();\n }\n consume(parser, context, 16);\n return params;\n}\nfunction parseMemberExpressionNoCall(parser, context, privateScope, expr, inGroup, start) {\n const token = parser.getToken();\n if (token & 67108864) {\n if (token === 67108877) {\n nextToken(parser, context | 262144);\n parser.assignable = 1;\n const property = parsePropertyOrPrivatePropertyName(parser, context, privateScope);\n return parseMemberExpressionNoCall(parser, context, privateScope, parser.finishNode({\n type: 'MemberExpression',\n object: expr,\n computed: false,\n property,\n optional: false,\n }, start), 0, start);\n }\n else if (token === 69271571) {\n nextToken(parser, context | 32);\n const { tokenStart } = parser;\n const property = parseExpressions(parser, context, privateScope, inGroup, 1, tokenStart);\n consume(parser, context, 20);\n parser.assignable = 1;\n return parseMemberExpressionNoCall(parser, context, privateScope, parser.finishNode({\n type: 'MemberExpression',\n object: expr,\n computed: true,\n property,\n optional: false,\n }, start), 0, start);\n }\n else if (token === 67174408 || token === 67174409) {\n parser.assignable = 2;\n return parseMemberExpressionNoCall(parser, context, privateScope, parser.finishNode({\n type: 'TaggedTemplateExpression',\n tag: expr,\n quasi: parser.getToken() === 67174408\n ? parseTemplate(parser, context | 64, privateScope)\n : parseTemplateLiteral(parser, context | 64),\n }, start), 0, start);\n }\n }\n return expr;\n}\nfunction parseNewExpression(parser, context, privateScope, inGroup) {\n const { tokenStart: start } = parser;\n const id = parseIdentifier(parser, context | 32);\n const { tokenStart } = parser;\n if (consumeOpt(parser, context, 67108877)) {\n if (context & 65536 && parser.getToken() === 209029) {\n parser.assignable = 2;\n return parseMetaProperty(parser, context, id, start);\n }\n parser.report(94);\n }\n parser.assignable = 2;\n if ((parser.getToken() & 16842752) === 16842752) {\n parser.report(65, KeywordDescTable[parser.getToken() & 255]);\n }\n const expr = parsePrimaryExpression(parser, context, privateScope, 2, 1, 0, inGroup, 1, tokenStart);\n context = (context | 131072) ^ 131072;\n if (parser.getToken() === 67108990)\n parser.report(168);\n const callee = parseMemberExpressionNoCall(parser, context, privateScope, expr, inGroup, tokenStart);\n parser.assignable = 2;\n return parser.finishNode({\n type: 'NewExpression',\n callee,\n arguments: parser.getToken() === 67174411 ? parseArguments(parser, context, privateScope, inGroup) : [],\n }, start);\n}\nfunction parseMetaProperty(parser, context, meta, start) {\n const property = parseIdentifier(parser, context);\n return parser.finishNode({\n type: 'MetaProperty',\n meta,\n property,\n }, start);\n}\nfunction parseAsyncArrowAfterIdent(parser, context, privateScope, canAssign, start) {\n if (parser.getToken() === 209006)\n parser.report(31);\n if (context & (1 | 1024) && parser.getToken() === 241771) {\n parser.report(32);\n }\n classifyIdentifier(parser, context, parser.getToken());\n if ((parser.getToken() & 36864) === 36864) {\n parser.flags |= 256;\n }\n return parseArrowFromIdentifier(parser, (context & -524289) | 2048, privateScope, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start);\n}\nfunction parseAsyncArrowOrCallExpression(parser, context, privateScope, callee, canAssign, kind, origin, flags, start) {\n nextToken(parser, context | 32);\n const scope = parser.createScopeIfLexical()?.createChildScope(512);\n context = (context | 131072) ^ 131072;\n if (consumeOpt(parser, context, 16)) {\n if (parser.getToken() === 10) {\n if (flags & 1)\n parser.report(48);\n return parseParenthesizedArrow(parser, context, scope, privateScope, [], canAssign, 1, start);\n }\n return parser.finishNode({\n type: 'CallExpression',\n callee,\n arguments: [],\n optional: false,\n }, start);\n }\n let destructible = 0;\n let expr = null;\n let isNonSimpleParameterList = 0;\n parser.destructible =\n (parser.destructible | 256 | 128) ^\n (256 | 128);\n const params = [];\n while (parser.getToken() !== 16) {\n const { tokenStart } = parser;\n const token = parser.getToken();\n if (token & 143360) {\n scope?.addBlockName(context, parser.tokenValue, kind, 0);\n if ((token & 537079808) === 537079808) {\n parser.flags |= 512;\n }\n else if ((token & 36864) === 36864) {\n parser.flags |= 256;\n }\n expr = parsePrimaryExpression(parser, context, privateScope, kind, 0, 1, 1, 1, tokenStart);\n if (parser.getToken() === 16 || parser.getToken() === 18) {\n if (parser.assignable & 2) {\n destructible |= 16;\n isNonSimpleParameterList = 1;\n }\n }\n else {\n if (parser.getToken() === 1077936155) {\n isNonSimpleParameterList = 1;\n }\n else {\n destructible |= 16;\n }\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 1, 0, tokenStart);\n if (parser.getToken() !== 16 && parser.getToken() !== 18) {\n expr = parseAssignmentExpression(parser, context, privateScope, 1, 0, tokenStart, expr);\n }\n }\n }\n else if (token & 2097152) {\n expr =\n token === 2162700\n ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind, origin)\n : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind, origin);\n destructible |= parser.destructible;\n isNonSimpleParameterList = 1;\n if (parser.getToken() !== 16 && parser.getToken() !== 18) {\n if (destructible & 8)\n parser.report(122);\n expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 0, tokenStart);\n destructible |= 16;\n if ((parser.getToken() & 8388608) === 8388608) {\n expr = parseBinaryExpression(parser, context, privateScope, 1, start, 4, token, expr);\n }\n if (consumeOpt(parser, context | 32, 22)) {\n expr = parseConditionalExpression(parser, context, privateScope, expr, start);\n }\n }\n }\n else if (token === 14) {\n expr = parseSpreadOrRestElement(parser, context, scope, privateScope, 16, kind, origin, 1, 1, 0);\n destructible |=\n (parser.getToken() === 16 ? 0 : 16) | parser.destructible;\n isNonSimpleParameterList = 1;\n }\n else {\n expr = parseExpression(parser, context, privateScope, 1, 0, tokenStart);\n destructible = parser.assignable;\n params.push(expr);\n while (consumeOpt(parser, context | 32, 18)) {\n params.push(parseExpression(parser, context, privateScope, 1, 0, tokenStart));\n }\n destructible |= parser.assignable;\n consume(parser, context, 16);\n parser.destructible = destructible | 16;\n parser.assignable = 2;\n return parser.finishNode({\n type: 'CallExpression',\n callee,\n arguments: params,\n optional: false,\n }, start);\n }\n params.push(expr);\n if (!consumeOpt(parser, context | 32, 18))\n break;\n }\n consume(parser, context, 16);\n destructible |=\n parser.destructible & 256\n ? 256\n : 0 | (parser.destructible & 128)\n ? 128\n : 0;\n if (parser.getToken() === 10) {\n if (destructible & (32 | 16))\n parser.report(27);\n if (parser.flags & 1 || flags & 1)\n parser.report(48);\n if (destructible & 128)\n parser.report(31);\n if (context & (1 | 1024) && destructible & 256)\n parser.report(32);\n if (isNonSimpleParameterList)\n parser.flags |= 128;\n return parseParenthesizedArrow(parser, context | 2048, scope, privateScope, params, canAssign, 1, start);\n }\n if (destructible & 64) {\n parser.report(63);\n }\n if (destructible & 8) {\n parser.report(62);\n }\n parser.assignable = 2;\n return parser.finishNode({\n type: 'CallExpression',\n callee,\n arguments: params,\n optional: false,\n }, start);\n}\nfunction parseRegExpLiteral(parser, context) {\n const { tokenRaw, tokenRegExp, tokenValue, tokenStart } = parser;\n nextToken(parser, context);\n parser.assignable = 2;\n const node = {\n type: 'Literal',\n value: tokenValue,\n regex: tokenRegExp,\n };\n if (parser.options.raw) {\n node.raw = tokenRaw;\n }\n return parser.finishNode(node, tokenStart);\n}\nfunction parseClassDeclaration(parser, context, scope, privateScope, flags) {\n let start;\n let decorators;\n if (parser.leadingDecorators.decorators.length) {\n if (parser.getToken() === 132) {\n parser.report(30, '@');\n }\n start = parser.leadingDecorators.start;\n decorators = [...parser.leadingDecorators.decorators];\n parser.leadingDecorators.decorators.length = 0;\n }\n else {\n start = parser.tokenStart;\n decorators = parseDecorators(parser, context, privateScope);\n }\n context = (context | 16384 | 1) ^ 16384;\n nextToken(parser, context);\n let id = null;\n let superClass = null;\n const { tokenValue } = parser;\n if (parser.getToken() & 4096 && parser.getToken() !== 20565) {\n if (isStrictReservedWord(parser, context, parser.getToken())) {\n parser.report(118);\n }\n if ((parser.getToken() & 537079808) === 537079808) {\n parser.report(119);\n }\n if (scope) {\n scope.addBlockName(context, tokenValue, 32, 0);\n if (flags) {\n if (flags & 2) {\n parser.declareUnboundVariable(tokenValue);\n }\n }\n }\n id = parseIdentifier(parser, context);\n }\n else {\n if ((flags & 1) === 0)\n parser.report(39, 'Class');\n }\n let inheritedContext = context;\n if (consumeOpt(parser, context | 32, 20565)) {\n superClass = parseLeftHandSideExpression(parser, context, privateScope, 0, 0, 0);\n inheritedContext |= 512;\n }\n else {\n inheritedContext = (inheritedContext | 512) ^ 512;\n }\n const body = parseClassBody(parser, inheritedContext, context, scope, privateScope, 2, 8, 0);\n return parser.finishNode({\n type: 'ClassDeclaration',\n id,\n superClass,\n body,\n ...(parser.options.next ? { decorators } : null),\n }, start);\n}\nfunction parseClassExpression(parser, context, privateScope, inGroup, start) {\n let id = null;\n let superClass = null;\n const decorators = parseDecorators(parser, context, privateScope);\n context = (context | 1 | 16384) ^ 16384;\n nextToken(parser, context);\n if (parser.getToken() & 4096 && parser.getToken() !== 20565) {\n if (isStrictReservedWord(parser, context, parser.getToken()))\n parser.report(118);\n if ((parser.getToken() & 537079808) === 537079808) {\n parser.report(119);\n }\n id = parseIdentifier(parser, context);\n }\n let inheritedContext = context;\n if (consumeOpt(parser, context | 32, 20565)) {\n superClass = parseLeftHandSideExpression(parser, context, privateScope, 0, inGroup, 0);\n inheritedContext |= 512;\n }\n else {\n inheritedContext = (inheritedContext | 512) ^ 512;\n }\n const body = parseClassBody(parser, inheritedContext, context, void 0, privateScope, 2, 0, inGroup);\n parser.assignable = 2;\n return parser.finishNode({\n type: 'ClassExpression',\n id,\n superClass,\n body,\n ...(parser.options.next ? { decorators } : null),\n }, start);\n}\nfunction parseDecorators(parser, context, privateScope) {\n const list = [];\n if (parser.options.next) {\n while (parser.getToken() === 132) {\n list.push(parseDecoratorList(parser, context, privateScope));\n }\n }\n return list;\n}\nfunction parseDecoratorList(parser, context, privateScope) {\n const start = parser.tokenStart;\n nextToken(parser, context | 32);\n let expression = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, start);\n expression = parseMemberOrUpdateExpression(parser, context, privateScope, expression, 0, 0, parser.tokenStart);\n return parser.finishNode({\n type: 'Decorator',\n expression,\n }, start);\n}\nfunction parseClassBody(parser, context, inheritedContext, scope, parentScope, kind, origin, inGroup) {\n const { tokenStart } = parser;\n const privateScope = parser.createPrivateScopeIfLexical(parentScope);\n consume(parser, context | 32, 2162700);\n const modifierFlags = 131072 | 524288;\n context = (context | modifierFlags) ^ modifierFlags;\n const hasConstr = parser.flags & 32;\n parser.flags = (parser.flags | 32) ^ 32;\n const body = [];\n while (parser.getToken() !== 1074790415) {\n const decoratorStart = parser.tokenStart;\n const decorators = parseDecorators(parser, context, privateScope);\n if (decorators.length > 0 && parser.tokenValue === 'constructor') {\n parser.report(109);\n }\n if (parser.getToken() === 1074790415)\n parser.report(108);\n if (consumeOpt(parser, context, 1074790417)) {\n if (decorators.length > 0)\n parser.report(120);\n continue;\n }\n body.push(parseClassElementList(parser, context, scope, privateScope, inheritedContext, kind, decorators, 0, inGroup, decorators.length > 0 ? decoratorStart : parser.tokenStart));\n }\n consume(parser, origin & 8 ? context | 32 : context, 1074790415);\n privateScope?.validatePrivateIdentifierRefs();\n parser.flags = (parser.flags & -33) | hasConstr;\n return parser.finishNode({\n type: 'ClassBody',\n body,\n }, tokenStart);\n}\nfunction parseClassElementList(parser, context, scope, privateScope, inheritedContext, type, decorators, isStatic, inGroup, start) {\n let kind = isStatic ? 32 : 0;\n let key = null;\n const token = parser.getToken();\n if (token & (143360 | 36864) || token === -2147483528) {\n key = parseIdentifier(parser, context);\n switch (token) {\n case 36970:\n if (!isStatic &&\n parser.getToken() !== 67174411 &&\n (parser.getToken() & 1048576) !== 1048576 &&\n parser.getToken() !== 1077936155) {\n return parseClassElementList(parser, context, scope, privateScope, inheritedContext, type, decorators, 1, inGroup, start);\n }\n break;\n case 209005:\n if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {\n if ((parser.getToken() & 1073741824) === 1073741824) {\n return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);\n }\n kind |= 16 | (optionalBit(parser, context, 8391476) ? 8 : 0);\n }\n break;\n case 209008:\n if (parser.getToken() !== 67174411) {\n if ((parser.getToken() & 1073741824) === 1073741824) {\n return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);\n }\n kind |= 256;\n }\n break;\n case 209009:\n if (parser.getToken() !== 67174411) {\n if ((parser.getToken() & 1073741824) === 1073741824) {\n return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);\n }\n kind |= 512;\n }\n break;\n case 12402:\n if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {\n if ((parser.getToken() & 1073741824) === 1073741824) {\n return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);\n }\n if (parser.options.next)\n kind |= 1024;\n }\n break;\n }\n }\n else if (token === 69271571) {\n kind |= 2;\n key = parseComputedPropertyName(parser, inheritedContext, privateScope, inGroup);\n }\n else if ((token & 134217728) === 134217728) {\n key = parseLiteral(parser, context);\n }\n else if (token === 8391476) {\n kind |= 8;\n nextToken(parser, context);\n }\n else if (parser.getToken() === 130) {\n kind |= 8192;\n key = parsePrivateIdentifier(parser, context | 16, privateScope, 768);\n }\n else if ((parser.getToken() & 1073741824) === 1073741824) {\n kind |= 128;\n }\n else if (isStatic && token === 2162700) {\n return parseStaticBlock(parser, context | 16, scope, privateScope, start);\n }\n else if (token === -2147483527) {\n key = parseIdentifier(parser, context);\n if (parser.getToken() !== 67174411)\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n else {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n if (kind & (8 | 16 | 768 | 1024)) {\n if (parser.getToken() & 143360 ||\n parser.getToken() === -2147483528 ||\n parser.getToken() === -2147483527) {\n key = parseIdentifier(parser, context);\n }\n else if ((parser.getToken() & 134217728) === 134217728) {\n key = parseLiteral(parser, context);\n }\n else if (parser.getToken() === 69271571) {\n kind |= 2;\n key = parseComputedPropertyName(parser, context, privateScope, 0);\n }\n else if (parser.getToken() === 130) {\n kind |= 8192;\n key = parsePrivateIdentifier(parser, context, privateScope, kind);\n }\n else\n parser.report(135);\n }\n if ((kind & 2) === 0) {\n if (parser.tokenValue === 'constructor') {\n if ((parser.getToken() & 1073741824) === 1073741824) {\n parser.report(129);\n }\n else if ((kind & 32) === 0 && parser.getToken() === 67174411) {\n if (kind & (768 | 16 | 128 | 8)) {\n parser.report(53, 'accessor');\n }\n else if ((context & 512) === 0) {\n if (parser.flags & 32)\n parser.report(54);\n else\n parser.flags |= 32;\n }\n }\n kind |= 64;\n }\n else if ((kind & 8192) === 0 &&\n kind & 32 &&\n parser.tokenValue === 'prototype') {\n parser.report(52);\n }\n }\n if (kind & 1024 || (parser.getToken() !== 67174411 && (kind & 768) === 0)) {\n return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);\n }\n const value = parseMethodDefinition(parser, context | 16, privateScope, kind, inGroup, parser.tokenStart);\n return parser.finishNode({\n type: 'MethodDefinition',\n kind: (kind & 32) === 0 && kind & 64\n ? 'constructor'\n : kind & 256\n ? 'get'\n : kind & 512\n ? 'set'\n : 'method',\n static: (kind & 32) > 0,\n computed: (kind & 2) > 0,\n key,\n value,\n ...(parser.options.next ? { decorators } : null),\n }, start);\n}\nfunction parsePrivateIdentifier(parser, context, privateScope, kind) {\n const { tokenStart } = parser;\n nextToken(parser, context);\n const { tokenValue } = parser;\n if (tokenValue === 'constructor')\n parser.report(128);\n if (parser.options.lexical) {\n if (!privateScope)\n parser.report(4, tokenValue);\n if (kind) {\n privateScope.addPrivateIdentifier(tokenValue, kind);\n }\n else {\n privateScope.addPrivateIdentifierRef(tokenValue);\n }\n }\n nextToken(parser, context);\n return parser.finishNode({\n type: 'PrivateIdentifier',\n name: tokenValue,\n }, tokenStart);\n}\nfunction parsePropertyDefinition(parser, context, privateScope, key, state, decorators, start) {\n let value = null;\n if (state & 8)\n parser.report(0);\n if (parser.getToken() === 1077936155) {\n nextToken(parser, context | 32);\n const { tokenStart } = parser;\n if (parser.getToken() === 537079927)\n parser.report(119);\n const modifierFlags = 1024 |\n 2048 |\n 8192 |\n ((state & 64) === 0 ? 512 | 16384 : 0);\n context =\n ((context | modifierFlags) ^ modifierFlags) |\n (state & 8 ? 1024 : 0) |\n (state & 16 ? 2048 : 0) |\n (state & 64 ? 16384 : 0) |\n 256 |\n 65536;\n value = parsePrimaryExpression(parser, context | 16, privateScope, 2, 0, 1, 0, 1, tokenStart);\n if ((parser.getToken() & 1073741824) !== 1073741824 ||\n (parser.getToken() & 4194304) === 4194304) {\n value = parseMemberOrUpdateExpression(parser, context | 16, privateScope, value, 0, 0, tokenStart);\n value = parseAssignmentExpression(parser, context | 16, privateScope, 0, 0, tokenStart, value);\n }\n }\n matchOrInsertSemicolon(parser, context);\n return parser.finishNode({\n type: state & 1024 ? 'AccessorProperty' : 'PropertyDefinition',\n key,\n value,\n static: (state & 32) > 0,\n computed: (state & 2) > 0,\n ...(parser.options.next ? { decorators } : null),\n }, start);\n}\nfunction parseBindingPattern(parser, context, scope, privateScope, type, origin) {\n if (parser.getToken() & 143360 ||\n ((context & 1) === 0 && parser.getToken() === -2147483527))\n return parseAndClassifyIdentifier(parser, context, scope, type, origin);\n if ((parser.getToken() & 2097152) !== 2097152)\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n const left = parser.getToken() === 69271571\n ? parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, 0, 1, type, origin)\n : parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, 0, 1, type, origin);\n if (parser.destructible & 16)\n parser.report(50);\n if (parser.destructible & 32)\n parser.report(50);\n return left;\n}\nfunction parseAndClassifyIdentifier(parser, context, scope, kind, origin) {\n const token = parser.getToken();\n if (context & 1) {\n if ((token & 537079808) === 537079808) {\n parser.report(119);\n }\n else if ((token & 36864) === 36864 || token === -2147483527) {\n parser.report(118);\n }\n }\n if ((token & 20480) === 20480) {\n parser.report(102);\n }\n if (token === 241771) {\n if (context & 1024)\n parser.report(32);\n if (context & 2)\n parser.report(111);\n }\n if ((token & 255) === (241737 & 255)) {\n if (kind & (8 | 16))\n parser.report(100);\n }\n if (token === 209006) {\n if (context & 2048)\n parser.report(176);\n if (context & 2)\n parser.report(110);\n }\n const { tokenValue, tokenStart: start } = parser;\n nextToken(parser, context);\n scope?.addVarOrBlock(context, tokenValue, kind, origin);\n return parser.finishNode({\n type: 'Identifier',\n name: tokenValue,\n }, start);\n}\nfunction parseJSXRootElementOrFragment(parser, context, privateScope, inJSXChild, start) {\n if (!inJSXChild)\n consume(parser, context, 8456256);\n if (parser.getToken() === 8390721) {\n const openingFragment = parseJSXOpeningFragment(parser, start);\n const [children, closingFragment] = parseJSXChildrenAndClosingFragment(parser, context, privateScope, inJSXChild);\n return parser.finishNode({\n type: 'JSXFragment',\n openingFragment,\n children,\n closingFragment,\n }, start);\n }\n if (parser.getToken() === 8457014)\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n let closingElement = null;\n let children = [];\n const openingElement = parseJSXOpeningElementOrSelfCloseElement(parser, context, privateScope, inJSXChild, start);\n if (!openingElement.selfClosing) {\n [children, closingElement] = parseJSXChildrenAndClosingElement(parser, context, privateScope, inJSXChild);\n const close = isEqualTagName(closingElement.name);\n if (isEqualTagName(openingElement.name) !== close)\n parser.report(155, close);\n }\n return parser.finishNode({\n type: 'JSXElement',\n children,\n openingElement,\n closingElement,\n }, start);\n}\nfunction parseJSXOpeningFragment(parser, start) {\n nextJSXToken(parser);\n return parser.finishNode({\n type: 'JSXOpeningFragment',\n }, start);\n}\nfunction parseJSXClosingElement(parser, context, inJSXChild, start) {\n consume(parser, context, 8457014);\n const name = parseJSXElementName(parser, context);\n if (parser.getToken() !== 8390721) {\n parser.report(25, KeywordDescTable[8390721 & 255]);\n }\n if (inJSXChild) {\n nextJSXToken(parser);\n }\n else {\n nextToken(parser, context);\n }\n return parser.finishNode({\n type: 'JSXClosingElement',\n name,\n }, start);\n}\nfunction parseJSXClosingFragment(parser, context, inJSXChild, start) {\n consume(parser, context, 8457014);\n if (parser.getToken() !== 8390721) {\n parser.report(25, KeywordDescTable[8390721 & 255]);\n }\n if (inJSXChild) {\n nextJSXToken(parser);\n }\n else {\n nextToken(parser, context);\n }\n return parser.finishNode({\n type: 'JSXClosingFragment',\n }, start);\n}\nfunction parseJSXChildrenAndClosingElement(parser, context, privateScope, inJSXChild) {\n const children = [];\n while (true) {\n const child = parseJSXChildOrClosingElement(parser, context, privateScope, inJSXChild);\n if (child.type === 'JSXClosingElement') {\n return [children, child];\n }\n children.push(child);\n }\n}\nfunction parseJSXChildrenAndClosingFragment(parser, context, privateScope, inJSXChild) {\n const children = [];\n while (true) {\n const child = parseJSXChildOrClosingFragment(parser, context, privateScope, inJSXChild);\n if (child.type === 'JSXClosingFragment') {\n return [children, child];\n }\n children.push(child);\n }\n}\nfunction parseJSXChildOrClosingElement(parser, context, privateScope, inJSXChild) {\n if (parser.getToken() === 137)\n return parseJSXText(parser, context);\n if (parser.getToken() === 2162700)\n return parseJSXExpressionContainer(parser, context, privateScope, 1, 0);\n if (parser.getToken() === 8456256) {\n const { tokenStart } = parser;\n nextToken(parser, context);\n if (parser.getToken() === 8457014)\n return parseJSXClosingElement(parser, context, inJSXChild, tokenStart);\n return parseJSXRootElementOrFragment(parser, context, privateScope, 1, tokenStart);\n }\n parser.report(0);\n}\nfunction parseJSXChildOrClosingFragment(parser, context, privateScope, inJSXChild) {\n if (parser.getToken() === 137)\n return parseJSXText(parser, context);\n if (parser.getToken() === 2162700)\n return parseJSXExpressionContainer(parser, context, privateScope, 1, 0);\n if (parser.getToken() === 8456256) {\n const { tokenStart } = parser;\n nextToken(parser, context);\n if (parser.getToken() === 8457014)\n return parseJSXClosingFragment(parser, context, inJSXChild, tokenStart);\n return parseJSXRootElementOrFragment(parser, context, privateScope, 1, tokenStart);\n }\n parser.report(0);\n}\nfunction parseJSXText(parser, context) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n const node = {\n type: 'JSXText',\n value: parser.tokenValue,\n };\n if (parser.options.raw) {\n node.raw = parser.tokenRaw;\n }\n return parser.finishNode(node, start);\n}\nfunction parseJSXOpeningElementOrSelfCloseElement(parser, context, privateScope, inJSXChild, start) {\n if ((parser.getToken() & 143360) !== 143360 &&\n (parser.getToken() & 4096) !== 4096)\n parser.report(0);\n const tagName = parseJSXElementName(parser, context);\n const attributes = parseJSXAttributes(parser, context, privateScope);\n const selfClosing = parser.getToken() === 8457014;\n if (selfClosing)\n consume(parser, context, 8457014);\n if (parser.getToken() !== 8390721) {\n parser.report(25, KeywordDescTable[8390721 & 255]);\n }\n if (inJSXChild || !selfClosing) {\n nextJSXToken(parser);\n }\n else {\n nextToken(parser, context);\n }\n return parser.finishNode({\n type: 'JSXOpeningElement',\n name: tagName,\n attributes,\n selfClosing,\n }, start);\n}\nfunction parseJSXElementName(parser, context) {\n const { tokenStart } = parser;\n rescanJSXIdentifier(parser);\n let key = parseJSXIdentifier(parser, context);\n if (parser.getToken() === 21)\n return parseJSXNamespacedName(parser, context, key, tokenStart);\n while (consumeOpt(parser, context, 67108877)) {\n rescanJSXIdentifier(parser);\n key = parseJSXMemberExpression(parser, context, key, tokenStart);\n }\n return key;\n}\nfunction parseJSXMemberExpression(parser, context, object, start) {\n const property = parseJSXIdentifier(parser, context);\n return parser.finishNode({\n type: 'JSXMemberExpression',\n object,\n property,\n }, start);\n}\nfunction parseJSXAttributes(parser, context, privateScope) {\n const attributes = [];\n while (parser.getToken() !== 8457014 &&\n parser.getToken() !== 8390721 &&\n parser.getToken() !== 1048576) {\n attributes.push(parseJsxAttribute(parser, context, privateScope));\n }\n return attributes;\n}\nfunction parseJSXSpreadAttribute(parser, context, privateScope) {\n const start = parser.tokenStart;\n nextToken(parser, context);\n consume(parser, context, 14);\n const expression = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n consume(parser, context, 1074790415);\n return parser.finishNode({\n type: 'JSXSpreadAttribute',\n argument: expression,\n }, start);\n}\nfunction parseJsxAttribute(parser, context, privateScope) {\n const { tokenStart } = parser;\n if (parser.getToken() === 2162700)\n return parseJSXSpreadAttribute(parser, context, privateScope);\n rescanJSXIdentifier(parser);\n let value = null;\n let name = parseJSXIdentifier(parser, context);\n if (parser.getToken() === 21) {\n name = parseJSXNamespacedName(parser, context, name, tokenStart);\n }\n if (parser.getToken() === 1077936155) {\n const token = scanJSXAttributeValue(parser, context);\n switch (token) {\n case 134283267:\n value = parseLiteral(parser, context);\n break;\n case 8456256:\n value = parseJSXRootElementOrFragment(parser, context, privateScope, 0, parser.tokenStart);\n break;\n case 2162700:\n value = parseJSXExpressionContainer(parser, context, privateScope, 0, 1);\n break;\n default:\n parser.report(154);\n }\n }\n return parser.finishNode({\n type: 'JSXAttribute',\n value,\n name,\n }, tokenStart);\n}\nfunction parseJSXNamespacedName(parser, context, namespace, start) {\n consume(parser, context, 21);\n const name = parseJSXIdentifier(parser, context);\n return parser.finishNode({\n type: 'JSXNamespacedName',\n namespace,\n name,\n }, start);\n}\nfunction parseJSXExpressionContainer(parser, context, privateScope, inJSXChild, isAttr) {\n const { tokenStart: start } = parser;\n nextToken(parser, context | 32);\n const { tokenStart } = parser;\n if (parser.getToken() === 14)\n return parseJSXSpreadChild(parser, context, privateScope, start);\n let expression = null;\n if (parser.getToken() === 1074790415) {\n if (isAttr)\n parser.report(157);\n expression = parseJSXEmptyExpression(parser, {\n index: parser.startIndex,\n line: parser.startLine,\n column: parser.startColumn,\n });\n }\n else {\n expression = parseExpression(parser, context, privateScope, 1, 0, tokenStart);\n }\n if (parser.getToken() !== 1074790415) {\n parser.report(25, KeywordDescTable[1074790415 & 255]);\n }\n if (inJSXChild) {\n nextJSXToken(parser);\n }\n else {\n nextToken(parser, context);\n }\n return parser.finishNode({\n type: 'JSXExpressionContainer',\n expression,\n }, start);\n}\nfunction parseJSXSpreadChild(parser, context, privateScope, start) {\n consume(parser, context, 14);\n const expression = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);\n consume(parser, context, 1074790415);\n return parser.finishNode({\n type: 'JSXSpreadChild',\n expression,\n }, start);\n}\nfunction parseJSXEmptyExpression(parser, start) {\n return parser.finishNode({\n type: 'JSXEmptyExpression',\n }, start, parser.tokenStart);\n}\nfunction parseJSXIdentifier(parser, context) {\n const start = parser.tokenStart;\n if (!(parser.getToken() & 143360)) {\n parser.report(30, KeywordDescTable[parser.getToken() & 255]);\n }\n const { tokenValue } = parser;\n nextToken(parser, context);\n return parser.finishNode({\n type: 'JSXIdentifier',\n name: tokenValue,\n }, start);\n}\n\nvar version$1 = \"6.1.4\";\n\nconst version = version$1;\nfunction parseScript(source, options) {\n return parseSource(source, options);\n}\nfunction parseModule(source, options) {\n return parseSource(source, options, 1 | 2);\n}\nfunction parse(source, options) {\n return parseSource(source, options);\n}\n\nexport { parse, parseModule, parseScript, version };\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["e","Object","Symbol","r","Uint32Array","c","String","SyntaxError","BigInt","parseFloat","n","t","RegExp","parseInt","Map","Set","Array","o","p","s","l","i","JSON","a","d","k"],"mappings":"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AU,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,KAAM,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,WAAY,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,QAAS,EAAG,MAAO,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,WAAW,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,WAAY,EAAG,WAAY,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,OAAQ,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,WAAW,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,UAAU,EAAG,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,QAAS,EAAG,IAAK,EAAG,GAAI,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,UAAU,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,WAAY,GAAI,EAAG,EAAG,EAAG,EAAG,UAAU,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,IAAK,EAAG,WAAY,EAAG,GAAI,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,QAAS,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,GAAI,EAAG,IAAK,EAAG,UAAU,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,UAAW,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,WAAY,GAAI,EAAG,OAAQ,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,WAAY,KAAM,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,IAAK,EAAG,WAAY,EAAG,KAAM,EAAG,MAAO,GAAI,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,WAAY,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,QAAS,EAAG,WAAY,EAAG,MAAO,IAAK,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,MAAO,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,QAAS,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,KAAM,EAAG,GAAI,IAAK,EAAG,EAAG,KAAM,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,OAAQ,EAAG,EAAG,EAAG,EAAG,GAAI,MAAO,EAAG,EAAG,EAAG,GAAI,EAAG,UAAU,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,KAAM,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,OAAQ,EAAG,GAAI,EAAG,UAAU,EAAG,UAAU,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,MAAO,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,WAAW,EAAG,WAAY,EAAG,WAAW,EAAG,WAAY,EAAG,UAAU,EAAG,WAAY,EAAG,QAAS,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,UAAU,EAAG,IAAK,EAAG,GAAI,EAAG,WAAY,EAAG,OAAQ,EAAG,WAAY,EAAG,UAAU,EAAG,GAAI,GAAI,EAAG,UAAY,EAAG,WAAW,EAAG,WAAW,EAAG,EAAG,EAAG,WAAY,EAAG,WAAW,EAAG,WAAY,EAAG,OAAQ,EAAG,WAAY,EAAG,WAAW,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,OAAQ,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,WAAW,EAAG,WAAY,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAAM,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,MAAO,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,WAAW,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,KAAM,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,UAAU,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,EAAG,OAAQ,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,MAAO,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,WAAW,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,IAAK,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,EAAG,WAAY,EAAG,WAAW,EAAG,QAAS,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,KAAM,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,WAAY,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,WAAY,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,OAAQ,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,GAAI,EAAG,QAAS,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,WAAY,EAAG,QAAS,EAAG,IAAK,EAAG,GAAI,EAAG,WAAW,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,IAAK,EAAG,SAAU,EAAG,OAAQ,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,UAAW,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,UAAU,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,UAAU,EAAG,WAAY,EAAG,EAAG,EAAG,WAAW,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,UAAU,IAAK,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,MAAO,GAAI,EAAG,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,KAAM,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GA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ACA,EACA,IACA,EACA,MACA,EACA,EACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,EACA,EACA,MACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,MACA,EACA,EACA,EACA,EACH,CACK,EAAY,CACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACH,CACK,EAAW,CACb,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACH,CACD,SAAS,EAAkB,CAAI,EAC3B,OAAO,GAAQ,IACT,CAAS,CAAC,EAAK,CAAG,EAClB,EAAU,EACpB,CACA,SAAS,EAAiB,CAAI,EAC1B,OAAO,GAAQ,IACT,CAAQ,CAAC,EAAK,CAAG,EACjB,AArdsB,EAAa,CAAC,AAAC,CAqdxB,IArdiC,GAAK,EAAE,GAqdxC,EArdS,CAAgD,GAAO,GAqdtD,AAAS,OAAT,GAAiB,AAAS,OAAT,CAClD,CAEA,IAAM,EAAe,CAAC,aAAc,YAAa,WAAY,YAAa,kBAAkB,CAS5F,SAAS,EAAsB,CAAM,CAAE,CAAM,CAAE,CAAK,CAAE,CAAO,CAAE,CAAI,CAAE,CAAK,EAGtE,OAFI,AAAU,EAAV,GACA,EAAO,MAAM,CAAC,GACX,EAAsB,EAAQ,EAAQ,EAAO,EAAM,EAC9D,CACA,SAAS,EAAsB,CAAM,CAAE,CAAM,CAAE,CAAK,CAAE,CAAI,CAAE,CAAK,EAC7D,GAAM,CAAE,OAAK,CAAE,CAAG,EAIlB,IAHA,EAAO,UAAU,CAAG,EAAO,KAAK,CAChC,EAAO,SAAS,CAAG,EAAO,IAAI,CAC9B,EAAO,WAAW,CAAG,EAAO,MAAM,CAC3B,EAAO,KA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ACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,UACA,UACA,IACA,OACA,QACA,QACA,UACA,UACA,GACA,QACA,UACA,GACA,UACA,UACA,QACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,GACA,WACA,QACA,WACA,QACA,GACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,UACA,IACA,GACA,QACA,OACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,KACA,OACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,KACA,OACA,KACA,KACA,QACA,QACA,WACA,UACA,IACH,CACD,SAAS,EAAU,CAAM,CAAE,CAAO,EAC9B,EAAO,KAAK,CAAG,AAAC,CAAe,EAAf,EAAO,KAAK,AAAG,EAAK,EACpC,EAAO,UAAU,CAAG,EAAO,KAAK,CAChC,EAAO,WAAW,CAAG,EAAO,MAAM,CAClC,EAAO,SAAS,CAAG,EAAO,IAAI,CAC9B,EAAO,QAAQ,CAAC,EAAgB,EAAQ,EAAS,GACrD,CACA,SAAS,EAAgB,CAAM,CAAE,CAAO,CAAE,CAAK,EAC3C,IAAM,EAAgB,AAAiB,IAAjB,EAAO,KAAK,CAC5B,CAAE,QAAM,CAAE,CAAG,EACf,EAAQ,EAAO,eAAe,CAClC,KAAO,EAAO,KAAK,CAAG,EAAO,GAAG,EAAE,CAC9B,EAAO,UAAU,CAAG,EAAO,KAAK,CAChC,EAAO,WAAW,CAAG,EAAO,MAAM,CAClC,EAAO,SAAS,CAAG,EAAO,IAAI,CAC9B,IAAI,EAAO,EAAO,WAAW,CAC7B,GAAI,GAAQ,IAAM,CACd,IAAM,EAAQ,CAAW,CAAC,EAAK,CAC/B,O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"} \ No newline at end of file diff --git a/vendor/package.json b/vendor/package.json index 96b15293927..9a47c5cb6d3 100644 --- a/vendor/package.json +++ b/vendor/package.json @@ -5,11 +5,14 @@ }, "dependencies": { "@datadog/sketches-js": "2.1.1", + "@datadog/source-map": "npm:source-map@^0.6.0", "@isaacs/ttlcache": "^2.0.1", "@opentelemetry/core": ">=1.14.0 <1.31.0", "@opentelemetry/resources": ">=1.0.0 <1.31.0", + "astring": "^1.9.0", "crypto-randomuuid": "^1.0.0", "escape-string-regexp": "^5.0.0", + "esquery": "^1.6.0", "ignore": "^7.0.5", "istanbul-lib-coverage": "^3.2.2", "jest-docblock": "^29.7.0", @@ -17,6 +20,7 @@ "limiter": "^1.1.5", "lodash.sortby": "^4.7.0", "lru-cache": "^10.4.3", + "meriyah": "^6.1.4", "module-details-from-path": "^1.0.4", "mutexify": "^1.4.0", "opentracing": ">=0.14.7", diff --git a/vendor/yarn.lock b/vendor/yarn.lock index c00b68c3242..cb7232ec6ad 100644 --- a/vendor/yarn.lock +++ b/vendor/yarn.lock @@ -7,6 +7,11 @@ resolved "https://registry.yarnpkg.com/@datadog/sketches-js/-/sketches-js-2.1.1.tgz#9ec2251b3c932b4f43e1d164461fa6cb6f28b7d0" integrity sha512-d5RjycE+MObE/hU+8OM5Zp4VjTwiPLRa8299fj7muOmR16fb942z8byoMbCErnGh0lBevvgkGrLclQDvINbIyg== +"@datadog/source-map@npm:source-map@^0.6.0": + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + "@emnapi/core@^1.5.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.7.1.tgz#3a79a02dbc84f45884a1806ebb98e5746bdfaac4" @@ -265,6 +270,11 @@ dependencies: undici-types "~7.16.0" +astring@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" + integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== + crypto-randomuuid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-randomuuid/-/crypto-randomuuid-1.0.0.tgz#acf583e5e085e867ae23e107ff70279024f9e9e7" @@ -280,6 +290,18 @@ escape-string-regexp@^5.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== +esquery@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +estraverse@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + fast-fifo@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" @@ -343,6 +365,11 @@ lru-cache@^10.4.3: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== +meriyah@^6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/meriyah/-/meriyah-6.1.4.tgz#2d49a8934fbcd9205c20564579c3560d9b1e077b" + integrity sha512-Sz8FzjzI0kN13GK/6MVEsVzMZEPvOhnmmI1lU5+/1cGOiK3QUahntrNNtdVeihrO7t9JpoH75iMNXg6R6uWflQ== + module-details-from-path@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.4.tgz#b662fdcd93f6c83d3f25289da0ce81c8d9685b94" diff --git a/yarn.lock b/yarn.lock index cc81dd94f47..031ea964f01 100644 --- a/yarn.lock +++ b/yarn.lock @@ -683,9 +683,9 @@ integrity sha512-uP8nqEGBS58s3iWXx6d8vnJ6ZVt3DACJL4PWADOAuwIS4xXpID91783e9f6zQ0i1ijQpj3yx+3ZuCB2LfQMUMA== "@openfeature/server-sdk@~1.20.0": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@openfeature/server-sdk/-/server-sdk-1.20.0.tgz#43a5d3cffd915742ff64eeef53b7132279df4823" - integrity sha512-95L9CCaGVKC6+7rNCmDxjthFvUyPLOUkoYyjg9Y/Cmy0G9D63xrJBsmH6fqHtLifzAu4+E7fWAZ3TIBnnCtr7A== + version "1.20.1" + resolved "https://registry.yarnpkg.com/@openfeature/server-sdk/-/server-sdk-1.20.1.tgz#bd7e2c85ede1958eb64f73e0b97440b99d9fd61c" + integrity sha512-jzz++kblADniuc7hONZ4DlRsoektCMDX5PPHoltn0hYWWw/Zm6sh3f7z5mGUX2XOikWKNVCtUQ3gWsdmIdHHXg== "@opentelemetry/api-logs@<1.0.0": version "0.208.0" @@ -834,9 +834,9 @@ integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== "@types/node@*": - version "24.10.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" - integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== + version "25.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.0.tgz#c0e0022c3c7b41635c49322e6b3a0279fffa7d62" + integrity sha512-rl78HwuZlaDIUSeUKkmogkhebA+8K1Hy7tddZuJ3D0xV8pZSfsYGTsliGUol1JPzu9EKnTxPC4L1fiWouStRew== dependencies: undici-types "~7.16.0" @@ -891,9 +891,9 @@ integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== "@typescript-eslint/types@^8.46.0", "@typescript-eslint/types@^8.47.0": - version "8.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.48.1.tgz#a9ff808f5f798f28767d5c0b015a88fa7ce46bd7" - integrity sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q== + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.49.0.tgz#c1bd3ebf956d9e5216396349ca23c58d74f06aee" + integrity sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ== "@yarnpkg/lockfile@^1.1.0": version "1.1.0" @@ -1137,9 +1137,9 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== baseline-browser-mapping@^2.9.0: - version "2.9.2" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz#0ae89ec3e10e07c368b77def89db8044409461d1" - integrity sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw== + version "2.9.6" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.6.tgz#82de0f7ee5860df86d60daf0d9524ae7227eeee7" + integrity sha512-v9BVVpOTLB59C9E7aSnmIF8h7qRsFpx+A2nugVMTszEOMcfjlZMsXRm4LF23I3Z9AJxc8ANpIvzbzONoX9VJlg== before-after-hook@^4.0.0: version "4.0.0" @@ -1327,9 +1327,9 @@ camelcase@^6.0.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001759: - version "1.0.30001759" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz#d569e7b010372c6b0ca3946e30dada0a2e9d5006" - integrity sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw== + version "1.0.30001760" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz#bdd1960fafedf8d5f04ff16e81460506ff9b798f" + integrity sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw== cardinal@^2.1.1: version "2.1.1" @@ -1753,9 +1753,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.263: - version "1.5.264" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.264.tgz#38d2262e290bf5b424ba1488e072c7b0163400be" - integrity sha512-1tEf0nLgltC3iy9wtlYDlQDc5Rg9lEKVjEmIHJ21rI9OcqkvD45K1oyNIRA4rR1z3LgJ7KeGzEBojVcV6m4qjA== + version "1.5.267" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz#5d84f2df8cdb6bfe7e873706bb21bd4bfb574dc7" + integrity sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw== emoji-regex@^8.0.0: version "8.0.0" @@ -1773,9 +1773,9 @@ encodeurl@^2.0.0: integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== enhanced-resolve@^5.17.1: - version "5.18.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" - integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww== + version "5.18.4" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz#c22d33055f3952035ce6a144ce092447c525f828" + integrity sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1978,9 +1978,9 @@ eslint-plugin-import@^2.32.0: tsconfig-paths "^3.15.0" eslint-plugin-jsdoc@^61.1.12: - version "61.4.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.4.2.tgz#37d67bbfdb372dfcea72236942b963b0283206aa" - integrity sha512-WzZNvefoUaG/JWikVFhNLYqE2BEd6LQD2ZyfJOe1Ld3Cir05csDMMf0AihGwrSbB/e7fHRSfQOZ4F/hik9fQww== + version "61.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.5.0.tgz#7c07b46db385e0ffce1b827a9abb1cc6bdc78bd3" + integrity sha512-PR81eOGq4S7diVnV9xzFSBE4CDENRQGP0Lckkek8AdHtbj+6Bm0cItwlFnxsLFriJHspiE3mpu8U20eODyToIg== dependencies: "@es-joy/jsdoccomment" "~0.76.0" "@es-joy/resolve.exports" "1.2.0" @@ -2618,9 +2618,9 @@ http-errors@^2.0.0, http-errors@~2.0.1: toidentifier "~1.0.1" iconv-lite@^0.7.0, iconv-lite@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.7.0.tgz#c50cd80e6746ca8115eb98743afa81aa0e147a3e" - integrity sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ== + version "0.7.1" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.7.1.tgz#d4af1d2092f2bb05aab6296e5e7cd286d2f15432" + integrity sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0"