diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..e3cd431 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,27 @@ +name: Ruby + +on: + push: + branches: + - master + + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + name: Ruby ${{ matrix.ruby }} + strategy: + matrix: + ruby: + - '3.1.4' + + steps: + - uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Run the default task + run: bundle exec rake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b04a8c8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +/.bundle/ +/.yardoc +/_yardoc/ +/coverage/ +/doc/ +/pkg/ +/spec/reports/ +/tmp/ + +# rspec failure tracking +.rspec_status diff --git a/.rspec b/.rspec new file mode 100644 index 0000000..34c5164 --- /dev/null +++ b/.rspec @@ -0,0 +1,3 @@ +--format documentation +--color +--require spec_helper diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..4acfd8c --- /dev/null +++ b/Gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +# Specify your gem's dependencies in propshaft-js-coverage.gemspec +gemspec + +gem "rake", "~> 13.0" + +gem "rspec", "~> 3.0" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..b0e0284 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,137 @@ +PATH + remote: . + specs: + propshaft-js-coverage (0.1.0) + mini_racer (~> 0.16.0) + propshaft (~> 1.1.0) + +GEM + remote: https://rubygems.org/ + specs: + actionpack (7.2.2) + actionview (= 7.2.2) + activesupport (= 7.2.2) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actionview (7.2.2) + activesupport (= 7.2.2) + builder (~> 3.1) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activesupport (7.2.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.8) + builder (3.3.0) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + crass (1.0.6) + diff-lcs (1.5.1) + drb (2.2.1) + erubi (1.13.0) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + io-console (0.7.2) + irb (1.14.1) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + libv8-node (18.19.0.0) + libv8-node (18.19.0.0-x86_64-linux) + logger (1.6.1) + loofah (2.23.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mini_portile2 (2.8.8) + mini_racer (0.16.0) + libv8-node (~> 18.19.0.0) + minitest (5.25.2) + nokogiri (1.16.7) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-linux) + racc (~> 1.4) + propshaft (1.1.0) + actionpack (>= 7.0.0) + activesupport (>= 7.0.0) + rack + railties (>= 7.0.0) + psych (5.2.0) + stringio + racc (1.8.1) + rack (3.1.8) + rack-session (2.0.0) + rack (>= 3.0.0) + rack-test (2.1.0) + rack (>= 1.3) + rackup (2.2.1) + rack (>= 3) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.2.2) + actionpack (= 7.2.2) + activesupport (= 7.2.2) + irb (~> 1.13) + rackup (>= 1.0.0) + rake (>= 12.2) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) + rake (13.2.1) + rdoc (6.8.1) + psych (>= 4.0.0) + reline (0.5.12) + io-console (~> 0.5) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.2) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + securerandom (0.3.2) + stringio (3.1.2) + thor (1.3.2) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + useragent (0.16.10) + zeitwerk (2.6.18) + +PLATFORMS + ruby + x86_64-linux + +DEPENDENCIES + propshaft-js-coverage! + rake (~> 13.0) + rspec (~> 3.0) + +BUNDLED WITH + 2.5.9 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f900a9d --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Propshaft::Js::Coverage + +TODO: Delete this and the text below, and describe your gem + +Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/propshaft/js/coverage`. To experiment with that code, run `bin/console` for an interactive prompt. + +## Installation + +TODO: Replace `UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG` with your gem name right after releasing it to RubyGems.org. Please do not do it earlier due to security reasons. Alternatively, replace this section with instructions to install your gem from git if you don't plan to release to RubyGems.org. + +Install the gem and add to the application's Gemfile by executing: + + $ bundle add UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG + +If bundler is not being used to manage dependencies, install the gem by executing: + + $ gem install UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG + +## Usage + +TODO: Write usage instructions here + +## Development + +After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. + +To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org). + +## Contributing + +Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/propshaft-js-coverage. diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..b6ae734 --- /dev/null +++ b/Rakefile @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +require "bundler/gem_tasks" +require "rspec/core/rake_task" + +RSpec::Core::RakeTask.new(:spec) + +task default: :spec diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..bdfa83a --- /dev/null +++ b/bin/console @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require "bundler/setup" +require "propshaft/js/coverage" + +# You can add fixtures and/or initialization code here to make experimenting +# with your gem easier. You can also use a different console, if you like. + +require "irb" +IRB.start(__FILE__) diff --git a/bin/setup b/bin/setup new file mode 100755 index 0000000..dce67d8 --- /dev/null +++ b/bin/setup @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' +set -vx + +bundle install + +# Do any other automated setup that you need to do here diff --git a/js/instrumenter/.gitignore b/js/instrumenter/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/js/instrumenter/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/js/instrumenter/dist/main.js b/js/instrumenter/dist/main.js new file mode 100644 index 0000000..341ac28 --- /dev/null +++ b/js/instrumenter/dist/main.js @@ -0,0 +1,4838 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@ampproject/remapping/dist/remapping.umd.js": +/*!******************************************************************!*\ + !*** ./node_modules/@ampproject/remapping/dist/remapping.umd.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +eval("(function (global, factory) {\n true ? module.exports = factory(__webpack_require__(/*! @jridgewell/trace-mapping */ \"./node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js\"), __webpack_require__(/*! @jridgewell/gen-mapping */ \"./node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js\")) :\n 0;\n})(this, (function (traceMapping, genMapping) { 'use strict';\n\n const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false);\n const EMPTY_SOURCES = [];\n function SegmentObject(source, line, column, name, content, ignore) {\n return { source, line, column, name, content, ignore };\n }\n function Source(map, sources, source, content, ignore) {\n return {\n map,\n sources,\n source,\n content,\n ignore,\n };\n }\n /**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\n function MapSource(map, sources) {\n return Source(map, sources, '', null, false);\n }\n /**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\n function OriginalSource(source, content, ignore) {\n return Source(null, EMPTY_SOURCES, source, content, ignore);\n }\n /**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\n function traceMappings(tree) {\n // TODO: Eventually support sourceRoot, which has to be removed because the sources are already\n // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.\n const gen = new genMapping.GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = traceMapping.decodedMappings(map);\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced = SOURCELESS_MAPPING;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null)\n continue;\n }\n const { column, line, name, content, source, ignore } = traced;\n genMapping.maybeAddSegment(gen, i, genCol, source, line, column, name);\n if (source && content != null)\n genMapping.setSourceContent(gen, source, content);\n if (ignore)\n genMapping.setIgnore(gen, source, true);\n }\n }\n return gen;\n }\n /**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\n function originalPositionFor(source, line, column, name) {\n if (!source.map) {\n return SegmentObject(source.source, line, column, name, source.content, source.ignore);\n }\n const segment = traceMapping.traceSegment(source.map, line, column);\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null)\n return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1)\n return SOURCELESS_MAPPING;\n return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);\n }\n\n function asArray(value) {\n if (Array.isArray(value))\n return value;\n return [value];\n }\n /**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\n function buildSourceMapTree(input, loader) {\n const maps = asArray(input).map((m) => new traceMapping.TraceMap(m, ''));\n const map = maps.pop();\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(`Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?');\n }\n }\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n }\n function build(map, loader, importer, importerDepth) {\n const { resolvedSources, sourcesContent, ignoreList } = map;\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile, i) => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n ignore: undefined,\n };\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n const { source, content, ignore } = ctx;\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap)\n return build(new traceMapping.TraceMap(sourceMap, source), loader, source, depth);\n // Else, it's an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false;\n return OriginalSource(source, sourceContent, ignored);\n });\n return MapSource(map, children);\n }\n\n /**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\n class SourceMap {\n constructor(map, options) {\n const out = options.decodedMappings ? genMapping.toDecodedMap(map) : genMapping.toEncodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings;\n this.names = out.names;\n this.ignoreList = out.ignoreList;\n this.sourceRoot = out.sourceRoot;\n this.sources = out.sources;\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent;\n }\n }\n toString() {\n return JSON.stringify(this);\n }\n }\n\n /**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\n function remapping(input, loader, options) {\n const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n }\n\n return remapping;\n\n}));\n//# sourceMappingURL=remapping.umd.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@ampproject/remapping/dist/remapping.umd.js?"); + +/***/ }), + +/***/ "./node_modules/@istanbuljs/schema/default-exclude.js": +/*!************************************************************!*\ + !*** ./node_modules/@istanbuljs/schema/default-exclude.js ***! + \************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst defaultExtension = __webpack_require__(/*! ./default-extension.js */ \"./node_modules/@istanbuljs/schema/default-extension.js\");\nconst testFileExtensions = defaultExtension\n\t.map(extension => extension.slice(1))\n\t.join(',');\n\nmodule.exports = [\n\t'coverage/**',\n\t'packages/*/test{,s}/**',\n\t'**/*.d.ts',\n\t'test{,s}/**',\n\t`test{,-*}.{${testFileExtensions}}`,\n\t`**/*{.,-}test.{${testFileExtensions}}`,\n\t'**/__tests__/**',\n\n\t/* Exclude common development tool configuration files */\n\t'**/{ava,babel,nyc}.config.{js,cjs,mjs}',\n\t'**/jest.config.{js,cjs,mjs,ts}',\n\t'**/{karma,rollup,webpack}.config.js',\n\t'**/.{eslint,mocha}rc.{js,cjs}'\n];\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@istanbuljs/schema/default-exclude.js?"); + +/***/ }), + +/***/ "./node_modules/@istanbuljs/schema/default-extension.js": +/*!**************************************************************!*\ + !*** ./node_modules/@istanbuljs/schema/default-extension.js ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = [\n\t'.js',\n\t'.cjs',\n\t'.mjs',\n\t'.ts',\n\t'.tsx',\n\t'.jsx'\n];\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@istanbuljs/schema/default-extension.js?"); + +/***/ }), + +/***/ "./node_modules/@istanbuljs/schema/index.js": +/*!**************************************************!*\ + !*** ./node_modules/@istanbuljs/schema/index.js ***! + \**************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nconst defaultExclude = __webpack_require__(/*! ./default-exclude.js */ \"./node_modules/@istanbuljs/schema/default-exclude.js\");\nconst defaultExtension = __webpack_require__(/*! ./default-extension.js */ \"./node_modules/@istanbuljs/schema/default-extension.js\");\n\nconst nycCommands = {\n\tall: [null, 'check-coverage', 'instrument', 'merge', 'report'],\n\ttestExclude: [null, 'instrument', 'report', 'check-coverage'],\n\tinstrument: [null, 'instrument'],\n\tcheckCoverage: [null, 'report', 'check-coverage'],\n\treport: [null, 'report'],\n\tmain: [null],\n\tinstrumentOnly: ['instrument']\n};\n\nconst cwd = {\n\tdescription: 'working directory used when resolving paths',\n\ttype: 'string',\n\tget default() {\n\t\treturn process.cwd();\n\t},\n\tnycCommands: nycCommands.all\n};\n\nconst nycrcPath = {\n\tdescription: 'specify an explicit path to find nyc configuration',\n\tnycCommands: nycCommands.all\n};\n\nconst tempDir = {\n\tdescription: 'directory to output raw coverage information to',\n\ttype: 'string',\n\tdefault: './.nyc_output',\n\tnycAlias: 't',\n\tnycHiddenAlias: 'temp-directory',\n\tnycCommands: [null, 'check-coverage', 'merge', 'report']\n};\n\nconst testExclude = {\n\texclude: {\n\t\tdescription: 'a list of specific files and directories that should be excluded from coverage, glob patterns are supported',\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tdefault: defaultExclude,\n\t\tnycCommands: nycCommands.testExclude,\n\t\tnycAlias: 'x'\n\t},\n\texcludeNodeModules: {\n\t\tdescription: 'whether or not to exclude all node_module folders (i.e. **/node_modules/**) by default',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.testExclude\n\t},\n\tinclude: {\n\t\tdescription: 'a list of specific files that should be covered, glob patterns are supported',\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tdefault: [],\n\t\tnycCommands: nycCommands.testExclude,\n\t\tnycAlias: 'n'\n\t},\n\textension: {\n\t\tdescription: 'a list of extensions that nyc should handle in addition to .js',\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tdefault: defaultExtension,\n\t\tnycCommands: nycCommands.testExclude,\n\t\tnycAlias: 'e'\n\t}\n};\n\nconst instrumentVisitor = {\n\tcoverageVariable: {\n\t\tdescription: 'variable to store coverage',\n\t\ttype: 'string',\n\t\tdefault: '__coverage__',\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tcoverageGlobalScope: {\n\t\tdescription: 'scope to store the coverage variable',\n\t\ttype: 'string',\n\t\tdefault: 'this',\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tcoverageGlobalScopeFunc: {\n\t\tdescription: 'avoid potentially replaced `Function` when finding global scope',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tignoreClassMethods: {\n\t\tdescription: 'class method names to ignore for coverage',\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tdefault: [],\n\t\tnycCommands: nycCommands.instrument\n\t}\n};\n\nconst instrumentParseGen = {\n\tautoWrap: {\n\t\tdescription: 'allow `return` statements outside of functions',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tesModules: {\n\t\tdescription: 'should files be treated as ES Modules',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tparserPlugins: {\n\t\tdescription: 'babel parser plugins to use when parsing the source',\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string'\n\t\t},\n\t\t/* Babel parser plugins are to be enabled when the feature is stage 3 and\n\t\t * implemented in a released version of node.js. */\n\t\tdefault: [\n\t\t\t'asyncGenerators',\n\t\t\t'bigInt',\n\t\t\t'classProperties',\n\t\t\t'classPrivateProperties',\n\t\t\t'classPrivateMethods',\n\t\t\t'dynamicImport',\n\t\t\t'importMeta',\n\t\t\t'numericSeparator',\n\t\t\t'objectRestSpread',\n\t\t\t'optionalCatchBinding',\n\t\t\t'topLevelAwait'\n\t\t],\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tcompact: {\n\t\tdescription: 'should the output be compacted?',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tpreserveComments: {\n\t\tdescription: 'should comments be preserved in the output?',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.instrument\n\t},\n\tproduceSourceMap: {\n\t\tdescription: 'should source maps be produced?',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.instrument\n\t}\n};\n\nconst checkCoverage = {\n\texcludeAfterRemap: {\n\t\tdescription: 'should exclude logic be performed after the source-map remaps filenames?',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.checkCoverage\n\t},\n\tbranches: {\n\t\tdescription: 'what % of branches must be covered?',\n\t\ttype: 'number',\n\t\tdefault: 0,\n\t\tminimum: 0,\n\t\tmaximum: 100,\n\t\tnycCommands: nycCommands.checkCoverage\n\t},\n\tfunctions: {\n\t\tdescription: 'what % of functions must be covered?',\n\t\ttype: 'number',\n\t\tdefault: 0,\n\t\tminimum: 0,\n\t\tmaximum: 100,\n\t\tnycCommands: nycCommands.checkCoverage\n\t},\n\tlines: {\n\t\tdescription: 'what % of lines must be covered?',\n\t\ttype: 'number',\n\t\tdefault: 90,\n\t\tminimum: 0,\n\t\tmaximum: 100,\n\t\tnycCommands: nycCommands.checkCoverage\n\t},\n\tstatements: {\n\t\tdescription: 'what % of statements must be covered?',\n\t\ttype: 'number',\n\t\tdefault: 0,\n\t\tminimum: 0,\n\t\tmaximum: 100,\n\t\tnycCommands: nycCommands.checkCoverage\n\t},\n\tperFile: {\n\t\tdescription: 'check thresholds per file',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.checkCoverage\n\t}\n};\n\nconst report = {\n\tcheckCoverage: {\n\t\tdescription: 'check whether coverage is within thresholds provided',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.report\n\t},\n\treporter: {\n\t\tdescription: 'coverage reporter(s) to use',\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tdefault: ['text'],\n\t\tnycCommands: nycCommands.report,\n\t\tnycAlias: 'r'\n\t},\n\treportDir: {\n\t\tdescription: 'directory to output coverage reports in',\n\t\ttype: 'string',\n\t\tdefault: 'coverage',\n\t\tnycCommands: nycCommands.report\n\t},\n\tshowProcessTree: {\n\t\tdescription: 'display the tree of spawned processes',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.report\n\t},\n\tskipEmpty: {\n\t\tdescription: 'don\\'t show empty files (no lines of code) in report',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.report\n\t},\n\tskipFull: {\n\t\tdescription: 'don\\'t show files with 100% statement, branch, and function coverage',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.report\n\t}\n};\n\nconst nycMain = {\n\tsilent: {\n\t\tdescription: 'don\\'t output a report after tests finish running',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.main,\n\t\tnycAlias: 's'\n\t},\n\tall: {\n\t\tdescription: 'whether or not to instrument all files of the project (not just the ones touched by your test suite)',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.main,\n\t\tnycAlias: 'a'\n\t},\n\teager: {\n\t\tdescription: 'instantiate the instrumenter at startup (see https://git.io/vMKZ9)',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.main\n\t},\n\tcache: {\n\t\tdescription: 'cache instrumentation results for improved performance',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.main,\n\t\tnycAlias: 'c'\n\t},\n\tcacheDir: {\n\t\tdescription: 'explicitly set location for instrumentation cache',\n\t\ttype: 'string',\n\t\tnycCommands: nycCommands.main\n\t},\n\tbabelCache: {\n\t\tdescription: 'cache babel transpilation results for improved performance',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.main\n\t},\n\tuseSpawnWrap: {\n\t\tdescription: 'use spawn-wrap instead of setting process.env.NODE_OPTIONS',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.main\n\t},\n\thookRequire: {\n\t\tdescription: 'should nyc wrap require?',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.main\n\t},\n\thookRunInContext: {\n\t\tdescription: 'should nyc wrap vm.runInContext?',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.main\n\t},\n\thookRunInThisContext: {\n\t\tdescription: 'should nyc wrap vm.runInThisContext?',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.main\n\t},\n\tclean: {\n\t\tdescription: 'should the .nyc_output folder be cleaned before executing tests',\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t\tnycCommands: nycCommands.main\n\t}\n};\n\nconst instrumentOnly = {\n\tinPlace: {\n\t\tdescription: 'should nyc run the instrumentation in place?',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.instrumentOnly\n\t},\n\texitOnError: {\n\t\tdescription: 'should nyc exit when an instrumentation failure occurs?',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.instrumentOnly\n\t},\n\tdelete: {\n\t\tdescription: 'should the output folder be deleted before instrumenting files?',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.instrumentOnly\n\t},\n\tcompleteCopy: {\n\t\tdescription: 'should nyc copy all files from input to output as well as instrumented files?',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tnycCommands: nycCommands.instrumentOnly\n\t}\n};\n\nconst nyc = {\n\tdescription: 'nyc configuration options',\n\ttype: 'object',\n\tproperties: {\n\t\tcwd,\n\t\tnycrcPath,\n\t\ttempDir,\n\n\t\t/* Test Exclude */\n\t\t...testExclude,\n\n\t\t/* Instrumentation settings */\n\t\t...instrumentVisitor,\n\n\t\t/* Instrumentation parser/generator settings */\n\t\t...instrumentParseGen,\n\t\tsourceMap: {\n\t\t\tdescription: 'should nyc detect and handle source maps?',\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t\tnycCommands: nycCommands.instrument\n\t\t},\n\t\trequire: {\n\t\t\tdescription: 'a list of additional modules that nyc should attempt to require in its subprocess, e.g., @babel/register, @babel/polyfill',\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'string'\n\t\t\t},\n\t\t\tdefault: [],\n\t\t\tnycCommands: nycCommands.instrument,\n\t\t\tnycAlias: 'i'\n\t\t},\n\t\tinstrument: {\n\t\t\tdescription: 'should nyc handle instrumentation?',\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t\tnycCommands: nycCommands.instrument\n\t\t},\n\n\t\t/* Check coverage */\n\t\t...checkCoverage,\n\n\t\t/* Report options */\n\t\t...report,\n\n\t\t/* Main command options */\n\t\t...nycMain,\n\n\t\t/* Instrument command options */\n\t\t...instrumentOnly\n\t}\n};\n\nconst configs = {\n\tnyc,\n\ttestExclude: {\n\t\tdescription: 'test-exclude options',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tcwd,\n\t\t\t...testExclude\n\t\t}\n\t},\n\tbabelPluginIstanbul: {\n\t\tdescription: 'babel-plugin-istanbul options',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tcwd,\n\t\t\t...testExclude,\n\t\t\t...instrumentVisitor\n\t\t}\n\t},\n\tinstrumentVisitor: {\n\t\tdescription: 'instrument visitor options',\n\t\ttype: 'object',\n\t\tproperties: instrumentVisitor\n\t},\n\tinstrumenter: {\n\t\tdescription: 'stand-alone instrumenter options',\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\t...instrumentVisitor,\n\t\t\t...instrumentParseGen\n\t\t}\n\t}\n};\n\nfunction defaultsReducer(defaults, [name, {default: value}]) {\n\t/* Modifying arrays in defaults is safe, does not change schema. */\n\tif (Array.isArray(value)) {\n\t\tvalue = [...value];\n\t}\n\n\treturn Object.assign(defaults, {[name]: value});\n}\n\nmodule.exports = {\n\t...configs,\n\tdefaults: Object.keys(configs).reduce(\n\t\t(defaults, id) => {\n\t\t\tObject.defineProperty(defaults, id, {\n\t\t\t\tenumerable: true,\n\t\t\t\tget() {\n\t\t\t\t\t/* This defers `process.cwd()` until defaults are requested. */\n\t\t\t\t\treturn Object.entries(configs[id].properties)\n\t\t\t\t\t\t.filter(([, info]) => 'default' in info)\n\t\t\t\t\t\t.reduce(defaultsReducer, {});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn defaults;\n\t\t},\n\t\t{}\n\t)\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@istanbuljs/schema/index.js?"); + +/***/ }), + +/***/ "./node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +eval("(function (global, factory) {\n true ? factory(exports, __webpack_require__(/*! @jridgewell/set-array */ \"./node_modules/@jridgewell/set-array/dist/set-array.umd.js\"), __webpack_require__(/*! @jridgewell/sourcemap-codec */ \"./node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js\"), __webpack_require__(/*! @jridgewell/trace-mapping */ \"./node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js\")) :\n 0;\n})(this, (function (exports, setArray, sourcemapCodec, traceMapping) { 'use strict';\n\n const COLUMN = 0;\n const SOURCES_INDEX = 1;\n const SOURCE_LINE = 2;\n const SOURCE_COLUMN = 3;\n const NAMES_INDEX = 4;\n\n const NO_NAME = -1;\n /**\n * Provides the state to generate a sourcemap.\n */\n class GenMapping {\n constructor({ file, sourceRoot } = {}) {\n this._names = new setArray.SetArray();\n this._sources = new setArray.SetArray();\n this._sourcesContent = [];\n this._mappings = [];\n this.file = file;\n this.sourceRoot = sourceRoot;\n this._ignoreList = new setArray.SetArray();\n }\n }\n /**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\n function cast(map) {\n return map;\n }\n function addSegment(map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {\n return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);\n }\n function addMapping(map, mapping) {\n return addMappingInternal(false, map, mapping);\n }\n /**\n * Same as `addSegment`, but will only add the segment if it generates useful information in the\n * resulting map. This only works correctly if segments are added **in order**, meaning you should\n * not add a segment with a lower generated line/column than one that came before.\n */\n const maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {\n return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);\n };\n /**\n * Same as `addMapping`, but will only add the mapping if it generates useful information in the\n * resulting map. This only works correctly if mappings are added **in order**, meaning you should\n * not add a mapping with a lower generated line/column than one that came before.\n */\n const maybeAddMapping = (map, mapping) => {\n return addMappingInternal(true, map, mapping);\n };\n /**\n * Adds/removes the content of the source file to the source map.\n */\n function setSourceContent(map, source, content) {\n const { _sources: sources, _sourcesContent: sourcesContent } = cast(map);\n const index = setArray.put(sources, source);\n sourcesContent[index] = content;\n }\n function setIgnore(map, source, ignore = true) {\n const { _sources: sources, _sourcesContent: sourcesContent, _ignoreList: ignoreList } = cast(map);\n const index = setArray.put(sources, source);\n if (index === sourcesContent.length)\n sourcesContent[index] = null;\n if (ignore)\n setArray.put(ignoreList, index);\n else\n setArray.remove(ignoreList, index);\n }\n /**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\n function toDecodedMap(map) {\n const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, _ignoreList: ignoreList, } = cast(map);\n removeEmptyFinalLines(mappings);\n return {\n version: 3,\n file: map.file || undefined,\n names: names.array,\n sourceRoot: map.sourceRoot || undefined,\n sources: sources.array,\n sourcesContent,\n mappings,\n ignoreList: ignoreList.array,\n };\n }\n /**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\n function toEncodedMap(map) {\n const decoded = toDecodedMap(map);\n return Object.assign(Object.assign({}, decoded), { mappings: sourcemapCodec.encode(decoded.mappings) });\n }\n /**\n * Constructs a new GenMapping, using the already present mappings of the input.\n */\n function fromMap(input) {\n const map = new traceMapping.TraceMap(input);\n const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });\n putAll(cast(gen)._names, map.names);\n putAll(cast(gen)._sources, map.sources);\n cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);\n cast(gen)._mappings = traceMapping.decodedMappings(map);\n if (map.ignoreList)\n putAll(cast(gen)._ignoreList, map.ignoreList);\n return gen;\n }\n /**\n * Returns an array of high-level mapping objects for every recorded segment, which could then be\n * passed to the `source-map` library.\n */\n function allMappings(map) {\n const out = [];\n const { _mappings: mappings, _sources: sources, _names: names } = cast(map);\n for (let i = 0; i < mappings.length; i++) {\n const line = mappings[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const generated = { line: i + 1, column: seg[COLUMN] };\n let source = undefined;\n let original = undefined;\n let name = undefined;\n if (seg.length !== 1) {\n source = sources.array[seg[SOURCES_INDEX]];\n original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };\n if (seg.length === 5)\n name = names.array[seg[NAMES_INDEX]];\n }\n out.push({ generated, source, original, name });\n }\n }\n return out;\n }\n // This split declaration is only so that terser can elminiate the static initialization block.\n function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {\n const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = cast(map);\n const line = getLine(mappings, genLine);\n const index = getColumnIndex(line, genColumn);\n if (!source) {\n if (skipable && skipSourceless(line, index))\n return;\n return insert(line, index, [genColumn]);\n }\n const sourcesIndex = setArray.put(sources, source);\n const namesIndex = name ? setArray.put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length)\n sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null;\n if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n return insert(line, index, name\n ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]\n : [genColumn, sourcesIndex, sourceLine, sourceColumn]);\n }\n function getLine(mappings, index) {\n for (let i = mappings.length; i <= index; i++) {\n mappings[i] = [];\n }\n return mappings[index];\n }\n function getColumnIndex(line, genColumn) {\n let index = line.length;\n for (let i = index - 1; i >= 0; index = i--) {\n const current = line[i];\n if (genColumn >= current[COLUMN])\n break;\n }\n return index;\n }\n function insert(array, index, value) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n }\n function removeEmptyFinalLines(mappings) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0)\n break;\n }\n if (len < length)\n mappings.length = len;\n }\n function putAll(setarr, array) {\n for (let i = 0; i < array.length; i++)\n setArray.put(setarr, array[i]);\n }\n function skipSourceless(line, index) {\n // The start of a line is already sourceless, so adding a sourceless segment to the beginning\n // doesn't generate any useful information.\n if (index === 0)\n return true;\n const prev = line[index - 1];\n // If the previous segment is also sourceless, then adding another sourceless segment doesn't\n // genrate any new information. Else, this segment will end the source/named segment and point to\n // a sourceless position, which is useful.\n return prev.length === 1;\n }\n function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {\n // A source/named segment at the start of a line gives position at that genColumn\n if (index === 0)\n return false;\n const prev = line[index - 1];\n // If the previous segment is sourceless, then we're transitioning to a source.\n if (prev.length === 1)\n return false;\n // If the previous segment maps to the exact same source position, then this segment doesn't\n // provide any new position information.\n return (sourcesIndex === prev[SOURCES_INDEX] &&\n sourceLine === prev[SOURCE_LINE] &&\n sourceColumn === prev[SOURCE_COLUMN] &&\n namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME));\n }\n function addMappingInternal(skipable, map, mapping) {\n const { generated, source, original, name, content } = mapping;\n if (!source) {\n return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null);\n }\n return addSegmentInternal(skipable, map, generated.line - 1, generated.column, source, original.line - 1, original.column, name, content);\n }\n\n exports.GenMapping = GenMapping;\n exports.addMapping = addMapping;\n exports.addSegment = addSegment;\n exports.allMappings = allMappings;\n exports.fromMap = fromMap;\n exports.maybeAddMapping = maybeAddMapping;\n exports.maybeAddSegment = maybeAddSegment;\n exports.setIgnore = setIgnore;\n exports.setSourceContent = setSourceContent;\n exports.toDecodedMap = toDecodedMap;\n exports.toEncodedMap = toEncodedMap;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=gen-mapping.umd.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js?"); + +/***/ }), + +/***/ "./node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js ***! + \**********************************************************************/ +/***/ (function(module) { + +eval("(function (global, factory) {\n true ? module.exports = factory() :\n 0;\n})(this, (function () { 'use strict';\n\n // Matches the scheme of a URL, eg \"http://\"\n const schemeRegex = /^[\\w+.-]+:\\/\\//;\n /**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\n const urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n /**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\n const fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n function isAbsoluteUrl(input) {\n return schemeRegex.test(input);\n }\n function isSchemeRelativeUrl(input) {\n return input.startsWith('//');\n }\n function isAbsolutePath(input) {\n return input.startsWith('/');\n }\n function isFileUrl(input) {\n return input.startsWith('file:');\n }\n function isRelative(input) {\n return /^[.?#]/.test(input);\n }\n function parseAbsoluteUrl(input) {\n const match = urlRegex.exec(input);\n return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');\n }\n function parseFileUrl(input) {\n const match = fileRegex.exec(input);\n const path = match[2];\n return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');\n }\n function makeUrl(scheme, user, host, port, path, query, hash) {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: 7 /* Absolute */,\n };\n }\n function parseUrl(input) {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = 6 /* SchemeRelative */;\n return url;\n }\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = 5 /* AbsolutePath */;\n return url;\n }\n if (isFileUrl(input))\n return parseFileUrl(input);\n if (isAbsoluteUrl(input))\n return parseAbsoluteUrl(input);\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? 3 /* Query */\n : input.startsWith('#')\n ? 2 /* Hash */\n : 4 /* RelativePath */\n : 1 /* Empty */;\n return url;\n }\n function stripPathFilename(path) {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..'))\n return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n }\n function mergePaths(url, base) {\n normalizePath(base, base.type);\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n }\n else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n }\n /**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\n function normalizePath(url, type) {\n const rel = type <= 4 /* RelativePath */;\n const pieces = url.path.split('/');\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n // A current directory, which we can always drop.\n if (piece === '.')\n continue;\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n }\n else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n }\n /**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\n function resolve(input, base) {\n if (!input && !base)\n return '';\n const url = parseUrl(input);\n let inputType = url.type;\n if (base && inputType !== 7 /* Absolute */) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n switch (inputType) {\n case 1 /* Empty */:\n url.hash = baseUrl.hash;\n // fall through\n case 2 /* Hash */:\n url.query = baseUrl.query;\n // fall through\n case 3 /* Query */:\n case 4 /* RelativePath */:\n mergePaths(url, baseUrl);\n // fall through\n case 5 /* AbsolutePath */:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n case 6 /* SchemeRelative */:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType)\n inputType = baseType;\n }\n normalizePath(url, inputType);\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n case 2 /* Hash */:\n case 3 /* Query */:\n return queryHash;\n case 4 /* RelativePath */: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n if (!path)\n return queryHash || '.';\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n return path + queryHash;\n }\n case 5 /* AbsolutePath */:\n return url.path + queryHash;\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n }\n\n return resolve;\n\n}));\n//# sourceMappingURL=resolve-uri.umd.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js?"); + +/***/ }), + +/***/ "./node_modules/@jridgewell/set-array/dist/set-array.umd.js": +/*!******************************************************************!*\ + !*** ./node_modules/@jridgewell/set-array/dist/set-array.umd.js ***! + \******************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +eval("(function (global, factory) {\n true ? factory(exports) :\n 0;\n})(this, (function (exports) { 'use strict';\n\n /**\n * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the\n * index of the `key` in the backing array.\n *\n * This is designed to allow synchronizing a second array with the contents of the backing array,\n * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,\n * and there are never duplicates.\n */\n class SetArray {\n constructor() {\n this._indexes = { __proto__: null };\n this.array = [];\n }\n }\n /**\n * Typescript doesn't allow friend access to private fields, so this just casts the set into a type\n * with public access modifiers.\n */\n function cast(set) {\n return set;\n }\n /**\n * Gets the index associated with `key` in the backing array, if it is already present.\n */\n function get(setarr, key) {\n return cast(setarr)._indexes[key];\n }\n /**\n * Puts `key` into the backing array, if it is not already present. Returns\n * the index of the `key` in the backing array.\n */\n function put(setarr, key) {\n // The key may or may not be present. If it is present, it's a number.\n const index = get(setarr, key);\n if (index !== undefined)\n return index;\n const { array, _indexes: indexes } = cast(setarr);\n const length = array.push(key);\n return (indexes[key] = length - 1);\n }\n /**\n * Pops the last added item out of the SetArray.\n */\n function pop(setarr) {\n const { array, _indexes: indexes } = cast(setarr);\n if (array.length === 0)\n return;\n const last = array.pop();\n indexes[last] = undefined;\n }\n /**\n * Removes the key, if it exists in the set.\n */\n function remove(setarr, key) {\n const index = get(setarr, key);\n if (index === undefined)\n return;\n const { array, _indexes: indexes } = cast(setarr);\n for (let i = index + 1; i < array.length; i++) {\n const k = array[i];\n array[i - 1] = k;\n indexes[k]--;\n }\n indexes[key] = undefined;\n array.pop();\n }\n\n exports.SetArray = SetArray;\n exports.get = get;\n exports.pop = pop;\n exports.put = put;\n exports.remove = remove;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=set-array.umd.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@jridgewell/set-array/dist/set-array.umd.js?"); + +/***/ }), + +/***/ "./node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +eval("(function (global, factory) {\n true ? factory(exports) :\n 0;\n})(this, (function (exports) { 'use strict';\n\n const comma = ','.charCodeAt(0);\n const semicolon = ';'.charCodeAt(0);\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n const intToChar = new Uint8Array(64); // 64 possible chars.\n const charToInt = new Uint8Array(128); // z is 122 in ASCII\n for (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n }\n function decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n return relative + value;\n }\n function encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0)\n clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n }\n function hasMoreVlq(reader, max) {\n if (reader.pos >= max)\n return false;\n return reader.peek() !== comma;\n }\n\n const bufLength = 1024 * 16;\n // Provide a fallback for older environments.\n const td = typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n class StringWriter {\n constructor() {\n this.pos = 0;\n this.out = '';\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n }\n class StringReader {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n }\n\n const EMPTY = [];\n function decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 0b0001;\n const scope = (hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]);\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n }\n function encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length;) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n }\n function _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0)\n writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 0b0001 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6)\n encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length;) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n }\n function decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(';');\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 0b0001;\n const hasCallsite = fields & 0b0010;\n const hasScope = fields & 0b0100;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(reader, definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0);\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n }\n else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(reader, sameSource && prevLine === callsiteLine ? callsiteColumn : 0);\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n }\n else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n }\n function encodeGeneratedRanges(ranges) {\n if (ranges.length === 0)\n return '';\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length;) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n }\n function _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, isScope, callsite, bindings, } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n }\n else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n }\n else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1)\n encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length;) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n }\n else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n }\n function catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n }\n\n function decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(';');\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol)\n sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n }\n else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n }\n else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted)\n sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n }\n function sort(line) {\n line.sort(sortComparator);\n }\n function sortComparator(a, b) {\n return a[0] - b[0];\n }\n function encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0)\n writer.write(semicolon);\n if (line.length === 0)\n continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0)\n writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1)\n continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4)\n continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n }\n\n exports.decode = decode;\n exports.decodeGeneratedRanges = decodeGeneratedRanges;\n exports.decodeOriginalScopes = decodeOriginalScopes;\n exports.encode = encode;\n exports.encodeGeneratedRanges = encodeGeneratedRanges;\n exports.encodeOriginalScopes = encodeOriginalScopes;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=sourcemap-codec.umd.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js?"); + +/***/ }), + +/***/ "./node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +eval("(function (global, factory) {\n true ? factory(exports, __webpack_require__(/*! @jridgewell/sourcemap-codec */ \"./node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js\"), __webpack_require__(/*! @jridgewell/resolve-uri */ \"./node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js\")) :\n 0;\n})(this, (function (exports, sourcemapCodec, resolveUri) { 'use strict';\n\n function resolve(input, base) {\n // The base is always treated as a directory, if it's not empty.\n // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327\n // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401\n if (base && !base.endsWith('/'))\n base += '/';\n return resolveUri(input, base);\n }\n\n /**\n * Removes everything after the last \"/\", but leaves the slash.\n */\n function stripFilename(path) {\n if (!path)\n return '';\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n }\n\n const COLUMN = 0;\n const SOURCES_INDEX = 1;\n const SOURCE_LINE = 2;\n const SOURCE_COLUMN = 3;\n const NAMES_INDEX = 4;\n const REV_GENERATED_LINE = 1;\n const REV_GENERATED_COLUMN = 2;\n\n function maybeSort(mappings, owned) {\n const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n if (unsortedIndex === mappings.length)\n return mappings;\n // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If\n // not, we do not want to modify the consumer's input array.\n if (!owned)\n mappings = mappings.slice();\n for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {\n mappings[i] = sortSegments(mappings[i], owned);\n }\n return mappings;\n }\n function nextUnsortedSegmentLine(mappings, start) {\n for (let i = start; i < mappings.length; i++) {\n if (!isSorted(mappings[i]))\n return i;\n }\n return mappings.length;\n }\n function isSorted(line) {\n for (let j = 1; j < line.length; j++) {\n if (line[j][COLUMN] < line[j - 1][COLUMN]) {\n return false;\n }\n }\n return true;\n }\n function sortSegments(line, owned) {\n if (!owned)\n line = line.slice();\n return line.sort(sortComparator);\n }\n function sortComparator(a, b) {\n return a[COLUMN] - b[COLUMN];\n }\n\n let found = false;\n /**\n * A binary search implementation that returns the index if a match is found.\n * If no match is found, then the left-index (the index associated with the item that comes just\n * before the desired index) is returned. To maintain proper sort order, a splice would happen at\n * the next index:\n *\n * ```js\n * const array = [1, 3];\n * const needle = 2;\n * const index = binarySearch(array, needle, (item, needle) => item - needle);\n *\n * assert.equal(index, 0);\n * array.splice(index + 1, 0, needle);\n * assert.deepEqual(array, [1, 2, 3]);\n * ```\n */\n function binarySearch(haystack, needle, low, high) {\n while (low <= high) {\n const mid = low + ((high - low) >> 1);\n const cmp = haystack[mid][COLUMN] - needle;\n if (cmp === 0) {\n found = true;\n return mid;\n }\n if (cmp < 0) {\n low = mid + 1;\n }\n else {\n high = mid - 1;\n }\n }\n found = false;\n return low - 1;\n }\n function upperBound(haystack, needle, index) {\n for (let i = index + 1; i < haystack.length; index = i++) {\n if (haystack[i][COLUMN] !== needle)\n break;\n }\n return index;\n }\n function lowerBound(haystack, needle, index) {\n for (let i = index - 1; i >= 0; index = i--) {\n if (haystack[i][COLUMN] !== needle)\n break;\n }\n return index;\n }\n function memoizedState() {\n return {\n lastKey: -1,\n lastNeedle: -1,\n lastIndex: -1,\n };\n }\n /**\n * This overly complicated beast is just to record the last tested line/column and the resulting\n * index, allowing us to skip a few tests if mappings are monotonically increasing.\n */\n function memoizedBinarySearch(haystack, needle, state, key) {\n const { lastKey, lastNeedle, lastIndex } = state;\n let low = 0;\n let high = haystack.length - 1;\n if (key === lastKey) {\n if (needle === lastNeedle) {\n found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n return lastIndex;\n }\n if (needle >= lastNeedle) {\n // lastIndex may be -1 if the previous needle was not found.\n low = lastIndex === -1 ? 0 : lastIndex;\n }\n else {\n high = lastIndex;\n }\n }\n state.lastKey = key;\n state.lastNeedle = needle;\n return (state.lastIndex = binarySearch(haystack, needle, low, high));\n }\n\n // Rebuilds the original source files, with mappings that are ordered by source line/column instead\n // of generated line/column.\n function buildBySources(decoded, memos) {\n const sources = memos.map(buildNullArray);\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n if (seg.length === 1)\n continue;\n const sourceIndex = seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n const originalSource = sources[sourceIndex];\n const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));\n const memo = memos[sourceIndex];\n // The binary search either found a match, or it found the left-index just before where the\n // segment should go. Either way, we want to insert after that. And there may be multiple\n // generated segments associated with an original location, so there may need to move several\n // indexes before we find where we need to insert.\n let index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));\n memo.lastIndex = ++index;\n insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]);\n }\n }\n return sources;\n }\n function insert(array, index, value) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n }\n // Null arrays allow us to use ordered index keys without actually allocating contiguous memory like\n // a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.\n // Numeric properties on objects are magically sorted in ascending order by the engine regardless of\n // the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending\n // order when iterating with for-in.\n function buildNullArray() {\n return { __proto__: null };\n }\n\n const AnyMap = function (map, mapUrl) {\n const parsed = parse(map);\n if (!('sections' in parsed)) {\n return new TraceMap(parsed, mapUrl);\n }\n const mappings = [];\n const sources = [];\n const sourcesContent = [];\n const names = [];\n const ignoreList = [];\n recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, ignoreList, 0, 0, Infinity, Infinity);\n const joined = {\n version: 3,\n file: parsed.file,\n names,\n sources,\n sourcesContent,\n mappings,\n ignoreList,\n };\n return presortedDecodedMap(joined);\n };\n function parse(map) {\n return typeof map === 'string' ? JSON.parse(map) : map;\n }\n function recurse(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {\n const { sections } = input;\n for (let i = 0; i < sections.length; i++) {\n const { map, offset } = sections[i];\n let sl = stopLine;\n let sc = stopColumn;\n if (i + 1 < sections.length) {\n const nextOffset = sections[i + 1].offset;\n sl = Math.min(stopLine, lineOffset + nextOffset.line);\n if (sl === stopLine) {\n sc = Math.min(stopColumn, columnOffset + nextOffset.column);\n }\n else if (sl < stopLine) {\n sc = columnOffset + nextOffset.column;\n }\n }\n addSection(map, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset + offset.line, columnOffset + offset.column, sl, sc);\n }\n }\n function addSection(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {\n const parsed = parse(input);\n if ('sections' in parsed)\n return recurse(...arguments);\n const map = new TraceMap(parsed, mapUrl);\n const sourcesOffset = sources.length;\n const namesOffset = names.length;\n const decoded = decodedMappings(map);\n const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map;\n append(sources, resolvedSources);\n append(names, map.names);\n if (contents)\n append(sourcesContent, contents);\n else\n for (let i = 0; i < resolvedSources.length; i++)\n sourcesContent.push(null);\n if (ignores)\n for (let i = 0; i < ignores.length; i++)\n ignoreList.push(ignores[i] + sourcesOffset);\n for (let i = 0; i < decoded.length; i++) {\n const lineI = lineOffset + i;\n // We can only add so many lines before we step into the range that the next section's map\n // controls. When we get to the last line, then we'll start checking the segments to see if\n // they've crossed into the column range. But it may not have any columns that overstep, so we\n // still need to check that we don't overstep lines, too.\n if (lineI > stopLine)\n return;\n // The out line may already exist in mappings (if we're continuing the line started by a\n // previous section). Or, we may have jumped ahead several lines to start this section.\n const out = getLine(mappings, lineI);\n // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the\n // map can be multiple lines), it doesn't.\n const cOffset = i === 0 ? columnOffset : 0;\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const column = cOffset + seg[COLUMN];\n // If this segment steps into the column range that the next section's map controls, we need\n // to stop early.\n if (lineI === stopLine && column >= stopColumn)\n return;\n if (seg.length === 1) {\n out.push([column]);\n continue;\n }\n const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n out.push(seg.length === 4\n ? [column, sourcesIndex, sourceLine, sourceColumn]\n : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);\n }\n }\n }\n function append(arr, other) {\n for (let i = 0; i < other.length; i++)\n arr.push(other[i]);\n }\n function getLine(arr, index) {\n for (let i = arr.length; i <= index; i++)\n arr[i] = [];\n return arr[index];\n }\n\n const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';\n const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';\n const LEAST_UPPER_BOUND = -1;\n const GREATEST_LOWER_BOUND = 1;\n class TraceMap {\n constructor(map, mapUrl) {\n const isString = typeof map === 'string';\n if (!isString && map._decodedMemo)\n return map;\n const parsed = (isString ? JSON.parse(map) : map);\n const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n this.version = version;\n this.file = file;\n this.names = names || [];\n this.sourceRoot = sourceRoot;\n this.sources = sources;\n this.sourcesContent = sourcesContent;\n this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || undefined;\n const from = resolve(sourceRoot || '', stripFilename(mapUrl));\n this.resolvedSources = sources.map((s) => resolve(s || '', from));\n const { mappings } = parsed;\n if (typeof mappings === 'string') {\n this._encoded = mappings;\n this._decoded = undefined;\n }\n else {\n this._encoded = undefined;\n this._decoded = maybeSort(mappings, isString);\n }\n this._decodedMemo = memoizedState();\n this._bySources = undefined;\n this._bySourceMemos = undefined;\n }\n }\n /**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\n function cast(map) {\n return map;\n }\n /**\n * Returns the encoded (VLQ string) form of the SourceMap's mappings field.\n */\n function encodedMappings(map) {\n var _a;\n var _b;\n return ((_a = (_b = cast(map))._encoded) !== null && _a !== void 0 ? _a : (_b._encoded = sourcemapCodec.encode(cast(map)._decoded)));\n }\n /**\n * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.\n */\n function decodedMappings(map) {\n var _a;\n return ((_a = cast(map))._decoded || (_a._decoded = sourcemapCodec.decode(cast(map)._encoded)));\n }\n /**\n * A low-level API to find the segment associated with a generated line/column (think, from a\n * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.\n */\n function traceSegment(map, line, column) {\n const decoded = decodedMappings(map);\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length)\n return null;\n const segments = decoded[line];\n const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, GREATEST_LOWER_BOUND);\n return index === -1 ? null : segments[index];\n }\n /**\n * A higher-level API to find the source/line/column associated with a generated line/column\n * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in\n * `source-map` library.\n */\n function originalPositionFor(map, needle) {\n let { line, column, bias } = needle;\n line--;\n if (line < 0)\n throw new Error(LINE_GTR_ZERO);\n if (column < 0)\n throw new Error(COL_GTR_EQ_ZERO);\n const decoded = decodedMappings(map);\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length)\n return OMapping(null, null, null, null);\n const segments = decoded[line];\n const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);\n if (index === -1)\n return OMapping(null, null, null, null);\n const segment = segments[index];\n if (segment.length === 1)\n return OMapping(null, null, null, null);\n const { names, resolvedSources } = map;\n return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);\n }\n /**\n * Finds the generated line/column position of the provided source/line/column source position.\n */\n function generatedPositionFor(map, needle) {\n const { source, line, column, bias } = needle;\n return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);\n }\n /**\n * Finds all generated line/column positions of the provided source/line/column source position.\n */\n function allGeneratedPositionsFor(map, needle) {\n const { source, line, column, bias } = needle;\n // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.\n return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);\n }\n /**\n * Iterates each mapping in generated position order.\n */\n function eachMapping(map, cb) {\n const decoded = decodedMappings(map);\n const { names, resolvedSources } = map;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const generatedLine = i + 1;\n const generatedColumn = seg[0];\n let source = null;\n let originalLine = null;\n let originalColumn = null;\n let name = null;\n if (seg.length !== 1) {\n source = resolvedSources[seg[1]];\n originalLine = seg[2] + 1;\n originalColumn = seg[3];\n }\n if (seg.length === 5)\n name = names[seg[4]];\n cb({\n generatedLine,\n generatedColumn,\n source,\n originalLine,\n originalColumn,\n name,\n });\n }\n }\n }\n function sourceIndex(map, source) {\n const { sources, resolvedSources } = map;\n let index = sources.indexOf(source);\n if (index === -1)\n index = resolvedSources.indexOf(source);\n return index;\n }\n /**\n * Retrieves the source content for a particular source, if its found. Returns null if not.\n */\n function sourceContentFor(map, source) {\n const { sourcesContent } = map;\n if (sourcesContent == null)\n return null;\n const index = sourceIndex(map, source);\n return index === -1 ? null : sourcesContent[index];\n }\n /**\n * Determines if the source is marked to ignore by the source map.\n */\n function isIgnored(map, source) {\n const { ignoreList } = map;\n if (ignoreList == null)\n return false;\n const index = sourceIndex(map, source);\n return index === -1 ? false : ignoreList.includes(index);\n }\n /**\n * A helper that skips sorting of the input map's mappings array, which can be expensive for larger\n * maps.\n */\n function presortedDecodedMap(map, mapUrl) {\n const tracer = new TraceMap(clone(map, []), mapUrl);\n cast(tracer)._decoded = map.mappings;\n return tracer;\n }\n /**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\n function decodedMap(map) {\n return clone(map, decodedMappings(map));\n }\n /**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\n function encodedMap(map) {\n return clone(map, encodedMappings(map));\n }\n function clone(map, mappings) {\n return {\n version: map.version,\n file: map.file,\n names: map.names,\n sourceRoot: map.sourceRoot,\n sources: map.sources,\n sourcesContent: map.sourcesContent,\n mappings,\n ignoreList: map.ignoreList || map.x_google_ignoreList,\n };\n }\n function OMapping(source, line, column, name) {\n return { source, line, column, name };\n }\n function GMapping(line, column) {\n return { line, column };\n }\n function traceSegmentInternal(segments, memo, line, column, bias) {\n let index = memoizedBinarySearch(segments, column, memo, line);\n if (found) {\n index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n }\n else if (bias === LEAST_UPPER_BOUND)\n index++;\n if (index === -1 || index === segments.length)\n return -1;\n return index;\n }\n function sliceGeneratedPositions(segments, memo, line, column, bias) {\n let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);\n // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in\n // insertion order) segment that matched. Even if we did respect the bias when tracing, we would\n // still need to call `lowerBound()` to find the first segment, which is slower than just looking\n // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the\n // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to\n // match LEAST_UPPER_BOUND.\n if (!found && bias === LEAST_UPPER_BOUND)\n min++;\n if (min === -1 || min === segments.length)\n return [];\n // We may have found the segment that started at an earlier column. If this is the case, then we\n // need to slice all generated segments that match _that_ column, because all such segments span\n // to our desired column.\n const matchedColumn = found ? column : segments[min][COLUMN];\n // The binary search is not guaranteed to find the lower bound when a match wasn't found.\n if (!found)\n min = lowerBound(segments, matchedColumn, min);\n const max = upperBound(segments, matchedColumn, min);\n const result = [];\n for (; min <= max; min++) {\n const segment = segments[min];\n result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));\n }\n return result;\n }\n function generatedPosition(map, source, line, column, bias, all) {\n var _a;\n line--;\n if (line < 0)\n throw new Error(LINE_GTR_ZERO);\n if (column < 0)\n throw new Error(COL_GTR_EQ_ZERO);\n const { sources, resolvedSources } = map;\n let sourceIndex = sources.indexOf(source);\n if (sourceIndex === -1)\n sourceIndex = resolvedSources.indexOf(source);\n if (sourceIndex === -1)\n return all ? [] : GMapping(null, null);\n const generated = ((_a = cast(map))._bySources || (_a._bySources = buildBySources(decodedMappings(map), (cast(map)._bySourceMemos = sources.map(memoizedState)))));\n const segments = generated[sourceIndex][line];\n if (segments == null)\n return all ? [] : GMapping(null, null);\n const memo = cast(map)._bySourceMemos[sourceIndex];\n if (all)\n return sliceGeneratedPositions(segments, memo, line, column, bias);\n const index = traceSegmentInternal(segments, memo, line, column, bias);\n if (index === -1)\n return GMapping(null, null);\n const segment = segments[index];\n return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);\n }\n\n exports.AnyMap = AnyMap;\n exports.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND;\n exports.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND;\n exports.TraceMap = TraceMap;\n exports.allGeneratedPositionsFor = allGeneratedPositionsFor;\n exports.decodedMap = decodedMap;\n exports.decodedMappings = decodedMappings;\n exports.eachMapping = eachMapping;\n exports.encodedMap = encodedMap;\n exports.encodedMappings = encodedMappings;\n exports.generatedPositionFor = generatedPositionFor;\n exports.isIgnored = isIgnored;\n exports.originalPositionFor = originalPositionFor;\n exports.presortedDecodedMap = presortedDecodedMap;\n exports.sourceContentFor = sourceContentFor;\n exports.traceSegment = traceSegment;\n\n}));\n//# sourceMappingURL=trace-mapping.umd.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1.js": +/*!******************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var asn1 = exports;\n\nasn1.bignum = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\n\nasn1.define = (__webpack_require__(/*! ./asn1/api */ \"./node_modules/asn1.js/lib/asn1/api.js\").define);\nasn1.base = __webpack_require__(/*! ./asn1/base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\");\nasn1.constants = __webpack_require__(/*! ./asn1/constants */ \"./node_modules/asn1.js/lib/asn1/constants/index.js\");\nasn1.decoders = __webpack_require__(/*! ./asn1/decoders */ \"./node_modules/asn1.js/lib/asn1/decoders/index.js\");\nasn1.encoders = __webpack_require__(/*! ./asn1/encoders */ \"./node_modules/asn1.js/lib/asn1/encoders/index.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/api.js": +/*!**********************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/api.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var asn1 = __webpack_require__(/*! ../asn1 */ \"./node_modules/asn1.js/lib/asn1.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n};\n\nEntity.prototype._createNamed = function createNamed(base) {\n var named;\n try {\n named = (__webpack_require__(/*! vm */ \"./node_modules/vm-browserify/index.js\").runInThisContext)(\n '(function ' + this.name + '(entity) {\\n' +\n ' this._initNamed(entity);\\n' +\n '})'\n );\n } catch (e) {\n named = function (entity) {\n this._initNamed(entity);\n };\n }\n inherits(named, base);\n named.prototype._initNamed = function initnamed(entity) {\n base.call(this, entity);\n };\n\n return new named(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(asn1.decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(asn1.encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/api.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/buffer.js": +/*!******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/buffer.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Reporter = (__webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").Reporter);\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n var res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n}\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n var res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n}\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n}\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!(item instanceof EncoderBuffer))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = new Buffer(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/base/buffer.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/index.js": +/*!*****************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/index.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var base = exports;\n\nbase.Reporter = (__webpack_require__(/*! ./reporter */ \"./node_modules/asn1.js/lib/asn1/base/reporter.js\").Reporter);\nbase.DecoderBuffer = (__webpack_require__(/*! ./buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").DecoderBuffer);\nbase.EncoderBuffer = (__webpack_require__(/*! ./buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").EncoderBuffer);\nbase.Node = __webpack_require__(/*! ./node */ \"./node_modules/asn1.js/lib/asn1/base/node.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/base/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/node.js": +/*!****************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/node.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var Reporter = (__webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").Reporter);\nvar EncoderBuffer = (__webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").EncoderBuffer);\nvar DecoderBuffer = (__webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").DecoderBuffer);\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\n// Supported tags\nvar tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nvar methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nvar overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent) {\n var state = {};\n this._baseState = state;\n\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nvar stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n var state = this._baseState;\n var cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n var res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n var state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n var clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n var state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n var state = this._baseState;\n\n // Filter children and args\n var children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n var res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n var value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n var state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n var state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n var state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n var state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n var state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n var state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n var state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n var state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n var result = state['default'];\n var present = true;\n\n var prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n var tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n var save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n var prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n var explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n var start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n if (state.any)\n var save = input.save();\n var body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any)\n result = result;\n else if (state.choice === null)\n result = this._decodeGeneric(state.tag, input, options);\n else\n result = this._decodeChoice(input, options);\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n var data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n var state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n var state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n var state = this._baseState;\n var result = null;\n var match = false;\n\n Object.keys(state.choice).some(function(key) {\n var save = input.save();\n var node = state.choice[key];\n try {\n var value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n var state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n var result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n var result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default']\n else\n return;\n }\n\n // Encode children first\n var content = null;\n var primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n var prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n var res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n var child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n var state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n var result;\n if (!state.any && state.choice === null) {\n var tag = state.implicit !== null ? state.implicit : state.tag;\n var cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n var state = this._baseState;\n\n var node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n var state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/base/node.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/base/reporter.js": +/*!********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/base/reporter.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n var state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n var state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n var state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n var state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n var state = this._reporterState;\n\n var prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n var state = this._reporterState;\n\n var now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n var err;\n var state = this._reporterState;\n\n var inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n var state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n};\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/base/reporter.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/constants/der.js": +/*!********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/constants/der.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var constants = __webpack_require__(/*! ../constants */ \"./node_modules/asn1.js/lib/asn1/constants/index.js\");\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = constants._reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = constants._reverse(exports.tag);\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/constants/der.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/constants/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/constants/index.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n var res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n var value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/constants/der.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/constants/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/decoders/der.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/decoders/der.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar asn1 = __webpack_require__(/*! ../../asn1 */ \"./node_modules/asn1.js/lib/asn1.js\");\nvar base = asn1.base;\nvar bignum = asn1.bignum;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!(data instanceof base.DecoderBuffer))\n data = new base.DecoderBuffer(data, options);\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n var state = buffer.save();\n var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n var decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n var len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n var state = buffer.save();\n var res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n while (true) {\n var tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n var len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n var res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len)\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n var result = [];\n while (!buffer.isEmpty()) {\n var possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n var res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n var unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n var raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n var str = '';\n for (var i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n var numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n var printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n var result;\n var identifiers = [];\n var ident = 0;\n while (!buffer.isEmpty()) {\n var subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n var first = (identifiers[0] / 40) | 0;\n var second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n var tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n var str = buffer.raw().toString();\n if (tag === 'gentime') {\n var year = str.slice(0, 4) | 0;\n var mon = str.slice(4, 6) | 0;\n var day = str.slice(6, 8) | 0;\n var hour = str.slice(8, 10) | 0;\n var min = str.slice(10, 12) | 0;\n var sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n var year = str.slice(0, 2) | 0;\n var mon = str.slice(2, 4) | 0;\n var day = str.slice(4, 6) | 0;\n var hour = str.slice(6, 8) | 0;\n var min = str.slice(8, 10) | 0;\n var sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull(buffer) {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n var res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n var raw = buffer.raw();\n var res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n var tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n var cls = der.tagClass[tag >> 6];\n var primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n var oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n var tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n var len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n var num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (var i = 0; i < num; i++) {\n len <<= 8;\n var j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/decoders/der.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/decoders/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/decoders/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var decoders = exports;\n\ndecoders.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/decoders/der.js\");\ndecoders.pem = __webpack_require__(/*! ./pem */ \"./node_modules/asn1.js/lib/asn1/decoders/pem.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/decoders/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/decoders/pem.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/decoders/pem.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\n\nvar DERDecoder = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/decoders/der.js\");\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n var lines = data.toString().split(/[\\r\\n]+/g);\n\n var label = options.label.toUpperCase();\n\n var re = /^-----(BEGIN|END) ([^-]+)-----$/;\n var start = -1;\n var end = -1;\n for (var i = 0; i < lines.length; i++) {\n var match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n var base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9\\+\\/=]+/gi, '');\n\n var input = new Buffer(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/decoders/pem.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/encoders/der.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/encoders/der.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\n\nvar asn1 = __webpack_require__(/*! ../../asn1 */ \"./node_modules/asn1.js/lib/asn1.js\");\nvar base = asn1.base;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n var encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n var header = new Buffer(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n var lenOctets = 1;\n for (var i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n var header = new Buffer(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n var buf = new Buffer(str.length * 2);\n for (var i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s\\.]+/g);\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n var size = 0;\n for (var i = 0; i < id.length; i++) {\n var ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n var objid = new Buffer(size);\n var offset = objid.length - 1;\n for (var i = id.length - 1; i >= 0; i--) {\n var ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n var str;\n var date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n var numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = new Buffer(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n var size = num.length;\n if (num.length === 0)\n size++;\n\n var out = new Buffer(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n var size = 1;\n for (var i = num; i >= 0x100; i >>= 8)\n size++;\n\n var out = new Array(size);\n for (var i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(new Buffer(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n var state = this._baseState;\n var i;\n if (state['default'] === null)\n return false;\n\n var data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n var res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/encoders/der.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/encoders/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/encoders/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var encoders = exports;\n\nencoders.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/encoders/der.js\");\nencoders.pem = __webpack_require__(/*! ./pem */ \"./node_modules/asn1.js/lib/asn1/encoders/pem.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/encoders/index.js?"); + +/***/ }), + +/***/ "./node_modules/asn1.js/lib/asn1/encoders/pem.js": +/*!*******************************************************!*\ + !*** ./node_modules/asn1.js/lib/asn1/encoders/pem.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar DEREncoder = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/encoders/der.js\");\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n var buf = DEREncoder.prototype.encode.call(this, data);\n\n var p = buf.toString('base64');\n var out = [ '-----BEGIN ' + options.label + '-----' ];\n for (var i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/asn1.js/lib/asn1/encoders/pem.js?"); + +/***/ }), + +/***/ "./node_modules/base64-js/index.js": +/*!*****************************************!*\ + !*** ./node_modules/base64-js/index.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/base64-js/index.js?"); + +/***/ }), + +/***/ "./node_modules/bn.js/lib/bn.js": +/*!**************************************!*\ + !*** ./node_modules/bn.js/lib/bn.js ***! + \**************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +eval("/* module decorator */ module = __webpack_require__.nmd(module);\n(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = (__webpack_require__(/*! buffer */ \"?8131\").Buffer);\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/bn.js/lib/bn.js?"); + +/***/ }), + +/***/ "./node_modules/brorand/index.js": +/*!***************************************!*\ + !*** ./node_modules/brorand/index.js ***! + \***************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = __webpack_require__(/*! crypto */ \"?3fc0\");\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/brorand/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/aes.js": +/*!********************************************!*\ + !*** ./node_modules/browserify-aes/aes.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/aes.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/authCipher.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-aes/authCipher.js ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar GHASH = __webpack_require__(/*! ./ghash */ \"./node_modules/browserify-aes/ghash.js\")\nvar xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\nvar incr32 = __webpack_require__(/*! ./incr32 */ \"./node_modules/browserify-aes/incr32.js\")\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/authCipher.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/browser.js": +/*!************************************************!*\ + !*** ./node_modules/browserify-aes/browser.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var ciphers = __webpack_require__(/*! ./encrypter */ \"./node_modules/browserify-aes/encrypter.js\")\nvar deciphers = __webpack_require__(/*! ./decrypter */ \"./node_modules/browserify-aes/decrypter.js\")\nvar modes = __webpack_require__(/*! ./modes/list.json */ \"./node_modules/browserify-aes/modes/list.json\")\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/browser.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/decrypter.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/decrypter.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var AuthCipher = __webpack_require__(/*! ./authCipher */ \"./node_modules/browserify-aes/authCipher.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar MODES = __webpack_require__(/*! ./modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar StreamCipher = __webpack_require__(/*! ./streamCipher */ \"./node_modules/browserify-aes/streamCipher.js\")\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/decrypter.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/encrypter.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/encrypter.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var MODES = __webpack_require__(/*! ./modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar AuthCipher = __webpack_require__(/*! ./authCipher */ \"./node_modules/browserify-aes/authCipher.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar StreamCipher = __webpack_require__(/*! ./streamCipher */ \"./node_modules/browserify-aes/streamCipher.js\")\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/encrypter.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/ghash.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-aes/ghash.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/ghash.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/incr32.js": +/*!***********************************************!*\ + !*** ./node_modules/browserify-aes/incr32.js ***! + \***********************************************/ +/***/ ((module) => { + +eval("function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/incr32.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cbc.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cbc.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/cbc.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cfb.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cfb.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/cfb.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cfb1.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cfb1.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/cfb1.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/cfb8.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-aes/modes/cfb8.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/cfb8.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/ctr.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/ctr.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar incr32 = __webpack_require__(/*! ../incr32 */ \"./node_modules/browserify-aes/incr32.js\")\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/ctr.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/ecb.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/ecb.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/ecb.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/index.js": +/*!****************************************************!*\ + !*** ./node_modules/browserify-aes/modes/index.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var modeModules = {\n ECB: __webpack_require__(/*! ./ecb */ \"./node_modules/browserify-aes/modes/ecb.js\"),\n CBC: __webpack_require__(/*! ./cbc */ \"./node_modules/browserify-aes/modes/cbc.js\"),\n CFB: __webpack_require__(/*! ./cfb */ \"./node_modules/browserify-aes/modes/cfb.js\"),\n CFB8: __webpack_require__(/*! ./cfb8 */ \"./node_modules/browserify-aes/modes/cfb8.js\"),\n CFB1: __webpack_require__(/*! ./cfb1 */ \"./node_modules/browserify-aes/modes/cfb1.js\"),\n OFB: __webpack_require__(/*! ./ofb */ \"./node_modules/browserify-aes/modes/ofb.js\"),\n CTR: __webpack_require__(/*! ./ctr */ \"./node_modules/browserify-aes/modes/ctr.js\"),\n GCM: __webpack_require__(/*! ./ctr */ \"./node_modules/browserify-aes/modes/ctr.js\")\n}\n\nvar modes = __webpack_require__(/*! ./list.json */ \"./node_modules/browserify-aes/modes/list.json\")\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/ofb.js": +/*!**************************************************!*\ + !*** ./node_modules/browserify-aes/modes/ofb.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/ofb.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/streamCipher.js": +/*!*****************************************************!*\ + !*** ./node_modules/browserify-aes/streamCipher.js ***! + \*****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/streamCipher.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-cipher/browser.js": +/*!***************************************************!*\ + !*** ./node_modules/browserify-cipher/browser.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var DES = __webpack_require__(/*! browserify-des */ \"./node_modules/browserify-des/index.js\")\nvar aes = __webpack_require__(/*! browserify-aes/browser */ \"./node_modules/browserify-aes/browser.js\")\nvar aesModes = __webpack_require__(/*! browserify-aes/modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar desModes = __webpack_require__(/*! browserify-des/modes */ \"./node_modules/browserify-des/modes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-cipher/browser.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-des/index.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-des/index.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var CipherBase = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar des = __webpack_require__(/*! des.js */ \"./node_modules/des.js/lib/des.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-des/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-des/modes.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-des/modes.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n}\nexports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n}\nexports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n}\nexports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n}\nexports[\"des-ede\"] = {\n key: 16,\n iv: 0\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-des/modes.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-rsa/index.js": +/*!**********************************************!*\ + !*** ./node_modules/browserify-rsa/index.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/browserify-rsa/node_modules/bn.js/lib/bn.js\");\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\n\nfunction getr(priv) {\n\tvar len = priv.modulus.byteLength();\n\tvar r;\n\tdo {\n\t\tr = new BN(randomBytes(len));\n\t} while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n\treturn r;\n}\n\nfunction blind(priv) {\n\tvar r = getr(priv);\n\tvar blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n\treturn { blinder: blinder, unblinder: r.invm(priv.modulus) };\n}\n\nfunction crt(msg, priv) {\n\tvar blinds = blind(priv);\n\tvar len = priv.modulus.byteLength();\n\tvar blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus);\n\tvar c1 = blinded.toRed(BN.mont(priv.prime1));\n\tvar c2 = blinded.toRed(BN.mont(priv.prime2));\n\tvar qinv = priv.coefficient;\n\tvar p = priv.prime1;\n\tvar q = priv.prime2;\n\tvar m1 = c1.redPow(priv.exponent1).fromRed();\n\tvar m2 = c2.redPow(priv.exponent2).fromRed();\n\tvar h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n\treturn m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len);\n}\ncrt.getr = getr;\n\nmodule.exports = crt;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-rsa/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-rsa/node_modules/bn.js/lib/bn.js": +/*!******************************************************************!*\ + !*** ./node_modules/browserify-rsa/node_modules/bn.js/lib/bn.js ***! + \******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +eval("/* module decorator */ module = __webpack_require__.nmd(module);\n(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = (__webpack_require__(/*! buffer */ \"?f9d4\").Buffer);\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-rsa/node_modules/bn.js/lib/bn.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/algos.js": +/*!***********************************************!*\ + !*** ./node_modules/browserify-sign/algos.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nmodule.exports = __webpack_require__(/*! ./browser/algorithms.json */ \"./node_modules/browserify-sign/browser/algorithms.json\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/algos.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/index.js": +/*!*******************************************************!*\ + !*** ./node_modules/browserify-sign/browser/index.js ***! + \*******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\nvar createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\");\nvar stream = __webpack_require__(/*! readable-stream */ \"./node_modules/browserify-sign/node_modules/readable-stream/readable-browser.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar sign = __webpack_require__(/*! ./sign */ \"./node_modules/browserify-sign/browser/sign.js\");\nvar verify = __webpack_require__(/*! ./verify */ \"./node_modules/browserify-sign/browser/verify.js\");\n\nvar algorithms = __webpack_require__(/*! ./algorithms.json */ \"./node_modules/browserify-sign/browser/algorithms.json\");\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex');\n algorithms[key.toLowerCase()] = algorithms[key];\n});\n\nfunction Sign(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hashType = data.hash;\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Sign, stream.Writable);\n\nSign.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nSign.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nSign.prototype.sign = function signMethod(key, enc) {\n this.end();\n var hash = this._hash.digest();\n var sig = sign(hash, key, this._hashType, this._signType, this._tag);\n\n return enc ? sig.toString(enc) : sig;\n};\n\nfunction Verify(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Verify, stream.Writable);\n\nVerify.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nVerify.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nVerify.prototype.verify = function verifyMethod(key, sig, enc) {\n var sigBuffer = typeof sig === 'string' ? Buffer.from(sig, enc) : sig;\n\n this.end();\n var hash = this._hash.digest();\n return verify(sigBuffer, hash, key, this._signType, this._tag);\n};\n\nfunction createSign(algorithm) {\n return new Sign(algorithm);\n}\n\nfunction createVerify(algorithm) {\n return new Verify(algorithm);\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/browser/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/sign.js": +/*!******************************************************!*\ + !*** ./node_modules/browserify-sign/browser/sign.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\nvar createHmac = __webpack_require__(/*! create-hmac */ \"./node_modules/create-hmac/browser.js\");\nvar crt = __webpack_require__(/*! browserify-rsa */ \"./node_modules/browserify-rsa/index.js\");\nvar EC = (__webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\").ec);\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/browserify-sign/node_modules/bn.js/lib/bn.js\");\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\");\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/browserify-sign/browser/curves.json\");\n\nvar RSA_PKCS1_PADDING = 1;\n\nfunction sign(hash, key, hashType, signType, tag) {\n var priv = parseKeys(key);\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n return ecSign(hash, priv);\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong private key type'); }\n return dsaSign(hash, priv, hashType);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n if (key.padding !== undefined && key.padding !== RSA_PKCS1_PADDING) { throw new Error('illegal or unsupported padding mode'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = priv.modulus.byteLength();\n var pad = [0, 1];\n while (hash.length + pad.length + 1 < len) { pad.push(0xff); }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) { pad.push(hash[i]); }\n\n var out = crt(pad, priv);\n return out;\n}\n\nfunction ecSign(hash, priv) {\n var curveId = curves[priv.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + priv.curve.join('.')); }\n\n var curve = new EC(curveId);\n var key = curve.keyFromPrivate(priv.privateKey);\n var out = key.sign(hash);\n\n return Buffer.from(out.toDER());\n}\n\nfunction dsaSign(hash, priv, algo) {\n var x = priv.params.priv_key;\n var p = priv.params.p;\n var q = priv.params.q;\n var g = priv.params.g;\n var r = new BN(0);\n var k;\n var H = bits2int(hash, q).mod(q);\n var s = false;\n var kv = getKey(x, q, hash, algo);\n while (s === false) {\n k = makeKey(q, kv, algo);\n r = makeR(g, k, p, q);\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q);\n if (s.cmpn(0) === 0) {\n s = false;\n r = new BN(0);\n }\n }\n return toDER(r, s);\n}\n\nfunction toDER(r, s) {\n r = r.toArray();\n s = s.toArray();\n\n // Pad values\n if (r[0] & 0x80) { r = [0].concat(r); }\n if (s[0] & 0x80) { s = [0].concat(s); }\n\n var total = r.length + s.length + 4;\n var res = [\n 0x30, total, 0x02, r.length\n ];\n res = res.concat(r, [0x02, s.length], s);\n return Buffer.from(res);\n}\n\nfunction getKey(x, q, hash, algo) {\n x = Buffer.from(x.toArray());\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length);\n x = Buffer.concat([zeros, x]);\n }\n var hlen = hash.length;\n var hbits = bits2octets(hash, q);\n var v = Buffer.alloc(hlen);\n v.fill(1);\n var k = Buffer.alloc(hlen);\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n return { k: k, v: v };\n}\n\nfunction bits2int(obits, q) {\n var bits = new BN(obits);\n var shift = (obits.length << 3) - q.bitLength();\n if (shift > 0) { bits.ishrn(shift); }\n return bits;\n}\n\nfunction bits2octets(bits, q) {\n bits = bits2int(bits, q);\n bits = bits.mod(q);\n var out = Buffer.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length);\n out = Buffer.concat([zeros, out]);\n }\n return out;\n}\n\nfunction makeKey(q, kv, algo) {\n var t;\n var k;\n\n do {\n t = Buffer.alloc(0);\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n t = Buffer.concat([t, kv.v]);\n }\n\n k = bits2int(t, q);\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest();\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n\n return k;\n}\n\nfunction makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n}\n\nmodule.exports = sign;\nmodule.exports.getKey = getKey;\nmodule.exports.makeKey = makeKey;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/browser/sign.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/verify.js": +/*!********************************************************!*\ + !*** ./node_modules/browserify-sign/browser/verify.js ***! + \********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/browserify-sign/node_modules/bn.js/lib/bn.js\");\nvar EC = (__webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\").ec);\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\");\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/browserify-sign/browser/curves.json\");\n\nfunction verify(sig, hash, key, signType, tag) {\n var pub = parseKeys(key);\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n return ecVerify(sig, hash, pub);\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong public key type'); }\n return dsaVerify(sig, hash, pub);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = pub.modulus.byteLength();\n var pad = [1];\n var padNum = 0;\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff);\n padNum += 1;\n }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) {\n pad.push(hash[i]);\n }\n pad = Buffer.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red);\n\n sig = sig.redPow(new BN(pub.publicExponent));\n sig = Buffer.from(sig.fromRed().toArray());\n var out = padNum < 8 ? 1 : 0;\n len = Math.min(sig.length, pad.length);\n if (sig.length !== pad.length) { out = 1; }\n\n i = -1;\n while (++i < len) { out |= sig[i] ^ pad[i]; }\n return out === 0;\n}\n\nfunction ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')); }\n\n var curve = new EC(curveId);\n var pubkey = pub.data.subjectPrivateKey.data;\n\n return curve.verify(hash, sig, pubkey);\n}\n\nfunction dsaVerify(sig, hash, pub) {\n var p = pub.data.p;\n var q = pub.data.q;\n var g = pub.data.g;\n var y = pub.data.pub_key;\n var unpacked = parseKeys.signature.decode(sig, 'der');\n var s = unpacked.s;\n var r = unpacked.r;\n checkValue(s, q);\n checkValue(r, q);\n var montp = BN.mont(p);\n var w = s.invm(q);\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q);\n return v.cmp(r) === 0;\n}\n\nfunction checkValue(b, q) {\n if (b.cmpn(0) <= 0) { throw new Error('invalid sig'); }\n if (b.cmp(q) >= 0) { throw new Error('invalid sig'); }\n}\n\nmodule.exports = verify;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/browser/verify.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/bn.js/lib/bn.js": +/*!*******************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/bn.js/lib/bn.js ***! + \*******************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +eval("/* module decorator */ module = __webpack_require__.nmd(module);\n(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = (__webpack_require__(/*! buffer */ \"?7a28\").Buffer);\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/bn.js/lib/bn.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js ***! + \*****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js\");\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js\");\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_passthrough.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_passthrough.js ***! + \**********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\n\nmodule.exports = PassThrough;\n\nvar Transform = __webpack_require__(/*! ./_stream_transform */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js\");\n\n/**/\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_passthrough.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js ***! + \*******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\");\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = (__webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter);\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\n/**/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\n/**/\nvar debugUtil = __webpack_require__(/*! util */ \"?593c\");\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/BufferList.js\");\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/browserify-sign/node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/browserify-sign/node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, { hasUnpiped: false });\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\n\nmodule.exports = Transform;\n\nvar Duplex = __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n/**/\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js ***! + \*******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"./node_modules/util-deprecate/browser.js\")\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\n/**/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js\");\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/BufferList.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/BufferList.js ***! + \******************************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer/index.js\").Buffer);\nvar util = __webpack_require__(/*! util */ \"?cad2\");\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/BufferList.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js ***! + \***************************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n pna.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n pna.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n pna.nextTick(emitErrorNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n pna.nextTick(emitErrorNT, _this, err);\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream-browser.js": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream-browser.js ***! + \**********************************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports = __webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream-browser.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer/index.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer/index.js ***! + \*****************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/readable-stream/readable-browser.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/readable-stream/readable-browser.js ***! + \***************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js\");\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js\");\nexports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js\");\nexports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js\");\nexports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ \"./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_passthrough.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/readable-stream/readable-browser.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/string_decoder/lib/string_decoder.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/string_decoder/lib/string_decoder.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/**/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer/index.js\").Buffer);\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/string_decoder/lib/string_decoder.js?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer/index.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer/index.js ***! + \****************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserslist/browser.js": +/*!**********************************************!*\ + !*** ./node_modules/browserslist/browser.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var BrowserslistError = __webpack_require__(/*! ./error */ \"./node_modules/browserslist/error.js\")\n\nfunction noop() {}\n\nmodule.exports = {\n loadQueries: function loadQueries() {\n throw new BrowserslistError(\n 'Sharable configs are not supported in client-side build of Browserslist'\n )\n },\n\n getStat: function getStat(opts) {\n return opts.stats\n },\n\n loadConfig: function loadConfig(opts) {\n if (opts.config) {\n throw new BrowserslistError(\n 'Browserslist config are not supported in client-side build'\n )\n }\n },\n\n loadCountry: function loadCountry() {\n throw new BrowserslistError(\n 'Country statistics are not supported ' +\n 'in client-side build of Browserslist'\n )\n },\n\n loadFeature: function loadFeature() {\n throw new BrowserslistError(\n 'Supports queries are not available in client-side build of Browserslist'\n )\n },\n\n currentNode: function currentNode(resolve, context) {\n return resolve(['maintained node versions'], context)[0]\n },\n\n parseConfig: noop,\n\n readConfig: noop,\n\n findConfig: noop,\n\n findConfigFile: noop,\n\n clearCaches: noop,\n\n oldDataWarning: noop,\n\n env: {}\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserslist/browser.js?"); + +/***/ }), + +/***/ "./node_modules/browserslist/error.js": +/*!********************************************!*\ + !*** ./node_modules/browserslist/error.js ***! + \********************************************/ +/***/ ((module) => { + +eval("function BrowserslistError(message) {\n this.name = 'BrowserslistError'\n this.message = message\n this.browserslist = true\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, BrowserslistError)\n }\n}\n\nBrowserslistError.prototype = Error.prototype\n\nmodule.exports = BrowserslistError\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserslist/error.js?"); + +/***/ }), + +/***/ "./node_modules/browserslist/index.js": +/*!********************************************!*\ + !*** ./node_modules/browserslist/index.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var jsReleases = __webpack_require__(/*! node-releases/data/processed/envs.json */ \"./node_modules/node-releases/data/processed/envs.json\")\nvar agents = (__webpack_require__(/*! caniuse-lite/dist/unpacker/agents */ \"./node_modules/caniuse-lite/dist/unpacker/agents.js\").agents)\nvar e2c = __webpack_require__(/*! electron-to-chromium/versions */ \"./node_modules/electron-to-chromium/versions.js\")\nvar jsEOL = __webpack_require__(/*! node-releases/data/release-schedule/release-schedule.json */ \"./node_modules/node-releases/data/release-schedule/release-schedule.json\")\nvar path = __webpack_require__(/*! path */ \"?3465\")\n\nvar BrowserslistError = __webpack_require__(/*! ./error */ \"./node_modules/browserslist/error.js\")\nvar env = __webpack_require__(/*! ./node */ \"./node_modules/browserslist/browser.js\")\nvar parse = __webpack_require__(/*! ./parse */ \"./node_modules/browserslist/parse.js\") // Will load browser.js in webpack\n\nvar YEAR = 365.259641 * 24 * 60 * 60 * 1000\nvar ANDROID_EVERGREEN_FIRST = '37'\nvar OP_MOB_BLINK_FIRST = 14\n\n// Helpers\n\nfunction isVersionsMatch(versionA, versionB) {\n return (versionA + '.').indexOf(versionB + '.') === 0\n}\n\nfunction isEolReleased(name) {\n var version = name.slice(1)\n return browserslist.nodeVersions.some(function (i) {\n return isVersionsMatch(i, version)\n })\n}\n\nfunction normalize(versions) {\n return versions.filter(function (version) {\n return typeof version === 'string'\n })\n}\n\nfunction normalizeElectron(version) {\n var versionToUse = version\n if (version.split('.').length === 3) {\n versionToUse = version.split('.').slice(0, -1).join('.')\n }\n return versionToUse\n}\n\nfunction nameMapper(name) {\n return function mapName(version) {\n return name + ' ' + version\n }\n}\n\nfunction getMajor(version) {\n return parseInt(version.split('.')[0])\n}\n\nfunction getMajorVersions(released, number) {\n if (released.length === 0) return []\n var majorVersions = uniq(released.map(getMajor))\n var minimum = majorVersions[majorVersions.length - number]\n if (!minimum) {\n return released\n }\n var selected = []\n for (var i = released.length - 1; i >= 0; i--) {\n if (minimum > getMajor(released[i])) break\n selected.unshift(released[i])\n }\n return selected\n}\n\nfunction uniq(array) {\n var filtered = []\n for (var i = 0; i < array.length; i++) {\n if (filtered.indexOf(array[i]) === -1) filtered.push(array[i])\n }\n return filtered\n}\n\nfunction fillUsage(result, name, data) {\n for (var i in data) {\n result[name + ' ' + i] = data[i]\n }\n}\n\nfunction generateFilter(sign, version) {\n version = parseFloat(version)\n if (sign === '>') {\n return function (v) {\n return parseLatestFloat(v) > version\n }\n } else if (sign === '>=') {\n return function (v) {\n return parseLatestFloat(v) >= version\n }\n } else if (sign === '<') {\n return function (v) {\n return parseFloat(v) < version\n }\n } else {\n return function (v) {\n return parseFloat(v) <= version\n }\n }\n\n function parseLatestFloat(v) {\n return parseFloat(v.split('-')[1] || v)\n }\n}\n\nfunction generateSemverFilter(sign, version) {\n version = version.split('.').map(parseSimpleInt)\n version[1] = version[1] || 0\n version[2] = version[2] || 0\n if (sign === '>') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) > 0\n }\n } else if (sign === '>=') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) >= 0\n }\n } else if (sign === '<') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) > 0\n }\n } else {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) >= 0\n }\n }\n}\n\nfunction parseSimpleInt(x) {\n return parseInt(x)\n}\n\nfunction compare(a, b) {\n if (a < b) return -1\n if (a > b) return +1\n return 0\n}\n\nfunction compareSemver(a, b) {\n return (\n compare(parseInt(a[0]), parseInt(b[0])) ||\n compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) ||\n compare(parseInt(a[2] || '0'), parseInt(b[2] || '0'))\n )\n}\n\n// this follows the npm-like semver behavior\nfunction semverFilterLoose(operator, range) {\n range = range.split('.').map(parseSimpleInt)\n if (typeof range[1] === 'undefined') {\n range[1] = 'x'\n }\n // ignore any patch version because we only return minor versions\n // range[2] = 'x'\n switch (operator) {\n case '<=':\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) <= 0\n }\n case '>=':\n default:\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) >= 0\n }\n }\n}\n\n// this follows the npm-like semver behavior\nfunction compareSemverLoose(version, range) {\n if (version[0] !== range[0]) {\n return version[0] < range[0] ? -1 : +1\n }\n if (range[1] === 'x') {\n return 0\n }\n if (version[1] !== range[1]) {\n return version[1] < range[1] ? -1 : +1\n }\n return 0\n}\n\nfunction resolveVersion(data, version) {\n if (data.versions.indexOf(version) !== -1) {\n return version\n } else if (browserslist.versionAliases[data.name][version]) {\n return browserslist.versionAliases[data.name][version]\n } else {\n return false\n }\n}\n\nfunction normalizeVersion(data, version) {\n var resolved = resolveVersion(data, version)\n if (resolved) {\n return resolved\n } else if (data.versions.length === 1) {\n return data.versions[0]\n } else {\n return false\n }\n}\n\nfunction filterByYear(since, context) {\n since = since / 1000\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var versions = Object.keys(data.releaseDate).filter(function (v) {\n var date = data.releaseDate[v]\n return date !== null && date >= since\n })\n return selected.concat(versions.map(nameMapper(data.name)))\n }, [])\n}\n\nfunction cloneData(data) {\n return {\n name: data.name,\n versions: data.versions,\n released: data.released,\n releaseDate: data.releaseDate\n }\n}\n\nfunction byName(name, context) {\n name = name.toLowerCase()\n name = browserslist.aliases[name] || name\n if (context.mobileToDesktop && browserslist.desktopNames[name]) {\n var desktop = browserslist.data[browserslist.desktopNames[name]]\n if (name === 'android') {\n return normalizeAndroidData(cloneData(browserslist.data[name]), desktop)\n } else {\n var cloned = cloneData(desktop)\n cloned.name = name\n return cloned\n }\n }\n return browserslist.data[name]\n}\n\nfunction normalizeAndroidVersions(androidVersions, chromeVersions) {\n var iFirstEvergreen = chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST)\n return androidVersions\n .filter(function (version) {\n return /^(?:[2-4]\\.|[34]$)/.test(version)\n })\n .concat(chromeVersions.slice(iFirstEvergreen))\n}\n\nfunction copyObject(obj) {\n var copy = {}\n for (var key in obj) {\n copy[key] = obj[key]\n }\n return copy\n}\n\nfunction normalizeAndroidData(android, chrome) {\n android.released = normalizeAndroidVersions(android.released, chrome.released)\n android.versions = normalizeAndroidVersions(android.versions, chrome.versions)\n android.releaseDate = copyObject(android.releaseDate)\n android.released.forEach(function (v) {\n if (android.releaseDate[v] === undefined) {\n android.releaseDate[v] = chrome.releaseDate[v]\n }\n })\n return android\n}\n\nfunction checkName(name, context) {\n var data = byName(name, context)\n if (!data) throw new BrowserslistError('Unknown browser ' + name)\n return data\n}\n\nfunction unknownQuery(query) {\n return new BrowserslistError(\n 'Unknown browser query `' +\n query +\n '`. ' +\n 'Maybe you are using old Browserslist or made typo in query.'\n )\n}\n\n// Adjusts last X versions queries for some mobile browsers,\n// where caniuse data jumps from a legacy version to the latest\nfunction filterJumps(list, name, nVersions, context) {\n var jump = 1\n switch (name) {\n case 'android':\n if (context.mobileToDesktop) return list\n var released = browserslist.data.chrome.released\n jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST)\n break\n case 'op_mob':\n var latest = browserslist.data.op_mob.released.slice(-1)[0]\n jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1\n break\n default:\n return list\n }\n if (nVersions <= jump) {\n return list.slice(-1)\n }\n return list.slice(jump - 1 - nVersions)\n}\n\nfunction isSupported(flags, withPartial) {\n return (\n typeof flags === 'string' &&\n (flags.indexOf('y') >= 0 || (withPartial && flags.indexOf('a') >= 0))\n )\n}\n\nfunction resolve(queries, context) {\n return parse(QUERIES, queries).reduce(function (result, node, index) {\n if (node.not && index === 0) {\n throw new BrowserslistError(\n 'Write any browsers query (for instance, `defaults`) ' +\n 'before `' +\n node.query +\n '`'\n )\n }\n var type = QUERIES[node.type]\n var array = type.select.call(browserslist, context, node).map(function (j) {\n var parts = j.split(' ')\n if (parts[1] === '0') {\n return parts[0] + ' ' + byName(parts[0], context).versions[0]\n } else {\n return j\n }\n })\n\n if (node.compose === 'and') {\n if (node.not) {\n return result.filter(function (j) {\n return array.indexOf(j) === -1\n })\n } else {\n return result.filter(function (j) {\n return array.indexOf(j) !== -1\n })\n }\n } else {\n if (node.not) {\n var filter = {}\n array.forEach(function (j) {\n filter[j] = true\n })\n return result.filter(function (j) {\n return !filter[j]\n })\n }\n return result.concat(array)\n }\n }, [])\n}\n\nfunction prepareOpts(opts) {\n if (typeof opts === 'undefined') opts = {}\n\n if (typeof opts.path === 'undefined') {\n opts.path = path.resolve ? path.resolve('.') : '.'\n }\n\n return opts\n}\n\nfunction prepareQueries(queries, opts) {\n if (typeof queries === 'undefined' || queries === null) {\n var config = browserslist.loadConfig(opts)\n if (config) {\n queries = config\n } else {\n queries = browserslist.defaults\n }\n }\n\n return queries\n}\n\nfunction checkQueries(queries) {\n if (!(typeof queries === 'string' || Array.isArray(queries))) {\n throw new BrowserslistError(\n 'Browser queries must be an array or string. Got ' + typeof queries + '.'\n )\n }\n}\n\nvar cache = {}\n\nfunction browserslist(queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n\n var context = {\n ignoreUnknownVersions: opts.ignoreUnknownVersions,\n dangerousExtend: opts.dangerousExtend,\n mobileToDesktop: opts.mobileToDesktop,\n path: opts.path,\n env: opts.env\n }\n\n env.oldDataWarning(browserslist.data)\n var stats = env.getStat(opts, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n\n var cacheKey = JSON.stringify([queries, context])\n if (cache[cacheKey]) return cache[cacheKey]\n\n var result = uniq(resolve(queries, context)).sort(function (name1, name2) {\n name1 = name1.split(' ')\n name2 = name2.split(' ')\n if (name1[0] === name2[0]) {\n // assumptions on caniuse data\n // 1) version ranges never overlaps\n // 2) if version is not a range, it never contains `-`\n var version1 = name1[1].split('-')[0]\n var version2 = name2[1].split('-')[0]\n return compareSemver(version2.split('.'), version1.split('.'))\n } else {\n return compare(name1[0], name2[0])\n }\n })\n if (!env.env.BROWSERSLIST_DISABLE_CACHE) {\n cache[cacheKey] = result\n }\n return result\n}\n\nbrowserslist.parse = function (queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n return parse(QUERIES, queries)\n}\n\n// Will be filled by Can I Use data below\nbrowserslist.cache = {}\nbrowserslist.data = {}\nbrowserslist.usage = {\n global: {},\n custom: null\n}\n\n// Default browsers query\nbrowserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']\n\n// Browser names aliases\nbrowserslist.aliases = {\n fx: 'firefox',\n ff: 'firefox',\n ios: 'ios_saf',\n explorer: 'ie',\n blackberry: 'bb',\n explorermobile: 'ie_mob',\n operamini: 'op_mini',\n operamobile: 'op_mob',\n chromeandroid: 'and_chr',\n firefoxandroid: 'and_ff',\n ucandroid: 'and_uc',\n qqandroid: 'and_qq'\n}\n\n// Can I Use only provides a few versions for some browsers (e.g. and_chr).\n// Fallback to a similar browser for unknown versions\n// Note op_mob is not included as its chromium versions are not in sync with Opera desktop\nbrowserslist.desktopNames = {\n and_chr: 'chrome',\n and_ff: 'firefox',\n ie_mob: 'ie',\n android: 'chrome' // has extra processing logic\n}\n\n// Aliases to work with joined versions like `ios_saf 7.0-7.1`\nbrowserslist.versionAliases = {}\n\nbrowserslist.clearCaches = env.clearCaches\nbrowserslist.parseConfig = env.parseConfig\nbrowserslist.readConfig = env.readConfig\nbrowserslist.findConfigFile = env.findConfigFile\nbrowserslist.findConfig = env.findConfig\nbrowserslist.loadConfig = env.loadConfig\n\nbrowserslist.coverage = function (browsers, stats) {\n var data\n if (typeof stats === 'undefined') {\n data = browserslist.usage.global\n } else if (stats === 'my stats') {\n var opts = {}\n opts.path = path.resolve ? path.resolve('.') : '.'\n var customStats = env.getStat(opts)\n if (!customStats) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n data = {}\n for (var browser in customStats) {\n fillUsage(data, browser, customStats[browser])\n }\n } else if (typeof stats === 'string') {\n if (stats.length > 2) {\n stats = stats.toLowerCase()\n } else {\n stats = stats.toUpperCase()\n }\n env.loadCountry(browserslist.usage, stats, browserslist.data)\n data = browserslist.usage[stats]\n } else {\n if ('dataByBrowser' in stats) {\n stats = stats.dataByBrowser\n }\n data = {}\n for (var name in stats) {\n for (var version in stats[name]) {\n data[name + ' ' + version] = stats[name][version]\n }\n }\n }\n\n return browsers.reduce(function (all, i) {\n var usage = data[i]\n if (usage === undefined) {\n usage = data[i.replace(/ \\S+$/, ' 0')]\n }\n return all + (usage || 0)\n }, 0)\n}\n\nfunction nodeQuery(context, node) {\n var matched = browserslist.nodeVersions.filter(function (i) {\n return isVersionsMatch(i, node.version)\n })\n if (matched.length === 0) {\n if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of Node.js'\n )\n }\n }\n return ['node ' + matched[matched.length - 1]]\n}\n\nfunction sinceQuery(context, node) {\n var year = parseInt(node.year)\n var month = parseInt(node.month || '01') - 1\n var day = parseInt(node.day || '01')\n return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context)\n}\n\nfunction coverQuery(context, node) {\n var coverage = parseFloat(node.coverage)\n var usage = browserslist.usage.global\n if (node.place) {\n if (node.place.match(/^my\\s+stats$/i)) {\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n usage = context.customUsage\n } else {\n var place\n if (node.place.length === 2) {\n place = node.place.toUpperCase()\n } else {\n place = node.place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n usage = browserslist.usage[place]\n }\n }\n var versions = Object.keys(usage).sort(function (a, b) {\n return usage[b] - usage[a]\n })\n var coveraged = 0\n var result = []\n var version\n for (var i = 0; i < versions.length; i++) {\n version = versions[i]\n if (usage[version] === 0) break\n coveraged += usage[version]\n result.push(version)\n if (coveraged >= coverage) break\n }\n return result\n}\n\nvar QUERIES = {\n last_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = getMajorVersions(data.released, node.versions)\n list = list.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return selected.concat(list)\n }, [])\n }\n },\n last_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.released.slice(-node.versions)\n list = list.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return selected.concat(list)\n }, [])\n }\n },\n last_electron_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var validVersions = getMajorVersions(Object.keys(e2c), node.versions)\n return validVersions.map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return getMajorVersions(browserslist.nodeVersions, node.versions).map(\n function (version) {\n return 'node ' + version\n }\n )\n }\n },\n last_browser_major_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var validVersions = getMajorVersions(data.released, node.versions)\n var list = validVersions.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return list\n }\n },\n last_electron_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(e2c)\n .slice(-node.versions)\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+versions?$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .slice(-node.versions)\n .map(function (version) {\n return 'node ' + version\n })\n }\n },\n last_browser_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var list = data.released.slice(-node.versions).map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return list\n }\n },\n unreleased_versions: {\n matches: [],\n regexp: /^unreleased\\s+versions$/i,\n select: function (context) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.versions.filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n list = list.map(nameMapper(data.name))\n return selected.concat(list)\n }, [])\n }\n },\n unreleased_electron_versions: {\n matches: [],\n regexp: /^unreleased\\s+electron\\s+versions?$/i,\n select: function () {\n return []\n }\n },\n unreleased_browser_versions: {\n matches: ['browser'],\n regexp: /^unreleased\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n return data.versions\n .filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n .map(nameMapper(data.name))\n }\n },\n last_years: {\n matches: ['years'],\n regexp: /^last\\s+(\\d*.?\\d+)\\s+years?$/i,\n select: function (context, node) {\n return filterByYear(Date.now() - YEAR * node.years, context)\n }\n },\n since_y: {\n matches: ['year'],\n regexp: /^since (\\d+)$/i,\n select: sinceQuery\n },\n since_y_m: {\n matches: ['year', 'month'],\n regexp: /^since (\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n since_y_m_d: {\n matches: ['year', 'month', 'day'],\n regexp: /^since (\\d+)-(\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n popularity: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var usage = browserslist.usage.global\n return Object.keys(usage).reduce(function (result, version) {\n if (node.sign === '>') {\n if (usage[version] > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (usage[version] < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (usage[version] <= popularity) {\n result.push(version)\n }\n } else if (usage[version] >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_my_stats: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+my\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_config_stats: {\n matches: ['sign', 'popularity', 'config'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(\\S+)\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var stats = env.loadStat(context, node.config, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_place: {\n matches: ['sign', 'popularity', 'place'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+((alt-)?\\w\\w)$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var place = node.place\n if (place.length === 2) {\n place = place.toUpperCase()\n } else {\n place = place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n var usage = browserslist.usage[place]\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n cover: {\n matches: ['coverage'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%$/i,\n select: coverQuery\n },\n cover_in: {\n matches: ['coverage', 'place'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(my\\s+stats|(alt-)?\\w\\w)$/i,\n select: coverQuery\n },\n supports: {\n matches: ['supportType', 'feature'],\n regexp: /^(?:(fully|partially)\\s+)?supports\\s+([\\w-]+)$/,\n select: function (context, node) {\n env.loadFeature(browserslist.cache, node.feature)\n var withPartial = node.supportType !== 'fully'\n var features = browserslist.cache[node.feature]\n var result = []\n for (var name in features) {\n var data = byName(name, context)\n // Only check desktop when latest released mobile has support\n var iMax = data.released.length - 1\n while (iMax >= 0) {\n if (data.released[iMax] in features[name]) break\n iMax--\n }\n var checkDesktop =\n context.mobileToDesktop &&\n name in browserslist.desktopNames &&\n isSupported(features[name][data.released[iMax]], withPartial)\n data.versions.forEach(function (version) {\n var flags = features[name][version]\n if (flags === undefined && checkDesktop) {\n flags = features[browserslist.desktopNames[name]][version]\n }\n if (isSupported(flags, withPartial)) {\n result.push(name + ' ' + version)\n }\n })\n }\n return result\n }\n },\n electron_range: {\n matches: ['from', 'to'],\n regexp: /^electron\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var fromToUse = normalizeElectron(node.from)\n var toToUse = normalizeElectron(node.to)\n var from = parseFloat(node.from)\n var to = parseFloat(node.to)\n if (!e2c[fromToUse]) {\n throw new BrowserslistError('Unknown version ' + from + ' of electron')\n }\n if (!e2c[toToUse]) {\n throw new BrowserslistError('Unknown version ' + to + ' of electron')\n }\n return Object.keys(e2c)\n .filter(function (i) {\n var parsed = parseFloat(i)\n return parsed >= from && parsed <= to\n })\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_range: {\n matches: ['from', 'to'],\n regexp: /^node\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(semverFilterLoose('>=', node.from))\n .filter(semverFilterLoose('<=', node.to))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_range: {\n matches: ['browser', 'from', 'to'],\n regexp: /^(\\w+)\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var from = parseFloat(normalizeVersion(data, node.from) || node.from)\n var to = parseFloat(normalizeVersion(data, node.to) || node.to)\n function filter(v) {\n var parsed = parseFloat(v)\n return parsed >= from && parsed <= to\n }\n return data.released.filter(filter).map(nameMapper(data.name))\n }\n },\n electron_ray: {\n matches: ['sign', 'version'],\n regexp: /^electron\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n return Object.keys(e2c)\n .filter(generateFilter(node.sign, versionToUse))\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_ray: {\n matches: ['sign', 'version'],\n regexp: /^node\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(generateSemverFilter(node.sign, node.version))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_ray: {\n matches: ['browser', 'sign', 'version'],\n regexp: /^(\\w+)\\s*(>=?|<=?)\\s*([\\d.]+)$/,\n select: function (context, node) {\n var version = node.version\n var data = checkName(node.browser, context)\n var alias = browserslist.versionAliases[data.name][version]\n if (alias) version = alias\n return data.released\n .filter(generateFilter(node.sign, version))\n .map(function (v) {\n return data.name + ' ' + v\n })\n }\n },\n firefox_esr: {\n matches: [],\n regexp: /^(firefox|ff|fx)\\s+esr$/i,\n select: function () {\n return ['firefox 115', 'firefox 128']\n }\n },\n opera_mini_all: {\n matches: [],\n regexp: /(operamini|op_mini)\\s+all/i,\n select: function () {\n return ['op_mini all']\n }\n },\n electron_version: {\n matches: ['version'],\n regexp: /^electron\\s+([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n var chrome = e2c[versionToUse]\n if (!chrome) {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of electron'\n )\n }\n return ['chrome ' + chrome]\n }\n },\n node_major_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+)$/i,\n select: nodeQuery\n },\n node_minor_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n node_patch_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n current_node: {\n matches: [],\n regexp: /^current\\s+node$/i,\n select: function (context) {\n return [env.currentNode(resolve, context)]\n }\n },\n maintained_node: {\n matches: [],\n regexp: /^maintained\\s+node\\s+versions$/i,\n select: function (context) {\n var now = Date.now()\n var queries = Object.keys(jsEOL)\n .filter(function (key) {\n return (\n now < Date.parse(jsEOL[key].end) &&\n now > Date.parse(jsEOL[key].start) &&\n isEolReleased(key)\n )\n })\n .map(function (key) {\n return 'node ' + key.slice(1)\n })\n return resolve(queries, context)\n }\n },\n phantomjs_1_9: {\n matches: [],\n regexp: /^phantomjs\\s+1.9$/i,\n select: function () {\n return ['safari 5']\n }\n },\n phantomjs_2_1: {\n matches: [],\n regexp: /^phantomjs\\s+2.1$/i,\n select: function () {\n return ['safari 6']\n }\n },\n browser_version: {\n matches: ['browser', 'version'],\n regexp: /^(\\w+)\\s+(tp|[\\d.]+)$/i,\n select: function (context, node) {\n var version = node.version\n if (/^tp$/i.test(version)) version = 'TP'\n var data = checkName(node.browser, context)\n var alias = normalizeVersion(data, version)\n if (alias) {\n version = alias\n } else {\n if (version.indexOf('.') === -1) {\n alias = version + '.0'\n } else {\n alias = version.replace(/\\.0$/, '')\n }\n alias = normalizeVersion(data, alias)\n if (alias) {\n version = alias\n } else if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + version + ' of ' + node.browser\n )\n }\n }\n return [data.name + ' ' + version]\n }\n },\n browserslist_config: {\n matches: [],\n regexp: /^browserslist config$/i,\n select: function (context) {\n return browserslist(undefined, context)\n }\n },\n extends: {\n matches: ['config'],\n regexp: /^extends (.+)$/i,\n select: function (context, node) {\n return resolve(env.loadQueries(context, node.config), context)\n }\n },\n defaults: {\n matches: [],\n regexp: /^defaults$/i,\n select: function (context) {\n return resolve(browserslist.defaults, context)\n }\n },\n dead: {\n matches: [],\n regexp: /^dead$/i,\n select: function (context) {\n var dead = [\n 'Baidu >= 0',\n 'ie <= 11',\n 'ie_mob <= 11',\n 'bb <= 10',\n 'op_mob <= 12.1',\n 'samsung 4'\n ]\n return resolve(dead, context)\n }\n },\n unknown: {\n matches: [],\n regexp: /^(\\w+)$/i,\n select: function (context, node) {\n if (byName(node.query, context)) {\n throw new BrowserslistError(\n 'Specify versions in Browserslist query for browser ' + node.query\n )\n } else {\n throw unknownQuery(node.query)\n }\n }\n }\n}\n\n// Get and convert Can I Use data\n\n;(function () {\n for (var name in agents) {\n var browser = agents[name]\n browserslist.data[name] = {\n name: name,\n versions: normalize(agents[name].versions),\n released: normalize(agents[name].versions.slice(0, -3)),\n releaseDate: agents[name].release_date\n }\n fillUsage(browserslist.usage.global, name, browser.usage_global)\n\n browserslist.versionAliases[name] = {}\n for (var i = 0; i < browser.versions.length; i++) {\n var full = browser.versions[i]\n if (!full) continue\n\n if (full.indexOf('-') !== -1) {\n var interval = full.split('-')\n for (var j = 0; j < interval.length; j++) {\n browserslist.versionAliases[name][interval[j]] = full\n }\n }\n }\n }\n\n browserslist.nodeVersions = jsReleases.map(function (release) {\n return release.version\n })\n})()\n\nmodule.exports = browserslist\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserslist/index.js?"); + +/***/ }), + +/***/ "./node_modules/browserslist/parse.js": +/*!********************************************!*\ + !*** ./node_modules/browserslist/parse.js ***! + \********************************************/ +/***/ ((module) => { + +eval("var AND_REGEXP = /^\\s+and\\s+(.*)/i\nvar OR_REGEXP = /^(?:,\\s*|\\s+or\\s+)(.*)/i\n\nfunction flatten(array) {\n if (!Array.isArray(array)) return [array]\n return array.reduce(function (a, b) {\n return a.concat(flatten(b))\n }, [])\n}\n\nfunction find(string, predicate) {\n for (var max = string.length, n = 1; n <= max; n++) {\n var parsed = string.substr(-n, n)\n if (predicate(parsed, n, max)) {\n return string.slice(0, -n)\n }\n }\n return ''\n}\n\nfunction matchQuery(all, query) {\n var node = { query: query }\n if (query.indexOf('not ') === 0) {\n node.not = true\n query = query.slice(4)\n }\n\n for (var name in all) {\n var type = all[name]\n var match = query.match(type.regexp)\n if (match) {\n node.type = name\n for (var i = 0; i < type.matches.length; i++) {\n node[type.matches[i]] = match[i + 1]\n }\n return node\n }\n }\n\n node.type = 'unknown'\n return node\n}\n\nfunction matchBlock(all, string, qs) {\n var node\n return find(string, function (parsed, n, max) {\n if (AND_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(AND_REGEXP)[1])\n node.compose = 'and'\n qs.unshift(node)\n return true\n } else if (OR_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(OR_REGEXP)[1])\n node.compose = 'or'\n qs.unshift(node)\n return true\n } else if (n === max) {\n node = matchQuery(all, parsed.trim())\n node.compose = 'or'\n qs.unshift(node)\n return true\n }\n return false\n })\n}\n\nmodule.exports = function parse(all, queries) {\n if (!Array.isArray(queries)) queries = [queries]\n return flatten(\n queries.map(function (block) {\n var qs = []\n do {\n block = matchBlock(all, block, qs)\n } while (block)\n return qs\n })\n )\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserslist/parse.js?"); + +/***/ }), + +/***/ "./node_modules/buffer-xor/index.js": +/*!******************************************!*\ + !*** ./node_modules/buffer-xor/index.js ***! + \******************************************/ +/***/ ((module) => { + +eval("module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/buffer-xor/index.js?"); + +/***/ }), + +/***/ "./node_modules/buffer/index.js": +/*!**************************************!*\ + !*** ./node_modules/buffer/index.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nconst base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nconst ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/buffer/index.js?"); + +/***/ }), + +/***/ "./node_modules/caniuse-lite/data/agents.js": +/*!**************************************************!*\ + !*** ./node_modules/caniuse-lite/data/agents.js ***! + \**************************************************/ +/***/ ((module) => { + +eval("module.exports={A:{A:{K:0,D:0,E:0.0417486,F:0.0417486,A:0,B:0.445318,gC:0},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"gC\",\"K\",\"D\",\"E\",\"F\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE\",F:{gC:962323200,K:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{\"5\":0.003647,\"6\":0.003647,\"7\":0.007294,\"8\":0.003647,\"9\":0.010941,C:0,L:0,M:0,G:0,N:0,O:0.003647,P:0.047411,Q:0,H:0,R:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0.014588,c:0,d:0,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0,m:0,n:0,o:0,p:0,q:0.003647,r:0.007294,s:0.061999,t:0.007294,u:0.007294,v:0.003647,w:0.007294,x:0.010941,AB:0.032823,BB:0.014588,CB:0.018235,DB:0.010941,EB:0.018235,FB:0.025529,GB:0.061999,HB:0.193291,IB:3.1656,JB:1.29104,KB:0.003647,I:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"C\",\"L\",\"M\",\"G\",\"N\",\"O\",\"P\",\"Q\",\"H\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"I\",\"\",\"\",\"\"],E:\"Edge\",F:{\"5\":1689897600,\"6\":1692576000,\"7\":1694649600,\"8\":1697155200,\"9\":1698969600,C:1438128000,L:1447286400,M:1470096000,G:1491868800,N:1508198400,O:1525046400,P:1542067200,Q:1579046400,H:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,i:1646265600,j:1649635200,k:1651190400,l:1653955200,m:1655942400,n:1659657600,o:1661990400,p:1664755200,q:1666915200,r:1670198400,s:1673481600,t:1675900800,u:1678665600,v:1680825600,w:1683158400,x:1685664000,AB:1701993600,BB:1706227200,CB:1708732800,DB:1711152000,EB:1713398400,FB:1715990400,GB:1718841600,HB:1721865600,IB:1724371200,JB:1726704000,KB:1729123200,I:1731542400},D:{C:\"ms\",L:\"ms\",M:\"ms\",G:\"ms\",N:\"ms\",O:\"ms\",P:\"ms\"}},C:{A:{\"0\":0,\"1\":0,\"2\":0,\"3\":0,\"4\":0,\"5\":0.335524,\"6\":0,\"7\":0.003647,\"8\":0.076587,\"9\":0,hC:0,IC:0,J:0.003647,LB:0,K:0,D:0,E:0,F:0,A:0,B:0.014588,C:0,L:0,M:0,G:0,N:0,O:0,P:0,MB:0,y:0,z:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0.007294,eB:0.007294,fB:0.003647,gB:0,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0.040117,nB:0,oB:0,pB:0.003647,qB:0.014588,rB:0,sB:0,JC:0.003647,tB:0,KC:0,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,\"0B\":0,\"1B\":0,\"2B\":0,\"3B\":0,\"4B\":0,\"5B\":0,\"6B\":0,\"7B\":0,\"8B\":0,\"9B\":0,AC:0.010941,Q:0,H:0,R:0,LC:0,S:0,T:0,U:0,V:0,W:0,X:0.007294,Y:0,Z:0,a:0,b:0,c:0,d:0.003647,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0.003647,m:0.007294,n:0,o:0.003647,p:0,q:0,r:0,s:0.003647,t:0,u:0,v:0,w:0.007294,x:0,AB:0.007294,BB:0.003647,CB:0.003647,DB:0.003647,EB:0.003647,FB:0.014588,GB:0.010941,HB:0.021882,IB:0.03647,JB:0.299054,KB:1.30198,I:0.007294,BC:0,MC:0,NC:0,iC:0,jC:0,kC:0},B:\"moz\",C:[\"hC\",\"IC\",\"jC\",\"kC\",\"J\",\"LB\",\"K\",\"D\",\"E\",\"F\",\"A\",\"B\",\"C\",\"L\",\"M\",\"G\",\"N\",\"O\",\"P\",\"MB\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"mB\",\"nB\",\"oB\",\"pB\",\"qB\",\"rB\",\"sB\",\"JC\",\"tB\",\"KC\",\"uB\",\"vB\",\"wB\",\"xB\",\"yB\",\"zB\",\"0B\",\"1B\",\"2B\",\"3B\",\"4B\",\"5B\",\"6B\",\"7B\",\"8B\",\"9B\",\"AC\",\"Q\",\"H\",\"R\",\"LC\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"I\",\"BC\",\"MC\",\"NC\",\"iC\"],E:\"Firefox\",F:{\"0\":1368489600,\"1\":1372118400,\"2\":1375747200,\"3\":1379376000,\"4\":1386633600,\"5\":1688428800,\"6\":1690848000,\"7\":1693267200,\"8\":1695686400,\"9\":1698105600,hC:1161648000,IC:1213660800,jC:1246320000,kC:1264032000,J:1300752000,LB:1308614400,K:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,L:1335225600,M:1338854400,G:1342483200,N:1346112000,O:1349740800,P:1353628800,MB:1357603200,y:1361232000,z:1364860800,NB:1391472000,OB:1395100800,PB:1398729600,QB:1402358400,RB:1405987200,SB:1409616000,TB:1413244800,UB:1417392000,VB:1421107200,WB:1424736000,XB:1428278400,YB:1431475200,ZB:1435881600,aB:1439251200,bB:1442880000,cB:1446508800,dB:1450137600,eB:1453852800,fB:1457395200,gB:1461628800,hB:1465257600,iB:1470096000,jB:1474329600,kB:1479168000,lB:1485216000,mB:1488844800,nB:1492560000,oB:1497312000,pB:1502150400,qB:1506556800,rB:1510617600,sB:1516665600,JC:1520985600,tB:1525824000,KC:1529971200,uB:1536105600,vB:1540252800,wB:1544486400,xB:1548720000,yB:1552953600,zB:1558396800,\"0B\":1562630400,\"1B\":1567468800,\"2B\":1571788800,\"3B\":1575331200,\"4B\":1578355200,\"5B\":1581379200,\"6B\":1583798400,\"7B\":1586304000,\"8B\":1588636800,\"9B\":1591056000,AC:1593475200,Q:1595894400,H:1598313600,R:1600732800,LC:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,i:1649116800,j:1651536000,k:1653955200,l:1656374400,m:1658793600,n:1661212800,o:1663632000,p:1666051200,q:1668470400,r:1670889600,s:1673913600,t:1676332800,u:1678752000,v:1681171200,w:1683590400,x:1686009600,AB:1700524800,BB:1702944000,CB:1705968000,DB:1708387200,EB:1710806400,FB:1713225600,GB:1715644800,HB:1718064000,IB:1720483200,JB:1722902400,KB:1725321600,I:1727740800,BC:1730160000,MC:null,NC:null,iC:null}},D:{A:{\"0\":0,\"1\":0,\"2\":0,\"3\":0,\"4\":0,\"5\":0.025529,\"6\":0.156821,\"7\":0.098469,\"8\":0.07294,\"9\":0.058352,J:0,LB:0,K:0,D:0,E:0,F:0,A:0,B:0,C:0,L:0,M:0,G:0,N:0,O:0,P:0,MB:0,y:0,z:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0.010941,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0,hB:0.003647,iB:0.018235,jB:0.018235,kB:0.007294,lB:0.003647,mB:0.003647,nB:0.007294,oB:0,pB:0,qB:0.021882,rB:0,sB:0.003647,JC:0,tB:0,KC:0.003647,uB:0,vB:0,wB:0,xB:0,yB:0.021882,zB:0.003647,\"0B\":0,\"1B\":0.076587,\"2B\":0.007294,\"3B\":0,\"4B\":0,\"5B\":0.007294,\"6B\":0.007294,\"7B\":0.007294,\"8B\":0.007294,\"9B\":0.018235,AC:0.014588,Q:0.098469,H:0.010941,R:0.018235,S:0.032823,T:0.007294,U:0.007294,V:0.025529,W:0.069293,X:0.014588,Y:0.010941,Z:0.010941,a:0.058352,b:0.021882,c:0.014588,d:0.047411,e:0.007294,f:0.007294,g:0.014588,h:0.040117,i:0.025529,j:0.029176,k:0.018235,l:0.014588,m:0.131292,n:0.040117,o:0.014588,p:0.025529,q:0.029176,r:0.043764,s:1.36033,t:0.021882,u:0.040117,v:0.043764,w:0.091175,x:0.091175,AB:0.094822,BB:0.098469,CB:0.10941,DB:0.142233,EB:0.262584,FB:0.258937,GB:0.419405,HB:1.15975,IB:12.4691,JB:4.05546,KB:0.014588,I:0.003647,BC:0,MC:0,NC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"J\",\"LB\",\"K\",\"D\",\"E\",\"F\",\"A\",\"B\",\"C\",\"L\",\"M\",\"G\",\"N\",\"O\",\"P\",\"MB\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"mB\",\"nB\",\"oB\",\"pB\",\"qB\",\"rB\",\"sB\",\"JC\",\"tB\",\"KC\",\"uB\",\"vB\",\"wB\",\"xB\",\"yB\",\"zB\",\"0B\",\"1B\",\"2B\",\"3B\",\"4B\",\"5B\",\"6B\",\"7B\",\"8B\",\"9B\",\"AC\",\"Q\",\"H\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"I\",\"BC\",\"MC\",\"NC\"],E:\"Chrome\",F:{\"0\":1343692800,\"1\":1348531200,\"2\":1352246400,\"3\":1357862400,\"4\":1361404800,\"5\":1689724800,\"6\":1692057600,\"7\":1694476800,\"8\":1696896000,\"9\":1698710400,J:1264377600,LB:1274745600,K:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,L:1312243200,M:1316131200,G:1316131200,N:1319500800,O:1323734400,P:1328659200,MB:1332892800,y:1337040000,z:1340668800,NB:1364428800,OB:1369094400,PB:1374105600,QB:1376956800,RB:1384214400,SB:1389657600,TB:1392940800,UB:1397001600,VB:1400544000,WB:1405468800,XB:1409011200,YB:1412640000,ZB:1416268800,aB:1421798400,bB:1425513600,cB:1429401600,dB:1432080000,eB:1437523200,fB:1441152000,gB:1444780800,hB:1449014400,iB:1453248000,jB:1456963200,kB:1460592000,lB:1464134400,mB:1469059200,nB:1472601600,oB:1476230400,pB:1480550400,qB:1485302400,rB:1489017600,sB:1492560000,JC:1496707200,tB:1500940800,KC:1504569600,uB:1508198400,vB:1512518400,wB:1516752000,xB:1520294400,yB:1523923200,zB:1527552000,\"0B\":1532390400,\"1B\":1536019200,\"2B\":1539648000,\"3B\":1543968000,\"4B\":1548720000,\"5B\":1552348800,\"6B\":1555977600,\"7B\":1559606400,\"8B\":1564444800,\"9B\":1568073600,AC:1571702400,Q:1575936000,H:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,i:1646092800,j:1648512000,k:1650931200,l:1653350400,m:1655769600,n:1659398400,o:1661817600,p:1664236800,q:1666656000,r:1669680000,s:1673308800,t:1675728000,u:1678147200,v:1680566400,w:1682985600,x:1685404800,AB:1701993600,BB:1705968000,CB:1708387200,DB:1710806400,EB:1713225600,FB:1715644800,GB:1718064000,HB:1721174400,IB:1724112000,JB:1726531200,KB:1728950400,I:1731369600,BC:null,MC:null,NC:null}},E:{A:{J:0,LB:0,K:0,D:0,E:0,F:0,A:0,B:0,C:0,L:0.003647,M:0.025529,G:0.007294,lC:0,OC:0,mC:0,nC:0,oC:0,pC:0,PC:0,CC:0.003647,DC:0.007294,qC:0.058352,rC:0.076587,sC:0.021882,QC:0.007294,RC:0.018235,EC:0.029176,tC:0.21882,FC:0.029176,SC:0.03647,TC:0.029176,UC:0.069293,VC:0.021882,WC:0.040117,uC:0.273525,GC:0.018235,XC:0.03647,YC:0.03647,ZC:0.043764,aC:0.10941,bC:0.309995,vC:1.53903,HC:0.149527,cC:0.007294,dC:0,wC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"lC\",\"OC\",\"J\",\"LB\",\"mC\",\"K\",\"nC\",\"D\",\"oC\",\"E\",\"F\",\"pC\",\"A\",\"PC\",\"B\",\"CC\",\"C\",\"DC\",\"L\",\"qC\",\"M\",\"rC\",\"G\",\"sC\",\"QC\",\"RC\",\"EC\",\"tC\",\"FC\",\"SC\",\"TC\",\"UC\",\"VC\",\"WC\",\"uC\",\"GC\",\"XC\",\"YC\",\"ZC\",\"aC\",\"bC\",\"vC\",\"HC\",\"cC\",\"dC\",\"wC\",\"\"],E:\"Safari\",F:{lC:1205798400,OC:1226534400,J:1244419200,LB:1275868800,mC:1311120000,K:1343174400,nC:1382400000,D:1382400000,oC:1410998400,E:1413417600,F:1443657600,pC:1458518400,A:1474329600,PC:1490572800,B:1505779200,CC:1522281600,C:1537142400,DC:1553472000,L:1568851200,qC:1585008000,M:1600214400,rC:1619395200,G:1632096000,sC:1635292800,QC:1639353600,RC:1647216000,EC:1652745600,tC:1658275200,FC:1662940800,SC:1666569600,TC:1670889600,UC:1674432000,VC:1679875200,WC:1684368000,uC:1690156800,GC:1695686400,XC:1698192000,YC:1702252800,ZC:1705881600,aC:1709596800,bC:1715558400,vC:1722211200,HC:1726444800,cC:1730073600,dC:null,wC:null}},F:{A:{\"0\":0,\"1\":0,\"2\":0,\"3\":0,\"4\":0,F:0,B:0,C:0,G:0,N:0,O:0,P:0,MB:0,y:0,z:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0.003647,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0.014588,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,\"0B\":0,\"1B\":0,\"2B\":0,\"3B\":0,\"4B\":0,\"5B\":0,\"6B\":0,\"7B\":0,\"8B\":0,\"9B\":0,AC:0,Q:0,H:0,R:0,LC:0,S:0,T:0.018235,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0,c:0,d:0,e:0.03647,f:0,g:0,h:0,i:0,j:0,k:0,l:0.029176,m:0,n:0,o:0,p:0,q:0,r:0,s:0.018235,t:0,u:0.007294,v:0.495992,w:0.382935,x:0.003647,xC:0,yC:0,zC:0,\"0C\":0,CC:0,eC:0,\"1C\":0,DC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"F\",\"xC\",\"yC\",\"zC\",\"0C\",\"B\",\"CC\",\"eC\",\"1C\",\"C\",\"DC\",\"G\",\"N\",\"O\",\"P\",\"MB\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"mB\",\"nB\",\"oB\",\"pB\",\"qB\",\"rB\",\"sB\",\"tB\",\"uB\",\"vB\",\"wB\",\"xB\",\"yB\",\"zB\",\"0B\",\"1B\",\"2B\",\"3B\",\"4B\",\"5B\",\"6B\",\"7B\",\"8B\",\"9B\",\"AC\",\"Q\",\"H\",\"R\",\"LC\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"\",\"\",\"\"],E:\"Opera\",F:{\"0\":1401753600,\"1\":1405987200,\"2\":1409616000,\"3\":1413331200,\"4\":1417132800,F:1150761600,xC:1223424000,yC:1251763200,zC:1267488000,\"0C\":1277942400,B:1292457600,CC:1302566400,eC:1309219200,\"1C\":1323129600,C:1323129600,DC:1352073600,G:1372723200,N:1377561600,O:1381104000,P:1386288000,MB:1390867200,y:1393891200,z:1399334400,NB:1422316800,OB:1425945600,PB:1430179200,QB:1433808000,RB:1438646400,SB:1442448000,TB:1445904000,UB:1449100800,VB:1454371200,WB:1457308800,XB:1462320000,YB:1465344000,ZB:1470096000,aB:1474329600,bB:1477267200,cB:1481587200,dB:1486425600,eB:1490054400,fB:1494374400,gB:1498003200,hB:1502236800,iB:1506470400,jB:1510099200,kB:1515024000,lB:1517961600,mB:1521676800,nB:1525910400,oB:1530144000,pB:1534982400,qB:1537833600,rB:1543363200,sB:1548201600,tB:1554768000,uB:1561593600,vB:1566259200,wB:1570406400,xB:1573689600,yB:1578441600,zB:1583971200,\"0B\":1587513600,\"1B\":1592956800,\"2B\":1595894400,\"3B\":1600128000,\"4B\":1603238400,\"5B\":1613520000,\"6B\":1612224000,\"7B\":1616544000,\"8B\":1619568000,\"9B\":1623715200,AC:1627948800,Q:1631577600,H:1633392000,R:1635984000,LC:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800,i:1684195200,j:1687219200,k:1690329600,l:1692748800,m:1696204800,n:1699920000,o:1699920000,p:1702944000,q:1707264000,r:1710115200,s:1711497600,t:1716336000,u:1719273600,v:1721088000,w:1724284800,x:1727222400},D:{F:\"o\",B:\"o\",C:\"o\",xC:\"o\",yC:\"o\",zC:\"o\",\"0C\":\"o\",CC:\"o\",eC:\"o\",\"1C\":\"o\",DC:\"o\"}},G:{A:{E:0,OC:0,\"2C\":0,fC:0.00292873,\"3C\":0.00146437,\"4C\":0.0087862,\"5C\":0.0102506,\"6C\":0,\"7C\":0.0102506,\"8C\":0.0248942,\"9C\":0.00732183,AD:0.0424666,BD:0.156687,CD:0.0117149,DD:0.00732183,ED:0.177188,FD:0.00292873,GD:0.0556459,HD:0.00732183,ID:0.0292873,JD:0.102506,KD:0.0893264,LD:0.0512528,QC:0.0512528,RC:0.0571103,EC:0.0702896,MD:0.69411,FC:0.139115,SC:0.276765,TC:0.139115,UC:0.234299,VC:0.0497885,WC:0.0981126,ND:0.834689,GC:0.0702896,XC:0.111292,YC:0.101041,ZC:0.144972,aC:0.31191,bC:1.48926,OD:7.91637,HC:0.998698,cC:0.0453954,dC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"OC\",\"2C\",\"fC\",\"3C\",\"4C\",\"5C\",\"E\",\"6C\",\"7C\",\"8C\",\"9C\",\"AD\",\"BD\",\"CD\",\"DD\",\"ED\",\"FD\",\"GD\",\"HD\",\"ID\",\"JD\",\"KD\",\"LD\",\"QC\",\"RC\",\"EC\",\"MD\",\"FC\",\"SC\",\"TC\",\"UC\",\"VC\",\"WC\",\"ND\",\"GC\",\"XC\",\"YC\",\"ZC\",\"aC\",\"bC\",\"OD\",\"HC\",\"cC\",\"dC\",\"\",\"\"],E:\"Safari on iOS\",F:{OC:1270252800,\"2C\":1283904000,fC:1299628800,\"3C\":1331078400,\"4C\":1359331200,\"5C\":1394409600,E:1410912000,\"6C\":1413763200,\"7C\":1442361600,\"8C\":1458518400,\"9C\":1473724800,AD:1490572800,BD:1505779200,CD:1522281600,DD:1537142400,ED:1553472000,FD:1568851200,GD:1572220800,HD:1580169600,ID:1585008000,JD:1600214400,KD:1619395200,LD:1632096000,QC:1639353600,RC:1647216000,EC:1652659200,MD:1658275200,FC:1662940800,SC:1666569600,TC:1670889600,UC:1674432000,VC:1679875200,WC:1684368000,ND:1690156800,GC:1694995200,XC:1698192000,YC:1702252800,ZC:1705881600,aC:1709596800,bC:1715558400,OD:1722211200,HC:1726444800,cC:1730073600,dC:null}},H:{A:{PD:0.05},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"PD\",\"\",\"\",\"\"],E:\"Opera Mini\",F:{PD:1426464000}},I:{A:{IC:0,J:0,I:0.266132,QD:0,RD:0,SD:0,TD:0.0000266826,fC:0.00010673,UD:0,VD:0.000426922},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"QD\",\"RD\",\"SD\",\"IC\",\"J\",\"TD\",\"fC\",\"UD\",\"VD\",\"I\",\"\",\"\",\"\"],E:\"Android Browser\",F:{QD:1256515200,RD:1274313600,SD:1291593600,IC:1298332800,J:1318896000,TD:1341792000,fC:1374624000,UD:1386547200,VD:1401667200,I:1731369600}},J:{A:{D:0,A:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"D\",\"A\",\"\",\"\",\"\"],E:\"Blackberry Browser\",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,H:1.15072,CC:0,eC:0,DC:0},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"CC\",\"eC\",\"C\",\"DC\",\"H\",\"\",\"\",\"\"],E:\"Opera Mobile\",F:{A:1287100800,B:1300752000,CC:1314835200,eC:1318291200,C:1330300800,DC:1349740800,H:1709769600},D:{H:\"webkit\"}},L:{A:{I:43.6637},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"I\",\"\",\"\",\"\"],E:\"Chrome for Android\",F:{I:1731369600}},M:{A:{BC:0.343062},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"BC\",\"\",\"\",\"\"],E:\"Firefox for Android\",F:{BC:1730160000}},N:{A:{A:0,B:0},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE Mobile\",F:{A:1340150400,B:1353456000}},O:{A:{EC:1.23248},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"EC\",\"\",\"\",\"\"],E:\"UC Browser for Android\",F:{EC:1710115200},D:{EC:\"webkit\"}},P:{A:{\"0\":0.0434355,\"1\":0.0542944,\"2\":0.0651532,\"3\":0.206319,\"4\":1.86773,J:0.086871,y:0.0108589,z:0.0434355,WD:0.0108589,XD:0.0108589,YD:0.0325766,ZD:0,aD:0,PC:0,bD:0,cD:0,dD:0,eD:0,fD:0,FC:0,GC:0.0217177,HC:0,gD:0.0108589},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"J\",\"WD\",\"XD\",\"YD\",\"ZD\",\"aD\",\"PC\",\"bD\",\"cD\",\"dD\",\"eD\",\"fD\",\"FC\",\"GC\",\"HC\",\"gD\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"\",\"\",\"\"],E:\"Samsung Internet\",F:{\"0\":1689292800,\"1\":1697587200,\"2\":1711497600,\"3\":1715126400,\"4\":1717718400,J:1461024000,WD:1481846400,XD:1509408000,YD:1528329600,ZD:1546128000,aD:1554163200,PC:1567900800,bD:1582588800,cD:1593475200,dD:1605657600,eD:1618531200,fD:1629072000,FC:1640736000,GC:1651708800,HC:1659657600,gD:1667260800,y:1677369600,z:1684454400}},Q:{A:{hD:0.273179},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"hD\",\"\",\"\",\"\"],E:\"QQ Browser\",F:{hD:1710288000}},R:{A:{iD:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"iD\",\"\",\"\",\"\"],E:\"Baidu Browser\",F:{iD:1710201600}},S:{A:{jD:0.031765,kD:0},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"jD\",\"kD\",\"\",\"\",\"\"],E:\"KaiOS Browser\",F:{jD:1527811200,kD:1631664000}}};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/caniuse-lite/data/agents.js?"); + +/***/ }), + +/***/ "./node_modules/caniuse-lite/data/browserVersions.js": +/*!***********************************************************!*\ + !*** ./node_modules/caniuse-lite/data/browserVersions.js ***! + \***********************************************************/ +/***/ ((module) => { + +eval("module.exports={\"0\":\"22\",\"1\":\"23\",\"2\":\"24\",\"3\":\"25\",\"4\":\"26\",\"5\":\"115\",\"6\":\"116\",\"7\":\"117\",\"8\":\"118\",\"9\":\"119\",A:\"10\",B:\"11\",C:\"12\",D:\"7\",E:\"8\",F:\"9\",G:\"15\",H:\"80\",I:\"131\",J:\"4\",K:\"6\",L:\"13\",M:\"14\",N:\"16\",O:\"17\",P:\"18\",Q:\"79\",R:\"81\",S:\"83\",T:\"84\",U:\"85\",V:\"86\",W:\"87\",X:\"88\",Y:\"89\",Z:\"90\",a:\"91\",b:\"92\",c:\"93\",d:\"94\",e:\"95\",f:\"96\",g:\"97\",h:\"98\",i:\"99\",j:\"100\",k:\"101\",l:\"102\",m:\"103\",n:\"104\",o:\"105\",p:\"106\",q:\"107\",r:\"108\",s:\"109\",t:\"110\",u:\"111\",v:\"112\",w:\"113\",x:\"114\",y:\"20\",z:\"21\",AB:\"120\",BB:\"121\",CB:\"122\",DB:\"123\",EB:\"124\",FB:\"125\",GB:\"126\",HB:\"127\",IB:\"128\",JB:\"129\",KB:\"130\",LB:\"5\",MB:\"19\",NB:\"27\",OB:\"28\",PB:\"29\",QB:\"30\",RB:\"31\",SB:\"32\",TB:\"33\",UB:\"34\",VB:\"35\",WB:\"36\",XB:\"37\",YB:\"38\",ZB:\"39\",aB:\"40\",bB:\"41\",cB:\"42\",dB:\"43\",eB:\"44\",fB:\"45\",gB:\"46\",hB:\"47\",iB:\"48\",jB:\"49\",kB:\"50\",lB:\"51\",mB:\"52\",nB:\"53\",oB:\"54\",pB:\"55\",qB:\"56\",rB:\"57\",sB:\"58\",tB:\"60\",uB:\"62\",vB:\"63\",wB:\"64\",xB:\"65\",yB:\"66\",zB:\"67\",\"0B\":\"68\",\"1B\":\"69\",\"2B\":\"70\",\"3B\":\"71\",\"4B\":\"72\",\"5B\":\"73\",\"6B\":\"74\",\"7B\":\"75\",\"8B\":\"76\",\"9B\":\"77\",AC:\"78\",BC:\"132\",CC:\"11.1\",DC:\"12.1\",EC:\"15.5\",FC:\"16.0\",GC:\"17.0\",HC:\"18.0\",IC:\"3\",JC:\"59\",KC:\"61\",LC:\"82\",MC:\"133\",NC:\"134\",OC:\"3.2\",PC:\"10.1\",QC:\"15.2-15.3\",RC:\"15.4\",SC:\"16.1\",TC:\"16.2\",UC:\"16.3\",VC:\"16.4\",WC:\"16.5\",XC:\"17.1\",YC:\"17.2\",ZC:\"17.3\",aC:\"17.4\",bC:\"17.5\",cC:\"18.1\",dC:\"18.2\",eC:\"11.5\",fC:\"4.2-4.3\",gC:\"5.5\",hC:\"2\",iC:\"135\",jC:\"3.5\",kC:\"3.6\",lC:\"3.1\",mC:\"5.1\",nC:\"6.1\",oC:\"7.1\",pC:\"9.1\",qC:\"13.1\",rC:\"14.1\",sC:\"15.1\",tC:\"15.6\",uC:\"16.6\",vC:\"17.6\",wC:\"TP\",xC:\"9.5-9.6\",yC:\"10.0-10.1\",zC:\"10.5\",\"0C\":\"10.6\",\"1C\":\"11.6\",\"2C\":\"4.0-4.1\",\"3C\":\"5.0-5.1\",\"4C\":\"6.0-6.1\",\"5C\":\"7.0-7.1\",\"6C\":\"8.1-8.4\",\"7C\":\"9.0-9.2\",\"8C\":\"9.3\",\"9C\":\"10.0-10.2\",AD:\"10.3\",BD:\"11.0-11.2\",CD:\"11.3-11.4\",DD:\"12.0-12.1\",ED:\"12.2-12.5\",FD:\"13.0-13.1\",GD:\"13.2\",HD:\"13.3\",ID:\"13.4-13.7\",JD:\"14.0-14.4\",KD:\"14.5-14.8\",LD:\"15.0-15.1\",MD:\"15.6-15.8\",ND:\"16.6-16.7\",OD:\"17.6-17.7\",PD:\"all\",QD:\"2.1\",RD:\"2.2\",SD:\"2.3\",TD:\"4.1\",UD:\"4.4\",VD:\"4.4.3-4.4.4\",WD:\"5.0-5.4\",XD:\"6.2-6.4\",YD:\"7.2-7.4\",ZD:\"8.2\",aD:\"9.2\",bD:\"11.1-11.2\",cD:\"12.0\",dD:\"13.0\",eD:\"14.0\",fD:\"15.0\",gD:\"19.0\",hD:\"14.9\",iD:\"13.52\",jD:\"2.5\",kD:\"3.0-3.1\"};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/caniuse-lite/data/browserVersions.js?"); + +/***/ }), + +/***/ "./node_modules/caniuse-lite/data/browsers.js": +/*!****************************************************!*\ + !*** ./node_modules/caniuse-lite/data/browsers.js ***! + \****************************************************/ +/***/ ((module) => { + +eval("module.exports={A:\"ie\",B:\"edge\",C:\"firefox\",D:\"chrome\",E:\"safari\",F:\"opera\",G:\"ios_saf\",H:\"op_mini\",I:\"android\",J:\"bb\",K:\"op_mob\",L:\"and_chr\",M:\"and_ff\",N:\"ie_mob\",O:\"and_uc\",P:\"samsung\",Q:\"and_qq\",R:\"baidu\",S:\"kaios\"};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/caniuse-lite/data/browsers.js?"); + +/***/ }), + +/***/ "./node_modules/caniuse-lite/dist/unpacker/agents.js": +/*!***********************************************************!*\ + !*** ./node_modules/caniuse-lite/dist/unpacker/agents.js ***! + \***********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst browsers = (__webpack_require__(/*! ./browsers */ \"./node_modules/caniuse-lite/dist/unpacker/browsers.js\").browsers)\nconst versions = (__webpack_require__(/*! ./browserVersions */ \"./node_modules/caniuse-lite/dist/unpacker/browserVersions.js\").browserVersions)\nconst agentsData = __webpack_require__(/*! ../../data/agents */ \"./node_modules/caniuse-lite/data/agents.js\")\n\nfunction unpackBrowserVersions(versionsData) {\n return Object.keys(versionsData).reduce((usage, version) => {\n usage[versions[version]] = versionsData[version]\n return usage\n }, {})\n}\n\nmodule.exports.agents = Object.keys(agentsData).reduce((map, key) => {\n let versionsData = agentsData[key]\n map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => {\n if (entry === 'A') {\n data.usage_global = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'C') {\n data.versions = versionsData[entry].reduce((list, version) => {\n if (version === '') {\n list.push(null)\n } else {\n list.push(versions[version])\n }\n return list\n }, [])\n } else if (entry === 'D') {\n data.prefix_exceptions = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'E') {\n data.browser = versionsData[entry]\n } else if (entry === 'F') {\n data.release_date = Object.keys(versionsData[entry]).reduce(\n (map2, key2) => {\n map2[versions[key2]] = versionsData[entry][key2]\n return map2\n },\n {}\n )\n } else {\n // entry is B\n data.prefix = versionsData[entry]\n }\n return data\n }, {})\n return map\n}, {})\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/caniuse-lite/dist/unpacker/agents.js?"); + +/***/ }), + +/***/ "./node_modules/caniuse-lite/dist/unpacker/browserVersions.js": +/*!********************************************************************!*\ + !*** ./node_modules/caniuse-lite/dist/unpacker/browserVersions.js ***! + \********************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports.browserVersions = __webpack_require__(/*! ../../data/browserVersions */ \"./node_modules/caniuse-lite/data/browserVersions.js\")\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/caniuse-lite/dist/unpacker/browserVersions.js?"); + +/***/ }), + +/***/ "./node_modules/caniuse-lite/dist/unpacker/browsers.js": +/*!*************************************************************!*\ + !*** ./node_modules/caniuse-lite/dist/unpacker/browsers.js ***! + \*************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports.browsers = __webpack_require__(/*! ../../data/browsers */ \"./node_modules/caniuse-lite/data/browsers.js\")\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/caniuse-lite/dist/unpacker/browsers.js?"); + +/***/ }), + +/***/ "./node_modules/cipher-base/index.js": +/*!*******************************************!*\ + !*** ./node_modules/cipher-base/index.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\nvar Transform = (__webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\").Transform);\nvar StringDecoder = (__webpack_require__(/*! string_decoder */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nfunction CipherBase(hashMode) {\n\tTransform.call(this);\n\tthis.hashMode = typeof hashMode === 'string';\n\tif (this.hashMode) {\n\t\tthis[hashMode] = this._finalOrDigest;\n\t} else {\n\t\tthis['final'] = this._finalOrDigest;\n\t}\n\tif (this._final) {\n\t\tthis.__final = this._final;\n\t\tthis._final = null;\n\t}\n\tthis._decoder = null;\n\tthis._encoding = null;\n}\ninherits(CipherBase, Transform);\n\nvar useUint8Array = typeof Uint8Array !== 'undefined';\nvar useArrayBuffer = typeof ArrayBuffer !== 'undefined'\n\t&& typeof Uint8Array !== 'undefined'\n\t&& ArrayBuffer.isView\n\t&& (Buffer.prototype instanceof Uint8Array || Buffer.TYPED_ARRAY_SUPPORT);\n\nfunction toBuffer(data, encoding) {\n\t/*\n\t * No need to do anything for exact instance\n\t * This is only valid when safe-buffer.Buffer === buffer.Buffer, i.e. when Buffer.from/Buffer.alloc existed\n\t */\n\tif (data instanceof Buffer) {\n\t\treturn data;\n\t}\n\n\t// Convert strings to Buffer\n\tif (typeof data === 'string') {\n\t\treturn Buffer.from(data, encoding);\n\t}\n\n\t/*\n\t * Wrap any TypedArray instances and DataViews\n\t * Makes sense only on engines with full TypedArray support -- let Buffer detect that\n\t */\n\tif (useArrayBuffer && ArrayBuffer.isView(data)) {\n\t\t// Bug in Node.js <6.3.1, which treats this as out-of-bounds\n\t\tif (data.byteLength === 0) {\n\t\t\treturn Buffer.alloc(0);\n\t\t}\n\n\t\tvar res = Buffer.from(data.buffer, data.byteOffset, data.byteLength);\n\t\t/*\n\t\t * Recheck result size, as offset/length doesn't work on Node.js <5.10\n\t\t * We just go to Uint8Array case if this fails\n\t\t */\n\t\tif (res.byteLength === data.byteLength) {\n\t\t\treturn res;\n\t\t}\n\t}\n\n\t/*\n\t * Uint8Array in engines where Buffer.from might not work with ArrayBuffer, just copy over\n\t * Doesn't make sense with other TypedArray instances\n\t */\n\tif (useUint8Array && data instanceof Uint8Array) {\n\t\treturn Buffer.from(data);\n\t}\n\n\t/*\n\t * Old Buffer polyfill on an engine that doesn't have TypedArray support\n\t * Also, this is from a different Buffer polyfill implementation then we have, as instanceof check failed\n\t * Convert to our current Buffer implementation\n\t */\n\tif (\n\t\tBuffer.isBuffer(data)\n\t\t\t&& data.constructor\n\t\t\t&& typeof data.constructor.isBuffer === 'function'\n\t\t\t&& data.constructor.isBuffer(data)\n\t) {\n\t\treturn Buffer.from(data);\n\t}\n\n\tthrow new TypeError('The \"data\" argument must be of type string or an instance of Buffer, TypedArray, or DataView.');\n}\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n\tvar bufferData = toBuffer(data, inputEnc); // asserts correct input type\n\tvar outData = this._update(bufferData);\n\tif (this.hashMode) {\n\t\treturn this;\n\t}\n\n\tif (outputEnc) {\n\t\toutData = this._toString(outData, outputEnc);\n\t}\n\n\treturn outData;\n};\n\nCipherBase.prototype.setAutoPadding = function () {};\nCipherBase.prototype.getAuthTag = function () {\n\tthrow new Error('trying to get auth tag in unsupported state');\n};\n\nCipherBase.prototype.setAuthTag = function () {\n\tthrow new Error('trying to set auth tag in unsupported state');\n};\n\nCipherBase.prototype.setAAD = function () {\n\tthrow new Error('trying to set aad in unsupported state');\n};\n\nCipherBase.prototype._transform = function (data, _, next) {\n\tvar err;\n\ttry {\n\t\tif (this.hashMode) {\n\t\t\tthis._update(data);\n\t\t} else {\n\t\t\tthis.push(this._update(data));\n\t\t}\n\t} catch (e) {\n\t\terr = e;\n\t} finally {\n\t\tnext(err);\n\t}\n};\nCipherBase.prototype._flush = function (done) {\n\tvar err;\n\ttry {\n\t\tthis.push(this.__final());\n\t} catch (e) {\n\t\terr = e;\n\t}\n\n\tdone(err);\n};\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n\tvar outData = this.__final() || Buffer.alloc(0);\n\tif (outputEnc) {\n\t\toutData = this._toString(outData, outputEnc, true);\n\t}\n\treturn outData;\n};\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n\tif (!this._decoder) {\n\t\tthis._decoder = new StringDecoder(enc);\n\t\tthis._encoding = enc;\n\t}\n\n\tif (this._encoding !== enc) {\n\t\tthrow new Error('can’t switch encodings');\n\t}\n\n\tvar out = this._decoder.write(value);\n\tif (fin) {\n\t\tout += this._decoder.end();\n\t}\n\n\treturn out;\n};\n\nmodule.exports = CipherBase;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/cipher-base/index.js?"); + +/***/ }), + +/***/ "./node_modules/convert-source-map/index.js": +/*!**************************************************!*\ + !*** ./node_modules/convert-source-map/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"commentRegex\", ({\n get: function getCommentRegex () {\n // Groups: 1: media type, 2: MIME type, 3: charset, 4: encoding, 5: data.\n return /^\\s*?\\/[\\/\\*][@#]\\s+?sourceMappingURL=data:(((?:application|text)\\/json)(?:;charset=([^;,]+?)?)?)?(?:;(base64))?,(.*?)$/mg;\n }\n}));\n\n\nObject.defineProperty(exports, \"mapFileCommentRegex\", ({\n get: function getMapFileCommentRegex () {\n // Matches sourceMappingURL in either // or /* comment styles.\n return /(?:\\/\\/[@#][ \\t]+?sourceMappingURL=([^\\s'\"`]+?)[ \\t]*?$)|(?:\\/\\*[@#][ \\t]+sourceMappingURL=([^*]+?)[ \\t]*?(?:\\*\\/){1}[ \\t]*?$)/mg;\n }\n}));\n\nvar decodeBase64;\nif (typeof Buffer !== 'undefined') {\n if (typeof Buffer.from === 'function') {\n decodeBase64 = decodeBase64WithBufferFrom;\n } else {\n decodeBase64 = decodeBase64WithNewBuffer;\n }\n} else {\n decodeBase64 = decodeBase64WithAtob;\n}\n\nfunction decodeBase64WithBufferFrom(base64) {\n return Buffer.from(base64, 'base64').toString();\n}\n\nfunction decodeBase64WithNewBuffer(base64) {\n if (typeof value === 'number') {\n throw new TypeError('The value to decode must not be of type number.');\n }\n return new Buffer(base64, 'base64').toString();\n}\n\nfunction decodeBase64WithAtob(base64) {\n return decodeURIComponent(escape(atob(base64)));\n}\n\nfunction stripComment(sm) {\n return sm.split(',').pop();\n}\n\nfunction readFromFileMap(sm, read) {\n var r = exports.mapFileCommentRegex.exec(sm);\n // for some odd reason //# .. captures in 1 and /* .. */ in 2\n var filename = r[1] || r[2];\n\n try {\n var sm = read(filename);\n if (sm != null && typeof sm.catch === 'function') {\n return sm.catch(throwError);\n } else {\n return sm;\n }\n } catch (e) {\n throwError(e);\n }\n\n function throwError(e) {\n throw new Error('An error occurred while trying to read the map file at ' + filename + '\\n' + e.stack);\n }\n}\n\nfunction Converter (sm, opts) {\n opts = opts || {};\n\n if (opts.hasComment) {\n sm = stripComment(sm);\n }\n\n if (opts.encoding === 'base64') {\n sm = decodeBase64(sm);\n } else if (opts.encoding === 'uri') {\n sm = decodeURIComponent(sm);\n }\n\n if (opts.isJSON || opts.encoding) {\n sm = JSON.parse(sm);\n }\n\n this.sourcemap = sm;\n}\n\nConverter.prototype.toJSON = function (space) {\n return JSON.stringify(this.sourcemap, null, space);\n};\n\nif (typeof Buffer !== 'undefined') {\n if (typeof Buffer.from === 'function') {\n Converter.prototype.toBase64 = encodeBase64WithBufferFrom;\n } else {\n Converter.prototype.toBase64 = encodeBase64WithNewBuffer;\n }\n} else {\n Converter.prototype.toBase64 = encodeBase64WithBtoa;\n}\n\nfunction encodeBase64WithBufferFrom() {\n var json = this.toJSON();\n return Buffer.from(json, 'utf8').toString('base64');\n}\n\nfunction encodeBase64WithNewBuffer() {\n var json = this.toJSON();\n if (typeof json === 'number') {\n throw new TypeError('The json to encode must not be of type number.');\n }\n return new Buffer(json, 'utf8').toString('base64');\n}\n\nfunction encodeBase64WithBtoa() {\n var json = this.toJSON();\n return btoa(unescape(encodeURIComponent(json)));\n}\n\nConverter.prototype.toURI = function () {\n var json = this.toJSON();\n return encodeURIComponent(json);\n};\n\nConverter.prototype.toComment = function (options) {\n var encoding, content, data;\n if (options != null && options.encoding === 'uri') {\n encoding = '';\n content = this.toURI();\n } else {\n encoding = ';base64';\n content = this.toBase64();\n }\n data = 'sourceMappingURL=data:application/json;charset=utf-8' + encoding + ',' + content;\n return options != null && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;\n};\n\n// returns copy instead of original\nConverter.prototype.toObject = function () {\n return JSON.parse(this.toJSON());\n};\n\nConverter.prototype.addProperty = function (key, value) {\n if (this.sourcemap.hasOwnProperty(key)) throw new Error('property \"' + key + '\" already exists on the sourcemap, use set property instead');\n return this.setProperty(key, value);\n};\n\nConverter.prototype.setProperty = function (key, value) {\n this.sourcemap[key] = value;\n return this;\n};\n\nConverter.prototype.getProperty = function (key) {\n return this.sourcemap[key];\n};\n\nexports.fromObject = function (obj) {\n return new Converter(obj);\n};\n\nexports.fromJSON = function (json) {\n return new Converter(json, { isJSON: true });\n};\n\nexports.fromURI = function (uri) {\n return new Converter(uri, { encoding: 'uri' });\n};\n\nexports.fromBase64 = function (base64) {\n return new Converter(base64, { encoding: 'base64' });\n};\n\nexports.fromComment = function (comment) {\n var m, encoding;\n comment = comment\n .replace(/^\\/\\*/g, '//')\n .replace(/\\*\\/$/g, '');\n m = exports.commentRegex.exec(comment);\n encoding = m && m[4] || 'uri';\n return new Converter(comment, { encoding: encoding, hasComment: true });\n};\n\nfunction makeConverter(sm) {\n return new Converter(sm, { isJSON: true });\n}\n\nexports.fromMapFileComment = function (comment, read) {\n if (typeof read === 'string') {\n throw new Error(\n 'String directory paths are no longer supported with `fromMapFileComment`\\n' +\n 'Please review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading'\n )\n }\n\n var sm = readFromFileMap(comment, read);\n if (sm != null && typeof sm.then === 'function') {\n return sm.then(makeConverter);\n } else {\n return makeConverter(sm);\n }\n};\n\n// Finds last sourcemap comment in file or returns null if none was found\nexports.fromSource = function (content) {\n var m = content.match(exports.commentRegex);\n return m ? exports.fromComment(m.pop()) : null;\n};\n\n// Finds last sourcemap comment in file or returns null if none was found\nexports.fromMapFileSource = function (content, read) {\n if (typeof read === 'string') {\n throw new Error(\n 'String directory paths are no longer supported with `fromMapFileSource`\\n' +\n 'Please review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading'\n )\n }\n var m = content.match(exports.mapFileCommentRegex);\n return m ? exports.fromMapFileComment(m.pop(), read) : null;\n};\n\nexports.removeComments = function (src) {\n return src.replace(exports.commentRegex, '');\n};\n\nexports.removeMapFileComments = function (src) {\n return src.replace(exports.mapFileCommentRegex, '');\n};\n\nexports.generateMapFileComment = function (file, options) {\n var data = 'sourceMappingURL=' + file;\n return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/convert-source-map/index.js?"); + +/***/ }), + +/***/ "./node_modules/core-util-is/lib/util.js": +/*!***********************************************!*\ + !*** ./node_modules/core-util-is/lib/util.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/core-util-is/lib/util.js?"); + +/***/ }), + +/***/ "./node_modules/create-ecdh/browser.js": +/*!*********************************************!*\ + !*** ./node_modules/create-ecdh/browser.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var elliptic = __webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\")\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/create-ecdh/browser.js?"); + +/***/ }), + +/***/ "./node_modules/create-hash/browser.js": +/*!*********************************************!*\ + !*** ./node_modules/create-hash/browser.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ \"./node_modules/ripemd160/index.js\")\nvar sha = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\")\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/create-hash/browser.js?"); + +/***/ }), + +/***/ "./node_modules/create-hash/md5.js": +/*!*****************************************!*\ + !*** ./node_modules/create-hash/md5.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/create-hash/md5.js?"); + +/***/ }), + +/***/ "./node_modules/create-hmac/browser.js": +/*!*********************************************!*\ + !*** ./node_modules/create-hmac/browser.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Legacy = __webpack_require__(/*! ./legacy */ \"./node_modules/create-hmac/legacy.js\")\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar md5 = __webpack_require__(/*! create-hash/md5 */ \"./node_modules/create-hash/md5.js\")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ \"./node_modules/ripemd160/index.js\")\n\nvar sha = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\")\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/create-hmac/browser.js?"); + +/***/ }), + +/***/ "./node_modules/create-hmac/legacy.js": +/*!********************************************!*\ + !*** ./node_modules/create-hmac/legacy.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/create-hmac/legacy.js?"); + +/***/ }), + +/***/ "./node_modules/crypto-browserify/index.js": +/*!*************************************************!*\ + !*** ./node_modules/crypto-browserify/index.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\n// eslint-disable-next-line no-multi-assign\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\n\n// eslint-disable-next-line no-multi-assign\nexports.createHash = exports.Hash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\");\n\n// eslint-disable-next-line no-multi-assign\nexports.createHmac = exports.Hmac = __webpack_require__(/*! create-hmac */ \"./node_modules/create-hmac/browser.js\");\n\nvar algos = __webpack_require__(/*! browserify-sign/algos */ \"./node_modules/browserify-sign/algos.js\");\nvar algoKeys = Object.keys(algos);\nvar hashes = [\n\t'sha1',\n\t'sha224',\n\t'sha256',\n\t'sha384',\n\t'sha512',\n\t'md5',\n\t'rmd160'\n].concat(algoKeys);\n\nexports.getHashes = function () {\n\treturn hashes;\n};\n\nvar p = __webpack_require__(/*! pbkdf2 */ \"./node_modules/pbkdf2/browser.js\");\nexports.pbkdf2 = p.pbkdf2;\nexports.pbkdf2Sync = p.pbkdf2Sync;\n\nvar aes = __webpack_require__(/*! browserify-cipher */ \"./node_modules/browserify-cipher/browser.js\");\n\nexports.Cipher = aes.Cipher;\nexports.createCipher = aes.createCipher;\nexports.Cipheriv = aes.Cipheriv;\nexports.createCipheriv = aes.createCipheriv;\nexports.Decipher = aes.Decipher;\nexports.createDecipher = aes.createDecipher;\nexports.Decipheriv = aes.Decipheriv;\nexports.createDecipheriv = aes.createDecipheriv;\nexports.getCiphers = aes.getCiphers;\nexports.listCiphers = aes.listCiphers;\n\nvar dh = __webpack_require__(/*! diffie-hellman */ \"./node_modules/diffie-hellman/browser.js\");\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup;\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup;\nexports.getDiffieHellman = dh.getDiffieHellman;\nexports.createDiffieHellman = dh.createDiffieHellman;\nexports.DiffieHellman = dh.DiffieHellman;\n\nvar sign = __webpack_require__(/*! browserify-sign */ \"./node_modules/browserify-sign/browser/index.js\");\n\nexports.createSign = sign.createSign;\nexports.Sign = sign.Sign;\nexports.createVerify = sign.createVerify;\nexports.Verify = sign.Verify;\n\nexports.createECDH = __webpack_require__(/*! create-ecdh */ \"./node_modules/create-ecdh/browser.js\");\n\nvar publicEncrypt = __webpack_require__(/*! public-encrypt */ \"./node_modules/public-encrypt/browser.js\");\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt;\nexports.privateEncrypt = publicEncrypt.privateEncrypt;\nexports.publicDecrypt = publicEncrypt.publicDecrypt;\nexports.privateDecrypt = publicEncrypt.privateDecrypt;\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// [\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error('sorry, ' + name + ' is not implemented yet\\nwe accept pull requests\\nhttps://github.com/browserify/crypto-browserify');\n// };\n// });\n\nvar rf = __webpack_require__(/*! randomfill */ \"./node_modules/randomfill/browser.js\");\n\nexports.randomFill = rf.randomFill;\nexports.randomFillSync = rf.randomFillSync;\n\nexports.createCredentials = function () {\n\tthrow new Error('sorry, createCredentials is not implemented yet\\nwe accept pull requests\\nhttps://github.com/browserify/crypto-browserify');\n};\n\nexports.constants = {\n\tDH_CHECK_P_NOT_SAFE_PRIME: 2,\n\tDH_CHECK_P_NOT_PRIME: 1,\n\tDH_UNABLE_TO_CHECK_GENERATOR: 4,\n\tDH_NOT_SUITABLE_GENERATOR: 8,\n\tNPN_ENABLED: 1,\n\tALPN_ENABLED: 1,\n\tRSA_PKCS1_PADDING: 1,\n\tRSA_SSLV23_PADDING: 2,\n\tRSA_NO_PADDING: 3,\n\tRSA_PKCS1_OAEP_PADDING: 4,\n\tRSA_X931_PADDING: 5,\n\tRSA_PKCS1_PSS_PADDING: 6,\n\tPOINT_CONVERSION_COMPRESSED: 2,\n\tPOINT_CONVERSION_UNCOMPRESSED: 4,\n\tPOINT_CONVERSION_HYBRID: 6\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/crypto-browserify/index.js?"); + +/***/ }), + +/***/ "./node_modules/debug/src/browser.js": +/*!*******************************************!*\ + !*** ./node_modules/debug/src/browser.js ***! + \*******************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = __webpack_require__(/*! ./common */ \"./node_modules/debug/src/common.js\")(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/debug/src/browser.js?"); + +/***/ }), + +/***/ "./node_modules/debug/src/common.js": +/*!******************************************!*\ + !*** ./node_modules/debug/src/common.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = __webpack_require__(/*! ms */ \"./node_modules/ms/index.js\");\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/debug/src/common.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des.js": +/*!****************************************!*\ + !*** ./node_modules/des.js/lib/des.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nexports.utils = __webpack_require__(/*! ./des/utils */ \"./node_modules/des.js/lib/des/utils.js\");\nexports.Cipher = __webpack_require__(/*! ./des/cipher */ \"./node_modules/des.js/lib/des/cipher.js\");\nexports.DES = __webpack_require__(/*! ./des/des */ \"./node_modules/des.js/lib/des/des.js\");\nexports.CBC = __webpack_require__(/*! ./des/cbc */ \"./node_modules/des.js/lib/des/cbc.js\");\nexports.EDE = __webpack_require__(/*! ./des/ede */ \"./node_modules/des.js/lib/des/ede.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/des.js/lib/des.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/cbc.js": +/*!********************************************!*\ + !*** ./node_modules/des.js/lib/des/cbc.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/des.js/lib/des/cbc.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/cipher.js": +/*!***********************************************!*\ + !*** ./node_modules/des.js/lib/des/cipher.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n this.padding = options.padding !== false\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/des.js/lib/des/cipher.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/des.js": +/*!********************************************!*\ + !*** ./node_modules/des.js/lib/des/des.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/des.js/lib/des/utils.js\");\nvar Cipher = __webpack_require__(/*! ./cipher */ \"./node_modules/des.js/lib/des/cipher.js\");\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n if (this.padding === false) {\n return false;\n }\n\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n if (this.padding === false) {\n return buffer;\n }\n\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/des.js/lib/des/des.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/ede.js": +/*!********************************************!*\ + !*** ./node_modules/des.js/lib/des/ede.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar Cipher = __webpack_require__(/*! ./cipher */ \"./node_modules/des.js/lib/des/cipher.js\");\nvar DES = __webpack_require__(/*! ./des */ \"./node_modules/des.js/lib/des/des.js\");\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/des.js/lib/des/ede.js?"); + +/***/ }), + +/***/ "./node_modules/des.js/lib/des/utils.js": +/*!**********************************************!*\ + !*** ./node_modules/des.js/lib/des/utils.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/des.js/lib/des/utils.js?"); + +/***/ }), + +/***/ "./node_modules/diffie-hellman/browser.js": +/*!************************************************!*\ + !*** ./node_modules/diffie-hellman/browser.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var generatePrime = __webpack_require__(/*! ./lib/generatePrime */ \"./node_modules/diffie-hellman/lib/generatePrime.js\")\nvar primes = __webpack_require__(/*! ./lib/primes.json */ \"./node_modules/diffie-hellman/lib/primes.json\")\n\nvar DH = __webpack_require__(/*! ./lib/dh */ \"./node_modules/diffie-hellman/lib/dh.js\")\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/diffie-hellman/browser.js?"); + +/***/ }), + +/***/ "./node_modules/diffie-hellman/lib/dh.js": +/*!***********************************************!*\ + !*** ./node_modules/diffie-hellman/lib/dh.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar MillerRabin = __webpack_require__(/*! miller-rabin */ \"./node_modules/miller-rabin/lib/mr.js\");\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = __webpack_require__(/*! ./generatePrime */ \"./node_modules/diffie-hellman/lib/generatePrime.js\");\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/diffie-hellman/lib/dh.js?"); + +/***/ }), + +/***/ "./node_modules/diffie-hellman/lib/generatePrime.js": +/*!**********************************************************!*\ + !*** ./node_modules/diffie-hellman/lib/generatePrime.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = __webpack_require__(/*! miller-rabin */ \"./node_modules/miller-rabin/lib/mr.js\");\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/diffie-hellman/lib/generatePrime.js?"); + +/***/ }), + +/***/ "./node_modules/electron-to-chromium/versions.js": +/*!*******************************************************!*\ + !*** ./node_modules/electron-to-chromium/versions.js ***! + \*******************************************************/ +/***/ ((module) => { + +eval("module.exports = {\n\t\"0.20\": \"39\",\n\t\"0.21\": \"41\",\n\t\"0.22\": \"41\",\n\t\"0.23\": \"41\",\n\t\"0.24\": \"41\",\n\t\"0.25\": \"42\",\n\t\"0.26\": \"42\",\n\t\"0.27\": \"43\",\n\t\"0.28\": \"43\",\n\t\"0.29\": \"43\",\n\t\"0.30\": \"44\",\n\t\"0.31\": \"45\",\n\t\"0.32\": \"45\",\n\t\"0.33\": \"45\",\n\t\"0.34\": \"45\",\n\t\"0.35\": \"45\",\n\t\"0.36\": \"47\",\n\t\"0.37\": \"49\",\n\t\"1.0\": \"49\",\n\t\"1.1\": \"50\",\n\t\"1.2\": \"51\",\n\t\"1.3\": \"52\",\n\t\"1.4\": \"53\",\n\t\"1.5\": \"54\",\n\t\"1.6\": \"56\",\n\t\"1.7\": \"58\",\n\t\"1.8\": \"59\",\n\t\"2.0\": \"61\",\n\t\"2.1\": \"61\",\n\t\"3.0\": \"66\",\n\t\"3.1\": \"66\",\n\t\"4.0\": \"69\",\n\t\"4.1\": \"69\",\n\t\"4.2\": \"69\",\n\t\"5.0\": \"73\",\n\t\"6.0\": \"76\",\n\t\"6.1\": \"76\",\n\t\"7.0\": \"78\",\n\t\"7.1\": \"78\",\n\t\"7.2\": \"78\",\n\t\"7.3\": \"78\",\n\t\"8.0\": \"80\",\n\t\"8.1\": \"80\",\n\t\"8.2\": \"80\",\n\t\"8.3\": \"80\",\n\t\"8.4\": \"80\",\n\t\"8.5\": \"80\",\n\t\"9.0\": \"83\",\n\t\"9.1\": \"83\",\n\t\"9.2\": \"83\",\n\t\"9.3\": \"83\",\n\t\"9.4\": \"83\",\n\t\"10.0\": \"85\",\n\t\"10.1\": \"85\",\n\t\"10.2\": \"85\",\n\t\"10.3\": \"85\",\n\t\"10.4\": \"85\",\n\t\"11.0\": \"87\",\n\t\"11.1\": \"87\",\n\t\"11.2\": \"87\",\n\t\"11.3\": \"87\",\n\t\"11.4\": \"87\",\n\t\"11.5\": \"87\",\n\t\"12.0\": \"89\",\n\t\"12.1\": \"89\",\n\t\"12.2\": \"89\",\n\t\"13.0\": \"91\",\n\t\"13.1\": \"91\",\n\t\"13.2\": \"91\",\n\t\"13.3\": \"91\",\n\t\"13.4\": \"91\",\n\t\"13.5\": \"91\",\n\t\"13.6\": \"91\",\n\t\"14.0\": \"93\",\n\t\"14.1\": \"93\",\n\t\"14.2\": \"93\",\n\t\"15.0\": \"94\",\n\t\"15.1\": \"94\",\n\t\"15.2\": \"94\",\n\t\"15.3\": \"94\",\n\t\"15.4\": \"94\",\n\t\"15.5\": \"94\",\n\t\"16.0\": \"96\",\n\t\"16.1\": \"96\",\n\t\"16.2\": \"96\",\n\t\"17.0\": \"98\",\n\t\"17.1\": \"98\",\n\t\"17.2\": \"98\",\n\t\"17.3\": \"98\",\n\t\"17.4\": \"98\",\n\t\"18.0\": \"100\",\n\t\"18.1\": \"100\",\n\t\"18.2\": \"100\",\n\t\"18.3\": \"100\",\n\t\"19.0\": \"102\",\n\t\"19.1\": \"102\",\n\t\"20.0\": \"104\",\n\t\"20.1\": \"104\",\n\t\"20.2\": \"104\",\n\t\"20.3\": \"104\",\n\t\"21.0\": \"106\",\n\t\"21.1\": \"106\",\n\t\"21.2\": \"106\",\n\t\"21.3\": \"106\",\n\t\"21.4\": \"106\",\n\t\"22.0\": \"108\",\n\t\"22.1\": \"108\",\n\t\"22.2\": \"108\",\n\t\"22.3\": \"108\",\n\t\"23.0\": \"110\",\n\t\"23.1\": \"110\",\n\t\"23.2\": \"110\",\n\t\"23.3\": \"110\",\n\t\"24.0\": \"112\",\n\t\"24.1\": \"112\",\n\t\"24.2\": \"112\",\n\t\"24.3\": \"112\",\n\t\"24.4\": \"112\",\n\t\"24.5\": \"112\",\n\t\"24.6\": \"112\",\n\t\"24.7\": \"112\",\n\t\"24.8\": \"112\",\n\t\"25.0\": \"114\",\n\t\"25.1\": \"114\",\n\t\"25.2\": \"114\",\n\t\"25.3\": \"114\",\n\t\"25.4\": \"114\",\n\t\"25.5\": \"114\",\n\t\"25.6\": \"114\",\n\t\"25.7\": \"114\",\n\t\"25.8\": \"114\",\n\t\"25.9\": \"114\",\n\t\"26.0\": \"116\",\n\t\"26.1\": \"116\",\n\t\"26.2\": \"116\",\n\t\"26.3\": \"116\",\n\t\"26.4\": \"116\",\n\t\"26.5\": \"116\",\n\t\"26.6\": \"116\",\n\t\"27.0\": \"118\",\n\t\"27.1\": \"118\",\n\t\"27.2\": \"118\",\n\t\"27.3\": \"118\",\n\t\"28.0\": \"120\",\n\t\"28.1\": \"120\",\n\t\"28.2\": \"120\",\n\t\"28.3\": \"120\",\n\t\"29.0\": \"122\",\n\t\"29.1\": \"122\",\n\t\"29.2\": \"122\",\n\t\"29.3\": \"122\",\n\t\"29.4\": \"122\",\n\t\"30.0\": \"124\",\n\t\"30.1\": \"124\",\n\t\"30.2\": \"124\",\n\t\"30.3\": \"124\",\n\t\"30.4\": \"124\",\n\t\"30.5\": \"124\",\n\t\"31.0\": \"126\",\n\t\"31.1\": \"126\",\n\t\"31.2\": \"126\",\n\t\"31.3\": \"126\",\n\t\"31.4\": \"126\",\n\t\"31.5\": \"126\",\n\t\"31.6\": \"126\",\n\t\"31.7\": \"126\",\n\t\"32.0\": \"128\",\n\t\"32.1\": \"128\",\n\t\"32.2\": \"128\",\n\t\"33.0\": \"130\",\n\t\"33.1\": \"130\",\n\t\"33.2\": \"130\",\n\t\"34.0\": \"132\"\n};\n\n//# sourceURL=webpack://instrumenter/./node_modules/electron-to-chromium/versions.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic.js": +/*!***********************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar elliptic = exports;\n\nelliptic.version = (__webpack_require__(/*! ../package.json */ \"./node_modules/elliptic/package.json\").version);\nelliptic.utils = __webpack_require__(/*! ./elliptic/utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nelliptic.rand = __webpack_require__(/*! brorand */ \"./node_modules/brorand/index.js\");\nelliptic.curve = __webpack_require__(/*! ./elliptic/curve */ \"./node_modules/elliptic/lib/elliptic/curve/index.js\");\nelliptic.curves = __webpack_require__(/*! ./elliptic/curves */ \"./node_modules/elliptic/lib/elliptic/curves.js\");\n\n// Protocols\nelliptic.ec = __webpack_require__(/*! ./elliptic/ec */ \"./node_modules/elliptic/lib/elliptic/ec/index.js\");\nelliptic.eddsa = __webpack_require__(/*! ./elliptic/eddsa */ \"./node_modules/elliptic/lib/elliptic/eddsa/index.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/curve/base.js": +/*!**********************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/curve/base.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/curve/base.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/curve/edwards.js": +/*!*************************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/curve/edwards.js ***! + \*************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Base = __webpack_require__(/*! ./base */ \"./node_modules/elliptic/lib/elliptic/curve/base.js\");\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/curve/edwards.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/curve/index.js": +/*!***********************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/curve/index.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar curve = exports;\n\ncurve.base = __webpack_require__(/*! ./base */ \"./node_modules/elliptic/lib/elliptic/curve/base.js\");\ncurve.short = __webpack_require__(/*! ./short */ \"./node_modules/elliptic/lib/elliptic/curve/short.js\");\ncurve.mont = __webpack_require__(/*! ./mont */ \"./node_modules/elliptic/lib/elliptic/curve/mont.js\");\ncurve.edwards = __webpack_require__(/*! ./edwards */ \"./node_modules/elliptic/lib/elliptic/curve/edwards.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/curve/index.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/curve/mont.js": +/*!**********************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/curve/mont.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Base = __webpack_require__(/*! ./base */ \"./node_modules/elliptic/lib/elliptic/curve/base.js\");\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/curve/mont.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/curve/short.js": +/*!***********************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/curve/short.js ***! + \***********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Base = __webpack_require__(/*! ./base */ \"./node_modules/elliptic/lib/elliptic/curve/base.js\");\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/curve/short.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/curves.js": +/*!******************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/curves.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar curves = exports;\n\nvar hash = __webpack_require__(/*! hash.js */ \"./node_modules/hash.js/lib/hash.js\");\nvar curve = __webpack_require__(/*! ./curve */ \"./node_modules/elliptic/lib/elliptic/curve/index.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = __webpack_require__(/*! ./precomputed/secp256k1 */ \"./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\");\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/curves.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/ec/index.js": +/*!********************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/ec/index.js ***! + \********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar HmacDRBG = __webpack_require__(/*! hmac-drbg */ \"./node_modules/hmac-drbg/lib/hmac-drbg.js\");\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar curves = __webpack_require__(/*! ../curves */ \"./node_modules/elliptic/lib/elliptic/curves.js\");\nvar rand = __webpack_require__(/*! brorand */ \"./node_modules/brorand/index.js\");\nvar assert = utils.assert;\n\nvar KeyPair = __webpack_require__(/*! ./key */ \"./node_modules/elliptic/lib/elliptic/ec/key.js\");\nvar Signature = __webpack_require__(/*! ./signature */ \"./node_modules/elliptic/lib/elliptic/ec/signature.js\");\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly, bitLength) {\n var byteLength;\n if (BN.isBN(msg) || typeof msg === 'number') {\n msg = new BN(msg, 16);\n byteLength = msg.byteLength();\n } else if (typeof msg === 'object') {\n // BN assumes an array-like input and asserts length\n byteLength = msg.length;\n msg = new BN(msg, 16);\n } else {\n // BN converts the value to string\n var str = msg.toString();\n // HEX encoding\n byteLength = (str.length + 1) >>> 1;\n msg = new BN(str, 16);\n }\n // Allow overriding\n if (typeof bitLength !== 'number') {\n bitLength = byteLength * 8;\n }\n var delta = bitLength - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n if (typeof msg !== 'string' && typeof msg !== 'number' && !BN.isBN(msg)) {\n assert(typeof msg === 'object' && msg && typeof msg.length === 'number',\n 'Expected message to be an array-like, a hex string, or a BN instance');\n assert((msg.length >>> 0) === msg.length); // non-negative 32-bit integer\n for (var i = 0; i < msg.length; i++) assert((msg[i] & 255) === msg[i]);\n }\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(msg, false, options.msgBitLength);\n\n // Would fail further checks, but let's make the error message clear\n assert(!msg.isNeg(), 'Can not sign a negative message');\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Recheck nonce to be bijective to msg\n assert((new BN(nonce)).eq(msg), 'Can not sign message');\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc, options) {\n if (!options)\n options = {};\n\n msg = this._truncateToN(msg, false, options.msgBitLength);\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/ec/index.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/ec/key.js": +/*!******************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/ec/key.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature, options) {\n return this.ec.verify(msg, signature, this, undefined, options);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/ec/key.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/ec/signature.js": +/*!************************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/ec/signature.js ***! + \************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n if(buf[p.place] === 0x00) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/ec/signature.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/eddsa/index.js": +/*!***********************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/eddsa/index.js ***! + \***********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar hash = __webpack_require__(/*! hash.js */ \"./node_modules/hash.js/lib/hash.js\");\nvar curves = __webpack_require__(/*! ../curves */ \"./node_modules/elliptic/lib/elliptic/curves.js\");\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = __webpack_require__(/*! ./key */ \"./node_modules/elliptic/lib/elliptic/eddsa/key.js\");\nvar Signature = __webpack_require__(/*! ./signature */ \"./node_modules/elliptic/lib/elliptic/eddsa/signature.js\");\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n if (sig.S().gte(sig.eddsa.curve.n) || sig.S().isNeg()) {\n return false;\n }\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/eddsa/index.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/eddsa/key.js": +/*!*********************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/eddsa/key.js ***! + \*********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/eddsa/key.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/eddsa/signature.js": +/*!***************************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/eddsa/signature.js ***! + \***************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n assert(sig.length === eddsa.encodingLength * 2, 'Signature has invalid size');\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/eddsa/signature.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js": +/*!*********************************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js ***! + \*********************************************************************/ +/***/ ((module) => { + +eval("module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js?"); + +/***/ }), + +/***/ "./node_modules/elliptic/lib/elliptic/utils.js": +/*!*****************************************************!*\ + !*** ./node_modules/elliptic/lib/elliptic/utils.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = exports;\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar minAssert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar minUtils = __webpack_require__(/*! minimalistic-crypto-utils */ \"./node_modules/minimalistic-crypto-utils/lib/utils.js\");\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n var i;\n for (i = 0; i < naf.length; i += 1) {\n naf[i] = 0;\n }\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/lib/elliptic/utils.js?"); + +/***/ }), + +/***/ "./node_modules/events/events.js": +/*!***************************************!*\ + !*** ./node_modules/events/events.js ***! + \***************************************/ +/***/ ((module) => { + +"use strict"; +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/events/events.js?"); + +/***/ }), + +/***/ "./node_modules/evp_bytestokey/index.js": +/*!**********************************************!*\ + !*** ./node_modules/evp_bytestokey/index.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/evp_bytestokey/index.js?"); + +/***/ }), + +/***/ "./node_modules/gensync/index.js": +/*!***************************************!*\ + !*** ./node_modules/gensync/index.js ***! + \***************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n// These use the global symbol registry so that multiple copies of this\n// library can work together in case they are not deduped.\nconst GENSYNC_START = Symbol.for(\"gensync:v1:start\");\nconst GENSYNC_SUSPEND = Symbol.for(\"gensync:v1:suspend\");\n\nconst GENSYNC_EXPECTED_START = \"GENSYNC_EXPECTED_START\";\nconst GENSYNC_EXPECTED_SUSPEND = \"GENSYNC_EXPECTED_SUSPEND\";\nconst GENSYNC_OPTIONS_ERROR = \"GENSYNC_OPTIONS_ERROR\";\nconst GENSYNC_RACE_NONEMPTY = \"GENSYNC_RACE_NONEMPTY\";\nconst GENSYNC_ERRBACK_NO_CALLBACK = \"GENSYNC_ERRBACK_NO_CALLBACK\";\n\nmodule.exports = Object.assign(\n function gensync(optsOrFn) {\n let genFn = optsOrFn;\n if (typeof optsOrFn !== \"function\") {\n genFn = newGenerator(optsOrFn);\n } else {\n genFn = wrapGenerator(optsOrFn);\n }\n\n return Object.assign(genFn, makeFunctionAPI(genFn));\n },\n {\n all: buildOperation({\n name: \"all\",\n arity: 1,\n sync: function(args) {\n const items = Array.from(args[0]);\n return items.map(item => evaluateSync(item));\n },\n async: function(args, resolve, reject) {\n const items = Array.from(args[0]);\n\n if (items.length === 0) {\n Promise.resolve().then(() => resolve([]));\n return;\n }\n\n let count = 0;\n const results = items.map(() => undefined);\n items.forEach((item, i) => {\n evaluateAsync(\n item,\n val => {\n results[i] = val;\n count += 1;\n\n if (count === results.length) resolve(results);\n },\n reject\n );\n });\n },\n }),\n race: buildOperation({\n name: \"race\",\n arity: 1,\n sync: function(args) {\n const items = Array.from(args[0]);\n if (items.length === 0) {\n throw makeError(\"Must race at least 1 item\", GENSYNC_RACE_NONEMPTY);\n }\n\n return evaluateSync(items[0]);\n },\n async: function(args, resolve, reject) {\n const items = Array.from(args[0]);\n if (items.length === 0) {\n throw makeError(\"Must race at least 1 item\", GENSYNC_RACE_NONEMPTY);\n }\n\n for (const item of items) {\n evaluateAsync(item, resolve, reject);\n }\n },\n }),\n }\n);\n\n/**\n * Given a generator function, return the standard API object that executes\n * the generator and calls the callbacks.\n */\nfunction makeFunctionAPI(genFn) {\n const fns = {\n sync: function(...args) {\n return evaluateSync(genFn.apply(this, args));\n },\n async: function(...args) {\n return new Promise((resolve, reject) => {\n evaluateAsync(genFn.apply(this, args), resolve, reject);\n });\n },\n errback: function(...args) {\n const cb = args.pop();\n if (typeof cb !== \"function\") {\n throw makeError(\n \"Asynchronous function called without callback\",\n GENSYNC_ERRBACK_NO_CALLBACK\n );\n }\n\n let gen;\n try {\n gen = genFn.apply(this, args);\n } catch (err) {\n cb(err);\n return;\n }\n\n evaluateAsync(gen, val => cb(undefined, val), err => cb(err));\n },\n };\n return fns;\n}\n\nfunction assertTypeof(type, name, value, allowUndefined) {\n if (\n typeof value === type ||\n (allowUndefined && typeof value === \"undefined\")\n ) {\n return;\n }\n\n let msg;\n if (allowUndefined) {\n msg = `Expected opts.${name} to be either a ${type}, or undefined.`;\n } else {\n msg = `Expected opts.${name} to be a ${type}.`;\n }\n\n throw makeError(msg, GENSYNC_OPTIONS_ERROR);\n}\nfunction makeError(msg, code) {\n return Object.assign(new Error(msg), { code });\n}\n\n/**\n * Given an options object, return a new generator that dispatches the\n * correct handler based on sync or async execution.\n */\nfunction newGenerator({ name, arity, sync, async, errback }) {\n assertTypeof(\"string\", \"name\", name, true /* allowUndefined */);\n assertTypeof(\"number\", \"arity\", arity, true /* allowUndefined */);\n assertTypeof(\"function\", \"sync\", sync);\n assertTypeof(\"function\", \"async\", async, true /* allowUndefined */);\n assertTypeof(\"function\", \"errback\", errback, true /* allowUndefined */);\n if (async && errback) {\n throw makeError(\n \"Expected one of either opts.async or opts.errback, but got _both_.\",\n GENSYNC_OPTIONS_ERROR\n );\n }\n\n if (typeof name !== \"string\") {\n let fnName;\n if (errback && errback.name && errback.name !== \"errback\") {\n fnName = errback.name;\n }\n if (async && async.name && async.name !== \"async\") {\n fnName = async.name.replace(/Async$/, \"\");\n }\n if (sync && sync.name && sync.name !== \"sync\") {\n fnName = sync.name.replace(/Sync$/, \"\");\n }\n\n if (typeof fnName === \"string\") {\n name = fnName;\n }\n }\n\n if (typeof arity !== \"number\") {\n arity = sync.length;\n }\n\n return buildOperation({\n name,\n arity,\n sync: function(args) {\n return sync.apply(this, args);\n },\n async: function(args, resolve, reject) {\n if (async) {\n async.apply(this, args).then(resolve, reject);\n } else if (errback) {\n errback.call(this, ...args, (err, value) => {\n if (err == null) resolve(value);\n else reject(err);\n });\n } else {\n resolve(sync.apply(this, args));\n }\n },\n });\n}\n\nfunction wrapGenerator(genFn) {\n return setFunctionMetadata(genFn.name, genFn.length, function(...args) {\n return genFn.apply(this, args);\n });\n}\n\nfunction buildOperation({ name, arity, sync, async }) {\n return setFunctionMetadata(name, arity, function*(...args) {\n const resume = yield GENSYNC_START;\n if (!resume) {\n // Break the tail call to avoid a bug in V8 v6.X with --harmony enabled.\n const res = sync.call(this, args);\n return res;\n }\n\n let result;\n try {\n async.call(\n this,\n args,\n value => {\n if (result) return;\n\n result = { value };\n resume();\n },\n err => {\n if (result) return;\n\n result = { err };\n resume();\n }\n );\n } catch (err) {\n result = { err };\n resume();\n }\n\n // Suspend until the callbacks run. Will resume synchronously if the\n // callback was already called.\n yield GENSYNC_SUSPEND;\n\n if (result.hasOwnProperty(\"err\")) {\n throw result.err;\n }\n\n return result.value;\n });\n}\n\nfunction evaluateSync(gen) {\n let value;\n while (!({ value } = gen.next()).done) {\n assertStart(value, gen);\n }\n return value;\n}\n\nfunction evaluateAsync(gen, resolve, reject) {\n (function step() {\n try {\n let value;\n while (!({ value } = gen.next()).done) {\n assertStart(value, gen);\n\n // If this throws, it is considered to have broken the contract\n // established for async handlers. If these handlers are called\n // synchronously, it is also considered bad behavior.\n let sync = true;\n let didSyncResume = false;\n const out = gen.next(() => {\n if (sync) {\n didSyncResume = true;\n } else {\n step();\n }\n });\n sync = false;\n\n assertSuspend(out, gen);\n\n if (!didSyncResume) {\n // Callback wasn't called synchronously, so break out of the loop\n // and let it call 'step' later.\n return;\n }\n }\n\n return resolve(value);\n } catch (err) {\n return reject(err);\n }\n })();\n}\n\nfunction assertStart(value, gen) {\n if (value === GENSYNC_START) return;\n\n throwError(\n gen,\n makeError(\n `Got unexpected yielded value in gensync generator: ${JSON.stringify(\n value\n )}. Did you perhaps mean to use 'yield*' instead of 'yield'?`,\n GENSYNC_EXPECTED_START\n )\n );\n}\nfunction assertSuspend({ value, done }, gen) {\n if (!done && value === GENSYNC_SUSPEND) return;\n\n throwError(\n gen,\n makeError(\n done\n ? \"Unexpected generator completion. If you get this, it is probably a gensync bug.\"\n : `Expected GENSYNC_SUSPEND, got ${JSON.stringify(\n value\n )}. If you get this, it is probably a gensync bug.`,\n GENSYNC_EXPECTED_SUSPEND\n )\n );\n}\n\nfunction throwError(gen, err) {\n // Call `.throw` so that users can step in a debugger to easily see which\n // 'yield' passed an unexpected value. If the `.throw` call didn't throw\n // back to the generator, we explicitly do it to stop the error\n // from being swallowed by user code try/catches.\n if (gen.throw) gen.throw(err);\n throw err;\n}\n\nfunction isIterable(value) {\n return (\n !!value &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n !value[Symbol.iterator]\n );\n}\n\nfunction setFunctionMetadata(name, arity, fn) {\n if (typeof name === \"string\") {\n // This should always work on the supported Node versions, but for the\n // sake of users that are compiling to older versions, we check for\n // configurability so we don't throw.\n const nameDesc = Object.getOwnPropertyDescriptor(fn, \"name\");\n if (!nameDesc || nameDesc.configurable) {\n Object.defineProperty(\n fn,\n \"name\",\n Object.assign(nameDesc || {}, {\n configurable: true,\n value: name,\n })\n );\n }\n }\n\n if (typeof arity === \"number\") {\n const lengthDesc = Object.getOwnPropertyDescriptor(fn, \"length\");\n if (!lengthDesc || lengthDesc.configurable) {\n Object.defineProperty(\n fn,\n \"length\",\n Object.assign(lengthDesc || {}, {\n configurable: true,\n value: arity,\n })\n );\n }\n }\n\n return fn;\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/gensync/index.js?"); + +/***/ }), + +/***/ "./node_modules/globals/index.js": +/*!***************************************!*\ + !*** ./node_modules/globals/index.js ***! + \***************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nmodule.exports = __webpack_require__(/*! ./globals.json */ \"./node_modules/globals/globals.json\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/globals/index.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash.js": +/*!******************************************!*\ + !*** ./node_modules/hash.js/lib/hash.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("var hash = exports;\n\nhash.utils = __webpack_require__(/*! ./hash/utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nhash.common = __webpack_require__(/*! ./hash/common */ \"./node_modules/hash.js/lib/hash/common.js\");\nhash.sha = __webpack_require__(/*! ./hash/sha */ \"./node_modules/hash.js/lib/hash/sha.js\");\nhash.ripemd = __webpack_require__(/*! ./hash/ripemd */ \"./node_modules/hash.js/lib/hash/ripemd.js\");\nhash.hmac = __webpack_require__(/*! ./hash/hmac */ \"./node_modules/hash.js/lib/hash/hmac.js\");\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/common.js": +/*!*************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/common.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/common.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/hmac.js": +/*!***********************************************!*\ + !*** ./node_modules/hash.js/lib/hash/hmac.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/hmac.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/ripemd.js": +/*!*************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/ripemd.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ./common */ \"./node_modules/hash.js/lib/hash/common.js\");\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/ripemd.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/sha.js": +/*!**********************************************!*\ + !*** ./node_modules/hash.js/lib/hash/sha.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nexports.sha1 = __webpack_require__(/*! ./sha/1 */ \"./node_modules/hash.js/lib/hash/sha/1.js\");\nexports.sha224 = __webpack_require__(/*! ./sha/224 */ \"./node_modules/hash.js/lib/hash/sha/224.js\");\nexports.sha256 = __webpack_require__(/*! ./sha/256 */ \"./node_modules/hash.js/lib/hash/sha/256.js\");\nexports.sha384 = __webpack_require__(/*! ./sha/384 */ \"./node_modules/hash.js/lib/hash/sha/384.js\");\nexports.sha512 = __webpack_require__(/*! ./sha/512 */ \"./node_modules/hash.js/lib/hash/sha/512.js\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/sha.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/sha/1.js": +/*!************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/sha/1.js ***! + \************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ../common */ \"./node_modules/hash.js/lib/hash/common.js\");\nvar shaCommon = __webpack_require__(/*! ./common */ \"./node_modules/hash.js/lib/hash/sha/common.js\");\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/sha/1.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/sha/224.js": +/*!**************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/sha/224.js ***! + \**************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar SHA256 = __webpack_require__(/*! ./256 */ \"./node_modules/hash.js/lib/hash/sha/256.js\");\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/sha/224.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/sha/256.js": +/*!**************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/sha/256.js ***! + \**************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ../common */ \"./node_modules/hash.js/lib/hash/common.js\");\nvar shaCommon = __webpack_require__(/*! ./common */ \"./node_modules/hash.js/lib/hash/sha/common.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/sha/256.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/sha/384.js": +/*!**************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/sha/384.js ***! + \**************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\n\nvar SHA512 = __webpack_require__(/*! ./512 */ \"./node_modules/hash.js/lib/hash/sha/512.js\");\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/sha/384.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/sha/512.js": +/*!**************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/sha/512.js ***! + \**************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ../common */ \"./node_modules/hash.js/lib/hash/common.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/sha/512.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/sha/common.js": +/*!*****************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/sha/common.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/sha/common.js?"); + +/***/ }), + +/***/ "./node_modules/hash.js/lib/hash/utils.js": +/*!************************************************!*\ + !*** ./node_modules/hash.js/lib/hash/utils.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hash.js/lib/hash/utils.js?"); + +/***/ }), + +/***/ "./node_modules/hmac-drbg/lib/hmac-drbg.js": +/*!*************************************************!*\ + !*** ./node_modules/hmac-drbg/lib/hmac-drbg.js ***! + \*************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar hash = __webpack_require__(/*! hash.js */ \"./node_modules/hash.js/lib/hash.js\");\nvar utils = __webpack_require__(/*! minimalistic-crypto-utils */ \"./node_modules/minimalistic-crypto-utils/lib/utils.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/hmac-drbg/lib/hmac-drbg.js?"); + +/***/ }), + +/***/ "./node_modules/ieee754/index.js": +/*!***************************************!*\ + !*** ./node_modules/ieee754/index.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/ieee754/index.js?"); + +/***/ }), + +/***/ "./node_modules/inherits/inherits_browser.js": +/*!***************************************************!*\ + !*** ./node_modules/inherits/inherits_browser.js ***! + \***************************************************/ +/***/ ((module) => { + +eval("if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/inherits/inherits_browser.js?"); + +/***/ }), + +/***/ "./node_modules/isarray/index.js": +/*!***************************************!*\ + !*** ./node_modules/isarray/index.js ***! + \***************************************/ +/***/ ((module) => { + +eval("var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/isarray/index.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-coverage/index.js": +/*!*****************************************************!*\ + !*** ./node_modules/istanbul-lib-coverage/index.js ***! + \*****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/*\n Copyright 2012-2015, Yahoo Inc.\n Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\n/**\n * istanbul-lib-coverage exports an API that allows you to create and manipulate\n * file coverage, coverage maps (a set of file coverage objects) and summary\n * coverage objects. File coverage for the same file can be merged as can\n * entire coverage maps.\n *\n * @module Exports\n */\nconst { FileCoverage } = __webpack_require__(/*! ./lib/file-coverage */ \"./node_modules/istanbul-lib-coverage/lib/file-coverage.js\");\nconst { CoverageMap } = __webpack_require__(/*! ./lib/coverage-map */ \"./node_modules/istanbul-lib-coverage/lib/coverage-map.js\");\nconst { CoverageSummary } = __webpack_require__(/*! ./lib/coverage-summary */ \"./node_modules/istanbul-lib-coverage/lib/coverage-summary.js\");\n\nmodule.exports = {\n /**\n * creates a coverage summary object\n * @param {Object} obj an argument with the same semantics\n * as the one passed to the `CoverageSummary` constructor\n * @returns {CoverageSummary}\n */\n createCoverageSummary(obj) {\n if (obj && obj instanceof CoverageSummary) {\n return obj;\n }\n return new CoverageSummary(obj);\n },\n /**\n * creates a CoverageMap object\n * @param {Object} obj optional - an argument with the same semantics\n * as the one passed to the CoverageMap constructor.\n * @returns {CoverageMap}\n */\n createCoverageMap(obj) {\n if (obj && obj instanceof CoverageMap) {\n return obj;\n }\n return new CoverageMap(obj);\n },\n /**\n * creates a FileCoverage object\n * @param {Object} obj optional - an argument with the same semantics\n * as the one passed to the FileCoverage constructor.\n * @returns {FileCoverage}\n */\n createFileCoverage(obj) {\n if (obj && obj instanceof FileCoverage) {\n return obj;\n }\n return new FileCoverage(obj);\n }\n};\n\n/** classes exported for reuse */\nmodule.exports.classes = {\n /**\n * the file coverage constructor\n */\n FileCoverage\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-coverage/index.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-coverage/lib/coverage-map.js": +/*!****************************************************************!*\ + !*** ./node_modules/istanbul-lib-coverage/lib/coverage-map.js ***! + \****************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/*\n Copyright 2012-2015, Yahoo Inc.\n Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nconst { FileCoverage } = __webpack_require__(/*! ./file-coverage */ \"./node_modules/istanbul-lib-coverage/lib/file-coverage.js\");\nconst { CoverageSummary } = __webpack_require__(/*! ./coverage-summary */ \"./node_modules/istanbul-lib-coverage/lib/coverage-summary.js\");\n\nfunction maybeConstruct(obj, klass) {\n if (obj instanceof klass) {\n return obj;\n }\n\n return new klass(obj);\n}\n\nfunction loadMap(source) {\n const data = Object.create(null);\n if (!source) {\n return data;\n }\n\n Object.entries(source).forEach(([k, cov]) => {\n data[k] = maybeConstruct(cov, FileCoverage);\n });\n\n return data;\n}\n\n/** CoverageMap is a map of `FileCoverage` objects keyed by file paths. */\nclass CoverageMap {\n /**\n * @constructor\n * @param {Object} [obj=undefined] obj A coverage map from which to initialize this\n * map's contents. This can be the raw global coverage object.\n */\n constructor(obj) {\n if (obj instanceof CoverageMap) {\n this.data = obj.data;\n } else {\n this.data = loadMap(obj);\n }\n }\n\n /**\n * merges a second coverage map into this one\n * @param {CoverageMap} obj - a CoverageMap or its raw data. Coverage is merged\n * correctly for the same files and additional file coverage keys are created\n * as needed.\n */\n merge(obj) {\n const other = maybeConstruct(obj, CoverageMap);\n Object.values(other.data).forEach(fc => {\n this.addFileCoverage(fc);\n });\n }\n\n /**\n * filter the coveragemap based on the callback provided\n * @param {Function (filename)} callback - Returns true if the path\n * should be included in the coveragemap. False if it should be\n * removed.\n */\n filter(callback) {\n Object.keys(this.data).forEach(k => {\n if (!callback(k)) {\n delete this.data[k];\n }\n });\n }\n\n /**\n * returns a JSON-serializable POJO for this coverage map\n * @returns {Object}\n */\n toJSON() {\n return this.data;\n }\n\n /**\n * returns an array for file paths for which this map has coverage\n * @returns {Array{string}} - array of files\n */\n files() {\n return Object.keys(this.data);\n }\n\n /**\n * returns the file coverage for the specified file.\n * @param {String} file\n * @returns {FileCoverage}\n */\n fileCoverageFor(file) {\n const fc = this.data[file];\n if (!fc) {\n throw new Error(`No file coverage available for: ${file}`);\n }\n return fc;\n }\n\n /**\n * adds a file coverage object to this map. If the path for the object,\n * already exists in the map, it is merged with the existing coverage\n * otherwise a new key is added to the map.\n * @param {FileCoverage} fc the file coverage to add\n */\n addFileCoverage(fc) {\n const cov = new FileCoverage(fc);\n const { path } = cov;\n if (this.data[path]) {\n this.data[path].merge(cov);\n } else {\n this.data[path] = cov;\n }\n }\n\n /**\n * returns the coverage summary for all the file coverage objects in this map.\n * @returns {CoverageSummary}\n */\n getCoverageSummary() {\n const ret = new CoverageSummary();\n Object.values(this.data).forEach(fc => {\n ret.merge(fc.toSummary());\n });\n\n return ret;\n }\n}\n\nmodule.exports = {\n CoverageMap\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-coverage/lib/coverage-map.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-coverage/lib/coverage-summary.js": +/*!********************************************************************!*\ + !*** ./node_modules/istanbul-lib-coverage/lib/coverage-summary.js ***! + \********************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/*\n Copyright 2012-2015, Yahoo Inc.\n Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nconst percent = __webpack_require__(/*! ./percent */ \"./node_modules/istanbul-lib-coverage/lib/percent.js\");\nconst dataProperties = __webpack_require__(/*! ./data-properties */ \"./node_modules/istanbul-lib-coverage/lib/data-properties.js\");\n\nfunction blankSummary() {\n const empty = () => ({\n total: 0,\n covered: 0,\n skipped: 0,\n pct: 'Unknown'\n });\n\n return {\n lines: empty(),\n statements: empty(),\n functions: empty(),\n branches: empty(),\n branchesTrue: empty()\n };\n}\n\n// asserts that a data object \"looks like\" a summary coverage object\nfunction assertValidSummary(obj) {\n const valid =\n obj && obj.lines && obj.statements && obj.functions && obj.branches;\n if (!valid) {\n throw new Error(\n 'Invalid summary coverage object, missing keys, found:' +\n Object.keys(obj).join(',')\n );\n }\n}\n\n/**\n * CoverageSummary provides a summary of code coverage . It exposes 4 properties,\n * `lines`, `statements`, `branches`, and `functions`. Each of these properties\n * is an object that has 4 keys `total`, `covered`, `skipped` and `pct`.\n * `pct` is a percentage number (0-100).\n */\nclass CoverageSummary {\n /**\n * @constructor\n * @param {Object|CoverageSummary} [obj=undefined] an optional data object or\n * another coverage summary to initialize this object with.\n */\n constructor(obj) {\n if (!obj) {\n this.data = blankSummary();\n } else if (obj instanceof CoverageSummary) {\n this.data = obj.data;\n } else {\n this.data = obj;\n }\n assertValidSummary(this.data);\n }\n\n /**\n * merges a second summary coverage object into this one\n * @param {CoverageSummary} obj - another coverage summary object\n */\n merge(obj) {\n const keys = [\n 'lines',\n 'statements',\n 'branches',\n 'functions',\n 'branchesTrue'\n ];\n keys.forEach(key => {\n if (obj[key]) {\n this[key].total += obj[key].total;\n this[key].covered += obj[key].covered;\n this[key].skipped += obj[key].skipped;\n this[key].pct = percent(this[key].covered, this[key].total);\n }\n });\n\n return this;\n }\n\n /**\n * returns a POJO that is JSON serializable. May be used to get the raw\n * summary object.\n */\n toJSON() {\n return this.data;\n }\n\n /**\n * return true if summary has no lines of code\n */\n isEmpty() {\n return this.lines.total === 0;\n }\n}\n\ndataProperties(CoverageSummary, [\n 'lines',\n 'statements',\n 'functions',\n 'branches',\n 'branchesTrue'\n]);\n\nmodule.exports = {\n CoverageSummary\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-coverage/lib/coverage-summary.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-coverage/lib/data-properties.js": +/*!*******************************************************************!*\ + !*** ./node_modules/istanbul-lib-coverage/lib/data-properties.js ***! + \*******************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function dataProperties(klass, properties) {\n properties.forEach(p => {\n Object.defineProperty(klass.prototype, p, {\n enumerable: true,\n get() {\n return this.data[p];\n }\n });\n });\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-coverage/lib/data-properties.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-coverage/lib/file-coverage.js": +/*!*****************************************************************!*\ + !*** ./node_modules/istanbul-lib-coverage/lib/file-coverage.js ***! + \*****************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/*\n Copyright 2012-2015, Yahoo Inc.\n Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nconst percent = __webpack_require__(/*! ./percent */ \"./node_modules/istanbul-lib-coverage/lib/percent.js\");\nconst dataProperties = __webpack_require__(/*! ./data-properties */ \"./node_modules/istanbul-lib-coverage/lib/data-properties.js\");\nconst { CoverageSummary } = __webpack_require__(/*! ./coverage-summary */ \"./node_modules/istanbul-lib-coverage/lib/coverage-summary.js\");\n\n// returns a data object that represents empty coverage\nfunction emptyCoverage(filePath, reportLogic) {\n const cov = {\n path: filePath,\n statementMap: {},\n fnMap: {},\n branchMap: {},\n s: {},\n f: {},\n b: {}\n };\n if (reportLogic) cov.bT = {};\n return cov;\n}\n\n// asserts that a data object \"looks like\" a coverage object\nfunction assertValidObject(obj) {\n const valid =\n obj &&\n obj.path &&\n obj.statementMap &&\n obj.fnMap &&\n obj.branchMap &&\n obj.s &&\n obj.f &&\n obj.b;\n if (!valid) {\n throw new Error(\n 'Invalid file coverage object, missing keys, found:' +\n Object.keys(obj).join(',')\n );\n }\n}\n\nconst keyFromLoc = ({ start, end }) =>\n `${start.line}|${start.column}|${end.line}|${end.column}`;\n\nconst isObj = o => !!o && typeof o === 'object';\nconst isLineCol = o =>\n isObj(o) && typeof o.line === 'number' && typeof o.column === 'number';\nconst isLoc = o => isObj(o) && isLineCol(o.start) && isLineCol(o.end);\nconst getLoc = o => (isLoc(o) ? o : isLoc(o.loc) ? o.loc : null);\n\n// When merging, we can have a case where two ranges cover\n// the same block of code with `hits=1`, and each carve out a\n// different range with `hits=0` to indicate it's uncovered.\n// Find the nearest container so that we can properly indicate\n// that both sections are hit.\n// Returns null if no containing item is found.\nconst findNearestContainer = (item, map) => {\n const itemLoc = getLoc(item);\n if (!itemLoc) return null;\n // the B item is not an identified range in the A set, BUT\n // it may be contained by an identified A range. If so, then\n // any hit of that containing A range counts as a hit of this\n // B range as well. We have to find the *narrowest* containing\n // range to be accurate, since ranges can be hit and un-hit\n // in a nested fashion.\n let nearestContainingItem = null;\n let containerDistance = null;\n let containerKey = null;\n for (const [i, mapItem] of Object.entries(map)) {\n const mapLoc = getLoc(mapItem);\n if (!mapLoc) continue;\n // contained if all of line distances are > 0\n // or line distance is 0 and col dist is >= 0\n const distance = [\n itemLoc.start.line - mapLoc.start.line,\n itemLoc.start.column - mapLoc.start.column,\n mapLoc.end.line - itemLoc.end.line,\n mapLoc.end.column - itemLoc.end.column\n ];\n if (\n distance[0] < 0 ||\n distance[2] < 0 ||\n (distance[0] === 0 && distance[1] < 0) ||\n (distance[2] === 0 && distance[3] < 0)\n ) {\n continue;\n }\n if (nearestContainingItem === null) {\n containerDistance = distance;\n nearestContainingItem = mapItem;\n containerKey = i;\n continue;\n }\n // closer line more relevant than closer column\n const closerBefore =\n distance[0] < containerDistance[0] ||\n (distance[0] === 0 && distance[1] < containerDistance[1]);\n const closerAfter =\n distance[2] < containerDistance[2] ||\n (distance[2] === 0 && distance[3] < containerDistance[3]);\n if (closerBefore || closerAfter) {\n // closer\n containerDistance = distance;\n nearestContainingItem = mapItem;\n containerKey = i;\n }\n }\n return containerKey;\n};\n\n// either add two numbers, or all matching entries in a number[]\nconst addHits = (aHits, bHits) => {\n if (typeof aHits === 'number' && typeof bHits === 'number') {\n return aHits + bHits;\n } else if (Array.isArray(aHits) && Array.isArray(bHits)) {\n return aHits.map((a, i) => (a || 0) + (bHits[i] || 0));\n }\n return null;\n};\n\nconst addNearestContainerHits = (item, itemHits, map, mapHits) => {\n const container = findNearestContainer(item, map);\n if (container) {\n return addHits(itemHits, mapHits[container]);\n } else {\n return itemHits;\n }\n};\n\nconst mergeProp = (aHits, aMap, bHits, bMap, itemKey = keyFromLoc) => {\n const aItems = {};\n for (const [key, itemHits] of Object.entries(aHits)) {\n const item = aMap[key];\n aItems[itemKey(item)] = [itemHits, item];\n }\n const bItems = {};\n for (const [key, itemHits] of Object.entries(bHits)) {\n const item = bMap[key];\n bItems[itemKey(item)] = [itemHits, item];\n }\n const mergedItems = {};\n for (const [key, aValue] of Object.entries(aItems)) {\n let aItemHits = aValue[0];\n const aItem = aValue[1];\n const bValue = bItems[key];\n if (!bValue) {\n // not an identified range in b, but might be contained by one\n aItemHits = addNearestContainerHits(aItem, aItemHits, bMap, bHits);\n } else {\n // is an identified range in b, so add the hits together\n aItemHits = addHits(aItemHits, bValue[0]);\n }\n mergedItems[key] = [aItemHits, aItem];\n }\n // now find the items in b that are not in a. already added matches.\n for (const [key, bValue] of Object.entries(bItems)) {\n let bItemHits = bValue[0];\n const bItem = bValue[1];\n if (mergedItems[key]) continue;\n // not an identified range in b, but might be contained by one\n bItemHits = addNearestContainerHits(bItem, bItemHits, aMap, aHits);\n mergedItems[key] = [bItemHits, bItem];\n }\n\n const hits = {};\n const map = {};\n\n Object.values(mergedItems).forEach(([itemHits, item], i) => {\n hits[i] = itemHits;\n map[i] = item;\n });\n\n return [hits, map];\n};\n\n/**\n * provides a read-only view of coverage for a single file.\n * The deep structure of this object is documented elsewhere. It has the following\n * properties:\n *\n * * `path` - the file path for which coverage is being tracked\n * * `statementMap` - map of statement locations keyed by statement index\n * * `fnMap` - map of function metadata keyed by function index\n * * `branchMap` - map of branch metadata keyed by branch index\n * * `s` - hit counts for statements\n * * `f` - hit count for functions\n * * `b` - hit count for branches\n */\nclass FileCoverage {\n /**\n * @constructor\n * @param {Object|FileCoverage|String} pathOrObj is a string that initializes\n * and empty coverage object with the specified file path or a data object that\n * has all the required properties for a file coverage object.\n */\n constructor(pathOrObj, reportLogic = false) {\n if (!pathOrObj) {\n throw new Error(\n 'Coverage must be initialized with a path or an object'\n );\n }\n if (typeof pathOrObj === 'string') {\n this.data = emptyCoverage(pathOrObj, reportLogic);\n } else if (pathOrObj instanceof FileCoverage) {\n this.data = pathOrObj.data;\n } else if (typeof pathOrObj === 'object') {\n this.data = pathOrObj;\n } else {\n throw new Error('Invalid argument to coverage constructor');\n }\n assertValidObject(this.data);\n }\n\n /**\n * returns computed line coverage from statement coverage.\n * This is a map of hits keyed by line number in the source.\n */\n getLineCoverage() {\n const statementMap = this.data.statementMap;\n const statements = this.data.s;\n const lineMap = Object.create(null);\n\n Object.entries(statements).forEach(([st, count]) => {\n /* istanbul ignore if: is this even possible? */\n if (!statementMap[st]) {\n return;\n }\n const { line } = statementMap[st].start;\n const prevVal = lineMap[line];\n if (prevVal === undefined || prevVal < count) {\n lineMap[line] = count;\n }\n });\n return lineMap;\n }\n\n /**\n * returns an array of uncovered line numbers.\n * @returns {Array} an array of line numbers for which no hits have been\n * collected.\n */\n getUncoveredLines() {\n const lc = this.getLineCoverage();\n const ret = [];\n Object.entries(lc).forEach(([l, hits]) => {\n if (hits === 0) {\n ret.push(l);\n }\n });\n return ret;\n }\n\n /**\n * returns a map of branch coverage by source line number.\n * @returns {Object} an object keyed by line number. Each object\n * has a `covered`, `total` and `coverage` (percentage) property.\n */\n getBranchCoverageByLine() {\n const branchMap = this.branchMap;\n const branches = this.b;\n const ret = {};\n Object.entries(branchMap).forEach(([k, map]) => {\n const line = map.line || map.loc.start.line;\n const branchData = branches[k];\n ret[line] = ret[line] || [];\n ret[line].push(...branchData);\n });\n Object.entries(ret).forEach(([k, dataArray]) => {\n const covered = dataArray.filter(item => item > 0);\n const coverage = (covered.length / dataArray.length) * 100;\n ret[k] = {\n covered: covered.length,\n total: dataArray.length,\n coverage\n };\n });\n return ret;\n }\n\n /**\n * return a JSON-serializable POJO for this file coverage object\n */\n toJSON() {\n return this.data;\n }\n\n /**\n * merges a second coverage object into this one, updating hit counts\n * @param {FileCoverage} other - the coverage object to be merged into this one.\n * Note that the other object should have the same structure as this one (same file).\n */\n merge(other) {\n if (other.all === true) {\n return;\n }\n\n if (this.all === true) {\n this.data = other.data;\n return;\n }\n\n let [hits, map] = mergeProp(\n this.s,\n this.statementMap,\n other.s,\n other.statementMap\n );\n this.data.s = hits;\n this.data.statementMap = map;\n\n const keyFromLocProp = x => keyFromLoc(x.loc);\n const keyFromLocationsProp = x => keyFromLoc(x.locations[0]);\n\n [hits, map] = mergeProp(\n this.f,\n this.fnMap,\n other.f,\n other.fnMap,\n keyFromLocProp\n );\n this.data.f = hits;\n this.data.fnMap = map;\n\n [hits, map] = mergeProp(\n this.b,\n this.branchMap,\n other.b,\n other.branchMap,\n keyFromLocationsProp\n );\n this.data.b = hits;\n this.data.branchMap = map;\n\n // Tracking additional information about branch truthiness\n // can be optionally enabled:\n if (this.bT && other.bT) {\n [hits, map] = mergeProp(\n this.bT,\n this.branchMap,\n other.bT,\n other.branchMap,\n keyFromLocationsProp\n );\n this.data.bT = hits;\n }\n }\n\n computeSimpleTotals(property) {\n let stats = this[property];\n\n if (typeof stats === 'function') {\n stats = stats.call(this);\n }\n\n const ret = {\n total: Object.keys(stats).length,\n covered: Object.values(stats).filter(v => !!v).length,\n skipped: 0\n };\n ret.pct = percent(ret.covered, ret.total);\n return ret;\n }\n\n computeBranchTotals(property) {\n const stats = this[property];\n const ret = { total: 0, covered: 0, skipped: 0 };\n\n Object.values(stats).forEach(branches => {\n ret.covered += branches.filter(hits => hits > 0).length;\n ret.total += branches.length;\n });\n ret.pct = percent(ret.covered, ret.total);\n return ret;\n }\n\n /**\n * resets hit counts for all statements, functions and branches\n * in this coverage object resulting in zero coverage.\n */\n resetHits() {\n const statements = this.s;\n const functions = this.f;\n const branches = this.b;\n const branchesTrue = this.bT;\n Object.keys(statements).forEach(s => {\n statements[s] = 0;\n });\n Object.keys(functions).forEach(f => {\n functions[f] = 0;\n });\n Object.keys(branches).forEach(b => {\n branches[b].fill(0);\n });\n // Tracking additional information about branch truthiness\n // can be optionally enabled:\n if (branchesTrue) {\n Object.keys(branchesTrue).forEach(bT => {\n branchesTrue[bT].fill(0);\n });\n }\n }\n\n /**\n * returns a CoverageSummary for this file coverage object\n * @returns {CoverageSummary}\n */\n toSummary() {\n const ret = {};\n ret.lines = this.computeSimpleTotals('getLineCoverage');\n ret.functions = this.computeSimpleTotals('f', 'fnMap');\n ret.statements = this.computeSimpleTotals('s', 'statementMap');\n ret.branches = this.computeBranchTotals('b');\n // Tracking additional information about branch truthiness\n // can be optionally enabled:\n if (this.bT) {\n ret.branchesTrue = this.computeBranchTotals('bT');\n }\n return new CoverageSummary(ret);\n }\n}\n\n// expose coverage data attributes\ndataProperties(FileCoverage, [\n 'path',\n 'statementMap',\n 'fnMap',\n 'branchMap',\n 's',\n 'f',\n 'b',\n 'bT',\n 'all'\n]);\n\nmodule.exports = {\n FileCoverage,\n // exported for testing\n findNearestContainer,\n addHits,\n addNearestContainerHits\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-coverage/lib/file-coverage.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-coverage/lib/percent.js": +/*!***********************************************************!*\ + !*** ./node_modules/istanbul-lib-coverage/lib/percent.js ***! + \***********************************************************/ +/***/ ((module) => { + +"use strict"; +eval("/*\n Copyright 2012-2015, Yahoo Inc.\n Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nmodule.exports = function percent(covered, total) {\n let tmp;\n if (total > 0) {\n tmp = (1000 * 100 * covered) / total;\n return Math.floor(tmp / 10) / 100;\n } else {\n return 100.0;\n }\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-coverage/lib/percent.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-instrument/src/constants.js": +/*!***************************************************************!*\ + !*** ./node_modules/istanbul-lib-instrument/src/constants.js ***! + \***************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const { createHash } = __webpack_require__(/*! crypto */ \"./node_modules/crypto-browserify/index.js\");\nconst { name } = __webpack_require__(/*! ../package.json */ \"./node_modules/istanbul-lib-instrument/package.json\");\n// TODO: increment this version if there are schema changes\n// that are not backwards compatible:\nconst VERSION = '4';\n\nconst SHA = 'sha1';\nmodule.exports = {\n SHA,\n MAGIC_KEY: '_coverageSchema',\n MAGIC_VALUE: createHash(SHA)\n .update(name + '@' + VERSION)\n .digest('hex')\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-instrument/src/constants.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-instrument/src/index.js": +/*!***********************************************************!*\ + !*** ./node_modules/istanbul-lib-instrument/src/index.js ***! + \***********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const { defaults } = __webpack_require__(/*! @istanbuljs/schema */ \"./node_modules/@istanbuljs/schema/index.js\");\nconst Instrumenter = __webpack_require__(/*! ./instrumenter */ \"./node_modules/istanbul-lib-instrument/src/instrumenter.js\");\nconst programVisitor = __webpack_require__(/*! ./visitor */ \"./node_modules/istanbul-lib-instrument/src/visitor.js\");\nconst readInitialCoverage = __webpack_require__(/*! ./read-coverage */ \"./node_modules/istanbul-lib-instrument/src/read-coverage.js\");\n\n/**\n * createInstrumenter creates a new instrumenter with the\n * supplied options.\n * @param {Object} opts - instrumenter options. See the documentation\n * for the Instrumenter class.\n */\nfunction createInstrumenter(opts) {\n return new Instrumenter(opts);\n}\n\nmodule.exports = {\n createInstrumenter,\n programVisitor,\n readInitialCoverage,\n defaultOpts: defaults.instrumenter\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-instrument/src/index.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-instrument/src/instrumenter.js": +/*!******************************************************************!*\ + !*** ./node_modules/istanbul-lib-instrument/src/instrumenter.js ***! + \******************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/*\n Copyright 2012-2015, Yahoo Inc.\n Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nconst { transformSync } = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\nconst { defaults } = __webpack_require__(/*! @istanbuljs/schema */ \"./node_modules/@istanbuljs/schema/index.js\");\nconst programVisitor = __webpack_require__(/*! ./visitor */ \"./node_modules/istanbul-lib-instrument/src/visitor.js\");\nconst readInitialCoverage = __webpack_require__(/*! ./read-coverage */ \"./node_modules/istanbul-lib-instrument/src/read-coverage.js\");\n\n/**\n * Instrumenter is the public API for the instrument library.\n * It is typically used for ES5 code. For ES6 code that you\n * are already running under `babel` use the coverage plugin\n * instead.\n * @param {Object} opts optional.\n * @param {string} [opts.coverageVariable=__coverage__] name of global coverage variable.\n * @param {boolean} [opts.reportLogic=false] report boolean value of logical expressions.\n * @param {boolean} [opts.preserveComments=false] preserve comments in output.\n * @param {boolean} [opts.compact=true] generate compact code.\n * @param {boolean} [opts.esModules=false] set to true to instrument ES6 modules.\n * @param {boolean} [opts.autoWrap=false] set to true to allow `return` statements outside of functions.\n * @param {boolean} [opts.produceSourceMap=false] set to true to produce a source map for the instrumented code.\n * @param {Array} [opts.ignoreClassMethods=[]] set to array of class method names to ignore for coverage.\n * @param {Function} [opts.sourceMapUrlCallback=null] a callback function that is called when a source map URL\n * is found in the original code. This function is called with the source file name and the source map URL.\n * @param {boolean} [opts.debug=false] - turn debugging on.\n * @param {array} [opts.parserPlugins] - set babel parser plugins, see @istanbuljs/schema for defaults.\n * @param {string} [opts.coverageGlobalScope=this] the global coverage variable scope.\n * @param {boolean} [opts.coverageGlobalScopeFunc=true] use an evaluated function to find coverageGlobalScope.\n * @param {Object} [opts.generatorOpts] - set babel generator options\n */\nclass Instrumenter {\n constructor(opts = {}) {\n this.opts = {\n ...defaults.instrumenter,\n ...opts\n };\n this.fileCoverage = null;\n this.sourceMap = null;\n }\n /**\n * instrument the supplied code and track coverage against the supplied\n * filename. It throws if invalid code is passed to it. ES5 and ES6 syntax\n * is supported. To instrument ES6 modules, make sure that you set the\n * `esModules` property to `true` when creating the instrumenter.\n *\n * @param {string} code - the code to instrument\n * @param {string} filename - the filename against which to track coverage.\n * @param {object} [inputSourceMap] - the source map that maps the not instrumented code back to it's original form.\n * Is assigned to the coverage object and therefore, is available in the json output and can be used to remap the\n * coverage to the untranspiled source.\n * @returns {string} the instrumented code.\n */\n instrumentSync(code, filename, inputSourceMap) {\n if (typeof code !== 'string') {\n throw new Error('Code must be a string');\n }\n filename = filename || String(new Date().getTime()) + '.js';\n const { opts } = this;\n let output = {};\n const babelOpts = {\n configFile: false,\n babelrc: false,\n ast: true,\n filename: filename || String(new Date().getTime()) + '.js',\n inputSourceMap,\n sourceMaps: opts.produceSourceMap,\n compact: opts.compact,\n comments: opts.preserveComments,\n parserOpts: {\n allowReturnOutsideFunction: opts.autoWrap,\n sourceType: opts.esModules ? 'module' : 'script',\n plugins: opts.parserPlugins\n },\n generatorOpts: opts.generatorOpts,\n plugins: [\n [\n ({ types }) => {\n const ee = programVisitor(types, filename, {\n coverageVariable: opts.coverageVariable,\n reportLogic: opts.reportLogic,\n coverageGlobalScope: opts.coverageGlobalScope,\n coverageGlobalScopeFunc:\n opts.coverageGlobalScopeFunc,\n ignoreClassMethods: opts.ignoreClassMethods,\n inputSourceMap\n });\n\n return {\n visitor: {\n Program: {\n enter: ee.enter,\n exit(path) {\n output = ee.exit(path);\n }\n }\n }\n };\n }\n ]\n ]\n };\n\n const codeMap = transformSync(code, babelOpts);\n\n if (!output || !output.fileCoverage) {\n const initialCoverage =\n readInitialCoverage(codeMap.ast) ||\n /* istanbul ignore next: paranoid check */ {};\n this.fileCoverage = initialCoverage.coverageData;\n this.sourceMap = inputSourceMap;\n return code;\n }\n\n this.fileCoverage = output.fileCoverage;\n this.sourceMap = codeMap.map;\n const cb = this.opts.sourceMapUrlCallback;\n if (cb && output.sourceMappingURL) {\n cb(filename, output.sourceMappingURL);\n }\n\n return codeMap.code;\n }\n /**\n * callback-style instrument method that calls back with an error\n * as opposed to throwing one. Note that in the current implementation,\n * the callback will be called in the same process tick and is not asynchronous.\n *\n * @param {string} code - the code to instrument\n * @param {string} filename - the filename against which to track coverage.\n * @param {Function} callback - the callback\n * @param {Object} inputSourceMap - the source map that maps the not instrumented code back to it's original form.\n * Is assigned to the coverage object and therefore, is available in the json output and can be used to remap the\n * coverage to the untranspiled source.\n */\n instrument(code, filename, callback, inputSourceMap) {\n if (!callback && typeof filename === 'function') {\n callback = filename;\n filename = null;\n }\n try {\n const out = this.instrumentSync(code, filename, inputSourceMap);\n callback(null, out);\n } catch (ex) {\n callback(ex);\n }\n }\n /**\n * returns the file coverage object for the last file instrumented.\n * @returns {Object} the file coverage object.\n */\n lastFileCoverage() {\n return this.fileCoverage;\n }\n /**\n * returns the source map produced for the last file instrumented.\n * @returns {null|Object} the source map object.\n */\n lastSourceMap() {\n return this.sourceMap;\n }\n}\n\nmodule.exports = Instrumenter;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-instrument/src/instrumenter.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-instrument/src/read-coverage.js": +/*!*******************************************************************!*\ + !*** ./node_modules/istanbul-lib-instrument/src/read-coverage.js ***! + \*******************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const { parseSync, traverse } = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\nconst { defaults } = __webpack_require__(/*! @istanbuljs/schema */ \"./node_modules/@istanbuljs/schema/index.js\");\nconst { MAGIC_KEY, MAGIC_VALUE } = __webpack_require__(/*! ./constants */ \"./node_modules/istanbul-lib-instrument/src/constants.js\");\n\nfunction getAst(code) {\n if (typeof code === 'object' && typeof code.type === 'string') {\n // Assume code is already a babel ast.\n return code;\n }\n\n if (typeof code !== 'string') {\n throw new Error('Code must be a string');\n }\n\n // Parse as leniently as possible\n return parseSync(code, {\n babelrc: false,\n configFile: false,\n parserOpts: {\n allowAwaitOutsideFunction: true,\n allowImportExportEverywhere: true,\n allowReturnOutsideFunction: true,\n allowSuperOutsideMethod: true,\n sourceType: 'unambiguous',\n plugins: defaults.instrumenter.parserPlugins\n }\n });\n}\n\nmodule.exports = function readInitialCoverage(code) {\n const ast = getAst(code);\n\n let covScope;\n traverse(ast, {\n ObjectProperty(path) {\n const { node } = path;\n if (\n !node.computed &&\n path.get('key').isIdentifier() &&\n node.key.name === MAGIC_KEY\n ) {\n const magicValue = path.get('value').evaluate();\n if (!magicValue.confident || magicValue.value !== MAGIC_VALUE) {\n return;\n }\n covScope =\n path.scope.getFunctionParent() ||\n path.scope.getProgramParent();\n path.stop();\n }\n }\n });\n\n if (!covScope) {\n return null;\n }\n\n const result = {};\n\n for (const key of ['path', 'hash', 'gcv', 'coverageData']) {\n const binding = covScope.getOwnBinding(key);\n if (!binding) {\n return null;\n }\n const valuePath = binding.path.get('init');\n const value = valuePath.evaluate();\n if (!value.confident) {\n return null;\n }\n result[key] = value.value;\n }\n\n delete result.coverageData[MAGIC_KEY];\n delete result.coverageData.hash;\n\n return result;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-instrument/src/read-coverage.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-instrument/src/source-coverage.js": +/*!*********************************************************************!*\ + !*** ./node_modules/istanbul-lib-instrument/src/source-coverage.js ***! + \*********************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const { classes } = __webpack_require__(/*! istanbul-lib-coverage */ \"./node_modules/istanbul-lib-coverage/index.js\");\n\nfunction cloneLocation(loc) {\n return {\n start: {\n line: loc && loc.start.line,\n column: loc && loc.start.column\n },\n end: {\n line: loc && loc.end.line,\n column: loc && loc.end.column\n }\n };\n}\n/**\n * SourceCoverage provides mutation methods to manipulate the structure of\n * a file coverage object. Used by the instrumenter to create a full coverage\n * object for a file incrementally.\n *\n * @private\n * @param pathOrObj {String|Object} - see the argument for {@link FileCoverage}\n * @extends FileCoverage\n * @constructor\n */\nclass SourceCoverage extends classes.FileCoverage {\n constructor(pathOrObj) {\n super(pathOrObj);\n this.meta = {\n last: {\n s: 0,\n f: 0,\n b: 0\n }\n };\n }\n\n newStatement(loc) {\n const s = this.meta.last.s;\n this.data.statementMap[s] = cloneLocation(loc);\n this.data.s[s] = 0;\n this.meta.last.s += 1;\n return s;\n }\n\n newFunction(name, decl, loc) {\n const f = this.meta.last.f;\n name = name || '(anonymous_' + f + ')';\n this.data.fnMap[f] = {\n name,\n decl: cloneLocation(decl),\n loc: cloneLocation(loc),\n // DEPRECATED: some legacy reports require this info.\n line: loc && loc.start.line\n };\n this.data.f[f] = 0;\n this.meta.last.f += 1;\n return f;\n }\n\n newBranch(type, loc, isReportLogic = false) {\n const b = this.meta.last.b;\n this.data.b[b] = [];\n this.data.branchMap[b] = {\n loc: cloneLocation(loc),\n type,\n locations: [],\n // DEPRECATED: some legacy reports require this info.\n line: loc && loc.start.line\n };\n this.meta.last.b += 1;\n this.maybeNewBranchTrue(type, b, isReportLogic);\n return b;\n }\n\n maybeNewBranchTrue(type, name, isReportLogic) {\n if (!isReportLogic) {\n return;\n }\n if (type !== 'binary-expr') {\n return;\n }\n this.data.bT = this.data.bT || {};\n this.data.bT[name] = [];\n }\n\n addBranchPath(name, location) {\n const bMeta = this.data.branchMap[name];\n const counts = this.data.b[name];\n\n /* istanbul ignore if: paranoid check */\n if (!bMeta) {\n throw new Error('Invalid branch ' + name);\n }\n bMeta.locations.push(cloneLocation(location));\n counts.push(0);\n this.maybeAddBranchTrue(name);\n return counts.length - 1;\n }\n\n maybeAddBranchTrue(name) {\n if (!this.data.bT) {\n return;\n }\n const countsTrue = this.data.bT[name];\n if (!countsTrue) {\n return;\n }\n countsTrue.push(0);\n }\n\n /**\n * Assigns an input source map to the coverage that can be used\n * to remap the coverage output to the original source\n * @param sourceMap {object} the source map\n */\n inputSourceMap(sourceMap) {\n this.data.inputSourceMap = sourceMap;\n }\n\n freeze() {\n // prune empty branches\n const map = this.data.branchMap;\n const branches = this.data.b;\n const branchesT = this.data.bT || {};\n Object.keys(map).forEach(b => {\n if (map[b].locations.length === 0) {\n delete map[b];\n delete branches[b];\n delete branchesT[b];\n }\n });\n }\n}\n\nmodule.exports = { SourceCoverage };\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-instrument/src/source-coverage.js?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-instrument/src/visitor.js": +/*!*************************************************************!*\ + !*** ./node_modules/istanbul-lib-instrument/src/visitor.js ***! + \*************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const { createHash } = __webpack_require__(/*! crypto */ \"./node_modules/crypto-browserify/index.js\");\nconst { template } = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\nconst { defaults } = __webpack_require__(/*! @istanbuljs/schema */ \"./node_modules/@istanbuljs/schema/index.js\");\nconst { SourceCoverage } = __webpack_require__(/*! ./source-coverage */ \"./node_modules/istanbul-lib-instrument/src/source-coverage.js\");\nconst { SHA, MAGIC_KEY, MAGIC_VALUE } = __webpack_require__(/*! ./constants */ \"./node_modules/istanbul-lib-instrument/src/constants.js\");\n\n// pattern for istanbul to ignore a section\nconst COMMENT_RE = /^\\s*istanbul\\s+ignore\\s+(if|else|next)(?=\\W|$)/;\n// pattern for istanbul to ignore the whole file\nconst COMMENT_FILE_RE = /^\\s*istanbul\\s+ignore\\s+(file)(?=\\W|$)/;\n// source map URL pattern\nconst SOURCE_MAP_RE = /[#@]\\s*sourceMappingURL=(.*)\\s*$/m;\n\n// generate a variable name from hashing the supplied file path\nfunction genVar(filename) {\n const hash = createHash(SHA);\n hash.update(filename);\n return 'cov_' + parseInt(hash.digest('hex').substr(0, 12), 16).toString(36);\n}\n\n// VisitState holds the state of the visitor, provides helper functions\n// and is the `this` for the individual coverage visitors.\nclass VisitState {\n constructor(\n types,\n sourceFilePath,\n inputSourceMap,\n ignoreClassMethods = [],\n reportLogic = false\n ) {\n this.varName = genVar(sourceFilePath);\n this.attrs = {};\n this.nextIgnore = null;\n this.cov = new SourceCoverage(sourceFilePath);\n\n if (typeof inputSourceMap !== 'undefined') {\n this.cov.inputSourceMap(inputSourceMap);\n }\n this.ignoreClassMethods = ignoreClassMethods;\n this.types = types;\n this.sourceMappingURL = null;\n this.reportLogic = reportLogic;\n }\n\n // should we ignore the node? Yes, if specifically ignoring\n // or if the node is generated.\n shouldIgnore(path) {\n return this.nextIgnore || !path.node.loc;\n }\n\n // extract the ignore comment hint (next|if|else) or null\n hintFor(node) {\n let hint = null;\n if (node.leadingComments) {\n node.leadingComments.forEach(c => {\n const v = (\n c.value || /* istanbul ignore next: paranoid check */ ''\n ).trim();\n const groups = v.match(COMMENT_RE);\n if (groups) {\n hint = groups[1];\n }\n });\n }\n return hint;\n }\n\n // extract a source map URL from comments and keep track of it\n maybeAssignSourceMapURL(node) {\n const extractURL = comments => {\n if (!comments) {\n return;\n }\n comments.forEach(c => {\n const v = (\n c.value || /* istanbul ignore next: paranoid check */ ''\n ).trim();\n const groups = v.match(SOURCE_MAP_RE);\n if (groups) {\n this.sourceMappingURL = groups[1];\n }\n });\n };\n extractURL(node.leadingComments);\n extractURL(node.trailingComments);\n }\n\n // for these expressions the statement counter needs to be hoisted, so\n // function name inference can be preserved\n counterNeedsHoisting(path) {\n return (\n path.isFunctionExpression() ||\n path.isArrowFunctionExpression() ||\n path.isClassExpression()\n );\n }\n\n // all the generic stuff that needs to be done on enter for every node\n onEnter(path) {\n const n = path.node;\n\n this.maybeAssignSourceMapURL(n);\n\n // if already ignoring, nothing more to do\n if (this.nextIgnore !== null) {\n return;\n }\n // check hint to see if ignore should be turned on\n const hint = this.hintFor(n);\n if (hint === 'next') {\n this.nextIgnore = n;\n return;\n }\n // else check custom node attribute set by a prior visitor\n if (this.getAttr(path.node, 'skip-all') !== null) {\n this.nextIgnore = n;\n }\n\n // else check for ignored class methods\n if (\n path.isFunctionExpression() &&\n this.ignoreClassMethods.some(\n name => path.node.id && name === path.node.id.name\n )\n ) {\n this.nextIgnore = n;\n return;\n }\n if (\n path.isClassMethod() &&\n this.ignoreClassMethods.some(name => name === path.node.key.name)\n ) {\n this.nextIgnore = n;\n return;\n }\n }\n\n // all the generic stuff on exit of a node,\n // including resetting ignores and custom node attrs\n onExit(path) {\n // restore ignore status, if needed\n if (path.node === this.nextIgnore) {\n this.nextIgnore = null;\n }\n // nuke all attributes for the node\n delete path.node.__cov__;\n }\n\n // set a node attribute for the supplied node\n setAttr(node, name, value) {\n node.__cov__ = node.__cov__ || {};\n node.__cov__[name] = value;\n }\n\n // retrieve a node attribute for the supplied node or null\n getAttr(node, name) {\n const c = node.__cov__;\n if (!c) {\n return null;\n }\n return c[name];\n }\n\n //\n increase(type, id, index) {\n const T = this.types;\n const wrap =\n index !== null\n ? // If `index` present, turn `x` into `x[index]`.\n x => T.memberExpression(x, T.numericLiteral(index), true)\n : x => x;\n return T.updateExpression(\n '++',\n wrap(\n T.memberExpression(\n T.memberExpression(\n T.callExpression(T.identifier(this.varName), []),\n T.identifier(type)\n ),\n T.numericLiteral(id),\n true\n )\n )\n );\n }\n\n // Reads the logic expression conditions and conditionally increments truthy counter.\n increaseTrue(type, id, index, node) {\n const T = this.types;\n const tempName = `${this.varName}_temp`;\n\n return T.sequenceExpression([\n T.assignmentExpression(\n '=',\n T.memberExpression(\n T.callExpression(T.identifier(this.varName), []),\n T.identifier(tempName)\n ),\n node // Only evaluates once.\n ),\n T.parenthesizedExpression(\n T.conditionalExpression(\n this.validateTrueNonTrivial(T, tempName),\n this.increase(type, id, index),\n T.nullLiteral()\n )\n ),\n T.memberExpression(\n T.callExpression(T.identifier(this.varName), []),\n T.identifier(tempName)\n )\n ]);\n }\n\n validateTrueNonTrivial(T, tempName) {\n return T.logicalExpression(\n '&&',\n T.memberExpression(\n T.callExpression(T.identifier(this.varName), []),\n T.identifier(tempName)\n ),\n T.logicalExpression(\n '&&',\n T.parenthesizedExpression(\n T.logicalExpression(\n '||',\n T.unaryExpression(\n '!',\n T.callExpression(\n T.memberExpression(\n T.identifier('Array'),\n T.identifier('isArray')\n ),\n [\n T.memberExpression(\n T.callExpression(\n T.identifier(this.varName),\n []\n ),\n T.identifier(tempName)\n )\n ]\n )\n ),\n T.memberExpression(\n T.memberExpression(\n T.callExpression(\n T.identifier(this.varName),\n []\n ),\n T.identifier(tempName)\n ),\n T.identifier('length')\n )\n )\n ),\n T.parenthesizedExpression(\n T.logicalExpression(\n '||',\n T.binaryExpression(\n '!==',\n T.callExpression(\n T.memberExpression(\n T.identifier('Object'),\n T.identifier('getPrototypeOf')\n ),\n [\n T.memberExpression(\n T.callExpression(\n T.identifier(this.varName),\n []\n ),\n T.identifier(tempName)\n )\n ]\n ),\n T.memberExpression(\n T.identifier('Object'),\n T.identifier('prototype')\n )\n ),\n T.memberExpression(\n T.callExpression(\n T.memberExpression(\n T.identifier('Object'),\n T.identifier('values')\n ),\n [\n T.memberExpression(\n T.callExpression(\n T.identifier(this.varName),\n []\n ),\n T.identifier(tempName)\n )\n ]\n ),\n T.identifier('length')\n )\n )\n )\n )\n );\n }\n\n insertCounter(path, increment) {\n const T = this.types;\n if (path.isBlockStatement()) {\n path.node.body.unshift(T.expressionStatement(increment));\n } else if (path.isStatement()) {\n path.insertBefore(T.expressionStatement(increment));\n } else if (\n this.counterNeedsHoisting(path) &&\n T.isVariableDeclarator(path.parentPath)\n ) {\n // make an attempt to hoist the statement counter, so that\n // function names are maintained.\n const parent = path.parentPath.parentPath;\n if (parent && T.isExportNamedDeclaration(parent.parentPath)) {\n parent.parentPath.insertBefore(\n T.expressionStatement(increment)\n );\n } else if (\n parent &&\n (T.isProgram(parent.parentPath) ||\n T.isBlockStatement(parent.parentPath))\n ) {\n parent.insertBefore(T.expressionStatement(increment));\n } else {\n path.replaceWith(T.sequenceExpression([increment, path.node]));\n }\n } /* istanbul ignore else: not expected */ else if (\n path.isExpression()\n ) {\n path.replaceWith(T.sequenceExpression([increment, path.node]));\n } else {\n console.error(\n 'Unable to insert counter for node type:',\n path.node.type\n );\n }\n }\n\n insertStatementCounter(path) {\n /* istanbul ignore if: paranoid check */\n if (!(path.node && path.node.loc)) {\n return;\n }\n const index = this.cov.newStatement(path.node.loc);\n const increment = this.increase('s', index, null);\n this.insertCounter(path, increment);\n }\n\n insertFunctionCounter(path) {\n const T = this.types;\n /* istanbul ignore if: paranoid check */\n if (!(path.node && path.node.loc)) {\n return;\n }\n const n = path.node;\n\n let dloc = null;\n // get location for declaration\n switch (n.type) {\n case 'FunctionDeclaration':\n case 'FunctionExpression':\n /* istanbul ignore else: paranoid check */\n if (n.id) {\n dloc = n.id.loc;\n }\n break;\n }\n if (!dloc) {\n dloc = {\n start: n.loc.start,\n end: { line: n.loc.start.line, column: n.loc.start.column + 1 }\n };\n }\n\n const name = path.node.id ? path.node.id.name : path.node.name;\n const index = this.cov.newFunction(name, dloc, path.node.body.loc);\n const increment = this.increase('f', index, null);\n const body = path.get('body');\n /* istanbul ignore else: not expected */\n if (body.isBlockStatement()) {\n body.node.body.unshift(T.expressionStatement(increment));\n } else {\n console.error(\n 'Unable to process function body node type:',\n path.node.type\n );\n }\n }\n\n getBranchIncrement(branchName, loc) {\n const index = this.cov.addBranchPath(branchName, loc);\n return this.increase('b', branchName, index);\n }\n\n getBranchLogicIncrement(path, branchName, loc) {\n const index = this.cov.addBranchPath(branchName, loc);\n return [\n this.increase('b', branchName, index),\n this.increaseTrue('bT', branchName, index, path.node)\n ];\n }\n\n insertBranchCounter(path, branchName, loc) {\n const increment = this.getBranchIncrement(\n branchName,\n loc || path.node.loc\n );\n this.insertCounter(path, increment);\n }\n\n findLeaves(node, accumulator, parent, property) {\n if (!node) {\n return;\n }\n if (node.type === 'LogicalExpression') {\n const hint = this.hintFor(node);\n if (hint !== 'next') {\n this.findLeaves(node.left, accumulator, node, 'left');\n this.findLeaves(node.right, accumulator, node, 'right');\n }\n } else {\n accumulator.push({\n node,\n parent,\n property\n });\n }\n }\n}\n\n// generic function that takes a set of visitor methods and\n// returns a visitor object with `enter` and `exit` properties,\n// such that:\n//\n// * standard entry processing is done\n// * the supplied visitors are called only when ignore is not in effect\n// This relieves them from worrying about ignore states and generated nodes.\n// * standard exit processing is done\n//\nfunction entries(...enter) {\n // the enter function\n const wrappedEntry = function(path, node) {\n this.onEnter(path);\n if (this.shouldIgnore(path)) {\n return;\n }\n enter.forEach(e => {\n e.call(this, path, node);\n });\n };\n const exit = function(path, node) {\n this.onExit(path, node);\n };\n return {\n enter: wrappedEntry,\n exit\n };\n}\n\nfunction coverStatement(path) {\n this.insertStatementCounter(path);\n}\n\n/* istanbul ignore next: no node.js support */\nfunction coverAssignmentPattern(path) {\n const n = path.node;\n const b = this.cov.newBranch('default-arg', n.loc);\n this.insertBranchCounter(path.get('right'), b);\n}\n\nfunction coverFunction(path) {\n this.insertFunctionCounter(path);\n}\n\nfunction coverVariableDeclarator(path) {\n this.insertStatementCounter(path.get('init'));\n}\n\nfunction coverClassPropDeclarator(path) {\n this.insertStatementCounter(path.get('value'));\n}\n\nfunction makeBlock(path) {\n const T = this.types;\n if (!path.node) {\n path.replaceWith(T.blockStatement([]));\n }\n if (!path.isBlockStatement()) {\n path.replaceWith(T.blockStatement([path.node]));\n path.node.loc = path.node.body[0].loc;\n path.node.body[0].leadingComments = path.node.leadingComments;\n path.node.leadingComments = undefined;\n }\n}\n\nfunction blockProp(prop) {\n return function(path) {\n makeBlock.call(this, path.get(prop));\n };\n}\n\nfunction makeParenthesizedExpressionForNonIdentifier(path) {\n const T = this.types;\n if (path.node && !path.isIdentifier()) {\n path.replaceWith(T.parenthesizedExpression(path.node));\n }\n}\n\nfunction parenthesizedExpressionProp(prop) {\n return function(path) {\n makeParenthesizedExpressionForNonIdentifier.call(this, path.get(prop));\n };\n}\n\nfunction convertArrowExpression(path) {\n const n = path.node;\n const T = this.types;\n if (!T.isBlockStatement(n.body)) {\n const bloc = n.body.loc;\n if (n.expression === true) {\n n.expression = false;\n }\n n.body = T.blockStatement([T.returnStatement(n.body)]);\n // restore body location\n n.body.loc = bloc;\n // set up the location for the return statement so it gets\n // instrumented\n n.body.body[0].loc = bloc;\n }\n}\n\nfunction coverIfBranches(path) {\n const n = path.node;\n const hint = this.hintFor(n);\n const ignoreIf = hint === 'if';\n const ignoreElse = hint === 'else';\n const branch = this.cov.newBranch('if', n.loc);\n\n if (ignoreIf) {\n this.setAttr(n.consequent, 'skip-all', true);\n } else {\n this.insertBranchCounter(path.get('consequent'), branch, n.loc);\n }\n if (ignoreElse) {\n this.setAttr(n.alternate, 'skip-all', true);\n } else {\n this.insertBranchCounter(path.get('alternate'), branch);\n }\n}\n\nfunction createSwitchBranch(path) {\n const b = this.cov.newBranch('switch', path.node.loc);\n this.setAttr(path.node, 'branchName', b);\n}\n\nfunction coverSwitchCase(path) {\n const T = this.types;\n const b = this.getAttr(path.parentPath.node, 'branchName');\n /* istanbul ignore if: paranoid check */\n if (b === null) {\n throw new Error('Unable to get switch branch name');\n }\n const increment = this.getBranchIncrement(b, path.node.loc);\n path.node.consequent.unshift(T.expressionStatement(increment));\n}\n\nfunction coverTernary(path) {\n const n = path.node;\n const branch = this.cov.newBranch('cond-expr', path.node.loc);\n const cHint = this.hintFor(n.consequent);\n const aHint = this.hintFor(n.alternate);\n\n if (cHint !== 'next') {\n this.insertBranchCounter(path.get('consequent'), branch);\n }\n if (aHint !== 'next') {\n this.insertBranchCounter(path.get('alternate'), branch);\n }\n}\n\nfunction coverLogicalExpression(path) {\n const T = this.types;\n if (path.parentPath.node.type === 'LogicalExpression') {\n return; // already processed\n }\n const leaves = [];\n this.findLeaves(path.node, leaves);\n const b = this.cov.newBranch(\n 'binary-expr',\n path.node.loc,\n this.reportLogic\n );\n for (let i = 0; i < leaves.length; i += 1) {\n const leaf = leaves[i];\n const hint = this.hintFor(leaf.node);\n if (hint === 'next') {\n continue;\n }\n\n if (this.reportLogic) {\n const increment = this.getBranchLogicIncrement(\n leaf,\n b,\n leaf.node.loc\n );\n if (!increment[0]) {\n continue;\n }\n leaf.parent[leaf.property] = T.sequenceExpression([\n increment[0],\n increment[1]\n ]);\n continue;\n }\n\n const increment = this.getBranchIncrement(b, leaf.node.loc);\n if (!increment) {\n continue;\n }\n leaf.parent[leaf.property] = T.sequenceExpression([\n increment,\n leaf.node\n ]);\n }\n}\n\nconst codeVisitor = {\n ArrowFunctionExpression: entries(convertArrowExpression, coverFunction),\n AssignmentPattern: entries(coverAssignmentPattern),\n BlockStatement: entries(), // ignore processing only\n ExportDefaultDeclaration: entries(), // ignore processing only\n ExportNamedDeclaration: entries(), // ignore processing only\n ClassMethod: entries(coverFunction),\n ClassDeclaration: entries(parenthesizedExpressionProp('superClass')),\n ClassProperty: entries(coverClassPropDeclarator),\n ClassPrivateProperty: entries(coverClassPropDeclarator),\n ObjectMethod: entries(coverFunction),\n ExpressionStatement: entries(coverStatement),\n BreakStatement: entries(coverStatement),\n ContinueStatement: entries(coverStatement),\n DebuggerStatement: entries(coverStatement),\n ReturnStatement: entries(coverStatement),\n ThrowStatement: entries(coverStatement),\n TryStatement: entries(coverStatement),\n VariableDeclaration: entries(), // ignore processing only\n VariableDeclarator: entries(coverVariableDeclarator),\n IfStatement: entries(\n blockProp('consequent'),\n blockProp('alternate'),\n coverStatement,\n coverIfBranches\n ),\n ForStatement: entries(blockProp('body'), coverStatement),\n ForInStatement: entries(blockProp('body'), coverStatement),\n ForOfStatement: entries(blockProp('body'), coverStatement),\n WhileStatement: entries(blockProp('body'), coverStatement),\n DoWhileStatement: entries(blockProp('body'), coverStatement),\n SwitchStatement: entries(createSwitchBranch, coverStatement),\n SwitchCase: entries(coverSwitchCase),\n WithStatement: entries(blockProp('body'), coverStatement),\n FunctionDeclaration: entries(coverFunction),\n FunctionExpression: entries(coverFunction),\n LabeledStatement: entries(coverStatement),\n ConditionalExpression: entries(coverTernary),\n LogicalExpression: entries(coverLogicalExpression)\n};\nconst globalTemplateAlteredFunction = template(`\n var Function = (function(){}).constructor;\n var global = (new Function(GLOBAL_COVERAGE_SCOPE))();\n`);\nconst globalTemplateFunction = template(`\n var global = (new Function(GLOBAL_COVERAGE_SCOPE))();\n`);\nconst globalTemplateVariable = template(`\n var global = GLOBAL_COVERAGE_SCOPE;\n`);\n// the template to insert at the top of the program.\nconst coverageTemplate = template(\n `\n function COVERAGE_FUNCTION () {\n var path = PATH;\n var hash = HASH;\n GLOBAL_COVERAGE_TEMPLATE\n var gcv = GLOBAL_COVERAGE_VAR;\n var coverageData = INITIAL;\n var coverage = global[gcv] || (global[gcv] = {});\n if (!coverage[path] || coverage[path].hash !== hash) {\n coverage[path] = coverageData;\n }\n\n var actualCoverage = coverage[path];\n {\n // @ts-ignore\n COVERAGE_FUNCTION = function () {\n return actualCoverage;\n }\n }\n\n return actualCoverage;\n }\n`,\n { preserveComments: true }\n);\n// the rewire plugin (and potentially other babel middleware)\n// may cause files to be instrumented twice, see:\n// https://github.com/istanbuljs/babel-plugin-istanbul/issues/94\n// we should only instrument code for coverage the first time\n// it's run through istanbul-lib-instrument.\nfunction alreadyInstrumented(path, visitState) {\n return path.scope.hasBinding(visitState.varName);\n}\nfunction shouldIgnoreFile(programNode) {\n return (\n programNode.parent &&\n programNode.parent.comments.some(c => COMMENT_FILE_RE.test(c.value))\n );\n}\n\n/**\n * programVisitor is a `babel` adaptor for instrumentation.\n * It returns an object with two methods `enter` and `exit`.\n * These should be assigned to or called from `Program` entry and exit functions\n * in a babel visitor.\n * These functions do not make assumptions about the state set by Babel and thus\n * can be used in a context other than a Babel plugin.\n *\n * The exit function returns an object that currently has the following keys:\n *\n * `fileCoverage` - the file coverage object created for the source file.\n * `sourceMappingURL` - any source mapping URL found when processing the file.\n *\n * @param {Object} types - an instance of babel-types.\n * @param {string} sourceFilePath - the path to source file.\n * @param {Object} opts - additional options.\n * @param {string} [opts.coverageVariable=__coverage__] the global coverage variable name.\n * @param {boolean} [opts.reportLogic=false] report boolean value of logical expressions.\n * @param {string} [opts.coverageGlobalScope=this] the global coverage variable scope.\n * @param {boolean} [opts.coverageGlobalScopeFunc=true] use an evaluated function to find coverageGlobalScope.\n * @param {Array} [opts.ignoreClassMethods=[]] names of methods to ignore by default on classes.\n * @param {object} [opts.inputSourceMap=undefined] the input source map, that maps the uninstrumented code back to the\n * original code.\n */\nfunction programVisitor(types, sourceFilePath = 'unknown.js', opts = {}) {\n const T = types;\n opts = {\n ...defaults.instrumentVisitor,\n ...opts\n };\n const visitState = new VisitState(\n types,\n sourceFilePath,\n opts.inputSourceMap,\n opts.ignoreClassMethods,\n opts.reportLogic\n );\n return {\n enter(path) {\n if (shouldIgnoreFile(path.find(p => p.isProgram()))) {\n return;\n }\n if (alreadyInstrumented(path, visitState)) {\n return;\n }\n path.traverse(codeVisitor, visitState);\n },\n exit(path) {\n if (alreadyInstrumented(path, visitState)) {\n return;\n }\n visitState.cov.freeze();\n const coverageData = visitState.cov.toJSON();\n if (shouldIgnoreFile(path.find(p => p.isProgram()))) {\n return {\n fileCoverage: coverageData,\n sourceMappingURL: visitState.sourceMappingURL\n };\n }\n coverageData[MAGIC_KEY] = MAGIC_VALUE;\n const hash = createHash(SHA)\n .update(JSON.stringify(coverageData))\n .digest('hex');\n coverageData.hash = hash;\n if (\n coverageData.inputSourceMap &&\n Object.getPrototypeOf(coverageData.inputSourceMap) !==\n Object.prototype\n ) {\n coverageData.inputSourceMap = {\n ...coverageData.inputSourceMap\n };\n }\n const coverageNode = T.valueToNode(coverageData);\n delete coverageData[MAGIC_KEY];\n delete coverageData.hash;\n let gvTemplate;\n if (opts.coverageGlobalScopeFunc) {\n if (path.scope.getBinding('Function')) {\n gvTemplate = globalTemplateAlteredFunction({\n GLOBAL_COVERAGE_SCOPE: T.stringLiteral(\n 'return ' + opts.coverageGlobalScope\n )\n });\n } else {\n gvTemplate = globalTemplateFunction({\n GLOBAL_COVERAGE_SCOPE: T.stringLiteral(\n 'return ' + opts.coverageGlobalScope\n )\n });\n }\n } else {\n gvTemplate = globalTemplateVariable({\n GLOBAL_COVERAGE_SCOPE: opts.coverageGlobalScope\n });\n }\n const cv = coverageTemplate({\n GLOBAL_COVERAGE_VAR: T.stringLiteral(opts.coverageVariable),\n GLOBAL_COVERAGE_TEMPLATE: gvTemplate,\n COVERAGE_FUNCTION: T.identifier(visitState.varName),\n PATH: T.stringLiteral(sourceFilePath),\n INITIAL: coverageNode,\n HASH: T.stringLiteral(hash)\n });\n // explicitly call this.varName to ensure coverage is always initialized\n path.node.body.unshift(\n T.expressionStatement(\n T.callExpression(T.identifier(visitState.varName), [])\n )\n );\n path.node.body.unshift(cv);\n return {\n fileCoverage: coverageData,\n sourceMappingURL: visitState.sourceMappingURL\n };\n }\n };\n}\n\nmodule.exports = programVisitor;\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-instrument/src/visitor.js?"); + +/***/ }), + +/***/ "./node_modules/js-tokens/index.js": +/*!*****************************************!*\ + !*** ./node_modules/js-tokens/index.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell\n// License: MIT. (See LICENSE.)\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}))\n\n// This regex comes from regex.coffee, and is inserted here by generate-index.js\n// (run `npm run build`).\nexports[\"default\"] = /((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g\n\nexports.matchToToken = function(match) {\n var token = {type: \"invalid\", value: match[0], closed: undefined}\n if (match[ 1]) token.type = \"string\" , token.closed = !!(match[3] || match[4])\n else if (match[ 5]) token.type = \"comment\"\n else if (match[ 6]) token.type = \"comment\", token.closed = !!match[7]\n else if (match[ 8]) token.type = \"regex\"\n else if (match[ 9]) token.type = \"number\"\n else if (match[10]) token.type = \"name\"\n else if (match[11]) token.type = \"punctuator\"\n else if (match[12]) token.type = \"whitespace\"\n return token\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/js-tokens/index.js?"); + +/***/ }), + +/***/ "./node_modules/jsesc/jsesc.js": +/*!*************************************!*\ + !*** ./node_modules/jsesc/jsesc.js ***! + \*************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nconst object = {};\nconst hasOwnProperty = object.hasOwnProperty;\nconst forOwn = (object, callback) => {\n\tfor (const key in object) {\n\t\tif (hasOwnProperty.call(object, key)) {\n\t\t\tcallback(key, object[key]);\n\t\t}\n\t}\n};\n\nconst extend = (destination, source) => {\n\tif (!source) {\n\t\treturn destination;\n\t}\n\tforOwn(source, (key, value) => {\n\t\tdestination[key] = value;\n\t});\n\treturn destination;\n};\n\nconst forEach = (array, callback) => {\n\tconst length = array.length;\n\tlet index = -1;\n\twhile (++index < length) {\n\t\tcallback(array[index]);\n\t}\n};\n\nconst fourHexEscape = (hex) => {\n\treturn '\\\\u' + ('0000' + hex).slice(-4);\n}\n\nconst hexadecimal = (code, lowercase) => {\n\tlet hexadecimal = code.toString(16);\n\tif (lowercase) return hexadecimal;\n\treturn hexadecimal.toUpperCase();\n};\n\nconst toString = object.toString;\nconst isArray = Array.isArray;\nconst isBuffer = (value) => {\n\treturn typeof Buffer === 'function' && Buffer.isBuffer(value);\n};\nconst isObject = (value) => {\n\t// This is a very simple check, but it’s good enough for what we need.\n\treturn toString.call(value) == '[object Object]';\n};\nconst isString = (value) => {\n\treturn typeof value == 'string' ||\n\t\ttoString.call(value) == '[object String]';\n};\nconst isNumber = (value) => {\n\treturn typeof value == 'number' ||\n\t\ttoString.call(value) == '[object Number]';\n};\nconst isFunction = (value) => {\n\treturn typeof value == 'function';\n};\nconst isMap = (value) => {\n\treturn toString.call(value) == '[object Map]';\n};\nconst isSet = (value) => {\n\treturn toString.call(value) == '[object Set]';\n};\n\n/*--------------------------------------------------------------------------*/\n\n// https://mathiasbynens.be/notes/javascript-escapes#single\nconst singleEscapes = {\n\t'\\\\': '\\\\\\\\',\n\t'\\b': '\\\\b',\n\t'\\f': '\\\\f',\n\t'\\n': '\\\\n',\n\t'\\r': '\\\\r',\n\t'\\t': '\\\\t'\n\t// `\\v` is omitted intentionally, because in IE < 9, '\\v' == 'v'.\n\t// '\\v': '\\\\x0B'\n};\nconst regexSingleEscape = /[\\\\\\b\\f\\n\\r\\t]/;\n\nconst regexDigit = /[0-9]/;\nconst regexWhitespace = /[\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n\nconst escapeEverythingRegex = /([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])|([\\uD800-\\uDFFF])|(['\"`])|[^]/g;\nconst escapeNonAsciiRegex = /([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])|([\\uD800-\\uDFFF])|(['\"`])|[^ !#-&\\(-\\[\\]-_a-~]/g;\n\nconst jsesc = (argument, options) => {\n\tconst increaseIndentation = () => {\n\t\toldIndent = indent;\n\t\t++options.indentLevel;\n\t\tindent = options.indent.repeat(options.indentLevel)\n\t};\n\t// Handle options\n\tconst defaults = {\n\t\t'escapeEverything': false,\n\t\t'minimal': false,\n\t\t'isScriptContext': false,\n\t\t'quotes': 'single',\n\t\t'wrap': false,\n\t\t'es6': false,\n\t\t'json': false,\n\t\t'compact': true,\n\t\t'lowercaseHex': false,\n\t\t'numbers': 'decimal',\n\t\t'indent': '\\t',\n\t\t'indentLevel': 0,\n\t\t'__inline1__': false,\n\t\t'__inline2__': false\n\t};\n\tconst json = options && options.json;\n\tif (json) {\n\t\tdefaults.quotes = 'double';\n\t\tdefaults.wrap = true;\n\t}\n\toptions = extend(defaults, options);\n\tif (\n\t\toptions.quotes != 'single' &&\n\t\toptions.quotes != 'double' &&\n\t\toptions.quotes != 'backtick'\n\t) {\n\t\toptions.quotes = 'single';\n\t}\n\tconst quote = options.quotes == 'double' ?\n\t\t'\"' :\n\t\t(options.quotes == 'backtick' ?\n\t\t\t'`' :\n\t\t\t'\\''\n\t\t);\n\tconst compact = options.compact;\n\tconst lowercaseHex = options.lowercaseHex;\n\tlet indent = options.indent.repeat(options.indentLevel);\n\tlet oldIndent = '';\n\tconst inline1 = options.__inline1__;\n\tconst inline2 = options.__inline2__;\n\tconst newLine = compact ? '' : '\\n';\n\tlet result;\n\tlet isEmpty = true;\n\tconst useBinNumbers = options.numbers == 'binary';\n\tconst useOctNumbers = options.numbers == 'octal';\n\tconst useDecNumbers = options.numbers == 'decimal';\n\tconst useHexNumbers = options.numbers == 'hexadecimal';\n\n\tif (json && argument && isFunction(argument.toJSON)) {\n\t\targument = argument.toJSON();\n\t}\n\n\tif (!isString(argument)) {\n\t\tif (isMap(argument)) {\n\t\t\tif (argument.size == 0) {\n\t\t\t\treturn 'new Map()';\n\t\t\t}\n\t\t\tif (!compact) {\n\t\t\t\toptions.__inline1__ = true;\n\t\t\t\toptions.__inline2__ = false;\n\t\t\t}\n\t\t\treturn 'new Map(' + jsesc(Array.from(argument), options) + ')';\n\t\t}\n\t\tif (isSet(argument)) {\n\t\t\tif (argument.size == 0) {\n\t\t\t\treturn 'new Set()';\n\t\t\t}\n\t\t\treturn 'new Set(' + jsesc(Array.from(argument), options) + ')';\n\t\t}\n\t\tif (isBuffer(argument)) {\n\t\t\tif (argument.length == 0) {\n\t\t\t\treturn 'Buffer.from([])';\n\t\t\t}\n\t\t\treturn 'Buffer.from(' + jsesc(Array.from(argument), options) + ')';\n\t\t}\n\t\tif (isArray(argument)) {\n\t\t\tresult = [];\n\t\t\toptions.wrap = true;\n\t\t\tif (inline1) {\n\t\t\t\toptions.__inline1__ = false;\n\t\t\t\toptions.__inline2__ = true;\n\t\t\t}\n\t\t\tif (!inline2) {\n\t\t\t\tincreaseIndentation();\n\t\t\t}\n\t\t\tforEach(argument, (value) => {\n\t\t\t\tisEmpty = false;\n\t\t\t\tif (inline2) {\n\t\t\t\t\toptions.__inline2__ = false;\n\t\t\t\t}\n\t\t\t\tresult.push(\n\t\t\t\t\t(compact || inline2 ? '' : indent) +\n\t\t\t\t\tjsesc(value, options)\n\t\t\t\t);\n\t\t\t});\n\t\t\tif (isEmpty) {\n\t\t\t\treturn '[]';\n\t\t\t}\n\t\t\tif (inline2) {\n\t\t\t\treturn '[' + result.join(', ') + ']';\n\t\t\t}\n\t\t\treturn '[' + newLine + result.join(',' + newLine) + newLine +\n\t\t\t\t(compact ? '' : oldIndent) + ']';\n\t\t} else if (isNumber(argument)) {\n\t\t\tif (json) {\n\t\t\t\t// Some number values (e.g. `Infinity`) cannot be represented in JSON.\n\t\t\t\treturn JSON.stringify(argument);\n\t\t\t}\n\t\t\tif (useDecNumbers) {\n\t\t\t\treturn String(argument);\n\t\t\t}\n\t\t\tif (useHexNumbers) {\n\t\t\t\tlet hexadecimal = argument.toString(16);\n\t\t\t\tif (!lowercaseHex) {\n\t\t\t\t\thexadecimal = hexadecimal.toUpperCase();\n\t\t\t\t}\n\t\t\t\treturn '0x' + hexadecimal;\n\t\t\t}\n\t\t\tif (useBinNumbers) {\n\t\t\t\treturn '0b' + argument.toString(2);\n\t\t\t}\n\t\t\tif (useOctNumbers) {\n\t\t\t\treturn '0o' + argument.toString(8);\n\t\t\t}\n\t\t} else if (!isObject(argument)) {\n\t\t\tif (json) {\n\t\t\t\t// For some values (e.g. `undefined`, `function` objects),\n\t\t\t\t// `JSON.stringify(value)` returns `undefined` (which isn’t valid\n\t\t\t\t// JSON) instead of `'null'`.\n\t\t\t\treturn JSON.stringify(argument) || 'null';\n\t\t\t}\n\t\t\treturn String(argument);\n\t\t} else { // it’s an object\n\t\t\tresult = [];\n\t\t\toptions.wrap = true;\n\t\t\tincreaseIndentation();\n\t\t\tforOwn(argument, (key, value) => {\n\t\t\t\tisEmpty = false;\n\t\t\t\tresult.push(\n\t\t\t\t\t(compact ? '' : indent) +\n\t\t\t\t\tjsesc(key, options) + ':' +\n\t\t\t\t\t(compact ? '' : ' ') +\n\t\t\t\t\tjsesc(value, options)\n\t\t\t\t);\n\t\t\t});\n\t\t\tif (isEmpty) {\n\t\t\t\treturn '{}';\n\t\t\t}\n\t\t\treturn '{' + newLine + result.join(',' + newLine) + newLine +\n\t\t\t\t(compact ? '' : oldIndent) + '}';\n\t\t}\n\t}\n\n\tconst regex = options.escapeEverything ? escapeEverythingRegex : escapeNonAsciiRegex;\n\tresult = argument.replace(regex, (char, pair, lone, quoteChar, index, string) => {\n\t\tif (pair) {\n\t\t\tif (options.minimal) return pair;\n\t\t\tconst first = pair.charCodeAt(0);\n\t\t\tconst second = pair.charCodeAt(1);\n\t\t\tif (options.es6) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tconst codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t\t\t\tconst hex = hexadecimal(codePoint, lowercaseHex);\n\t\t\t\treturn '\\\\u{' + hex + '}';\n\t\t\t}\n\t\t\treturn fourHexEscape(hexadecimal(first, lowercaseHex)) + fourHexEscape(hexadecimal(second, lowercaseHex));\n\t\t}\n\n\t\tif (lone) {\n\t\t\treturn fourHexEscape(hexadecimal(lone.charCodeAt(0), lowercaseHex));\n\t\t}\n\n\t\tif (\n\t\t\tchar == '\\0' &&\n\t\t\t!json &&\n\t\t\t!regexDigit.test(string.charAt(index + 1))\n\t\t) {\n\t\t\treturn '\\\\0';\n\t\t}\n\n\t\tif (quoteChar) {\n\t\t\tif (quoteChar == quote || options.escapeEverything) {\n\t\t\t\treturn '\\\\' + quoteChar;\n\t\t\t}\n\t\t\treturn quoteChar;\n\t\t}\n\n\t\tif (regexSingleEscape.test(char)) {\n\t\t\t// no need for a `hasOwnProperty` check here\n\t\t\treturn singleEscapes[char];\n\t\t}\n\n\t\tif (options.minimal && !regexWhitespace.test(char)) {\n\t\t\treturn char;\n\t\t}\n\n\t\tconst hex = hexadecimal(char.charCodeAt(0), lowercaseHex);\n\t\tif (json || hex.length > 2) {\n\t\t\treturn fourHexEscape(hex);\n\t\t}\n\n\t\treturn '\\\\x' + ('00' + hex).slice(-2);\n\t});\n\n\tif (quote == '`') {\n\t\tresult = result.replace(/\\$\\{/g, '\\\\${');\n\t}\n\tif (options.isScriptContext) {\n\t\t// https://mathiasbynens.be/notes/etago\n\t\tresult = result\n\t\t\t.replace(/<\\/(script|style)/gi, '<\\\\/$1')\n\t\t\t.replace(/ * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p + pr\n } else if (xm) {\n ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0' + pr +\n ' <' + M + '.' + (+m + 1) + '.0' + pr\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(safeRe[t.STAR], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version, options) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n var match = null\n if (!options.rtl) {\n match = version.match(safeRe[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n var next\n while ((next = safeRe[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n safeRe[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n return parse(match[2] +\n '.' + (match[3] || '0') +\n '.' + (match[4] || '0'), options)\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/semver/semver.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/hash.js": +/*!*************************************!*\ + !*** ./node_modules/sha.js/hash.js ***! + \*************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/hash.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/index.js": +/*!**************************************!*\ + !*** ./node_modules/sha.js/index.js ***! + \**************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = __webpack_require__(/*! ./sha */ \"./node_modules/sha.js/sha.js\")\nexports.sha1 = __webpack_require__(/*! ./sha1 */ \"./node_modules/sha.js/sha1.js\")\nexports.sha224 = __webpack_require__(/*! ./sha224 */ \"./node_modules/sha.js/sha224.js\")\nexports.sha256 = __webpack_require__(/*! ./sha256 */ \"./node_modules/sha.js/sha256.js\")\nexports.sha384 = __webpack_require__(/*! ./sha384 */ \"./node_modules/sha.js/sha384.js\")\nexports.sha512 = __webpack_require__(/*! ./sha512 */ \"./node_modules/sha.js/sha512.js\")\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/index.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/sha.js": +/*!************************************!*\ + !*** ./node_modules/sha.js/sha.js ***! + \************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/sha.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/sha1.js": +/*!*************************************!*\ + !*** ./node_modules/sha.js/sha1.js ***! + \*************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/sha1.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/sha224.js": +/*!***************************************!*\ + !*** ./node_modules/sha.js/sha224.js ***! + \***************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Sha256 = __webpack_require__(/*! ./sha256 */ \"./node_modules/sha.js/sha256.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/sha224.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/sha256.js": +/*!***************************************!*\ + !*** ./node_modules/sha.js/sha256.js ***! + \***************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/sha256.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/sha384.js": +/*!***************************************!*\ + !*** ./node_modules/sha.js/sha384.js ***! + \***************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar SHA512 = __webpack_require__(/*! ./sha512 */ \"./node_modules/sha.js/sha512.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/sha384.js?"); + +/***/ }), + +/***/ "./node_modules/sha.js/sha512.js": +/*!***************************************!*\ + !*** ./node_modules/sha.js/sha512.js ***! + \***************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/sha.js/sha512.js?"); + +/***/ }), + +/***/ "./node_modules/stream-browserify/index.js": +/*!*************************************************!*\ + !*** ./node_modules/stream-browserify/index.js ***! + \*************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = (__webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter);\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\ninherits(Stream, EE);\nStream.Readable = __webpack_require__(/*! readable-stream/lib/_stream_readable.js */ \"./node_modules/readable-stream/lib/_stream_readable.js\");\nStream.Writable = __webpack_require__(/*! readable-stream/lib/_stream_writable.js */ \"./node_modules/readable-stream/lib/_stream_writable.js\");\nStream.Duplex = __webpack_require__(/*! readable-stream/lib/_stream_duplex.js */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\nStream.Transform = __webpack_require__(/*! readable-stream/lib/_stream_transform.js */ \"./node_modules/readable-stream/lib/_stream_transform.js\");\nStream.PassThrough = __webpack_require__(/*! readable-stream/lib/_stream_passthrough.js */ \"./node_modules/readable-stream/lib/_stream_passthrough.js\");\nStream.finished = __webpack_require__(/*! readable-stream/lib/internal/streams/end-of-stream.js */ \"./node_modules/readable-stream/lib/internal/streams/end-of-stream.js\")\nStream.pipeline = __webpack_require__(/*! readable-stream/lib/internal/streams/pipeline.js */ \"./node_modules/readable-stream/lib/internal/streams/pipeline.js\")\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/stream-browserify/index.js?"); + +/***/ }), + +/***/ "./node_modules/string_decoder/lib/string_decoder.js": +/*!***********************************************************!*\ + !*** ./node_modules/string_decoder/lib/string_decoder.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/**/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n\n//# sourceURL=webpack://instrumenter/./node_modules/string_decoder/lib/string_decoder.js?"); + +/***/ }), + +/***/ "./node_modules/util-deprecate/browser.js": +/*!************************************************!*\ + !*** ./node_modules/util-deprecate/browser.js ***! + \************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!__webpack_require__.g.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = __webpack_require__.g.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/util-deprecate/browser.js?"); + +/***/ }), + +/***/ "./node_modules/vm-browserify/index.js": +/*!*********************************************!*\ + !*** ./node_modules/vm-browserify/index.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("var indexOf = function (xs, item) {\n if (xs.indexOf) return xs.indexOf(item);\n else for (var i = 0; i < xs.length; i++) {\n if (xs[i] === item) return i;\n }\n return -1;\n};\nvar Object_keys = function (obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key)\n return res;\n }\n};\n\nvar forEach = function (xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n};\n\nvar defineProp = (function() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n })\n };\n } catch(e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}());\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'];\n\nfunction Context() {}\nContext.prototype = {};\n\nvar Script = exports.Script = function NodeScript (code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n};\n\nScript.prototype.runInContext = function (context) {\n if (!(context instanceof Context)) {\n throw new TypeError(\"needs a 'context' argument.\");\n }\n \n var iframe = document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n \n document.body.appendChild(iframe);\n \n var win = iframe.contentWindow;\n var wEval = win.eval, wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n \n forEach(Object_keys(context), function (key) {\n win[key] = context[key];\n });\n forEach(globals, function (key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n \n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n \n forEach(Object_keys(win), function (key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function (key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n \n document.body.removeChild(iframe);\n \n return res;\n};\n\nScript.prototype.runInThisContext = function () {\n return eval(this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function (context) {\n var ctx = Script.createContext(context);\n var res = this.runInContext(ctx);\n\n if (context) {\n forEach(Object_keys(ctx), function (key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nforEach(Object_keys(Script.prototype), function (name) {\n exports[name] = Script[name] = function (code) {\n var s = Script(code);\n return s[name].apply(s, [].slice.call(arguments, 1));\n };\n});\n\nexports.isContext = function (context) {\n return context instanceof Context;\n};\n\nexports.createScript = function (code) {\n return exports.Script(code);\n};\n\nexports.createContext = Script.createContext = function (context) {\n var copy = new Context();\n if(typeof context === 'object') {\n forEach(Object_keys(context), function (key) {\n copy[key] = context[key];\n });\n }\n return copy;\n};\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/vm-browserify/index.js?"); + +/***/ }), + +/***/ "./node_modules/yallist/iterator.js": +/*!******************************************!*\ + !*** ./node_modules/yallist/iterator.js ***! + \******************************************/ +/***/ ((module) => { + +"use strict"; +eval("\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/yallist/iterator.js?"); + +/***/ }), + +/***/ "./node_modules/yallist/yallist.js": +/*!*****************************************!*\ + !*** ./node_modules/yallist/yallist.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount /*, ...nodes */) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 2; i < arguments.length; i++) {\n walker = insert(this, walker, arguments[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n __webpack_require__(/*! ./iterator.js */ \"./node_modules/yallist/iterator.js\")(Yallist)\n} catch (er) {}\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/yallist/yallist.js?"); + +/***/ }), + +/***/ "./src/index.js": +/*!**********************!*\ + !*** ./src/index.js ***! + \**********************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("var { createInstrumenter } = __webpack_require__(/*! istanbul-lib-instrument */ \"./node_modules/istanbul-lib-instrument/src/index.js\")\n\nvar instrumenter = createInstrumenter({\n esModules: true,\n coverageGlobalScopeFunc: false,\n coverageGlobalScope: 'window',\n})\n\ninstrument = function(input, path) {\n return instrumenter.instrumentSync(input, path);\n}\n\ninstrumenterReady = true\n\n\n//# sourceURL=webpack://instrumenter/./src/index.js?"); + +/***/ }), + +/***/ "?748e": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/fs_(ignored)?"); + +/***/ }), + +/***/ "?558c": +/*!************************!*\ + !*** assert (ignored) ***! + \************************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/assert_(ignored)?"); + +/***/ }), + +/***/ "?06e8": +/*!************************!*\ + !*** assert (ignored) ***! + \************************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/assert_(ignored)?"); + +/***/ }), + +/***/ "?8131": +/*!************************!*\ + !*** buffer (ignored) ***! + \************************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/buffer_(ignored)?"); + +/***/ }), + +/***/ "?3fc0": +/*!************************!*\ + !*** crypto (ignored) ***! + \************************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/crypto_(ignored)?"); + +/***/ }), + +/***/ "?f9d4": +/*!************************!*\ + !*** buffer (ignored) ***! + \************************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/buffer_(ignored)?"); + +/***/ }), + +/***/ "?7a28": +/*!************************!*\ + !*** buffer (ignored) ***! + \************************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/buffer_(ignored)?"); + +/***/ }), + +/***/ "?cad2": +/*!**********************!*\ + !*** util (ignored) ***! + \**********************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/util_(ignored)?"); + +/***/ }), + +/***/ "?593c": +/*!**********************!*\ + !*** util (ignored) ***! + \**********************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/util_(ignored)?"); + +/***/ }), + +/***/ "?3465": +/*!**********************!*\ + !*** path (ignored) ***! + \**********************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/path_(ignored)?"); + +/***/ }), + +/***/ "?ed1b": +/*!**********************!*\ + !*** util (ignored) ***! + \**********************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/util_(ignored)?"); + +/***/ }), + +/***/ "?d17e": +/*!**********************!*\ + !*** util (ignored) ***! + \**********************/ +/***/ (() => { + +eval("/* (ignored) */\n\n//# sourceURL=webpack://instrumenter/util_(ignored)?"); + +/***/ }), + +/***/ "./node_modules/@babel/code-frame/lib/index.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/code-frame/lib/index.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n\nvar picocolors = __webpack_require__(/*! picocolors */ \"./node_modules/picocolors/picocolors.browser.js\");\nvar jsTokens = __webpack_require__(/*! js-tokens */ \"./node_modules/js-tokens/index.js\");\nvar helperValidatorIdentifier = __webpack_require__(/*! @babel/helper-validator-identifier */ \"./node_modules/@babel/helper-validator-identifier/lib/index.js\");\n\nfunction isColorSupported() {\n return (typeof process === \"object\" && (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\") ? false : picocolors.isColorSupported\n );\n}\nconst compose = (f, g) => v => f(g(v));\nfunction buildDefs(colors) {\n return {\n keyword: colors.cyan,\n capitalized: colors.yellow,\n jsxIdentifier: colors.yellow,\n punctuator: colors.yellow,\n number: colors.magenta,\n string: colors.green,\n regex: colors.magenta,\n comment: colors.gray,\n invalid: compose(compose(colors.white, colors.bgRed), colors.bold),\n gutter: colors.gray,\n marker: compose(colors.red, colors.bold),\n message: compose(colors.red, colors.bold),\n reset: colors.reset\n };\n}\nconst defsOn = buildDefs(picocolors.createColors(true));\nconst defsOff = buildDefs(picocolors.createColors(false));\nfunction getDefs(enabled) {\n return enabled ? defsOn : defsOff;\n}\n\nconst sometimesKeywords = new Set([\"as\", \"async\", \"from\", \"get\", \"of\", \"set\"]);\nconst NEWLINE$1 = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\nconst BRACKET = /^[()[\\]{}]$/;\nlet tokenize;\n{\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n const getTokenType = function (token, offset, text) {\n if (token.type === \"name\") {\n if (helperValidatorIdentifier.isKeyword(token.value) || helperValidatorIdentifier.isStrictReservedWord(token.value, true) || sometimesKeywords.has(token.value)) {\n return \"keyword\";\n }\n if (JSX_TAG.test(token.value) && (text[offset - 1] === \"<\" || text.slice(offset - 2, offset) === \" defs[type](str)).join(\"\\n\");\n } else {\n highlighted += value;\n }\n }\n return highlighted;\n}\n\nlet deprecationWarningShown = false;\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\nfunction getMarkerLines(loc, source, opts) {\n const startLoc = Object.assign({\n column: 0,\n line: -1\n }, loc.start);\n const endLoc = Object.assign({}, startLoc, loc.end);\n const {\n linesAbove = 2,\n linesBelow = 3\n } = opts || {};\n const startLine = startLoc.line;\n const startColumn = startLoc.column;\n const endLine = endLoc.line;\n const endColumn = endLoc.column;\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n if (startLine === -1) {\n start = 0;\n }\n if (endLine === -1) {\n end = source.length;\n }\n const lineDiff = endLine - startLine;\n const markerLines = {};\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n return {\n start,\n end,\n markerLines\n };\n}\nfunction codeFrameColumns(rawLines, loc, opts = {}) {\n const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;\n const defs = getDefs(shouldHighlight);\n const lines = rawLines.split(NEWLINE);\n const {\n start,\n end,\n markerLines\n } = getMarkerLines(loc, lines, opts);\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n const numberMaxWidth = String(end).length;\n const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;\n let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number}`.slice(-numberMaxWidth);\n const gutter = ` ${paddedNumber} |`;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n if (hasMarker) {\n let markerLine = \"\";\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n markerLine = [\"\\n \", defs.gutter(gutter.replace(/\\d/g, \" \")), \" \", markerSpacing, defs.marker(\"^\").repeat(numberOfMarkers)].join(\"\");\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + defs.message(opts.message);\n }\n }\n return [defs.marker(\">\"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : \"\", markerLine].join(\"\");\n } else {\n return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : \"\"}`;\n }\n }).join(\"\\n\");\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n if (shouldHighlight) {\n return defs.reset(frame);\n } else {\n return frame;\n }\n}\nfunction index (rawLines, lineNumber, colNumber, opts = {}) {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n const message = \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n if (process.emitWarning) {\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n colNumber = Math.max(colNumber, 0);\n const location = {\n start: {\n column: colNumber,\n line: lineNumber\n }\n };\n return codeFrameColumns(rawLines, location, opts);\n}\n\nexports.codeFrameColumns = codeFrameColumns;\nexports[\"default\"] = index;\nexports.highlight = highlight;\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/code-frame/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/compat-data/native-modules.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/compat-data/native-modules.js ***! + \***********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports = __webpack_require__(/*! ./data/native-modules.json */ \"./node_modules/@babel/compat-data/data/native-modules.json\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/compat-data/native-modules.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/compat-data/plugins.js": +/*!****************************************************!*\ + !*** ./node_modules/@babel/compat-data/plugins.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports = __webpack_require__(/*! ./data/plugins.json */ \"./node_modules/@babel/compat-data/data/plugins.json\");\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/compat-data/plugins.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/caching.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/caching.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.assertSimpleType = assertSimpleType;\nexports.makeStrongCache = makeStrongCache;\nexports.makeStrongCacheSync = makeStrongCacheSync;\nexports.makeWeakCache = makeWeakCache;\nexports.makeWeakCacheSync = makeWeakCacheSync;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nvar _async = __webpack_require__(/*! ../gensync-utils/async.js */ \"./node_modules/@babel/core/lib/gensync-utils/async.js\");\nvar _util = __webpack_require__(/*! ./util.js */ \"./node_modules/@babel/core/lib/config/util.js\");\nconst synchronize = gen => {\n return _gensync()(gen).sync;\n};\nfunction* genTrue() {\n return true;\n}\nfunction makeWeakCache(handler) {\n return makeCachedFunction(WeakMap, handler);\n}\nfunction makeWeakCacheSync(handler) {\n return synchronize(makeWeakCache(handler));\n}\nfunction makeStrongCache(handler) {\n return makeCachedFunction(Map, handler);\n}\nfunction makeStrongCacheSync(handler) {\n return synchronize(makeStrongCache(handler));\n}\nfunction makeCachedFunction(CallCache, handler) {\n const callCacheSync = new CallCache();\n const callCacheAsync = new CallCache();\n const futureCache = new CallCache();\n return function* cachedFunction(arg, data) {\n const asyncContext = yield* (0, _async.isAsync)();\n const callCache = asyncContext ? callCacheAsync : callCacheSync;\n const cached = yield* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data);\n if (cached.valid) return cached.value;\n const cache = new CacheConfigurator(data);\n const handlerResult = handler(arg, cache);\n let finishLock;\n let value;\n if ((0, _util.isIterableIterator)(handlerResult)) {\n value = yield* (0, _async.onFirstPause)(handlerResult, () => {\n finishLock = setupAsyncLocks(cache, futureCache, arg);\n });\n } else {\n value = handlerResult;\n }\n updateFunctionCache(callCache, cache, arg, value);\n if (finishLock) {\n futureCache.delete(arg);\n finishLock.release(value);\n }\n return value;\n };\n}\nfunction* getCachedValue(cache, arg, data) {\n const cachedValue = cache.get(arg);\n if (cachedValue) {\n for (const {\n value,\n valid\n } of cachedValue) {\n if (yield* valid(data)) return {\n valid: true,\n value\n };\n }\n }\n return {\n valid: false,\n value: null\n };\n}\nfunction* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data) {\n const cached = yield* getCachedValue(callCache, arg, data);\n if (cached.valid) {\n return cached;\n }\n if (asyncContext) {\n const cached = yield* getCachedValue(futureCache, arg, data);\n if (cached.valid) {\n const value = yield* (0, _async.waitFor)(cached.value.promise);\n return {\n valid: true,\n value\n };\n }\n }\n return {\n valid: false,\n value: null\n };\n}\nfunction setupAsyncLocks(config, futureCache, arg) {\n const finishLock = new Lock();\n updateFunctionCache(futureCache, config, arg, finishLock);\n return finishLock;\n}\nfunction updateFunctionCache(cache, config, arg, value) {\n if (!config.configured()) config.forever();\n let cachedValue = cache.get(arg);\n config.deactivate();\n switch (config.mode()) {\n case \"forever\":\n cachedValue = [{\n value,\n valid: genTrue\n }];\n cache.set(arg, cachedValue);\n break;\n case \"invalidate\":\n cachedValue = [{\n value,\n valid: config.validator()\n }];\n cache.set(arg, cachedValue);\n break;\n case \"valid\":\n if (cachedValue) {\n cachedValue.push({\n value,\n valid: config.validator()\n });\n } else {\n cachedValue = [{\n value,\n valid: config.validator()\n }];\n cache.set(arg, cachedValue);\n }\n }\n}\nclass CacheConfigurator {\n constructor(data) {\n this._active = true;\n this._never = false;\n this._forever = false;\n this._invalidate = false;\n this._configured = false;\n this._pairs = [];\n this._data = void 0;\n this._data = data;\n }\n simple() {\n return makeSimpleConfigurator(this);\n }\n mode() {\n if (this._never) return \"never\";\n if (this._forever) return \"forever\";\n if (this._invalidate) return \"invalidate\";\n return \"valid\";\n }\n forever() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never) {\n throw new Error(\"Caching has already been configured with .never()\");\n }\n this._forever = true;\n this._configured = true;\n }\n never() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._forever) {\n throw new Error(\"Caching has already been configured with .forever()\");\n }\n this._never = true;\n this._configured = true;\n }\n using(handler) {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never || this._forever) {\n throw new Error(\"Caching has already been configured with .never or .forever()\");\n }\n this._configured = true;\n const key = handler(this._data);\n const fn = (0, _async.maybeAsync)(handler, `You appear to be using an async cache handler, but Babel has been called synchronously`);\n if ((0, _async.isThenable)(key)) {\n return key.then(key => {\n this._pairs.push([key, fn]);\n return key;\n });\n }\n this._pairs.push([key, fn]);\n return key;\n }\n invalidate(handler) {\n this._invalidate = true;\n return this.using(handler);\n }\n validator() {\n const pairs = this._pairs;\n return function* (data) {\n for (const [key, fn] of pairs) {\n if (key !== (yield* fn(data))) return false;\n }\n return true;\n };\n }\n deactivate() {\n this._active = false;\n }\n configured() {\n return this._configured;\n }\n}\nfunction makeSimpleConfigurator(cache) {\n function cacheFn(val) {\n if (typeof val === \"boolean\") {\n if (val) cache.forever();else cache.never();\n return;\n }\n return cache.using(() => assertSimpleType(val()));\n }\n cacheFn.forever = () => cache.forever();\n cacheFn.never = () => cache.never();\n cacheFn.using = cb => cache.using(() => assertSimpleType(cb()));\n cacheFn.invalidate = cb => cache.invalidate(() => assertSimpleType(cb()));\n return cacheFn;\n}\nfunction assertSimpleType(value) {\n if ((0, _async.isThenable)(value)) {\n throw new Error(`You appear to be using an async cache handler, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously handle your caching logic.`);\n }\n if (value != null && typeof value !== \"string\" && typeof value !== \"boolean\" && typeof value !== \"number\") {\n throw new Error(\"Cache keys must be either string, boolean, number, null, or undefined.\");\n }\n return value;\n}\nclass Lock {\n constructor() {\n this.released = false;\n this.promise = void 0;\n this._resolve = void 0;\n this.promise = new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n release(value) {\n this.released = true;\n this._resolve(value);\n }\n}\n0 && 0;\n\n//# sourceMappingURL=caching.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/caching.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/config-chain.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/config-chain.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.buildPresetChain = buildPresetChain;\nexports.buildPresetChainWalker = void 0;\nexports.buildRootChain = buildRootChain;\nfunction _path() {\n const data = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n _path = function () {\n return data;\n };\n return data;\n}\nfunction _debug() {\n const data = __webpack_require__(/*! debug */ \"./node_modules/debug/src/browser.js\");\n _debug = function () {\n return data;\n };\n return data;\n}\nvar _options = __webpack_require__(/*! ./validation/options.js */ \"./node_modules/@babel/core/lib/config/validation/options.js\");\nvar _patternToRegex = __webpack_require__(/*! ./pattern-to-regex.js */ \"./node_modules/@babel/core/lib/config/pattern-to-regex.js\");\nvar _printer = __webpack_require__(/*! ./printer.js */ \"./node_modules/@babel/core/lib/config/printer.js\");\nvar _rewriteStackTrace = __webpack_require__(/*! ../errors/rewrite-stack-trace.js */ \"./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js\");\nvar _configError = __webpack_require__(/*! ../errors/config-error.js */ \"./node_modules/@babel/core/lib/errors/config-error.js\");\nvar _index = __webpack_require__(/*! ./files/index.js */ \"./node_modules/@babel/core/lib/config/files/index-browser.js\");\nvar _caching = __webpack_require__(/*! ./caching.js */ \"./node_modules/@babel/core/lib/config/caching.js\");\nvar _configDescriptors = __webpack_require__(/*! ./config-descriptors.js */ \"./node_modules/@babel/core/lib/config/config-descriptors.js\");\nconst debug = _debug()(\"babel:config:config-chain\");\nfunction* buildPresetChain(arg, context) {\n const chain = yield* buildPresetChainWalker(arg, context);\n if (!chain) return null;\n return {\n plugins: dedupDescriptors(chain.plugins),\n presets: dedupDescriptors(chain.presets),\n options: chain.options.map(o => normalizeOptions(o)),\n files: new Set()\n };\n}\nconst buildPresetChainWalker = exports.buildPresetChainWalker = makeChainWalker({\n root: preset => loadPresetDescriptors(preset),\n env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName),\n overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index),\n overridesEnv: (preset, index, envName) => loadPresetOverridesEnvDescriptors(preset)(index)(envName),\n createLogger: () => () => {}\n});\nconst loadPresetDescriptors = (0, _caching.makeWeakCacheSync)(preset => buildRootDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors));\nconst loadPresetEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, envName)));\nconst loadPresetOverridesDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index)));\nconst loadPresetOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index, envName))));\nfunction* buildRootChain(opts, context) {\n let configReport, babelRcReport;\n const programmaticLogger = new _printer.ConfigPrinter();\n const programmaticChain = yield* loadProgrammaticChain({\n options: opts,\n dirname: context.cwd\n }, context, undefined, programmaticLogger);\n if (!programmaticChain) return null;\n const programmaticReport = yield* programmaticLogger.output();\n let configFile;\n if (typeof opts.configFile === \"string\") {\n configFile = yield* (0, _index.loadConfig)(opts.configFile, context.cwd, context.envName, context.caller);\n } else if (opts.configFile !== false) {\n configFile = yield* (0, _index.findRootConfig)(context.root, context.envName, context.caller);\n }\n let {\n babelrc,\n babelrcRoots\n } = opts;\n let babelrcRootsDirectory = context.cwd;\n const configFileChain = emptyChain();\n const configFileLogger = new _printer.ConfigPrinter();\n if (configFile) {\n const validatedFile = validateConfigFile(configFile);\n const result = yield* loadFileChain(validatedFile, context, undefined, configFileLogger);\n if (!result) return null;\n configReport = yield* configFileLogger.output();\n if (babelrc === undefined) {\n babelrc = validatedFile.options.babelrc;\n }\n if (babelrcRoots === undefined) {\n babelrcRootsDirectory = validatedFile.dirname;\n babelrcRoots = validatedFile.options.babelrcRoots;\n }\n mergeChain(configFileChain, result);\n }\n let ignoreFile, babelrcFile;\n let isIgnored = false;\n const fileChain = emptyChain();\n if ((babelrc === true || babelrc === undefined) && typeof context.filename === \"string\") {\n const pkgData = yield* (0, _index.findPackageData)(context.filename);\n if (pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) {\n ({\n ignore: ignoreFile,\n config: babelrcFile\n } = yield* (0, _index.findRelativeConfig)(pkgData, context.envName, context.caller));\n if (ignoreFile) {\n fileChain.files.add(ignoreFile.filepath);\n }\n if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) {\n isIgnored = true;\n }\n if (babelrcFile && !isIgnored) {\n const validatedFile = validateBabelrcFile(babelrcFile);\n const babelrcLogger = new _printer.ConfigPrinter();\n const result = yield* loadFileChain(validatedFile, context, undefined, babelrcLogger);\n if (!result) {\n isIgnored = true;\n } else {\n babelRcReport = yield* babelrcLogger.output();\n mergeChain(fileChain, result);\n }\n }\n if (babelrcFile && isIgnored) {\n fileChain.files.add(babelrcFile.filepath);\n }\n }\n }\n if (context.showConfig) {\n console.log(`Babel configs on \"${context.filename}\" (ascending priority):\\n` + [configReport, babelRcReport, programmaticReport].filter(x => !!x).join(\"\\n\\n\") + \"\\n-----End Babel configs-----\");\n }\n const chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain);\n return {\n plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),\n presets: isIgnored ? [] : dedupDescriptors(chain.presets),\n options: isIgnored ? [] : chain.options.map(o => normalizeOptions(o)),\n fileHandling: isIgnored ? \"ignored\" : \"transpile\",\n ignore: ignoreFile || undefined,\n babelrc: babelrcFile || undefined,\n config: configFile || undefined,\n files: chain.files\n };\n}\nfunction babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) {\n if (typeof babelrcRoots === \"boolean\") return babelrcRoots;\n const absoluteRoot = context.root;\n if (babelrcRoots === undefined) {\n return pkgData.directories.includes(absoluteRoot);\n }\n let babelrcPatterns = babelrcRoots;\n if (!Array.isArray(babelrcPatterns)) {\n babelrcPatterns = [babelrcPatterns];\n }\n babelrcPatterns = babelrcPatterns.map(pat => {\n return typeof pat === \"string\" ? _path().resolve(babelrcRootsDirectory, pat) : pat;\n });\n if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {\n return pkgData.directories.includes(absoluteRoot);\n }\n return babelrcPatterns.some(pat => {\n if (typeof pat === \"string\") {\n pat = (0, _patternToRegex.default)(pat, babelrcRootsDirectory);\n }\n return pkgData.directories.some(directory => {\n return matchPattern(pat, babelrcRootsDirectory, directory, context);\n });\n });\n}\nconst validateConfigFile = (0, _caching.makeWeakCacheSync)(file => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: (0, _options.validate)(\"configfile\", file.options, file.filepath)\n}));\nconst validateBabelrcFile = (0, _caching.makeWeakCacheSync)(file => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: (0, _options.validate)(\"babelrcfile\", file.options, file.filepath)\n}));\nconst validateExtendFile = (0, _caching.makeWeakCacheSync)(file => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: (0, _options.validate)(\"extendsfile\", file.options, file.filepath)\n}));\nconst loadProgrammaticChain = makeChainWalker({\n root: input => buildRootDescriptors(input, \"base\", _configDescriptors.createCachedDescriptors),\n env: (input, envName) => buildEnvDescriptors(input, \"base\", _configDescriptors.createCachedDescriptors, envName),\n overrides: (input, index) => buildOverrideDescriptors(input, \"base\", _configDescriptors.createCachedDescriptors, index),\n overridesEnv: (input, index, envName) => buildOverrideEnvDescriptors(input, \"base\", _configDescriptors.createCachedDescriptors, index, envName),\n createLogger: (input, context, baseLogger) => buildProgrammaticLogger(input, context, baseLogger)\n});\nconst loadFileChainWalker = makeChainWalker({\n root: file => loadFileDescriptors(file),\n env: (file, envName) => loadFileEnvDescriptors(file)(envName),\n overrides: (file, index) => loadFileOverridesDescriptors(file)(index),\n overridesEnv: (file, index, envName) => loadFileOverridesEnvDescriptors(file)(index)(envName),\n createLogger: (file, context, baseLogger) => buildFileLogger(file.filepath, context, baseLogger)\n});\nfunction* loadFileChain(input, context, files, baseLogger) {\n const chain = yield* loadFileChainWalker(input, context, files, baseLogger);\n chain == null || chain.files.add(input.filepath);\n return chain;\n}\nconst loadFileDescriptors = (0, _caching.makeWeakCacheSync)(file => buildRootDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors));\nconst loadFileEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, envName)));\nconst loadFileOverridesDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index)));\nconst loadFileOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index, envName))));\nfunction buildFileLogger(filepath, context, baseLogger) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Config, {\n filepath\n });\n}\nfunction buildRootDescriptors({\n dirname,\n options\n}, alias, descriptors) {\n return descriptors(dirname, options, alias);\n}\nfunction buildProgrammaticLogger(_, context, baseLogger) {\n var _context$caller;\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Programmatic, {\n callerName: (_context$caller = context.caller) == null ? void 0 : _context$caller.name\n });\n}\nfunction buildEnvDescriptors({\n dirname,\n options\n}, alias, descriptors, envName) {\n var _options$env;\n const opts = (_options$env = options.env) == null ? void 0 : _options$env[envName];\n return opts ? descriptors(dirname, opts, `${alias}.env[\"${envName}\"]`) : null;\n}\nfunction buildOverrideDescriptors({\n dirname,\n options\n}, alias, descriptors, index) {\n var _options$overrides;\n const opts = (_options$overrides = options.overrides) == null ? void 0 : _options$overrides[index];\n if (!opts) throw new Error(\"Assertion failure - missing override\");\n return descriptors(dirname, opts, `${alias}.overrides[${index}]`);\n}\nfunction buildOverrideEnvDescriptors({\n dirname,\n options\n}, alias, descriptors, index, envName) {\n var _options$overrides2, _override$env;\n const override = (_options$overrides2 = options.overrides) == null ? void 0 : _options$overrides2[index];\n if (!override) throw new Error(\"Assertion failure - missing override\");\n const opts = (_override$env = override.env) == null ? void 0 : _override$env[envName];\n return opts ? descriptors(dirname, opts, `${alias}.overrides[${index}].env[\"${envName}\"]`) : null;\n}\nfunction makeChainWalker({\n root,\n env,\n overrides,\n overridesEnv,\n createLogger\n}) {\n return function* chainWalker(input, context, files = new Set(), baseLogger) {\n const {\n dirname\n } = input;\n const flattenedConfigs = [];\n const rootOpts = root(input);\n if (configIsApplicable(rootOpts, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: rootOpts,\n envName: undefined,\n index: undefined\n });\n const envOpts = env(input, context.envName);\n if (envOpts && configIsApplicable(envOpts, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: envOpts,\n envName: context.envName,\n index: undefined\n });\n }\n (rootOpts.options.overrides || []).forEach((_, index) => {\n const overrideOps = overrides(input, index);\n if (configIsApplicable(overrideOps, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: overrideOps,\n index,\n envName: undefined\n });\n const overrideEnvOpts = overridesEnv(input, index, context.envName);\n if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: overrideEnvOpts,\n index,\n envName: context.envName\n });\n }\n }\n });\n }\n if (flattenedConfigs.some(({\n config: {\n options: {\n ignore,\n only\n }\n }\n }) => shouldIgnore(context, ignore, only, dirname))) {\n return null;\n }\n const chain = emptyChain();\n const logger = createLogger(input, context, baseLogger);\n for (const {\n config,\n index,\n envName\n } of flattenedConfigs) {\n if (!(yield* mergeExtendsChain(chain, config.options, dirname, context, files, baseLogger))) {\n return null;\n }\n logger(config, index, envName);\n yield* mergeChainOpts(chain, config);\n }\n return chain;\n };\n}\nfunction* mergeExtendsChain(chain, opts, dirname, context, files, baseLogger) {\n if (opts.extends === undefined) return true;\n const file = yield* (0, _index.loadConfig)(opts.extends, dirname, context.envName, context.caller);\n if (files.has(file)) {\n throw new Error(`Configuration cycle detected loading ${file.filepath}.\\n` + `File already loaded following the config chain:\\n` + Array.from(files, file => ` - ${file.filepath}`).join(\"\\n\"));\n }\n files.add(file);\n const fileChain = yield* loadFileChain(validateExtendFile(file), context, files, baseLogger);\n files.delete(file);\n if (!fileChain) return false;\n mergeChain(chain, fileChain);\n return true;\n}\nfunction mergeChain(target, source) {\n target.options.push(...source.options);\n target.plugins.push(...source.plugins);\n target.presets.push(...source.presets);\n for (const file of source.files) {\n target.files.add(file);\n }\n return target;\n}\nfunction* mergeChainOpts(target, {\n options,\n plugins,\n presets\n}) {\n target.options.push(options);\n target.plugins.push(...(yield* plugins()));\n target.presets.push(...(yield* presets()));\n return target;\n}\nfunction emptyChain() {\n return {\n options: [],\n presets: [],\n plugins: [],\n files: new Set()\n };\n}\nfunction normalizeOptions(opts) {\n const options = Object.assign({}, opts);\n delete options.extends;\n delete options.env;\n delete options.overrides;\n delete options.plugins;\n delete options.presets;\n delete options.passPerPreset;\n delete options.ignore;\n delete options.only;\n delete options.test;\n delete options.include;\n delete options.exclude;\n if (hasOwnProperty.call(options, \"sourceMap\")) {\n options.sourceMaps = options.sourceMap;\n delete options.sourceMap;\n }\n return options;\n}\nfunction dedupDescriptors(items) {\n const map = new Map();\n const descriptors = [];\n for (const item of items) {\n if (typeof item.value === \"function\") {\n const fnKey = item.value;\n let nameMap = map.get(fnKey);\n if (!nameMap) {\n nameMap = new Map();\n map.set(fnKey, nameMap);\n }\n let desc = nameMap.get(item.name);\n if (!desc) {\n desc = {\n value: item\n };\n descriptors.push(desc);\n if (!item.ownPass) nameMap.set(item.name, desc);\n } else {\n desc.value = item;\n }\n } else {\n descriptors.push({\n value: item\n });\n }\n }\n return descriptors.reduce((acc, desc) => {\n acc.push(desc.value);\n return acc;\n }, []);\n}\nfunction configIsApplicable({\n options\n}, dirname, context, configName) {\n return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname, configName)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname, configName)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname, configName));\n}\nfunction configFieldIsApplicable(context, test, dirname, configName) {\n const patterns = Array.isArray(test) ? test : [test];\n return matchesPatterns(context, patterns, dirname, configName);\n}\nfunction ignoreListReplacer(_key, value) {\n if (value instanceof RegExp) {\n return String(value);\n }\n return value;\n}\nfunction shouldIgnore(context, ignore, only, dirname) {\n if (ignore && matchesPatterns(context, ignore, dirname)) {\n var _context$filename;\n const message = `No config is applied to \"${(_context$filename = context.filename) != null ? _context$filename : \"(unknown)\"}\" because it matches one of \\`ignore: ${JSON.stringify(ignore, ignoreListReplacer)}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n if (only && !matchesPatterns(context, only, dirname)) {\n var _context$filename2;\n const message = `No config is applied to \"${(_context$filename2 = context.filename) != null ? _context$filename2 : \"(unknown)\"}\" because it fails to match one of \\`only: ${JSON.stringify(only, ignoreListReplacer)}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n return false;\n}\nfunction matchesPatterns(context, patterns, dirname, configName) {\n return patterns.some(pattern => matchPattern(pattern, dirname, context.filename, context, configName));\n}\nfunction matchPattern(pattern, dirname, pathToTest, context, configName) {\n if (typeof pattern === \"function\") {\n return !!(0, _rewriteStackTrace.endHiddenCallStack)(pattern)(pathToTest, {\n dirname,\n envName: context.envName,\n caller: context.caller\n });\n }\n if (typeof pathToTest !== \"string\") {\n throw new _configError.default(`Configuration contains string/RegExp pattern, but no filename was passed to Babel`, configName);\n }\n if (typeof pattern === \"string\") {\n pattern = (0, _patternToRegex.default)(pattern, dirname);\n }\n return pattern.test(pathToTest);\n}\n0 && 0;\n\n//# sourceMappingURL=config-chain.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/config-chain.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/config-descriptors.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/config-descriptors.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createCachedDescriptors = createCachedDescriptors;\nexports.createDescriptor = createDescriptor;\nexports.createUncachedDescriptors = createUncachedDescriptors;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nvar _functional = __webpack_require__(/*! ../gensync-utils/functional.js */ \"./node_modules/@babel/core/lib/gensync-utils/functional.js\");\nvar _index = __webpack_require__(/*! ./files/index.js */ \"./node_modules/@babel/core/lib/config/files/index-browser.js\");\nvar _item = __webpack_require__(/*! ./item.js */ \"./node_modules/@babel/core/lib/config/item.js\");\nvar _caching = __webpack_require__(/*! ./caching.js */ \"./node_modules/@babel/core/lib/config/caching.js\");\nvar _resolveTargets = __webpack_require__(/*! ./resolve-targets.js */ \"./node_modules/@babel/core/lib/config/resolve-targets-browser.js\");\nfunction isEqualDescriptor(a, b) {\n var _a$file, _b$file, _a$file2, _b$file2;\n return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && ((_a$file = a.file) == null ? void 0 : _a$file.request) === ((_b$file = b.file) == null ? void 0 : _b$file.request) && ((_a$file2 = a.file) == null ? void 0 : _a$file2.resolved) === ((_b$file2 = b.file) == null ? void 0 : _b$file2.resolved);\n}\nfunction* handlerOf(value) {\n return value;\n}\nfunction optionsWithResolvedBrowserslistConfigFile(options, dirname) {\n if (typeof options.browserslistConfigFile === \"string\") {\n options.browserslistConfigFile = (0, _resolveTargets.resolveBrowserslistConfigFile)(options.browserslistConfigFile, dirname);\n }\n return options;\n}\nfunction createCachedDescriptors(dirname, options, alias) {\n const {\n plugins,\n presets,\n passPerPreset\n } = options;\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n plugins: plugins ? () => createCachedPluginDescriptors(plugins, dirname)(alias) : () => handlerOf([]),\n presets: presets ? () => createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset) : () => handlerOf([])\n };\n}\nfunction createUncachedDescriptors(dirname, options, alias) {\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n plugins: (0, _functional.once)(() => createPluginDescriptors(options.plugins || [], dirname, alias)),\n presets: (0, _functional.once)(() => createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset))\n };\n}\nconst PRESET_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPresetDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => {\n const dirname = cache.using(dir => dir);\n return (0, _caching.makeStrongCacheSync)(alias => (0, _caching.makeStrongCache)(function* (passPerPreset) {\n const descriptors = yield* createPresetDescriptors(items, dirname, alias, passPerPreset);\n return descriptors.map(desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc));\n }));\n});\nconst PLUGIN_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPluginDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => {\n const dirname = cache.using(dir => dir);\n return (0, _caching.makeStrongCache)(function* (alias) {\n const descriptors = yield* createPluginDescriptors(items, dirname, alias);\n return descriptors.map(desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc));\n });\n});\nconst DEFAULT_OPTIONS = {};\nfunction loadCachedDescriptor(cache, desc) {\n const {\n value,\n options = DEFAULT_OPTIONS\n } = desc;\n if (options === false) return desc;\n let cacheByOptions = cache.get(value);\n if (!cacheByOptions) {\n cacheByOptions = new WeakMap();\n cache.set(value, cacheByOptions);\n }\n let possibilities = cacheByOptions.get(options);\n if (!possibilities) {\n possibilities = [];\n cacheByOptions.set(options, possibilities);\n }\n if (!possibilities.includes(desc)) {\n const matches = possibilities.filter(possibility => isEqualDescriptor(possibility, desc));\n if (matches.length > 0) {\n return matches[0];\n }\n possibilities.push(desc);\n }\n return desc;\n}\nfunction* createPresetDescriptors(items, dirname, alias, passPerPreset) {\n return yield* createDescriptors(\"preset\", items, dirname, alias, passPerPreset);\n}\nfunction* createPluginDescriptors(items, dirname, alias) {\n return yield* createDescriptors(\"plugin\", items, dirname, alias);\n}\nfunction* createDescriptors(type, items, dirname, alias, ownPass) {\n const descriptors = yield* _gensync().all(items.map((item, index) => createDescriptor(item, dirname, {\n type,\n alias: `${alias}$${index}`,\n ownPass: !!ownPass\n })));\n assertNoDuplicates(descriptors);\n return descriptors;\n}\nfunction* createDescriptor(pair, dirname, {\n type,\n alias,\n ownPass\n}) {\n const desc = (0, _item.getItemDescriptor)(pair);\n if (desc) {\n return desc;\n }\n let name;\n let options;\n let value = pair;\n if (Array.isArray(value)) {\n if (value.length === 3) {\n [value, options, name] = value;\n } else {\n [value, options] = value;\n }\n }\n let file = undefined;\n let filepath = null;\n if (typeof value === \"string\") {\n if (typeof type !== \"string\") {\n throw new Error(\"To resolve a string-based item, the type of item must be given\");\n }\n const resolver = type === \"plugin\" ? _index.loadPlugin : _index.loadPreset;\n const request = value;\n ({\n filepath,\n value\n } = yield* resolver(value, dirname));\n file = {\n request,\n resolved: filepath\n };\n }\n if (!value) {\n throw new Error(`Unexpected falsy value: ${String(value)}`);\n }\n if (typeof value === \"object\" && value.__esModule) {\n if (value.default) {\n value = value.default;\n } else {\n throw new Error(\"Must export a default export when using ES6 modules.\");\n }\n }\n if (typeof value !== \"object\" && typeof value !== \"function\") {\n throw new Error(`Unsupported format: ${typeof value}. Expected an object or a function.`);\n }\n if (filepath !== null && typeof value === \"object\" && value) {\n throw new Error(`Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`);\n }\n return {\n name,\n alias: filepath || alias,\n value,\n options,\n dirname,\n ownPass,\n file\n };\n}\nfunction assertNoDuplicates(items) {\n const map = new Map();\n for (const item of items) {\n if (typeof item.value !== \"function\") continue;\n let nameMap = map.get(item.value);\n if (!nameMap) {\n nameMap = new Set();\n map.set(item.value, nameMap);\n }\n if (nameMap.has(item.name)) {\n const conflicts = items.filter(i => i.value === item.value);\n throw new Error([`Duplicate plugin/preset detected.`, `If you'd like to use two separate instances of a plugin,`, `they need separate names, e.g.`, ``, ` plugins: [`, ` ['some-plugin', {}],`, ` ['some-plugin', {}, 'some unique name'],`, ` ]`, ``, `Duplicates detected are:`, `${JSON.stringify(conflicts, null, 2)}`].join(\"\\n\"));\n }\n nameMap.add(item.name);\n }\n}\n0 && 0;\n\n//# sourceMappingURL=config-descriptors.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/config-descriptors.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/files/index-browser.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/files/index-browser.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ROOT_CONFIG_FILENAMES = void 0;\nexports.findConfigUpwards = findConfigUpwards;\nexports.findPackageData = findPackageData;\nexports.findRelativeConfig = findRelativeConfig;\nexports.findRootConfig = findRootConfig;\nexports.loadConfig = loadConfig;\nexports.loadPlugin = loadPlugin;\nexports.loadPreset = loadPreset;\nexports.resolvePlugin = resolvePlugin;\nexports.resolvePreset = resolvePreset;\nexports.resolveShowConfigPath = resolveShowConfigPath;\nfunction findConfigUpwards(rootDir) {\n return null;\n}\nfunction* findPackageData(filepath) {\n return {\n filepath,\n directories: [],\n pkg: null,\n isPackage: false\n };\n}\nfunction* findRelativeConfig(pkgData, envName, caller) {\n return {\n config: null,\n ignore: null\n };\n}\nfunction* findRootConfig(dirname, envName, caller) {\n return null;\n}\nfunction* loadConfig(name, dirname, envName, caller) {\n throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);\n}\nfunction* resolveShowConfigPath(dirname) {\n return null;\n}\nconst ROOT_CONFIG_FILENAMES = exports.ROOT_CONFIG_FILENAMES = [];\nfunction resolvePlugin(name, dirname) {\n return null;\n}\nfunction resolvePreset(name, dirname) {\n return null;\n}\nfunction loadPlugin(name, dirname) {\n throw new Error(`Cannot load plugin ${name} relative to ${dirname} in a browser`);\n}\nfunction loadPreset(name, dirname) {\n throw new Error(`Cannot load preset ${name} relative to ${dirname} in a browser`);\n}\n0 && 0;\n\n//# sourceMappingURL=index-browser.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/files/index-browser.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/full.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/full.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nvar _async = __webpack_require__(/*! ../gensync-utils/async.js */ \"./node_modules/@babel/core/lib/gensync-utils/async.js\");\nvar _util = __webpack_require__(/*! ./util.js */ \"./node_modules/@babel/core/lib/config/util.js\");\nvar context = __webpack_require__(/*! ../index.js */ \"./node_modules/@babel/core/lib/index.js\");\nvar _plugin = __webpack_require__(/*! ./plugin.js */ \"./node_modules/@babel/core/lib/config/plugin.js\");\nvar _item = __webpack_require__(/*! ./item.js */ \"./node_modules/@babel/core/lib/config/item.js\");\nvar _configChain = __webpack_require__(/*! ./config-chain.js */ \"./node_modules/@babel/core/lib/config/config-chain.js\");\nvar _deepArray = __webpack_require__(/*! ./helpers/deep-array.js */ \"./node_modules/@babel/core/lib/config/helpers/deep-array.js\");\nfunction _traverse() {\n const data = __webpack_require__(/*! @babel/traverse */ \"./node_modules/@babel/traverse/lib/index.js\");\n _traverse = function () {\n return data;\n };\n return data;\n}\nvar _caching = __webpack_require__(/*! ./caching.js */ \"./node_modules/@babel/core/lib/config/caching.js\");\nvar _options = __webpack_require__(/*! ./validation/options.js */ \"./node_modules/@babel/core/lib/config/validation/options.js\");\nvar _plugins = __webpack_require__(/*! ./validation/plugins.js */ \"./node_modules/@babel/core/lib/config/validation/plugins.js\");\nvar _configApi = __webpack_require__(/*! ./helpers/config-api.js */ \"./node_modules/@babel/core/lib/config/helpers/config-api.js\");\nvar _partial = __webpack_require__(/*! ./partial.js */ \"./node_modules/@babel/core/lib/config/partial.js\");\nvar _configError = __webpack_require__(/*! ../errors/config-error.js */ \"./node_modules/@babel/core/lib/errors/config-error.js\");\nvar _default = exports[\"default\"] = _gensync()(function* loadFullConfig(inputOpts) {\n var _opts$assumptions;\n const result = yield* (0, _partial.default)(inputOpts);\n if (!result) {\n return null;\n }\n const {\n options,\n context,\n fileHandling\n } = result;\n if (fileHandling === \"ignored\") {\n return null;\n }\n const optionDefaults = {};\n const {\n plugins,\n presets\n } = options;\n if (!plugins || !presets) {\n throw new Error(\"Assertion failure - plugins and presets exist\");\n }\n const presetContext = Object.assign({}, context, {\n targets: options.targets\n });\n const toDescriptor = item => {\n const desc = (0, _item.getItemDescriptor)(item);\n if (!desc) {\n throw new Error(\"Assertion failure - must be config item\");\n }\n return desc;\n };\n const presetsDescriptors = presets.map(toDescriptor);\n const initialPluginsDescriptors = plugins.map(toDescriptor);\n const pluginDescriptorsByPass = [[]];\n const passes = [];\n const externalDependencies = [];\n const ignored = yield* enhanceError(context, function* recursePresetDescriptors(rawPresets, pluginDescriptorsPass) {\n const presets = [];\n for (let i = 0; i < rawPresets.length; i++) {\n const descriptor = rawPresets[i];\n if (descriptor.options !== false) {\n try {\n var preset = yield* loadPresetDescriptor(descriptor, presetContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_OPTION\") {\n (0, _options.checkNoUnwrappedItemOptionPairs)(rawPresets, i, \"preset\", e);\n }\n throw e;\n }\n externalDependencies.push(preset.externalDependencies);\n if (descriptor.ownPass) {\n presets.push({\n preset: preset.chain,\n pass: []\n });\n } else {\n presets.unshift({\n preset: preset.chain,\n pass: pluginDescriptorsPass\n });\n }\n }\n }\n if (presets.length > 0) {\n pluginDescriptorsByPass.splice(1, 0, ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass));\n for (const {\n preset,\n pass\n } of presets) {\n if (!preset) return true;\n pass.push(...preset.plugins);\n const ignored = yield* recursePresetDescriptors(preset.presets, pass);\n if (ignored) return true;\n preset.options.forEach(opts => {\n (0, _util.mergeOptions)(optionDefaults, opts);\n });\n }\n }\n })(presetsDescriptors, pluginDescriptorsByPass[0]);\n if (ignored) return null;\n const opts = optionDefaults;\n (0, _util.mergeOptions)(opts, options);\n const pluginContext = Object.assign({}, presetContext, {\n assumptions: (_opts$assumptions = opts.assumptions) != null ? _opts$assumptions : {}\n });\n yield* enhanceError(context, function* loadPluginDescriptors() {\n pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors);\n for (const descs of pluginDescriptorsByPass) {\n const pass = [];\n passes.push(pass);\n for (let i = 0; i < descs.length; i++) {\n const descriptor = descs[i];\n if (descriptor.options !== false) {\n try {\n var plugin = yield* loadPluginDescriptor(descriptor, pluginContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_PLUGIN_PROPERTY\") {\n (0, _options.checkNoUnwrappedItemOptionPairs)(descs, i, \"plugin\", e);\n }\n throw e;\n }\n pass.push(plugin);\n externalDependencies.push(plugin.externalDependencies);\n }\n }\n }\n })();\n opts.plugins = passes[0];\n opts.presets = passes.slice(1).filter(plugins => plugins.length > 0).map(plugins => ({\n plugins\n }));\n opts.passPerPreset = opts.presets.length > 0;\n return {\n options: opts,\n passes: passes,\n externalDependencies: (0, _deepArray.finalize)(externalDependencies)\n };\n});\nfunction enhanceError(context, fn) {\n return function* (arg1, arg2) {\n try {\n return yield* fn(arg1, arg2);\n } catch (e) {\n if (!/^\\[BABEL\\]/.test(e.message)) {\n var _context$filename;\n e.message = `[BABEL] ${(_context$filename = context.filename) != null ? _context$filename : \"unknown file\"}: ${e.message}`;\n }\n throw e;\n }\n };\n}\nconst makeDescriptorLoader = apiFactory => (0, _caching.makeWeakCache)(function* ({\n value,\n options,\n dirname,\n alias\n}, cache) {\n if (options === false) throw new Error(\"Assertion failure\");\n options = options || {};\n const externalDependencies = [];\n let item = value;\n if (typeof value === \"function\") {\n const factory = (0, _async.maybeAsync)(value, `You appear to be using an async plugin/preset, but Babel has been called synchronously`);\n const api = Object.assign({}, context, apiFactory(cache, externalDependencies));\n try {\n item = yield* factory(api, options, dirname);\n } catch (e) {\n if (alias) {\n e.message += ` (While processing: ${JSON.stringify(alias)})`;\n }\n throw e;\n }\n }\n if (!item || typeof item !== \"object\") {\n throw new Error(\"Plugin/Preset did not return an object.\");\n }\n if ((0, _async.isThenable)(item)) {\n yield* [];\n throw new Error(`You appear to be using a promise as a plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version. ` + `As an alternative, you can prefix the promise with \"await\". ` + `(While processing: ${JSON.stringify(alias)})`);\n }\n if (externalDependencies.length > 0 && (!cache.configured() || cache.mode() === \"forever\")) {\n let error = `A plugin/preset has external untracked dependencies ` + `(${externalDependencies[0]}), but the cache `;\n if (!cache.configured()) {\n error += `has not been configured to be invalidated when the external dependencies change. `;\n } else {\n error += ` has been configured to never be invalidated. `;\n }\n error += `Plugins/presets should configure their cache to be invalidated when the external ` + `dependencies change, for example using \\`api.cache.invalidate(() => ` + `statSync(filepath).mtimeMs)\\` or \\`api.cache.never()\\`\\n` + `(While processing: ${JSON.stringify(alias)})`;\n throw new Error(error);\n }\n return {\n value: item,\n options,\n dirname,\n alias,\n externalDependencies: (0, _deepArray.finalize)(externalDependencies)\n };\n});\nconst pluginDescriptorLoader = makeDescriptorLoader(_configApi.makePluginAPI);\nconst presetDescriptorLoader = makeDescriptorLoader(_configApi.makePresetAPI);\nconst instantiatePlugin = (0, _caching.makeWeakCache)(function* ({\n value,\n options,\n dirname,\n alias,\n externalDependencies\n}, cache) {\n const pluginObj = (0, _plugins.validatePluginObject)(value);\n const plugin = Object.assign({}, pluginObj);\n if (plugin.visitor) {\n plugin.visitor = _traverse().default.explode(Object.assign({}, plugin.visitor));\n }\n if (plugin.inherits) {\n const inheritsDescriptor = {\n name: undefined,\n alias: `${alias}$inherits`,\n value: plugin.inherits,\n options,\n dirname\n };\n const inherits = yield* (0, _async.forwardAsync)(loadPluginDescriptor, run => {\n return cache.invalidate(data => run(inheritsDescriptor, data));\n });\n plugin.pre = chainMaybeAsync(inherits.pre, plugin.pre);\n plugin.post = chainMaybeAsync(inherits.post, plugin.post);\n plugin.manipulateOptions = chainMaybeAsync(inherits.manipulateOptions, plugin.manipulateOptions);\n plugin.visitor = _traverse().default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]);\n if (inherits.externalDependencies.length > 0) {\n if (externalDependencies.length === 0) {\n externalDependencies = inherits.externalDependencies;\n } else {\n externalDependencies = (0, _deepArray.finalize)([externalDependencies, inherits.externalDependencies]);\n }\n }\n }\n return new _plugin.default(plugin, options, alias, externalDependencies);\n});\nfunction* loadPluginDescriptor(descriptor, context) {\n if (descriptor.value instanceof _plugin.default) {\n if (descriptor.options) {\n throw new Error(\"Passed options to an existing Plugin instance will not work.\");\n }\n return descriptor.value;\n }\n return yield* instantiatePlugin(yield* pluginDescriptorLoader(descriptor, context), context);\n}\nconst needsFilename = val => val && typeof val !== \"function\";\nconst validateIfOptionNeedsFilename = (options, descriptor) => {\n if (needsFilename(options.test) || needsFilename(options.include) || needsFilename(options.exclude)) {\n const formattedPresetName = descriptor.name ? `\"${descriptor.name}\"` : \"/* your preset */\";\n throw new _configError.default([`Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`, `\\`\\`\\``, `babel.transformSync(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`, `\\`\\`\\``, `See https://babeljs.io/docs/en/options#filename for more information.`].join(\"\\n\"));\n }\n};\nconst validatePreset = (preset, context, descriptor) => {\n if (!context.filename) {\n var _options$overrides;\n const {\n options\n } = preset;\n validateIfOptionNeedsFilename(options, descriptor);\n (_options$overrides = options.overrides) == null || _options$overrides.forEach(overrideOptions => validateIfOptionNeedsFilename(overrideOptions, descriptor));\n }\n};\nconst instantiatePreset = (0, _caching.makeWeakCacheSync)(({\n value,\n dirname,\n alias,\n externalDependencies\n}) => {\n return {\n options: (0, _options.validate)(\"preset\", value),\n alias,\n dirname,\n externalDependencies\n };\n});\nfunction* loadPresetDescriptor(descriptor, context) {\n const preset = instantiatePreset(yield* presetDescriptorLoader(descriptor, context));\n validatePreset(preset, context, descriptor);\n return {\n chain: yield* (0, _configChain.buildPresetChain)(preset, context),\n externalDependencies: preset.externalDependencies\n };\n}\nfunction chainMaybeAsync(a, b) {\n if (!a) return b;\n if (!b) return a;\n return function (...args) {\n const res = a.apply(this, args);\n if (res && typeof res.then === \"function\") {\n return res.then(() => b.apply(this, args));\n }\n return b.apply(this, args);\n };\n}\n0 && 0;\n\n//# sourceMappingURL=full.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/full.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/helpers/config-api.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/helpers/config-api.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.makeConfigAPI = makeConfigAPI;\nexports.makePluginAPI = makePluginAPI;\nexports.makePresetAPI = makePresetAPI;\nfunction _semver() {\n const data = __webpack_require__(/*! semver */ \"./node_modules/semver/semver.js\");\n _semver = function () {\n return data;\n };\n return data;\n}\nvar _index = __webpack_require__(/*! ../../index.js */ \"./node_modules/@babel/core/lib/index.js\");\nvar _caching = __webpack_require__(/*! ../caching.js */ \"./node_modules/@babel/core/lib/config/caching.js\");\nfunction makeConfigAPI(cache) {\n const env = value => cache.using(data => {\n if (value === undefined) return data.envName;\n if (typeof value === \"function\") {\n return (0, _caching.assertSimpleType)(value(data.envName));\n }\n return (Array.isArray(value) ? value : [value]).some(entry => {\n if (typeof entry !== \"string\") {\n throw new Error(\"Unexpected non-string value\");\n }\n return entry === data.envName;\n });\n });\n const caller = cb => cache.using(data => (0, _caching.assertSimpleType)(cb(data.caller)));\n return {\n version: _index.version,\n cache: cache.simple(),\n env,\n async: () => false,\n caller,\n assertVersion\n };\n}\nfunction makePresetAPI(cache, externalDependencies) {\n const targets = () => JSON.parse(cache.using(data => JSON.stringify(data.targets)));\n const addExternalDependency = ref => {\n externalDependencies.push(ref);\n };\n return Object.assign({}, makeConfigAPI(cache), {\n targets,\n addExternalDependency\n });\n}\nfunction makePluginAPI(cache, externalDependencies) {\n const assumption = name => cache.using(data => data.assumptions[name]);\n return Object.assign({}, makePresetAPI(cache, externalDependencies), {\n assumption\n });\n}\nfunction assertVersion(range) {\n if (typeof range === \"number\") {\n if (!Number.isInteger(range)) {\n throw new Error(\"Expected string or integer value.\");\n }\n range = `^${range}.0.0-0`;\n }\n if (typeof range !== \"string\") {\n throw new Error(\"Expected string or integer value.\");\n }\n if (range === \"*\" || _semver().satisfies(_index.version, range)) return;\n const limit = Error.stackTraceLimit;\n if (typeof limit === \"number\" && limit < 25) {\n Error.stackTraceLimit = 25;\n }\n const err = new Error(`Requires Babel \"${range}\", but was loaded with \"${_index.version}\". ` + `If you are sure you have a compatible version of @babel/core, ` + `it is likely that something in your build process is loading the ` + `wrong version. Inspect the stack trace of this error to look for ` + `the first entry that doesn't mention \"@babel/core\" or \"babel-core\" ` + `to see what is calling Babel.`);\n if (typeof limit === \"number\") {\n Error.stackTraceLimit = limit;\n }\n throw Object.assign(err, {\n code: \"BABEL_VERSION_UNSUPPORTED\",\n version: _index.version,\n range\n });\n}\n0 && 0;\n\n//# sourceMappingURL=config-api.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/helpers/config-api.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/helpers/deep-array.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/helpers/deep-array.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.finalize = finalize;\nexports.flattenToSet = flattenToSet;\nfunction finalize(deepArr) {\n return Object.freeze(deepArr);\n}\nfunction flattenToSet(arr) {\n const result = new Set();\n const stack = [arr];\n while (stack.length > 0) {\n for (const el of stack.pop()) {\n if (Array.isArray(el)) stack.push(el);else result.add(el);\n }\n }\n return result;\n}\n0 && 0;\n\n//# sourceMappingURL=deep-array.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/helpers/deep-array.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/helpers/environment.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/helpers/environment.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getEnv = getEnv;\nfunction getEnv(defaultValue = \"development\") {\n return process.env.BABEL_ENV || \"development\" || 0;\n}\n0 && 0;\n\n//# sourceMappingURL=environment.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/helpers/environment.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/index.js": +/*!******************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/index.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createConfigItem = createConfigItem;\nexports.createConfigItemAsync = createConfigItemAsync;\nexports.createConfigItemSync = createConfigItemSync;\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function () {\n return _full.default;\n }\n}));\nexports.loadOptions = loadOptions;\nexports.loadOptionsAsync = loadOptionsAsync;\nexports.loadOptionsSync = loadOptionsSync;\nexports.loadPartialConfig = loadPartialConfig;\nexports.loadPartialConfigAsync = loadPartialConfigAsync;\nexports.loadPartialConfigSync = loadPartialConfigSync;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nvar _full = __webpack_require__(/*! ./full.js */ \"./node_modules/@babel/core/lib/config/full.js\");\nvar _partial = __webpack_require__(/*! ./partial.js */ \"./node_modules/@babel/core/lib/config/partial.js\");\nvar _item = __webpack_require__(/*! ./item.js */ \"./node_modules/@babel/core/lib/config/item.js\");\nvar _rewriteStackTrace = __webpack_require__(/*! ../errors/rewrite-stack-trace.js */ \"./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js\");\nconst loadPartialConfigRunner = _gensync()(_partial.loadPartialConfig);\nfunction loadPartialConfigAsync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.async)(...args);\n}\nfunction loadPartialConfigSync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.sync)(...args);\n}\nfunction loadPartialConfig(opts, callback) {\n if (callback !== undefined) {\n (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.errback)(opts, callback);\n } else if (typeof opts === \"function\") {\n (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.errback)(undefined, opts);\n } else {\n {\n return loadPartialConfigSync(opts);\n }\n }\n}\nfunction* loadOptionsImpl(opts) {\n var _config$options;\n const config = yield* (0, _full.default)(opts);\n return (_config$options = config == null ? void 0 : config.options) != null ? _config$options : null;\n}\nconst loadOptionsRunner = _gensync()(loadOptionsImpl);\nfunction loadOptionsAsync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.async)(...args);\n}\nfunction loadOptionsSync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.sync)(...args);\n}\nfunction loadOptions(opts, callback) {\n if (callback !== undefined) {\n (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.errback)(opts, callback);\n } else if (typeof opts === \"function\") {\n (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.errback)(undefined, opts);\n } else {\n {\n return loadOptionsSync(opts);\n }\n }\n}\nconst createConfigItemRunner = _gensync()(_item.createConfigItem);\nfunction createConfigItemAsync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.async)(...args);\n}\nfunction createConfigItemSync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.sync)(...args);\n}\nfunction createConfigItem(target, options, callback) {\n if (callback !== undefined) {\n (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.errback)(target, options, callback);\n } else if (typeof options === \"function\") {\n (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.errback)(target, undefined, callback);\n } else {\n {\n return createConfigItemSync(target, options);\n }\n }\n}\n0 && 0;\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/item.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/item.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createConfigItem = createConfigItem;\nexports.createItemFromDescriptor = createItemFromDescriptor;\nexports.getItemDescriptor = getItemDescriptor;\nfunction _path() {\n const data = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n _path = function () {\n return data;\n };\n return data;\n}\nvar _configDescriptors = __webpack_require__(/*! ./config-descriptors.js */ \"./node_modules/@babel/core/lib/config/config-descriptors.js\");\nfunction createItemFromDescriptor(desc) {\n return new ConfigItem(desc);\n}\nfunction* createConfigItem(value, {\n dirname = \".\",\n type\n} = {}) {\n const descriptor = yield* (0, _configDescriptors.createDescriptor)(value, _path().resolve(dirname), {\n type,\n alias: \"programmatic item\"\n });\n return createItemFromDescriptor(descriptor);\n}\nconst CONFIG_ITEM_BRAND = Symbol.for(\"@babel/core@7 - ConfigItem\");\nfunction getItemDescriptor(item) {\n if (item != null && item[CONFIG_ITEM_BRAND]) {\n return item._descriptor;\n }\n return undefined;\n}\nclass ConfigItem {\n constructor(descriptor) {\n this._descriptor = void 0;\n this[CONFIG_ITEM_BRAND] = true;\n this.value = void 0;\n this.options = void 0;\n this.dirname = void 0;\n this.name = void 0;\n this.file = void 0;\n this._descriptor = descriptor;\n Object.defineProperty(this, \"_descriptor\", {\n enumerable: false\n });\n Object.defineProperty(this, CONFIG_ITEM_BRAND, {\n enumerable: false\n });\n this.value = this._descriptor.value;\n this.options = this._descriptor.options;\n this.dirname = this._descriptor.dirname;\n this.name = this._descriptor.name;\n this.file = this._descriptor.file ? {\n request: this._descriptor.file.request,\n resolved: this._descriptor.file.resolved\n } : undefined;\n Object.freeze(this);\n }\n}\nObject.freeze(ConfigItem.prototype);\n0 && 0;\n\n//# sourceMappingURL=item.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/item.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/partial.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/partial.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = loadPrivatePartialConfig;\nexports.loadPartialConfig = loadPartialConfig;\nfunction _path() {\n const data = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n _path = function () {\n return data;\n };\n return data;\n}\nvar _plugin = __webpack_require__(/*! ./plugin.js */ \"./node_modules/@babel/core/lib/config/plugin.js\");\nvar _util = __webpack_require__(/*! ./util.js */ \"./node_modules/@babel/core/lib/config/util.js\");\nvar _item = __webpack_require__(/*! ./item.js */ \"./node_modules/@babel/core/lib/config/item.js\");\nvar _configChain = __webpack_require__(/*! ./config-chain.js */ \"./node_modules/@babel/core/lib/config/config-chain.js\");\nvar _environment = __webpack_require__(/*! ./helpers/environment.js */ \"./node_modules/@babel/core/lib/config/helpers/environment.js\");\nvar _options = __webpack_require__(/*! ./validation/options.js */ \"./node_modules/@babel/core/lib/config/validation/options.js\");\nvar _index = __webpack_require__(/*! ./files/index.js */ \"./node_modules/@babel/core/lib/config/files/index-browser.js\");\nvar _resolveTargets = __webpack_require__(/*! ./resolve-targets.js */ \"./node_modules/@babel/core/lib/config/resolve-targets-browser.js\");\nconst _excluded = [\"showIgnoredFiles\"];\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nfunction resolveRootMode(rootDir, rootMode) {\n switch (rootMode) {\n case \"root\":\n return rootDir;\n case \"upward-optional\":\n {\n const upwardRootDir = (0, _index.findConfigUpwards)(rootDir);\n return upwardRootDir === null ? rootDir : upwardRootDir;\n }\n case \"upward\":\n {\n const upwardRootDir = (0, _index.findConfigUpwards)(rootDir);\n if (upwardRootDir !== null) return upwardRootDir;\n throw Object.assign(new Error(`Babel was run with rootMode:\"upward\" but a root could not ` + `be found when searching upward from \"${rootDir}\".\\n` + `One of the following config files must be in the directory tree: ` + `\"${_index.ROOT_CONFIG_FILENAMES.join(\", \")}\".`), {\n code: \"BABEL_ROOT_NOT_FOUND\",\n dirname: rootDir\n });\n }\n default:\n throw new Error(`Assertion failure - unknown rootMode value.`);\n }\n}\nfunction* loadPrivatePartialConfig(inputOpts) {\n if (inputOpts != null && (typeof inputOpts !== \"object\" || Array.isArray(inputOpts))) {\n throw new Error(\"Babel options must be an object, null, or undefined\");\n }\n const args = inputOpts ? (0, _options.validate)(\"arguments\", inputOpts) : {};\n const {\n envName = (0, _environment.getEnv)(),\n cwd = \".\",\n root: rootDir = \".\",\n rootMode = \"root\",\n caller,\n cloneInputAst = true\n } = args;\n const absoluteCwd = _path().resolve(cwd);\n const absoluteRootDir = resolveRootMode(_path().resolve(absoluteCwd, rootDir), rootMode);\n const filename = typeof args.filename === \"string\" ? _path().resolve(cwd, args.filename) : undefined;\n const showConfigPath = yield* (0, _index.resolveShowConfigPath)(absoluteCwd);\n const context = {\n filename,\n cwd: absoluteCwd,\n root: absoluteRootDir,\n envName,\n caller,\n showConfig: showConfigPath === filename\n };\n const configChain = yield* (0, _configChain.buildRootChain)(args, context);\n if (!configChain) return null;\n const merged = {\n assumptions: {}\n };\n configChain.options.forEach(opts => {\n (0, _util.mergeOptions)(merged, opts);\n });\n const options = Object.assign({}, merged, {\n targets: (0, _resolveTargets.resolveTargets)(merged, absoluteRootDir),\n cloneInputAst,\n babelrc: false,\n configFile: false,\n browserslistConfigFile: false,\n passPerPreset: false,\n envName: context.envName,\n cwd: context.cwd,\n root: context.root,\n rootMode: \"root\",\n filename: typeof context.filename === \"string\" ? context.filename : undefined,\n plugins: configChain.plugins.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)),\n presets: configChain.presets.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor))\n });\n return {\n options,\n context,\n fileHandling: configChain.fileHandling,\n ignore: configChain.ignore,\n babelrc: configChain.babelrc,\n config: configChain.config,\n files: configChain.files\n };\n}\nfunction* loadPartialConfig(opts) {\n let showIgnoredFiles = false;\n if (typeof opts === \"object\" && opts !== null && !Array.isArray(opts)) {\n var _opts = opts;\n ({\n showIgnoredFiles\n } = _opts);\n opts = _objectWithoutPropertiesLoose(_opts, _excluded);\n _opts;\n }\n const result = yield* loadPrivatePartialConfig(opts);\n if (!result) return null;\n const {\n options,\n babelrc,\n ignore,\n config,\n fileHandling,\n files\n } = result;\n if (fileHandling === \"ignored\" && !showIgnoredFiles) {\n return null;\n }\n (options.plugins || []).forEach(item => {\n if (item.value instanceof _plugin.default) {\n throw new Error(\"Passing cached plugin instances is not supported in \" + \"babel.loadPartialConfig()\");\n }\n });\n return new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined, fileHandling, files);\n}\nclass PartialConfig {\n constructor(options, babelrc, ignore, config, fileHandling, files) {\n this.options = void 0;\n this.babelrc = void 0;\n this.babelignore = void 0;\n this.config = void 0;\n this.fileHandling = void 0;\n this.files = void 0;\n this.options = options;\n this.babelignore = ignore;\n this.babelrc = babelrc;\n this.config = config;\n this.fileHandling = fileHandling;\n this.files = files;\n Object.freeze(this);\n }\n hasFilesystemConfig() {\n return this.babelrc !== undefined || this.config !== undefined;\n }\n}\nObject.freeze(PartialConfig.prototype);\n0 && 0;\n\n//# sourceMappingURL=partial.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/partial.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/pattern-to-regex.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/pattern-to-regex.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = pathToPattern;\nfunction _path() {\n const data = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n _path = function () {\n return data;\n };\n return data;\n}\nconst sep = `\\\\${_path().sep}`;\nconst endSep = `(?:${sep}|$)`;\nconst substitution = `[^${sep}]+`;\nconst starPat = `(?:${substitution}${sep})`;\nconst starPatLast = `(?:${substitution}${endSep})`;\nconst starStarPat = `${starPat}*?`;\nconst starStarPatLast = `${starPat}*?${starPatLast}?`;\nfunction escapeRegExp(string) {\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n}\nfunction pathToPattern(pattern, dirname) {\n const parts = _path().resolve(dirname, pattern).split(_path().sep);\n return new RegExp([\"^\", ...parts.map((part, i) => {\n const last = i === parts.length - 1;\n if (part === \"**\") return last ? starStarPatLast : starStarPat;\n if (part === \"*\") return last ? starPatLast : starPat;\n if (part.indexOf(\"*.\") === 0) {\n return substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep);\n }\n return escapeRegExp(part) + (last ? endSep : sep);\n })].join(\"\"));\n}\n0 && 0;\n\n//# sourceMappingURL=pattern-to-regex.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/pattern-to-regex.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/plugin.js": +/*!*******************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/plugin.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _deepArray = __webpack_require__(/*! ./helpers/deep-array.js */ \"./node_modules/@babel/core/lib/config/helpers/deep-array.js\");\nclass Plugin {\n constructor(plugin, options, key, externalDependencies = (0, _deepArray.finalize)([])) {\n this.key = void 0;\n this.manipulateOptions = void 0;\n this.post = void 0;\n this.pre = void 0;\n this.visitor = void 0;\n this.parserOverride = void 0;\n this.generatorOverride = void 0;\n this.options = void 0;\n this.externalDependencies = void 0;\n this.key = plugin.name || key;\n this.manipulateOptions = plugin.manipulateOptions;\n this.post = plugin.post;\n this.pre = plugin.pre;\n this.visitor = plugin.visitor || {};\n this.parserOverride = plugin.parserOverride;\n this.generatorOverride = plugin.generatorOverride;\n this.options = options;\n this.externalDependencies = externalDependencies;\n }\n}\nexports[\"default\"] = Plugin;\n0 && 0;\n\n//# sourceMappingURL=plugin.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/plugin.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/printer.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/printer.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ConfigPrinter = exports.ChainFormatter = void 0;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nconst ChainFormatter = exports.ChainFormatter = {\n Programmatic: 0,\n Config: 1\n};\nconst Formatter = {\n title(type, callerName, filepath) {\n let title = \"\";\n if (type === ChainFormatter.Programmatic) {\n title = \"programmatic options\";\n if (callerName) {\n title += \" from \" + callerName;\n }\n } else {\n title = \"config \" + filepath;\n }\n return title;\n },\n loc(index, envName) {\n let loc = \"\";\n if (index != null) {\n loc += `.overrides[${index}]`;\n }\n if (envName != null) {\n loc += `.env[\"${envName}\"]`;\n }\n return loc;\n },\n *optionsAndDescriptors(opt) {\n const content = Object.assign({}, opt.options);\n delete content.overrides;\n delete content.env;\n const pluginDescriptors = [...(yield* opt.plugins())];\n if (pluginDescriptors.length) {\n content.plugins = pluginDescriptors.map(d => descriptorToConfig(d));\n }\n const presetDescriptors = [...(yield* opt.presets())];\n if (presetDescriptors.length) {\n content.presets = [...presetDescriptors].map(d => descriptorToConfig(d));\n }\n return JSON.stringify(content, undefined, 2);\n }\n};\nfunction descriptorToConfig(d) {\n var _d$file;\n let name = (_d$file = d.file) == null ? void 0 : _d$file.request;\n if (name == null) {\n if (typeof d.value === \"object\") {\n name = d.value;\n } else if (typeof d.value === \"function\") {\n name = `[Function: ${d.value.toString().slice(0, 50)} ... ]`;\n }\n }\n if (name == null) {\n name = \"[Unknown]\";\n }\n if (d.options === undefined) {\n return name;\n } else if (d.name == null) {\n return [name, d.options];\n } else {\n return [name, d.options, d.name];\n }\n}\nclass ConfigPrinter {\n constructor() {\n this._stack = [];\n }\n configure(enabled, type, {\n callerName,\n filepath\n }) {\n if (!enabled) return () => {};\n return (content, index, envName) => {\n this._stack.push({\n type,\n callerName,\n filepath,\n content,\n index,\n envName\n });\n };\n }\n static *format(config) {\n let title = Formatter.title(config.type, config.callerName, config.filepath);\n const loc = Formatter.loc(config.index, config.envName);\n if (loc) title += ` ${loc}`;\n const content = yield* Formatter.optionsAndDescriptors(config.content);\n return `${title}\\n${content}`;\n }\n *output() {\n if (this._stack.length === 0) return \"\";\n const configs = yield* _gensync().all(this._stack.map(s => ConfigPrinter.format(s)));\n return configs.join(\"\\n\\n\");\n }\n}\nexports.ConfigPrinter = ConfigPrinter;\n0 && 0;\n\n//# sourceMappingURL=printer.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/printer.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/resolve-targets-browser.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/resolve-targets-browser.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.resolveBrowserslistConfigFile = resolveBrowserslistConfigFile;\nexports.resolveTargets = resolveTargets;\nfunction _helperCompilationTargets() {\n const data = __webpack_require__(/*! @babel/helper-compilation-targets */ \"./node_modules/@babel/helper-compilation-targets/lib/index.js\");\n _helperCompilationTargets = function () {\n return data;\n };\n return data;\n}\nfunction resolveBrowserslistConfigFile(browserslistConfigFile, configFilePath) {\n return undefined;\n}\nfunction resolveTargets(options, root) {\n const optTargets = options.targets;\n let targets;\n if (typeof optTargets === \"string\" || Array.isArray(optTargets)) {\n targets = {\n browsers: optTargets\n };\n } else if (optTargets) {\n if (\"esmodules\" in optTargets) {\n targets = Object.assign({}, optTargets, {\n esmodules: \"intersect\"\n });\n } else {\n targets = optTargets;\n }\n }\n return (0, _helperCompilationTargets().default)(targets, {\n ignoreBrowserslistConfig: true,\n browserslistEnv: options.browserslistEnv\n });\n}\n0 && 0;\n\n//# sourceMappingURL=resolve-targets-browser.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/resolve-targets-browser.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/util.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/util.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isIterableIterator = isIterableIterator;\nexports.mergeOptions = mergeOptions;\nfunction mergeOptions(target, source) {\n for (const k of Object.keys(source)) {\n if ((k === \"parserOpts\" || k === \"generatorOpts\" || k === \"assumptions\") && source[k]) {\n const parserOpts = source[k];\n const targetObj = target[k] || (target[k] = {});\n mergeDefaultFields(targetObj, parserOpts);\n } else {\n const val = source[k];\n if (val !== undefined) target[k] = val;\n }\n }\n}\nfunction mergeDefaultFields(target, source) {\n for (const k of Object.keys(source)) {\n const val = source[k];\n if (val !== undefined) target[k] = val;\n }\n}\nfunction isIterableIterator(value) {\n return !!value && typeof value.next === \"function\" && typeof value[Symbol.iterator] === \"function\";\n}\n0 && 0;\n\n//# sourceMappingURL=util.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/util.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/validation/option-assertions.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/validation/option-assertions.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.access = access;\nexports.assertArray = assertArray;\nexports.assertAssumptions = assertAssumptions;\nexports.assertBabelrcSearch = assertBabelrcSearch;\nexports.assertBoolean = assertBoolean;\nexports.assertCallerMetadata = assertCallerMetadata;\nexports.assertCompact = assertCompact;\nexports.assertConfigApplicableTest = assertConfigApplicableTest;\nexports.assertConfigFileSearch = assertConfigFileSearch;\nexports.assertFunction = assertFunction;\nexports.assertIgnoreList = assertIgnoreList;\nexports.assertInputSourceMap = assertInputSourceMap;\nexports.assertObject = assertObject;\nexports.assertPluginList = assertPluginList;\nexports.assertRootMode = assertRootMode;\nexports.assertSourceMaps = assertSourceMaps;\nexports.assertSourceType = assertSourceType;\nexports.assertString = assertString;\nexports.assertTargets = assertTargets;\nexports.msg = msg;\nfunction _helperCompilationTargets() {\n const data = __webpack_require__(/*! @babel/helper-compilation-targets */ \"./node_modules/@babel/helper-compilation-targets/lib/index.js\");\n _helperCompilationTargets = function () {\n return data;\n };\n return data;\n}\nvar _options = __webpack_require__(/*! ./options.js */ \"./node_modules/@babel/core/lib/config/validation/options.js\");\nfunction msg(loc) {\n switch (loc.type) {\n case \"root\":\n return ``;\n case \"env\":\n return `${msg(loc.parent)}.env[\"${loc.name}\"]`;\n case \"overrides\":\n return `${msg(loc.parent)}.overrides[${loc.index}]`;\n case \"option\":\n return `${msg(loc.parent)}.${loc.name}`;\n case \"access\":\n return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`;\n default:\n throw new Error(`Assertion failure: Unknown type ${loc.type}`);\n }\n}\nfunction access(loc, name) {\n return {\n type: \"access\",\n name,\n parent: loc\n };\n}\nfunction assertRootMode(loc, value) {\n if (value !== undefined && value !== \"root\" && value !== \"upward\" && value !== \"upward-optional\") {\n throw new Error(`${msg(loc)} must be a \"root\", \"upward\", \"upward-optional\" or undefined`);\n }\n return value;\n}\nfunction assertSourceMaps(loc, value) {\n if (value !== undefined && typeof value !== \"boolean\" && value !== \"inline\" && value !== \"both\") {\n throw new Error(`${msg(loc)} must be a boolean, \"inline\", \"both\", or undefined`);\n }\n return value;\n}\nfunction assertCompact(loc, value) {\n if (value !== undefined && typeof value !== \"boolean\" && value !== \"auto\") {\n throw new Error(`${msg(loc)} must be a boolean, \"auto\", or undefined`);\n }\n return value;\n}\nfunction assertSourceType(loc, value) {\n if (value !== undefined && value !== \"module\" && value !== \"script\" && value !== \"unambiguous\") {\n throw new Error(`${msg(loc)} must be \"module\", \"script\", \"unambiguous\", or undefined`);\n }\n return value;\n}\nfunction assertCallerMetadata(loc, value) {\n const obj = assertObject(loc, value);\n if (obj) {\n if (typeof obj.name !== \"string\") {\n throw new Error(`${msg(loc)} set but does not contain \"name\" property string`);\n }\n for (const prop of Object.keys(obj)) {\n const propLoc = access(loc, prop);\n const value = obj[prop];\n if (value != null && typeof value !== \"boolean\" && typeof value !== \"string\" && typeof value !== \"number\") {\n throw new Error(`${msg(propLoc)} must be null, undefined, a boolean, a string, or a number.`);\n }\n }\n }\n return value;\n}\nfunction assertInputSourceMap(loc, value) {\n if (value !== undefined && typeof value !== \"boolean\" && (typeof value !== \"object\" || !value)) {\n throw new Error(`${msg(loc)} must be a boolean, object, or undefined`);\n }\n return value;\n}\nfunction assertString(loc, value) {\n if (value !== undefined && typeof value !== \"string\") {\n throw new Error(`${msg(loc)} must be a string, or undefined`);\n }\n return value;\n}\nfunction assertFunction(loc, value) {\n if (value !== undefined && typeof value !== \"function\") {\n throw new Error(`${msg(loc)} must be a function, or undefined`);\n }\n return value;\n}\nfunction assertBoolean(loc, value) {\n if (value !== undefined && typeof value !== \"boolean\") {\n throw new Error(`${msg(loc)} must be a boolean, or undefined`);\n }\n return value;\n}\nfunction assertObject(loc, value) {\n if (value !== undefined && (typeof value !== \"object\" || Array.isArray(value) || !value)) {\n throw new Error(`${msg(loc)} must be an object, or undefined`);\n }\n return value;\n}\nfunction assertArray(loc, value) {\n if (value != null && !Array.isArray(value)) {\n throw new Error(`${msg(loc)} must be an array, or undefined`);\n }\n return value;\n}\nfunction assertIgnoreList(loc, value) {\n const arr = assertArray(loc, value);\n arr == null || arr.forEach((item, i) => assertIgnoreItem(access(loc, i), item));\n return arr;\n}\nfunction assertIgnoreItem(loc, value) {\n if (typeof value !== \"string\" && typeof value !== \"function\" && !(value instanceof RegExp)) {\n throw new Error(`${msg(loc)} must be an array of string/Function/RegExp values, or undefined`);\n }\n return value;\n}\nfunction assertConfigApplicableTest(loc, value) {\n if (value === undefined) {\n return value;\n }\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`);\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(`${msg(loc)} must be a string/Function/RegExp, or an array of those`);\n }\n return value;\n}\nfunction checkValidTest(value) {\n return typeof value === \"string\" || typeof value === \"function\" || value instanceof RegExp;\n}\nfunction assertConfigFileSearch(loc, value) {\n if (value !== undefined && typeof value !== \"boolean\" && typeof value !== \"string\") {\n throw new Error(`${msg(loc)} must be a undefined, a boolean, a string, ` + `got ${JSON.stringify(value)}`);\n }\n return value;\n}\nfunction assertBabelrcSearch(loc, value) {\n if (value === undefined || typeof value === \"boolean\") {\n return value;\n }\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`);\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(`${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` + `or an array of those, got ${JSON.stringify(value)}`);\n }\n return value;\n}\nfunction assertPluginList(loc, value) {\n const arr = assertArray(loc, value);\n if (arr) {\n arr.forEach((item, i) => assertPluginItem(access(loc, i), item));\n }\n return arr;\n}\nfunction assertPluginItem(loc, value) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n throw new Error(`${msg(loc)} must include an object`);\n }\n if (value.length > 3) {\n throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`);\n }\n assertPluginTarget(access(loc, 0), value[0]);\n if (value.length > 1) {\n const opts = value[1];\n if (opts !== undefined && opts !== false && (typeof opts !== \"object\" || Array.isArray(opts) || opts === null)) {\n throw new Error(`${msg(access(loc, 1))} must be an object, false, or undefined`);\n }\n }\n if (value.length === 3) {\n const name = value[2];\n if (name !== undefined && typeof name !== \"string\") {\n throw new Error(`${msg(access(loc, 2))} must be a string, or undefined`);\n }\n }\n } else {\n assertPluginTarget(loc, value);\n }\n return value;\n}\nfunction assertPluginTarget(loc, value) {\n if ((typeof value !== \"object\" || !value) && typeof value !== \"string\" && typeof value !== \"function\") {\n throw new Error(`${msg(loc)} must be a string, object, function`);\n }\n return value;\n}\nfunction assertTargets(loc, value) {\n if ((0, _helperCompilationTargets().isBrowsersQueryValid)(value)) return value;\n if (typeof value !== \"object\" || !value || Array.isArray(value)) {\n throw new Error(`${msg(loc)} must be a string, an array of strings or an object`);\n }\n const browsersLoc = access(loc, \"browsers\");\n const esmodulesLoc = access(loc, \"esmodules\");\n assertBrowsersList(browsersLoc, value.browsers);\n assertBoolean(esmodulesLoc, value.esmodules);\n for (const key of Object.keys(value)) {\n const val = value[key];\n const subLoc = access(loc, key);\n if (key === \"esmodules\") assertBoolean(subLoc, val);else if (key === \"browsers\") assertBrowsersList(subLoc, val);else if (!hasOwnProperty.call(_helperCompilationTargets().TargetNames, key)) {\n const validTargets = Object.keys(_helperCompilationTargets().TargetNames).join(\", \");\n throw new Error(`${msg(subLoc)} is not a valid target. Supported targets are ${validTargets}`);\n } else assertBrowserVersion(subLoc, val);\n }\n return value;\n}\nfunction assertBrowsersList(loc, value) {\n if (value !== undefined && !(0, _helperCompilationTargets().isBrowsersQueryValid)(value)) {\n throw new Error(`${msg(loc)} must be undefined, a string or an array of strings`);\n }\n}\nfunction assertBrowserVersion(loc, value) {\n if (typeof value === \"number\" && Math.round(value) === value) return;\n if (typeof value === \"string\") return;\n throw new Error(`${msg(loc)} must be a string or an integer number`);\n}\nfunction assertAssumptions(loc, value) {\n if (value === undefined) return;\n if (typeof value !== \"object\" || value === null) {\n throw new Error(`${msg(loc)} must be an object or undefined.`);\n }\n let root = loc;\n do {\n root = root.parent;\n } while (root.type !== \"root\");\n const inPreset = root.source === \"preset\";\n for (const name of Object.keys(value)) {\n const subLoc = access(loc, name);\n if (!_options.assumptionsNames.has(name)) {\n throw new Error(`${msg(subLoc)} is not a supported assumption.`);\n }\n if (typeof value[name] !== \"boolean\") {\n throw new Error(`${msg(subLoc)} must be a boolean.`);\n }\n if (inPreset && value[name] === false) {\n throw new Error(`${msg(subLoc)} cannot be set to 'false' inside presets.`);\n }\n }\n return value;\n}\n0 && 0;\n\n//# sourceMappingURL=option-assertions.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/validation/option-assertions.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/validation/options.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/validation/options.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.assumptionsNames = void 0;\nexports.checkNoUnwrappedItemOptionPairs = checkNoUnwrappedItemOptionPairs;\nexports.validate = validate;\nvar _removed = __webpack_require__(/*! ./removed.js */ \"./node_modules/@babel/core/lib/config/validation/removed.js\");\nvar _optionAssertions = __webpack_require__(/*! ./option-assertions.js */ \"./node_modules/@babel/core/lib/config/validation/option-assertions.js\");\nvar _configError = __webpack_require__(/*! ../../errors/config-error.js */ \"./node_modules/@babel/core/lib/errors/config-error.js\");\nconst ROOT_VALIDATORS = {\n cwd: _optionAssertions.assertString,\n root: _optionAssertions.assertString,\n rootMode: _optionAssertions.assertRootMode,\n configFile: _optionAssertions.assertConfigFileSearch,\n caller: _optionAssertions.assertCallerMetadata,\n filename: _optionAssertions.assertString,\n filenameRelative: _optionAssertions.assertString,\n code: _optionAssertions.assertBoolean,\n ast: _optionAssertions.assertBoolean,\n cloneInputAst: _optionAssertions.assertBoolean,\n envName: _optionAssertions.assertString\n};\nconst BABELRC_VALIDATORS = {\n babelrc: _optionAssertions.assertBoolean,\n babelrcRoots: _optionAssertions.assertBabelrcSearch\n};\nconst NONPRESET_VALIDATORS = {\n extends: _optionAssertions.assertString,\n ignore: _optionAssertions.assertIgnoreList,\n only: _optionAssertions.assertIgnoreList,\n targets: _optionAssertions.assertTargets,\n browserslistConfigFile: _optionAssertions.assertConfigFileSearch,\n browserslistEnv: _optionAssertions.assertString\n};\nconst COMMON_VALIDATORS = {\n inputSourceMap: _optionAssertions.assertInputSourceMap,\n presets: _optionAssertions.assertPluginList,\n plugins: _optionAssertions.assertPluginList,\n passPerPreset: _optionAssertions.assertBoolean,\n assumptions: _optionAssertions.assertAssumptions,\n env: assertEnvSet,\n overrides: assertOverridesList,\n test: _optionAssertions.assertConfigApplicableTest,\n include: _optionAssertions.assertConfigApplicableTest,\n exclude: _optionAssertions.assertConfigApplicableTest,\n retainLines: _optionAssertions.assertBoolean,\n comments: _optionAssertions.assertBoolean,\n shouldPrintComment: _optionAssertions.assertFunction,\n compact: _optionAssertions.assertCompact,\n minified: _optionAssertions.assertBoolean,\n auxiliaryCommentBefore: _optionAssertions.assertString,\n auxiliaryCommentAfter: _optionAssertions.assertString,\n sourceType: _optionAssertions.assertSourceType,\n wrapPluginVisitorMethod: _optionAssertions.assertFunction,\n highlightCode: _optionAssertions.assertBoolean,\n sourceMaps: _optionAssertions.assertSourceMaps,\n sourceMap: _optionAssertions.assertSourceMaps,\n sourceFileName: _optionAssertions.assertString,\n sourceRoot: _optionAssertions.assertString,\n parserOpts: _optionAssertions.assertObject,\n generatorOpts: _optionAssertions.assertObject\n};\n{\n Object.assign(COMMON_VALIDATORS, {\n getModuleId: _optionAssertions.assertFunction,\n moduleRoot: _optionAssertions.assertString,\n moduleIds: _optionAssertions.assertBoolean,\n moduleId: _optionAssertions.assertString\n });\n}\nconst knownAssumptions = [\"arrayLikeIsIterable\", \"constantReexports\", \"constantSuper\", \"enumerableModuleMeta\", \"ignoreFunctionLength\", \"ignoreToPrimitiveHint\", \"iterableIsArray\", \"mutableTemplateObject\", \"noClassCalls\", \"noDocumentAll\", \"noIncompleteNsImportDetection\", \"noNewArrows\", \"noUninitializedPrivateFieldAccess\", \"objectRestNoSymbols\", \"privateFieldsAsSymbols\", \"privateFieldsAsProperties\", \"pureGetters\", \"setClassMethods\", \"setComputedProperties\", \"setPublicClassFields\", \"setSpreadProperties\", \"skipForOfIteratorClosing\", \"superIsCallableConstructor\"];\nconst assumptionsNames = exports.assumptionsNames = new Set(knownAssumptions);\nfunction getSource(loc) {\n return loc.type === \"root\" ? loc.source : getSource(loc.parent);\n}\nfunction validate(type, opts, filename) {\n try {\n return validateNested({\n type: \"root\",\n source: type\n }, opts);\n } catch (error) {\n const configError = new _configError.default(error.message, filename);\n if (error.code) configError.code = error.code;\n throw configError;\n }\n}\nfunction validateNested(loc, opts) {\n const type = getSource(loc);\n assertNoDuplicateSourcemap(opts);\n Object.keys(opts).forEach(key => {\n const optLoc = {\n type: \"option\",\n name: key,\n parent: loc\n };\n if (type === \"preset\" && NONPRESET_VALIDATORS[key]) {\n throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in preset options`);\n }\n if (type !== \"arguments\" && ROOT_VALIDATORS[key]) {\n throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options`);\n }\n if (type !== \"arguments\" && type !== \"configfile\" && BABELRC_VALIDATORS[key]) {\n if (type === \"babelrcfile\" || type === \"extendsfile\") {\n throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, ` + `or babel.config.js/config file options`);\n }\n throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options, or babel.config.js/config file options`);\n }\n const validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError;\n validator(optLoc, opts[key]);\n });\n return opts;\n}\nfunction throwUnknownError(loc) {\n const key = loc.name;\n if (_removed.default[key]) {\n const {\n message,\n version = 5\n } = _removed.default[key];\n throw new Error(`Using removed Babel ${version} option: ${(0, _optionAssertions.msg)(loc)} - ${message}`);\n } else {\n const unknownOptErr = new Error(`Unknown option: ${(0, _optionAssertions.msg)(loc)}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`);\n unknownOptErr.code = \"BABEL_UNKNOWN_OPTION\";\n throw unknownOptErr;\n }\n}\nfunction assertNoDuplicateSourcemap(opts) {\n if (hasOwnProperty.call(opts, \"sourceMap\") && hasOwnProperty.call(opts, \"sourceMaps\")) {\n throw new Error(\".sourceMap is an alias for .sourceMaps, cannot use both\");\n }\n}\nfunction assertEnvSet(loc, value) {\n if (loc.parent.type === \"env\") {\n throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside of another .env block`);\n }\n const parent = loc.parent;\n const obj = (0, _optionAssertions.assertObject)(loc, value);\n if (obj) {\n for (const envName of Object.keys(obj)) {\n const env = (0, _optionAssertions.assertObject)((0, _optionAssertions.access)(loc, envName), obj[envName]);\n if (!env) continue;\n const envLoc = {\n type: \"env\",\n name: envName,\n parent\n };\n validateNested(envLoc, env);\n }\n }\n return obj;\n}\nfunction assertOverridesList(loc, value) {\n if (loc.parent.type === \"env\") {\n throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .env block`);\n }\n if (loc.parent.type === \"overrides\") {\n throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .overrides block`);\n }\n const parent = loc.parent;\n const arr = (0, _optionAssertions.assertArray)(loc, value);\n if (arr) {\n for (const [index, item] of arr.entries()) {\n const objLoc = (0, _optionAssertions.access)(loc, index);\n const env = (0, _optionAssertions.assertObject)(objLoc, item);\n if (!env) throw new Error(`${(0, _optionAssertions.msg)(objLoc)} must be an object`);\n const overridesLoc = {\n type: \"overrides\",\n index,\n parent\n };\n validateNested(overridesLoc, env);\n }\n }\n return arr;\n}\nfunction checkNoUnwrappedItemOptionPairs(items, index, type, e) {\n if (index === 0) return;\n const lastItem = items[index - 1];\n const thisItem = items[index];\n if (lastItem.file && lastItem.options === undefined && typeof thisItem.value === \"object\") {\n e.message += `\\n- Maybe you meant to use\\n` + `\"${type}s\": [\\n [\"${lastItem.file.request}\", ${JSON.stringify(thisItem.value, undefined, 2)}]\\n]\\n` + `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`;\n }\n}\n0 && 0;\n\n//# sourceMappingURL=options.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/validation/options.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/validation/plugins.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/validation/plugins.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.validatePluginObject = validatePluginObject;\nvar _optionAssertions = __webpack_require__(/*! ./option-assertions.js */ \"./node_modules/@babel/core/lib/config/validation/option-assertions.js\");\nconst VALIDATORS = {\n name: _optionAssertions.assertString,\n manipulateOptions: _optionAssertions.assertFunction,\n pre: _optionAssertions.assertFunction,\n post: _optionAssertions.assertFunction,\n inherits: _optionAssertions.assertFunction,\n visitor: assertVisitorMap,\n parserOverride: _optionAssertions.assertFunction,\n generatorOverride: _optionAssertions.assertFunction\n};\nfunction assertVisitorMap(loc, value) {\n const obj = (0, _optionAssertions.assertObject)(loc, value);\n if (obj) {\n Object.keys(obj).forEach(prop => {\n if (prop !== \"_exploded\" && prop !== \"_verified\") {\n assertVisitorHandler(prop, obj[prop]);\n }\n });\n if (obj.enter || obj.exit) {\n throw new Error(`${(0, _optionAssertions.msg)(loc)} cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.`);\n }\n }\n return obj;\n}\nfunction assertVisitorHandler(key, value) {\n if (value && typeof value === \"object\") {\n Object.keys(value).forEach(handler => {\n if (handler !== \"enter\" && handler !== \"exit\") {\n throw new Error(`.visitor[\"${key}\"] may only have .enter and/or .exit handlers.`);\n }\n });\n } else if (typeof value !== \"function\") {\n throw new Error(`.visitor[\"${key}\"] must be a function`);\n }\n}\nfunction validatePluginObject(obj) {\n const rootPath = {\n type: \"root\",\n source: \"plugin\"\n };\n Object.keys(obj).forEach(key => {\n const validator = VALIDATORS[key];\n if (validator) {\n const optLoc = {\n type: \"option\",\n name: key,\n parent: rootPath\n };\n validator(optLoc, obj[key]);\n } else {\n const invalidPluginPropertyError = new Error(`.${key} is not a valid Plugin property`);\n invalidPluginPropertyError.code = \"BABEL_UNKNOWN_PLUGIN_PROPERTY\";\n throw invalidPluginPropertyError;\n }\n });\n return obj;\n}\n0 && 0;\n\n//# sourceMappingURL=plugins.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/validation/plugins.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/config/validation/removed.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/config/validation/removed.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _default = exports[\"default\"] = {\n auxiliaryComment: {\n message: \"Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`\"\n },\n blacklist: {\n message: \"Put the specific transforms you want in the `plugins` option\"\n },\n breakConfig: {\n message: \"This is not a necessary option in Babel 6\"\n },\n experimental: {\n message: \"Put the specific transforms you want in the `plugins` option\"\n },\n externalHelpers: {\n message: \"Use the `external-helpers` plugin instead. \" + \"Check out http://babeljs.io/docs/plugins/external-helpers/\"\n },\n extra: {\n message: \"\"\n },\n jsxPragma: {\n message: \"use the `pragma` option in the `react-jsx` plugin. \" + \"Check out http://babeljs.io/docs/plugins/transform-react-jsx/\"\n },\n loose: {\n message: \"Specify the `loose` option for the relevant plugin you are using \" + \"or use a preset that sets the option.\"\n },\n metadataUsedHelpers: {\n message: \"Not required anymore as this is enabled by default\"\n },\n modules: {\n message: \"Use the corresponding module transform plugin in the `plugins` option. \" + \"Check out http://babeljs.io/docs/plugins/#modules\"\n },\n nonStandard: {\n message: \"Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. \" + \"Also check out the react preset http://babeljs.io/docs/plugins/preset-react/\"\n },\n optional: {\n message: \"Put the specific transforms you want in the `plugins` option\"\n },\n sourceMapName: {\n message: \"The `sourceMapName` option has been removed because it makes more sense for the \" + \"tooling that calls Babel to assign `map.file` themselves.\"\n },\n stage: {\n message: \"Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets\"\n },\n whitelist: {\n message: \"Put the specific transforms you want in the `plugins` option\"\n },\n resolveModuleSource: {\n version: 6,\n message: \"Use `babel-plugin-module-resolver@3`'s 'resolvePath' options\"\n },\n metadata: {\n version: 6,\n message: \"Generated plugin metadata is always included in the output result\"\n },\n sourceMapTarget: {\n version: 6,\n message: \"The `sourceMapTarget` option has been removed because it makes more sense for the tooling \" + \"that calls Babel to assign `map.file` themselves.\"\n }\n};\n0 && 0;\n\n//# sourceMappingURL=removed.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/config/validation/removed.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/errors/config-error.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/core/lib/errors/config-error.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _rewriteStackTrace = __webpack_require__(/*! ./rewrite-stack-trace.js */ \"./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js\");\nclass ConfigError extends Error {\n constructor(message, filename) {\n super(message);\n (0, _rewriteStackTrace.expectedError)(this);\n if (filename) (0, _rewriteStackTrace.injectVirtualStackFrame)(this, filename);\n }\n}\nexports[\"default\"] = ConfigError;\n0 && 0;\n\n//# sourceMappingURL=config-error.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/errors/config-error.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.beginHiddenCallStack = beginHiddenCallStack;\nexports.endHiddenCallStack = endHiddenCallStack;\nexports.expectedError = expectedError;\nexports.injectVirtualStackFrame = injectVirtualStackFrame;\nvar _Object$getOwnPropert;\nconst ErrorToString = Function.call.bind(Error.prototype.toString);\nconst SUPPORTED = !!Error.captureStackTrace && ((_Object$getOwnPropert = Object.getOwnPropertyDescriptor(Error, \"stackTraceLimit\")) == null ? void 0 : _Object$getOwnPropert.writable) === true;\nconst START_HIDING = \"startHiding - secret - don't use this - v1\";\nconst STOP_HIDING = \"stopHiding - secret - don't use this - v1\";\nconst expectedErrors = new WeakSet();\nconst virtualFrames = new WeakMap();\nfunction CallSite(filename) {\n return Object.create({\n isNative: () => false,\n isConstructor: () => false,\n isToplevel: () => true,\n getFileName: () => filename,\n getLineNumber: () => undefined,\n getColumnNumber: () => undefined,\n getFunctionName: () => undefined,\n getMethodName: () => undefined,\n getTypeName: () => undefined,\n toString: () => filename\n });\n}\nfunction injectVirtualStackFrame(error, filename) {\n if (!SUPPORTED) return;\n let frames = virtualFrames.get(error);\n if (!frames) virtualFrames.set(error, frames = []);\n frames.push(CallSite(filename));\n return error;\n}\nfunction expectedError(error) {\n if (!SUPPORTED) return;\n expectedErrors.add(error);\n return error;\n}\nfunction beginHiddenCallStack(fn) {\n if (!SUPPORTED) return fn;\n return Object.defineProperty(function (...args) {\n setupPrepareStackTrace();\n return fn(...args);\n }, \"name\", {\n value: STOP_HIDING\n });\n}\nfunction endHiddenCallStack(fn) {\n if (!SUPPORTED) return fn;\n return Object.defineProperty(function (...args) {\n return fn(...args);\n }, \"name\", {\n value: START_HIDING\n });\n}\nfunction setupPrepareStackTrace() {\n setupPrepareStackTrace = () => {};\n const {\n prepareStackTrace = defaultPrepareStackTrace\n } = Error;\n const MIN_STACK_TRACE_LIMIT = 50;\n Error.stackTraceLimit && (Error.stackTraceLimit = Math.max(Error.stackTraceLimit, MIN_STACK_TRACE_LIMIT));\n Error.prepareStackTrace = function stackTraceRewriter(err, trace) {\n let newTrace = [];\n const isExpected = expectedErrors.has(err);\n let status = isExpected ? \"hiding\" : \"unknown\";\n for (let i = 0; i < trace.length; i++) {\n const name = trace[i].getFunctionName();\n if (name === START_HIDING) {\n status = \"hiding\";\n } else if (name === STOP_HIDING) {\n if (status === \"hiding\") {\n status = \"showing\";\n if (virtualFrames.has(err)) {\n newTrace.unshift(...virtualFrames.get(err));\n }\n } else if (status === \"unknown\") {\n newTrace = trace;\n break;\n }\n } else if (status !== \"hiding\") {\n newTrace.push(trace[i]);\n }\n }\n return prepareStackTrace(err, newTrace);\n };\n}\nfunction defaultPrepareStackTrace(err, trace) {\n if (trace.length === 0) return ErrorToString(err);\n return `${ErrorToString(err)}\\n at ${trace.join(\"\\n at \")}`;\n}\n0 && 0;\n\n//# sourceMappingURL=rewrite-stack-trace.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/gensync-utils/async.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/core/lib/gensync-utils/async.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.forwardAsync = forwardAsync;\nexports.isAsync = void 0;\nexports.isThenable = isThenable;\nexports.maybeAsync = maybeAsync;\nexports.waitFor = exports.onFirstPause = void 0;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nconst runGenerator = _gensync()(function* (item) {\n return yield* item;\n});\nconst isAsync = exports.isAsync = _gensync()({\n sync: () => false,\n errback: cb => cb(null, true)\n});\nfunction maybeAsync(fn, message) {\n return _gensync()({\n sync(...args) {\n const result = fn.apply(this, args);\n if (isThenable(result)) throw new Error(message);\n return result;\n },\n async(...args) {\n return Promise.resolve(fn.apply(this, args));\n }\n });\n}\nconst withKind = _gensync()({\n sync: cb => cb(\"sync\"),\n async: function () {\n var _ref = _asyncToGenerator(function* (cb) {\n return cb(\"async\");\n });\n return function async(_x) {\n return _ref.apply(this, arguments);\n };\n }()\n});\nfunction forwardAsync(action, cb) {\n const g = _gensync()(action);\n return withKind(kind => {\n const adapted = g[kind];\n return cb(adapted);\n });\n}\nconst onFirstPause = exports.onFirstPause = _gensync()({\n name: \"onFirstPause\",\n arity: 2,\n sync: function (item) {\n return runGenerator.sync(item);\n },\n errback: function (item, firstPause, cb) {\n let completed = false;\n runGenerator.errback(item, (err, value) => {\n completed = true;\n cb(err, value);\n });\n if (!completed) {\n firstPause();\n }\n }\n});\nconst waitFor = exports.waitFor = _gensync()({\n sync: x => x,\n async: function () {\n var _ref2 = _asyncToGenerator(function* (x) {\n return x;\n });\n return function async(_x2) {\n return _ref2.apply(this, arguments);\n };\n }()\n});\nfunction isThenable(val) {\n return !!val && (typeof val === \"object\" || typeof val === \"function\") && !!val.then && typeof val.then === \"function\";\n}\n0 && 0;\n\n//# sourceMappingURL=async.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/gensync-utils/async.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/gensync-utils/functional.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/gensync-utils/functional.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.once = once;\nvar _async = __webpack_require__(/*! ./async.js */ \"./node_modules/@babel/core/lib/gensync-utils/async.js\");\nfunction once(fn) {\n let result;\n let resultP;\n let promiseReferenced = false;\n return function* () {\n if (!result) {\n if (resultP) {\n promiseReferenced = true;\n return yield* (0, _async.waitFor)(resultP);\n }\n if (!(yield* (0, _async.isAsync)())) {\n try {\n result = {\n ok: true,\n value: yield* fn()\n };\n } catch (error) {\n result = {\n ok: false,\n value: error\n };\n }\n } else {\n let resolve, reject;\n resultP = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n try {\n result = {\n ok: true,\n value: yield* fn()\n };\n resultP = null;\n if (promiseReferenced) resolve(result.value);\n } catch (error) {\n result = {\n ok: false,\n value: error\n };\n resultP = null;\n if (promiseReferenced) reject(error);\n }\n }\n }\n if (result.ok) return result.value;else throw result.value;\n };\n}\n0 && 0;\n\n//# sourceMappingURL=functional.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/gensync-utils/functional.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/index.js": +/*!***********************************************!*\ + !*** ./node_modules/@babel/core/lib/index.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DEFAULT_EXTENSIONS = void 0;\nObject.defineProperty(exports, \"File\", ({\n enumerable: true,\n get: function () {\n return _file.default;\n }\n}));\nObject.defineProperty(exports, \"buildExternalHelpers\", ({\n enumerable: true,\n get: function () {\n return _buildExternalHelpers.default;\n }\n}));\nObject.defineProperty(exports, \"createConfigItem\", ({\n enumerable: true,\n get: function () {\n return _index2.createConfigItem;\n }\n}));\nObject.defineProperty(exports, \"createConfigItemAsync\", ({\n enumerable: true,\n get: function () {\n return _index2.createConfigItemAsync;\n }\n}));\nObject.defineProperty(exports, \"createConfigItemSync\", ({\n enumerable: true,\n get: function () {\n return _index2.createConfigItemSync;\n }\n}));\nObject.defineProperty(exports, \"getEnv\", ({\n enumerable: true,\n get: function () {\n return _environment.getEnv;\n }\n}));\nObject.defineProperty(exports, \"loadOptions\", ({\n enumerable: true,\n get: function () {\n return _index2.loadOptions;\n }\n}));\nObject.defineProperty(exports, \"loadOptionsAsync\", ({\n enumerable: true,\n get: function () {\n return _index2.loadOptionsAsync;\n }\n}));\nObject.defineProperty(exports, \"loadOptionsSync\", ({\n enumerable: true,\n get: function () {\n return _index2.loadOptionsSync;\n }\n}));\nObject.defineProperty(exports, \"loadPartialConfig\", ({\n enumerable: true,\n get: function () {\n return _index2.loadPartialConfig;\n }\n}));\nObject.defineProperty(exports, \"loadPartialConfigAsync\", ({\n enumerable: true,\n get: function () {\n return _index2.loadPartialConfigAsync;\n }\n}));\nObject.defineProperty(exports, \"loadPartialConfigSync\", ({\n enumerable: true,\n get: function () {\n return _index2.loadPartialConfigSync;\n }\n}));\nObject.defineProperty(exports, \"parse\", ({\n enumerable: true,\n get: function () {\n return _parse.parse;\n }\n}));\nObject.defineProperty(exports, \"parseAsync\", ({\n enumerable: true,\n get: function () {\n return _parse.parseAsync;\n }\n}));\nObject.defineProperty(exports, \"parseSync\", ({\n enumerable: true,\n get: function () {\n return _parse.parseSync;\n }\n}));\nexports.resolvePreset = exports.resolvePlugin = void 0;\nObject.defineProperty((0, exports), \"template\", {\n enumerable: true,\n get: function () {\n return _template().default;\n }\n});\nObject.defineProperty((0, exports), \"tokTypes\", {\n enumerable: true,\n get: function () {\n return _parser().tokTypes;\n }\n});\nObject.defineProperty(exports, \"transform\", ({\n enumerable: true,\n get: function () {\n return _transform.transform;\n }\n}));\nObject.defineProperty(exports, \"transformAsync\", ({\n enumerable: true,\n get: function () {\n return _transform.transformAsync;\n }\n}));\nObject.defineProperty(exports, \"transformFile\", ({\n enumerable: true,\n get: function () {\n return _transformFile.transformFile;\n }\n}));\nObject.defineProperty(exports, \"transformFileAsync\", ({\n enumerable: true,\n get: function () {\n return _transformFile.transformFileAsync;\n }\n}));\nObject.defineProperty(exports, \"transformFileSync\", ({\n enumerable: true,\n get: function () {\n return _transformFile.transformFileSync;\n }\n}));\nObject.defineProperty(exports, \"transformFromAst\", ({\n enumerable: true,\n get: function () {\n return _transformAst.transformFromAst;\n }\n}));\nObject.defineProperty(exports, \"transformFromAstAsync\", ({\n enumerable: true,\n get: function () {\n return _transformAst.transformFromAstAsync;\n }\n}));\nObject.defineProperty(exports, \"transformFromAstSync\", ({\n enumerable: true,\n get: function () {\n return _transformAst.transformFromAstSync;\n }\n}));\nObject.defineProperty(exports, \"transformSync\", ({\n enumerable: true,\n get: function () {\n return _transform.transformSync;\n }\n}));\nObject.defineProperty((0, exports), \"traverse\", {\n enumerable: true,\n get: function () {\n return _traverse().default;\n }\n});\nexports.version = exports.types = void 0;\nvar _file = __webpack_require__(/*! ./transformation/file/file.js */ \"./node_modules/@babel/core/lib/transformation/file/file.js\");\nvar _buildExternalHelpers = __webpack_require__(/*! ./tools/build-external-helpers.js */ \"./node_modules/@babel/core/lib/tools/build-external-helpers.js\");\nvar resolvers = __webpack_require__(/*! ./config/files/index.js */ \"./node_modules/@babel/core/lib/config/files/index-browser.js\");\nvar _environment = __webpack_require__(/*! ./config/helpers/environment.js */ \"./node_modules/@babel/core/lib/config/helpers/environment.js\");\nfunction _types() {\n const data = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\n _types = function () {\n return data;\n };\n return data;\n}\nObject.defineProperty((0, exports), \"types\", {\n enumerable: true,\n get: function () {\n return _types();\n }\n});\nfunction _parser() {\n const data = __webpack_require__(/*! @babel/parser */ \"./node_modules/@babel/parser/lib/index.js\");\n _parser = function () {\n return data;\n };\n return data;\n}\nfunction _traverse() {\n const data = __webpack_require__(/*! @babel/traverse */ \"./node_modules/@babel/traverse/lib/index.js\");\n _traverse = function () {\n return data;\n };\n return data;\n}\nfunction _template() {\n const data = __webpack_require__(/*! @babel/template */ \"./node_modules/@babel/template/lib/index.js\");\n _template = function () {\n return data;\n };\n return data;\n}\nvar _index2 = __webpack_require__(/*! ./config/index.js */ \"./node_modules/@babel/core/lib/config/index.js\");\nvar _transform = __webpack_require__(/*! ./transform.js */ \"./node_modules/@babel/core/lib/transform.js\");\nvar _transformFile = __webpack_require__(/*! ./transform-file.js */ \"./node_modules/@babel/core/lib/transform-file-browser.js\");\nvar _transformAst = __webpack_require__(/*! ./transform-ast.js */ \"./node_modules/@babel/core/lib/transform-ast.js\");\nvar _parse = __webpack_require__(/*! ./parse.js */ \"./node_modules/@babel/core/lib/parse.js\");\nvar thisFile = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/core/lib/index.js\");\n;\nconst version = exports.version = \"7.26.0\";\nconst resolvePlugin = (name, dirname) => resolvers.resolvePlugin(name, dirname, false).filepath;\nexports.resolvePlugin = resolvePlugin;\nconst resolvePreset = (name, dirname) => resolvers.resolvePreset(name, dirname, false).filepath;\nexports.resolvePreset = resolvePreset;\nconst DEFAULT_EXTENSIONS = exports.DEFAULT_EXTENSIONS = Object.freeze([\".js\", \".jsx\", \".es6\", \".es\", \".mjs\", \".cjs\"]);\n;\n{\n exports.OptionManager = class OptionManager {\n init(opts) {\n return (0, _index2.loadOptionsSync)(opts);\n }\n };\n exports.Plugin = function Plugin(alias) {\n throw new Error(`The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`);\n };\n}\n0 && (0);\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/parse.js": +/*!***********************************************!*\ + !*** ./node_modules/@babel/core/lib/parse.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.parse = void 0;\nexports.parseAsync = parseAsync;\nexports.parseSync = parseSync;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nvar _index = __webpack_require__(/*! ./config/index.js */ \"./node_modules/@babel/core/lib/config/index.js\");\nvar _index2 = __webpack_require__(/*! ./parser/index.js */ \"./node_modules/@babel/core/lib/parser/index.js\");\nvar _normalizeOpts = __webpack_require__(/*! ./transformation/normalize-opts.js */ \"./node_modules/@babel/core/lib/transformation/normalize-opts.js\");\nvar _rewriteStackTrace = __webpack_require__(/*! ./errors/rewrite-stack-trace.js */ \"./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js\");\nconst parseRunner = _gensync()(function* parse(code, opts) {\n const config = yield* (0, _index.default)(opts);\n if (config === null) {\n return null;\n }\n return yield* (0, _index2.default)(config.passes, (0, _normalizeOpts.default)(config), code);\n});\nconst parse = exports.parse = function parse(code, opts, callback) {\n if (typeof opts === \"function\") {\n callback = opts;\n opts = undefined;\n }\n if (callback === undefined) {\n {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.sync)(code, opts);\n }\n }\n (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.errback)(code, opts, callback);\n};\nfunction parseSync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.sync)(...args);\n}\nfunction parseAsync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.async)(...args);\n}\n0 && 0;\n\n//# sourceMappingURL=parse.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/parse.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/parser/index.js": +/*!******************************************************!*\ + !*** ./node_modules/@babel/core/lib/parser/index.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = parser;\nfunction _parser() {\n const data = __webpack_require__(/*! @babel/parser */ \"./node_modules/@babel/parser/lib/index.js\");\n _parser = function () {\n return data;\n };\n return data;\n}\nfunction _codeFrame() {\n const data = __webpack_require__(/*! @babel/code-frame */ \"./node_modules/@babel/code-frame/lib/index.js\");\n _codeFrame = function () {\n return data;\n };\n return data;\n}\nvar _missingPluginHelper = __webpack_require__(/*! ./util/missing-plugin-helper.js */ \"./node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js\");\nfunction* parser(pluginPasses, {\n parserOpts,\n highlightCode = true,\n filename = \"unknown\"\n}, code) {\n try {\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const {\n parserOverride\n } = plugin;\n if (parserOverride) {\n const ast = parserOverride(code, parserOpts, _parser().parse);\n if (ast !== undefined) results.push(ast);\n }\n }\n }\n if (results.length === 0) {\n return (0, _parser().parse)(code, parserOpts);\n } else if (results.length === 1) {\n yield* [];\n if (typeof results[0].then === \"function\") {\n throw new Error(`You appear to be using an async parser plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, you may need to upgrade ` + `your @babel/core version.`);\n }\n return results[0];\n }\n throw new Error(\"More than one plugin attempted to override parsing.\");\n } catch (err) {\n if (err.code === \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\") {\n err.message += \"\\nConsider renaming the file to '.mjs', or setting sourceType:module \" + \"or sourceType:unambiguous in your Babel config for this file.\";\n }\n const {\n loc,\n missingPlugin\n } = err;\n if (loc) {\n const codeFrame = (0, _codeFrame().codeFrameColumns)(code, {\n start: {\n line: loc.line,\n column: loc.column + 1\n }\n }, {\n highlightCode\n });\n if (missingPlugin) {\n err.message = `${filename}: ` + (0, _missingPluginHelper.default)(missingPlugin[0], loc, codeFrame, filename);\n } else {\n err.message = `${filename}: ${err.message}\\n\\n` + codeFrame;\n }\n err.code = \"BABEL_PARSE_ERROR\";\n }\n throw err;\n }\n}\n0 && 0;\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/parser/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = generateMissingPluginMessage;\nconst pluginNameMap = {\n asyncDoExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-async-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions\"\n }\n },\n decimal: {\n syntax: {\n name: \"@babel/plugin-syntax-decimal\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal\"\n }\n },\n decorators: {\n syntax: {\n name: \"@babel/plugin-syntax-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators\"\n },\n transform: {\n name: \"@babel/plugin-proposal-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators\"\n }\n },\n doExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions\"\n },\n transform: {\n name: \"@babel/plugin-proposal-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions\"\n }\n },\n exportDefaultFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from\"\n },\n transform: {\n name: \"@babel/plugin-proposal-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from\"\n }\n },\n flow: {\n syntax: {\n name: \"@babel/plugin-syntax-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow\"\n },\n transform: {\n name: \"@babel/preset-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-flow\"\n }\n },\n functionBind: {\n syntax: {\n name: \"@babel/plugin-syntax-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind\"\n },\n transform: {\n name: \"@babel/plugin-proposal-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind\"\n }\n },\n functionSent: {\n syntax: {\n name: \"@babel/plugin-syntax-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent\"\n },\n transform: {\n name: \"@babel/plugin-proposal-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent\"\n }\n },\n jsx: {\n syntax: {\n name: \"@babel/plugin-syntax-jsx\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx\"\n },\n transform: {\n name: \"@babel/preset-react\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-react\"\n }\n },\n pipelineOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator\"\n },\n transform: {\n name: \"@babel/plugin-proposal-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator\"\n }\n },\n recordAndTuple: {\n syntax: {\n name: \"@babel/plugin-syntax-record-and-tuple\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple\"\n }\n },\n throwExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions\"\n },\n transform: {\n name: \"@babel/plugin-proposal-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions\"\n }\n },\n typescript: {\n syntax: {\n name: \"@babel/plugin-syntax-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript\"\n },\n transform: {\n name: \"@babel/preset-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-typescript\"\n }\n }\n};\n{\n Object.assign(pluginNameMap, {\n asyncGenerators: {\n syntax: {\n name: \"@babel/plugin-syntax-async-generators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators\"\n },\n transform: {\n name: \"@babel/plugin-transform-async-generator-functions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions\"\n }\n },\n classProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\"\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\"\n }\n },\n classPrivateProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\"\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\"\n }\n },\n classPrivateMethods: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\"\n },\n transform: {\n name: \"@babel/plugin-transform-private-methods\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods\"\n }\n },\n classStaticBlock: {\n syntax: {\n name: \"@babel/plugin-syntax-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block\"\n },\n transform: {\n name: \"@babel/plugin-transform-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block\"\n }\n },\n dynamicImport: {\n syntax: {\n name: \"@babel/plugin-syntax-dynamic-import\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import\"\n }\n },\n exportNamespaceFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from\"\n },\n transform: {\n name: \"@babel/plugin-transform-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from\"\n }\n },\n importAssertions: {\n syntax: {\n name: \"@babel/plugin-syntax-import-assertions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions\"\n }\n },\n importAttributes: {\n syntax: {\n name: \"@babel/plugin-syntax-import-attributes\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes\"\n }\n },\n importMeta: {\n syntax: {\n name: \"@babel/plugin-syntax-import-meta\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta\"\n }\n },\n logicalAssignment: {\n syntax: {\n name: \"@babel/plugin-syntax-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators\"\n },\n transform: {\n name: \"@babel/plugin-transform-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators\"\n }\n },\n moduleStringNames: {\n syntax: {\n name: \"@babel/plugin-syntax-module-string-names\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names\"\n }\n },\n numericSeparator: {\n syntax: {\n name: \"@babel/plugin-syntax-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator\"\n },\n transform: {\n name: \"@babel/plugin-transform-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator\"\n }\n },\n nullishCoalescingOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator\"\n },\n transform: {\n name: \"@babel/plugin-transform-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator\"\n }\n },\n objectRestSpread: {\n syntax: {\n name: \"@babel/plugin-syntax-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread\"\n },\n transform: {\n name: \"@babel/plugin-transform-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread\"\n }\n },\n optionalCatchBinding: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding\"\n },\n transform: {\n name: \"@babel/plugin-transform-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding\"\n }\n },\n optionalChaining: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining\"\n },\n transform: {\n name: \"@babel/plugin-transform-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining\"\n }\n },\n privateIn: {\n syntax: {\n name: \"@babel/plugin-syntax-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object\"\n },\n transform: {\n name: \"@babel/plugin-transform-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object\"\n }\n },\n regexpUnicodeSets: {\n syntax: {\n name: \"@babel/plugin-syntax-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md\"\n },\n transform: {\n name: \"@babel/plugin-transform-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md\"\n }\n }\n });\n}\nconst getNameURLCombination = ({\n name,\n url\n}) => `${name} (${url})`;\nfunction generateMissingPluginMessage(missingPluginName, loc, codeFrame, filename) {\n let helpMessage = `Support for the experimental syntax '${missingPluginName}' isn't currently enabled ` + `(${loc.line}:${loc.column + 1}):\\n\\n` + codeFrame;\n const pluginInfo = pluginNameMap[missingPluginName];\n if (pluginInfo) {\n const {\n syntax: syntaxPlugin,\n transform: transformPlugin\n } = pluginInfo;\n if (syntaxPlugin) {\n const syntaxPluginInfo = getNameURLCombination(syntaxPlugin);\n if (transformPlugin) {\n const transformPluginInfo = getNameURLCombination(transformPlugin);\n const sectionType = transformPlugin.name.startsWith(\"@babel/plugin\") ? \"plugins\" : \"presets\";\n helpMessage += `\\n\\nAdd ${transformPluginInfo} to the '${sectionType}' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add ${syntaxPluginInfo} to the 'plugins' section to enable parsing.`;\n } else {\n helpMessage += `\\n\\nAdd ${syntaxPluginInfo} to the 'plugins' section of your Babel config ` + `to enable parsing.`;\n }\n }\n }\n const msgFilename = filename === \"unknown\" ? \"\" : filename;\n helpMessage += `\n\nIf you already added the plugin for this syntax to your config, it's possible that your config \\\nisn't being loaded.\nYou can re-run Babel with the BABEL_SHOW_CONFIG_FOR environment variable to show the loaded \\\nconfiguration:\n\\tnpx cross-env BABEL_SHOW_CONFIG_FOR=${msgFilename} \nSee https://babeljs.io/docs/configuration#print-effective-configs for more info.\n`;\n return helpMessage;\n}\n0 && 0;\n\n//# sourceMappingURL=missing-plugin-helper.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/tools/build-external-helpers.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/tools/build-external-helpers.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = _default;\nfunction helpers() {\n const data = __webpack_require__(/*! @babel/helpers */ \"./node_modules/@babel/helpers/lib/index.js\");\n helpers = function () {\n return data;\n };\n return data;\n}\nfunction _generator() {\n const data = __webpack_require__(/*! @babel/generator */ \"./node_modules/@babel/generator/lib/index.js\");\n _generator = function () {\n return data;\n };\n return data;\n}\nfunction _template() {\n const data = __webpack_require__(/*! @babel/template */ \"./node_modules/@babel/template/lib/index.js\");\n _template = function () {\n return data;\n };\n return data;\n}\nfunction _t() {\n const data = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\n _t = function () {\n return data;\n };\n return data;\n}\nconst {\n arrayExpression,\n assignmentExpression,\n binaryExpression,\n blockStatement,\n callExpression,\n cloneNode,\n conditionalExpression,\n exportNamedDeclaration,\n exportSpecifier,\n expressionStatement,\n functionExpression,\n identifier,\n memberExpression,\n objectExpression,\n program,\n stringLiteral,\n unaryExpression,\n variableDeclaration,\n variableDeclarator\n} = _t();\nconst buildUmdWrapper = replacements => _template().default.statement`\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n `(replacements);\nfunction buildGlobal(allowlist) {\n const namespace = identifier(\"babelHelpers\");\n const body = [];\n const container = functionExpression(null, [identifier(\"global\")], blockStatement(body));\n const tree = program([expressionStatement(callExpression(container, [conditionalExpression(binaryExpression(\"===\", unaryExpression(\"typeof\", identifier(\"global\")), stringLiteral(\"undefined\")), identifier(\"self\"), identifier(\"global\"))]))]);\n body.push(variableDeclaration(\"var\", [variableDeclarator(namespace, assignmentExpression(\"=\", memberExpression(identifier(\"global\"), namespace), objectExpression([])))]));\n buildHelpers(body, namespace, allowlist);\n return tree;\n}\nfunction buildModule(allowlist) {\n const body = [];\n const refs = buildHelpers(body, null, allowlist);\n body.unshift(exportNamedDeclaration(null, Object.keys(refs).map(name => {\n return exportSpecifier(cloneNode(refs[name]), identifier(name));\n })));\n return program(body, [], \"module\");\n}\nfunction buildUmd(allowlist) {\n const namespace = identifier(\"babelHelpers\");\n const body = [];\n body.push(variableDeclaration(\"var\", [variableDeclarator(namespace, identifier(\"global\"))]));\n buildHelpers(body, namespace, allowlist);\n return program([buildUmdWrapper({\n FACTORY_PARAMETERS: identifier(\"global\"),\n BROWSER_ARGUMENTS: assignmentExpression(\"=\", memberExpression(identifier(\"root\"), namespace), objectExpression([])),\n COMMON_ARGUMENTS: identifier(\"exports\"),\n AMD_ARGUMENTS: arrayExpression([stringLiteral(\"exports\")]),\n FACTORY_BODY: body,\n UMD_ROOT: identifier(\"this\")\n })]);\n}\nfunction buildVar(allowlist) {\n const namespace = identifier(\"babelHelpers\");\n const body = [];\n body.push(variableDeclaration(\"var\", [variableDeclarator(namespace, objectExpression([]))]));\n const tree = program(body);\n buildHelpers(body, namespace, allowlist);\n body.push(expressionStatement(namespace));\n return tree;\n}\nfunction buildHelpers(body, namespace, allowlist) {\n const getHelperReference = name => {\n return namespace ? memberExpression(namespace, identifier(name)) : identifier(`_${name}`);\n };\n const refs = {};\n helpers().list.forEach(function (name) {\n if (allowlist && !allowlist.includes(name)) return;\n const ref = refs[name] = getHelperReference(name);\n const {\n nodes\n } = helpers().get(name, getHelperReference, namespace ? null : `_${name}`, [], namespace ? (ast, exportName, mapExportBindingAssignments) => {\n mapExportBindingAssignments(node => assignmentExpression(\"=\", ref, node));\n ast.body.push(expressionStatement(assignmentExpression(\"=\", ref, identifier(exportName))));\n } : null);\n body.push(...nodes);\n });\n return refs;\n}\nfunction _default(allowlist, outputType = \"global\") {\n let tree;\n const build = {\n global: buildGlobal,\n module: buildModule,\n umd: buildUmd,\n var: buildVar\n }[outputType];\n if (build) {\n tree = build(allowlist);\n } else {\n throw new Error(`Unsupported output type ${outputType}`);\n }\n return (0, _generator().default)(tree).code;\n}\n0 && 0;\n\n//# sourceMappingURL=build-external-helpers.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/tools/build-external-helpers.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transform-ast.js": +/*!*******************************************************!*\ + !*** ./node_modules/@babel/core/lib/transform-ast.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.transformFromAst = void 0;\nexports.transformFromAstAsync = transformFromAstAsync;\nexports.transformFromAstSync = transformFromAstSync;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nvar _index = __webpack_require__(/*! ./config/index.js */ \"./node_modules/@babel/core/lib/config/index.js\");\nvar _index2 = __webpack_require__(/*! ./transformation/index.js */ \"./node_modules/@babel/core/lib/transformation/index.js\");\nvar _rewriteStackTrace = __webpack_require__(/*! ./errors/rewrite-stack-trace.js */ \"./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js\");\nconst transformFromAstRunner = _gensync()(function* (ast, code, opts) {\n const config = yield* (0, _index.default)(opts);\n if (config === null) return null;\n if (!ast) throw new Error(\"No AST given\");\n return yield* (0, _index2.run)(config, code, ast);\n});\nconst transformFromAst = exports.transformFromAst = function transformFromAst(ast, code, optsOrCallback, maybeCallback) {\n let opts;\n let callback;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n if (callback === undefined) {\n {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.sync)(ast, code, opts);\n }\n }\n (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.errback)(ast, code, opts, callback);\n};\nfunction transformFromAstSync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.sync)(...args);\n}\nfunction transformFromAstAsync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.async)(...args);\n}\n0 && 0;\n\n//# sourceMappingURL=transform-ast.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transform-ast.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transform-file-browser.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transform-file-browser.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.transformFile = void 0;\nexports.transformFileAsync = transformFileAsync;\nexports.transformFileSync = transformFileSync;\nconst transformFile = exports.transformFile = function transformFile(filename, opts, callback) {\n if (typeof opts === \"function\") {\n callback = opts;\n }\n callback(new Error(\"Transforming files is not supported in browsers\"), null);\n};\nfunction transformFileSync() {\n throw new Error(\"Transforming files is not supported in browsers\");\n}\nfunction transformFileAsync() {\n return Promise.reject(new Error(\"Transforming files is not supported in browsers\"));\n}\n0 && 0;\n\n//# sourceMappingURL=transform-file-browser.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transform-file-browser.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transform.js": +/*!***************************************************!*\ + !*** ./node_modules/@babel/core/lib/transform.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.transform = void 0;\nexports.transformAsync = transformAsync;\nexports.transformSync = transformSync;\nfunction _gensync() {\n const data = __webpack_require__(/*! gensync */ \"./node_modules/gensync/index.js\");\n _gensync = function () {\n return data;\n };\n return data;\n}\nvar _index = __webpack_require__(/*! ./config/index.js */ \"./node_modules/@babel/core/lib/config/index.js\");\nvar _index2 = __webpack_require__(/*! ./transformation/index.js */ \"./node_modules/@babel/core/lib/transformation/index.js\");\nvar _rewriteStackTrace = __webpack_require__(/*! ./errors/rewrite-stack-trace.js */ \"./node_modules/@babel/core/lib/errors/rewrite-stack-trace.js\");\nconst transformRunner = _gensync()(function* transform(code, opts) {\n const config = yield* (0, _index.default)(opts);\n if (config === null) return null;\n return yield* (0, _index2.run)(config, code);\n});\nconst transform = exports.transform = function transform(code, optsOrCallback, maybeCallback) {\n let opts;\n let callback;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n if (callback === undefined) {\n {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.sync)(code, opts);\n }\n }\n (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.errback)(code, opts, callback);\n};\nfunction transformSync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.sync)(...args);\n}\nfunction transformAsync(...args) {\n return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.async)(...args);\n}\n0 && 0;\n\n//# sourceMappingURL=transform.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transform.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/block-hoist-plugin.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/block-hoist-plugin.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = loadBlockHoistPlugin;\nfunction _traverse() {\n const data = __webpack_require__(/*! @babel/traverse */ \"./node_modules/@babel/traverse/lib/index.js\");\n _traverse = function () {\n return data;\n };\n return data;\n}\nvar _plugin = __webpack_require__(/*! ../config/plugin.js */ \"./node_modules/@babel/core/lib/config/plugin.js\");\nlet LOADED_PLUGIN;\nconst blockHoistPlugin = {\n name: \"internal.blockHoist\",\n visitor: {\n Block: {\n exit({\n node\n }) {\n node.body = performHoisting(node.body);\n }\n },\n SwitchCase: {\n exit({\n node\n }) {\n node.consequent = performHoisting(node.consequent);\n }\n }\n }\n};\nfunction performHoisting(body) {\n let max = Math.pow(2, 30) - 1;\n let hasChange = false;\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n if (p > max) {\n hasChange = true;\n break;\n }\n max = p;\n }\n if (!hasChange) return body;\n return stableSort(body.slice());\n}\nfunction loadBlockHoistPlugin() {\n if (!LOADED_PLUGIN) {\n LOADED_PLUGIN = new _plugin.default(Object.assign({}, blockHoistPlugin, {\n visitor: _traverse().default.explode(blockHoistPlugin.visitor)\n }), {});\n }\n return LOADED_PLUGIN;\n}\nfunction priority(bodyNode) {\n const priority = bodyNode == null ? void 0 : bodyNode._blockHoist;\n if (priority == null) return 1;\n if (priority === true) return 2;\n return priority;\n}\nfunction stableSort(body) {\n const buckets = Object.create(null);\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n const bucket = buckets[p] || (buckets[p] = []);\n bucket.push(n);\n }\n const keys = Object.keys(buckets).map(k => +k).sort((a, b) => b - a);\n let index = 0;\n for (const key of keys) {\n const bucket = buckets[key];\n for (const n of bucket) {\n body[index++] = n;\n }\n }\n return body;\n}\n0 && 0;\n\n//# sourceMappingURL=block-hoist-plugin.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/block-hoist-plugin.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("exports.getModuleName = () => (__webpack_require__(/*! @babel/helper-module-transforms */ \"./node_modules/@babel/helper-module-transforms/lib/index.js\").getModuleName);\n0 && 0;\n\n//# sourceMappingURL=babel-7-helpers.cjs.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/file/file.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/file/file.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nfunction helpers() {\n const data = __webpack_require__(/*! @babel/helpers */ \"./node_modules/@babel/helpers/lib/index.js\");\n helpers = function () {\n return data;\n };\n return data;\n}\nfunction _traverse() {\n const data = __webpack_require__(/*! @babel/traverse */ \"./node_modules/@babel/traverse/lib/index.js\");\n _traverse = function () {\n return data;\n };\n return data;\n}\nfunction _codeFrame() {\n const data = __webpack_require__(/*! @babel/code-frame */ \"./node_modules/@babel/code-frame/lib/index.js\");\n _codeFrame = function () {\n return data;\n };\n return data;\n}\nfunction _t() {\n const data = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\n _t = function () {\n return data;\n };\n return data;\n}\nfunction _semver() {\n const data = __webpack_require__(/*! semver */ \"./node_modules/semver/semver.js\");\n _semver = function () {\n return data;\n };\n return data;\n}\nvar babel7 = _interopRequireWildcard(__webpack_require__(/*! ./babel-7-helpers.cjs */ \"./node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs\"), true);\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst {\n cloneNode,\n interpreterDirective\n} = _t();\nconst errorVisitor = {\n enter(path, state) {\n const loc = path.node.loc;\n if (loc) {\n state.loc = loc;\n path.stop();\n }\n }\n};\nclass File {\n constructor(options, {\n code,\n ast,\n inputMap\n }) {\n this._map = new Map();\n this.opts = void 0;\n this.declarations = {};\n this.path = void 0;\n this.ast = void 0;\n this.scope = void 0;\n this.metadata = {};\n this.code = \"\";\n this.inputMap = void 0;\n this.hub = {\n file: this,\n getCode: () => this.code,\n getScope: () => this.scope,\n addHelper: this.addHelper.bind(this),\n buildError: this.buildCodeFrameError.bind(this)\n };\n this.opts = options;\n this.code = code;\n this.ast = ast;\n this.inputMap = inputMap;\n this.path = _traverse().NodePath.get({\n hub: this.hub,\n parentPath: null,\n parent: this.ast,\n container: this.ast,\n key: \"program\"\n }).setContext();\n this.scope = this.path.scope;\n }\n get shebang() {\n const {\n interpreter\n } = this.path.node;\n return interpreter ? interpreter.value : \"\";\n }\n set shebang(value) {\n if (value) {\n this.path.get(\"interpreter\").replaceWith(interpreterDirective(value));\n } else {\n this.path.get(\"interpreter\").remove();\n }\n }\n set(key, val) {\n {\n if (key === \"helpersNamespace\") {\n throw new Error(\"Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility.\" + \"If you are using @babel/plugin-external-helpers you will need to use a newer \" + \"version than the one you currently have installed. \" + \"If you have your own implementation, you'll want to explore using 'helperGenerator' \" + \"alongside 'file.availableHelper()'.\");\n }\n }\n this._map.set(key, val);\n }\n get(key) {\n return this._map.get(key);\n }\n has(key) {\n return this._map.has(key);\n }\n availableHelper(name, versionRange) {\n let minVersion;\n try {\n minVersion = helpers().minVersion(name);\n } catch (err) {\n if (err.code !== \"BABEL_HELPER_UNKNOWN\") throw err;\n return false;\n }\n if (typeof versionRange !== \"string\") return true;\n if (_semver().valid(versionRange)) versionRange = `^${versionRange}`;\n {\n return !_semver().intersects(`<${minVersion}`, versionRange) && !_semver().intersects(`>=8.0.0`, versionRange);\n }\n }\n addHelper(name) {\n const declar = this.declarations[name];\n if (declar) return cloneNode(declar);\n const generator = this.get(\"helperGenerator\");\n if (generator) {\n const res = generator(name);\n if (res) return res;\n }\n helpers().minVersion(name);\n const uid = this.declarations[name] = this.scope.generateUidIdentifier(name);\n const dependencies = {};\n for (const dep of helpers().getDependencies(name)) {\n dependencies[dep] = this.addHelper(dep);\n }\n const {\n nodes,\n globals\n } = helpers().get(name, dep => dependencies[dep], uid.name, Object.keys(this.scope.getAllBindings()));\n globals.forEach(name => {\n if (this.path.scope.hasBinding(name, true)) {\n this.path.scope.rename(name);\n }\n });\n nodes.forEach(node => {\n node._compact = true;\n });\n const added = this.path.unshiftContainer(\"body\", nodes);\n for (const path of added) {\n if (path.isVariableDeclaration()) this.scope.registerDeclaration(path);\n }\n return uid;\n }\n buildCodeFrameError(node, msg, _Error = SyntaxError) {\n let loc = node == null ? void 0 : node.loc;\n if (!loc && node) {\n const state = {\n loc: null\n };\n (0, _traverse().default)(node, errorVisitor, this.scope, state);\n loc = state.loc;\n let txt = \"This is an error on an internal node. Probably an internal error.\";\n if (loc) txt += \" Location has been estimated.\";\n msg += ` (${txt})`;\n }\n if (loc) {\n const {\n highlightCode = true\n } = this.opts;\n msg += \"\\n\" + (0, _codeFrame().codeFrameColumns)(this.code, {\n start: {\n line: loc.start.line,\n column: loc.start.column + 1\n },\n end: loc.end && loc.start.line === loc.end.line ? {\n line: loc.end.line,\n column: loc.end.column + 1\n } : undefined\n }, {\n highlightCode\n });\n }\n return new _Error(msg);\n }\n}\nexports[\"default\"] = File;\n{\n File.prototype.addImport = function addImport() {\n throw new Error(\"This API has been removed. If you're looking for this \" + \"functionality in Babel 7, you should import the \" + \"'@babel/helper-module-imports' module and use the functions exposed \" + \" from that module, such as 'addNamed' or 'addDefault'.\");\n };\n File.prototype.addTemplateObject = function addTemplateObject() {\n throw new Error(\"This function has been moved into the template literal transform itself.\");\n };\n {\n File.prototype.getModuleName = function getModuleName() {\n return babel7.getModuleName()(this.opts, this.opts);\n };\n }\n}\n0 && 0;\n\n//# sourceMappingURL=file.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/file/file.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/file/generate.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/file/generate.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = generateCode;\nfunction _convertSourceMap() {\n const data = __webpack_require__(/*! convert-source-map */ \"./node_modules/convert-source-map/index.js\");\n _convertSourceMap = function () {\n return data;\n };\n return data;\n}\nfunction _generator() {\n const data = __webpack_require__(/*! @babel/generator */ \"./node_modules/@babel/generator/lib/index.js\");\n _generator = function () {\n return data;\n };\n return data;\n}\nvar _mergeMap = __webpack_require__(/*! ./merge-map.js */ \"./node_modules/@babel/core/lib/transformation/file/merge-map.js\");\nfunction generateCode(pluginPasses, file) {\n const {\n opts,\n ast,\n code,\n inputMap\n } = file;\n const {\n generatorOpts\n } = opts;\n generatorOpts.inputSourceMap = inputMap == null ? void 0 : inputMap.toObject();\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const {\n generatorOverride\n } = plugin;\n if (generatorOverride) {\n const result = generatorOverride(ast, generatorOpts, code, _generator().default);\n if (result !== undefined) results.push(result);\n }\n }\n }\n let result;\n if (results.length === 0) {\n result = (0, _generator().default)(ast, generatorOpts, code);\n } else if (results.length === 1) {\n result = results[0];\n if (typeof result.then === \"function\") {\n throw new Error(`You appear to be using an async codegen plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version.`);\n }\n } else {\n throw new Error(\"More than one plugin attempted to override codegen.\");\n }\n let {\n code: outputCode,\n decodedMap: outputMap = result.map\n } = result;\n if (result.__mergedMap) {\n outputMap = Object.assign({}, result.map);\n } else {\n if (outputMap) {\n if (inputMap) {\n outputMap = (0, _mergeMap.default)(inputMap.toObject(), outputMap, generatorOpts.sourceFileName);\n } else {\n outputMap = result.map;\n }\n }\n }\n if (opts.sourceMaps === \"inline\" || opts.sourceMaps === \"both\") {\n outputCode += \"\\n\" + _convertSourceMap().fromObject(outputMap).toComment();\n }\n if (opts.sourceMaps === \"inline\") {\n outputMap = null;\n }\n return {\n outputCode,\n outputMap\n };\n}\n0 && 0;\n\n//# sourceMappingURL=generate.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/file/generate.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/file/merge-map.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/file/merge-map.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = mergeSourceMap;\nfunction _remapping() {\n const data = __webpack_require__(/*! @ampproject/remapping */ \"./node_modules/@ampproject/remapping/dist/remapping.umd.js\");\n _remapping = function () {\n return data;\n };\n return data;\n}\nfunction mergeSourceMap(inputMap, map, sourceFileName) {\n const source = sourceFileName.replace(/\\\\/g, \"/\");\n let found = false;\n const result = _remapping()(rootless(map), (s, ctx) => {\n if (s === source && !found) {\n found = true;\n ctx.source = \"\";\n return rootless(inputMap);\n }\n return null;\n });\n if (typeof inputMap.sourceRoot === \"string\") {\n result.sourceRoot = inputMap.sourceRoot;\n }\n return Object.assign({}, result);\n}\nfunction rootless(map) {\n return Object.assign({}, map, {\n sourceRoot: null\n });\n}\n0 && 0;\n\n//# sourceMappingURL=merge-map.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/file/merge-map.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/index.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/index.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.run = run;\nfunction _traverse() {\n const data = __webpack_require__(/*! @babel/traverse */ \"./node_modules/@babel/traverse/lib/index.js\");\n _traverse = function () {\n return data;\n };\n return data;\n}\nvar _pluginPass = __webpack_require__(/*! ./plugin-pass.js */ \"./node_modules/@babel/core/lib/transformation/plugin-pass.js\");\nvar _blockHoistPlugin = __webpack_require__(/*! ./block-hoist-plugin.js */ \"./node_modules/@babel/core/lib/transformation/block-hoist-plugin.js\");\nvar _normalizeOpts = __webpack_require__(/*! ./normalize-opts.js */ \"./node_modules/@babel/core/lib/transformation/normalize-opts.js\");\nvar _normalizeFile = __webpack_require__(/*! ./normalize-file.js */ \"./node_modules/@babel/core/lib/transformation/normalize-file.js\");\nvar _generate = __webpack_require__(/*! ./file/generate.js */ \"./node_modules/@babel/core/lib/transformation/file/generate.js\");\nvar _deepArray = __webpack_require__(/*! ../config/helpers/deep-array.js */ \"./node_modules/@babel/core/lib/config/helpers/deep-array.js\");\nvar _async = __webpack_require__(/*! ../gensync-utils/async.js */ \"./node_modules/@babel/core/lib/gensync-utils/async.js\");\nfunction* run(config, code, ast) {\n const file = yield* (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code, ast);\n const opts = file.opts;\n try {\n yield* transformFile(file, config.passes);\n } catch (e) {\n var _opts$filename;\n e.message = `${(_opts$filename = opts.filename) != null ? _opts$filename : \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_TRANSFORM_ERROR\";\n }\n throw e;\n }\n let outputCode, outputMap;\n try {\n if (opts.code !== false) {\n ({\n outputCode,\n outputMap\n } = (0, _generate.default)(config.passes, file));\n }\n } catch (e) {\n var _opts$filename2;\n e.message = `${(_opts$filename2 = opts.filename) != null ? _opts$filename2 : \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_GENERATE_ERROR\";\n }\n throw e;\n }\n return {\n metadata: file.metadata,\n options: opts,\n ast: opts.ast === true ? file.ast : null,\n code: outputCode === undefined ? null : outputCode,\n map: outputMap === undefined ? null : outputMap,\n sourceType: file.ast.program.sourceType,\n externalDependencies: (0, _deepArray.flattenToSet)(config.externalDependencies)\n };\n}\nfunction* transformFile(file, pluginPasses) {\n const async = yield* (0, _async.isAsync)();\n for (const pluginPairs of pluginPasses) {\n const passPairs = [];\n const passes = [];\n const visitors = [];\n for (const plugin of pluginPairs.concat([(0, _blockHoistPlugin.default)()])) {\n const pass = new _pluginPass.default(file, plugin.key, plugin.options, async);\n passPairs.push([plugin, pass]);\n passes.push(pass);\n visitors.push(plugin.visitor);\n }\n for (const [plugin, pass] of passPairs) {\n if (plugin.pre) {\n const fn = (0, _async.maybeAsync)(plugin.pre, `You appear to be using an async plugin/preset, but Babel has been called synchronously`);\n yield* fn.call(pass, file);\n }\n }\n const visitor = _traverse().default.visitors.merge(visitors, passes, file.opts.wrapPluginVisitorMethod);\n {\n (0, _traverse().default)(file.ast, visitor, file.scope);\n }\n for (const [plugin, pass] of passPairs) {\n if (plugin.post) {\n const fn = (0, _async.maybeAsync)(plugin.post, `You appear to be using an async plugin/preset, but Babel has been called synchronously`);\n yield* fn.call(pass, file);\n }\n }\n }\n}\n0 && 0;\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/normalize-file.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/normalize-file.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = normalizeFile;\nfunction _fs() {\n const data = __webpack_require__(/*! fs */ \"?748e\");\n _fs = function () {\n return data;\n };\n return data;\n}\nfunction _path() {\n const data = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n _path = function () {\n return data;\n };\n return data;\n}\nfunction _debug() {\n const data = __webpack_require__(/*! debug */ \"./node_modules/debug/src/browser.js\");\n _debug = function () {\n return data;\n };\n return data;\n}\nfunction _t() {\n const data = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\n _t = function () {\n return data;\n };\n return data;\n}\nfunction _convertSourceMap() {\n const data = __webpack_require__(/*! convert-source-map */ \"./node_modules/convert-source-map/index.js\");\n _convertSourceMap = function () {\n return data;\n };\n return data;\n}\nvar _file = __webpack_require__(/*! ./file/file.js */ \"./node_modules/@babel/core/lib/transformation/file/file.js\");\nvar _index = __webpack_require__(/*! ../parser/index.js */ \"./node_modules/@babel/core/lib/parser/index.js\");\nvar _cloneDeep = __webpack_require__(/*! ./util/clone-deep.js */ \"./node_modules/@babel/core/lib/transformation/util/clone-deep.js\");\nconst {\n file,\n traverseFast\n} = _t();\nconst debug = _debug()(\"babel:transform:file\");\nconst INLINE_SOURCEMAP_REGEX = /^[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+?;)?base64,.*$/;\nconst EXTERNAL_SOURCEMAP_REGEX = /^[@#][ \\t]+sourceMappingURL=([^\\s'\"`]+)[ \\t]*$/;\nfunction* normalizeFile(pluginPasses, options, code, ast) {\n code = `${code || \"\"}`;\n if (ast) {\n if (ast.type === \"Program\") {\n ast = file(ast, [], []);\n } else if (ast.type !== \"File\") {\n throw new Error(\"AST root must be a Program or File node\");\n }\n if (options.cloneInputAst) {\n ast = (0, _cloneDeep.default)(ast);\n }\n } else {\n ast = yield* (0, _index.default)(pluginPasses, options, code);\n }\n let inputMap = null;\n if (options.inputSourceMap !== false) {\n if (typeof options.inputSourceMap === \"object\") {\n inputMap = _convertSourceMap().fromObject(options.inputSourceMap);\n }\n if (!inputMap) {\n const lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast);\n if (lastComment) {\n try {\n inputMap = _convertSourceMap().fromComment(\"//\" + lastComment);\n } catch (err) {\n {\n debug(\"discarding unknown inline input sourcemap\");\n }\n }\n }\n }\n if (!inputMap) {\n const lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast);\n if (typeof options.filename === \"string\" && lastComment) {\n try {\n const match = EXTERNAL_SOURCEMAP_REGEX.exec(lastComment);\n const inputMapContent = _fs().readFileSync(_path().resolve(_path().dirname(options.filename), match[1]), \"utf8\");\n inputMap = _convertSourceMap().fromJSON(inputMapContent);\n } catch (err) {\n debug(\"discarding unknown file input sourcemap\", err);\n }\n } else if (lastComment) {\n debug(\"discarding un-loadable file input sourcemap\");\n }\n }\n }\n return new _file.default(options, {\n code,\n ast: ast,\n inputMap\n });\n}\nfunction extractCommentsFromList(regex, comments, lastComment) {\n if (comments) {\n comments = comments.filter(({\n value\n }) => {\n if (regex.test(value)) {\n lastComment = value;\n return false;\n }\n return true;\n });\n }\n return [comments, lastComment];\n}\nfunction extractComments(regex, ast) {\n let lastComment = null;\n traverseFast(ast, node => {\n [node.leadingComments, lastComment] = extractCommentsFromList(regex, node.leadingComments, lastComment);\n [node.innerComments, lastComment] = extractCommentsFromList(regex, node.innerComments, lastComment);\n [node.trailingComments, lastComment] = extractCommentsFromList(regex, node.trailingComments, lastComment);\n });\n return lastComment;\n}\n0 && 0;\n\n//# sourceMappingURL=normalize-file.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/normalize-file.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/normalize-opts.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/normalize-opts.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = normalizeOptions;\nfunction _path() {\n const data = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n _path = function () {\n return data;\n };\n return data;\n}\nfunction normalizeOptions(config) {\n const {\n filename,\n cwd,\n filenameRelative = typeof filename === \"string\" ? _path().relative(cwd, filename) : \"unknown\",\n sourceType = \"module\",\n inputSourceMap,\n sourceMaps = !!inputSourceMap,\n sourceRoot = config.options.moduleRoot,\n sourceFileName = _path().basename(filenameRelative),\n comments = true,\n compact = \"auto\"\n } = config.options;\n const opts = config.options;\n const options = Object.assign({}, opts, {\n parserOpts: Object.assign({\n sourceType: _path().extname(filenameRelative) === \".mjs\" ? \"module\" : sourceType,\n sourceFileName: filename,\n plugins: []\n }, opts.parserOpts),\n generatorOpts: Object.assign({\n filename,\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n retainLines: opts.retainLines,\n comments,\n shouldPrintComment: opts.shouldPrintComment,\n compact,\n minified: opts.minified,\n sourceMaps,\n sourceRoot,\n sourceFileName\n }, opts.generatorOpts)\n });\n for (const plugins of config.passes) {\n for (const plugin of plugins) {\n if (plugin.manipulateOptions) {\n plugin.manipulateOptions(options, options.parserOpts);\n }\n }\n }\n return options;\n}\n0 && 0;\n\n//# sourceMappingURL=normalize-opts.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/normalize-opts.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/plugin-pass.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/plugin-pass.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nclass PluginPass {\n constructor(file, key, options, isAsync) {\n this._map = new Map();\n this.key = void 0;\n this.file = void 0;\n this.opts = void 0;\n this.cwd = void 0;\n this.filename = void 0;\n this.isAsync = void 0;\n this.key = key;\n this.file = file;\n this.opts = options || {};\n this.cwd = file.opts.cwd;\n this.filename = file.opts.filename;\n this.isAsync = isAsync;\n }\n set(key, val) {\n this._map.set(key, val);\n }\n get(key) {\n return this._map.get(key);\n }\n availableHelper(name, versionRange) {\n return this.file.availableHelper(name, versionRange);\n }\n addHelper(name) {\n return this.file.addHelper(name);\n }\n buildCodeFrameError(node, msg, _Error) {\n return this.file.buildCodeFrameError(node, msg, _Error);\n }\n}\nexports[\"default\"] = PluginPass;\n{\n PluginPass.prototype.getModuleName = function getModuleName() {\n return this.file.getModuleName();\n };\n PluginPass.prototype.addImport = function addImport() {\n this.file.addImport();\n };\n}\n0 && 0;\n\n//# sourceMappingURL=plugin-pass.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/plugin-pass.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/core/lib/transformation/util/clone-deep.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/core/lib/transformation/util/clone-deep.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = _default;\nfunction deepClone(value, cache) {\n if (value !== null) {\n if (cache.has(value)) return cache.get(value);\n let cloned;\n if (Array.isArray(value)) {\n cloned = new Array(value.length);\n cache.set(value, cloned);\n for (let i = 0; i < value.length; i++) {\n cloned[i] = typeof value[i] !== \"object\" ? value[i] : deepClone(value[i], cache);\n }\n } else {\n cloned = {};\n cache.set(value, cloned);\n const keys = Object.keys(value);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n cloned[key] = typeof value[key] !== \"object\" ? value[key] : deepClone(value[key], cache);\n }\n }\n return cloned;\n }\n return value;\n}\nfunction _default(value) {\n if (typeof value !== \"object\") return value;\n return deepClone(value, new Map());\n}\n0 && 0;\n\n//# sourceMappingURL=clone-deep.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/core/lib/transformation/util/clone-deep.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/buffer.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/generator/lib/buffer.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nclass Buffer {\n constructor(map, indentChar) {\n this._map = null;\n this._buf = \"\";\n this._str = \"\";\n this._appendCount = 0;\n this._last = 0;\n this._queue = [];\n this._queueCursor = 0;\n this._canMarkIdName = true;\n this._indentChar = \"\";\n this._fastIndentations = [];\n this._position = {\n line: 1,\n column: 0\n };\n this._sourcePosition = {\n identifierName: undefined,\n identifierNamePos: undefined,\n line: undefined,\n column: undefined,\n filename: undefined\n };\n this._map = map;\n this._indentChar = indentChar;\n for (let i = 0; i < 64; i++) {\n this._fastIndentations.push(indentChar.repeat(i));\n }\n this._allocQueue();\n }\n _allocQueue() {\n const queue = this._queue;\n for (let i = 0; i < 16; i++) {\n queue.push({\n char: 0,\n repeat: 1,\n line: undefined,\n column: undefined,\n identifierName: undefined,\n identifierNamePos: undefined,\n filename: \"\"\n });\n }\n }\n _pushQueue(char, repeat, line, column, filename) {\n const cursor = this._queueCursor;\n if (cursor === this._queue.length) {\n this._allocQueue();\n }\n const item = this._queue[cursor];\n item.char = char;\n item.repeat = repeat;\n item.line = line;\n item.column = column;\n item.filename = filename;\n this._queueCursor++;\n }\n _popQueue() {\n if (this._queueCursor === 0) {\n throw new Error(\"Cannot pop from empty queue\");\n }\n return this._queue[--this._queueCursor];\n }\n get() {\n this._flush();\n const map = this._map;\n const result = {\n code: (this._buf + this._str).trimRight(),\n decodedMap: map == null ? void 0 : map.getDecoded(),\n get __mergedMap() {\n return this.map;\n },\n get map() {\n const resultMap = map ? map.get() : null;\n result.map = resultMap;\n return resultMap;\n },\n set map(value) {\n Object.defineProperty(result, \"map\", {\n value,\n writable: true\n });\n },\n get rawMappings() {\n const mappings = map == null ? void 0 : map.getRawMappings();\n result.rawMappings = mappings;\n return mappings;\n },\n set rawMappings(value) {\n Object.defineProperty(result, \"rawMappings\", {\n value,\n writable: true\n });\n }\n };\n return result;\n }\n append(str, maybeNewline) {\n this._flush();\n this._append(str, this._sourcePosition, maybeNewline);\n }\n appendChar(char) {\n this._flush();\n this._appendChar(char, 1, this._sourcePosition);\n }\n queue(char) {\n if (char === 10) {\n while (this._queueCursor !== 0) {\n const char = this._queue[this._queueCursor - 1].char;\n if (char !== 32 && char !== 9) {\n break;\n }\n this._queueCursor--;\n }\n }\n const sourcePosition = this._sourcePosition;\n this._pushQueue(char, 1, sourcePosition.line, sourcePosition.column, sourcePosition.filename);\n }\n queueIndentation(repeat) {\n if (repeat === 0) return;\n this._pushQueue(-1, repeat, undefined, undefined, undefined);\n }\n _flush() {\n const queueCursor = this._queueCursor;\n const queue = this._queue;\n for (let i = 0; i < queueCursor; i++) {\n const item = queue[i];\n this._appendChar(item.char, item.repeat, item);\n }\n this._queueCursor = 0;\n }\n _appendChar(char, repeat, sourcePos) {\n this._last = char;\n if (char === -1) {\n const fastIndentation = this._fastIndentations[repeat];\n if (fastIndentation !== undefined) {\n this._str += fastIndentation;\n } else {\n this._str += repeat > 1 ? this._indentChar.repeat(repeat) : this._indentChar;\n }\n } else {\n this._str += repeat > 1 ? String.fromCharCode(char).repeat(repeat) : String.fromCharCode(char);\n }\n if (char !== 10) {\n this._mark(sourcePos.line, sourcePos.column, sourcePos.identifierName, sourcePos.identifierNamePos, sourcePos.filename);\n this._position.column += repeat;\n } else {\n this._position.line++;\n this._position.column = 0;\n }\n if (this._canMarkIdName) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n }\n _append(str, sourcePos, maybeNewline) {\n const len = str.length;\n const position = this._position;\n this._last = str.charCodeAt(len - 1);\n if (++this._appendCount > 4096) {\n +this._str;\n this._buf += this._str;\n this._str = str;\n this._appendCount = 0;\n } else {\n this._str += str;\n }\n if (!maybeNewline && !this._map) {\n position.column += len;\n return;\n }\n const {\n column,\n identifierName,\n identifierNamePos,\n filename\n } = sourcePos;\n let line = sourcePos.line;\n if ((identifierName != null || identifierNamePos != null) && this._canMarkIdName) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n let i = str.indexOf(\"\\n\");\n let last = 0;\n if (i !== 0) {\n this._mark(line, column, identifierName, identifierNamePos, filename);\n }\n while (i !== -1) {\n position.line++;\n position.column = 0;\n last = i + 1;\n if (last < len && line !== undefined) {\n this._mark(++line, 0, null, null, filename);\n }\n i = str.indexOf(\"\\n\", last);\n }\n position.column += len - last;\n }\n _mark(line, column, identifierName, identifierNamePos, filename) {\n var _this$_map;\n (_this$_map = this._map) == null || _this$_map.mark(this._position, line, column, identifierName, identifierNamePos, filename);\n }\n removeTrailingNewline() {\n const queueCursor = this._queueCursor;\n if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 10) {\n this._queueCursor--;\n }\n }\n removeLastSemicolon() {\n const queueCursor = this._queueCursor;\n if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 59) {\n this._queueCursor--;\n }\n }\n getLastChar() {\n const queueCursor = this._queueCursor;\n return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last;\n }\n getNewlineCount() {\n const queueCursor = this._queueCursor;\n let count = 0;\n if (queueCursor === 0) return this._last === 10 ? 1 : 0;\n for (let i = queueCursor - 1; i >= 0; i--) {\n if (this._queue[i].char !== 10) {\n break;\n }\n count++;\n }\n return count === queueCursor && this._last === 10 ? count + 1 : count;\n }\n endsWithCharAndNewline() {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n if (queueCursor !== 0) {\n const lastCp = queue[queueCursor - 1].char;\n if (lastCp !== 10) return;\n if (queueCursor > 1) {\n return queue[queueCursor - 2].char;\n } else {\n return this._last;\n }\n }\n }\n hasContent() {\n return this._queueCursor !== 0 || !!this._last;\n }\n exactSource(loc, cb) {\n if (!this._map) {\n cb();\n return;\n }\n this.source(\"start\", loc);\n const identifierName = loc.identifierName;\n const sourcePos = this._sourcePosition;\n if (identifierName) {\n this._canMarkIdName = false;\n sourcePos.identifierName = identifierName;\n }\n cb();\n if (identifierName) {\n this._canMarkIdName = true;\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n this.source(\"end\", loc);\n }\n source(prop, loc) {\n if (!this._map) return;\n this._normalizePosition(prop, loc, 0);\n }\n sourceWithOffset(prop, loc, columnOffset) {\n if (!this._map) return;\n this._normalizePosition(prop, loc, columnOffset);\n }\n _normalizePosition(prop, loc, columnOffset) {\n const pos = loc[prop];\n const target = this._sourcePosition;\n if (pos) {\n target.line = pos.line;\n target.column = Math.max(pos.column + columnOffset, 0);\n target.filename = loc.filename;\n }\n }\n getCurrentColumn() {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n let lastIndex = -1;\n let len = 0;\n for (let i = 0; i < queueCursor; i++) {\n const item = queue[i];\n if (item.char === 10) {\n lastIndex = len;\n }\n len += item.repeat;\n }\n return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex;\n }\n getCurrentLine() {\n let count = 0;\n const queue = this._queue;\n for (let i = 0; i < this._queueCursor; i++) {\n if (queue[i].char === 10) {\n count++;\n }\n }\n return this._position.line + count;\n }\n}\nexports[\"default\"] = Buffer;\n\n//# sourceMappingURL=buffer.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/buffer.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/base.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/base.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BlockStatement = BlockStatement;\nexports.Directive = Directive;\nexports.DirectiveLiteral = DirectiveLiteral;\nexports.File = File;\nexports.InterpreterDirective = InterpreterDirective;\nexports.Placeholder = Placeholder;\nexports.Program = Program;\nfunction File(node) {\n if (node.program) {\n this.print(node.program.interpreter);\n }\n this.print(node.program);\n}\nfunction Program(node) {\n var _node$directives;\n this.noIndentInnerCommentsHere();\n this.printInnerComments();\n const directivesLen = (_node$directives = node.directives) == null ? void 0 : _node$directives.length;\n if (directivesLen) {\n var _node$directives$trai;\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, {\n trailingCommentsLineOffset: newline\n });\n if (!((_node$directives$trai = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai.length)) {\n this.newline(newline);\n }\n }\n this.printSequence(node.body);\n}\nfunction BlockStatement(node) {\n var _node$directives2;\n this.tokenChar(123);\n const exit = this.enterDelimited();\n const directivesLen = (_node$directives2 = node.directives) == null ? void 0 : _node$directives2.length;\n if (directivesLen) {\n var _node$directives$trai2;\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, {\n indent: true,\n trailingCommentsLineOffset: newline\n });\n if (!((_node$directives$trai2 = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai2.length)) {\n this.newline(newline);\n }\n }\n this.printSequence(node.body, {\n indent: true\n });\n exit();\n this.rightBrace(node);\n}\nfunction Directive(node) {\n this.print(node.value);\n this.semicolon();\n}\nconst unescapedSingleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*'/;\nconst unescapedDoubleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*\"/;\nfunction DirectiveLiteral(node) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n const {\n value\n } = node;\n if (!unescapedDoubleQuoteRE.test(value)) {\n this.token(`\"${value}\"`);\n } else if (!unescapedSingleQuoteRE.test(value)) {\n this.token(`'${value}'`);\n } else {\n throw new Error(\"Malformed AST: it is not possible to print a directive containing\" + \" both unescaped single and double quotes.\");\n }\n}\nfunction InterpreterDirective(node) {\n this.token(`#!${node.value}`);\n this.newline(1, true);\n}\nfunction Placeholder(node) {\n this.token(\"%%\");\n this.print(node.name);\n this.token(\"%%\");\n if (node.expectedNode === \"Statement\") {\n this.semicolon();\n }\n}\n\n//# sourceMappingURL=base.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/base.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/classes.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/classes.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ClassAccessorProperty = ClassAccessorProperty;\nexports.ClassBody = ClassBody;\nexports.ClassExpression = exports.ClassDeclaration = ClassDeclaration;\nexports.ClassMethod = ClassMethod;\nexports.ClassPrivateMethod = ClassPrivateMethod;\nexports.ClassPrivateProperty = ClassPrivateProperty;\nexports.ClassProperty = ClassProperty;\nexports.StaticBlock = StaticBlock;\nexports._classMethodHead = _classMethodHead;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n isExportDefaultDeclaration,\n isExportNamedDeclaration\n} = _t;\nfunction ClassDeclaration(node, parent) {\n const inExport = isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent);\n if (!inExport || !this._shouldPrintDecoratorsBeforeExport(parent)) {\n this.printJoin(node.decorators);\n }\n if (node.declare) {\n this.word(\"declare\");\n this.space();\n }\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n this.word(\"class\");\n if (node.id) {\n this.space();\n this.print(node.id);\n }\n this.print(node.typeParameters);\n if (node.superClass) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.superClass);\n this.print(node.superTypeParameters);\n }\n if (node.implements) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements);\n }\n this.space();\n this.print(node.body);\n}\nfunction ClassBody(node) {\n this.tokenChar(123);\n if (node.body.length === 0) {\n this.tokenChar(125);\n } else {\n this.newline();\n const separator = classBodyEmptySemicolonsPrinter(this, node);\n separator == null || separator(-1);\n const exit = this.enterDelimited();\n this.printJoin(node.body, {\n statement: true,\n indent: true,\n separator,\n printTrailingSeparator: true\n });\n exit();\n if (!this.endsWith(10)) this.newline();\n this.rightBrace(node);\n }\n}\nfunction classBodyEmptySemicolonsPrinter(printer, node) {\n if (!printer.tokenMap || node.start == null || node.end == null) {\n return null;\n }\n const indexes = printer.tokenMap.getIndexes(node);\n if (!indexes) return null;\n let k = 1;\n let occurrenceCount = 0;\n let nextLocIndex = 0;\n const advanceNextLocIndex = () => {\n while (nextLocIndex < node.body.length && node.body[nextLocIndex].start == null) {\n nextLocIndex++;\n }\n };\n advanceNextLocIndex();\n return i => {\n if (nextLocIndex <= i) {\n nextLocIndex = i + 1;\n advanceNextLocIndex();\n }\n const end = nextLocIndex === node.body.length ? node.end : node.body[nextLocIndex].start;\n let tok;\n while (k < indexes.length && printer.tokenMap.matchesOriginal(tok = printer._tokens[indexes[k]], \";\") && tok.start < end) {\n printer.token(\";\", undefined, occurrenceCount++);\n k++;\n }\n };\n}\nfunction ClassProperty(node) {\n this.printJoin(node.decorators);\n if (!node.static && !this.format.preserveFormat) {\n var _node$key$loc;\n const endLine = (_node$key$loc = node.key.loc) == null || (_node$key$loc = _node$key$loc.end) == null ? void 0 : _node$key$loc.line;\n if (endLine) this.catchUp(endLine);\n }\n this.tsPrintClassMemberModifiers(node);\n if (node.computed) {\n this.tokenChar(91);\n this.print(node.key);\n this.tokenChar(93);\n } else {\n this._variance(node);\n this.print(node.key);\n }\n if (node.optional) {\n this.tokenChar(63);\n }\n if (node.definite) {\n this.tokenChar(33);\n }\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\nfunction ClassAccessorProperty(node) {\n var _node$key$loc2;\n this.printJoin(node.decorators);\n const endLine = (_node$key$loc2 = node.key.loc) == null || (_node$key$loc2 = _node$key$loc2.end) == null ? void 0 : _node$key$loc2.line;\n if (endLine) this.catchUp(endLine);\n this.tsPrintClassMemberModifiers(node);\n this.word(\"accessor\", true);\n this.space();\n if (node.computed) {\n this.tokenChar(91);\n this.print(node.key);\n this.tokenChar(93);\n } else {\n this._variance(node);\n this.print(node.key);\n }\n if (node.optional) {\n this.tokenChar(63);\n }\n if (node.definite) {\n this.tokenChar(33);\n }\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\nfunction ClassPrivateProperty(node) {\n this.printJoin(node.decorators);\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.key);\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\nfunction ClassMethod(node) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body);\n}\nfunction ClassPrivateMethod(node) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body);\n}\nfunction _classMethodHead(node) {\n this.printJoin(node.decorators);\n if (!this.format.preserveFormat) {\n var _node$key$loc3;\n const endLine = (_node$key$loc3 = node.key.loc) == null || (_node$key$loc3 = _node$key$loc3.end) == null ? void 0 : _node$key$loc3.line;\n if (endLine) this.catchUp(endLine);\n }\n this.tsPrintClassMemberModifiers(node);\n this._methodHead(node);\n}\nfunction StaticBlock(node) {\n this.word(\"static\");\n this.space();\n this.tokenChar(123);\n if (node.body.length === 0) {\n this.tokenChar(125);\n } else {\n this.newline();\n this.printSequence(node.body, {\n indent: true\n });\n this.rightBrace(node);\n }\n}\n\n//# sourceMappingURL=classes.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/classes.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/expressions.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/expressions.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression;\nexports.AssignmentPattern = AssignmentPattern;\nexports.AwaitExpression = AwaitExpression;\nexports.BindExpression = BindExpression;\nexports.CallExpression = CallExpression;\nexports.ConditionalExpression = ConditionalExpression;\nexports.Decorator = Decorator;\nexports.DoExpression = DoExpression;\nexports.EmptyStatement = EmptyStatement;\nexports.ExpressionStatement = ExpressionStatement;\nexports.Import = Import;\nexports.MemberExpression = MemberExpression;\nexports.MetaProperty = MetaProperty;\nexports.ModuleExpression = ModuleExpression;\nexports.NewExpression = NewExpression;\nexports.OptionalCallExpression = OptionalCallExpression;\nexports.OptionalMemberExpression = OptionalMemberExpression;\nexports.ParenthesizedExpression = ParenthesizedExpression;\nexports.PrivateName = PrivateName;\nexports.SequenceExpression = SequenceExpression;\nexports.Super = Super;\nexports.ThisExpression = ThisExpression;\nexports.UnaryExpression = UnaryExpression;\nexports.UpdateExpression = UpdateExpression;\nexports.V8IntrinsicIdentifier = V8IntrinsicIdentifier;\nexports.YieldExpression = YieldExpression;\nexports._shouldPrintDecoratorsBeforeExport = _shouldPrintDecoratorsBeforeExport;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _index = __webpack_require__(/*! ../node/index.js */ \"./node_modules/@babel/generator/lib/node/index.js\");\nconst {\n isCallExpression,\n isLiteral,\n isMemberExpression,\n isNewExpression,\n isPattern\n} = _t;\nfunction UnaryExpression(node) {\n const {\n operator\n } = node;\n if (operator === \"void\" || operator === \"delete\" || operator === \"typeof\" || operator === \"throw\") {\n this.word(operator);\n this.space();\n } else {\n this.token(operator);\n }\n this.print(node.argument);\n}\nfunction DoExpression(node) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n this.word(\"do\");\n this.space();\n this.print(node.body);\n}\nfunction ParenthesizedExpression(node) {\n this.tokenChar(40);\n const exit = this.enterDelimited();\n this.print(node.expression);\n exit();\n this.rightParens(node);\n}\nfunction UpdateExpression(node) {\n if (node.prefix) {\n this.token(node.operator);\n this.print(node.argument);\n } else {\n this.print(node.argument, true);\n this.token(node.operator);\n }\n}\nfunction ConditionalExpression(node) {\n this.print(node.test);\n this.space();\n this.tokenChar(63);\n this.space();\n this.print(node.consequent);\n this.space();\n this.tokenChar(58);\n this.space();\n this.print(node.alternate);\n}\nfunction NewExpression(node, parent) {\n this.word(\"new\");\n this.space();\n this.print(node.callee);\n if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression(parent, {\n callee: node\n }) && !isMemberExpression(parent) && !isNewExpression(parent)) {\n return;\n }\n this.print(node.typeArguments);\n this.print(node.typeParameters);\n if (node.optional) {\n this.token(\"?.\");\n }\n if (node.arguments.length === 0 && this.tokenMap && !this.tokenMap.endMatches(node, \")\")) {\n return;\n }\n this.tokenChar(40);\n const exit = this.enterDelimited();\n this.printList(node.arguments, {\n printTrailingSeparator: this.shouldPrintTrailingComma(\")\")\n });\n exit();\n this.rightParens(node);\n}\nfunction SequenceExpression(node) {\n this.printList(node.expressions);\n}\nfunction ThisExpression() {\n this.word(\"this\");\n}\nfunction Super() {\n this.word(\"super\");\n}\nfunction _shouldPrintDecoratorsBeforeExport(node) {\n if (typeof this.format.decoratorsBeforeExport === \"boolean\") {\n return this.format.decoratorsBeforeExport;\n }\n return typeof node.start === \"number\" && node.start === node.declaration.start;\n}\nfunction Decorator(node) {\n this.tokenChar(64);\n this.print(node.expression);\n this.newline();\n}\nfunction OptionalMemberExpression(node) {\n let {\n computed\n } = node;\n const {\n optional,\n property\n } = node;\n this.print(node.object);\n if (!computed && isMemberExpression(property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n if (isLiteral(property) && typeof property.value === \"number\") {\n computed = true;\n }\n if (optional) {\n this.token(\"?.\");\n }\n if (computed) {\n this.tokenChar(91);\n this.print(property);\n this.tokenChar(93);\n } else {\n if (!optional) {\n this.tokenChar(46);\n }\n this.print(property);\n }\n}\nfunction OptionalCallExpression(node) {\n this.print(node.callee);\n this.print(node.typeParameters);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.print(node.typeArguments);\n this.tokenChar(40);\n const exit = this.enterDelimited();\n this.printList(node.arguments);\n exit();\n this.rightParens(node);\n}\nfunction CallExpression(node) {\n this.print(node.callee);\n this.print(node.typeArguments);\n this.print(node.typeParameters);\n this.tokenChar(40);\n const exit = this.enterDelimited();\n this.printList(node.arguments, {\n printTrailingSeparator: this.shouldPrintTrailingComma(\")\")\n });\n exit();\n this.rightParens(node);\n}\nfunction Import() {\n this.word(\"import\");\n}\nfunction AwaitExpression(node) {\n this.word(\"await\");\n if (node.argument) {\n this.space();\n this.printTerminatorless(node.argument);\n }\n}\nfunction YieldExpression(node) {\n this.word(\"yield\", true);\n if (node.delegate) {\n this.tokenChar(42);\n if (node.argument) {\n this.space();\n this.print(node.argument);\n }\n } else {\n if (node.argument) {\n this.space();\n this.printTerminatorless(node.argument);\n }\n }\n}\nfunction EmptyStatement() {\n this.semicolon(true);\n}\nfunction ExpressionStatement(node) {\n this.tokenContext |= _index.TokenContext.expressionStatement;\n this.print(node.expression);\n this.semicolon();\n}\nfunction AssignmentPattern(node) {\n this.print(node.left);\n if (node.left.type === \"Identifier\" || isPattern(node.left)) {\n if (node.left.optional) this.tokenChar(63);\n this.print(node.left.typeAnnotation);\n }\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.right);\n}\nfunction AssignmentExpression(node) {\n this.print(node.left);\n this.space();\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n this.word(node.operator);\n } else {\n this.token(node.operator);\n this._endsWithDiv = node.operator === \"/\";\n }\n this.space();\n this.print(node.right);\n}\nfunction BindExpression(node) {\n this.print(node.object);\n this.token(\"::\");\n this.print(node.callee);\n}\nfunction MemberExpression(node) {\n this.print(node.object);\n if (!node.computed && isMemberExpression(node.property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n let computed = node.computed;\n if (isLiteral(node.property) && typeof node.property.value === \"number\") {\n computed = true;\n }\n if (computed) {\n const exit = this.enterDelimited();\n this.tokenChar(91);\n this.print(node.property);\n this.tokenChar(93);\n exit();\n } else {\n this.tokenChar(46);\n this.print(node.property);\n }\n}\nfunction MetaProperty(node) {\n this.print(node.meta);\n this.tokenChar(46);\n this.print(node.property);\n}\nfunction PrivateName(node) {\n this.tokenChar(35);\n this.print(node.id);\n}\nfunction V8IntrinsicIdentifier(node) {\n this.tokenChar(37);\n this.word(node.name);\n}\nfunction ModuleExpression(node) {\n this.word(\"module\", true);\n this.space();\n this.tokenChar(123);\n this.indent();\n const {\n body\n } = node;\n if (body.body.length || body.directives.length) {\n this.newline();\n }\n this.print(body);\n this.dedent();\n this.rightBrace(node);\n}\n\n//# sourceMappingURL=expressions.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/expressions.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/flow.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/flow.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnyTypeAnnotation = AnyTypeAnnotation;\nexports.ArrayTypeAnnotation = ArrayTypeAnnotation;\nexports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation;\nexports.BooleanTypeAnnotation = BooleanTypeAnnotation;\nexports.DeclareClass = DeclareClass;\nexports.DeclareExportAllDeclaration = DeclareExportAllDeclaration;\nexports.DeclareExportDeclaration = DeclareExportDeclaration;\nexports.DeclareFunction = DeclareFunction;\nexports.DeclareInterface = DeclareInterface;\nexports.DeclareModule = DeclareModule;\nexports.DeclareModuleExports = DeclareModuleExports;\nexports.DeclareOpaqueType = DeclareOpaqueType;\nexports.DeclareTypeAlias = DeclareTypeAlias;\nexports.DeclareVariable = DeclareVariable;\nexports.DeclaredPredicate = DeclaredPredicate;\nexports.EmptyTypeAnnotation = EmptyTypeAnnotation;\nexports.EnumBooleanBody = EnumBooleanBody;\nexports.EnumBooleanMember = EnumBooleanMember;\nexports.EnumDeclaration = EnumDeclaration;\nexports.EnumDefaultedMember = EnumDefaultedMember;\nexports.EnumNumberBody = EnumNumberBody;\nexports.EnumNumberMember = EnumNumberMember;\nexports.EnumStringBody = EnumStringBody;\nexports.EnumStringMember = EnumStringMember;\nexports.EnumSymbolBody = EnumSymbolBody;\nexports.ExistsTypeAnnotation = ExistsTypeAnnotation;\nexports.FunctionTypeAnnotation = FunctionTypeAnnotation;\nexports.FunctionTypeParam = FunctionTypeParam;\nexports.IndexedAccessType = IndexedAccessType;\nexports.InferredPredicate = InferredPredicate;\nexports.InterfaceDeclaration = InterfaceDeclaration;\nexports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends;\nexports.InterfaceTypeAnnotation = InterfaceTypeAnnotation;\nexports.IntersectionTypeAnnotation = IntersectionTypeAnnotation;\nexports.MixedTypeAnnotation = MixedTypeAnnotation;\nexports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation;\nexports.NullableTypeAnnotation = NullableTypeAnnotation;\nObject.defineProperty(exports, \"NumberLiteralTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _types2.NumericLiteral;\n }\n}));\nexports.NumberTypeAnnotation = NumberTypeAnnotation;\nexports.ObjectTypeAnnotation = ObjectTypeAnnotation;\nexports.ObjectTypeCallProperty = ObjectTypeCallProperty;\nexports.ObjectTypeIndexer = ObjectTypeIndexer;\nexports.ObjectTypeInternalSlot = ObjectTypeInternalSlot;\nexports.ObjectTypeProperty = ObjectTypeProperty;\nexports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty;\nexports.OpaqueType = OpaqueType;\nexports.OptionalIndexedAccessType = OptionalIndexedAccessType;\nexports.QualifiedTypeIdentifier = QualifiedTypeIdentifier;\nObject.defineProperty(exports, \"StringLiteralTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _types2.StringLiteral;\n }\n}));\nexports.StringTypeAnnotation = StringTypeAnnotation;\nexports.SymbolTypeAnnotation = SymbolTypeAnnotation;\nexports.ThisTypeAnnotation = ThisTypeAnnotation;\nexports.TupleTypeAnnotation = TupleTypeAnnotation;\nexports.TypeAlias = TypeAlias;\nexports.TypeAnnotation = TypeAnnotation;\nexports.TypeCastExpression = TypeCastExpression;\nexports.TypeParameter = TypeParameter;\nexports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation;\nexports.TypeofTypeAnnotation = TypeofTypeAnnotation;\nexports.UnionTypeAnnotation = UnionTypeAnnotation;\nexports.Variance = Variance;\nexports.VoidTypeAnnotation = VoidTypeAnnotation;\nexports._interfaceish = _interfaceish;\nexports._variance = _variance;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _modules = __webpack_require__(/*! ./modules.js */ \"./node_modules/@babel/generator/lib/generators/modules.js\");\nvar _index = __webpack_require__(/*! ../node/index.js */ \"./node_modules/@babel/generator/lib/node/index.js\");\nvar _types2 = __webpack_require__(/*! ./types.js */ \"./node_modules/@babel/generator/lib/generators/types.js\");\nconst {\n isDeclareExportDeclaration,\n isStatement\n} = _t;\nfunction AnyTypeAnnotation() {\n this.word(\"any\");\n}\nfunction ArrayTypeAnnotation(node) {\n this.print(node.elementType, true);\n this.tokenChar(91);\n this.tokenChar(93);\n}\nfunction BooleanTypeAnnotation() {\n this.word(\"boolean\");\n}\nfunction BooleanLiteralTypeAnnotation(node) {\n this.word(node.value ? \"true\" : \"false\");\n}\nfunction NullLiteralTypeAnnotation() {\n this.word(\"null\");\n}\nfunction DeclareClass(node, parent) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"class\");\n this.space();\n this._interfaceish(node);\n}\nfunction DeclareFunction(node, parent) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"function\");\n this.space();\n this.print(node.id);\n this.print(node.id.typeAnnotation.typeAnnotation);\n if (node.predicate) {\n this.space();\n this.print(node.predicate);\n }\n this.semicolon();\n}\nfunction InferredPredicate() {\n this.tokenChar(37);\n this.word(\"checks\");\n}\nfunction DeclaredPredicate(node) {\n this.tokenChar(37);\n this.word(\"checks\");\n this.tokenChar(40);\n this.print(node.value);\n this.tokenChar(41);\n}\nfunction DeclareInterface(node) {\n this.word(\"declare\");\n this.space();\n this.InterfaceDeclaration(node);\n}\nfunction DeclareModule(node) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.space();\n this.print(node.id);\n this.space();\n this.print(node.body);\n}\nfunction DeclareModuleExports(node) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.tokenChar(46);\n this.word(\"exports\");\n this.print(node.typeAnnotation);\n}\nfunction DeclareTypeAlias(node) {\n this.word(\"declare\");\n this.space();\n this.TypeAlias(node);\n}\nfunction DeclareOpaqueType(node, parent) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.OpaqueType(node);\n}\nfunction DeclareVariable(node, parent) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"var\");\n this.space();\n this.print(node.id);\n this.print(node.id.typeAnnotation);\n this.semicolon();\n}\nfunction DeclareExportDeclaration(node) {\n this.word(\"declare\");\n this.space();\n this.word(\"export\");\n this.space();\n if (node.default) {\n this.word(\"default\");\n this.space();\n }\n FlowExportDeclaration.call(this, node);\n}\nfunction DeclareExportAllDeclaration(node) {\n this.word(\"declare\");\n this.space();\n _modules.ExportAllDeclaration.call(this, node);\n}\nfunction EnumDeclaration(node) {\n const {\n id,\n body\n } = node;\n this.word(\"enum\");\n this.space();\n this.print(id);\n this.print(body);\n}\nfunction enumExplicitType(context, name, hasExplicitType) {\n if (hasExplicitType) {\n context.space();\n context.word(\"of\");\n context.space();\n context.word(name);\n }\n context.space();\n}\nfunction enumBody(context, node) {\n const {\n members\n } = node;\n context.token(\"{\");\n context.indent();\n context.newline();\n for (const member of members) {\n context.print(member);\n context.newline();\n }\n if (node.hasUnknownMembers) {\n context.token(\"...\");\n context.newline();\n }\n context.dedent();\n context.token(\"}\");\n}\nfunction EnumBooleanBody(node) {\n const {\n explicitType\n } = node;\n enumExplicitType(this, \"boolean\", explicitType);\n enumBody(this, node);\n}\nfunction EnumNumberBody(node) {\n const {\n explicitType\n } = node;\n enumExplicitType(this, \"number\", explicitType);\n enumBody(this, node);\n}\nfunction EnumStringBody(node) {\n const {\n explicitType\n } = node;\n enumExplicitType(this, \"string\", explicitType);\n enumBody(this, node);\n}\nfunction EnumSymbolBody(node) {\n enumExplicitType(this, \"symbol\", true);\n enumBody(this, node);\n}\nfunction EnumDefaultedMember(node) {\n const {\n id\n } = node;\n this.print(id);\n this.tokenChar(44);\n}\nfunction enumInitializedMember(context, node) {\n context.print(node.id);\n context.space();\n context.token(\"=\");\n context.space();\n context.print(node.init);\n context.token(\",\");\n}\nfunction EnumBooleanMember(node) {\n enumInitializedMember(this, node);\n}\nfunction EnumNumberMember(node) {\n enumInitializedMember(this, node);\n}\nfunction EnumStringMember(node) {\n enumInitializedMember(this, node);\n}\nfunction FlowExportDeclaration(node) {\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n } else {\n this.tokenChar(123);\n if (node.specifiers.length) {\n this.space();\n this.printList(node.specifiers);\n this.space();\n }\n this.tokenChar(125);\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n this.print(node.source);\n }\n this.semicolon();\n }\n}\nfunction ExistsTypeAnnotation() {\n this.tokenChar(42);\n}\nfunction FunctionTypeAnnotation(node, parent) {\n this.print(node.typeParameters);\n this.tokenChar(40);\n if (node.this) {\n this.word(\"this\");\n this.tokenChar(58);\n this.space();\n this.print(node.this.typeAnnotation);\n if (node.params.length || node.rest) {\n this.tokenChar(44);\n this.space();\n }\n }\n this.printList(node.params);\n if (node.rest) {\n if (node.params.length) {\n this.tokenChar(44);\n this.space();\n }\n this.token(\"...\");\n this.print(node.rest);\n }\n this.tokenChar(41);\n const type = parent == null ? void 0 : parent.type;\n if (type != null && (type === \"ObjectTypeCallProperty\" || type === \"ObjectTypeInternalSlot\" || type === \"DeclareFunction\" || type === \"ObjectTypeProperty\" && parent.method)) {\n this.tokenChar(58);\n } else {\n this.space();\n this.token(\"=>\");\n }\n this.space();\n this.print(node.returnType);\n}\nfunction FunctionTypeParam(node) {\n this.print(node.name);\n if (node.optional) this.tokenChar(63);\n if (node.name) {\n this.tokenChar(58);\n this.space();\n }\n this.print(node.typeAnnotation);\n}\nfunction InterfaceExtends(node) {\n this.print(node.id);\n this.print(node.typeParameters, true);\n}\nfunction _interfaceish(node) {\n var _node$extends;\n this.print(node.id);\n this.print(node.typeParameters);\n if ((_node$extends = node.extends) != null && _node$extends.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends);\n }\n if (node.type === \"DeclareClass\") {\n var _node$mixins, _node$implements;\n if ((_node$mixins = node.mixins) != null && _node$mixins.length) {\n this.space();\n this.word(\"mixins\");\n this.space();\n this.printList(node.mixins);\n }\n if ((_node$implements = node.implements) != null && _node$implements.length) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements);\n }\n }\n this.space();\n this.print(node.body);\n}\nfunction _variance(node) {\n var _node$variance;\n const kind = (_node$variance = node.variance) == null ? void 0 : _node$variance.kind;\n if (kind != null) {\n if (kind === \"plus\") {\n this.tokenChar(43);\n } else if (kind === \"minus\") {\n this.tokenChar(45);\n }\n }\n}\nfunction InterfaceDeclaration(node) {\n this.word(\"interface\");\n this.space();\n this._interfaceish(node);\n}\nfunction andSeparator(occurrenceCount) {\n this.space();\n this.token(\"&\", false, occurrenceCount);\n this.space();\n}\nfunction InterfaceTypeAnnotation(node) {\n var _node$extends2;\n this.word(\"interface\");\n if ((_node$extends2 = node.extends) != null && _node$extends2.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends);\n }\n this.space();\n this.print(node.body);\n}\nfunction IntersectionTypeAnnotation(node) {\n this.printJoin(node.types, {\n separator: andSeparator\n });\n}\nfunction MixedTypeAnnotation() {\n this.word(\"mixed\");\n}\nfunction EmptyTypeAnnotation() {\n this.word(\"empty\");\n}\nfunction NullableTypeAnnotation(node) {\n this.tokenChar(63);\n this.print(node.typeAnnotation);\n}\nfunction NumberTypeAnnotation() {\n this.word(\"number\");\n}\nfunction StringTypeAnnotation() {\n this.word(\"string\");\n}\nfunction ThisTypeAnnotation() {\n this.word(\"this\");\n}\nfunction TupleTypeAnnotation(node) {\n this.tokenChar(91);\n this.printList(node.types);\n this.tokenChar(93);\n}\nfunction TypeofTypeAnnotation(node) {\n this.word(\"typeof\");\n this.space();\n this.print(node.argument);\n}\nfunction TypeAlias(node) {\n this.word(\"type\");\n this.space();\n this.print(node.id);\n this.print(node.typeParameters);\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.right);\n this.semicolon();\n}\nfunction TypeAnnotation(node, parent) {\n this.tokenChar(58);\n this.space();\n if (parent.type === \"ArrowFunctionExpression\") {\n this.tokenContext |= _index.TokenContext.arrowFlowReturnType;\n } else if (node.optional) {\n this.tokenChar(63);\n }\n this.print(node.typeAnnotation);\n}\nfunction TypeParameterInstantiation(node) {\n this.tokenChar(60);\n this.printList(node.params, {});\n this.tokenChar(62);\n}\nfunction TypeParameter(node) {\n this._variance(node);\n this.word(node.name);\n if (node.bound) {\n this.print(node.bound);\n }\n if (node.default) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.default);\n }\n}\nfunction OpaqueType(node) {\n this.word(\"opaque\");\n this.space();\n this.word(\"type\");\n this.space();\n this.print(node.id);\n this.print(node.typeParameters);\n if (node.supertype) {\n this.tokenChar(58);\n this.space();\n this.print(node.supertype);\n }\n if (node.impltype) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.impltype);\n }\n this.semicolon();\n}\nfunction ObjectTypeAnnotation(node) {\n if (node.exact) {\n this.token(\"{|\");\n } else {\n this.tokenChar(123);\n }\n const props = [...node.properties, ...(node.callProperties || []), ...(node.indexers || []), ...(node.internalSlots || [])];\n if (props.length) {\n this.newline();\n this.space();\n this.printJoin(props, {\n addNewlines(leading) {\n if (leading && !props[0]) return 1;\n },\n indent: true,\n statement: true,\n iterator: () => {\n if (props.length !== 1 || node.inexact) {\n this.tokenChar(44);\n this.space();\n }\n }\n });\n this.space();\n }\n if (node.inexact) {\n this.indent();\n this.token(\"...\");\n if (props.length) {\n this.newline();\n }\n this.dedent();\n }\n if (node.exact) {\n this.token(\"|}\");\n } else {\n this.tokenChar(125);\n }\n}\nfunction ObjectTypeInternalSlot(node) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.tokenChar(91);\n this.tokenChar(91);\n this.print(node.id);\n this.tokenChar(93);\n this.tokenChar(93);\n if (node.optional) this.tokenChar(63);\n if (!node.method) {\n this.tokenChar(58);\n this.space();\n }\n this.print(node.value);\n}\nfunction ObjectTypeCallProperty(node) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.value);\n}\nfunction ObjectTypeIndexer(node) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this._variance(node);\n this.tokenChar(91);\n if (node.id) {\n this.print(node.id);\n this.tokenChar(58);\n this.space();\n }\n this.print(node.key);\n this.tokenChar(93);\n this.tokenChar(58);\n this.space();\n this.print(node.value);\n}\nfunction ObjectTypeProperty(node) {\n if (node.proto) {\n this.word(\"proto\");\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.kind === \"get\" || node.kind === \"set\") {\n this.word(node.kind);\n this.space();\n }\n this._variance(node);\n this.print(node.key);\n if (node.optional) this.tokenChar(63);\n if (!node.method) {\n this.tokenChar(58);\n this.space();\n }\n this.print(node.value);\n}\nfunction ObjectTypeSpreadProperty(node) {\n this.token(\"...\");\n this.print(node.argument);\n}\nfunction QualifiedTypeIdentifier(node) {\n this.print(node.qualification);\n this.tokenChar(46);\n this.print(node.id);\n}\nfunction SymbolTypeAnnotation() {\n this.word(\"symbol\");\n}\nfunction orSeparator(occurrenceCount) {\n this.space();\n this.token(\"|\", false, occurrenceCount);\n this.space();\n}\nfunction UnionTypeAnnotation(node) {\n this.printJoin(node.types, {\n separator: orSeparator\n });\n}\nfunction TypeCastExpression(node) {\n this.tokenChar(40);\n this.print(node.expression);\n this.print(node.typeAnnotation);\n this.tokenChar(41);\n}\nfunction Variance(node) {\n if (node.kind === \"plus\") {\n this.tokenChar(43);\n } else {\n this.tokenChar(45);\n }\n}\nfunction VoidTypeAnnotation() {\n this.word(\"void\");\n}\nfunction IndexedAccessType(node) {\n this.print(node.objectType, true);\n this.tokenChar(91);\n this.print(node.indexType);\n this.tokenChar(93);\n}\nfunction OptionalIndexedAccessType(node) {\n this.print(node.objectType);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.tokenChar(91);\n this.print(node.indexType);\n this.tokenChar(93);\n}\n\n//# sourceMappingURL=flow.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/flow.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/index.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/index.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nvar _templateLiterals = __webpack_require__(/*! ./template-literals.js */ \"./node_modules/@babel/generator/lib/generators/template-literals.js\");\nObject.keys(_templateLiterals).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _templateLiterals[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _templateLiterals[key];\n }\n });\n});\nvar _expressions = __webpack_require__(/*! ./expressions.js */ \"./node_modules/@babel/generator/lib/generators/expressions.js\");\nObject.keys(_expressions).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _expressions[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _expressions[key];\n }\n });\n});\nvar _statements = __webpack_require__(/*! ./statements.js */ \"./node_modules/@babel/generator/lib/generators/statements.js\");\nObject.keys(_statements).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _statements[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _statements[key];\n }\n });\n});\nvar _classes = __webpack_require__(/*! ./classes.js */ \"./node_modules/@babel/generator/lib/generators/classes.js\");\nObject.keys(_classes).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _classes[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _classes[key];\n }\n });\n});\nvar _methods = __webpack_require__(/*! ./methods.js */ \"./node_modules/@babel/generator/lib/generators/methods.js\");\nObject.keys(_methods).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _methods[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _methods[key];\n }\n });\n});\nvar _modules = __webpack_require__(/*! ./modules.js */ \"./node_modules/@babel/generator/lib/generators/modules.js\");\nObject.keys(_modules).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _modules[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _modules[key];\n }\n });\n});\nvar _types = __webpack_require__(/*! ./types.js */ \"./node_modules/@babel/generator/lib/generators/types.js\");\nObject.keys(_types).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _types[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _types[key];\n }\n });\n});\nvar _flow = __webpack_require__(/*! ./flow.js */ \"./node_modules/@babel/generator/lib/generators/flow.js\");\nObject.keys(_flow).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _flow[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _flow[key];\n }\n });\n});\nvar _base = __webpack_require__(/*! ./base.js */ \"./node_modules/@babel/generator/lib/generators/base.js\");\nObject.keys(_base).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _base[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _base[key];\n }\n });\n});\nvar _jsx = __webpack_require__(/*! ./jsx.js */ \"./node_modules/@babel/generator/lib/generators/jsx.js\");\nObject.keys(_jsx).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _jsx[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _jsx[key];\n }\n });\n});\nvar _typescript = __webpack_require__(/*! ./typescript.js */ \"./node_modules/@babel/generator/lib/generators/typescript.js\");\nObject.keys(_typescript).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _typescript[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _typescript[key];\n }\n });\n});\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/jsx.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/jsx.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.JSXAttribute = JSXAttribute;\nexports.JSXClosingElement = JSXClosingElement;\nexports.JSXClosingFragment = JSXClosingFragment;\nexports.JSXElement = JSXElement;\nexports.JSXEmptyExpression = JSXEmptyExpression;\nexports.JSXExpressionContainer = JSXExpressionContainer;\nexports.JSXFragment = JSXFragment;\nexports.JSXIdentifier = JSXIdentifier;\nexports.JSXMemberExpression = JSXMemberExpression;\nexports.JSXNamespacedName = JSXNamespacedName;\nexports.JSXOpeningElement = JSXOpeningElement;\nexports.JSXOpeningFragment = JSXOpeningFragment;\nexports.JSXSpreadAttribute = JSXSpreadAttribute;\nexports.JSXSpreadChild = JSXSpreadChild;\nexports.JSXText = JSXText;\nfunction JSXAttribute(node) {\n this.print(node.name);\n if (node.value) {\n this.tokenChar(61);\n this.print(node.value);\n }\n}\nfunction JSXIdentifier(node) {\n this.word(node.name);\n}\nfunction JSXNamespacedName(node) {\n this.print(node.namespace);\n this.tokenChar(58);\n this.print(node.name);\n}\nfunction JSXMemberExpression(node) {\n this.print(node.object);\n this.tokenChar(46);\n this.print(node.property);\n}\nfunction JSXSpreadAttribute(node) {\n this.tokenChar(123);\n this.token(\"...\");\n this.print(node.argument);\n this.rightBrace(node);\n}\nfunction JSXExpressionContainer(node) {\n this.tokenChar(123);\n this.print(node.expression);\n this.rightBrace(node);\n}\nfunction JSXSpreadChild(node) {\n this.tokenChar(123);\n this.token(\"...\");\n this.print(node.expression);\n this.rightBrace(node);\n}\nfunction JSXText(node) {\n const raw = this.getPossibleRaw(node);\n if (raw !== undefined) {\n this.token(raw, true);\n } else {\n this.token(node.value, true);\n }\n}\nfunction JSXElement(node) {\n const open = node.openingElement;\n this.print(open);\n if (open.selfClosing) return;\n this.indent();\n for (const child of node.children) {\n this.print(child);\n }\n this.dedent();\n this.print(node.closingElement);\n}\nfunction spaceSeparator() {\n this.space();\n}\nfunction JSXOpeningElement(node) {\n this.tokenChar(60);\n this.print(node.name);\n this.print(node.typeParameters);\n if (node.attributes.length > 0) {\n this.space();\n this.printJoin(node.attributes, {\n separator: spaceSeparator\n });\n }\n if (node.selfClosing) {\n this.space();\n this.tokenChar(47);\n }\n this.tokenChar(62);\n}\nfunction JSXClosingElement(node) {\n this.tokenChar(60);\n this.tokenChar(47);\n this.print(node.name);\n this.tokenChar(62);\n}\nfunction JSXEmptyExpression() {\n this.printInnerComments();\n}\nfunction JSXFragment(node) {\n this.print(node.openingFragment);\n this.indent();\n for (const child of node.children) {\n this.print(child);\n }\n this.dedent();\n this.print(node.closingFragment);\n}\nfunction JSXOpeningFragment() {\n this.tokenChar(60);\n this.tokenChar(62);\n}\nfunction JSXClosingFragment() {\n this.token(\" { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ArrowFunctionExpression = ArrowFunctionExpression;\nexports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression;\nexports._functionHead = _functionHead;\nexports._methodHead = _methodHead;\nexports._param = _param;\nexports._parameters = _parameters;\nexports._params = _params;\nexports._predicate = _predicate;\nexports._shouldPrintArrowParamsParens = _shouldPrintArrowParamsParens;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _index = __webpack_require__(/*! ../node/index.js */ \"./node_modules/@babel/generator/lib/node/index.js\");\nconst {\n isIdentifier\n} = _t;\nfunction _params(node, idNode, parentNode) {\n this.print(node.typeParameters);\n const nameInfo = _getFuncIdName.call(this, idNode, parentNode);\n if (nameInfo) {\n this.sourceIdentifierName(nameInfo.name, nameInfo.pos);\n }\n this.tokenChar(40);\n this._parameters(node.params, \")\");\n const noLineTerminator = node.type === \"ArrowFunctionExpression\";\n this.print(node.returnType, noLineTerminator);\n this._noLineTerminator = noLineTerminator;\n}\nfunction _parameters(parameters, endToken) {\n const exit = this.enterDelimited();\n const trailingComma = this.shouldPrintTrailingComma(endToken);\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n this._param(parameters[i]);\n if (trailingComma || i < paramLength - 1) {\n this.token(\",\", null, i);\n this.space();\n }\n }\n this.token(endToken);\n exit();\n}\nfunction _param(parameter) {\n this.printJoin(parameter.decorators);\n this.print(parameter);\n if (parameter.optional) {\n this.tokenChar(63);\n }\n this.print(parameter.typeAnnotation);\n}\nfunction _methodHead(node) {\n const kind = node.kind;\n const key = node.key;\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n if (kind === \"method\" || kind === \"init\") {\n if (node.generator) {\n this.tokenChar(42);\n }\n }\n if (node.computed) {\n this.tokenChar(91);\n this.print(key);\n this.tokenChar(93);\n } else {\n this.print(key);\n }\n if (node.optional) {\n this.tokenChar(63);\n }\n this._params(node, node.computed && node.key.type !== \"StringLiteral\" ? undefined : node.key, undefined);\n}\nfunction _predicate(node, noLineTerminatorAfter) {\n if (node.predicate) {\n if (!node.returnType) {\n this.tokenChar(58);\n }\n this.space();\n this.print(node.predicate, noLineTerminatorAfter);\n }\n}\nfunction _functionHead(node, parent) {\n if (node.async) {\n this.word(\"async\");\n if (!this.format.preserveFormat) {\n this._endsWithInnerRaw = false;\n }\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n if (!this.format.preserveFormat) {\n this._endsWithInnerRaw = false;\n }\n this.tokenChar(42);\n }\n this.space();\n if (node.id) {\n this.print(node.id);\n }\n this._params(node, node.id, parent);\n if (node.type !== \"TSDeclareFunction\") {\n this._predicate(node);\n }\n}\nfunction FunctionExpression(node, parent) {\n this._functionHead(node, parent);\n this.space();\n this.print(node.body);\n}\nfunction ArrowFunctionExpression(node, parent) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n if (this._shouldPrintArrowParamsParens(node)) {\n this._params(node, undefined, parent);\n } else {\n this.print(node.params[0], true);\n }\n this._predicate(node, true);\n this.space();\n this.printInnerComments();\n this.token(\"=>\");\n this.space();\n this.tokenContext |= _index.TokenContext.arrowBody;\n this.print(node.body);\n}\nfunction _shouldPrintArrowParamsParens(node) {\n var _firstParam$leadingCo, _firstParam$trailingC;\n if (node.params.length !== 1) return true;\n if (node.typeParameters || node.returnType || node.predicate) {\n return true;\n }\n const firstParam = node.params[0];\n if (!isIdentifier(firstParam) || firstParam.typeAnnotation || firstParam.optional || (_firstParam$leadingCo = firstParam.leadingComments) != null && _firstParam$leadingCo.length || (_firstParam$trailingC = firstParam.trailingComments) != null && _firstParam$trailingC.length) {\n return true;\n }\n if (this.tokenMap) {\n if (node.loc == null) return true;\n if (this.tokenMap.findMatching(node, \"(\") !== null) return true;\n const arrowToken = this.tokenMap.findMatching(node, \"=>\");\n if ((arrowToken == null ? void 0 : arrowToken.loc) == null) return true;\n return arrowToken.loc.start.line !== node.loc.start.line;\n }\n if (this.format.retainLines) return true;\n return false;\n}\nfunction _getFuncIdName(idNode, parent) {\n let id = idNode;\n if (!id && parent) {\n const parentType = parent.type;\n if (parentType === \"VariableDeclarator\") {\n id = parent.id;\n } else if (parentType === \"AssignmentExpression\" || parentType === \"AssignmentPattern\") {\n id = parent.left;\n } else if (parentType === \"ObjectProperty\" || parentType === \"ClassProperty\") {\n if (!parent.computed || parent.key.type === \"StringLiteral\") {\n id = parent.key;\n }\n } else if (parentType === \"ClassPrivateProperty\" || parentType === \"ClassAccessorProperty\") {\n id = parent.key;\n }\n }\n if (!id) return;\n let nameInfo;\n if (id.type === \"Identifier\") {\n var _id$loc, _id$loc2;\n nameInfo = {\n pos: (_id$loc = id.loc) == null ? void 0 : _id$loc.start,\n name: ((_id$loc2 = id.loc) == null ? void 0 : _id$loc2.identifierName) || id.name\n };\n } else if (id.type === \"PrivateName\") {\n var _id$loc3;\n nameInfo = {\n pos: (_id$loc3 = id.loc) == null ? void 0 : _id$loc3.start,\n name: \"#\" + id.id.name\n };\n } else if (id.type === \"StringLiteral\") {\n var _id$loc4;\n nameInfo = {\n pos: (_id$loc4 = id.loc) == null ? void 0 : _id$loc4.start,\n name: id.value\n };\n }\n return nameInfo;\n}\n\n//# sourceMappingURL=methods.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/methods.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/modules.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/modules.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ExportAllDeclaration = ExportAllDeclaration;\nexports.ExportDefaultDeclaration = ExportDefaultDeclaration;\nexports.ExportDefaultSpecifier = ExportDefaultSpecifier;\nexports.ExportNamedDeclaration = ExportNamedDeclaration;\nexports.ExportNamespaceSpecifier = ExportNamespaceSpecifier;\nexports.ExportSpecifier = ExportSpecifier;\nexports.ImportAttribute = ImportAttribute;\nexports.ImportDeclaration = ImportDeclaration;\nexports.ImportDefaultSpecifier = ImportDefaultSpecifier;\nexports.ImportExpression = ImportExpression;\nexports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;\nexports.ImportSpecifier = ImportSpecifier;\nexports._printAttributes = _printAttributes;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _index = __webpack_require__(/*! ../node/index.js */ \"./node_modules/@babel/generator/lib/node/index.js\");\nconst {\n isClassDeclaration,\n isExportDefaultSpecifier,\n isExportNamespaceSpecifier,\n isImportDefaultSpecifier,\n isImportNamespaceSpecifier,\n isStatement\n} = _t;\nfunction ImportSpecifier(node) {\n if (node.importKind === \"type\" || node.importKind === \"typeof\") {\n this.word(node.importKind);\n this.space();\n }\n this.print(node.imported);\n if (node.local && node.local.name !== node.imported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local);\n }\n}\nfunction ImportDefaultSpecifier(node) {\n this.print(node.local);\n}\nfunction ExportDefaultSpecifier(node) {\n this.print(node.exported);\n}\nfunction ExportSpecifier(node) {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.print(node.local);\n if (node.exported && node.local.name !== node.exported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported);\n }\n}\nfunction ExportNamespaceSpecifier(node) {\n this.tokenChar(42);\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported);\n}\nlet warningShown = false;\nfunction _printAttributes(node, hasPreviousBrace) {\n const {\n importAttributesKeyword\n } = this.format;\n const {\n attributes,\n assertions\n } = node;\n if (attributes && !importAttributesKeyword && !warningShown) {\n warningShown = true;\n console.warn(`\\\nYou are using import attributes, without specifying the desired output syntax.\nPlease specify the \"importAttributesKeyword\" generator option, whose value can be one of:\n - \"with\" : \\`import { a } from \"b\" with { type: \"json\" };\\`\n - \"assert\" : \\`import { a } from \"b\" assert { type: \"json\" };\\`\n - \"with-legacy\" : \\`import { a } from \"b\" with type: \"json\";\\`\n`);\n }\n const useAssertKeyword = importAttributesKeyword === \"assert\" || !importAttributesKeyword && assertions;\n this.word(useAssertKeyword ? \"assert\" : \"with\");\n this.space();\n if (!useAssertKeyword && importAttributesKeyword !== \"with\") {\n this.printList(attributes || assertions);\n return;\n }\n const occurrenceCount = hasPreviousBrace ? 1 : 0;\n this.token(\"{\", null, occurrenceCount);\n this.space();\n this.printList(attributes || assertions, {\n printTrailingSeparator: this.shouldPrintTrailingComma(\"}\")\n });\n this.space();\n this.token(\"}\", null, occurrenceCount);\n}\nfunction ExportAllDeclaration(node) {\n var _node$attributes, _node$assertions;\n this.word(\"export\");\n this.space();\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.tokenChar(42);\n this.space();\n this.word(\"from\");\n this.space();\n if ((_node$attributes = node.attributes) != null && _node$attributes.length || (_node$assertions = node.assertions) != null && _node$assertions.length) {\n this.print(node.source, true);\n this.space();\n this._printAttributes(node, false);\n } else {\n this.print(node.source);\n }\n this.semicolon();\n}\nfunction maybePrintDecoratorsBeforeExport(printer, node) {\n if (isClassDeclaration(node.declaration) && printer._shouldPrintDecoratorsBeforeExport(node)) {\n printer.printJoin(node.declaration.decorators);\n }\n}\nfunction ExportNamedDeclaration(node) {\n maybePrintDecoratorsBeforeExport(this, node);\n this.word(\"export\");\n this.space();\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n } else {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n const specifiers = node.specifiers.slice(0);\n let hasSpecial = false;\n for (;;) {\n const first = specifiers[0];\n if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) {\n hasSpecial = true;\n this.print(specifiers.shift());\n if (specifiers.length) {\n this.tokenChar(44);\n this.space();\n }\n } else {\n break;\n }\n }\n let hasBrace = false;\n if (specifiers.length || !specifiers.length && !hasSpecial) {\n hasBrace = true;\n this.tokenChar(123);\n if (specifiers.length) {\n this.space();\n this.printList(specifiers, {\n printTrailingSeparator: this.shouldPrintTrailingComma(\"}\")\n });\n this.space();\n }\n this.tokenChar(125);\n }\n if (node.source) {\n var _node$attributes2, _node$assertions2;\n this.space();\n this.word(\"from\");\n this.space();\n if ((_node$attributes2 = node.attributes) != null && _node$attributes2.length || (_node$assertions2 = node.assertions) != null && _node$assertions2.length) {\n this.print(node.source, true);\n this.space();\n this._printAttributes(node, hasBrace);\n } else {\n this.print(node.source);\n }\n }\n this.semicolon();\n }\n}\nfunction ExportDefaultDeclaration(node) {\n maybePrintDecoratorsBeforeExport(this, node);\n this.word(\"export\");\n this.noIndentInnerCommentsHere();\n this.space();\n this.word(\"default\");\n this.space();\n this.tokenContext |= _index.TokenContext.exportDefault;\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n}\nfunction ImportDeclaration(node) {\n var _node$attributes3, _node$assertions3;\n this.word(\"import\");\n this.space();\n const isTypeKind = node.importKind === \"type\" || node.importKind === \"typeof\";\n if (isTypeKind) {\n this.noIndentInnerCommentsHere();\n this.word(node.importKind);\n this.space();\n } else if (node.module) {\n this.noIndentInnerCommentsHere();\n this.word(\"module\");\n this.space();\n } else if (node.phase) {\n this.noIndentInnerCommentsHere();\n this.word(node.phase);\n this.space();\n }\n const specifiers = node.specifiers.slice(0);\n const hasSpecifiers = !!specifiers.length;\n while (hasSpecifiers) {\n const first = specifiers[0];\n if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {\n this.print(specifiers.shift());\n if (specifiers.length) {\n this.tokenChar(44);\n this.space();\n }\n } else {\n break;\n }\n }\n let hasBrace = false;\n if (specifiers.length) {\n hasBrace = true;\n this.tokenChar(123);\n this.space();\n this.printList(specifiers, {\n printTrailingSeparator: this.shouldPrintTrailingComma(\"}\")\n });\n this.space();\n this.tokenChar(125);\n } else if (isTypeKind && !hasSpecifiers) {\n hasBrace = true;\n this.tokenChar(123);\n this.tokenChar(125);\n }\n if (hasSpecifiers || isTypeKind) {\n this.space();\n this.word(\"from\");\n this.space();\n }\n if ((_node$attributes3 = node.attributes) != null && _node$attributes3.length || (_node$assertions3 = node.assertions) != null && _node$assertions3.length) {\n this.print(node.source, true);\n this.space();\n this._printAttributes(node, hasBrace);\n } else {\n this.print(node.source);\n }\n this.semicolon();\n}\nfunction ImportAttribute(node) {\n this.print(node.key);\n this.tokenChar(58);\n this.space();\n this.print(node.value);\n}\nfunction ImportNamespaceSpecifier(node) {\n this.tokenChar(42);\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local);\n}\nfunction ImportExpression(node) {\n this.word(\"import\");\n if (node.phase) {\n this.tokenChar(46);\n this.word(node.phase);\n }\n this.tokenChar(40);\n this.print(node.source);\n if (node.options != null) {\n this.tokenChar(44);\n this.space();\n this.print(node.options);\n }\n this.tokenChar(41);\n}\n\n//# sourceMappingURL=modules.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/modules.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/statements.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/statements.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BreakStatement = BreakStatement;\nexports.CatchClause = CatchClause;\nexports.ContinueStatement = ContinueStatement;\nexports.DebuggerStatement = DebuggerStatement;\nexports.DoWhileStatement = DoWhileStatement;\nexports.ForOfStatement = exports.ForInStatement = void 0;\nexports.ForStatement = ForStatement;\nexports.IfStatement = IfStatement;\nexports.LabeledStatement = LabeledStatement;\nexports.ReturnStatement = ReturnStatement;\nexports.SwitchCase = SwitchCase;\nexports.SwitchStatement = SwitchStatement;\nexports.ThrowStatement = ThrowStatement;\nexports.TryStatement = TryStatement;\nexports.VariableDeclaration = VariableDeclaration;\nexports.VariableDeclarator = VariableDeclarator;\nexports.WhileStatement = WhileStatement;\nexports.WithStatement = WithStatement;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _index = __webpack_require__(/*! ../node/index.js */ \"./node_modules/@babel/generator/lib/node/index.js\");\nconst {\n isFor,\n isForStatement,\n isIfStatement,\n isStatement\n} = _t;\nfunction WithStatement(node) {\n this.word(\"with\");\n this.space();\n this.tokenChar(40);\n this.print(node.object);\n this.tokenChar(41);\n this.printBlock(node);\n}\nfunction IfStatement(node) {\n this.word(\"if\");\n this.space();\n this.tokenChar(40);\n this.print(node.test);\n this.tokenChar(41);\n this.space();\n const needsBlock = node.alternate && isIfStatement(getLastStatement(node.consequent));\n if (needsBlock) {\n this.tokenChar(123);\n this.newline();\n this.indent();\n }\n this.printAndIndentOnComments(node.consequent);\n if (needsBlock) {\n this.dedent();\n this.newline();\n this.tokenChar(125);\n }\n if (node.alternate) {\n if (this.endsWith(125)) this.space();\n this.word(\"else\");\n this.space();\n this.printAndIndentOnComments(node.alternate);\n }\n}\nfunction getLastStatement(statement) {\n const {\n body\n } = statement;\n if (isStatement(body) === false) {\n return statement;\n }\n return getLastStatement(body);\n}\nfunction ForStatement(node) {\n this.word(\"for\");\n this.space();\n this.tokenChar(40);\n {\n const exit = this.enterForStatementInit();\n this.tokenContext |= _index.TokenContext.forHead;\n this.print(node.init);\n exit();\n }\n this.tokenChar(59);\n if (node.test) {\n this.space();\n this.print(node.test);\n }\n this.token(\";\", false, 1);\n if (node.update) {\n this.space();\n this.print(node.update);\n }\n this.tokenChar(41);\n this.printBlock(node);\n}\nfunction WhileStatement(node) {\n this.word(\"while\");\n this.space();\n this.tokenChar(40);\n this.print(node.test);\n this.tokenChar(41);\n this.printBlock(node);\n}\nfunction ForXStatement(node) {\n this.word(\"for\");\n this.space();\n const isForOf = node.type === \"ForOfStatement\";\n if (isForOf && node.await) {\n this.word(\"await\");\n this.space();\n }\n this.noIndentInnerCommentsHere();\n this.tokenChar(40);\n {\n const exit = isForOf ? null : this.enterForStatementInit();\n this.tokenContext |= isForOf ? _index.TokenContext.forOfHead : _index.TokenContext.forInHead;\n this.print(node.left);\n exit == null || exit();\n }\n this.space();\n this.word(isForOf ? \"of\" : \"in\");\n this.space();\n this.print(node.right);\n this.tokenChar(41);\n this.printBlock(node);\n}\nconst ForInStatement = exports.ForInStatement = ForXStatement;\nconst ForOfStatement = exports.ForOfStatement = ForXStatement;\nfunction DoWhileStatement(node) {\n this.word(\"do\");\n this.space();\n this.print(node.body);\n this.space();\n this.word(\"while\");\n this.space();\n this.tokenChar(40);\n this.print(node.test);\n this.tokenChar(41);\n this.semicolon();\n}\nfunction printStatementAfterKeyword(printer, node) {\n if (node) {\n printer.space();\n printer.printTerminatorless(node);\n }\n printer.semicolon();\n}\nfunction BreakStatement(node) {\n this.word(\"break\");\n printStatementAfterKeyword(this, node.label);\n}\nfunction ContinueStatement(node) {\n this.word(\"continue\");\n printStatementAfterKeyword(this, node.label);\n}\nfunction ReturnStatement(node) {\n this.word(\"return\");\n printStatementAfterKeyword(this, node.argument);\n}\nfunction ThrowStatement(node) {\n this.word(\"throw\");\n printStatementAfterKeyword(this, node.argument);\n}\nfunction LabeledStatement(node) {\n this.print(node.label);\n this.tokenChar(58);\n this.space();\n this.print(node.body);\n}\nfunction TryStatement(node) {\n this.word(\"try\");\n this.space();\n this.print(node.block);\n this.space();\n if (node.handlers) {\n this.print(node.handlers[0]);\n } else {\n this.print(node.handler);\n }\n if (node.finalizer) {\n this.space();\n this.word(\"finally\");\n this.space();\n this.print(node.finalizer);\n }\n}\nfunction CatchClause(node) {\n this.word(\"catch\");\n this.space();\n if (node.param) {\n this.tokenChar(40);\n this.print(node.param);\n this.print(node.param.typeAnnotation);\n this.tokenChar(41);\n this.space();\n }\n this.print(node.body);\n}\nfunction SwitchStatement(node) {\n this.word(\"switch\");\n this.space();\n this.tokenChar(40);\n this.print(node.discriminant);\n this.tokenChar(41);\n this.space();\n this.tokenChar(123);\n this.printSequence(node.cases, {\n indent: true,\n addNewlines(leading, cas) {\n if (!leading && node.cases[node.cases.length - 1] === cas) return -1;\n }\n });\n this.rightBrace(node);\n}\nfunction SwitchCase(node) {\n if (node.test) {\n this.word(\"case\");\n this.space();\n this.print(node.test);\n this.tokenChar(58);\n } else {\n this.word(\"default\");\n this.tokenChar(58);\n }\n if (node.consequent.length) {\n this.newline();\n this.printSequence(node.consequent, {\n indent: true\n });\n }\n}\nfunction DebuggerStatement() {\n this.word(\"debugger\");\n this.semicolon();\n}\nfunction VariableDeclaration(node, parent) {\n if (node.declare) {\n this.word(\"declare\");\n this.space();\n }\n const {\n kind\n } = node;\n if (kind === \"await using\") {\n this.word(\"await\");\n this.space();\n this.word(\"using\", true);\n } else {\n this.word(kind, kind === \"using\");\n }\n this.space();\n let hasInits = false;\n if (!isFor(parent)) {\n for (const declar of node.declarations) {\n if (declar.init) {\n hasInits = true;\n }\n }\n }\n this.printList(node.declarations, {\n separator: hasInits ? function (occurrenceCount) {\n this.token(\",\", false, occurrenceCount);\n this.newline();\n } : undefined,\n indent: node.declarations.length > 1 ? true : false\n });\n if (isFor(parent)) {\n if (isForStatement(parent)) {\n if (parent.init === node) return;\n } else {\n if (parent.left === node) return;\n }\n }\n this.semicolon();\n}\nfunction VariableDeclarator(node) {\n this.print(node.id);\n if (node.definite) this.tokenChar(33);\n this.print(node.id.typeAnnotation);\n if (node.init) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.init);\n }\n}\n\n//# sourceMappingURL=statements.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/statements.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/template-literals.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/template-literals.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TaggedTemplateExpression = TaggedTemplateExpression;\nexports.TemplateElement = TemplateElement;\nexports.TemplateLiteral = TemplateLiteral;\nfunction TaggedTemplateExpression(node) {\n this.print(node.tag);\n this.print(node.typeParameters);\n this.print(node.quasi);\n}\nfunction TemplateElement() {\n throw new Error(\"TemplateElement printing is handled in TemplateLiteral\");\n}\nfunction TemplateLiteral(node) {\n const quasis = node.quasis;\n let partRaw = \"`\";\n for (let i = 0; i < quasis.length; i++) {\n partRaw += quasis[i].value.raw;\n if (i + 1 < quasis.length) {\n this.token(partRaw + \"${\", true);\n this.print(node.expressions[i]);\n partRaw = \"}\";\n if (this.tokenMap) {\n const token = this.tokenMap.findMatching(node, \"}\", i);\n if (token) this._catchUpTo(token.loc.start);\n }\n }\n }\n this.token(partRaw + \"`\", true);\n}\n\n//# sourceMappingURL=template-literals.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/template-literals.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/types.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/types.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ArgumentPlaceholder = ArgumentPlaceholder;\nexports.ArrayPattern = exports.ArrayExpression = ArrayExpression;\nexports.BigIntLiteral = BigIntLiteral;\nexports.BooleanLiteral = BooleanLiteral;\nexports.DecimalLiteral = DecimalLiteral;\nexports.Identifier = Identifier;\nexports.NullLiteral = NullLiteral;\nexports.NumericLiteral = NumericLiteral;\nexports.ObjectPattern = exports.ObjectExpression = ObjectExpression;\nexports.ObjectMethod = ObjectMethod;\nexports.ObjectProperty = ObjectProperty;\nexports.PipelineBareFunction = PipelineBareFunction;\nexports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference;\nexports.PipelineTopicExpression = PipelineTopicExpression;\nexports.RecordExpression = RecordExpression;\nexports.RegExpLiteral = RegExpLiteral;\nexports.SpreadElement = exports.RestElement = RestElement;\nexports.StringLiteral = StringLiteral;\nexports.TopicReference = TopicReference;\nexports.TupleExpression = TupleExpression;\nexports._getRawIdentifier = _getRawIdentifier;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _jsesc = __webpack_require__(/*! jsesc */ \"./node_modules/jsesc/jsesc.js\");\nconst {\n isAssignmentPattern,\n isIdentifier\n} = _t;\nlet lastRawIdentNode = null;\nlet lastRawIdentResult = \"\";\nfunction _getRawIdentifier(node) {\n if (node === lastRawIdentNode) return lastRawIdentResult;\n lastRawIdentNode = node;\n const {\n name\n } = node;\n const token = this.tokenMap.find(node, tok => tok.value === name);\n if (token) {\n lastRawIdentResult = this._originalCode.slice(token.start, token.end);\n return lastRawIdentResult;\n }\n return lastRawIdentResult = node.name;\n}\nfunction Identifier(node) {\n var _node$loc;\n this.sourceIdentifierName(((_node$loc = node.loc) == null ? void 0 : _node$loc.identifierName) || node.name);\n this.word(this.tokenMap ? this._getRawIdentifier(node) : node.name);\n}\nfunction ArgumentPlaceholder() {\n this.tokenChar(63);\n}\nfunction RestElement(node) {\n this.token(\"...\");\n this.print(node.argument);\n}\nfunction ObjectExpression(node) {\n const props = node.properties;\n this.tokenChar(123);\n if (props.length) {\n const exit = this.enterDelimited();\n this.space();\n this.printList(props, {\n indent: true,\n statement: true,\n printTrailingSeparator: this.shouldPrintTrailingComma(\"}\")\n });\n this.space();\n exit();\n }\n this.sourceWithOffset(\"end\", node.loc, -1);\n this.tokenChar(125);\n}\nfunction ObjectMethod(node) {\n this.printJoin(node.decorators);\n this._methodHead(node);\n this.space();\n this.print(node.body);\n}\nfunction ObjectProperty(node) {\n this.printJoin(node.decorators);\n if (node.computed) {\n this.tokenChar(91);\n this.print(node.key);\n this.tokenChar(93);\n } else {\n if (isAssignmentPattern(node.value) && isIdentifier(node.key) && node.key.name === node.value.left.name) {\n this.print(node.value);\n return;\n }\n this.print(node.key);\n if (node.shorthand && isIdentifier(node.key) && isIdentifier(node.value) && node.key.name === node.value.name) {\n return;\n }\n }\n this.tokenChar(58);\n this.space();\n this.print(node.value);\n}\nfunction ArrayExpression(node) {\n const elems = node.elements;\n const len = elems.length;\n this.tokenChar(91);\n const exit = this.enterDelimited();\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem);\n if (i < len - 1 || this.shouldPrintTrailingComma(\"]\")) {\n this.token(\",\", false, i);\n }\n } else {\n this.token(\",\", false, i);\n }\n }\n exit();\n this.tokenChar(93);\n}\nfunction RecordExpression(node) {\n const props = node.properties;\n let startToken;\n let endToken;\n {\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"{|\";\n endToken = \"|}\";\n } else if (this.format.recordAndTupleSyntaxType !== \"hash\" && this.format.recordAndTupleSyntaxType != null) {\n throw new Error(`The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (${JSON.stringify(this.format.recordAndTupleSyntaxType)} received).`);\n } else {\n startToken = \"#{\";\n endToken = \"}\";\n }\n }\n this.token(startToken);\n if (props.length) {\n this.space();\n this.printList(props, {\n indent: true,\n statement: true,\n printTrailingSeparator: this.shouldPrintTrailingComma(endToken)\n });\n this.space();\n }\n this.token(endToken);\n}\nfunction TupleExpression(node) {\n const elems = node.elements;\n const len = elems.length;\n let startToken;\n let endToken;\n {\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"[|\";\n endToken = \"|]\";\n } else if (this.format.recordAndTupleSyntaxType === \"hash\") {\n startToken = \"#[\";\n endToken = \"]\";\n } else {\n throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);\n }\n }\n this.token(startToken);\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem);\n if (i < len - 1 || this.shouldPrintTrailingComma(endToken)) {\n this.token(\",\", false, i);\n }\n }\n }\n this.token(endToken);\n}\nfunction RegExpLiteral(node) {\n this.word(`/${node.pattern}/${node.flags}`);\n}\nfunction BooleanLiteral(node) {\n this.word(node.value ? \"true\" : \"false\");\n}\nfunction NullLiteral() {\n this.word(\"null\");\n}\nfunction NumericLiteral(node) {\n const raw = this.getPossibleRaw(node);\n const opts = this.format.jsescOption;\n const value = node.value;\n const str = value + \"\";\n if (opts.numbers) {\n this.number(_jsesc(value, opts), value);\n } else if (raw == null) {\n this.number(str, value);\n } else if (this.format.minified) {\n this.number(raw.length < str.length ? raw : str, value);\n } else {\n this.number(raw, value);\n }\n}\nfunction StringLiteral(node) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n const val = _jsesc(node.value, this.format.jsescOption);\n this.token(val);\n}\nfunction BigIntLiteral(node) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"n\");\n}\nfunction DecimalLiteral(node) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"m\");\n}\nconst validTopicTokenSet = new Set([\"^^\", \"@@\", \"^\", \"%\", \"#\"]);\nfunction TopicReference() {\n const {\n topicToken\n } = this.format;\n if (validTopicTokenSet.has(topicToken)) {\n this.token(topicToken);\n } else {\n const givenTopicTokenJSON = JSON.stringify(topicToken);\n const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v));\n throw new Error(`The \"topicToken\" generator option must be one of ` + `${validTopics.join(\", \")} (${givenTopicTokenJSON} received instead).`);\n }\n}\nfunction PipelineTopicExpression(node) {\n this.print(node.expression);\n}\nfunction PipelineBareFunction(node) {\n this.print(node.callee);\n}\nfunction PipelinePrimaryTopicReference() {\n this.tokenChar(35);\n}\n\n//# sourceMappingURL=types.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/types.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/generators/typescript.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/generators/typescript.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TSAnyKeyword = TSAnyKeyword;\nexports.TSArrayType = TSArrayType;\nexports.TSSatisfiesExpression = exports.TSAsExpression = TSTypeExpression;\nexports.TSBigIntKeyword = TSBigIntKeyword;\nexports.TSBooleanKeyword = TSBooleanKeyword;\nexports.TSCallSignatureDeclaration = TSCallSignatureDeclaration;\nexports.TSInterfaceHeritage = exports.TSExpressionWithTypeArguments = exports.TSClassImplements = TSClassImplements;\nexports.TSConditionalType = TSConditionalType;\nexports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration;\nexports.TSConstructorType = TSConstructorType;\nexports.TSDeclareFunction = TSDeclareFunction;\nexports.TSDeclareMethod = TSDeclareMethod;\nexports.TSEnumDeclaration = TSEnumDeclaration;\nexports.TSEnumMember = TSEnumMember;\nexports.TSExportAssignment = TSExportAssignment;\nexports.TSExternalModuleReference = TSExternalModuleReference;\nexports.TSFunctionType = TSFunctionType;\nexports.TSImportEqualsDeclaration = TSImportEqualsDeclaration;\nexports.TSImportType = TSImportType;\nexports.TSIndexSignature = TSIndexSignature;\nexports.TSIndexedAccessType = TSIndexedAccessType;\nexports.TSInferType = TSInferType;\nexports.TSInstantiationExpression = TSInstantiationExpression;\nexports.TSInterfaceBody = TSInterfaceBody;\nexports.TSInterfaceDeclaration = TSInterfaceDeclaration;\nexports.TSIntersectionType = TSIntersectionType;\nexports.TSIntrinsicKeyword = TSIntrinsicKeyword;\nexports.TSLiteralType = TSLiteralType;\nexports.TSMappedType = TSMappedType;\nexports.TSMethodSignature = TSMethodSignature;\nexports.TSModuleBlock = TSModuleBlock;\nexports.TSModuleDeclaration = TSModuleDeclaration;\nexports.TSNamedTupleMember = TSNamedTupleMember;\nexports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration;\nexports.TSNeverKeyword = TSNeverKeyword;\nexports.TSNonNullExpression = TSNonNullExpression;\nexports.TSNullKeyword = TSNullKeyword;\nexports.TSNumberKeyword = TSNumberKeyword;\nexports.TSObjectKeyword = TSObjectKeyword;\nexports.TSOptionalType = TSOptionalType;\nexports.TSParameterProperty = TSParameterProperty;\nexports.TSParenthesizedType = TSParenthesizedType;\nexports.TSPropertySignature = TSPropertySignature;\nexports.TSQualifiedName = TSQualifiedName;\nexports.TSRestType = TSRestType;\nexports.TSStringKeyword = TSStringKeyword;\nexports.TSSymbolKeyword = TSSymbolKeyword;\nexports.TSThisType = TSThisType;\nexports.TSTupleType = TSTupleType;\nexports.TSTypeAliasDeclaration = TSTypeAliasDeclaration;\nexports.TSTypeAnnotation = TSTypeAnnotation;\nexports.TSTypeAssertion = TSTypeAssertion;\nexports.TSTypeLiteral = TSTypeLiteral;\nexports.TSTypeOperator = TSTypeOperator;\nexports.TSTypeParameter = TSTypeParameter;\nexports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation;\nexports.TSTypePredicate = TSTypePredicate;\nexports.TSTypeQuery = TSTypeQuery;\nexports.TSTypeReference = TSTypeReference;\nexports.TSUndefinedKeyword = TSUndefinedKeyword;\nexports.TSUnionType = TSUnionType;\nexports.TSUnknownKeyword = TSUnknownKeyword;\nexports.TSVoidKeyword = TSVoidKeyword;\nexports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers;\nexports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType;\nexports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName;\nexports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase;\nfunction TSTypeAnnotation(node, parent) {\n this.token((parent.type === \"TSFunctionType\" || parent.type === \"TSConstructorType\") && parent.typeAnnotation === node ? \"=>\" : \":\");\n this.space();\n if (node.optional) this.tokenChar(63);\n this.print(node.typeAnnotation);\n}\nfunction TSTypeParameterInstantiation(node, parent) {\n this.tokenChar(60);\n let printTrailingSeparator = parent.type === \"ArrowFunctionExpression\" && node.params.length === 1;\n if (this.tokenMap && node.start != null && node.end != null) {\n printTrailingSeparator && (printTrailingSeparator = !!this.tokenMap.find(node, t => this.tokenMap.matchesOriginal(t, \",\")));\n printTrailingSeparator || (printTrailingSeparator = this.shouldPrintTrailingComma(\">\"));\n }\n this.printList(node.params, {\n printTrailingSeparator\n });\n this.tokenChar(62);\n}\nfunction TSTypeParameter(node) {\n if (node.in) {\n this.word(\"in\");\n this.space();\n }\n if (node.out) {\n this.word(\"out\");\n this.space();\n }\n this.word(node.name);\n if (node.constraint) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.constraint);\n }\n if (node.default) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.default);\n }\n}\nfunction TSParameterProperty(node) {\n if (node.accessibility) {\n this.word(node.accessibility);\n this.space();\n }\n if (node.readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this._param(node.parameter);\n}\nfunction TSDeclareFunction(node, parent) {\n if (node.declare) {\n this.word(\"declare\");\n this.space();\n }\n this._functionHead(node, parent);\n this.semicolon();\n}\nfunction TSDeclareMethod(node) {\n this._classMethodHead(node);\n this.semicolon();\n}\nfunction TSQualifiedName(node) {\n this.print(node.left);\n this.tokenChar(46);\n this.print(node.right);\n}\nfunction TSCallSignatureDeclaration(node) {\n this.tsPrintSignatureDeclarationBase(node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\nfunction maybePrintTrailingCommaOrSemicolon(printer, node) {\n if (!printer.tokenMap || !node.start || !node.end) {\n printer.semicolon();\n return;\n }\n if (printer.tokenMap.endMatches(node, \",\")) {\n printer.token(\",\");\n } else if (printer.tokenMap.endMatches(node, \";\")) {\n printer.semicolon();\n }\n}\nfunction TSConstructSignatureDeclaration(node) {\n this.word(\"new\");\n this.space();\n this.tsPrintSignatureDeclarationBase(node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\nfunction TSPropertySignature(node) {\n const {\n readonly\n } = node;\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.print(node.typeAnnotation);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\nfunction tsPrintPropertyOrMethodName(node) {\n if (node.computed) {\n this.tokenChar(91);\n }\n this.print(node.key);\n if (node.computed) {\n this.tokenChar(93);\n }\n if (node.optional) {\n this.tokenChar(63);\n }\n}\nfunction TSMethodSignature(node) {\n const {\n kind\n } = node;\n if (kind === \"set\" || kind === \"get\") {\n this.word(kind);\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.tsPrintSignatureDeclarationBase(node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\nfunction TSIndexSignature(node) {\n const {\n readonly,\n static: isStatic\n } = node;\n if (isStatic) {\n this.word(\"static\");\n this.space();\n }\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.tokenChar(91);\n this._parameters(node.parameters, \"]\");\n this.print(node.typeAnnotation);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\nfunction TSAnyKeyword() {\n this.word(\"any\");\n}\nfunction TSBigIntKeyword() {\n this.word(\"bigint\");\n}\nfunction TSUnknownKeyword() {\n this.word(\"unknown\");\n}\nfunction TSNumberKeyword() {\n this.word(\"number\");\n}\nfunction TSObjectKeyword() {\n this.word(\"object\");\n}\nfunction TSBooleanKeyword() {\n this.word(\"boolean\");\n}\nfunction TSStringKeyword() {\n this.word(\"string\");\n}\nfunction TSSymbolKeyword() {\n this.word(\"symbol\");\n}\nfunction TSVoidKeyword() {\n this.word(\"void\");\n}\nfunction TSUndefinedKeyword() {\n this.word(\"undefined\");\n}\nfunction TSNullKeyword() {\n this.word(\"null\");\n}\nfunction TSNeverKeyword() {\n this.word(\"never\");\n}\nfunction TSIntrinsicKeyword() {\n this.word(\"intrinsic\");\n}\nfunction TSThisType() {\n this.word(\"this\");\n}\nfunction TSFunctionType(node) {\n this.tsPrintFunctionOrConstructorType(node);\n}\nfunction TSConstructorType(node) {\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n this.word(\"new\");\n this.space();\n this.tsPrintFunctionOrConstructorType(node);\n}\nfunction tsPrintFunctionOrConstructorType(node) {\n const {\n typeParameters\n } = node;\n const parameters = node.parameters;\n this.print(typeParameters);\n this.tokenChar(40);\n this._parameters(parameters, \")\");\n this.space();\n const returnType = node.typeAnnotation;\n this.print(returnType);\n}\nfunction TSTypeReference(node) {\n this.print(node.typeName, !!node.typeParameters);\n this.print(node.typeParameters);\n}\nfunction TSTypePredicate(node) {\n if (node.asserts) {\n this.word(\"asserts\");\n this.space();\n }\n this.print(node.parameterName);\n if (node.typeAnnotation) {\n this.space();\n this.word(\"is\");\n this.space();\n this.print(node.typeAnnotation.typeAnnotation);\n }\n}\nfunction TSTypeQuery(node) {\n this.word(\"typeof\");\n this.space();\n this.print(node.exprName);\n if (node.typeParameters) {\n this.print(node.typeParameters);\n }\n}\nfunction TSTypeLiteral(node) {\n printBraced(this, node, () => this.printJoin(node.members, {\n indent: true,\n statement: true\n }));\n}\nfunction TSArrayType(node) {\n this.print(node.elementType, true);\n this.tokenChar(91);\n this.tokenChar(93);\n}\nfunction TSTupleType(node) {\n this.tokenChar(91);\n this.printList(node.elementTypes, {\n printTrailingSeparator: this.shouldPrintTrailingComma(\"]\")\n });\n this.tokenChar(93);\n}\nfunction TSOptionalType(node) {\n this.print(node.typeAnnotation);\n this.tokenChar(63);\n}\nfunction TSRestType(node) {\n this.token(\"...\");\n this.print(node.typeAnnotation);\n}\nfunction TSNamedTupleMember(node) {\n this.print(node.label);\n if (node.optional) this.tokenChar(63);\n this.tokenChar(58);\n this.space();\n this.print(node.elementType);\n}\nfunction TSUnionType(node) {\n tsPrintUnionOrIntersectionType(this, node, \"|\");\n}\nfunction TSIntersectionType(node) {\n tsPrintUnionOrIntersectionType(this, node, \"&\");\n}\nfunction tsPrintUnionOrIntersectionType(printer, node, sep) {\n var _printer$tokenMap;\n let hasLeadingToken = 0;\n if ((_printer$tokenMap = printer.tokenMap) != null && _printer$tokenMap.startMatches(node, sep)) {\n hasLeadingToken = 1;\n printer.token(sep);\n }\n printer.printJoin(node.types, {\n separator(i) {\n this.space();\n this.token(sep, null, i + hasLeadingToken);\n this.space();\n }\n });\n}\nfunction TSConditionalType(node) {\n this.print(node.checkType);\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.extendsType);\n this.space();\n this.tokenChar(63);\n this.space();\n this.print(node.trueType);\n this.space();\n this.tokenChar(58);\n this.space();\n this.print(node.falseType);\n}\nfunction TSInferType(node) {\n this.word(\"infer\");\n this.print(node.typeParameter);\n}\nfunction TSParenthesizedType(node) {\n this.tokenChar(40);\n this.print(node.typeAnnotation);\n this.tokenChar(41);\n}\nfunction TSTypeOperator(node) {\n this.word(node.operator);\n this.space();\n this.print(node.typeAnnotation);\n}\nfunction TSIndexedAccessType(node) {\n this.print(node.objectType, true);\n this.tokenChar(91);\n this.print(node.indexType);\n this.tokenChar(93);\n}\nfunction TSMappedType(node) {\n const {\n nameType,\n optional,\n readonly,\n typeAnnotation\n } = node;\n this.tokenChar(123);\n const exit = this.enterDelimited();\n this.space();\n if (readonly) {\n tokenIfPlusMinus(this, readonly);\n this.word(\"readonly\");\n this.space();\n }\n this.tokenChar(91);\n {\n this.word(node.typeParameter.name);\n }\n this.space();\n this.word(\"in\");\n this.space();\n {\n this.print(node.typeParameter.constraint);\n }\n if (nameType) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(nameType);\n }\n this.tokenChar(93);\n if (optional) {\n tokenIfPlusMinus(this, optional);\n this.tokenChar(63);\n }\n if (typeAnnotation) {\n this.tokenChar(58);\n this.space();\n this.print(typeAnnotation);\n }\n this.space();\n exit();\n this.tokenChar(125);\n}\nfunction tokenIfPlusMinus(self, tok) {\n if (tok !== true) {\n self.token(tok);\n }\n}\nfunction TSLiteralType(node) {\n this.print(node.literal);\n}\nfunction TSClassImplements(node) {\n this.print(node.expression);\n this.print(node.typeParameters);\n}\nfunction TSInterfaceDeclaration(node) {\n const {\n declare,\n id,\n typeParameters,\n extends: extendz,\n body\n } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"interface\");\n this.space();\n this.print(id);\n this.print(typeParameters);\n if (extendz != null && extendz.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(extendz);\n }\n this.space();\n this.print(body);\n}\nfunction TSInterfaceBody(node) {\n printBraced(this, node, () => this.printJoin(node.body, {\n indent: true,\n statement: true\n }));\n}\nfunction TSTypeAliasDeclaration(node) {\n const {\n declare,\n id,\n typeParameters,\n typeAnnotation\n } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"type\");\n this.space();\n this.print(id);\n this.print(typeParameters);\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(typeAnnotation);\n this.semicolon();\n}\nfunction TSTypeExpression(node) {\n const {\n type,\n expression,\n typeAnnotation\n } = node;\n this.print(expression, true);\n this.space();\n this.word(type === \"TSAsExpression\" ? \"as\" : \"satisfies\");\n this.space();\n this.print(typeAnnotation);\n}\nfunction TSTypeAssertion(node) {\n const {\n typeAnnotation,\n expression\n } = node;\n this.tokenChar(60);\n this.print(typeAnnotation);\n this.tokenChar(62);\n this.space();\n this.print(expression);\n}\nfunction TSInstantiationExpression(node) {\n this.print(node.expression);\n this.print(node.typeParameters);\n}\nfunction TSEnumDeclaration(node) {\n const {\n declare,\n const: isConst,\n id,\n members\n } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n if (isConst) {\n this.word(\"const\");\n this.space();\n }\n this.word(\"enum\");\n this.space();\n this.print(id);\n this.space();\n printBraced(this, node, () => {\n var _this$shouldPrintTrai;\n return this.printList(members, {\n indent: true,\n statement: true,\n printTrailingSeparator: (_this$shouldPrintTrai = this.shouldPrintTrailingComma(\"}\")) != null ? _this$shouldPrintTrai : true\n });\n });\n}\nfunction TSEnumMember(node) {\n const {\n id,\n initializer\n } = node;\n this.print(id);\n if (initializer) {\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(initializer);\n }\n}\nfunction TSModuleDeclaration(node) {\n const {\n declare,\n id,\n kind\n } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n if (!node.global) {\n this.word(kind != null ? kind : id.type === \"Identifier\" ? \"namespace\" : \"module\");\n this.space();\n }\n this.print(id);\n if (!node.body) {\n this.semicolon();\n return;\n }\n let body = node.body;\n while (body.type === \"TSModuleDeclaration\") {\n this.tokenChar(46);\n this.print(body.id);\n body = body.body;\n }\n this.space();\n this.print(body);\n}\nfunction TSModuleBlock(node) {\n printBraced(this, node, () => this.printSequence(node.body, {\n indent: true\n }));\n}\nfunction TSImportType(node) {\n const {\n argument,\n qualifier,\n typeParameters\n } = node;\n this.word(\"import\");\n this.tokenChar(40);\n this.print(argument);\n this.tokenChar(41);\n if (qualifier) {\n this.tokenChar(46);\n this.print(qualifier);\n }\n if (typeParameters) {\n this.print(typeParameters);\n }\n}\nfunction TSImportEqualsDeclaration(node) {\n const {\n isExport,\n id,\n moduleReference\n } = node;\n if (isExport) {\n this.word(\"export\");\n this.space();\n }\n this.word(\"import\");\n this.space();\n this.print(id);\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(moduleReference);\n this.semicolon();\n}\nfunction TSExternalModuleReference(node) {\n this.token(\"require(\");\n this.print(node.expression);\n this.tokenChar(41);\n}\nfunction TSNonNullExpression(node) {\n this.print(node.expression);\n this.tokenChar(33);\n}\nfunction TSExportAssignment(node) {\n this.word(\"export\");\n this.space();\n this.tokenChar(61);\n this.space();\n this.print(node.expression);\n this.semicolon();\n}\nfunction TSNamespaceExportDeclaration(node) {\n this.word(\"export\");\n this.space();\n this.word(\"as\");\n this.space();\n this.word(\"namespace\");\n this.space();\n this.print(node.id);\n this.semicolon();\n}\nfunction tsPrintSignatureDeclarationBase(node) {\n const {\n typeParameters\n } = node;\n const parameters = node.parameters;\n this.print(typeParameters);\n this.tokenChar(40);\n this._parameters(parameters, \")\");\n const returnType = node.typeAnnotation;\n this.print(returnType);\n}\nfunction tsPrintClassMemberModifiers(node) {\n const isField = node.type === \"ClassAccessorProperty\" || node.type === \"ClassProperty\";\n printModifiersList(this, node, [isField && node.declare && \"declare\", node.accessibility]);\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n printModifiersList(this, node, [node.override && \"override\", node.abstract && \"abstract\", isField && node.readonly && \"readonly\"]);\n}\nfunction printBraced(printer, node, cb) {\n printer.token(\"{\");\n const exit = printer.enterDelimited();\n cb();\n exit();\n printer.rightBrace(node);\n}\nfunction printModifiersList(printer, node, modifiers) {\n var _printer$tokenMap2;\n const modifiersSet = new Set();\n for (const modifier of modifiers) {\n if (modifier) modifiersSet.add(modifier);\n }\n (_printer$tokenMap2 = printer.tokenMap) == null || _printer$tokenMap2.find(node, tok => {\n if (modifiersSet.has(tok.value)) {\n printer.token(tok.value);\n printer.space();\n modifiersSet.delete(tok.value);\n return modifiersSet.size === 0;\n }\n });\n for (const modifier of modifiersSet) {\n printer.word(modifier);\n printer.space();\n }\n}\n\n//# sourceMappingURL=typescript.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/generators/typescript.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@babel/generator/lib/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = generate;\nvar _sourceMap = __webpack_require__(/*! ./source-map.js */ \"./node_modules/@babel/generator/lib/source-map.js\");\nvar _printer = __webpack_require__(/*! ./printer.js */ \"./node_modules/@babel/generator/lib/printer.js\");\nfunction normalizeOptions(code, opts, ast) {\n if (opts.experimental_preserveFormat) {\n if (typeof code !== \"string\") {\n throw new Error(\"`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string\");\n }\n if (!opts.retainLines) {\n throw new Error(\"`experimental_preserveFormat` requires `retainLines` to be set to `true`\");\n }\n if (opts.compact && opts.compact !== \"auto\") {\n throw new Error(\"`experimental_preserveFormat` is not compatible with the `compact` option\");\n }\n if (opts.minified) {\n throw new Error(\"`experimental_preserveFormat` is not compatible with the `minified` option\");\n }\n if (opts.jsescOption) {\n throw new Error(\"`experimental_preserveFormat` is not compatible with the `jsescOption` option\");\n }\n if (!Array.isArray(ast.tokens)) {\n throw new Error(\"`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable the `tokens: true` parser option.\");\n }\n }\n const format = {\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n shouldPrintComment: opts.shouldPrintComment,\n preserveFormat: opts.experimental_preserveFormat,\n retainLines: opts.retainLines,\n retainFunctionParens: opts.retainFunctionParens,\n comments: opts.comments == null || opts.comments,\n compact: opts.compact,\n minified: opts.minified,\n concise: opts.concise,\n indent: {\n adjustMultilineComment: true,\n style: \" \"\n },\n jsescOption: Object.assign({\n quotes: \"double\",\n wrap: true,\n minimal: false\n }, opts.jsescOption),\n topicToken: opts.topicToken,\n importAttributesKeyword: opts.importAttributesKeyword\n };\n {\n var _opts$recordAndTupleS;\n format.decoratorsBeforeExport = opts.decoratorsBeforeExport;\n format.jsescOption.json = opts.jsonCompatibleStrings;\n format.recordAndTupleSyntaxType = (_opts$recordAndTupleS = opts.recordAndTupleSyntaxType) != null ? _opts$recordAndTupleS : \"hash\";\n }\n if (format.minified) {\n format.compact = true;\n format.shouldPrintComment = format.shouldPrintComment || (() => format.comments);\n } else {\n format.shouldPrintComment = format.shouldPrintComment || (value => format.comments || value.includes(\"@license\") || value.includes(\"@preserve\"));\n }\n if (format.compact === \"auto\") {\n format.compact = typeof code === \"string\" && code.length > 500000;\n if (format.compact) {\n console.error(\"[BABEL] Note: The code generator has deoptimised the styling of \" + `${opts.filename} as it exceeds the max of ${\"500KB\"}.`);\n }\n }\n if (format.compact || format.preserveFormat) {\n format.indent.adjustMultilineComment = false;\n }\n const {\n auxiliaryCommentBefore,\n auxiliaryCommentAfter,\n shouldPrintComment\n } = format;\n if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {\n format.auxiliaryCommentBefore = undefined;\n }\n if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {\n format.auxiliaryCommentAfter = undefined;\n }\n return format;\n}\n{\n exports.CodeGenerator = class CodeGenerator {\n constructor(ast, opts = {}, code) {\n this._ast = void 0;\n this._format = void 0;\n this._map = void 0;\n this._ast = ast;\n this._format = normalizeOptions(code, opts, ast);\n this._map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null;\n }\n generate() {\n const printer = new _printer.default(this._format, this._map);\n return printer.generate(this._ast);\n }\n };\n}\nfunction generate(ast, opts = {}, code) {\n const format = normalizeOptions(code, opts, ast);\n const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null;\n const printer = new _printer.default(format, map, ast.tokens, typeof code === \"string\" ? code : null);\n return printer.generate(ast);\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/node/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/@babel/generator/lib/node/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TokenContext = void 0;\nexports.isLastChild = isLastChild;\nexports.needsParens = needsParens;\nexports.needsWhitespace = needsWhitespace;\nexports.needsWhitespaceAfter = needsWhitespaceAfter;\nexports.needsWhitespaceBefore = needsWhitespaceBefore;\nvar whitespace = __webpack_require__(/*! ./whitespace.js */ \"./node_modules/@babel/generator/lib/node/whitespace.js\");\nvar parens = __webpack_require__(/*! ./parentheses.js */ \"./node_modules/@babel/generator/lib/node/parentheses.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n FLIPPED_ALIAS_KEYS,\n VISITOR_KEYS,\n isCallExpression,\n isDecorator,\n isExpressionStatement,\n isMemberExpression,\n isNewExpression,\n isParenthesizedExpression\n} = _t;\nconst TokenContext = exports.TokenContext = {\n expressionStatement: 1,\n arrowBody: 2,\n exportDefault: 4,\n forHead: 8,\n forInHead: 16,\n forOfHead: 32,\n arrowFlowReturnType: 64\n};\nfunction expandAliases(obj) {\n const map = new Map();\n function add(type, func) {\n const fn = map.get(type);\n map.set(type, fn ? function (node, parent, stack, inForInit, getRawIdentifier) {\n var _fn;\n return (_fn = fn(node, parent, stack, inForInit, getRawIdentifier)) != null ? _fn : func(node, parent, stack, inForInit, getRawIdentifier);\n } : func);\n }\n for (const type of Object.keys(obj)) {\n const aliases = FLIPPED_ALIAS_KEYS[type];\n if (aliases) {\n for (const alias of aliases) {\n add(alias, obj[type]);\n }\n } else {\n add(type, obj[type]);\n }\n }\n return map;\n}\nconst expandedParens = expandAliases(parens);\nconst expandedWhitespaceNodes = expandAliases(whitespace.nodes);\nfunction isOrHasCallExpression(node) {\n if (isCallExpression(node)) {\n return true;\n }\n return isMemberExpression(node) && isOrHasCallExpression(node.object);\n}\nfunction needsWhitespace(node, parent, type) {\n var _expandedWhitespaceNo;\n if (!node) return false;\n if (isExpressionStatement(node)) {\n node = node.expression;\n }\n const flag = (_expandedWhitespaceNo = expandedWhitespaceNodes.get(node.type)) == null ? void 0 : _expandedWhitespaceNo(node, parent);\n if (typeof flag === \"number\") {\n return (flag & type) !== 0;\n }\n return false;\n}\nfunction needsWhitespaceBefore(node, parent) {\n return needsWhitespace(node, parent, 1);\n}\nfunction needsWhitespaceAfter(node, parent) {\n return needsWhitespace(node, parent, 2);\n}\nfunction needsParens(node, parent, tokenContext, inForInit, getRawIdentifier) {\n var _expandedParens$get;\n if (!parent) return false;\n if (isNewExpression(parent) && parent.callee === node) {\n if (isOrHasCallExpression(node)) return true;\n }\n if (isDecorator(parent)) {\n return !isDecoratorMemberExpression(node) && !(isCallExpression(node) && isDecoratorMemberExpression(node.callee)) && !isParenthesizedExpression(node);\n }\n return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, tokenContext, inForInit, getRawIdentifier);\n}\nfunction isDecoratorMemberExpression(node) {\n switch (node.type) {\n case \"Identifier\":\n return true;\n case \"MemberExpression\":\n return !node.computed && node.property.type === \"Identifier\" && isDecoratorMemberExpression(node.object);\n default:\n return false;\n }\n}\nfunction isLastChild(parent, child) {\n const visitorKeys = VISITOR_KEYS[parent.type];\n for (let i = visitorKeys.length - 1; i >= 0; i--) {\n const val = parent[visitorKeys[i]];\n if (val === child) {\n return true;\n } else if (Array.isArray(val)) {\n let j = val.length - 1;\n while (j >= 0 && val[j] === null) j--;\n return j >= 0 && val[j] === child;\n } else if (val) {\n return false;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/node/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/node/parentheses.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/node/parentheses.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AssignmentExpression = AssignmentExpression;\nexports.Binary = Binary;\nexports.BinaryExpression = BinaryExpression;\nexports.ClassExpression = ClassExpression;\nexports.ArrowFunctionExpression = exports.ConditionalExpression = ConditionalExpression;\nexports.DoExpression = DoExpression;\nexports.FunctionExpression = FunctionExpression;\nexports.FunctionTypeAnnotation = FunctionTypeAnnotation;\nexports.Identifier = Identifier;\nexports.LogicalExpression = LogicalExpression;\nexports.NullableTypeAnnotation = NullableTypeAnnotation;\nexports.ObjectExpression = ObjectExpression;\nexports.OptionalIndexedAccessType = OptionalIndexedAccessType;\nexports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression;\nexports.SequenceExpression = SequenceExpression;\nexports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression;\nexports.TSInferType = TSInferType;\nexports.TSInstantiationExpression = TSInstantiationExpression;\nexports.UnaryLike = exports.TSTypeAssertion = UnaryLike;\nexports.TSIntersectionType = exports.TSUnionType = TSUnionType;\nexports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation;\nexports.UpdateExpression = UpdateExpression;\nexports.AwaitExpression = exports.YieldExpression = YieldExpression;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _index = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/generator/lib/node/index.js\");\nconst {\n isArrayTypeAnnotation,\n isBinaryExpression,\n isCallExpression,\n isForOfStatement,\n isIndexedAccessType,\n isMemberExpression,\n isObjectPattern,\n isOptionalMemberExpression,\n isYieldExpression,\n isStatement\n} = _t;\nconst PRECEDENCE = new Map([[\"||\", 0], [\"??\", 0], [\"|>\", 0], [\"&&\", 1], [\"|\", 2], [\"^\", 3], [\"&\", 4], [\"==\", 5], [\"===\", 5], [\"!=\", 5], [\"!==\", 5], [\"<\", 6], [\">\", 6], [\"<=\", 6], [\">=\", 6], [\"in\", 6], [\"instanceof\", 6], [\">>\", 7], [\"<<\", 7], [\">>>\", 7], [\"+\", 8], [\"-\", 8], [\"*\", 9], [\"/\", 9], [\"%\", 9], [\"**\", 10]]);\nfunction getBinaryPrecedence(node, nodeType) {\n if (nodeType === \"BinaryExpression\" || nodeType === \"LogicalExpression\") {\n return PRECEDENCE.get(node.operator);\n }\n if (nodeType === \"TSAsExpression\" || nodeType === \"TSSatisfiesExpression\") {\n return PRECEDENCE.get(\"in\");\n }\n}\nfunction isTSTypeExpression(nodeType) {\n return nodeType === \"TSAsExpression\" || nodeType === \"TSSatisfiesExpression\" || nodeType === \"TSTypeAssertion\";\n}\nconst isClassExtendsClause = (node, parent) => {\n const parentType = parent.type;\n return (parentType === \"ClassDeclaration\" || parentType === \"ClassExpression\") && parent.superClass === node;\n};\nconst hasPostfixPart = (node, parent) => {\n const parentType = parent.type;\n return (parentType === \"MemberExpression\" || parentType === \"OptionalMemberExpression\") && parent.object === node || (parentType === \"CallExpression\" || parentType === \"OptionalCallExpression\" || parentType === \"NewExpression\") && parent.callee === node || parentType === \"TaggedTemplateExpression\" && parent.tag === node || parentType === \"TSNonNullExpression\";\n};\nfunction NullableTypeAnnotation(node, parent) {\n return isArrayTypeAnnotation(parent);\n}\nfunction FunctionTypeAnnotation(node, parent, tokenContext) {\n const parentType = parent.type;\n return (parentType === \"UnionTypeAnnotation\" || parentType === \"IntersectionTypeAnnotation\" || parentType === \"ArrayTypeAnnotation\" || Boolean(tokenContext & _index.TokenContext.arrowFlowReturnType)\n );\n}\nfunction UpdateExpression(node, parent) {\n return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);\n}\nfunction needsParenBeforeExpressionBrace(tokenContext) {\n return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.arrowBody));\n}\nfunction ObjectExpression(node, parent, tokenContext) {\n return needsParenBeforeExpressionBrace(tokenContext);\n}\nfunction DoExpression(node, parent, tokenContext) {\n return !node.async && Boolean(tokenContext & _index.TokenContext.expressionStatement);\n}\nfunction Binary(node, parent) {\n const parentType = parent.type;\n if (node.type === \"BinaryExpression\" && node.operator === \"**\" && parentType === \"BinaryExpression\" && parent.operator === \"**\") {\n return parent.left === node;\n }\n if (isClassExtendsClause(node, parent)) {\n return true;\n }\n if (hasPostfixPart(node, parent) || parentType === \"UnaryExpression\" || parentType === \"SpreadElement\" || parentType === \"AwaitExpression\") {\n return true;\n }\n const parentPos = getBinaryPrecedence(parent, parentType);\n if (parentPos != null) {\n const nodePos = getBinaryPrecedence(node, node.type);\n if (parentPos === nodePos && parentType === \"BinaryExpression\" && parent.right === node || parentPos > nodePos) {\n return true;\n }\n }\n return undefined;\n}\nfunction UnionTypeAnnotation(node, parent) {\n const parentType = parent.type;\n return parentType === \"ArrayTypeAnnotation\" || parentType === \"NullableTypeAnnotation\" || parentType === \"IntersectionTypeAnnotation\" || parentType === \"UnionTypeAnnotation\";\n}\nfunction OptionalIndexedAccessType(node, parent) {\n return isIndexedAccessType(parent) && parent.objectType === node;\n}\nfunction TSAsExpression(node, parent) {\n if ((parent.type === \"AssignmentExpression\" || parent.type === \"AssignmentPattern\") && parent.left === node) {\n return true;\n }\n if (parent.type === \"BinaryExpression\" && (parent.operator === \"|\" || parent.operator === \"&\") && node === parent.left) {\n return true;\n }\n return Binary(node, parent);\n}\nfunction TSUnionType(node, parent) {\n const parentType = parent.type;\n return parentType === \"TSArrayType\" || parentType === \"TSOptionalType\" || parentType === \"TSIntersectionType\" || parentType === \"TSRestType\";\n}\nfunction TSInferType(node, parent) {\n const parentType = parent.type;\n return parentType === \"TSArrayType\" || parentType === \"TSOptionalType\";\n}\nfunction TSInstantiationExpression(node, parent) {\n const parentType = parent.type;\n return (parentType === \"CallExpression\" || parentType === \"OptionalCallExpression\" || parentType === \"NewExpression\" || parentType === \"TSInstantiationExpression\") && !!parent.typeParameters;\n}\nfunction BinaryExpression(node, parent, tokenContext, inForStatementInit) {\n return node.operator === \"in\" && inForStatementInit;\n}\nfunction SequenceExpression(node, parent) {\n const parentType = parent.type;\n if (parentType === \"SequenceExpression\" || parentType === \"ParenthesizedExpression\" || parentType === \"MemberExpression\" && parent.property === node || parentType === \"OptionalMemberExpression\" && parent.property === node || parentType === \"TemplateLiteral\") {\n return false;\n }\n if (parentType === \"ClassDeclaration\") {\n return true;\n }\n if (parentType === \"ForOfStatement\") {\n return parent.right === node;\n }\n if (parentType === \"ExportDefaultDeclaration\") {\n return true;\n }\n return !isStatement(parent);\n}\nfunction YieldExpression(node, parent) {\n const parentType = parent.type;\n return parentType === \"BinaryExpression\" || parentType === \"LogicalExpression\" || parentType === \"UnaryExpression\" || parentType === \"SpreadElement\" || hasPostfixPart(node, parent) || parentType === \"AwaitExpression\" && isYieldExpression(node) || parentType === \"ConditionalExpression\" && node === parent.test || isClassExtendsClause(node, parent) || isTSTypeExpression(parentType);\n}\nfunction ClassExpression(node, parent, tokenContext) {\n return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault));\n}\nfunction UnaryLike(node, parent) {\n return hasPostfixPart(node, parent) || isBinaryExpression(parent) && parent.operator === \"**\" && parent.left === node || isClassExtendsClause(node, parent);\n}\nfunction FunctionExpression(node, parent, tokenContext) {\n return Boolean(tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault));\n}\nfunction ConditionalExpression(node, parent) {\n const parentType = parent.type;\n if (parentType === \"UnaryExpression\" || parentType === \"SpreadElement\" || parentType === \"BinaryExpression\" || parentType === \"LogicalExpression\" || parentType === \"ConditionalExpression\" && parent.test === node || parentType === \"AwaitExpression\" || isTSTypeExpression(parentType)) {\n return true;\n }\n return UnaryLike(node, parent);\n}\nfunction OptionalMemberExpression(node, parent) {\n return isCallExpression(parent) && parent.callee === node || isMemberExpression(parent) && parent.object === node;\n}\nfunction AssignmentExpression(node, parent, tokenContext) {\n if (needsParenBeforeExpressionBrace(tokenContext) && isObjectPattern(node.left)) {\n return true;\n } else {\n return ConditionalExpression(node, parent);\n }\n}\nfunction LogicalExpression(node, parent) {\n const parentType = parent.type;\n if (isTSTypeExpression(parentType)) return true;\n if (parentType !== \"LogicalExpression\") return false;\n switch (node.operator) {\n case \"||\":\n return parent.operator === \"??\" || parent.operator === \"&&\";\n case \"&&\":\n return parent.operator === \"??\";\n case \"??\":\n return parent.operator !== \"??\";\n }\n}\nfunction Identifier(node, parent, tokenContext, _inForInit, getRawIdentifier) {\n var _node$extra;\n const parentType = parent.type;\n if ((_node$extra = node.extra) != null && _node$extra.parenthesized && parentType === \"AssignmentExpression\" && parent.left === node) {\n const rightType = parent.right.type;\n if ((rightType === \"FunctionExpression\" || rightType === \"ClassExpression\") && parent.right.id == null) {\n return true;\n }\n }\n if (getRawIdentifier && getRawIdentifier(node) !== node.name) {\n return false;\n }\n if (node.name === \"let\") {\n const isFollowedByBracket = isMemberExpression(parent, {\n object: node,\n computed: true\n }) || isOptionalMemberExpression(parent, {\n object: node,\n computed: true,\n optional: false\n });\n if (isFollowedByBracket && tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.forHead | _index.TokenContext.forInHead)) {\n return true;\n }\n return Boolean(tokenContext & _index.TokenContext.forOfHead);\n }\n return node.name === \"async\" && isForOfStatement(parent, {\n left: node,\n await: false\n });\n}\n\n//# sourceMappingURL=parentheses.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/node/parentheses.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/node/whitespace.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/generator/lib/node/whitespace.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.nodes = void 0;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n FLIPPED_ALIAS_KEYS,\n isArrayExpression,\n isAssignmentExpression,\n isBinary,\n isBlockStatement,\n isCallExpression,\n isFunction,\n isIdentifier,\n isLiteral,\n isMemberExpression,\n isObjectExpression,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isStringLiteral\n} = _t;\nfunction crawlInternal(node, state) {\n if (!node) return state;\n if (isMemberExpression(node) || isOptionalMemberExpression(node)) {\n crawlInternal(node.object, state);\n if (node.computed) crawlInternal(node.property, state);\n } else if (isBinary(node) || isAssignmentExpression(node)) {\n crawlInternal(node.left, state);\n crawlInternal(node.right, state);\n } else if (isCallExpression(node) || isOptionalCallExpression(node)) {\n state.hasCall = true;\n crawlInternal(node.callee, state);\n } else if (isFunction(node)) {\n state.hasFunction = true;\n } else if (isIdentifier(node)) {\n state.hasHelper = state.hasHelper || node.callee && isHelper(node.callee);\n }\n return state;\n}\nfunction crawl(node) {\n return crawlInternal(node, {\n hasCall: false,\n hasFunction: false,\n hasHelper: false\n });\n}\nfunction isHelper(node) {\n if (!node) return false;\n if (isMemberExpression(node)) {\n return isHelper(node.object) || isHelper(node.property);\n } else if (isIdentifier(node)) {\n return node.name === \"require\" || node.name.charCodeAt(0) === 95;\n } else if (isCallExpression(node)) {\n return isHelper(node.callee);\n } else if (isBinary(node) || isAssignmentExpression(node)) {\n return isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right);\n } else {\n return false;\n }\n}\nfunction isType(node) {\n return isLiteral(node) || isObjectExpression(node) || isArrayExpression(node) || isIdentifier(node) || isMemberExpression(node);\n}\nconst nodes = exports.nodes = {\n AssignmentExpression(node) {\n const state = crawl(node.right);\n if (state.hasCall && state.hasHelper || state.hasFunction) {\n return state.hasFunction ? 1 | 2 : 2;\n }\n },\n SwitchCase(node, parent) {\n return (!!node.consequent.length || parent.cases[0] === node ? 1 : 0) | (!node.consequent.length && parent.cases[parent.cases.length - 1] === node ? 2 : 0);\n },\n LogicalExpression(node) {\n if (isFunction(node.left) || isFunction(node.right)) {\n return 2;\n }\n },\n Literal(node) {\n if (isStringLiteral(node) && node.value === \"use strict\") {\n return 2;\n }\n },\n CallExpression(node) {\n if (isFunction(node.callee) || isHelper(node)) {\n return 1 | 2;\n }\n },\n OptionalCallExpression(node) {\n if (isFunction(node.callee)) {\n return 1 | 2;\n }\n },\n VariableDeclaration(node) {\n for (let i = 0; i < node.declarations.length; i++) {\n const declar = node.declarations[i];\n let enabled = isHelper(declar.id) && !isType(declar.init);\n if (!enabled && declar.init) {\n const state = crawl(declar.init);\n enabled = isHelper(declar.init) && state.hasCall || state.hasFunction;\n }\n if (enabled) {\n return 1 | 2;\n }\n }\n },\n IfStatement(node) {\n if (isBlockStatement(node.consequent)) {\n return 1 | 2;\n }\n }\n};\nnodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) {\n if (parent.properties[0] === node) {\n return 1;\n }\n};\nnodes.ObjectTypeCallProperty = function (node, parent) {\n var _parent$properties;\n if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) != null && _parent$properties.length)) {\n return 1;\n }\n};\nnodes.ObjectTypeIndexer = function (node, parent) {\n var _parent$properties2, _parent$callPropertie;\n if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) {\n return 1;\n }\n};\nnodes.ObjectTypeInternalSlot = function (node, parent) {\n var _parent$properties3, _parent$callPropertie2, _parent$indexers;\n if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) {\n return 1;\n }\n};\n[[\"Function\", true], [\"Class\", true], [\"Loop\", true], [\"LabeledStatement\", true], [\"SwitchStatement\", true], [\"TryStatement\", true]].forEach(function ([type, amounts]) {\n [type].concat(FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) {\n const ret = amounts ? 1 | 2 : 0;\n nodes[type] = () => ret;\n });\n});\n\n//# sourceMappingURL=whitespace.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/node/whitespace.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/printer.js": +/*!******************************************************!*\ + !*** ./node_modules/@babel/generator/lib/printer.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _buffer = __webpack_require__(/*! ./buffer.js */ \"./node_modules/@babel/generator/lib/buffer.js\");\nvar n = __webpack_require__(/*! ./node/index.js */ \"./node_modules/@babel/generator/lib/node/index.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _tokenMap = __webpack_require__(/*! ./token-map.js */ \"./node_modules/@babel/generator/lib/token-map.js\");\nvar generatorFunctions = __webpack_require__(/*! ./generators/index.js */ \"./node_modules/@babel/generator/lib/generators/index.js\");\nconst {\n isExpression,\n isFunction,\n isStatement,\n isClassBody,\n isTSInterfaceBody,\n isTSEnumDeclaration\n} = _t;\nconst SCIENTIFIC_NOTATION = /e/i;\nconst ZERO_DECIMAL_INTEGER = /\\.0+$/;\nconst HAS_NEWLINE = /[\\n\\r\\u2028\\u2029]/;\nconst HAS_NEWLINE_OR_BlOCK_COMMENT_END = /[\\n\\r\\u2028\\u2029]|\\*\\//;\nfunction commentIsNewline(c) {\n return c.type === \"CommentLine\" || HAS_NEWLINE.test(c.value);\n}\nconst {\n needsParens\n} = n;\nclass Printer {\n constructor(format, map, tokens, originalCode) {\n this.inForStatementInit = false;\n this.tokenContext = 0;\n this._tokens = null;\n this._originalCode = null;\n this._currentNode = null;\n this._indent = 0;\n this._indentRepeat = 0;\n this._insideAux = false;\n this._noLineTerminator = false;\n this._noLineTerminatorAfterNode = null;\n this._printAuxAfterOnNextUserNode = false;\n this._printedComments = new Set();\n this._endsWithInteger = false;\n this._endsWithWord = false;\n this._endsWithDiv = false;\n this._lastCommentLine = 0;\n this._endsWithInnerRaw = false;\n this._indentInnerComments = true;\n this.tokenMap = null;\n this._boundGetRawIdentifier = this._getRawIdentifier.bind(this);\n this.format = format;\n this._tokens = tokens;\n this._originalCode = originalCode;\n this._indentRepeat = format.indent.style.length;\n this._inputMap = map == null ? void 0 : map._inputMap;\n this._buf = new _buffer.default(map, format.indent.style[0]);\n }\n enterForStatementInit() {\n if (this.inForStatementInit) return () => {};\n this.inForStatementInit = true;\n return () => {\n this.inForStatementInit = false;\n };\n }\n enterDelimited() {\n const oldInForStatementInit = this.inForStatementInit;\n const oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;\n if (oldInForStatementInit === false && oldNoLineTerminatorAfterNode === null) {\n return () => {};\n }\n this.inForStatementInit = false;\n this._noLineTerminatorAfterNode = null;\n return () => {\n this.inForStatementInit = oldInForStatementInit;\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n };\n }\n generate(ast) {\n if (this.format.preserveFormat) {\n this.tokenMap = new _tokenMap.TokenMap(ast, this._tokens, this._originalCode);\n }\n this.print(ast);\n this._maybeAddAuxComment();\n return this._buf.get();\n }\n indent() {\n const {\n format\n } = this;\n if (format.preserveFormat || format.compact || format.concise) {\n return;\n }\n this._indent++;\n }\n dedent() {\n const {\n format\n } = this;\n if (format.preserveFormat || format.compact || format.concise) {\n return;\n }\n this._indent--;\n }\n semicolon(force = false) {\n this._maybeAddAuxComment();\n if (force) {\n this._appendChar(59);\n this._noLineTerminator = false;\n return;\n }\n if (this.tokenMap) {\n const node = this._currentNode;\n if (node.start != null && node.end != null) {\n if (!this.tokenMap.endMatches(node, \";\")) {\n return;\n }\n const indexes = this.tokenMap.getIndexes(this._currentNode);\n this._catchUpTo(this._tokens[indexes[indexes.length - 1]].loc.start);\n }\n }\n this._queue(59);\n this._noLineTerminator = false;\n }\n rightBrace(node) {\n if (this.format.minified) {\n this._buf.removeLastSemicolon();\n }\n this.sourceWithOffset(\"end\", node.loc, -1);\n this.tokenChar(125);\n }\n rightParens(node) {\n this.sourceWithOffset(\"end\", node.loc, -1);\n this.tokenChar(41);\n }\n space(force = false) {\n const {\n format\n } = this;\n if (format.compact || format.preserveFormat) return;\n if (force) {\n this._space();\n } else if (this._buf.hasContent()) {\n const lastCp = this.getLastChar();\n if (lastCp !== 32 && lastCp !== 10) {\n this._space();\n }\n }\n }\n word(str, noLineTerminatorAfter = false) {\n this.tokenContext = 0;\n this._maybePrintInnerComments(str);\n if (this._endsWithWord || this._endsWithDiv && str.charCodeAt(0) === 47) {\n this._space();\n }\n this._maybeAddAuxComment();\n this._append(str, false);\n this._endsWithWord = true;\n this._noLineTerminator = noLineTerminatorAfter;\n }\n number(str, number) {\n function isNonDecimalLiteral(str) {\n if (str.length > 2 && str.charCodeAt(0) === 48) {\n const secondChar = str.charCodeAt(1);\n return secondChar === 98 || secondChar === 111 || secondChar === 120;\n }\n return false;\n }\n this.word(str);\n this._endsWithInteger = Number.isInteger(number) && !isNonDecimalLiteral(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46;\n }\n token(str, maybeNewline = false, occurrenceCount = 0) {\n this.tokenContext = 0;\n this._maybePrintInnerComments(str, occurrenceCount);\n const lastChar = this.getLastChar();\n const strFirst = str.charCodeAt(0);\n if (lastChar === 33 && (str === \"--\" || strFirst === 61) || strFirst === 43 && lastChar === 43 || strFirst === 45 && lastChar === 45 || strFirst === 46 && this._endsWithInteger) {\n this._space();\n }\n this._maybeAddAuxComment();\n this._append(str, maybeNewline, occurrenceCount);\n this._noLineTerminator = false;\n }\n tokenChar(char) {\n this.tokenContext = 0;\n this._maybePrintInnerComments(String.fromCharCode(char));\n const lastChar = this.getLastChar();\n if (char === 43 && lastChar === 43 || char === 45 && lastChar === 45 || char === 46 && this._endsWithInteger) {\n this._space();\n }\n this._maybeAddAuxComment();\n this._appendChar(char);\n this._noLineTerminator = false;\n }\n newline(i = 1, force) {\n if (i <= 0) return;\n if (!force) {\n if (this.format.retainLines || this.format.compact) return;\n if (this.format.concise) {\n this.space();\n return;\n }\n }\n if (i > 2) i = 2;\n i -= this._buf.getNewlineCount();\n for (let j = 0; j < i; j++) {\n this._newline();\n }\n return;\n }\n endsWith(char) {\n return this.getLastChar() === char;\n }\n getLastChar() {\n return this._buf.getLastChar();\n }\n endsWithCharAndNewline() {\n return this._buf.endsWithCharAndNewline();\n }\n removeTrailingNewline() {\n this._buf.removeTrailingNewline();\n }\n exactSource(loc, cb) {\n if (!loc) {\n cb();\n return;\n }\n this._catchUp(\"start\", loc);\n this._buf.exactSource(loc, cb);\n }\n source(prop, loc) {\n if (!loc) return;\n this._catchUp(prop, loc);\n this._buf.source(prop, loc);\n }\n sourceWithOffset(prop, loc, columnOffset) {\n if (!loc || this.format.preserveFormat) return;\n this._catchUp(prop, loc);\n this._buf.sourceWithOffset(prop, loc, columnOffset);\n }\n sourceIdentifierName(identifierName, pos) {\n if (!this._buf._canMarkIdName) return;\n const sourcePosition = this._buf._sourcePosition;\n sourcePosition.identifierNamePos = pos;\n sourcePosition.identifierName = identifierName;\n }\n _space() {\n this._queue(32);\n }\n _newline() {\n this._queue(10);\n }\n _append(str, maybeNewline, occurrenceCount = 0) {\n if (this.tokenMap) {\n const token = this.tokenMap.findMatching(this._currentNode, str, occurrenceCount);\n if (token) this._catchUpTo(token.loc.start);\n }\n this._maybeIndent(str.charCodeAt(0));\n this._buf.append(str, maybeNewline);\n this._endsWithWord = false;\n this._endsWithInteger = false;\n this._endsWithDiv = false;\n }\n _appendChar(char) {\n if (this.tokenMap) {\n const token = this.tokenMap.findMatching(this._currentNode, String.fromCharCode(char));\n if (token) this._catchUpTo(token.loc.start);\n }\n this._maybeIndent(char);\n this._buf.appendChar(char);\n this._endsWithWord = false;\n this._endsWithInteger = false;\n this._endsWithDiv = false;\n }\n _queue(char) {\n this._maybeIndent(char);\n this._buf.queue(char);\n this._endsWithWord = false;\n this._endsWithInteger = false;\n }\n _maybeIndent(firstChar) {\n if (this._indent && firstChar !== 10 && this.endsWith(10)) {\n this._buf.queueIndentation(this._getIndent());\n }\n }\n _shouldIndent(firstChar) {\n if (this._indent && firstChar !== 10 && this.endsWith(10)) {\n return true;\n }\n }\n catchUp(line) {\n if (!this.format.retainLines) return;\n const count = line - this._buf.getCurrentLine();\n for (let i = 0; i < count; i++) {\n this._newline();\n }\n }\n _catchUp(prop, loc) {\n const {\n format\n } = this;\n if (!format.preserveFormat) {\n if (format.retainLines && loc != null && loc[prop]) {\n this.catchUp(loc[prop].line);\n }\n return;\n }\n const pos = loc == null ? void 0 : loc[prop];\n if (pos != null) this._catchUpTo(pos);\n }\n _catchUpTo({\n line,\n column,\n index\n }) {\n const count = line - this._buf.getCurrentLine();\n if (count > 0 && this._noLineTerminator) {\n return;\n }\n for (let i = 0; i < count; i++) {\n this._newline();\n }\n const spacesCount = count > 0 ? column : column - this._buf.getCurrentColumn();\n if (spacesCount > 0) {\n const spaces = this._originalCode ? this._originalCode.slice(index - spacesCount, index).replace(/[^\\t\\x0B\\f \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000\\uFEFF]/gu, \" \") : \" \".repeat(spacesCount);\n this._append(spaces, false);\n }\n }\n _getIndent() {\n return this._indentRepeat * this._indent;\n }\n printTerminatorless(node) {\n this._noLineTerminator = true;\n this.print(node);\n }\n print(node, noLineTerminatorAfter, trailingCommentsLineOffset) {\n var _node$extra, _node$leadingComments, _node$leadingComments2;\n if (!node) return;\n this._endsWithInnerRaw = false;\n const nodeType = node.type;\n const format = this.format;\n const oldConcise = format.concise;\n if (node._compact) {\n format.concise = true;\n }\n const printMethod = this[nodeType];\n if (printMethod === undefined) {\n throw new ReferenceError(`unknown node of type ${JSON.stringify(nodeType)} with constructor ${JSON.stringify(node.constructor.name)}`);\n }\n const parent = this._currentNode;\n this._currentNode = node;\n const oldInAux = this._insideAux;\n this._insideAux = node.loc == null;\n this._maybeAddAuxComment(this._insideAux && !oldInAux);\n const parenthesized = (_node$extra = node.extra) == null ? void 0 : _node$extra.parenthesized;\n let shouldPrintParens = parenthesized && format.preserveFormat || parenthesized && format.retainFunctionParens && nodeType === \"FunctionExpression\" || needsParens(node, parent, this.tokenContext, this.inForStatementInit, format.preserveFormat ? this._boundGetRawIdentifier : undefined);\n if (!shouldPrintParens && parenthesized && (_node$leadingComments = node.leadingComments) != null && _node$leadingComments.length && node.leadingComments[0].type === \"CommentBlock\") {\n const parentType = parent == null ? void 0 : parent.type;\n switch (parentType) {\n case \"ExpressionStatement\":\n case \"VariableDeclarator\":\n case \"AssignmentExpression\":\n case \"ReturnStatement\":\n break;\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n case \"NewExpression\":\n if (parent.callee !== node) break;\n default:\n shouldPrintParens = true;\n }\n }\n let indentParenthesized = false;\n if (!shouldPrintParens && this._noLineTerminator && ((_node$leadingComments2 = node.leadingComments) != null && _node$leadingComments2.some(commentIsNewline) || this.format.retainLines && node.loc && node.loc.start.line > this._buf.getCurrentLine())) {\n shouldPrintParens = true;\n indentParenthesized = true;\n }\n let oldNoLineTerminatorAfterNode;\n let oldInForStatementInitWasTrue;\n if (!shouldPrintParens) {\n noLineTerminatorAfter || (noLineTerminatorAfter = parent && this._noLineTerminatorAfterNode === parent && n.isLastChild(parent, node));\n if (noLineTerminatorAfter) {\n var _node$trailingComment;\n if ((_node$trailingComment = node.trailingComments) != null && _node$trailingComment.some(commentIsNewline)) {\n if (isExpression(node)) shouldPrintParens = true;\n } else {\n oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;\n this._noLineTerminatorAfterNode = node;\n }\n }\n }\n if (shouldPrintParens) {\n this.tokenChar(40);\n if (indentParenthesized) this.indent();\n this._endsWithInnerRaw = false;\n if (this.inForStatementInit) {\n oldInForStatementInitWasTrue = true;\n this.inForStatementInit = false;\n }\n oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;\n this._noLineTerminatorAfterNode = null;\n }\n this._lastCommentLine = 0;\n this._printLeadingComments(node, parent);\n const loc = nodeType === \"Program\" || nodeType === \"File\" ? null : node.loc;\n this.exactSource(loc, printMethod.bind(this, node, parent));\n if (shouldPrintParens) {\n this._printTrailingComments(node, parent);\n if (indentParenthesized) {\n this.dedent();\n this.newline();\n }\n this.tokenChar(41);\n this._noLineTerminator = noLineTerminatorAfter;\n if (oldInForStatementInitWasTrue) this.inForStatementInit = true;\n } else if (noLineTerminatorAfter && !this._noLineTerminator) {\n this._noLineTerminator = true;\n this._printTrailingComments(node, parent);\n } else {\n this._printTrailingComments(node, parent, trailingCommentsLineOffset);\n }\n this._currentNode = parent;\n format.concise = oldConcise;\n this._insideAux = oldInAux;\n if (oldNoLineTerminatorAfterNode !== undefined) {\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n }\n this._endsWithInnerRaw = false;\n }\n _maybeAddAuxComment(enteredPositionlessNode) {\n if (enteredPositionlessNode) this._printAuxBeforeComment();\n if (!this._insideAux) this._printAuxAfterComment();\n }\n _printAuxBeforeComment() {\n if (this._printAuxAfterOnNextUserNode) return;\n this._printAuxAfterOnNextUserNode = true;\n const comment = this.format.auxiliaryCommentBefore;\n if (comment) {\n this._printComment({\n type: \"CommentBlock\",\n value: comment\n }, 0);\n }\n }\n _printAuxAfterComment() {\n if (!this._printAuxAfterOnNextUserNode) return;\n this._printAuxAfterOnNextUserNode = false;\n const comment = this.format.auxiliaryCommentAfter;\n if (comment) {\n this._printComment({\n type: \"CommentBlock\",\n value: comment\n }, 0);\n }\n }\n getPossibleRaw(node) {\n const extra = node.extra;\n if ((extra == null ? void 0 : extra.raw) != null && extra.rawValue != null && node.value === extra.rawValue) {\n return extra.raw;\n }\n }\n printJoin(nodes, opts = {}) {\n if (!(nodes != null && nodes.length)) return;\n let {\n indent\n } = opts;\n if (indent == null && this.format.retainLines) {\n var _nodes$0$loc;\n const startLine = (_nodes$0$loc = nodes[0].loc) == null ? void 0 : _nodes$0$loc.start.line;\n if (startLine != null && startLine !== this._buf.getCurrentLine()) {\n indent = true;\n }\n }\n if (indent) this.indent();\n const newlineOpts = {\n addNewlines: opts.addNewlines,\n nextNodeStartLine: 0\n };\n const separator = opts.separator ? opts.separator.bind(this) : null;\n const len = nodes.length;\n for (let i = 0; i < len; i++) {\n const node = nodes[i];\n if (!node) continue;\n if (opts.statement) this._printNewline(i === 0, newlineOpts);\n this.print(node, undefined, opts.trailingCommentsLineOffset || 0);\n opts.iterator == null || opts.iterator(node, i);\n if (separator != null) {\n if (i < len - 1) separator(i, false);else if (opts.printTrailingSeparator) separator(i, true);\n }\n if (opts.statement) {\n var _node$trailingComment2;\n if (!((_node$trailingComment2 = node.trailingComments) != null && _node$trailingComment2.length)) {\n this._lastCommentLine = 0;\n }\n if (i + 1 === len) {\n this.newline(1);\n } else {\n var _nextNode$loc;\n const nextNode = nodes[i + 1];\n newlineOpts.nextNodeStartLine = ((_nextNode$loc = nextNode.loc) == null ? void 0 : _nextNode$loc.start.line) || 0;\n this._printNewline(true, newlineOpts);\n }\n }\n }\n if (indent) this.dedent();\n }\n printAndIndentOnComments(node) {\n const indent = node.leadingComments && node.leadingComments.length > 0;\n if (indent) this.indent();\n this.print(node);\n if (indent) this.dedent();\n }\n printBlock(parent) {\n const node = parent.body;\n if (node.type !== \"EmptyStatement\") {\n this.space();\n }\n this.print(node);\n }\n _printTrailingComments(node, parent, lineOffset) {\n const {\n innerComments,\n trailingComments\n } = node;\n if (innerComments != null && innerComments.length) {\n this._printComments(2, innerComments, node, parent, lineOffset);\n }\n if (trailingComments != null && trailingComments.length) {\n this._printComments(2, trailingComments, node, parent, lineOffset);\n }\n }\n _printLeadingComments(node, parent) {\n const comments = node.leadingComments;\n if (!(comments != null && comments.length)) return;\n this._printComments(0, comments, node, parent);\n }\n _maybePrintInnerComments(nextTokenStr, nextTokenOccurrenceCount) {\n if (this._endsWithInnerRaw) {\n var _this$tokenMap;\n this.printInnerComments((_this$tokenMap = this.tokenMap) == null ? void 0 : _this$tokenMap.findMatching(this._currentNode, nextTokenStr, nextTokenOccurrenceCount));\n }\n this._endsWithInnerRaw = true;\n this._indentInnerComments = true;\n }\n printInnerComments(nextToken) {\n const node = this._currentNode;\n const comments = node.innerComments;\n if (!(comments != null && comments.length)) return;\n const hasSpace = this.endsWith(32);\n const indent = this._indentInnerComments;\n const printedCommentsCount = this._printedComments.size;\n if (indent) this.indent();\n this._printComments(1, comments, node, undefined, undefined, nextToken);\n if (hasSpace && printedCommentsCount !== this._printedComments.size) {\n this.space();\n }\n if (indent) this.dedent();\n }\n noIndentInnerCommentsHere() {\n this._indentInnerComments = false;\n }\n printSequence(nodes, opts = {}) {\n var _opts$indent;\n opts.statement = true;\n (_opts$indent = opts.indent) != null ? _opts$indent : opts.indent = false;\n this.printJoin(nodes, opts);\n }\n printList(items, opts = {}) {\n if (opts.separator == null) {\n opts.separator = commaSeparator;\n }\n this.printJoin(items, opts);\n }\n shouldPrintTrailingComma(listEnd) {\n if (!this.tokenMap) return null;\n const listEndIndex = this.tokenMap.findLastIndex(this._currentNode, token => this.tokenMap.matchesOriginal(token, listEnd));\n if (listEndIndex <= 0) return null;\n return this.tokenMap.matchesOriginal(this._tokens[listEndIndex - 1], \",\");\n }\n _printNewline(newLine, opts) {\n const format = this.format;\n if (format.retainLines || format.compact) return;\n if (format.concise) {\n this.space();\n return;\n }\n if (!newLine) {\n return;\n }\n const startLine = opts.nextNodeStartLine;\n const lastCommentLine = this._lastCommentLine;\n if (startLine > 0 && lastCommentLine > 0) {\n const offset = startLine - lastCommentLine;\n if (offset >= 0) {\n this.newline(offset || 1);\n return;\n }\n }\n if (this._buf.hasContent()) {\n this.newline(1);\n }\n }\n _shouldPrintComment(comment, nextToken) {\n if (comment.ignore) return 0;\n if (this._printedComments.has(comment)) return 0;\n if (this._noLineTerminator && HAS_NEWLINE_OR_BlOCK_COMMENT_END.test(comment.value)) {\n return 2;\n }\n if (nextToken && this.tokenMap) {\n const commentTok = this.tokenMap.find(this._currentNode, token => token.value === comment.value);\n if (commentTok && commentTok.start > nextToken.start) {\n return 2;\n }\n }\n this._printedComments.add(comment);\n if (!this.format.shouldPrintComment(comment.value)) {\n return 0;\n }\n return 1;\n }\n _printComment(comment, skipNewLines) {\n const noLineTerminator = this._noLineTerminator;\n const isBlockComment = comment.type === \"CommentBlock\";\n const printNewLines = isBlockComment && skipNewLines !== 1 && !this._noLineTerminator;\n if (printNewLines && this._buf.hasContent() && skipNewLines !== 2) {\n this.newline(1);\n }\n const lastCharCode = this.getLastChar();\n if (lastCharCode !== 91 && lastCharCode !== 123 && lastCharCode !== 40) {\n this.space();\n }\n let val;\n if (isBlockComment) {\n val = `/*${comment.value}*/`;\n if (this.format.indent.adjustMultilineComment) {\n var _comment$loc;\n const offset = (_comment$loc = comment.loc) == null ? void 0 : _comment$loc.start.column;\n if (offset) {\n const newlineRegex = new RegExp(\"\\\\n\\\\s{1,\" + offset + \"}\", \"g\");\n val = val.replace(newlineRegex, \"\\n\");\n }\n if (this.format.concise) {\n val = val.replace(/\\n(?!$)/g, `\\n`);\n } else {\n let indentSize = this.format.retainLines ? 0 : this._buf.getCurrentColumn();\n if (this._shouldIndent(47) || this.format.retainLines) {\n indentSize += this._getIndent();\n }\n val = val.replace(/\\n(?!$)/g, `\\n${\" \".repeat(indentSize)}`);\n }\n }\n } else if (!noLineTerminator) {\n val = `//${comment.value}`;\n } else {\n val = `/*${comment.value}*/`;\n }\n if (this._endsWithDiv) this._space();\n this.source(\"start\", comment.loc);\n this._append(val, isBlockComment);\n if (!isBlockComment && !noLineTerminator) {\n this.newline(1, true);\n }\n if (printNewLines && skipNewLines !== 3) {\n this.newline(1);\n }\n }\n _printComments(type, comments, node, parent, lineOffset = 0, nextToken) {\n const nodeLoc = node.loc;\n const len = comments.length;\n let hasLoc = !!nodeLoc;\n const nodeStartLine = hasLoc ? nodeLoc.start.line : 0;\n const nodeEndLine = hasLoc ? nodeLoc.end.line : 0;\n let lastLine = 0;\n let leadingCommentNewline = 0;\n const maybeNewline = this._noLineTerminator ? function () {} : this.newline.bind(this);\n for (let i = 0; i < len; i++) {\n const comment = comments[i];\n const shouldPrint = this._shouldPrintComment(comment, nextToken);\n if (shouldPrint === 2) {\n hasLoc = false;\n break;\n }\n if (hasLoc && comment.loc && shouldPrint === 1) {\n const commentStartLine = comment.loc.start.line;\n const commentEndLine = comment.loc.end.line;\n if (type === 0) {\n let offset = 0;\n if (i === 0) {\n if (this._buf.hasContent() && (comment.type === \"CommentLine\" || commentStartLine !== commentEndLine)) {\n offset = leadingCommentNewline = 1;\n }\n } else {\n offset = commentStartLine - lastLine;\n }\n lastLine = commentEndLine;\n maybeNewline(offset);\n this._printComment(comment, 1);\n if (i + 1 === len) {\n maybeNewline(Math.max(nodeStartLine - lastLine, leadingCommentNewline));\n lastLine = nodeStartLine;\n }\n } else if (type === 1) {\n const offset = commentStartLine - (i === 0 ? nodeStartLine : lastLine);\n lastLine = commentEndLine;\n maybeNewline(offset);\n this._printComment(comment, 1);\n if (i + 1 === len) {\n maybeNewline(Math.min(1, nodeEndLine - lastLine));\n lastLine = nodeEndLine;\n }\n } else {\n const offset = commentStartLine - (i === 0 ? nodeEndLine - lineOffset : lastLine);\n lastLine = commentEndLine;\n maybeNewline(offset);\n this._printComment(comment, 1);\n }\n } else {\n hasLoc = false;\n if (shouldPrint !== 1) {\n continue;\n }\n if (len === 1) {\n const singleLine = comment.loc ? comment.loc.start.line === comment.loc.end.line : !HAS_NEWLINE.test(comment.value);\n const shouldSkipNewline = singleLine && !isStatement(node) && !isClassBody(parent) && !isTSInterfaceBody(parent) && !isTSEnumDeclaration(parent);\n if (type === 0) {\n this._printComment(comment, shouldSkipNewline && node.type !== \"ObjectExpression\" || singleLine && isFunction(parent, {\n body: node\n }) ? 1 : 0);\n } else if (shouldSkipNewline && type === 2) {\n this._printComment(comment, 1);\n } else {\n this._printComment(comment, 0);\n }\n } else if (type === 1 && !(node.type === \"ObjectExpression\" && node.properties.length > 1) && node.type !== \"ClassBody\" && node.type !== \"TSInterfaceBody\") {\n this._printComment(comment, i === 0 ? 2 : i === len - 1 ? 3 : 0);\n } else {\n this._printComment(comment, 0);\n }\n }\n }\n if (type === 2 && hasLoc && lastLine) {\n this._lastCommentLine = lastLine;\n }\n }\n}\nObject.assign(Printer.prototype, generatorFunctions);\n{\n Printer.prototype.Noop = function Noop() {};\n}\nvar _default = exports[\"default\"] = Printer;\nfunction commaSeparator(occurrenceCount, last) {\n this.token(\",\", false, occurrenceCount);\n if (!last) this.space();\n}\n\n//# sourceMappingURL=printer.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/printer.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/source-map.js": +/*!*********************************************************!*\ + !*** ./node_modules/@babel/generator/lib/source-map.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _genMapping = __webpack_require__(/*! @jridgewell/gen-mapping */ \"./node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js\");\nvar _traceMapping = __webpack_require__(/*! @jridgewell/trace-mapping */ \"./node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js\");\nclass SourceMap {\n constructor(opts, code) {\n var _opts$sourceFileName;\n this._map = void 0;\n this._rawMappings = void 0;\n this._sourceFileName = void 0;\n this._lastGenLine = 0;\n this._lastSourceLine = 0;\n this._lastSourceColumn = 0;\n this._inputMap = void 0;\n const map = this._map = new _genMapping.GenMapping({\n sourceRoot: opts.sourceRoot\n });\n this._sourceFileName = (_opts$sourceFileName = opts.sourceFileName) == null ? void 0 : _opts$sourceFileName.replace(/\\\\/g, \"/\");\n this._rawMappings = undefined;\n if (opts.inputSourceMap) {\n this._inputMap = new _traceMapping.TraceMap(opts.inputSourceMap);\n const resolvedSources = this._inputMap.resolvedSources;\n if (resolvedSources.length) {\n for (let i = 0; i < resolvedSources.length; i++) {\n var _this$_inputMap$sourc;\n (0, _genMapping.setSourceContent)(map, resolvedSources[i], (_this$_inputMap$sourc = this._inputMap.sourcesContent) == null ? void 0 : _this$_inputMap$sourc[i]);\n }\n }\n }\n if (typeof code === \"string\" && !opts.inputSourceMap) {\n (0, _genMapping.setSourceContent)(map, this._sourceFileName, code);\n } else if (typeof code === \"object\") {\n for (const sourceFileName of Object.keys(code)) {\n (0, _genMapping.setSourceContent)(map, sourceFileName.replace(/\\\\/g, \"/\"), code[sourceFileName]);\n }\n }\n }\n get() {\n return (0, _genMapping.toEncodedMap)(this._map);\n }\n getDecoded() {\n return (0, _genMapping.toDecodedMap)(this._map);\n }\n getRawMappings() {\n return this._rawMappings || (this._rawMappings = (0, _genMapping.allMappings)(this._map));\n }\n mark(generated, line, column, identifierName, identifierNamePos, filename) {\n var _originalMapping;\n this._rawMappings = undefined;\n let originalMapping;\n if (line != null) {\n if (this._inputMap) {\n originalMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, {\n line,\n column\n });\n if (!originalMapping.name && identifierNamePos) {\n const originalIdentifierMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, identifierNamePos);\n if (originalIdentifierMapping.name) {\n identifierName = originalIdentifierMapping.name;\n }\n }\n } else {\n originalMapping = {\n source: (filename == null ? void 0 : filename.replace(/\\\\/g, \"/\")) || this._sourceFileName,\n line: line,\n column: column\n };\n }\n }\n (0, _genMapping.maybeAddMapping)(this._map, {\n name: identifierName,\n generated,\n source: (_originalMapping = originalMapping) == null ? void 0 : _originalMapping.source,\n original: originalMapping\n });\n }\n}\nexports[\"default\"] = SourceMap;\n\n//# sourceMappingURL=source-map.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/source-map.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/generator/lib/token-map.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/generator/lib/token-map.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TokenMap = void 0;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n traverseFast,\n VISITOR_KEYS\n} = _t;\nclass TokenMap {\n constructor(ast, tokens, source) {\n this._tokens = void 0;\n this._source = void 0;\n this._nodesToTokenIndexes = new Map();\n this._nodesOccurrencesCountCache = new Map();\n this._tokensCache = new Map();\n this._tokens = tokens;\n this._source = source;\n traverseFast(ast, node => {\n const indexes = this._getTokensIndexesOfNode(node);\n if (indexes.length > 0) this._nodesToTokenIndexes.set(node, indexes);\n });\n this._tokensCache = null;\n }\n has(node) {\n return this._nodesToTokenIndexes.has(node);\n }\n getIndexes(node) {\n return this._nodesToTokenIndexes.get(node);\n }\n find(node, condition) {\n const indexes = this._nodesToTokenIndexes.get(node);\n if (indexes) {\n for (let k = 0; k < indexes.length; k++) {\n const index = indexes[k];\n const tok = this._tokens[index];\n if (condition(tok, index)) return tok;\n }\n }\n return null;\n }\n findLastIndex(node, condition) {\n const indexes = this._nodesToTokenIndexes.get(node);\n if (indexes) {\n for (let k = indexes.length - 1; k >= 0; k--) {\n const index = indexes[k];\n const tok = this._tokens[index];\n if (condition(tok, index)) return index;\n }\n }\n return -1;\n }\n findMatching(node, test, occurrenceCount = 0) {\n const indexes = this._nodesToTokenIndexes.get(node);\n if (indexes) {\n let i = 0;\n const count = occurrenceCount;\n if (count > 1) {\n const cache = this._nodesOccurrencesCountCache.get(node);\n if (cache && cache.test === test && cache.count < count) {\n i = cache.i + 1;\n occurrenceCount -= cache.count + 1;\n }\n }\n for (; i < indexes.length; i++) {\n const tok = this._tokens[indexes[i]];\n if (this.matchesOriginal(tok, test)) {\n if (occurrenceCount === 0) {\n if (count > 0) {\n this._nodesOccurrencesCountCache.set(node, {\n test,\n count,\n i\n });\n }\n return tok;\n }\n occurrenceCount--;\n }\n }\n }\n return null;\n }\n matchesOriginal(token, test) {\n if (token.end - token.start !== test.length) return false;\n if (token.value != null) return token.value === test;\n return this._source.startsWith(test, token.start);\n }\n startMatches(node, test) {\n const indexes = this._nodesToTokenIndexes.get(node);\n if (!indexes) return false;\n const tok = this._tokens[indexes[0]];\n if (tok.start !== node.start) return false;\n return this.matchesOriginal(tok, test);\n }\n endMatches(node, test) {\n const indexes = this._nodesToTokenIndexes.get(node);\n if (!indexes) return false;\n const tok = this._tokens[indexes[indexes.length - 1]];\n if (tok.end !== node.end) return false;\n return this.matchesOriginal(tok, test);\n }\n _getTokensIndexesOfNode(node) {\n if (node.start == null || node.end == null) return [];\n const {\n first,\n last\n } = this._findTokensOfNode(node, 0, this._tokens.length - 1);\n let low = first;\n const children = childrenIterator(node);\n if ((node.type === \"ExportNamedDeclaration\" || node.type === \"ExportDefaultDeclaration\") && node.declaration && node.declaration.type === \"ClassDeclaration\") {\n children.next();\n }\n const indexes = [];\n for (const child of children) {\n if (child == null) continue;\n if (child.start == null || child.end == null) continue;\n const childTok = this._findTokensOfNode(child, low, last);\n const high = childTok.first;\n for (let k = low; k < high; k++) indexes.push(k);\n low = childTok.last + 1;\n }\n for (let k = low; k <= last; k++) indexes.push(k);\n return indexes;\n }\n _findTokensOfNode(node, low, high) {\n const cached = this._tokensCache.get(node);\n if (cached) return cached;\n const first = this._findFirstTokenOfNode(node.start, low, high);\n const last = this._findLastTokenOfNode(node.end, first, high);\n this._tokensCache.set(node, {\n first,\n last\n });\n return {\n first,\n last\n };\n }\n _findFirstTokenOfNode(start, low, high) {\n while (low <= high) {\n const mid = high + low >> 1;\n if (start < this._tokens[mid].start) {\n high = mid - 1;\n } else if (start > this._tokens[mid].start) {\n low = mid + 1;\n } else {\n return mid;\n }\n }\n return low;\n }\n _findLastTokenOfNode(end, low, high) {\n while (low <= high) {\n const mid = high + low >> 1;\n if (end < this._tokens[mid].end) {\n high = mid - 1;\n } else if (end > this._tokens[mid].end) {\n low = mid + 1;\n } else {\n return mid;\n }\n }\n return high;\n }\n}\nexports.TokenMap = TokenMap;\nfunction* childrenIterator(node) {\n if (node.type === \"TemplateLiteral\") {\n yield node.quasis[0];\n for (let i = 1; i < node.quasis.length; i++) {\n yield node.expressions[i - 1];\n yield node.quasis[i];\n }\n return;\n }\n const keys = VISITOR_KEYS[node.type];\n for (const key of keys) {\n const child = node[key];\n if (!child) continue;\n if (Array.isArray(child)) {\n yield* child;\n } else {\n yield child;\n }\n }\n}\n\n//# sourceMappingURL=token-map.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/generator/lib/token-map.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-compilation-targets/lib/debug.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/helper-compilation-targets/lib/debug.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getInclusionReasons = getInclusionReasons;\nvar _semver = __webpack_require__(/*! semver */ \"./node_modules/semver/semver.js\");\nvar _pretty = __webpack_require__(/*! ./pretty.js */ \"./node_modules/@babel/helper-compilation-targets/lib/pretty.js\");\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/helper-compilation-targets/lib/utils.js\");\nfunction getInclusionReasons(item, targetVersions, list) {\n const minVersions = list[item] || {};\n return Object.keys(targetVersions).reduce((result, env) => {\n const minVersion = (0, _utils.getLowestImplementedVersion)(minVersions, env);\n const targetVersion = targetVersions[env];\n if (!minVersion) {\n result[env] = (0, _pretty.prettifyVersion)(targetVersion);\n } else {\n const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env);\n const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env);\n if (!targetIsUnreleased && (minIsUnreleased || _semver.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) {\n result[env] = (0, _pretty.prettifyVersion)(targetVersion);\n }\n }\n return result;\n }, {});\n}\n\n//# sourceMappingURL=debug.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-compilation-targets/lib/debug.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-compilation-targets/lib/filter-items.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/helper-compilation-targets/lib/filter-items.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = filterItems;\nexports.isRequired = isRequired;\nexports.targetsSupported = targetsSupported;\nvar _semver = __webpack_require__(/*! semver */ \"./node_modules/semver/semver.js\");\nvar _plugins = __webpack_require__(/*! @babel/compat-data/plugins */ \"./node_modules/@babel/compat-data/plugins.js\");\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/helper-compilation-targets/lib/utils.js\");\nfunction targetsSupported(target, support) {\n const targetEnvironments = Object.keys(target);\n if (targetEnvironments.length === 0) {\n return false;\n }\n const unsupportedEnvironments = targetEnvironments.filter(environment => {\n const lowestImplementedVersion = (0, _utils.getLowestImplementedVersion)(support, environment);\n if (!lowestImplementedVersion) {\n return true;\n }\n const lowestTargetedVersion = target[environment];\n if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) {\n return false;\n }\n if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) {\n return true;\n }\n if (!_semver.valid(lowestTargetedVersion.toString())) {\n throw new Error(`Invalid version passed for target \"${environment}\": \"${lowestTargetedVersion}\". ` + \"Versions must be in semver format (major.minor.patch)\");\n }\n return _semver.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString());\n });\n return unsupportedEnvironments.length === 0;\n}\nfunction isRequired(name, targets, {\n compatData = _plugins,\n includes,\n excludes\n} = {}) {\n if (excludes != null && excludes.has(name)) return false;\n if (includes != null && includes.has(name)) return true;\n return !targetsSupported(targets, compatData[name]);\n}\nfunction filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) {\n const result = new Set();\n const options = {\n compatData: list,\n includes,\n excludes\n };\n for (const item in list) {\n if (isRequired(item, targets, options)) {\n result.add(item);\n } else if (pluginSyntaxMap) {\n const shippedProposalsSyntax = pluginSyntaxMap.get(item);\n if (shippedProposalsSyntax) {\n result.add(shippedProposalsSyntax);\n }\n }\n }\n defaultIncludes == null || defaultIncludes.forEach(item => !excludes.has(item) && result.add(item));\n defaultExcludes == null || defaultExcludes.forEach(item => !includes.has(item) && result.delete(item));\n return result;\n}\n\n//# sourceMappingURL=filter-items.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-compilation-targets/lib/filter-items.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-compilation-targets/lib/index.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/helper-compilation-targets/lib/index.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"TargetNames\", ({\n enumerable: true,\n get: function () {\n return _options.TargetNames;\n }\n}));\nexports[\"default\"] = getTargets;\nObject.defineProperty(exports, \"filterItems\", ({\n enumerable: true,\n get: function () {\n return _filterItems.default;\n }\n}));\nObject.defineProperty(exports, \"getInclusionReasons\", ({\n enumerable: true,\n get: function () {\n return _debug.getInclusionReasons;\n }\n}));\nexports.isBrowsersQueryValid = isBrowsersQueryValid;\nObject.defineProperty(exports, \"isRequired\", ({\n enumerable: true,\n get: function () {\n return _filterItems.isRequired;\n }\n}));\nObject.defineProperty(exports, \"prettifyTargets\", ({\n enumerable: true,\n get: function () {\n return _pretty.prettifyTargets;\n }\n}));\nObject.defineProperty(exports, \"unreleasedLabels\", ({\n enumerable: true,\n get: function () {\n return _targets.unreleasedLabels;\n }\n}));\nvar _browserslist = __webpack_require__(/*! browserslist */ \"./node_modules/browserslist/index.js\");\nvar _helperValidatorOption = __webpack_require__(/*! @babel/helper-validator-option */ \"./node_modules/@babel/helper-validator-option/lib/index.js\");\nvar _nativeModules = __webpack_require__(/*! @babel/compat-data/native-modules */ \"./node_modules/@babel/compat-data/native-modules.js\");\nvar _lruCache = __webpack_require__(/*! lru-cache */ \"./node_modules/lru-cache/index.js\");\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/helper-compilation-targets/lib/utils.js\");\nvar _targets = __webpack_require__(/*! ./targets.js */ \"./node_modules/@babel/helper-compilation-targets/lib/targets.js\");\nvar _options = __webpack_require__(/*! ./options.js */ \"./node_modules/@babel/helper-compilation-targets/lib/options.js\");\nvar _pretty = __webpack_require__(/*! ./pretty.js */ \"./node_modules/@babel/helper-compilation-targets/lib/pretty.js\");\nvar _debug = __webpack_require__(/*! ./debug.js */ \"./node_modules/@babel/helper-compilation-targets/lib/debug.js\");\nvar _filterItems = __webpack_require__(/*! ./filter-items.js */ \"./node_modules/@babel/helper-compilation-targets/lib/filter-items.js\");\nconst ESM_SUPPORT = _nativeModules[\"es6.module\"];\nconst v = new _helperValidatorOption.OptionValidator(\"@babel/helper-compilation-targets\");\nfunction validateTargetNames(targets) {\n const validTargets = Object.keys(_options.TargetNames);\n for (const target of Object.keys(targets)) {\n if (!(target in _options.TargetNames)) {\n throw new Error(v.formatMessage(`'${target}' is not a valid target\n- Did you mean '${(0, _helperValidatorOption.findSuggestion)(target, validTargets)}'?`));\n }\n }\n return targets;\n}\nfunction isBrowsersQueryValid(browsers) {\n return typeof browsers === \"string\" || Array.isArray(browsers) && browsers.every(b => typeof b === \"string\");\n}\nfunction validateBrowsers(browsers) {\n v.invariant(browsers === undefined || isBrowsersQueryValid(browsers), `'${String(browsers)}' is not a valid browserslist query`);\n return browsers;\n}\nfunction getLowestVersions(browsers) {\n return browsers.reduce((all, browser) => {\n const [browserName, browserVersion] = browser.split(\" \");\n const target = _targets.browserNameMap[browserName];\n if (!target) {\n return all;\n }\n try {\n const splitVersion = browserVersion.split(\"-\")[0].toLowerCase();\n const isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, target);\n if (!all[target]) {\n all[target] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion);\n return all;\n }\n const version = all[target];\n const isUnreleased = (0, _utils.isUnreleasedVersion)(version, target);\n if (isUnreleased && isSplitUnreleased) {\n all[target] = (0, _utils.getLowestUnreleased)(version, splitVersion, target);\n } else if (isUnreleased) {\n all[target] = (0, _utils.semverify)(splitVersion);\n } else if (!isUnreleased && !isSplitUnreleased) {\n const parsedBrowserVersion = (0, _utils.semverify)(splitVersion);\n all[target] = (0, _utils.semverMin)(version, parsedBrowserVersion);\n }\n } catch (_) {}\n return all;\n }, {});\n}\nfunction outputDecimalWarning(decimalTargets) {\n if (!decimalTargets.length) {\n return;\n }\n console.warn(\"Warning, the following targets are using a decimal version:\\n\");\n decimalTargets.forEach(({\n target,\n value\n }) => console.warn(` ${target}: ${value}`));\n console.warn(`\nWe recommend using a string for minor/patch versions to avoid numbers like 6.10\ngetting parsed as 6.1, which can lead to unexpected behavior.\n`);\n}\nfunction semverifyTarget(target, value) {\n try {\n return (0, _utils.semverify)(value);\n } catch (_) {\n throw new Error(v.formatMessage(`'${value}' is not a valid value for 'targets.${target}'.`));\n }\n}\nfunction nodeTargetParser(value) {\n const parsed = value === true || value === \"current\" ? process.versions.node : semverifyTarget(\"node\", value);\n return [\"node\", parsed];\n}\nfunction defaultTargetParser(target, value) {\n const version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value);\n return [target, version];\n}\nfunction generateTargets(inputTargets) {\n const input = Object.assign({}, inputTargets);\n delete input.esmodules;\n delete input.browsers;\n return input;\n}\nfunction resolveTargets(queries, env) {\n const resolved = _browserslist(queries, {\n mobileToDesktop: true,\n env\n });\n return getLowestVersions(resolved);\n}\nconst targetsCache = new _lruCache({\n max: 64\n});\nfunction resolveTargetsCached(queries, env) {\n const cacheKey = typeof queries === \"string\" ? queries : queries.join() + env;\n let cached = targetsCache.get(cacheKey);\n if (!cached) {\n cached = resolveTargets(queries, env);\n targetsCache.set(cacheKey, cached);\n }\n return Object.assign({}, cached);\n}\nfunction getTargets(inputTargets = {}, options = {}) {\n var _browsers, _browsers2;\n let {\n browsers,\n esmodules\n } = inputTargets;\n const {\n configPath = \".\",\n onBrowserslistConfigFound\n } = options;\n validateBrowsers(browsers);\n const input = generateTargets(inputTargets);\n let targets = validateTargetNames(input);\n const shouldParseBrowsers = !!browsers;\n const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0;\n const shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets;\n if (!browsers && shouldSearchForConfig) {\n browsers = process.env.BROWSERSLIST;\n if (!browsers) {\n const configFile = options.configFile || process.env.BROWSERSLIST_CONFIG || _browserslist.findConfigFile(configPath);\n if (configFile != null) {\n onBrowserslistConfigFound == null || onBrowserslistConfigFound(configFile);\n browsers = _browserslist.loadConfig({\n config: configFile,\n env: options.browserslistEnv\n });\n }\n }\n if (browsers == null) {\n {\n browsers = [];\n }\n }\n }\n if (esmodules && (esmodules !== \"intersect\" || !((_browsers = browsers) != null && _browsers.length))) {\n browsers = Object.keys(ESM_SUPPORT).map(browser => `${browser} >= ${ESM_SUPPORT[browser]}`).join(\", \");\n esmodules = false;\n }\n if ((_browsers2 = browsers) != null && _browsers2.length) {\n const queryBrowsers = resolveTargetsCached(browsers, options.browserslistEnv);\n if (esmodules === \"intersect\") {\n for (const browser of Object.keys(queryBrowsers)) {\n if (browser !== \"deno\" && browser !== \"ie\") {\n const esmSupportVersion = ESM_SUPPORT[browser === \"opera_mobile\" ? \"op_mob\" : browser];\n if (esmSupportVersion) {\n const version = queryBrowsers[browser];\n queryBrowsers[browser] = (0, _utils.getHighestUnreleased)(version, (0, _utils.semverify)(esmSupportVersion), browser);\n } else {\n delete queryBrowsers[browser];\n }\n } else {\n delete queryBrowsers[browser];\n }\n }\n }\n targets = Object.assign(queryBrowsers, targets);\n }\n const result = {};\n const decimalWarnings = [];\n for (const target of Object.keys(targets).sort()) {\n const value = targets[target];\n if (typeof value === \"number\" && value % 1 !== 0) {\n decimalWarnings.push({\n target,\n value\n });\n }\n const [parsedTarget, parsedValue] = target === \"node\" ? nodeTargetParser(value) : defaultTargetParser(target, value);\n if (parsedValue) {\n result[parsedTarget] = parsedValue;\n }\n }\n outputDecimalWarning(decimalWarnings);\n return result;\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-compilation-targets/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-compilation-targets/lib/options.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/helper-compilation-targets/lib/options.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TargetNames = void 0;\nconst TargetNames = exports.TargetNames = {\n node: \"node\",\n deno: \"deno\",\n chrome: \"chrome\",\n opera: \"opera\",\n edge: \"edge\",\n firefox: \"firefox\",\n safari: \"safari\",\n ie: \"ie\",\n ios: \"ios\",\n android: \"android\",\n electron: \"electron\",\n samsung: \"samsung\",\n rhino: \"rhino\",\n opera_mobile: \"opera_mobile\"\n};\n\n//# sourceMappingURL=options.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-compilation-targets/lib/options.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-compilation-targets/lib/pretty.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/helper-compilation-targets/lib/pretty.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.prettifyTargets = prettifyTargets;\nexports.prettifyVersion = prettifyVersion;\nvar _semver = __webpack_require__(/*! semver */ \"./node_modules/semver/semver.js\");\nvar _targets = __webpack_require__(/*! ./targets.js */ \"./node_modules/@babel/helper-compilation-targets/lib/targets.js\");\nfunction prettifyVersion(version) {\n if (typeof version !== \"string\") {\n return version;\n }\n const {\n major,\n minor,\n patch\n } = _semver.parse(version);\n const parts = [major];\n if (minor || patch) {\n parts.push(minor);\n }\n if (patch) {\n parts.push(patch);\n }\n return parts.join(\".\");\n}\nfunction prettifyTargets(targets) {\n return Object.keys(targets).reduce((results, target) => {\n let value = targets[target];\n const unreleasedLabel = _targets.unreleasedLabels[target];\n if (typeof value === \"string\" && unreleasedLabel !== value) {\n value = prettifyVersion(value);\n }\n results[target] = value;\n return results;\n }, {});\n}\n\n//# sourceMappingURL=pretty.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-compilation-targets/lib/pretty.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-compilation-targets/lib/targets.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/helper-compilation-targets/lib/targets.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.unreleasedLabels = exports.browserNameMap = void 0;\nconst unreleasedLabels = exports.unreleasedLabels = {\n safari: \"tp\"\n};\nconst browserNameMap = exports.browserNameMap = {\n and_chr: \"chrome\",\n and_ff: \"firefox\",\n android: \"android\",\n chrome: \"chrome\",\n edge: \"edge\",\n firefox: \"firefox\",\n ie: \"ie\",\n ie_mob: \"ie\",\n ios_saf: \"ios\",\n node: \"node\",\n deno: \"deno\",\n op_mob: \"opera_mobile\",\n opera: \"opera\",\n safari: \"safari\",\n samsung: \"samsung\"\n};\n\n//# sourceMappingURL=targets.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-compilation-targets/lib/targets.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-compilation-targets/lib/utils.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/helper-compilation-targets/lib/utils.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getHighestUnreleased = getHighestUnreleased;\nexports.getLowestImplementedVersion = getLowestImplementedVersion;\nexports.getLowestUnreleased = getLowestUnreleased;\nexports.isUnreleasedVersion = isUnreleasedVersion;\nexports.semverMin = semverMin;\nexports.semverify = semverify;\nvar _semver = __webpack_require__(/*! semver */ \"./node_modules/semver/semver.js\");\nvar _helperValidatorOption = __webpack_require__(/*! @babel/helper-validator-option */ \"./node_modules/@babel/helper-validator-option/lib/index.js\");\nvar _targets = __webpack_require__(/*! ./targets.js */ \"./node_modules/@babel/helper-compilation-targets/lib/targets.js\");\nconst versionRegExp = /^(?:\\d+|\\d(?:\\d?[^\\d\\n\\r\\u2028\\u2029]\\d+|\\d{2,}(?:[^\\d\\n\\r\\u2028\\u2029]\\d+)?))$/;\nconst v = new _helperValidatorOption.OptionValidator(\"@babel/helper-compilation-targets\");\nfunction semverMin(first, second) {\n return first && _semver.lt(first, second) ? first : second;\n}\nfunction semverify(version) {\n if (typeof version === \"string\" && _semver.valid(version)) {\n return version;\n }\n v.invariant(typeof version === \"number\" || typeof version === \"string\" && versionRegExp.test(version), `'${version}' is not a valid version`);\n version = version.toString();\n let pos = 0;\n let num = 0;\n while ((pos = version.indexOf(\".\", pos + 1)) > 0) {\n num++;\n }\n return version + \".0\".repeat(2 - num);\n}\nfunction isUnreleasedVersion(version, env) {\n const unreleasedLabel = _targets.unreleasedLabels[env];\n return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase();\n}\nfunction getLowestUnreleased(a, b, env) {\n const unreleasedLabel = _targets.unreleasedLabels[env];\n if (a === unreleasedLabel) {\n return b;\n }\n if (b === unreleasedLabel) {\n return a;\n }\n return semverMin(a, b);\n}\nfunction getHighestUnreleased(a, b, env) {\n return getLowestUnreleased(a, b, env) === a ? b : a;\n}\nfunction getLowestImplementedVersion(plugin, environment) {\n const result = plugin[environment];\n if (!result && environment === \"android\") {\n return plugin.chrome;\n }\n return result;\n}\n\n//# sourceMappingURL=utils.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-compilation-targets/lib/utils.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-imports/lib/import-builder.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-imports/lib/import-builder.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _assert = __webpack_require__(/*! assert */ \"?558c\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n callExpression,\n cloneNode,\n expressionStatement,\n identifier,\n importDeclaration,\n importDefaultSpecifier,\n importNamespaceSpecifier,\n importSpecifier,\n memberExpression,\n stringLiteral,\n variableDeclaration,\n variableDeclarator\n} = _t;\nclass ImportBuilder {\n constructor(importedSource, scope, hub) {\n this._statements = [];\n this._resultName = null;\n this._importedSource = void 0;\n this._scope = scope;\n this._hub = hub;\n this._importedSource = importedSource;\n }\n done() {\n return {\n statements: this._statements,\n resultName: this._resultName\n };\n }\n import() {\n this._statements.push(importDeclaration([], stringLiteral(this._importedSource)));\n return this;\n }\n require() {\n this._statements.push(expressionStatement(callExpression(identifier(\"require\"), [stringLiteral(this._importedSource)])));\n return this;\n }\n namespace(name = \"namespace\") {\n const local = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n _assert(statement.type === \"ImportDeclaration\");\n _assert(statement.specifiers.length === 0);\n statement.specifiers = [importNamespaceSpecifier(local)];\n this._resultName = cloneNode(local);\n return this;\n }\n default(name) {\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n _assert(statement.type === \"ImportDeclaration\");\n _assert(statement.specifiers.length === 0);\n statement.specifiers = [importDefaultSpecifier(id)];\n this._resultName = cloneNode(id);\n return this;\n }\n named(name, importName) {\n if (importName === \"default\") return this.default(name);\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n _assert(statement.type === \"ImportDeclaration\");\n _assert(statement.specifiers.length === 0);\n statement.specifiers = [importSpecifier(id, identifier(importName))];\n this._resultName = cloneNode(id);\n return this;\n }\n var(name) {\n const id = this._scope.generateUidIdentifier(name);\n let statement = this._statements[this._statements.length - 1];\n if (statement.type !== \"ExpressionStatement\") {\n _assert(this._resultName);\n statement = expressionStatement(this._resultName);\n this._statements.push(statement);\n }\n this._statements[this._statements.length - 1] = variableDeclaration(\"var\", [variableDeclarator(id, statement.expression)]);\n this._resultName = cloneNode(id);\n return this;\n }\n defaultInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireDefault\"));\n }\n wildcardInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireWildcard\"));\n }\n _interop(callee) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = callExpression(callee, [statement.expression]);\n } else if (statement.type === \"VariableDeclaration\") {\n _assert(statement.declarations.length === 1);\n statement.declarations[0].init = callExpression(callee, [statement.declarations[0].init]);\n } else {\n _assert.fail(\"Unexpected type.\");\n }\n return this;\n }\n prop(name) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = memberExpression(statement.expression, identifier(name));\n } else if (statement.type === \"VariableDeclaration\") {\n _assert(statement.declarations.length === 1);\n statement.declarations[0].init = memberExpression(statement.declarations[0].init, identifier(name));\n } else {\n _assert.fail(\"Unexpected type:\" + statement.type);\n }\n return this;\n }\n read(name) {\n this._resultName = memberExpression(this._resultName, identifier(name));\n }\n}\nexports[\"default\"] = ImportBuilder;\n\n//# sourceMappingURL=import-builder.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-imports/lib/import-builder.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-imports/lib/import-injector.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-imports/lib/import-injector.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _assert = __webpack_require__(/*! assert */ \"?558c\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _importBuilder = __webpack_require__(/*! ./import-builder.js */ \"./node_modules/@babel/helper-module-imports/lib/import-builder.js\");\nvar _isModule = __webpack_require__(/*! ./is-module.js */ \"./node_modules/@babel/helper-module-imports/lib/is-module.js\");\nconst {\n identifier,\n importSpecifier,\n numericLiteral,\n sequenceExpression,\n isImportDeclaration\n} = _t;\nclass ImportInjector {\n constructor(path, importedSource, opts) {\n this._defaultOpts = {\n importedSource: null,\n importedType: \"commonjs\",\n importedInterop: \"babel\",\n importingInterop: \"babel\",\n ensureLiveReference: false,\n ensureNoContext: false,\n importPosition: \"before\"\n };\n const programPath = path.find(p => p.isProgram());\n this._programPath = programPath;\n this._programScope = programPath.scope;\n this._hub = programPath.hub;\n this._defaultOpts = this._applyDefaults(importedSource, opts, true);\n }\n addDefault(importedSourceIn, opts) {\n return this.addNamed(\"default\", importedSourceIn, opts);\n }\n addNamed(importName, importedSourceIn, opts) {\n _assert(typeof importName === \"string\");\n return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName);\n }\n addNamespace(importedSourceIn, opts) {\n return this._generateImport(this._applyDefaults(importedSourceIn, opts), null);\n }\n addSideEffect(importedSourceIn, opts) {\n return this._generateImport(this._applyDefaults(importedSourceIn, opts), void 0);\n }\n _applyDefaults(importedSource, opts, isInit = false) {\n let newOpts;\n if (typeof importedSource === \"string\") {\n newOpts = Object.assign({}, this._defaultOpts, {\n importedSource\n }, opts);\n } else {\n _assert(!opts, \"Unexpected secondary arguments.\");\n newOpts = Object.assign({}, this._defaultOpts, importedSource);\n }\n if (!isInit && opts) {\n if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;\n if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;\n }\n return newOpts;\n }\n _generateImport(opts, importName) {\n const isDefault = importName === \"default\";\n const isNamed = !!importName && !isDefault;\n const isNamespace = importName === null;\n const {\n importedSource,\n importedType,\n importedInterop,\n importingInterop,\n ensureLiveReference,\n ensureNoContext,\n nameHint,\n importPosition,\n blockHoist\n } = opts;\n let name = nameHint || importName;\n const isMod = (0, _isModule.default)(this._programPath);\n const isModuleForNode = isMod && importingInterop === \"node\";\n const isModuleForBabel = isMod && importingInterop === \"babel\";\n if (importPosition === \"after\" && !isMod) {\n throw new Error(`\"importPosition\": \"after\" is only supported in modules`);\n }\n const builder = new _importBuilder.default(importedSource, this._programScope, this._hub);\n if (importedType === \"es6\") {\n if (!isModuleForNode && !isModuleForBabel) {\n throw new Error(\"Cannot import an ES6 module from CommonJS\");\n }\n builder.import();\n if (isNamespace) {\n builder.namespace(nameHint || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else if (importedType !== \"commonjs\") {\n throw new Error(`Unexpected interopType \"${importedType}\"`);\n } else if (importedInterop === \"babel\") {\n if (isModuleForNode) {\n name = name !== \"default\" ? name : importedSource;\n const es6Default = `${importedSource}$es6Default`;\n builder.import();\n if (isNamespace) {\n builder.default(es6Default).var(name || importedSource).wildcardInterop();\n } else if (isDefault) {\n if (ensureLiveReference) {\n builder.default(es6Default).var(name || importedSource).defaultInterop().read(\"default\");\n } else {\n builder.default(es6Default).var(name).defaultInterop().prop(importName);\n }\n } else if (isNamed) {\n builder.default(es6Default).read(importName);\n }\n } else if (isModuleForBabel) {\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource).wildcardInterop();\n } else if ((isDefault || isNamed) && ensureLiveReference) {\n if (isDefault) {\n name = name !== \"default\" ? name : importedSource;\n builder.var(name).read(importName);\n builder.defaultInterop();\n } else {\n builder.var(importedSource).read(importName);\n }\n } else if (isDefault) {\n builder.var(name).defaultInterop().prop(importName);\n } else if (isNamed) {\n builder.var(name).prop(importName);\n }\n }\n } else if (importedInterop === \"compiled\") {\n if (isModuleForNode) {\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault || isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.prop(importName).var(name);\n }\n }\n }\n } else if (importedInterop === \"uncompiled\") {\n if (isDefault && ensureLiveReference) {\n throw new Error(\"No live reference for commonjs default\");\n }\n if (isModuleForNode) {\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.named(name, importName);\n }\n } else {\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault) {\n builder.var(name);\n } else if (isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.var(name).prop(importName);\n }\n }\n }\n } else {\n throw new Error(`Unknown importedInterop \"${importedInterop}\".`);\n }\n const {\n statements,\n resultName\n } = builder.done();\n this._insertStatements(statements, importPosition, blockHoist);\n if ((isDefault || isNamed) && ensureNoContext && resultName.type !== \"Identifier\") {\n return sequenceExpression([numericLiteral(0), resultName]);\n }\n return resultName;\n }\n _insertStatements(statements, importPosition = \"before\", blockHoist = 3) {\n if (importPosition === \"after\") {\n if (this._insertStatementsAfter(statements)) return;\n } else {\n if (this._insertStatementsBefore(statements, blockHoist)) return;\n }\n this._programPath.unshiftContainer(\"body\", statements);\n }\n _insertStatementsBefore(statements, blockHoist) {\n if (statements.length === 1 && isImportDeclaration(statements[0]) && isValueImport(statements[0])) {\n const firstImportDecl = this._programPath.get(\"body\").find(p => {\n return p.isImportDeclaration() && isValueImport(p.node);\n });\n if ((firstImportDecl == null ? void 0 : firstImportDecl.node.source.value) === statements[0].source.value && maybeAppendImportSpecifiers(firstImportDecl.node, statements[0])) {\n return true;\n }\n }\n statements.forEach(node => {\n node._blockHoist = blockHoist;\n });\n const targetPath = this._programPath.get(\"body\").find(p => {\n const val = p.node._blockHoist;\n return Number.isFinite(val) && val < 4;\n });\n if (targetPath) {\n targetPath.insertBefore(statements);\n return true;\n }\n return false;\n }\n _insertStatementsAfter(statements) {\n const statementsSet = new Set(statements);\n const importDeclarations = new Map();\n for (const statement of statements) {\n if (isImportDeclaration(statement) && isValueImport(statement)) {\n const source = statement.source.value;\n if (!importDeclarations.has(source)) importDeclarations.set(source, []);\n importDeclarations.get(source).push(statement);\n }\n }\n let lastImportPath = null;\n for (const bodyStmt of this._programPath.get(\"body\")) {\n if (bodyStmt.isImportDeclaration() && isValueImport(bodyStmt.node)) {\n lastImportPath = bodyStmt;\n const source = bodyStmt.node.source.value;\n const newImports = importDeclarations.get(source);\n if (!newImports) continue;\n for (const decl of newImports) {\n if (!statementsSet.has(decl)) continue;\n if (maybeAppendImportSpecifiers(bodyStmt.node, decl)) {\n statementsSet.delete(decl);\n }\n }\n }\n }\n if (statementsSet.size === 0) return true;\n if (lastImportPath) lastImportPath.insertAfter(Array.from(statementsSet));\n return !!lastImportPath;\n }\n}\nexports[\"default\"] = ImportInjector;\nfunction isValueImport(node) {\n return node.importKind !== \"type\" && node.importKind !== \"typeof\";\n}\nfunction hasNamespaceImport(node) {\n return node.specifiers.length === 1 && node.specifiers[0].type === \"ImportNamespaceSpecifier\" || node.specifiers.length === 2 && node.specifiers[1].type === \"ImportNamespaceSpecifier\";\n}\nfunction hasDefaultImport(node) {\n return node.specifiers.length > 0 && node.specifiers[0].type === \"ImportDefaultSpecifier\";\n}\nfunction maybeAppendImportSpecifiers(target, source) {\n if (!target.specifiers.length) {\n target.specifiers = source.specifiers;\n return true;\n }\n if (!source.specifiers.length) return true;\n if (hasNamespaceImport(target) || hasNamespaceImport(source)) return false;\n if (hasDefaultImport(source)) {\n if (hasDefaultImport(target)) {\n source.specifiers[0] = importSpecifier(source.specifiers[0].local, identifier(\"default\"));\n } else {\n target.specifiers.unshift(source.specifiers.shift());\n }\n }\n target.specifiers.push(...source.specifiers);\n return true;\n}\n\n//# sourceMappingURL=import-injector.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-imports/lib/import-injector.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-imports/lib/index.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/helper-module-imports/lib/index.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImportInjector\", ({\n enumerable: true,\n get: function () {\n return _importInjector.default;\n }\n}));\nexports.addDefault = addDefault;\nexports.addNamed = addNamed;\nexports.addNamespace = addNamespace;\nexports.addSideEffect = addSideEffect;\nObject.defineProperty(exports, \"isModule\", ({\n enumerable: true,\n get: function () {\n return _isModule.default;\n }\n}));\nvar _importInjector = __webpack_require__(/*! ./import-injector.js */ \"./node_modules/@babel/helper-module-imports/lib/import-injector.js\");\nvar _isModule = __webpack_require__(/*! ./is-module.js */ \"./node_modules/@babel/helper-module-imports/lib/is-module.js\");\nfunction addDefault(path, importedSource, opts) {\n return new _importInjector.default(path).addDefault(importedSource, opts);\n}\nfunction addNamed(path, name, importedSource, opts) {\n return new _importInjector.default(path).addNamed(name, importedSource, opts);\n}\nfunction addNamespace(path, importedSource, opts) {\n return new _importInjector.default(path).addNamespace(importedSource, opts);\n}\nfunction addSideEffect(path, importedSource, opts) {\n return new _importInjector.default(path).addSideEffect(importedSource, opts);\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-imports/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-imports/lib/is-module.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/helper-module-imports/lib/is-module.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isModule;\nfunction isModule(path) {\n return path.node.sourceType === \"module\";\n}\n\n//# sourceMappingURL=is-module.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-imports/lib/is-module.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-transforms/lib/dynamic-import.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-transforms/lib/dynamic-import.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.buildDynamicImport = buildDynamicImport;\nvar _core = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\n{\n exports.getDynamicImportSource = function getDynamicImportSource(node) {\n const [source] = node.arguments;\n return _core.types.isStringLiteral(source) || _core.types.isTemplateLiteral(source) ? source : _core.template.expression.ast`\\`\\${${source}}\\``;\n };\n}\nfunction buildDynamicImport(node, deferToThen, wrapWithPromise, builder) {\n const specifier = _core.types.isCallExpression(node) ? node.arguments[0] : node.source;\n if (_core.types.isStringLiteral(specifier) || _core.types.isTemplateLiteral(specifier) && specifier.quasis.length === 0) {\n if (deferToThen) {\n return _core.template.expression.ast`\n Promise.resolve().then(() => ${builder(specifier)})\n `;\n } else return builder(specifier);\n }\n const specifierToString = _core.types.isTemplateLiteral(specifier) ? _core.types.identifier(\"specifier\") : _core.types.templateLiteral([_core.types.templateElement({\n raw: \"\"\n }), _core.types.templateElement({\n raw: \"\"\n })], [_core.types.identifier(\"specifier\")]);\n if (deferToThen) {\n return _core.template.expression.ast`\n (specifier =>\n new Promise(r => r(${specifierToString}))\n .then(s => ${builder(_core.types.identifier(\"s\"))})\n )(${specifier})\n `;\n } else if (wrapWithPromise) {\n return _core.template.expression.ast`\n (specifier =>\n new Promise(r => r(${builder(specifierToString)}))\n )(${specifier})\n `;\n } else {\n return _core.template.expression.ast`\n (specifier => ${builder(specifierToString)})(${specifier})\n `;\n }\n}\n\n//# sourceMappingURL=dynamic-import.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-transforms/lib/dynamic-import.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-transforms/lib/get-module-name.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-transforms/lib/get-module-name.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = getModuleName;\n{\n const originalGetModuleName = getModuleName;\n exports[\"default\"] = getModuleName = function getModuleName(rootOpts, pluginOpts) {\n var _pluginOpts$moduleId, _pluginOpts$moduleIds, _pluginOpts$getModule, _pluginOpts$moduleRoo;\n return originalGetModuleName(rootOpts, {\n moduleId: (_pluginOpts$moduleId = pluginOpts.moduleId) != null ? _pluginOpts$moduleId : rootOpts.moduleId,\n moduleIds: (_pluginOpts$moduleIds = pluginOpts.moduleIds) != null ? _pluginOpts$moduleIds : rootOpts.moduleIds,\n getModuleId: (_pluginOpts$getModule = pluginOpts.getModuleId) != null ? _pluginOpts$getModule : rootOpts.getModuleId,\n moduleRoot: (_pluginOpts$moduleRoo = pluginOpts.moduleRoot) != null ? _pluginOpts$moduleRoo : rootOpts.moduleRoot\n });\n };\n}\nfunction getModuleName(rootOpts, pluginOpts) {\n const {\n filename,\n filenameRelative = filename,\n sourceRoot = pluginOpts.moduleRoot\n } = rootOpts;\n const {\n moduleId,\n moduleIds = !!moduleId,\n getModuleId,\n moduleRoot = sourceRoot\n } = pluginOpts;\n if (!moduleIds) return null;\n if (moduleId != null && !getModuleId) {\n return moduleId;\n }\n let moduleName = moduleRoot != null ? moduleRoot + \"/\" : \"\";\n if (filenameRelative) {\n const sourceRootReplacer = sourceRoot != null ? new RegExp(\"^\" + sourceRoot + \"/?\") : \"\";\n moduleName += filenameRelative.replace(sourceRootReplacer, \"\").replace(/\\.\\w*$/, \"\");\n }\n moduleName = moduleName.replace(/\\\\/g, \"/\");\n if (getModuleId) {\n return getModuleId(moduleName) || moduleName;\n } else {\n return moduleName;\n }\n}\n\n//# sourceMappingURL=get-module-name.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-transforms/lib/get-module-name.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-transforms/lib/index.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/helper-module-transforms/lib/index.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"buildDynamicImport\", ({\n enumerable: true,\n get: function () {\n return _dynamicImport.buildDynamicImport;\n }\n}));\nexports.buildNamespaceInitStatements = buildNamespaceInitStatements;\nexports.ensureStatementsHoisted = ensureStatementsHoisted;\nObject.defineProperty(exports, \"getModuleName\", ({\n enumerable: true,\n get: function () {\n return _getModuleName.default;\n }\n}));\nObject.defineProperty(exports, \"hasExports\", ({\n enumerable: true,\n get: function () {\n return _normalizeAndLoadMetadata.hasExports;\n }\n}));\nObject.defineProperty(exports, \"isModule\", ({\n enumerable: true,\n get: function () {\n return _helperModuleImports.isModule;\n }\n}));\nObject.defineProperty(exports, \"isSideEffectImport\", ({\n enumerable: true,\n get: function () {\n return _normalizeAndLoadMetadata.isSideEffectImport;\n }\n}));\nexports.rewriteModuleStatementsAndPrepareHeader = rewriteModuleStatementsAndPrepareHeader;\nObject.defineProperty(exports, \"rewriteThis\", ({\n enumerable: true,\n get: function () {\n return _rewriteThis.default;\n }\n}));\nexports.wrapInterop = wrapInterop;\nvar _assert = __webpack_require__(/*! assert */ \"?06e8\");\nvar _core = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\nvar _helperModuleImports = __webpack_require__(/*! @babel/helper-module-imports */ \"./node_modules/@babel/helper-module-imports/lib/index.js\");\nvar _rewriteThis = __webpack_require__(/*! ./rewrite-this.js */ \"./node_modules/@babel/helper-module-transforms/lib/rewrite-this.js\");\nvar _rewriteLiveReferences = __webpack_require__(/*! ./rewrite-live-references.js */ \"./node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js\");\nvar _normalizeAndLoadMetadata = __webpack_require__(/*! ./normalize-and-load-metadata.js */ \"./node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js\");\nvar Lazy = __webpack_require__(/*! ./lazy-modules.js */ \"./node_modules/@babel/helper-module-transforms/lib/lazy-modules.js\");\nvar _dynamicImport = __webpack_require__(/*! ./dynamic-import.js */ \"./node_modules/@babel/helper-module-transforms/lib/dynamic-import.js\");\nvar _getModuleName = __webpack_require__(/*! ./get-module-name.js */ \"./node_modules/@babel/helper-module-transforms/lib/get-module-name.js\");\n{\n exports.getDynamicImportSource = __webpack_require__(/*! ./dynamic-import */ \"./node_modules/@babel/helper-module-transforms/lib/dynamic-import.js\").getDynamicImportSource;\n}\nfunction rewriteModuleStatementsAndPrepareHeader(path, {\n exportName,\n strict,\n allowTopLevelThis,\n strictMode,\n noInterop,\n importInterop = noInterop ? \"none\" : \"babel\",\n lazy,\n getWrapperPayload = Lazy.toGetWrapperPayload(lazy != null ? lazy : false),\n wrapReference = Lazy.wrapReference,\n esNamespaceOnly,\n filename,\n constantReexports = arguments[1].loose,\n enumerableModuleMeta = arguments[1].loose,\n noIncompleteNsImportDetection\n}) {\n (0, _normalizeAndLoadMetadata.validateImportInteropOption)(importInterop);\n _assert((0, _helperModuleImports.isModule)(path), \"Cannot process module statements in a script\");\n path.node.sourceType = \"script\";\n const meta = (0, _normalizeAndLoadMetadata.default)(path, exportName, {\n importInterop,\n initializeReexports: constantReexports,\n getWrapperPayload,\n esNamespaceOnly,\n filename\n });\n if (!allowTopLevelThis) {\n (0, _rewriteThis.default)(path);\n }\n (0, _rewriteLiveReferences.default)(path, meta, wrapReference);\n if (strictMode !== false) {\n const hasStrict = path.node.directives.some(directive => {\n return directive.value.value === \"use strict\";\n });\n if (!hasStrict) {\n path.unshiftContainer(\"directives\", _core.types.directive(_core.types.directiveLiteral(\"use strict\")));\n }\n }\n const headers = [];\n if ((0, _normalizeAndLoadMetadata.hasExports)(meta) && !strict) {\n headers.push(buildESModuleHeader(meta, enumerableModuleMeta));\n }\n const nameList = buildExportNameListDeclaration(path, meta);\n if (nameList) {\n meta.exportNameListName = nameList.name;\n headers.push(nameList.statement);\n }\n headers.push(...buildExportInitializationStatements(path, meta, wrapReference, constantReexports, noIncompleteNsImportDetection));\n return {\n meta,\n headers\n };\n}\nfunction ensureStatementsHoisted(statements) {\n statements.forEach(header => {\n header._blockHoist = 3;\n });\n}\nfunction wrapInterop(programPath, expr, type) {\n if (type === \"none\") {\n return null;\n }\n if (type === \"node-namespace\") {\n return _core.types.callExpression(programPath.hub.addHelper(\"interopRequireWildcard\"), [expr, _core.types.booleanLiteral(true)]);\n } else if (type === \"node-default\") {\n return null;\n }\n let helper;\n if (type === \"default\") {\n helper = \"interopRequireDefault\";\n } else if (type === \"namespace\") {\n helper = \"interopRequireWildcard\";\n } else {\n throw new Error(`Unknown interop: ${type}`);\n }\n return _core.types.callExpression(programPath.hub.addHelper(helper), [expr]);\n}\nfunction buildNamespaceInitStatements(metadata, sourceMetadata, constantReexports = false, wrapReference = Lazy.wrapReference) {\n var _wrapReference;\n const statements = [];\n const srcNamespaceId = _core.types.identifier(sourceMetadata.name);\n for (const localName of sourceMetadata.importsNamespace) {\n if (localName === sourceMetadata.name) continue;\n statements.push(_core.template.statement`var NAME = SOURCE;`({\n NAME: localName,\n SOURCE: _core.types.cloneNode(srcNamespaceId)\n }));\n }\n const srcNamespace = (_wrapReference = wrapReference(srcNamespaceId, sourceMetadata.wrap)) != null ? _wrapReference : srcNamespaceId;\n if (constantReexports) {\n statements.push(...buildReexportsFromMeta(metadata, sourceMetadata, true, wrapReference));\n }\n for (const exportName of sourceMetadata.reexportNamespace) {\n statements.push((!_core.types.isIdentifier(srcNamespace) ? _core.template.statement`\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n ` : _core.template.statement`EXPORTS.NAME = NAMESPACE;`)({\n EXPORTS: metadata.exportName,\n NAME: exportName,\n NAMESPACE: _core.types.cloneNode(srcNamespace)\n }));\n }\n if (sourceMetadata.reexportAll) {\n const statement = buildNamespaceReexport(metadata, _core.types.cloneNode(srcNamespace), constantReexports);\n statement.loc = sourceMetadata.reexportAll.loc;\n statements.push(statement);\n }\n return statements;\n}\nconst ReexportTemplate = {\n constant: ({\n exports,\n exportName,\n namespaceImport\n }) => _core.template.statement.ast`\n ${exports}.${exportName} = ${namespaceImport};\n `,\n constantComputed: ({\n exports,\n exportName,\n namespaceImport\n }) => _core.template.statement.ast`\n ${exports}[\"${exportName}\"] = ${namespaceImport};\n `,\n spec: ({\n exports,\n exportName,\n namespaceImport\n }) => _core.template.statement.ast`\n Object.defineProperty(${exports}, \"${exportName}\", {\n enumerable: true,\n get: function() {\n return ${namespaceImport};\n },\n });\n `\n};\nfunction buildReexportsFromMeta(meta, metadata, constantReexports, wrapReference) {\n var _wrapReference2;\n let namespace = _core.types.identifier(metadata.name);\n namespace = (_wrapReference2 = wrapReference(namespace, metadata.wrap)) != null ? _wrapReference2 : namespace;\n const {\n stringSpecifiers\n } = meta;\n return Array.from(metadata.reexports, ([exportName, importName]) => {\n let namespaceImport = _core.types.cloneNode(namespace);\n if (importName === \"default\" && metadata.interop === \"node-default\") {} else if (stringSpecifiers.has(importName)) {\n namespaceImport = _core.types.memberExpression(namespaceImport, _core.types.stringLiteral(importName), true);\n } else {\n namespaceImport = _core.types.memberExpression(namespaceImport, _core.types.identifier(importName));\n }\n const astNodes = {\n exports: meta.exportName,\n exportName,\n namespaceImport\n };\n if (constantReexports || _core.types.isIdentifier(namespaceImport)) {\n if (stringSpecifiers.has(exportName)) {\n return ReexportTemplate.constantComputed(astNodes);\n } else {\n return ReexportTemplate.constant(astNodes);\n }\n } else {\n return ReexportTemplate.spec(astNodes);\n }\n });\n}\nfunction buildESModuleHeader(metadata, enumerableModuleMeta = false) {\n return (enumerableModuleMeta ? _core.template.statement`\n EXPORTS.__esModule = true;\n ` : _core.template.statement`\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n `)({\n EXPORTS: metadata.exportName\n });\n}\nfunction buildNamespaceReexport(metadata, namespace, constantReexports) {\n return (constantReexports ? _core.template.statement`\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n ` : _core.template.statement`\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n `)({\n NAMESPACE: namespace,\n EXPORTS: metadata.exportName,\n VERIFY_NAME_LIST: metadata.exportNameListName ? (0, _core.template)`\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n `({\n EXPORTS_LIST: metadata.exportNameListName\n }) : null\n });\n}\nfunction buildExportNameListDeclaration(programPath, metadata) {\n const exportedVars = Object.create(null);\n for (const data of metadata.local.values()) {\n for (const name of data.names) {\n exportedVars[name] = true;\n }\n }\n let hasReexport = false;\n for (const data of metadata.source.values()) {\n for (const exportName of data.reexports.keys()) {\n exportedVars[exportName] = true;\n }\n for (const exportName of data.reexportNamespace) {\n exportedVars[exportName] = true;\n }\n hasReexport = hasReexport || !!data.reexportAll;\n }\n if (!hasReexport || Object.keys(exportedVars).length === 0) return null;\n const name = programPath.scope.generateUidIdentifier(\"exportNames\");\n delete exportedVars.default;\n return {\n name: name.name,\n statement: _core.types.variableDeclaration(\"var\", [_core.types.variableDeclarator(name, _core.types.valueToNode(exportedVars))])\n };\n}\nfunction buildExportInitializationStatements(programPath, metadata, wrapReference, constantReexports = false, noIncompleteNsImportDetection = false) {\n const initStatements = [];\n for (const [localName, data] of metadata.local) {\n if (data.kind === \"import\") {} else if (data.kind === \"hoisted\") {\n initStatements.push([data.names[0], buildInitStatement(metadata, data.names, _core.types.identifier(localName))]);\n } else if (!noIncompleteNsImportDetection) {\n for (const exportName of data.names) {\n initStatements.push([exportName, null]);\n }\n }\n }\n for (const data of metadata.source.values()) {\n if (!constantReexports) {\n const reexportsStatements = buildReexportsFromMeta(metadata, data, false, wrapReference);\n const reexports = [...data.reexports.keys()];\n for (let i = 0; i < reexportsStatements.length; i++) {\n initStatements.push([reexports[i], reexportsStatements[i]]);\n }\n }\n if (!noIncompleteNsImportDetection) {\n for (const exportName of data.reexportNamespace) {\n initStatements.push([exportName, null]);\n }\n }\n }\n initStatements.sort(([a], [b]) => {\n if (a < b) return -1;\n if (b < a) return 1;\n return 0;\n });\n const results = [];\n if (noIncompleteNsImportDetection) {\n for (const [, initStatement] of initStatements) {\n results.push(initStatement);\n }\n } else {\n const chunkSize = 100;\n for (let i = 0; i < initStatements.length; i += chunkSize) {\n let uninitializedExportNames = [];\n for (let j = 0; j < chunkSize && i + j < initStatements.length; j++) {\n const [exportName, initStatement] = initStatements[i + j];\n if (initStatement !== null) {\n if (uninitializedExportNames.length > 0) {\n results.push(buildInitStatement(metadata, uninitializedExportNames, programPath.scope.buildUndefinedNode()));\n uninitializedExportNames = [];\n }\n results.push(initStatement);\n } else {\n uninitializedExportNames.push(exportName);\n }\n }\n if (uninitializedExportNames.length > 0) {\n results.push(buildInitStatement(metadata, uninitializedExportNames, programPath.scope.buildUndefinedNode()));\n }\n }\n }\n return results;\n}\nconst InitTemplate = {\n computed: ({\n exports,\n name,\n value\n }) => _core.template.expression.ast`${exports}[\"${name}\"] = ${value}`,\n default: ({\n exports,\n name,\n value\n }) => _core.template.expression.ast`${exports}.${name} = ${value}`,\n define: ({\n exports,\n name,\n value\n }) => _core.template.expression.ast`\n Object.defineProperty(${exports}, \"${name}\", {\n enumerable: true,\n value: void 0,\n writable: true\n })[\"${name}\"] = ${value}`\n};\nfunction buildInitStatement(metadata, exportNames, initExpr) {\n const {\n stringSpecifiers,\n exportName: exports\n } = metadata;\n return _core.types.expressionStatement(exportNames.reduce((value, name) => {\n const params = {\n exports,\n name,\n value\n };\n if (name === \"__proto__\") {\n return InitTemplate.define(params);\n }\n if (stringSpecifiers.has(name)) {\n return InitTemplate.computed(params);\n }\n return InitTemplate.default(params);\n }, initExpr));\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-transforms/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-transforms/lib/lazy-modules.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-transforms/lib/lazy-modules.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.toGetWrapperPayload = toGetWrapperPayload;\nexports.wrapReference = wrapReference;\nvar _core = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\nvar _normalizeAndLoadMetadata = __webpack_require__(/*! ./normalize-and-load-metadata.js */ \"./node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js\");\nfunction toGetWrapperPayload(lazy) {\n return (source, metadata) => {\n if (lazy === false) return null;\n if ((0, _normalizeAndLoadMetadata.isSideEffectImport)(metadata) || metadata.reexportAll) return null;\n if (lazy === true) {\n return source.includes(\".\") ? null : \"lazy\";\n }\n if (Array.isArray(lazy)) {\n return !lazy.includes(source) ? null : \"lazy\";\n }\n if (typeof lazy === \"function\") {\n return lazy(source) ? \"lazy\" : null;\n }\n throw new Error(`.lazy must be a boolean, string array, or function`);\n };\n}\nfunction wrapReference(ref, payload) {\n if (payload === \"lazy\") return _core.types.callExpression(ref, []);\n return null;\n}\n\n//# sourceMappingURL=lazy-modules.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-transforms/lib/lazy-modules.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = normalizeModuleAndLoadMetadata;\nexports.hasExports = hasExports;\nexports.isSideEffectImport = isSideEffectImport;\nexports.validateImportInteropOption = validateImportInteropOption;\nvar _path = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\nvar _helperValidatorIdentifier = __webpack_require__(/*! @babel/helper-validator-identifier */ \"./node_modules/@babel/helper-validator-identifier/lib/index.js\");\nfunction hasExports(metadata) {\n return metadata.hasExports;\n}\nfunction isSideEffectImport(source) {\n return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll;\n}\nfunction validateImportInteropOption(importInterop) {\n if (typeof importInterop !== \"function\" && importInterop !== \"none\" && importInterop !== \"babel\" && importInterop !== \"node\") {\n throw new Error(`.importInterop must be one of \"none\", \"babel\", \"node\", or a function returning one of those values (received ${importInterop}).`);\n }\n return importInterop;\n}\nfunction resolveImportInterop(importInterop, source, filename) {\n if (typeof importInterop === \"function\") {\n return validateImportInteropOption(importInterop(source, filename));\n }\n return importInterop;\n}\nfunction normalizeModuleAndLoadMetadata(programPath, exportName, {\n importInterop,\n initializeReexports = false,\n getWrapperPayload,\n esNamespaceOnly = false,\n filename\n}) {\n if (!exportName) {\n exportName = programPath.scope.generateUidIdentifier(\"exports\").name;\n }\n const stringSpecifiers = new Set();\n nameAnonymousExports(programPath);\n const {\n local,\n sources,\n hasExports\n } = getModuleMetadata(programPath, {\n initializeReexports,\n getWrapperPayload\n }, stringSpecifiers);\n removeImportExportDeclarations(programPath);\n for (const [source, metadata] of sources) {\n const {\n importsNamespace,\n imports\n } = metadata;\n if (importsNamespace.size > 0 && imports.size === 0) {\n const [nameOfnamespace] = importsNamespace;\n metadata.name = nameOfnamespace;\n }\n const resolvedInterop = resolveImportInterop(importInterop, source, filename);\n if (resolvedInterop === \"none\") {\n metadata.interop = \"none\";\n } else if (resolvedInterop === \"node\" && metadata.interop === \"namespace\") {\n metadata.interop = \"node-namespace\";\n } else if (resolvedInterop === \"node\" && metadata.interop === \"default\") {\n metadata.interop = \"node-default\";\n } else if (esNamespaceOnly && metadata.interop === \"namespace\") {\n metadata.interop = \"default\";\n }\n }\n return {\n exportName,\n exportNameListName: null,\n hasExports,\n local,\n source: sources,\n stringSpecifiers\n };\n}\nfunction getExportSpecifierName(path, stringSpecifiers) {\n if (path.isIdentifier()) {\n return path.node.name;\n } else if (path.isStringLiteral()) {\n const stringValue = path.node.value;\n if (!(0, _helperValidatorIdentifier.isIdentifierName)(stringValue)) {\n stringSpecifiers.add(stringValue);\n }\n return stringValue;\n } else {\n throw new Error(`Expected export specifier to be either Identifier or StringLiteral, got ${path.node.type}`);\n }\n}\nfunction assertExportSpecifier(path) {\n if (path.isExportSpecifier()) {\n return;\n } else if (path.isExportNamespaceSpecifier()) {\n throw path.buildCodeFrameError(\"Export namespace should be first transformed by `@babel/plugin-transform-export-namespace-from`.\");\n } else {\n throw path.buildCodeFrameError(\"Unexpected export specifier type\");\n }\n}\nfunction getModuleMetadata(programPath, {\n getWrapperPayload,\n initializeReexports\n}, stringSpecifiers) {\n const localData = getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers);\n const importNodes = new Map();\n const sourceData = new Map();\n const getData = (sourceNode, node) => {\n const source = sourceNode.value;\n let data = sourceData.get(source);\n if (!data) {\n data = {\n name: programPath.scope.generateUidIdentifier((0, _path.basename)(source, (0, _path.extname)(source))).name,\n interop: \"none\",\n loc: null,\n imports: new Map(),\n importsNamespace: new Set(),\n reexports: new Map(),\n reexportNamespace: new Set(),\n reexportAll: null,\n wrap: null,\n get lazy() {\n return this.wrap === \"lazy\";\n },\n referenced: false\n };\n sourceData.set(source, data);\n importNodes.set(source, [node]);\n } else {\n importNodes.get(source).push(node);\n }\n return data;\n };\n let hasExports = false;\n programPath.get(\"body\").forEach(child => {\n if (child.isImportDeclaration()) {\n const data = getData(child.node.source, child.node);\n if (!data.loc) data.loc = child.node.loc;\n child.get(\"specifiers\").forEach(spec => {\n if (spec.isImportDefaultSpecifier()) {\n const localName = spec.get(\"local\").node.name;\n data.imports.set(localName, \"default\");\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n reexport.names.forEach(name => {\n data.reexports.set(name, \"default\");\n });\n data.referenced = true;\n }\n } else if (spec.isImportNamespaceSpecifier()) {\n const localName = spec.get(\"local\").node.name;\n data.importsNamespace.add(localName);\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n reexport.names.forEach(name => {\n data.reexportNamespace.add(name);\n });\n data.referenced = true;\n }\n } else if (spec.isImportSpecifier()) {\n const importName = getExportSpecifierName(spec.get(\"imported\"), stringSpecifiers);\n const localName = spec.get(\"local\").node.name;\n data.imports.set(localName, importName);\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n reexport.names.forEach(name => {\n data.reexports.set(name, importName);\n });\n data.referenced = true;\n }\n }\n });\n } else if (child.isExportAllDeclaration()) {\n hasExports = true;\n const data = getData(child.node.source, child.node);\n if (!data.loc) data.loc = child.node.loc;\n data.reexportAll = {\n loc: child.node.loc\n };\n data.referenced = true;\n } else if (child.isExportNamedDeclaration() && child.node.source) {\n hasExports = true;\n const data = getData(child.node.source, child.node);\n if (!data.loc) data.loc = child.node.loc;\n child.get(\"specifiers\").forEach(spec => {\n assertExportSpecifier(spec);\n const importName = getExportSpecifierName(spec.get(\"local\"), stringSpecifiers);\n const exportName = getExportSpecifierName(spec.get(\"exported\"), stringSpecifiers);\n data.reexports.set(exportName, importName);\n data.referenced = true;\n if (exportName === \"__esModule\") {\n throw spec.get(\"exported\").buildCodeFrameError('Illegal export \"__esModule\".');\n }\n });\n } else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) {\n hasExports = true;\n }\n });\n for (const metadata of sourceData.values()) {\n let needsDefault = false;\n let needsNamed = false;\n if (metadata.importsNamespace.size > 0) {\n needsDefault = true;\n needsNamed = true;\n }\n if (metadata.reexportAll) {\n needsNamed = true;\n }\n for (const importName of metadata.imports.values()) {\n if (importName === \"default\") needsDefault = true;else needsNamed = true;\n }\n for (const importName of metadata.reexports.values()) {\n if (importName === \"default\") needsDefault = true;else needsNamed = true;\n }\n if (needsDefault && needsNamed) {\n metadata.interop = \"namespace\";\n } else if (needsDefault) {\n metadata.interop = \"default\";\n }\n }\n if (getWrapperPayload) {\n for (const [source, metadata] of sourceData) {\n metadata.wrap = getWrapperPayload(source, metadata, importNodes.get(source));\n }\n }\n return {\n hasExports,\n local: localData,\n sources: sourceData\n };\n}\nfunction getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers) {\n const bindingKindLookup = new Map();\n programPath.get(\"body\").forEach(child => {\n let kind;\n if (child.isImportDeclaration()) {\n kind = \"import\";\n } else {\n if (child.isExportDefaultDeclaration()) {\n child = child.get(\"declaration\");\n }\n if (child.isExportNamedDeclaration()) {\n if (child.node.declaration) {\n child = child.get(\"declaration\");\n } else if (initializeReexports && child.node.source && child.get(\"source\").isStringLiteral()) {\n child.get(\"specifiers\").forEach(spec => {\n assertExportSpecifier(spec);\n bindingKindLookup.set(spec.get(\"local\").node.name, \"block\");\n });\n return;\n }\n }\n if (child.isFunctionDeclaration()) {\n kind = \"hoisted\";\n } else if (child.isClassDeclaration()) {\n kind = \"block\";\n } else if (child.isVariableDeclaration({\n kind: \"var\"\n })) {\n kind = \"var\";\n } else if (child.isVariableDeclaration()) {\n kind = \"block\";\n } else {\n return;\n }\n }\n Object.keys(child.getOuterBindingIdentifiers()).forEach(name => {\n bindingKindLookup.set(name, kind);\n });\n });\n const localMetadata = new Map();\n const getLocalMetadata = idPath => {\n const localName = idPath.node.name;\n let metadata = localMetadata.get(localName);\n if (!metadata) {\n const kind = bindingKindLookup.get(localName);\n if (kind === undefined) {\n throw idPath.buildCodeFrameError(`Exporting local \"${localName}\", which is not declared.`);\n }\n metadata = {\n names: [],\n kind\n };\n localMetadata.set(localName, metadata);\n }\n return metadata;\n };\n programPath.get(\"body\").forEach(child => {\n if (child.isExportNamedDeclaration() && (initializeReexports || !child.node.source)) {\n if (child.node.declaration) {\n const declaration = child.get(\"declaration\");\n const ids = declaration.getOuterBindingIdentifierPaths();\n Object.keys(ids).forEach(name => {\n if (name === \"__esModule\") {\n throw declaration.buildCodeFrameError('Illegal export \"__esModule\".');\n }\n getLocalMetadata(ids[name]).names.push(name);\n });\n } else {\n child.get(\"specifiers\").forEach(spec => {\n const local = spec.get(\"local\");\n const exported = spec.get(\"exported\");\n const localMetadata = getLocalMetadata(local);\n const exportName = getExportSpecifierName(exported, stringSpecifiers);\n if (exportName === \"__esModule\") {\n throw exported.buildCodeFrameError('Illegal export \"__esModule\".');\n }\n localMetadata.names.push(exportName);\n });\n }\n } else if (child.isExportDefaultDeclaration()) {\n const declaration = child.get(\"declaration\");\n if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) {\n getLocalMetadata(declaration.get(\"id\")).names.push(\"default\");\n } else {\n throw declaration.buildCodeFrameError(\"Unexpected default expression export.\");\n }\n }\n });\n return localMetadata;\n}\nfunction nameAnonymousExports(programPath) {\n programPath.get(\"body\").forEach(child => {\n if (!child.isExportDefaultDeclaration()) return;\n {\n var _child$splitExportDec;\n (_child$splitExportDec = child.splitExportDeclaration) != null ? _child$splitExportDec : child.splitExportDeclaration = (__webpack_require__(/*! @babel/traverse */ \"./node_modules/@babel/traverse/lib/index.js\").NodePath).prototype.splitExportDeclaration;\n }\n child.splitExportDeclaration();\n });\n}\nfunction removeImportExportDeclarations(programPath) {\n programPath.get(\"body\").forEach(child => {\n if (child.isImportDeclaration()) {\n child.remove();\n } else if (child.isExportNamedDeclaration()) {\n if (child.node.declaration) {\n child.node.declaration._blockHoist = child.node._blockHoist;\n child.replaceWith(child.node.declaration);\n } else {\n child.remove();\n }\n } else if (child.isExportDefaultDeclaration()) {\n const declaration = child.get(\"declaration\");\n if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) {\n declaration._blockHoist = child.node._blockHoist;\n child.replaceWith(declaration);\n } else {\n throw declaration.buildCodeFrameError(\"Unexpected default expression export.\");\n }\n } else if (child.isExportAllDeclaration()) {\n child.remove();\n }\n });\n}\n\n//# sourceMappingURL=normalize-and-load-metadata.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = rewriteLiveReferences;\nvar _core = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\nfunction isInType(path) {\n do {\n switch (path.parent.type) {\n case \"TSTypeAnnotation\":\n case \"TSTypeAliasDeclaration\":\n case \"TSTypeReference\":\n case \"TypeAnnotation\":\n case \"TypeAlias\":\n return true;\n case \"ExportSpecifier\":\n return path.parentPath.parent.exportKind === \"type\";\n default:\n if (path.parentPath.isStatement() || path.parentPath.isExpression()) {\n return false;\n }\n }\n } while (path = path.parentPath);\n}\nfunction rewriteLiveReferences(programPath, metadata, wrapReference) {\n const imported = new Map();\n const exported = new Map();\n const requeueInParent = path => {\n programPath.requeue(path);\n };\n for (const [source, data] of metadata.source) {\n for (const [localName, importName] of data.imports) {\n imported.set(localName, [source, importName, null]);\n }\n for (const localName of data.importsNamespace) {\n imported.set(localName, [source, null, localName]);\n }\n }\n for (const [local, data] of metadata.local) {\n let exportMeta = exported.get(local);\n if (!exportMeta) {\n exportMeta = [];\n exported.set(local, exportMeta);\n }\n exportMeta.push(...data.names);\n }\n const rewriteBindingInitVisitorState = {\n metadata,\n requeueInParent,\n scope: programPath.scope,\n exported\n };\n programPath.traverse(rewriteBindingInitVisitor, rewriteBindingInitVisitorState);\n const rewriteReferencesVisitorState = {\n seen: new WeakSet(),\n metadata,\n requeueInParent,\n scope: programPath.scope,\n imported,\n exported,\n buildImportReference([source, importName, localName], identNode) {\n const meta = metadata.source.get(source);\n meta.referenced = true;\n if (localName) {\n if (meta.wrap) {\n var _wrapReference;\n identNode = (_wrapReference = wrapReference(identNode, meta.wrap)) != null ? _wrapReference : identNode;\n }\n return identNode;\n }\n let namespace = _core.types.identifier(meta.name);\n if (meta.wrap) {\n var _wrapReference2;\n namespace = (_wrapReference2 = wrapReference(namespace, meta.wrap)) != null ? _wrapReference2 : namespace;\n }\n if (importName === \"default\" && meta.interop === \"node-default\") {\n return namespace;\n }\n const computed = metadata.stringSpecifiers.has(importName);\n return _core.types.memberExpression(namespace, computed ? _core.types.stringLiteral(importName) : _core.types.identifier(importName), computed);\n }\n };\n programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState);\n}\nconst rewriteBindingInitVisitor = {\n Scope(path) {\n path.skip();\n },\n ClassDeclaration(path) {\n const {\n requeueInParent,\n exported,\n metadata\n } = this;\n const {\n id\n } = path.node;\n if (!id) throw new Error(\"Expected class to have a name\");\n const localName = id.name;\n const exportNames = exported.get(localName) || [];\n if (exportNames.length > 0) {\n const statement = _core.types.expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, _core.types.identifier(localName), path.scope));\n statement._blockHoist = path.node._blockHoist;\n requeueInParent(path.insertAfter(statement)[0]);\n }\n },\n VariableDeclaration(path) {\n const {\n requeueInParent,\n exported,\n metadata\n } = this;\n const isVar = path.node.kind === \"var\";\n for (const decl of path.get(\"declarations\")) {\n const {\n id\n } = decl.node;\n let {\n init\n } = decl.node;\n if (_core.types.isIdentifier(id) && exported.has(id.name) && !_core.types.isArrowFunctionExpression(init) && (!_core.types.isFunctionExpression(init) || init.id) && (!_core.types.isClassExpression(init) || init.id)) {\n if (!init) {\n if (isVar) {\n continue;\n } else {\n init = path.scope.buildUndefinedNode();\n }\n }\n decl.node.init = buildBindingExportAssignmentExpression(metadata, exported.get(id.name), init, path.scope);\n requeueInParent(decl.get(\"init\"));\n } else {\n for (const localName of Object.keys(decl.getOuterBindingIdentifiers())) {\n if (exported.has(localName)) {\n const statement = _core.types.expressionStatement(buildBindingExportAssignmentExpression(metadata, exported.get(localName), _core.types.identifier(localName), path.scope));\n statement._blockHoist = path.node._blockHoist;\n requeueInParent(path.insertAfter(statement)[0]);\n }\n }\n }\n }\n }\n};\nconst buildBindingExportAssignmentExpression = (metadata, exportNames, localExpr, scope) => {\n const exportsObjectName = metadata.exportName;\n for (let currentScope = scope; currentScope != null; currentScope = currentScope.parent) {\n if (currentScope.hasOwnBinding(exportsObjectName)) {\n currentScope.rename(exportsObjectName);\n }\n }\n return (exportNames || []).reduce((expr, exportName) => {\n const {\n stringSpecifiers\n } = metadata;\n const computed = stringSpecifiers.has(exportName);\n return _core.types.assignmentExpression(\"=\", _core.types.memberExpression(_core.types.identifier(exportsObjectName), computed ? _core.types.stringLiteral(exportName) : _core.types.identifier(exportName), computed), expr);\n }, localExpr);\n};\nconst buildImportThrow = localName => {\n return _core.template.expression.ast`\n (function() {\n throw new Error('\"' + '${localName}' + '\" is read-only.');\n })()\n `;\n};\nconst rewriteReferencesVisitor = {\n ReferencedIdentifier(path) {\n const {\n seen,\n buildImportReference,\n scope,\n imported,\n requeueInParent\n } = this;\n if (seen.has(path.node)) return;\n seen.add(path.node);\n const localName = path.node.name;\n const importData = imported.get(localName);\n if (importData) {\n if (isInType(path)) {\n throw path.buildCodeFrameError(`Cannot transform the imported binding \"${localName}\" since it's also used in a type annotation. ` + `Please strip type annotations using @babel/preset-typescript or @babel/preset-flow.`);\n }\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = scope.getBinding(localName);\n if (rootBinding !== localBinding) return;\n const ref = buildImportReference(importData, path.node);\n ref.loc = path.node.loc;\n if ((path.parentPath.isCallExpression({\n callee: path.node\n }) || path.parentPath.isOptionalCallExpression({\n callee: path.node\n }) || path.parentPath.isTaggedTemplateExpression({\n tag: path.node\n })) && _core.types.isMemberExpression(ref)) {\n path.replaceWith(_core.types.sequenceExpression([_core.types.numericLiteral(0), ref]));\n } else if (path.isJSXIdentifier() && _core.types.isMemberExpression(ref)) {\n const {\n object,\n property\n } = ref;\n path.replaceWith(_core.types.jsxMemberExpression(_core.types.jsxIdentifier(object.name), _core.types.jsxIdentifier(property.name)));\n } else {\n path.replaceWith(ref);\n }\n requeueInParent(path);\n path.skip();\n }\n },\n UpdateExpression(path) {\n const {\n scope,\n seen,\n imported,\n exported,\n requeueInParent,\n buildImportReference\n } = this;\n if (seen.has(path.node)) return;\n seen.add(path.node);\n const arg = path.get(\"argument\");\n if (arg.isMemberExpression()) return;\n const update = path.node;\n if (arg.isIdentifier()) {\n const localName = arg.node.name;\n if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {\n return;\n }\n const exportedNames = exported.get(localName);\n const importData = imported.get(localName);\n if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) {\n if (importData) {\n path.replaceWith(_core.types.assignmentExpression(update.operator[0] + \"=\", buildImportReference(importData, arg.node), buildImportThrow(localName)));\n } else if (update.prefix) {\n path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, _core.types.cloneNode(update), path.scope));\n } else {\n const ref = scope.generateDeclaredUidIdentifier(localName);\n path.replaceWith(_core.types.sequenceExpression([_core.types.assignmentExpression(\"=\", _core.types.cloneNode(ref), _core.types.cloneNode(update)), buildBindingExportAssignmentExpression(this.metadata, exportedNames, _core.types.identifier(localName), path.scope), _core.types.cloneNode(ref)]));\n }\n }\n }\n requeueInParent(path);\n path.skip();\n },\n AssignmentExpression: {\n exit(path) {\n const {\n scope,\n seen,\n imported,\n exported,\n requeueInParent,\n buildImportReference\n } = this;\n if (seen.has(path.node)) return;\n seen.add(path.node);\n const left = path.get(\"left\");\n if (left.isMemberExpression()) return;\n if (left.isIdentifier()) {\n const localName = left.node.name;\n if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {\n return;\n }\n const exportedNames = exported.get(localName);\n const importData = imported.get(localName);\n if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) {\n const assignment = path.node;\n if (importData) {\n assignment.left = buildImportReference(importData, left.node);\n assignment.right = _core.types.sequenceExpression([assignment.right, buildImportThrow(localName)]);\n }\n const {\n operator\n } = assignment;\n let newExpr;\n if (operator === \"=\") {\n newExpr = assignment;\n } else if (operator === \"&&=\" || operator === \"||=\" || operator === \"??=\") {\n newExpr = _core.types.assignmentExpression(\"=\", assignment.left, _core.types.logicalExpression(operator.slice(0, -1), _core.types.cloneNode(assignment.left), assignment.right));\n } else {\n newExpr = _core.types.assignmentExpression(\"=\", assignment.left, _core.types.binaryExpression(operator.slice(0, -1), _core.types.cloneNode(assignment.left), assignment.right));\n }\n path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, newExpr, path.scope));\n requeueInParent(path);\n path.skip();\n }\n } else {\n const ids = left.getOuterBindingIdentifiers();\n const programScopeIds = Object.keys(ids).filter(localName => scope.getBinding(localName) === path.scope.getBinding(localName));\n const id = programScopeIds.find(localName => imported.has(localName));\n if (id) {\n path.node.right = _core.types.sequenceExpression([path.node.right, buildImportThrow(id)]);\n }\n const items = [];\n programScopeIds.forEach(localName => {\n const exportedNames = exported.get(localName) || [];\n if (exportedNames.length > 0) {\n items.push(buildBindingExportAssignmentExpression(this.metadata, exportedNames, _core.types.identifier(localName), path.scope));\n }\n });\n if (items.length > 0) {\n let node = _core.types.sequenceExpression(items);\n if (path.parentPath.isExpressionStatement()) {\n node = _core.types.expressionStatement(node);\n node._blockHoist = path.parentPath.node._blockHoist;\n }\n const statement = path.insertAfter(node)[0];\n requeueInParent(statement);\n }\n }\n }\n },\n ForXStatement(path) {\n const {\n scope,\n node\n } = path;\n const {\n left\n } = node;\n const {\n exported,\n imported,\n scope: programScope\n } = this;\n if (!_core.types.isVariableDeclaration(left)) {\n let didTransformExport = false,\n importConstViolationName;\n const loopBodyScope = path.get(\"body\").scope;\n for (const name of Object.keys(_core.types.getOuterBindingIdentifiers(left))) {\n if (programScope.getBinding(name) === scope.getBinding(name)) {\n if (exported.has(name)) {\n didTransformExport = true;\n if (loopBodyScope.hasOwnBinding(name)) {\n loopBodyScope.rename(name);\n }\n }\n if (imported.has(name) && !importConstViolationName) {\n importConstViolationName = name;\n }\n }\n }\n if (!didTransformExport && !importConstViolationName) {\n return;\n }\n path.ensureBlock();\n const bodyPath = path.get(\"body\");\n const newLoopId = scope.generateUidIdentifierBasedOnNode(left);\n path.get(\"left\").replaceWith(_core.types.variableDeclaration(\"let\", [_core.types.variableDeclarator(_core.types.cloneNode(newLoopId))]));\n scope.registerDeclaration(path.get(\"left\"));\n if (didTransformExport) {\n bodyPath.unshiftContainer(\"body\", _core.types.expressionStatement(_core.types.assignmentExpression(\"=\", left, newLoopId)));\n }\n if (importConstViolationName) {\n bodyPath.unshiftContainer(\"body\", _core.types.expressionStatement(buildImportThrow(importConstViolationName)));\n }\n }\n }\n};\n\n//# sourceMappingURL=rewrite-live-references.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-module-transforms/lib/rewrite-this.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/helper-module-transforms/lib/rewrite-this.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = rewriteThis;\nvar _core = __webpack_require__(/*! @babel/core */ \"./node_modules/@babel/core/lib/index.js\");\nvar _traverse = __webpack_require__(/*! @babel/traverse */ \"./node_modules/@babel/traverse/lib/index.js\");\nlet rewriteThisVisitor;\nfunction rewriteThis(programPath) {\n if (!rewriteThisVisitor) {\n rewriteThisVisitor = _traverse.visitors.environmentVisitor({\n ThisExpression(path) {\n path.replaceWith(_core.types.unaryExpression(\"void\", _core.types.numericLiteral(0), true));\n }\n });\n rewriteThisVisitor.noScope = true;\n }\n (0, _traverse.default)(programPath.node, rewriteThisVisitor);\n}\n\n//# sourceMappingURL=rewrite-this.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-module-transforms/lib/rewrite-this.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-string-parser/lib/index.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/helper-string-parser/lib/index.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.readCodePoint = readCodePoint;\nexports.readInt = readInt;\nexports.readStringContents = readStringContents;\nvar _isDigit = function isDigit(code) {\n return code >= 48 && code <= 57;\n};\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),\n hex: new Set([46, 88, 95, 120])\n};\nconst isAllowedNumericSeparatorSibling = {\n bin: ch => ch === 48 || ch === 49,\n oct: ch => ch >= 48 && ch <= 55,\n dec: ch => ch >= 48 && ch <= 57,\n hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102\n};\nfunction readStringContents(type, input, pos, lineStart, curLine, errors) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const {\n length\n } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === 92) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(input, pos, lineStart, curLine, type === \"template\", errors);\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = {\n pos,\n lineStart,\n curLine\n };\n } else {\n out += res.ch;\n }\n ({\n pos,\n lineStart,\n curLine\n } = res);\n chunkStart = pos;\n } else if (ch === 8232 || ch === 8233) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === 10 || ch === 13) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (ch === 13 && input.charCodeAt(pos) === 10) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc\n };\n}\nfunction isStringEnd(type, ch, input, pos) {\n if (type === \"template\") {\n return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;\n }\n return ch === (type === \"double\" ? 34 : 39);\n}\nfunction readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {\n const throwOnInvalid = !inTemplate;\n pos++;\n const res = ch => ({\n pos,\n ch,\n lineStart,\n curLine\n });\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case 110:\n return res(\"\\n\");\n case 114:\n return res(\"\\r\");\n case 120:\n {\n let code;\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case 117:\n {\n let code;\n ({\n code,\n pos\n } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case 116:\n return res(\"\\t\");\n case 98:\n return res(\"\\b\");\n case 118:\n return res(\"\\u000b\");\n case 102:\n return res(\"\\f\");\n case 13:\n if (input.charCodeAt(pos) === 10) {\n ++pos;\n }\n case 10:\n lineStart = pos;\n ++curLine;\n case 8232:\n case 8233:\n return res(\"\");\n case 56:\n case 57:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n default:\n if (ch >= 48 && ch <= 55) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));\n let octalStr = match[0];\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (octalStr !== \"0\" || next === 56 || next === 57) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n return res(String.fromCharCode(octal));\n }\n return res(String.fromCharCode(ch));\n }\n}\nfunction readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {\n const initialPos = pos;\n let n;\n ({\n n,\n pos\n } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return {\n code: n,\n pos\n };\n}\nfunction readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {\n const start = pos;\n const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;\n let invalid = false;\n let total = 0;\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n if (code === 95 && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n if (!allowNumSeparator) {\n if (bailOnError) return {\n n: null,\n pos\n };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {\n if (bailOnError) return {\n n: null,\n pos\n };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n ++pos;\n continue;\n }\n if (code >= 97) {\n val = code - 97 + 10;\n } else if (code >= 65) {\n val = code - 65 + 10;\n } else if (_isDigit(code)) {\n val = code - 48;\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n if (val <= 9 && bailOnError) {\n return {\n n: null,\n pos\n };\n } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || len != null && pos - start !== len || invalid) {\n return {\n n: null,\n pos\n };\n }\n return {\n n: total,\n pos\n };\n}\nfunction readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {\n const ch = input.charCodeAt(pos);\n let code;\n if (ch === 123) {\n ++pos;\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, input.indexOf(\"}\", pos) - pos, true, throwOnInvalid, errors));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return {\n code: null,\n pos\n };\n }\n }\n } else {\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));\n }\n return {\n code,\n pos\n };\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-string-parser/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-validator-identifier/lib/identifier.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/helper-validator-identifier/lib/identifier.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isIdentifierChar = isIdentifierChar;\nexports.isIdentifierName = isIdentifierName;\nexports.isIdentifierStart = isIdentifierStart;\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c8a\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7cd\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7dc\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\nlet nonASCIIidentifierChars = \"\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0897-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\nconst nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nconst nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\nconst astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];\nconst astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];\nfunction isInAstralSet(code, set) {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\nfunction isIdentifierStart(code) {\n if (code < 65) return code === 36;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\nfunction isIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);\n}\nfunction isIdentifierName(name) {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n\n//# sourceMappingURL=identifier.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-validator-identifier/lib/identifier.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-validator-identifier/lib/index.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/helper-validator-identifier/lib/index.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isIdentifierChar\", ({\n enumerable: true,\n get: function () {\n return _identifier.isIdentifierChar;\n }\n}));\nObject.defineProperty(exports, \"isIdentifierName\", ({\n enumerable: true,\n get: function () {\n return _identifier.isIdentifierName;\n }\n}));\nObject.defineProperty(exports, \"isIdentifierStart\", ({\n enumerable: true,\n get: function () {\n return _identifier.isIdentifierStart;\n }\n}));\nObject.defineProperty(exports, \"isKeyword\", ({\n enumerable: true,\n get: function () {\n return _keyword.isKeyword;\n }\n}));\nObject.defineProperty(exports, \"isReservedWord\", ({\n enumerable: true,\n get: function () {\n return _keyword.isReservedWord;\n }\n}));\nObject.defineProperty(exports, \"isStrictBindOnlyReservedWord\", ({\n enumerable: true,\n get: function () {\n return _keyword.isStrictBindOnlyReservedWord;\n }\n}));\nObject.defineProperty(exports, \"isStrictBindReservedWord\", ({\n enumerable: true,\n get: function () {\n return _keyword.isStrictBindReservedWord;\n }\n}));\nObject.defineProperty(exports, \"isStrictReservedWord\", ({\n enumerable: true,\n get: function () {\n return _keyword.isStrictReservedWord;\n }\n}));\nvar _identifier = __webpack_require__(/*! ./identifier.js */ \"./node_modules/@babel/helper-validator-identifier/lib/identifier.js\");\nvar _keyword = __webpack_require__(/*! ./keyword.js */ \"./node_modules/@babel/helper-validator-identifier/lib/keyword.js\");\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-validator-identifier/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-validator-identifier/lib/keyword.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/helper-validator-identifier/lib/keyword.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isKeyword = isKeyword;\nexports.isReservedWord = isReservedWord;\nexports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;\nexports.isStrictBindReservedWord = isStrictBindReservedWord;\nexports.isStrictReservedWord = isStrictReservedWord;\nconst reservedWords = {\n keyword: [\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\"],\n strict: [\"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\"],\n strictBind: [\"eval\", \"arguments\"]\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\nfunction isReservedWord(word, inModule) {\n return inModule && word === \"await\" || word === \"enum\";\n}\nfunction isStrictReservedWord(word, inModule) {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\nfunction isStrictBindOnlyReservedWord(word) {\n return reservedWordsStrictBindSet.has(word);\n}\nfunction isStrictBindReservedWord(word, inModule) {\n return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);\n}\nfunction isKeyword(word) {\n return keywords.has(word);\n}\n\n//# sourceMappingURL=keyword.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-validator-identifier/lib/keyword.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-validator-option/lib/find-suggestion.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/helper-validator-option/lib/find-suggestion.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.findSuggestion = findSuggestion;\nconst {\n min\n} = Math;\nfunction levenshtein(a, b) {\n let t = [],\n u = [],\n i,\n j;\n const m = a.length,\n n = b.length;\n if (!m) {\n return n;\n }\n if (!n) {\n return m;\n }\n for (j = 0; j <= n; j++) {\n t[j] = j;\n }\n for (i = 1; i <= m; i++) {\n for (u = [i], j = 1; j <= n; j++) {\n u[j] = a[i - 1] === b[j - 1] ? t[j - 1] : min(t[j - 1], t[j], u[j - 1]) + 1;\n }\n t = u;\n }\n return u[n];\n}\nfunction findSuggestion(str, arr) {\n const distances = arr.map(el => levenshtein(el, str));\n return arr[distances.indexOf(min(...distances))];\n}\n\n//# sourceMappingURL=find-suggestion.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-validator-option/lib/find-suggestion.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-validator-option/lib/index.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/helper-validator-option/lib/index.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"OptionValidator\", ({\n enumerable: true,\n get: function () {\n return _validator.OptionValidator;\n }\n}));\nObject.defineProperty(exports, \"findSuggestion\", ({\n enumerable: true,\n get: function () {\n return _findSuggestion.findSuggestion;\n }\n}));\nvar _validator = __webpack_require__(/*! ./validator.js */ \"./node_modules/@babel/helper-validator-option/lib/validator.js\");\nvar _findSuggestion = __webpack_require__(/*! ./find-suggestion.js */ \"./node_modules/@babel/helper-validator-option/lib/find-suggestion.js\");\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-validator-option/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helper-validator-option/lib/validator.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/helper-validator-option/lib/validator.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionValidator = void 0;\nvar _findSuggestion = __webpack_require__(/*! ./find-suggestion.js */ \"./node_modules/@babel/helper-validator-option/lib/find-suggestion.js\");\nclass OptionValidator {\n constructor(descriptor) {\n this.descriptor = descriptor;\n }\n validateTopLevelOptions(options, TopLevelOptionShape) {\n const validOptionNames = Object.keys(TopLevelOptionShape);\n for (const option of Object.keys(options)) {\n if (!validOptionNames.includes(option)) {\n throw new Error(this.formatMessage(`'${option}' is not a valid top-level option.\n- Did you mean '${(0, _findSuggestion.findSuggestion)(option, validOptionNames)}'?`));\n }\n }\n }\n validateBooleanOption(name, value, defaultValue) {\n if (value === undefined) {\n return defaultValue;\n } else {\n this.invariant(typeof value === \"boolean\", `'${name}' option must be a boolean.`);\n }\n return value;\n }\n validateStringOption(name, value, defaultValue) {\n if (value === undefined) {\n return defaultValue;\n } else {\n this.invariant(typeof value === \"string\", `'${name}' option must be a string.`);\n }\n return value;\n }\n invariant(condition, message) {\n if (!condition) {\n throw new Error(this.formatMessage(message));\n }\n }\n formatMessage(message) {\n return `${this.descriptor}: ${message}`;\n }\n}\nexports.OptionValidator = OptionValidator;\n\n//# sourceMappingURL=validator.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helper-validator-option/lib/validator.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/helpers/lib/helpers-generated.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/helpers/lib/helpers-generated.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _template = __webpack_require__(/*! @babel/template */ \"./node_modules/@babel/template/lib/index.js\");\nfunction helper(minVersion, source, metadata) {\n return Object.freeze({\n minVersion,\n ast: () => _template.default.program.ast(source, {\n preserveComments: true\n }),\n metadata\n });\n}\nconst helpers = exports[\"default\"] = {\n __proto__: null,\n OverloadYield: helper(\"7.18.14\", \"function _OverloadYield(e,d){this.v=e,this.k=d}\", {\n globals: [],\n locals: {\n _OverloadYield: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_OverloadYield\",\n dependencies: {}\n }),\n applyDecoratedDescriptor: helper(\"7.0.0-beta.0\", 'function _applyDecoratedDescriptor(i,e,r,n,l){var a={};return Object.keys(n).forEach((function(i){a[i]=n[i]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,(\"value\"in a||a.initializer)&&(a.writable=!0),a=r.slice().reverse().reduce((function(r,n){return n(i,e,r)||r}),a),l&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(l):void 0,a.initializer=void 0),void 0===a.initializer?(Object.defineProperty(i,e,a),null):a}', {\n globals: [\"Object\"],\n locals: {\n _applyDecoratedDescriptor: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_applyDecoratedDescriptor\",\n dependencies: {}\n }),\n applyDecs2311: helper(\"7.24.0\", 'function applyDecs2311(e,t,n,r,o,i){var a,c,u,s,f,l,p,d=Symbol.metadata||Symbol.for(\"Symbol.metadata\"),m=Object.defineProperty,h=Object.create,y=[h(null),h(null)],v=t.length;function g(t,n,r){return function(o,i){n&&(i=o,o=e);for(var a=0;a=0;O-=n?2:1){var T=b(h[O],\"A decorator\",\"be\",!0),z=n?h[O-1]:void 0,A={},H={kind:[\"field\",\"accessor\",\"method\",\"getter\",\"setter\",\"class\"][o],name:r,metadata:a,addInitializer:function(e,t){if(e.v)throw new TypeError(\"attempted to call addInitializer after decoration was finished\");b(t,\"An initializer\",\"be\",!0),i.push(t)}.bind(null,A)};if(w)c=T.call(z,N,H),A.v=1,b(c,\"class decorators\",\"return\")&&(N=c);else if(H.static=s,H.private=f,c=H.access={has:f?p.bind():function(e){return r in e}},j||(c.get=f?E?function(e){return d(e),P.value}:I(\"get\",0,d):function(e){return e[r]}),E||S||(c.set=f?I(\"set\",0,d):function(e,t){e[r]=t}),N=T.call(z,D?{get:P.get,set:P.set}:P[F],H),A.v=1,D){if(\"object\"==typeof N&&N)(c=b(N.get,\"accessor.get\"))&&(P.get=c),(c=b(N.set,\"accessor.set\"))&&(P.set=c),(c=b(N.init,\"accessor.init\"))&&k.unshift(c);else if(void 0!==N)throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\")}else b(N,(l?\"field\":\"method\")+\" decorators\",\"return\")&&(l?k.unshift(N):P[F]=N)}return o<2&&u.push(g(k,s,1),g(i,s,0)),l||w||(f?D?u.splice(-1,0,I(\"get\",s),I(\"set\",s)):u.push(E?P[F]:b.call.bind(P[F])):m(e,r,P)),N}function w(e){return m(e,d,{configurable:!0,enumerable:!0,value:a})}return void 0!==i&&(a=i[d]),a=h(null==a?null:a),f=[],l=function(e){e&&f.push(g(e))},p=function(t,r){for(var i=0;ir.length)&&(a=r.length);for(var e=0,n=Array(a);e=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(r){throw r},f:F}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,a=!0,u=!1;return{s:function(){t=t.call(r)},n:function(){var r=t.next();return a=r.done,r},e:function(r){u=!0,o=r},f:function(){try{a||null==t.return||t.return()}finally{if(u)throw o}}}}', {\n globals: [\"Symbol\", \"Array\", \"TypeError\"],\n locals: {\n _createForOfIteratorHelper: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_createForOfIteratorHelper\",\n dependencies: {\n unsupportedIterableToArray: [\"body.0.body.body.1.consequent.body.0.test.left.right.right.callee\"]\n }\n }),\n createForOfIteratorHelperLoose: helper(\"7.9.0\", 'function _createForOfIteratorHelperLoose(r,e){var t=\"undefined\"!=typeof Symbol&&r[Symbol.iterator]||r[\"@@iterator\"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=unsupportedIterableToArray(r))||e&&r&&\"number\"==typeof r.length){t&&(r=t);var o=0;return function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}', {\n globals: [\"Symbol\", \"Array\", \"TypeError\"],\n locals: {\n _createForOfIteratorHelperLoose: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_createForOfIteratorHelperLoose\",\n dependencies: {\n unsupportedIterableToArray: [\"body.0.body.body.2.test.left.right.right.callee\"]\n }\n }),\n createSuper: helper(\"7.9.0\", \"function _createSuper(t){var r=isNativeReflectConstruct();return function(){var e,o=getPrototypeOf(t);if(r){var s=getPrototypeOf(this).constructor;e=Reflect.construct(o,arguments,s)}else e=o.apply(this,arguments);return possibleConstructorReturn(this,e)}}\", {\n globals: [\"Reflect\"],\n locals: {\n _createSuper: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_createSuper\",\n dependencies: {\n getPrototypeOf: [\"body.0.body.body.1.argument.body.body.0.declarations.1.init.callee\", \"body.0.body.body.1.argument.body.body.1.consequent.body.0.declarations.0.init.object.callee\"],\n isNativeReflectConstruct: [\"body.0.body.body.0.declarations.0.init.callee\"],\n possibleConstructorReturn: [\"body.0.body.body.1.argument.body.body.2.argument.callee\"]\n }\n }),\n decorate: helper(\"7.1.5\", 'function _decorate(e,r,t,i){var o=_getDecoratorsApi();if(i)for(var n=0;n=0;n--){var s=r[e.placement];s.splice(s.indexOf(e.key),1);var a=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,o[n])(a)||a);e=l.element,this.addElementPlacement(e,r),l.finisher&&i.push(l.finisher);var c=l.extras;if(c){for(var p=0;p=0;i--){var o=this.fromClassDescriptor(e),n=this.toClassDescriptor((0,r[i])(o)||o);if(void 0!==n.finisher&&t.push(n.finisher),void 0!==n.elements){e=n.elements;for(var s=0;s1){for(var t=Array(n),f=0;f=0;--o){var i=this.tryEntries[o],a=i.completion;if(\"root\"===i.tryLoc)return handle(\"end\");if(i.tryLoc<=this.prev){var c=n.call(i,\"catchLoc\"),u=n.call(i,\"finallyLoc\");if(c&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if(\"throw\"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw Error(\"illegal catch attempt\")},delegateYield:function(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=t),y}},e}', {\n globals: [\"Object\", \"Symbol\", \"Error\", \"TypeError\", \"isNaN\", \"Promise\"],\n locals: {\n _regeneratorRuntime: [\"body.0.id\", \"body.0.body.body.0.expression.left\"]\n },\n exportBindingAssignments: [\"body.0.body.body.0.expression\"],\n exportName: \"_regeneratorRuntime\",\n dependencies: {}\n }),\n set: helper(\"7.0.0-beta.0\", 'function set(e,r,t,o){return set=\"undefined\"!=typeof Reflect&&Reflect.set?Reflect.set:function(e,r,t,o){var f,i=superPropBase(e,r);if(i){if((f=Object.getOwnPropertyDescriptor(i,r)).set)return f.set.call(o,t),!0;if(!f.writable)return!1}if(f=Object.getOwnPropertyDescriptor(o,r)){if(!f.writable)return!1;f.value=t,Object.defineProperty(o,r,f)}else defineProperty(o,r,t);return!0},set(e,r,t,o)}function _set(e,r,t,o,f){if(!set(e,r,t,o||e)&&f)throw new TypeError(\"failed to set property\");return t}', {\n globals: [\"Reflect\", \"Object\", \"TypeError\"],\n locals: {\n set: [\"body.0.id\", \"body.0.body.body.0.argument.expressions.1.callee\", \"body.1.body.body.0.test.left.argument.callee\", \"body.0.body.body.0.argument.expressions.0.left\"],\n _set: [\"body.1.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_set\",\n dependencies: {\n superPropBase: [\"body.0.body.body.0.argument.expressions.0.right.alternate.body.body.0.declarations.1.init.callee\"],\n defineProperty: [\"body.0.body.body.0.argument.expressions.0.right.alternate.body.body.2.alternate.expression.callee\"]\n }\n }),\n setFunctionName: helper(\"7.23.6\", 'function setFunctionName(e,t,n){\"symbol\"==typeof t&&(t=(t=t.description)?\"[\"+t+\"]\":\"\");try{Object.defineProperty(e,\"name\",{configurable:!0,value:n?n+\" \"+t:t})}catch(e){}return e}', {\n globals: [\"Object\"],\n locals: {\n setFunctionName: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"setFunctionName\",\n dependencies: {}\n }),\n setPrototypeOf: helper(\"7.0.0-beta.0\", \"function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}\", {\n globals: [\"Object\"],\n locals: {\n _setPrototypeOf: [\"body.0.id\", \"body.0.body.body.0.argument.expressions.1.callee\", \"body.0.body.body.0.argument.expressions.0.left\"]\n },\n exportBindingAssignments: [\"body.0.body.body.0.argument.expressions.0\"],\n exportName: \"_setPrototypeOf\",\n dependencies: {}\n }),\n skipFirstGeneratorNext: helper(\"7.0.0-beta.0\", \"function _skipFirstGeneratorNext(t){return function(){var r=t.apply(this,arguments);return r.next(),r}}\", {\n globals: [],\n locals: {\n _skipFirstGeneratorNext: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_skipFirstGeneratorNext\",\n dependencies: {}\n }),\n slicedToArray: helper(\"7.0.0-beta.0\", \"function _slicedToArray(r,e){return arrayWithHoles(r)||iterableToArrayLimit(r,e)||unsupportedIterableToArray(r,e)||nonIterableRest()}\", {\n globals: [],\n locals: {\n _slicedToArray: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_slicedToArray\",\n dependencies: {\n arrayWithHoles: [\"body.0.body.body.0.argument.left.left.left.callee\"],\n iterableToArrayLimit: [\"body.0.body.body.0.argument.left.left.right.callee\"],\n unsupportedIterableToArray: [\"body.0.body.body.0.argument.left.right.callee\"],\n nonIterableRest: [\"body.0.body.body.0.argument.right.callee\"]\n }\n }),\n superPropBase: helper(\"7.0.0-beta.0\", \"function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=getPrototypeOf(t)););return t}\", {\n globals: [],\n locals: {\n _superPropBase: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_superPropBase\",\n dependencies: {\n getPrototypeOf: [\"body.0.body.body.0.test.right.right.right.callee\"]\n }\n }),\n superPropGet: helper(\"7.25.0\", 'function _superPropGet(t,o,e,r){var p=get(getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&\"function\"==typeof p?function(t){return p.apply(e,t)}:p}', {\n globals: [],\n locals: {\n _superPropGet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_superPropGet\",\n dependencies: {\n get: [\"body.0.body.body.0.declarations.0.init.callee\"],\n getPrototypeOf: [\"body.0.body.body.0.declarations.0.init.arguments.0.callee\"]\n }\n }),\n superPropSet: helper(\"7.25.0\", \"function _superPropSet(t,e,o,r,p,f){return set(getPrototypeOf(f?t.prototype:t),e,o,r,p)}\", {\n globals: [],\n locals: {\n _superPropSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_superPropSet\",\n dependencies: {\n set: [\"body.0.body.body.0.argument.callee\"],\n getPrototypeOf: [\"body.0.body.body.0.argument.arguments.0.callee\"]\n }\n }),\n taggedTemplateLiteral: helper(\"7.0.0-beta.0\", \"function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}\", {\n globals: [\"Object\"],\n locals: {\n _taggedTemplateLiteral: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_taggedTemplateLiteral\",\n dependencies: {}\n }),\n taggedTemplateLiteralLoose: helper(\"7.0.0-beta.0\", \"function _taggedTemplateLiteralLoose(e,t){return t||(t=e.slice(0)),e.raw=t,e}\", {\n globals: [],\n locals: {\n _taggedTemplateLiteralLoose: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_taggedTemplateLiteralLoose\",\n dependencies: {}\n }),\n tdz: helper(\"7.5.5\", 'function _tdzError(e){throw new ReferenceError(e+\" is not defined - temporal dead zone\")}', {\n globals: [\"ReferenceError\"],\n locals: {\n _tdzError: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_tdzError\",\n dependencies: {}\n }),\n temporalRef: helper(\"7.0.0-beta.0\", \"function _temporalRef(r,e){return r===undef?err(e):r}\", {\n globals: [],\n locals: {\n _temporalRef: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_temporalRef\",\n dependencies: {\n temporalUndefined: [\"body.0.body.body.0.argument.test.right\"],\n tdz: [\"body.0.body.body.0.argument.consequent.callee\"]\n }\n }),\n temporalUndefined: helper(\"7.0.0-beta.0\", \"function _temporalUndefined(){}\", {\n globals: [],\n locals: {\n _temporalUndefined: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_temporalUndefined\",\n dependencies: {}\n }),\n toArray: helper(\"7.0.0-beta.0\", \"function _toArray(r){return arrayWithHoles(r)||iterableToArray(r)||unsupportedIterableToArray(r)||nonIterableRest()}\", {\n globals: [],\n locals: {\n _toArray: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_toArray\",\n dependencies: {\n arrayWithHoles: [\"body.0.body.body.0.argument.left.left.left.callee\"],\n iterableToArray: [\"body.0.body.body.0.argument.left.left.right.callee\"],\n unsupportedIterableToArray: [\"body.0.body.body.0.argument.left.right.callee\"],\n nonIterableRest: [\"body.0.body.body.0.argument.right.callee\"]\n }\n }),\n toConsumableArray: helper(\"7.0.0-beta.0\", \"function _toConsumableArray(r){return arrayWithoutHoles(r)||iterableToArray(r)||unsupportedIterableToArray(r)||nonIterableSpread()}\", {\n globals: [],\n locals: {\n _toConsumableArray: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_toConsumableArray\",\n dependencies: {\n arrayWithoutHoles: [\"body.0.body.body.0.argument.left.left.left.callee\"],\n iterableToArray: [\"body.0.body.body.0.argument.left.left.right.callee\"],\n unsupportedIterableToArray: [\"body.0.body.body.0.argument.left.right.callee\"],\n nonIterableSpread: [\"body.0.body.body.0.argument.right.callee\"]\n }\n }),\n toPrimitive: helper(\"7.1.5\", 'function toPrimitive(t,r){if(\"object\"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||\"default\");if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===r?String:Number)(t)}', {\n globals: [\"Symbol\", \"TypeError\", \"String\", \"Number\"],\n locals: {\n toPrimitive: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"toPrimitive\",\n dependencies: {}\n }),\n toPropertyKey: helper(\"7.1.5\", 'function toPropertyKey(t){var i=toPrimitive(t,\"string\");return\"symbol\"==typeof i?i:i+\"\"}', {\n globals: [],\n locals: {\n toPropertyKey: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"toPropertyKey\",\n dependencies: {\n toPrimitive: [\"body.0.body.body.0.declarations.0.init.callee\"]\n }\n }),\n toSetter: helper(\"7.24.0\", 'function _toSetter(t,e,n){e||(e=[]);var r=e.length++;return Object.defineProperty({},\"_\",{set:function(o){e[r]=o,t.apply(n,e)}})}', {\n globals: [\"Object\"],\n locals: {\n _toSetter: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_toSetter\",\n dependencies: {}\n }),\n typeof: helper(\"7.0.0-beta.0\", 'function _typeof(o){\"@babel/helpers - typeof\";return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&\"function\"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?\"symbol\":typeof o},_typeof(o)}', {\n globals: [\"Symbol\"],\n locals: {\n _typeof: [\"body.0.id\", \"body.0.body.body.0.argument.expressions.1.callee\", \"body.0.body.body.0.argument.expressions.0.left\"]\n },\n exportBindingAssignments: [\"body.0.body.body.0.argument.expressions.0\"],\n exportName: \"_typeof\",\n dependencies: {}\n }),\n unsupportedIterableToArray: helper(\"7.9.0\", 'function _unsupportedIterableToArray(r,a){if(r){if(\"string\"==typeof r)return arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return\"Object\"===t&&r.constructor&&(t=r.constructor.name),\"Map\"===t||\"Set\"===t?Array.from(r):\"Arguments\"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?arrayLikeToArray(r,a):void 0}}', {\n globals: [\"Array\"],\n locals: {\n _unsupportedIterableToArray: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_unsupportedIterableToArray\",\n dependencies: {\n arrayLikeToArray: [\"body.0.body.body.0.consequent.body.0.consequent.argument.callee\", \"body.0.body.body.0.consequent.body.2.argument.expressions.1.alternate.consequent.callee\"]\n }\n }),\n usingCtx: helper(\"7.23.9\", 'function _usingCtx(){var r=\"function\"==typeof SuppressedError?SuppressedError:function(r,e){var n=Error();return n.name=\"SuppressedError\",n.error=r,n.suppressed=e,n},e={},n=[];function using(r,e){if(null!=e){if(Object(e)!==e)throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");if(r)var o=e[Symbol.asyncDispose||Symbol.for(\"Symbol.asyncDispose\")];if(void 0===o&&(o=e[Symbol.dispose||Symbol.for(\"Symbol.dispose\")],r))var t=o;if(\"function\"!=typeof o)throw new TypeError(\"Object is not disposable.\");t&&(o=function(){try{t.call(e)}catch(r){return Promise.reject(r)}}),n.push({v:e,d:o,a:r})}else r&&n.push({d:e,a:r});return e}return{e:e,u:using.bind(null,!1),a:using.bind(null,!0),d:function(){var o,t=this.e,s=0;function next(){for(;o=n.pop();)try{if(!o.a&&1===s)return s=0,n.push(o),Promise.resolve().then(next);if(o.d){var r=o.d.call(o.v);if(o.a)return s|=2,Promise.resolve(r).then(next,err)}else s|=1}catch(r){return err(r)}if(1===s)return t!==e?Promise.reject(t):Promise.resolve();if(t!==e)throw t}function err(n){return t=t!==e?new r(n,t):n,next()}return next()}}}', {\n globals: [\"SuppressedError\", \"Error\", \"Object\", \"TypeError\", \"Symbol\", \"Promise\"],\n locals: {\n _usingCtx: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_usingCtx\",\n dependencies: {}\n }),\n wrapAsyncGenerator: helper(\"7.0.0-beta.0\", 'function _wrapAsyncGenerator(e){return function(){return new AsyncGenerator(e.apply(this,arguments))}}function AsyncGenerator(e){var r,t;function resume(r,t){try{var n=e[r](t),o=n.value,u=o instanceof OverloadYield;Promise.resolve(u?o.v:o).then((function(t){if(u){var i=\"return\"===r?\"return\":\"next\";if(!o.k||t.done)return resume(i,t);t=e[i](t).value}settle(n.done?\"return\":\"normal\",t)}),(function(e){resume(\"throw\",e)}))}catch(e){settle(\"throw\",e)}}function settle(e,n){switch(e){case\"return\":r.resolve({value:n,done:!0});break;case\"throw\":r.reject(n);break;default:r.resolve({value:n,done:!1})}(r=r.next)?resume(r.key,r.arg):t=null}this._invoke=function(e,n){return new Promise((function(o,u){var i={key:e,arg:n,resolve:o,reject:u,next:null};t?t=t.next=i:(r=t=i,resume(e,n))}))},\"function\"!=typeof e.return&&(this.return=void 0)}AsyncGenerator.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},AsyncGenerator.prototype.next=function(e){return this._invoke(\"next\",e)},AsyncGenerator.prototype.throw=function(e){return this._invoke(\"throw\",e)},AsyncGenerator.prototype.return=function(e){return this._invoke(\"return\",e)};', {\n globals: [\"Promise\", \"Symbol\"],\n locals: {\n _wrapAsyncGenerator: [\"body.0.id\"],\n AsyncGenerator: [\"body.1.id\", \"body.0.body.body.0.argument.body.body.0.argument.callee\", \"body.2.expression.expressions.0.left.object.object\", \"body.2.expression.expressions.1.left.object.object\", \"body.2.expression.expressions.2.left.object.object\", \"body.2.expression.expressions.3.left.object.object\"]\n },\n exportBindingAssignments: [],\n exportName: \"_wrapAsyncGenerator\",\n dependencies: {\n OverloadYield: [\"body.1.body.body.1.body.body.0.block.body.0.declarations.2.init.right\"]\n }\n }),\n wrapNativeSuper: helper(\"7.0.0-beta.0\", 'function _wrapNativeSuper(t){var r=\"function\"==typeof Map?new Map:void 0;return _wrapNativeSuper=function(t){if(null===t||!isNativeFunction(t))return t;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,Wrapper)}function Wrapper(){return construct(t,arguments,getPrototypeOf(this).constructor)}return Wrapper.prototype=Object.create(t.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),setPrototypeOf(Wrapper,t)},_wrapNativeSuper(t)}', {\n globals: [\"Map\", \"TypeError\", \"Object\"],\n locals: {\n _wrapNativeSuper: [\"body.0.id\", \"body.0.body.body.1.argument.expressions.1.callee\", \"body.0.body.body.1.argument.expressions.0.left\"]\n },\n exportBindingAssignments: [\"body.0.body.body.1.argument.expressions.0\"],\n exportName: \"_wrapNativeSuper\",\n dependencies: {\n getPrototypeOf: [\"body.0.body.body.1.argument.expressions.0.right.body.body.3.body.body.0.argument.arguments.2.object.callee\"],\n setPrototypeOf: [\"body.0.body.body.1.argument.expressions.0.right.body.body.4.argument.expressions.1.callee\"],\n isNativeFunction: [\"body.0.body.body.1.argument.expressions.0.right.body.body.0.test.right.argument.callee\"],\n construct: [\"body.0.body.body.1.argument.expressions.0.right.body.body.3.body.body.0.argument.callee\"]\n }\n }),\n wrapRegExp: helper(\"7.19.0\", 'function _wrapRegExp(){_wrapRegExp=function(e,r){return new BabelRegExp(e,void 0,r)};var e=RegExp.prototype,r=new WeakMap;function BabelRegExp(e,t,p){var o=RegExp(e,t);return r.set(o,p||r.get(e)),setPrototypeOf(o,BabelRegExp.prototype)}function buildGroups(e,t){var p=r.get(t);return Object.keys(p).reduce((function(r,t){var o=p[t];if(\"number\"==typeof o)r[t]=e[o];else{for(var i=0;void 0===e[o[i]]&&i+1]+)>/g,(function(e,r){var t=o[r];return\"$\"+(Array.isArray(t)?t.join(\"$\"):t)})))}if(\"function\"==typeof p){var i=this;return e[Symbol.replace].call(this,t,(function(){var e=arguments;return\"object\"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(buildGroups(e,i)),p.apply(this,e)}))}return e[Symbol.replace].call(this,t,p)},_wrapRegExp.apply(this,arguments)}', {\n globals: [\"RegExp\", \"WeakMap\", \"Object\", \"Symbol\", \"Array\"],\n locals: {\n _wrapRegExp: [\"body.0.id\", \"body.0.body.body.4.argument.expressions.3.callee.object\", \"body.0.body.body.0.expression.left\"]\n },\n exportBindingAssignments: [\"body.0.body.body.0.expression\"],\n exportName: \"_wrapRegExp\",\n dependencies: {\n setPrototypeOf: [\"body.0.body.body.2.body.body.1.argument.expressions.1.callee\"],\n inherits: [\"body.0.body.body.4.argument.expressions.0.callee\"]\n }\n }),\n writeOnlyError: helper(\"7.12.13\", \"function _writeOnlyError(r){throw new TypeError('\\\"'+r+'\\\" is write-only')}\", {\n globals: [\"TypeError\"],\n locals: {\n _writeOnlyError: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_writeOnlyError\",\n dependencies: {}\n })\n};\n{\n Object.assign(helpers, {\n AwaitValue: helper(\"7.0.0-beta.0\", \"function _AwaitValue(t){this.wrapped=t}\", {\n globals: [],\n locals: {\n _AwaitValue: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_AwaitValue\",\n dependencies: {}\n }),\n applyDecs: helper(\"7.17.8\", 'function old_createMetadataMethodsForProperty(e,t,a,r){return{getMetadata:function(o){old_assertNotFinished(r,\"getMetadata\"),old_assertMetadataKey(o);var i=e[o];if(void 0!==i)if(1===t){var n=i.public;if(void 0!==n)return n[a]}else if(2===t){var l=i.private;if(void 0!==l)return l.get(a)}else if(Object.hasOwnProperty.call(i,\"constructor\"))return i.constructor},setMetadata:function(o,i){old_assertNotFinished(r,\"setMetadata\"),old_assertMetadataKey(o);var n=e[o];if(void 0===n&&(n=e[o]={}),1===t){var l=n.public;void 0===l&&(l=n.public={}),l[a]=i}else if(2===t){var s=n.priv;void 0===s&&(s=n.private=new Map),s.set(a,i)}else n.constructor=i}}}function old_convertMetadataMapToFinal(e,t){var a=e[Symbol.metadata||Symbol.for(\"Symbol.metadata\")],r=Object.getOwnPropertySymbols(t);if(0!==r.length){for(var o=0;o=0;m--){var b;void 0!==(p=old_memberDec(h[m],r,c,l,s,o,i,n,f))&&(old_assertValidReturnValue(o,p),0===o?b=p:1===o?(b=old_getInit(p),v=p.get||f.get,y=p.set||f.set,f={get:v,set:y}):f=p,void 0!==b&&(void 0===d?d=b:\"function\"==typeof d?d=[d,b]:d.push(b)))}if(0===o||1===o){if(void 0===d)d=function(e,t){return t};else if(\"function\"!=typeof d){var g=d;d=function(e,t){for(var a=t,r=0;r3,m=v>=5;if(m?(u=t,f=r,0!=(v-=5)&&(p=n=n||[])):(u=t.prototype,f=a,0!==v&&(p=i=i||[])),0!==v&&!h){var b=m?s:l,g=b.get(y)||0;if(!0===g||3===g&&4!==v||4===g&&3!==v)throw Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \"+y);!g&&v>2?b.set(y,v):b.set(y,!0)}old_applyMemberDec(e,u,d,y,v,m,h,f,p)}}old_pushInitializers(e,i),old_pushInitializers(e,n)}function old_pushInitializers(e,t){t&&e.push((function(e){for(var a=0;a0){for(var o=[],i=t,n=t.name,l=r.length-1;l>=0;l--){var s={v:!1};try{var c=Object.assign({kind:\"class\",name:n,addInitializer:old_createAddInitializerMethod(o,s)},old_createMetadataMethodsForProperty(a,0,n,s)),d=r[l](i,c)}finally{s.v=!0}void 0!==d&&(old_assertValidReturnValue(10,d),i=d)}e.push(i,(function(){for(var e=0;e=0;v--){var g;void 0!==(f=memberDec(h[v],a,c,o,n,i,s,u))&&(assertValidReturnValue(n,f),0===n?g=f:1===n?(g=f.init,p=f.get||u.get,d=f.set||u.set,u={get:p,set:d}):u=f,void 0!==g&&(void 0===l?l=g:\"function\"==typeof l?l=[l,g]:l.push(g)))}if(0===n||1===n){if(void 0===l)l=function(e,t){return t};else if(\"function\"!=typeof l){var y=l;l=function(e,t){for(var r=t,a=0;a3,h=f>=5;if(h?(l=t,0!=(f-=5)&&(u=n=n||[])):(l=t.prototype,0!==f&&(u=a=a||[])),0!==f&&!d){var v=h?s:i,g=v.get(p)||0;if(!0===g||3===g&&4!==f||4===g&&3!==f)throw Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \"+p);!g&&f>2?v.set(p,f):v.set(p,!0)}applyMemberDec(e,l,c,p,f,h,d,u)}}pushInitializers(e,a),pushInitializers(e,n)}(a,e,t),function(e,t,r){if(r.length>0){for(var a=[],n=t,i=t.name,s=r.length-1;s>=0;s--){var o={v:!1};try{var c=r[s](n,{kind:\"class\",name:i,addInitializer:createAddInitializerMethod(a,o)})}finally{o.v=!0}void 0!==c&&(assertValidReturnValue(10,c),n=c)}e.push(n,(function(){for(var e=0;e=0;g--){var y;void 0!==(p=memberDec(v[g],n,c,s,a,i,o,f))&&(assertValidReturnValue(a,p),0===a?y=p:1===a?(y=p.init,d=p.get||f.get,h=p.set||f.set,f={get:d,set:h}):f=p,void 0!==y&&(void 0===l?l=y:\"function\"==typeof l?l=[l,y]:l.push(y)))}if(0===a||1===a){if(void 0===l)l=function(e,t){return t};else if(\"function\"!=typeof l){var m=l;l=function(e,t){for(var r=t,n=0;n3,h=f>=5;if(h?(l=e,0!=(f-=5)&&(u=n=n||[])):(l=e.prototype,0!==f&&(u=r=r||[])),0!==f&&!d){var v=h?o:i,g=v.get(p)||0;if(!0===g||3===g&&4!==f||4===g&&3!==f)throw Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \"+p);!g&&f>2?v.set(p,f):v.set(p,!0)}applyMemberDec(a,l,c,p,f,h,d,u)}}return pushInitializers(a,r),pushInitializers(a,n),a}function pushInitializers(e,t){t&&e.push((function(e){for(var r=0;r0){for(var r=[],n=e,a=e.name,i=t.length-1;i>=0;i--){var o={v:!1};try{var s=t[i](n,{kind:\"class\",name:a,addInitializer:createAddInitializerMethod(r,o)})}finally{o.v=!0}void 0!==s&&(assertValidReturnValue(10,s),n=s)}return[n,function(){for(var e=0;e=0;m--){var b;void 0!==(h=memberDec(g[m],n,u,o,a,i,s,p,c))&&(assertValidReturnValue(a,h),0===a?b=h:1===a?(b=h.init,v=h.get||p.get,y=h.set||p.set,p={get:v,set:y}):p=h,void 0!==b&&(void 0===l?l=b:\"function\"==typeof l?l=[l,b]:l.push(b)))}if(0===a||1===a){if(void 0===l)l=function(e,t){return t};else if(\"function\"!=typeof l){var I=l;l=function(e,t){for(var r=t,n=0;n3,y=d>=5,g=r;if(y?(f=e,0!=(d-=5)&&(p=a=a||[]),v&&!i&&(i=function(t){return checkInRHS(t)===e}),g=i):(f=e.prototype,0!==d&&(p=n=n||[])),0!==d&&!v){var m=y?c:o,b=m.get(h)||0;if(!0===b||3===b&&4!==d||4===b&&3!==d)throw Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \"+h);!b&&d>2?m.set(h,d):m.set(h,!0)}applyMemberDec(s,f,l,h,d,y,v,p,g)}}return pushInitializers(s,n),pushInitializers(s,a),s}function pushInitializers(e,t){t&&e.push((function(e){for(var r=0;r0){for(var r=[],n=e,a=e.name,i=t.length-1;i>=0;i--){var s={v:!1};try{var o=t[i](n,{kind:\"class\",name:a,addInitializer:createAddInitializerMethod(r,s)})}finally{s.v=!0}void 0!==o&&(assertValidReturnValue(10,o),n=o)}return[n,function(){for(var e=0;e=0;j-=r?2:1){var D=v[j],E=r?v[j-1]:void 0,I={},O={kind:[\"field\",\"accessor\",\"method\",\"getter\",\"setter\",\"class\"][o],name:n,metadata:a,addInitializer:function(e,t){if(e.v)throw Error(\"attempted to call addInitializer after decoration was finished\");s(t,\"An initializer\",\"be\",!0),c.push(t)}.bind(null,I)};try{if(b)(y=s(D.call(E,P,O),\"class decorators\",\"return\"))&&(P=y);else{var k,F;O.static=l,O.private=f,f?2===o?k=function(e){return m(e),w.value}:(o<4&&(k=i(w,\"get\",m)),3!==o&&(F=i(w,\"set\",m))):(k=function(e){return e[n]},(o<2||4===o)&&(F=function(e,t){e[n]=t}));var N=O.access={has:f?h.bind():function(e){return n in e}};if(k&&(N.get=k),F&&(N.set=F),P=D.call(E,d?{get:w.get,set:w.set}:w[A],O),d){if(\"object\"==typeof P&&P)(y=s(P.get,\"accessor.get\"))&&(w.get=y),(y=s(P.set,\"accessor.set\"))&&(w.set=y),(y=s(P.init,\"accessor.init\"))&&S.push(y);else if(void 0!==P)throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\")}else s(P,(p?\"field\":\"method\")+\" decorators\",\"return\")&&(p?S.push(P):w[A]=P)}}finally{I.v=!0}}return(p||d)&&u.push((function(e,t){for(var r=S.length-1;r>=0;r--)t=S[r].call(e,t);return t})),p||b||(f?d?u.push(i(w,\"get\"),i(w,\"set\")):u.push(2===o?w[A]:i.call.bind(w[A])):Object.defineProperty(e,n,w)),P}function u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for(\"Symbol.metadata\"),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var l=a[Symbol.metadata||Symbol.for(\"Symbol.metadata\")];var f=Object.create(null==l?null:l),p=function(e,t,r,n){var o,a,i=[],s=function(t){return checkInRHS(t)===e},u=new Map;function l(e){e&&i.push(c.bind(null,e))}for(var f=0;f3,y=16&d,v=!!(8&d),g=0==(d&=7),b=h+\"/\"+v;if(!g&&!m){var w=u.get(b);if(!0===w||3===w&&4!==d||4===w&&3!==d)throw Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \"+h);u.set(b,!(d>2)||d)}applyDec(v?e:e.prototype,p,y,m?\"#\"+h:toPropertyKey(h),d,n,v?a=a||[]:o=o||[],i,v,m,g,1===d,v&&m?s:r)}}return l(o),l(a),i}(e,t,o,f);return r.length||u(e,f),{e:p,get c(){var t=[];return r.length&&[u(applyDec(e,[r],n,e.name,5,f,t),f),c.bind(null,t,e)]}}}', {\n globals: [\"TypeError\", \"Array\", \"Object\", \"Error\", \"Symbol\", \"Map\"],\n locals: {\n applyDecs2305: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"applyDecs2305\",\n dependencies: {\n checkInRHS: [\"body.0.body.body.6.declarations.1.init.callee.body.body.0.declarations.3.init.body.body.0.argument.left.callee\"],\n setFunctionName: [\"body.0.body.body.3.body.body.2.consequent.body.2.expression.consequent.expressions.0.consequent.right.properties.0.value.callee\", \"body.0.body.body.3.body.body.2.consequent.body.2.expression.consequent.expressions.1.right.callee\"],\n toPropertyKey: [\"body.0.body.body.6.declarations.1.init.callee.body.body.2.body.body.1.consequent.body.2.expression.arguments.3.alternate.callee\"]\n }\n }),\n classApplyDescriptorDestructureSet: helper(\"7.13.10\", 'function _classApplyDescriptorDestructureSet(e,t){if(t.set)return\"__destrObj\"in t||(t.__destrObj={set value(r){t.set.call(e,r)}}),t.__destrObj;if(!t.writable)throw new TypeError(\"attempted to set read only private field\");return t}', {\n globals: [\"TypeError\"],\n locals: {\n _classApplyDescriptorDestructureSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classApplyDescriptorDestructureSet\",\n dependencies: {}\n }),\n classApplyDescriptorGet: helper(\"7.13.10\", \"function _classApplyDescriptorGet(e,t){return t.get?t.get.call(e):t.value}\", {\n globals: [],\n locals: {\n _classApplyDescriptorGet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classApplyDescriptorGet\",\n dependencies: {}\n }),\n classApplyDescriptorSet: helper(\"7.13.10\", 'function _classApplyDescriptorSet(e,t,l){if(t.set)t.set.call(e,l);else{if(!t.writable)throw new TypeError(\"attempted to set read only private field\");t.value=l}}', {\n globals: [\"TypeError\"],\n locals: {\n _classApplyDescriptorSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classApplyDescriptorSet\",\n dependencies: {}\n }),\n classCheckPrivateStaticAccess: helper(\"7.13.10\", \"function _classCheckPrivateStaticAccess(s,a,r){return assertClassBrand(a,s,r)}\", {\n globals: [],\n locals: {\n _classCheckPrivateStaticAccess: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classCheckPrivateStaticAccess\",\n dependencies: {\n assertClassBrand: [\"body.0.body.body.0.argument.callee\"]\n }\n }),\n classCheckPrivateStaticFieldDescriptor: helper(\"7.13.10\", 'function _classCheckPrivateStaticFieldDescriptor(t,e){if(void 0===t)throw new TypeError(\"attempted to \"+e+\" private static field before its declaration\")}', {\n globals: [\"TypeError\"],\n locals: {\n _classCheckPrivateStaticFieldDescriptor: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classCheckPrivateStaticFieldDescriptor\",\n dependencies: {}\n }),\n classExtractFieldDescriptor: helper(\"7.13.10\", \"function _classExtractFieldDescriptor(e,t){return classPrivateFieldGet2(t,e)}\", {\n globals: [],\n locals: {\n _classExtractFieldDescriptor: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classExtractFieldDescriptor\",\n dependencies: {\n classPrivateFieldGet2: [\"body.0.body.body.0.argument.callee\"]\n }\n }),\n classPrivateFieldDestructureSet: helper(\"7.4.4\", \"function _classPrivateFieldDestructureSet(e,t){var r=classPrivateFieldGet2(t,e);return classApplyDescriptorDestructureSet(e,r)}\", {\n globals: [],\n locals: {\n _classPrivateFieldDestructureSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classPrivateFieldDestructureSet\",\n dependencies: {\n classApplyDescriptorDestructureSet: [\"body.0.body.body.1.argument.callee\"],\n classPrivateFieldGet2: [\"body.0.body.body.0.declarations.0.init.callee\"]\n }\n }),\n classPrivateFieldGet: helper(\"7.0.0-beta.0\", \"function _classPrivateFieldGet(e,t){var r=classPrivateFieldGet2(t,e);return classApplyDescriptorGet(e,r)}\", {\n globals: [],\n locals: {\n _classPrivateFieldGet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classPrivateFieldGet\",\n dependencies: {\n classApplyDescriptorGet: [\"body.0.body.body.1.argument.callee\"],\n classPrivateFieldGet2: [\"body.0.body.body.0.declarations.0.init.callee\"]\n }\n }),\n classPrivateFieldSet: helper(\"7.0.0-beta.0\", \"function _classPrivateFieldSet(e,t,r){var s=classPrivateFieldGet2(t,e);return classApplyDescriptorSet(e,s,r),r}\", {\n globals: [],\n locals: {\n _classPrivateFieldSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classPrivateFieldSet\",\n dependencies: {\n classApplyDescriptorSet: [\"body.0.body.body.1.argument.expressions.0.callee\"],\n classPrivateFieldGet2: [\"body.0.body.body.0.declarations.0.init.callee\"]\n }\n }),\n classPrivateMethodGet: helper(\"7.1.6\", \"function _classPrivateMethodGet(s,a,r){return assertClassBrand(a,s),r}\", {\n globals: [],\n locals: {\n _classPrivateMethodGet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classPrivateMethodGet\",\n dependencies: {\n assertClassBrand: [\"body.0.body.body.0.argument.expressions.0.callee\"]\n }\n }),\n classPrivateMethodSet: helper(\"7.1.6\", 'function _classPrivateMethodSet(){throw new TypeError(\"attempted to reassign private method\")}', {\n globals: [\"TypeError\"],\n locals: {\n _classPrivateMethodSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classPrivateMethodSet\",\n dependencies: {}\n }),\n classStaticPrivateFieldDestructureSet: helper(\"7.13.10\", 'function _classStaticPrivateFieldDestructureSet(t,r,s){return assertClassBrand(r,t),classCheckPrivateStaticFieldDescriptor(s,\"set\"),classApplyDescriptorDestructureSet(t,s)}', {\n globals: [],\n locals: {\n _classStaticPrivateFieldDestructureSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classStaticPrivateFieldDestructureSet\",\n dependencies: {\n classApplyDescriptorDestructureSet: [\"body.0.body.body.0.argument.expressions.2.callee\"],\n assertClassBrand: [\"body.0.body.body.0.argument.expressions.0.callee\"],\n classCheckPrivateStaticFieldDescriptor: [\"body.0.body.body.0.argument.expressions.1.callee\"]\n }\n }),\n classStaticPrivateFieldSpecGet: helper(\"7.0.2\", 'function _classStaticPrivateFieldSpecGet(t,s,r){return assertClassBrand(s,t),classCheckPrivateStaticFieldDescriptor(r,\"get\"),classApplyDescriptorGet(t,r)}', {\n globals: [],\n locals: {\n _classStaticPrivateFieldSpecGet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classStaticPrivateFieldSpecGet\",\n dependencies: {\n classApplyDescriptorGet: [\"body.0.body.body.0.argument.expressions.2.callee\"],\n assertClassBrand: [\"body.0.body.body.0.argument.expressions.0.callee\"],\n classCheckPrivateStaticFieldDescriptor: [\"body.0.body.body.0.argument.expressions.1.callee\"]\n }\n }),\n classStaticPrivateFieldSpecSet: helper(\"7.0.2\", 'function _classStaticPrivateFieldSpecSet(s,t,r,e){return assertClassBrand(t,s),classCheckPrivateStaticFieldDescriptor(r,\"set\"),classApplyDescriptorSet(s,r,e),e}', {\n globals: [],\n locals: {\n _classStaticPrivateFieldSpecSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classStaticPrivateFieldSpecSet\",\n dependencies: {\n classApplyDescriptorSet: [\"body.0.body.body.0.argument.expressions.2.callee\"],\n assertClassBrand: [\"body.0.body.body.0.argument.expressions.0.callee\"],\n classCheckPrivateStaticFieldDescriptor: [\"body.0.body.body.0.argument.expressions.1.callee\"]\n }\n }),\n classStaticPrivateMethodSet: helper(\"7.3.2\", 'function _classStaticPrivateMethodSet(){throw new TypeError(\"attempted to set read only static private field\")}', {\n globals: [\"TypeError\"],\n locals: {\n _classStaticPrivateMethodSet: [\"body.0.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_classStaticPrivateMethodSet\",\n dependencies: {}\n }),\n defineEnumerableProperties: helper(\"7.0.0-beta.0\", 'function _defineEnumerableProperties(e,r){for(var t in r){var n=r[t];n.configurable=n.enumerable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,t,n)}if(Object.getOwnPropertySymbols)for(var a=Object.getOwnPropertySymbols(r),b=0;b0;)try{var o=r.pop(),p=o.d.call(o.v);if(o.a)return Promise.resolve(p).then(next,err)}catch(r){return err(r)}if(s)throw e}function err(r){return e=s?new dispose_SuppressedError(e,r):r,s=!0,next()}return next()}', {\n globals: [\"SuppressedError\", \"Error\", \"Object\", \"Promise\"],\n locals: {\n dispose_SuppressedError: [\"body.0.id\", \"body.0.body.body.0.argument.expressions.0.alternate.expressions.1.left.object\", \"body.0.body.body.0.argument.expressions.0.alternate.expressions.1.right.arguments.1.properties.0.value.properties.0.value\", \"body.0.body.body.0.argument.expressions.1.callee\", \"body.1.body.body.1.body.body.0.argument.expressions.0.right.consequent.callee\", \"body.0.body.body.0.argument.expressions.0.consequent.left\", \"body.0.body.body.0.argument.expressions.0.alternate.expressions.0.left\"],\n _dispose: [\"body.1.id\"]\n },\n exportBindingAssignments: [],\n exportName: \"_dispose\",\n dependencies: {}\n }),\n objectSpread: helper(\"7.0.0-beta.0\", 'function _objectSpread(e){for(var r=1;r { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nexports.get = get;\nexports.getDependencies = getDependencies;\nexports.list = void 0;\nexports.minVersion = minVersion;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _helpersGenerated = __webpack_require__(/*! ./helpers-generated.js */ \"./node_modules/@babel/helpers/lib/helpers-generated.js\");\nconst {\n cloneNode,\n identifier\n} = _t;\nfunction deep(obj, path, value) {\n try {\n const parts = path.split(\".\");\n let last = parts.shift();\n while (parts.length > 0) {\n obj = obj[last];\n last = parts.shift();\n }\n if (arguments.length > 2) {\n obj[last] = value;\n } else {\n return obj[last];\n }\n } catch (e) {\n e.message += ` (when accessing ${path})`;\n throw e;\n }\n}\nfunction permuteHelperAST(ast, metadata, bindingName, localBindings, getDependency, adjustAst) {\n const {\n locals,\n dependencies,\n exportBindingAssignments,\n exportName\n } = metadata;\n const bindings = new Set(localBindings || []);\n if (bindingName) bindings.add(bindingName);\n for (const [name, paths] of (Object.entries || (o => Object.keys(o).map(k => [k, o[k]])))(locals)) {\n let newName = name;\n if (bindingName && name === exportName) {\n newName = bindingName;\n } else {\n while (bindings.has(newName)) newName = \"_\" + newName;\n }\n if (newName !== name) {\n for (const path of paths) {\n deep(ast, path, identifier(newName));\n }\n }\n }\n for (const [name, paths] of (Object.entries || (o => Object.keys(o).map(k => [k, o[k]])))(dependencies)) {\n const ref = typeof getDependency === \"function\" && getDependency(name) || identifier(name);\n for (const path of paths) {\n deep(ast, path, cloneNode(ref));\n }\n }\n adjustAst == null || adjustAst(ast, exportName, map => {\n exportBindingAssignments.forEach(p => deep(ast, p, map(deep(ast, p))));\n });\n}\nconst helperData = Object.create(null);\nfunction loadHelper(name) {\n if (!helperData[name]) {\n const helper = _helpersGenerated.default[name];\n if (!helper) {\n throw Object.assign(new ReferenceError(`Unknown helper ${name}`), {\n code: \"BABEL_HELPER_UNKNOWN\",\n helper: name\n });\n }\n helperData[name] = {\n minVersion: helper.minVersion,\n build(getDependency, bindingName, localBindings, adjustAst) {\n const ast = helper.ast();\n permuteHelperAST(ast, helper.metadata, bindingName, localBindings, getDependency, adjustAst);\n return {\n nodes: ast.body,\n globals: helper.metadata.globals\n };\n },\n getDependencies() {\n return Object.keys(helper.metadata.dependencies);\n }\n };\n }\n return helperData[name];\n}\nfunction get(name, getDependency, bindingName, localBindings, adjustAst) {\n {\n if (typeof bindingName === \"object\") {\n const id = bindingName;\n if ((id == null ? void 0 : id.type) === \"Identifier\") {\n bindingName = id.name;\n } else {\n bindingName = undefined;\n }\n }\n }\n return loadHelper(name).build(getDependency, bindingName, localBindings, adjustAst);\n}\nfunction minVersion(name) {\n return loadHelper(name).minVersion;\n}\nfunction getDependencies(name) {\n return loadHelper(name).getDependencies();\n}\n{\n exports.ensure = name => {\n loadHelper(name);\n };\n}\nconst list = exports.list = Object.keys(_helpersGenerated.default).map(name => name.replace(/^_/, \"\"));\nvar _default = exports[\"default\"] = get;\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/helpers/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/parser/lib/index.js": +/*!*************************************************!*\ + !*** ./node_modules/@babel/parser/lib/index.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nclass Position {\n constructor(line, col, index) {\n this.line = void 0;\n this.column = void 0;\n this.index = void 0;\n this.line = line;\n this.column = col;\n this.index = index;\n }\n}\nclass SourceLocation {\n constructor(start, end) {\n this.start = void 0;\n this.end = void 0;\n this.filename = void 0;\n this.identifierName = void 0;\n this.start = start;\n this.end = end;\n }\n}\nfunction createPositionWithColumnOffset(position, columnOffset) {\n const {\n line,\n column,\n index\n } = position;\n return new Position(line, column + columnOffset, index + columnOffset);\n}\nconst code = \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\";\nvar ModuleErrors = {\n ImportMetaOutsideModule: {\n message: `import.meta may appear only with 'sourceType: \"module\"'`,\n code\n },\n ImportOutsideModule: {\n message: `'import' and 'export' may appear only with 'sourceType: \"module\"'`,\n code\n }\n};\nconst NodeDescriptions = {\n ArrayPattern: \"array destructuring pattern\",\n AssignmentExpression: \"assignment expression\",\n AssignmentPattern: \"assignment expression\",\n ArrowFunctionExpression: \"arrow function expression\",\n ConditionalExpression: \"conditional expression\",\n CatchClause: \"catch clause\",\n ForOfStatement: \"for-of statement\",\n ForInStatement: \"for-in statement\",\n ForStatement: \"for-loop\",\n FormalParameters: \"function parameter list\",\n Identifier: \"identifier\",\n ImportSpecifier: \"import specifier\",\n ImportDefaultSpecifier: \"import default specifier\",\n ImportNamespaceSpecifier: \"import namespace specifier\",\n ObjectPattern: \"object destructuring pattern\",\n ParenthesizedExpression: \"parenthesized expression\",\n RestElement: \"rest element\",\n UpdateExpression: {\n true: \"prefix operation\",\n false: \"postfix operation\"\n },\n VariableDeclarator: \"variable declaration\",\n YieldExpression: \"yield expression\"\n};\nconst toNodeDescription = node => node.type === \"UpdateExpression\" ? NodeDescriptions.UpdateExpression[`${node.prefix}`] : NodeDescriptions[node.type];\nvar StandardErrors = {\n AccessorIsGenerator: ({\n kind\n }) => `A ${kind}ter cannot be a generator.`,\n ArgumentsInClass: \"'arguments' is only allowed in functions and class methods.\",\n AsyncFunctionInSingleStatementContext: \"Async functions can only be declared at the top level or inside a block.\",\n AwaitBindingIdentifier: \"Can not use 'await' as identifier inside an async function.\",\n AwaitBindingIdentifierInStaticBlock: \"Can not use 'await' as identifier inside a static block.\",\n AwaitExpressionFormalParameter: \"'await' is not allowed in async function parameters.\",\n AwaitUsingNotInAsyncContext: \"'await using' is only allowed within async functions and at the top levels of modules.\",\n AwaitNotInAsyncContext: \"'await' is only allowed within async functions and at the top levels of modules.\",\n AwaitNotInAsyncFunction: \"'await' is only allowed within async functions.\",\n BadGetterArity: \"A 'get' accessor must not have any formal parameters.\",\n BadSetterArity: \"A 'set' accessor must have exactly one formal parameter.\",\n BadSetterRestParameter: \"A 'set' accessor function argument must not be a rest parameter.\",\n ConstructorClassField: \"Classes may not have a field named 'constructor'.\",\n ConstructorClassPrivateField: \"Classes may not have a private field named '#constructor'.\",\n ConstructorIsAccessor: \"Class constructor may not be an accessor.\",\n ConstructorIsAsync: \"Constructor can't be an async function.\",\n ConstructorIsGenerator: \"Constructor can't be a generator.\",\n DeclarationMissingInitializer: ({\n kind\n }) => `Missing initializer in ${kind} declaration.`,\n DecoratorArgumentsOutsideParentheses: \"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.\",\n DecoratorBeforeExport: \"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.\",\n DecoratorsBeforeAfterExport: \"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.\",\n DecoratorConstructor: \"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",\n DecoratorExportClass: \"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.\",\n DecoratorSemicolon: \"Decorators must not be followed by a semicolon.\",\n DecoratorStaticBlock: \"Decorators can't be used with a static block.\",\n DeferImportRequiresNamespace: 'Only `import defer * as x from \"./module\"` is valid.',\n DeletePrivateField: \"Deleting a private field is not allowed.\",\n DestructureNamedImport: \"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",\n DuplicateConstructor: \"Duplicate constructor in the same class.\",\n DuplicateDefaultExport: \"Only one default export allowed per module.\",\n DuplicateExport: ({\n exportName\n }) => `\\`${exportName}\\` has already been exported. Exported identifiers must be unique.`,\n DuplicateProto: \"Redefinition of __proto__ property.\",\n DuplicateRegExpFlags: \"Duplicate regular expression flag.\",\n DynamicImportPhaseRequiresImportExpressions: ({\n phase\n }) => `'import.${phase}(...)' can only be parsed when using the 'createImportExpressions' option.`,\n ElementAfterRest: \"Rest element must be last element.\",\n EscapedCharNotAnIdentifier: \"Invalid Unicode escape.\",\n ExportBindingIsString: ({\n localName,\n exportName\n }) => `A string literal cannot be used as an exported binding without \\`from\\`.\\n- Did you mean \\`export { '${localName}' as '${exportName}' } from 'some-module'\\`?`,\n ExportDefaultFromAsIdentifier: \"'from' is not allowed as an identifier after 'export default'.\",\n ForInOfLoopInitializer: ({\n type\n }) => `'${type === \"ForInStatement\" ? \"for-in\" : \"for-of\"}' loop variable declaration may not have an initializer.`,\n ForInUsing: \"For-in loop may not start with 'using' declaration.\",\n ForOfAsync: \"The left-hand side of a for-of loop may not be 'async'.\",\n ForOfLet: \"The left-hand side of a for-of loop may not start with 'let'.\",\n GeneratorInSingleStatementContext: \"Generators can only be declared at the top level or inside a block.\",\n IllegalBreakContinue: ({\n type\n }) => `Unsyntactic ${type === \"BreakStatement\" ? \"break\" : \"continue\"}.`,\n IllegalLanguageModeDirective: \"Illegal 'use strict' directive in function with non-simple parameter list.\",\n IllegalReturn: \"'return' outside of function.\",\n ImportAttributesUseAssert: \"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.\",\n ImportBindingIsString: ({\n importName\n }) => `A string literal cannot be used as an imported binding.\\n- Did you mean \\`import { \"${importName}\" as foo }\\`?`,\n ImportCallArity: `\\`import()\\` requires exactly one or two arguments.`,\n ImportCallNotNewExpression: \"Cannot use new with import(...).\",\n ImportCallSpreadArgument: \"`...` is not allowed in `import()`.\",\n ImportJSONBindingNotDefault: \"A JSON module can only be imported with `default`.\",\n ImportReflectionHasAssertion: \"`import module x` cannot have assertions.\",\n ImportReflectionNotBinding: 'Only `import module x from \"./module\"` is valid.',\n IncompatibleRegExpUVFlags: \"The 'u' and 'v' regular expression flags cannot be enabled at the same time.\",\n InvalidBigIntLiteral: \"Invalid BigIntLiteral.\",\n InvalidCodePoint: \"Code point out of bounds.\",\n InvalidCoverInitializedName: \"Invalid shorthand property initializer.\",\n InvalidDecimal: \"Invalid decimal.\",\n InvalidDigit: ({\n radix\n }) => `Expected number in radix ${radix}.`,\n InvalidEscapeSequence: \"Bad character escape sequence.\",\n InvalidEscapeSequenceTemplate: \"Invalid escape sequence in template.\",\n InvalidEscapedReservedWord: ({\n reservedWord\n }) => `Escape sequence in keyword ${reservedWord}.`,\n InvalidIdentifier: ({\n identifierName\n }) => `Invalid identifier ${identifierName}.`,\n InvalidLhs: ({\n ancestor\n }) => `Invalid left-hand side in ${toNodeDescription(ancestor)}.`,\n InvalidLhsBinding: ({\n ancestor\n }) => `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`,\n InvalidLhsOptionalChaining: ({\n ancestor\n }) => `Invalid optional chaining in the left-hand side of ${toNodeDescription(ancestor)}.`,\n InvalidNumber: \"Invalid number.\",\n InvalidOrMissingExponent: \"Floating-point numbers require a valid exponent after the 'e'.\",\n InvalidOrUnexpectedToken: ({\n unexpected\n }) => `Unexpected character '${unexpected}'.`,\n InvalidParenthesizedAssignment: \"Invalid parenthesized assignment pattern.\",\n InvalidPrivateFieldResolution: ({\n identifierName\n }) => `Private name #${identifierName} is not defined.`,\n InvalidPropertyBindingPattern: \"Binding member expression.\",\n InvalidRecordProperty: \"Only properties and spread elements are allowed in record definitions.\",\n InvalidRestAssignmentPattern: \"Invalid rest operator's argument.\",\n LabelRedeclaration: ({\n labelName\n }) => `Label '${labelName}' is already declared.`,\n LetInLexicalBinding: \"'let' is disallowed as a lexically bound name.\",\n LineTerminatorBeforeArrow: \"No line break is allowed before '=>'.\",\n MalformedRegExpFlags: \"Invalid regular expression flag.\",\n MissingClassName: \"A class name is required.\",\n MissingEqInAssignment: \"Only '=' operator can be used for specifying default value.\",\n MissingSemicolon: \"Missing semicolon.\",\n MissingPlugin: ({\n missingPlugin\n }) => `This experimental syntax requires enabling the parser plugin: ${missingPlugin.map(name => JSON.stringify(name)).join(\", \")}.`,\n MissingOneOfPlugins: ({\n missingPlugin\n }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin.map(name => JSON.stringify(name)).join(\", \")}.`,\n MissingUnicodeEscape: \"Expecting Unicode escape sequence \\\\uXXXX.\",\n MixingCoalesceWithLogical: \"Nullish coalescing operator(??) requires parens when mixing with logical operators.\",\n ModuleAttributeDifferentFromType: \"The only accepted module attribute is `type`.\",\n ModuleAttributeInvalidValue: \"Only string literals are allowed as module attribute values.\",\n ModuleAttributesWithDuplicateKeys: ({\n key\n }) => `Duplicate key \"${key}\" is not allowed in module attributes.`,\n ModuleExportNameHasLoneSurrogate: ({\n surrogateCharCode\n }) => `An export name cannot include a lone surrogate, found '\\\\u${surrogateCharCode.toString(16)}'.`,\n ModuleExportUndefined: ({\n localName\n }) => `Export '${localName}' is not defined.`,\n MultipleDefaultsInSwitch: \"Multiple default clauses.\",\n NewlineAfterThrow: \"Illegal newline after throw.\",\n NoCatchOrFinally: \"Missing catch or finally clause.\",\n NumberIdentifier: \"Identifier directly after number.\",\n NumericSeparatorInEscapeSequence: \"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.\",\n ObsoleteAwaitStar: \"'await*' has been removed from the async functions proposal. Use Promise.all() instead.\",\n OptionalChainingNoNew: \"Constructors in/after an Optional Chain are not allowed.\",\n OptionalChainingNoTemplate: \"Tagged Template Literals are not allowed in optionalChain.\",\n OverrideOnConstructor: \"'override' modifier cannot appear on a constructor declaration.\",\n ParamDupe: \"Argument name clash.\",\n PatternHasAccessor: \"Object pattern can't contain getter or setter.\",\n PatternHasMethod: \"Object pattern can't contain methods.\",\n PrivateInExpectedIn: ({\n identifierName\n }) => `Private names are only allowed in property accesses (\\`obj.#${identifierName}\\`) or in \\`in\\` expressions (\\`#${identifierName} in obj\\`).`,\n PrivateNameRedeclaration: ({\n identifierName\n }) => `Duplicate private name #${identifierName}.`,\n RecordExpressionBarIncorrectEndSyntaxType: \"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionBarIncorrectStartSyntaxType: \"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionHashIncorrectStartSyntaxType: \"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n RecordNoProto: \"'__proto__' is not allowed in Record expressions.\",\n RestTrailingComma: \"Unexpected trailing comma after rest element.\",\n SloppyFunction: \"In non-strict mode code, functions can only be declared at top level or inside a block.\",\n SloppyFunctionAnnexB: \"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 SourcePhaseImportRequiresDefault: 'Only `import source x from \"./module\"` is valid.',\n StaticPrototype: \"Classes may not have static property named prototype.\",\n SuperNotAllowed: \"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",\n SuperPrivateField: \"Private fields can't be accessed on super.\",\n TrailingDecorator: \"Decorators must be attached to a class element.\",\n TupleExpressionBarIncorrectEndSyntaxType: \"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionBarIncorrectStartSyntaxType: \"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionHashIncorrectStartSyntaxType: \"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n UnexpectedArgumentPlaceholder: \"Unexpected argument placeholder.\",\n UnexpectedAwaitAfterPipelineBody: 'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal.',\n UnexpectedDigitAfterHash: \"Unexpected digit after hash token.\",\n UnexpectedImportExport: \"'import' and 'export' may only appear at the top level.\",\n UnexpectedKeyword: ({\n keyword\n }) => `Unexpected keyword '${keyword}'.`,\n UnexpectedLeadingDecorator: \"Leading decorators must be attached to a class declaration.\",\n UnexpectedLexicalDeclaration: \"Lexical declaration cannot appear in a single-statement context.\",\n UnexpectedNewTarget: \"`new.target` can only be used in functions or class properties.\",\n UnexpectedNumericSeparator: \"A numeric separator is only allowed between two digits.\",\n UnexpectedPrivateField: \"Unexpected private name.\",\n UnexpectedReservedWord: ({\n reservedWord\n }) => `Unexpected reserved word '${reservedWord}'.`,\n UnexpectedSuper: \"'super' is only allowed in object methods and classes.\",\n UnexpectedToken: ({\n expected,\n unexpected\n }) => `Unexpected token${unexpected ? ` '${unexpected}'.` : \"\"}${expected ? `, expected \"${expected}\"` : \"\"}`,\n UnexpectedTokenUnaryExponentiation: \"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",\n UnexpectedUsingDeclaration: \"Using declaration cannot appear in the top level when source type is `script`.\",\n UnsupportedBind: \"Binding should be performed on object property.\",\n UnsupportedDecoratorExport: \"A decorated export must export a class declaration.\",\n UnsupportedDefaultExport: \"Only expressions, functions or classes are allowed as the `default` export.\",\n UnsupportedImport: \"`import` can only be used in `import()` or `import.meta`.\",\n UnsupportedMetaProperty: ({\n target,\n onlyValidPropertyName\n }) => `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`,\n UnsupportedParameterDecorator: \"Decorators cannot be used to decorate parameters.\",\n UnsupportedPropertyDecorator: \"Decorators cannot be used to decorate object literal properties.\",\n UnsupportedSuper: \"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).\",\n UnterminatedComment: \"Unterminated comment.\",\n UnterminatedRegExp: \"Unterminated regular expression.\",\n UnterminatedString: \"Unterminated string constant.\",\n UnterminatedTemplate: \"Unterminated template.\",\n UsingDeclarationExport: \"Using declaration cannot be exported.\",\n UsingDeclarationHasBindingPattern: \"Using declaration cannot have destructuring patterns.\",\n VarRedeclaration: ({\n identifierName\n }) => `Identifier '${identifierName}' has already been declared.`,\n YieldBindingIdentifier: \"Can not use 'yield' as identifier inside a generator.\",\n YieldInParameter: \"Yield expression is not allowed in formal parameters.\",\n ZeroDigitNumericSeparator: \"Numeric separator can not be used after leading 0.\"\n};\nvar StrictModeErrors = {\n StrictDelete: \"Deleting local variable in strict mode.\",\n StrictEvalArguments: ({\n referenceName\n }) => `Assigning to '${referenceName}' in strict mode.`,\n StrictEvalArgumentsBinding: ({\n bindingName\n }) => `Binding '${bindingName}' in strict mode.`,\n StrictFunction: \"In strict mode code, functions can only be declared at top level or inside a block.\",\n StrictNumericEscape: \"The only valid numeric escape in strict mode is '\\\\0'.\",\n StrictOctalLiteral: \"Legacy octal literals are not allowed in strict mode.\",\n StrictWith: \"'with' in strict mode.\"\n};\nconst UnparenthesizedPipeBodyDescriptions = new Set([\"ArrowFunctionExpression\", \"AssignmentExpression\", \"ConditionalExpression\", \"YieldExpression\"]);\nvar PipelineOperatorErrors = {\n PipeBodyIsTighter: \"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.\",\n PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n PipeTopicUnbound: \"Topic reference is unbound; it must be inside a pipe body.\",\n PipeTopicUnconfiguredToken: ({\n token\n }) => `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \"${token}\" }.`,\n PipeTopicUnused: \"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.\",\n PipeUnparenthesizedBody: ({\n type\n }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({\n type\n })}; please wrap it in parentheses.`,\n PipelineBodyNoArrow: 'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized.',\n PipelineBodySequenceExpression: \"Pipeline body may not be a comma-separated sequence expression.\",\n PipelineHeadSequenceExpression: \"Pipeline head should not be a comma-separated sequence expression.\",\n PipelineTopicUnused: \"Pipeline is in topic style but does not use topic reference.\",\n PrimaryTopicNotAllowed: \"Topic reference was used in a lexical context without topic binding.\",\n PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.'\n};\nconst _excluded = [\"message\"];\nfunction defineHidden(obj, key, value) {\n Object.defineProperty(obj, key, {\n enumerable: false,\n configurable: true,\n value\n });\n}\nfunction toParseErrorConstructor({\n toMessage,\n code,\n reasonCode,\n syntaxPlugin\n}) {\n const hasMissingPlugin = reasonCode === \"MissingPlugin\" || reasonCode === \"MissingOneOfPlugins\";\n {\n const oldReasonCodes = {\n AccessorCannotDeclareThisParameter: \"AccesorCannotDeclareThisParameter\",\n AccessorCannotHaveTypeParameters: \"AccesorCannotHaveTypeParameters\",\n ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: \"ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference\",\n SetAccessorCannotHaveOptionalParameter: \"SetAccesorCannotHaveOptionalParameter\",\n SetAccessorCannotHaveRestParameter: \"SetAccesorCannotHaveRestParameter\",\n SetAccessorCannotHaveReturnType: \"SetAccesorCannotHaveReturnType\"\n };\n if (oldReasonCodes[reasonCode]) {\n reasonCode = oldReasonCodes[reasonCode];\n }\n }\n return function constructor(loc, details) {\n const error = new SyntaxError();\n error.code = code;\n error.reasonCode = reasonCode;\n error.loc = loc;\n error.pos = loc.index;\n error.syntaxPlugin = syntaxPlugin;\n if (hasMissingPlugin) {\n error.missingPlugin = details.missingPlugin;\n }\n defineHidden(error, \"clone\", function clone(overrides = {}) {\n var _overrides$loc;\n const {\n line,\n column,\n index\n } = (_overrides$loc = overrides.loc) != null ? _overrides$loc : loc;\n return constructor(new Position(line, column, index), Object.assign({}, details, overrides.details));\n });\n defineHidden(error, \"details\", details);\n Object.defineProperty(error, \"message\", {\n configurable: true,\n get() {\n const message = `${toMessage(details)} (${loc.line}:${loc.column})`;\n this.message = message;\n return message;\n },\n set(value) {\n Object.defineProperty(this, \"message\", {\n value,\n writable: true\n });\n }\n });\n return error;\n };\n}\nfunction ParseErrorEnum(argument, syntaxPlugin) {\n if (Array.isArray(argument)) {\n return parseErrorTemplates => ParseErrorEnum(parseErrorTemplates, argument[0]);\n }\n const ParseErrorConstructors = {};\n for (const reasonCode of Object.keys(argument)) {\n const template = argument[reasonCode];\n const _ref = typeof template === \"string\" ? {\n message: () => template\n } : typeof template === \"function\" ? {\n message: template\n } : template,\n {\n message\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n const toMessage = typeof message === \"string\" ? () => message : message;\n ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({\n code: \"BABEL_PARSER_SYNTAX_ERROR\",\n reasonCode,\n toMessage\n }, syntaxPlugin ? {\n syntaxPlugin\n } : {}, rest));\n }\n return ParseErrorConstructors;\n}\nconst Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors));\nconst {\n defineProperty\n} = Object;\nconst toUnenumerable = (object, key) => {\n if (object) {\n defineProperty(object, key, {\n enumerable: false,\n value: object[key]\n });\n }\n};\nfunction toESTreeLocation(node) {\n toUnenumerable(node.loc.start, \"index\");\n toUnenumerable(node.loc.end, \"index\");\n return node;\n}\nvar estree = superClass => class ESTreeParserMixin extends superClass {\n parse() {\n const file = toESTreeLocation(super.parse());\n if (this.options.tokens) {\n file.tokens = file.tokens.map(toESTreeLocation);\n }\n return file;\n }\n parseRegExpLiteral({\n pattern,\n flags\n }) {\n let regex = null;\n try {\n regex = new RegExp(pattern, flags);\n } catch (_) {}\n const node = this.estreeParseLiteral(regex);\n node.regex = {\n pattern,\n flags\n };\n return node;\n }\n parseBigIntLiteral(value) {\n let bigInt;\n try {\n bigInt = BigInt(value);\n } catch (_unused) {\n bigInt = null;\n }\n const node = this.estreeParseLiteral(bigInt);\n node.bigint = String(node.value || value);\n return node;\n }\n parseDecimalLiteral(value) {\n const decimal = null;\n const node = this.estreeParseLiteral(decimal);\n node.decimal = String(node.value || value);\n return node;\n }\n estreeParseLiteral(value) {\n return this.parseLiteral(value, \"Literal\");\n }\n parseStringLiteral(value) {\n return this.estreeParseLiteral(value);\n }\n parseNumericLiteral(value) {\n return this.estreeParseLiteral(value);\n }\n parseNullLiteral() {\n return this.estreeParseLiteral(null);\n }\n parseBooleanLiteral(value) {\n return this.estreeParseLiteral(value);\n }\n directiveToStmt(directive) {\n const expression = directive.value;\n delete directive.value;\n expression.type = \"Literal\";\n expression.raw = expression.extra.raw;\n expression.value = expression.extra.expressionValue;\n const stmt = directive;\n stmt.type = \"ExpressionStatement\";\n stmt.expression = expression;\n stmt.directive = expression.extra.rawValue;\n delete expression.extra;\n return stmt;\n }\n initFunction(node, isAsync) {\n super.initFunction(node, isAsync);\n node.expression = false;\n }\n checkDeclaration(node) {\n if (node != null && this.isObjectProperty(node)) {\n this.checkDeclaration(node.value);\n } else {\n super.checkDeclaration(node);\n }\n }\n getObjectOrClassMethodParams(method) {\n return method.value.params;\n }\n isValidDirective(stmt) {\n var _stmt$expression$extr;\n return stmt.type === \"ExpressionStatement\" && stmt.expression.type === \"Literal\" && typeof stmt.expression.value === \"string\" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized);\n }\n parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) {\n super.parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse);\n const directiveStatements = node.directives.map(d => this.directiveToStmt(d));\n node.body = directiveStatements.concat(node.body);\n delete node.directives;\n }\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, \"ClassMethod\", true);\n if (method.typeParameters) {\n method.value.typeParameters = method.typeParameters;\n delete method.typeParameters;\n }\n classBody.body.push(method);\n }\n parsePrivateName() {\n const node = super.parsePrivateName();\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return node;\n }\n }\n return this.convertPrivateNameToPrivateIdentifier(node);\n }\n convertPrivateNameToPrivateIdentifier(node) {\n const name = super.getPrivateNameSV(node);\n node = node;\n delete node.id;\n node.name = name;\n node.type = \"PrivateIdentifier\";\n return node;\n }\n isPrivateName(node) {\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.isPrivateName(node);\n }\n }\n return node.type === \"PrivateIdentifier\";\n }\n getPrivateNameSV(node) {\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.getPrivateNameSV(node);\n }\n }\n return node.name;\n }\n parseLiteral(value, type) {\n const node = super.parseLiteral(value, type);\n node.raw = node.extra.raw;\n delete node.extra;\n return node;\n }\n parseFunctionBody(node, allowExpression, isMethod = false) {\n super.parseFunctionBody(node, allowExpression, isMethod);\n node.expression = node.body.type !== \"BlockStatement\";\n }\n parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) {\n let funcNode = this.startNode();\n funcNode.kind = node.kind;\n funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope);\n funcNode.type = \"FunctionExpression\";\n delete funcNode.kind;\n node.value = funcNode;\n if (type === \"ClassPrivateMethod\") {\n node.computed = false;\n }\n return this.finishNode(node, \"MethodDefinition\");\n }\n nameIsConstructor(key) {\n if (key.type === \"Literal\") return key.value === \"constructor\";\n return super.nameIsConstructor(key);\n }\n parseClassProperty(...args) {\n const propertyNode = super.parseClassProperty(...args);\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return propertyNode;\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n return propertyNode;\n }\n parseClassPrivateProperty(...args) {\n const propertyNode = super.parseClassPrivateProperty(...args);\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return propertyNode;\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n propertyNode.computed = false;\n return propertyNode;\n }\n parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {\n const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor);\n if (node) {\n node.type = \"Property\";\n if (node.kind === \"method\") {\n node.kind = \"init\";\n }\n node.shorthand = false;\n }\n return node;\n }\n parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) {\n const node = super.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors);\n if (node) {\n node.kind = \"init\";\n node.type = \"Property\";\n }\n return node;\n }\n isValidLVal(type, isUnparenthesizedInAssign, binding) {\n return type === \"Property\" ? \"value\" : super.isValidLVal(type, isUnparenthesizedInAssign, binding);\n }\n isAssignable(node, isBinding) {\n if (node != null && this.isObjectProperty(node)) {\n return this.isAssignable(node.value, isBinding);\n }\n return super.isAssignable(node, isBinding);\n }\n toAssignable(node, isLHS = false) {\n if (node != null && this.isObjectProperty(node)) {\n const {\n key,\n value\n } = node;\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);\n }\n this.toAssignable(value, isLHS);\n } else {\n super.toAssignable(node, isLHS);\n }\n }\n toAssignableObjectExpressionProp(prop, isLast, isLHS) {\n if (prop.type === \"Property\" && (prop.kind === \"get\" || prop.kind === \"set\")) {\n this.raise(Errors.PatternHasAccessor, prop.key);\n } else if (prop.type === \"Property\" && prop.method) {\n this.raise(Errors.PatternHasMethod, prop.key);\n } else {\n super.toAssignableObjectExpressionProp(prop, isLast, isLHS);\n }\n }\n finishCallExpression(unfinished, optional) {\n const node = super.finishCallExpression(unfinished, optional);\n if (node.callee.type === \"Import\") {\n var _ref, _ref2;\n node.type = \"ImportExpression\";\n node.source = node.arguments[0];\n node.options = (_ref = node.arguments[1]) != null ? _ref : null;\n node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null;\n delete node.arguments;\n delete node.callee;\n }\n return node;\n }\n toReferencedArguments(node) {\n if (node.type === \"ImportExpression\") {\n return;\n }\n super.toReferencedArguments(node);\n }\n parseExport(unfinished, decorators) {\n const exportStartLoc = this.state.lastTokStartLoc;\n const node = super.parseExport(unfinished, decorators);\n switch (node.type) {\n case \"ExportAllDeclaration\":\n node.exported = null;\n break;\n case \"ExportNamedDeclaration\":\n if (node.specifiers.length === 1 && node.specifiers[0].type === \"ExportNamespaceSpecifier\") {\n node.type = \"ExportAllDeclaration\";\n node.exported = node.specifiers[0].exported;\n delete node.specifiers;\n }\n case \"ExportDefaultDeclaration\":\n {\n var _declaration$decorato;\n const {\n declaration\n } = node;\n if ((declaration == null ? void 0 : declaration.type) === \"ClassDeclaration\" && ((_declaration$decorato = declaration.decorators) == null ? void 0 : _declaration$decorato.length) > 0 && declaration.start === node.start) {\n this.resetStartLocation(node, exportStartLoc);\n }\n }\n break;\n }\n return node;\n }\n parseSubscript(base, startLoc, noCalls, state) {\n const node = super.parseSubscript(base, startLoc, noCalls, state);\n if (state.optionalChainMember) {\n if (node.type === \"OptionalMemberExpression\" || node.type === \"OptionalCallExpression\") {\n node.type = node.type.substring(8);\n }\n if (state.stop) {\n const chain = this.startNodeAtNode(node);\n chain.expression = node;\n return this.finishNode(chain, \"ChainExpression\");\n }\n } else if (node.type === \"MemberExpression\" || node.type === \"CallExpression\") {\n node.optional = false;\n }\n return node;\n }\n isOptionalMemberExpression(node) {\n if (node.type === \"ChainExpression\") {\n return node.expression.type === \"MemberExpression\";\n }\n return super.isOptionalMemberExpression(node);\n }\n hasPropertyAsPrivateName(node) {\n if (node.type === \"ChainExpression\") {\n node = node.expression;\n }\n return super.hasPropertyAsPrivateName(node);\n }\n isObjectProperty(node) {\n return node.type === \"Property\" && node.kind === \"init\" && !node.method;\n }\n isObjectMethod(node) {\n return node.type === \"Property\" && (node.method || node.kind === \"get\" || node.kind === \"set\");\n }\n finishNodeAt(node, type, endLoc) {\n return toESTreeLocation(super.finishNodeAt(node, type, endLoc));\n }\n resetStartLocation(node, startLoc) {\n super.resetStartLocation(node, startLoc);\n toESTreeLocation(node);\n }\n resetEndLocation(node, endLoc = this.state.lastTokEndLoc) {\n super.resetEndLocation(node, endLoc);\n toESTreeLocation(node);\n }\n};\nclass TokContext {\n constructor(token, preserveSpace) {\n this.token = void 0;\n this.preserveSpace = void 0;\n this.token = token;\n this.preserveSpace = !!preserveSpace;\n }\n}\nconst types = {\n brace: new TokContext(\"{\"),\n j_oTag: new TokContext(\"...\", true)\n};\n{\n types.template = new TokContext(\"`\", true);\n}\nconst beforeExpr = true;\nconst startsExpr = true;\nconst isLoop = true;\nconst isAssign = true;\nconst prefix = true;\nconst postfix = true;\nclass ExportedTokenType {\n constructor(label, conf = {}) {\n this.label = void 0;\n this.keyword = void 0;\n this.beforeExpr = void 0;\n this.startsExpr = void 0;\n this.rightAssociative = void 0;\n this.isLoop = void 0;\n this.isAssign = void 0;\n this.prefix = void 0;\n this.postfix = void 0;\n this.binop = void 0;\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.rightAssociative = !!conf.rightAssociative;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop != null ? conf.binop : null;\n {\n this.updateContext = null;\n }\n }\n}\nconst keywords$1 = new Map();\nfunction createKeyword(name, options = {}) {\n options.keyword = name;\n const token = createToken(name, options);\n keywords$1.set(name, token);\n return token;\n}\nfunction createBinop(name, binop) {\n return createToken(name, {\n beforeExpr,\n binop\n });\n}\nlet tokenTypeCounter = -1;\nconst tokenTypes = [];\nconst tokenLabels = [];\nconst tokenBinops = [];\nconst tokenBeforeExprs = [];\nconst tokenStartsExprs = [];\nconst tokenPrefixes = [];\nfunction createToken(name, options = {}) {\n var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix;\n ++tokenTypeCounter;\n tokenLabels.push(name);\n tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1);\n tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false);\n tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false);\n tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false);\n tokenTypes.push(new ExportedTokenType(name, options));\n return tokenTypeCounter;\n}\nfunction createKeywordLike(name, options = {}) {\n var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2;\n ++tokenTypeCounter;\n keywords$1.set(name, tokenTypeCounter);\n tokenLabels.push(name);\n tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1);\n tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false);\n tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false);\n tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false);\n tokenTypes.push(new ExportedTokenType(\"name\", options));\n return tokenTypeCounter;\n}\nconst tt = {\n bracketL: createToken(\"[\", {\n beforeExpr,\n startsExpr\n }),\n bracketHashL: createToken(\"#[\", {\n beforeExpr,\n startsExpr\n }),\n bracketBarL: createToken(\"[|\", {\n beforeExpr,\n startsExpr\n }),\n bracketR: createToken(\"]\"),\n bracketBarR: createToken(\"|]\"),\n braceL: createToken(\"{\", {\n beforeExpr,\n startsExpr\n }),\n braceBarL: createToken(\"{|\", {\n beforeExpr,\n startsExpr\n }),\n braceHashL: createToken(\"#{\", {\n beforeExpr,\n startsExpr\n }),\n braceR: createToken(\"}\"),\n braceBarR: createToken(\"|}\"),\n parenL: createToken(\"(\", {\n beforeExpr,\n startsExpr\n }),\n parenR: createToken(\")\"),\n comma: createToken(\",\", {\n beforeExpr\n }),\n semi: createToken(\";\", {\n beforeExpr\n }),\n colon: createToken(\":\", {\n beforeExpr\n }),\n doubleColon: createToken(\"::\", {\n beforeExpr\n }),\n dot: createToken(\".\"),\n question: createToken(\"?\", {\n beforeExpr\n }),\n questionDot: createToken(\"?.\"),\n arrow: createToken(\"=>\", {\n beforeExpr\n }),\n template: createToken(\"template\"),\n ellipsis: createToken(\"...\", {\n beforeExpr\n }),\n backQuote: createToken(\"`\", {\n startsExpr\n }),\n dollarBraceL: createToken(\"${\", {\n beforeExpr,\n startsExpr\n }),\n templateTail: createToken(\"...`\", {\n startsExpr\n }),\n templateNonTail: createToken(\"...${\", {\n beforeExpr,\n startsExpr\n }),\n at: createToken(\"@\"),\n hash: createToken(\"#\", {\n startsExpr\n }),\n interpreterDirective: createToken(\"#!...\"),\n eq: createToken(\"=\", {\n beforeExpr,\n isAssign\n }),\n assign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n slashAssign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n xorAssign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n moduloAssign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n incDec: createToken(\"++/--\", {\n prefix,\n postfix,\n startsExpr\n }),\n bang: createToken(\"!\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n tilde: createToken(\"~\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n doubleCaret: createToken(\"^^\", {\n startsExpr\n }),\n doubleAt: createToken(\"@@\", {\n startsExpr\n }),\n pipeline: createBinop(\"|>\", 0),\n nullishCoalescing: createBinop(\"??\", 1),\n logicalOR: createBinop(\"||\", 1),\n logicalAND: createBinop(\"&&\", 2),\n bitwiseOR: createBinop(\"|\", 3),\n bitwiseXOR: createBinop(\"^\", 4),\n bitwiseAND: createBinop(\"&\", 5),\n equality: createBinop(\"==/!=/===/!==\", 6),\n lt: createBinop(\"/<=/>=\", 7),\n gt: createBinop(\"/<=/>=\", 7),\n relational: createBinop(\"/<=/>=\", 7),\n bitShift: createBinop(\"<>/>>>\", 8),\n bitShiftL: createBinop(\"<>/>>>\", 8),\n bitShiftR: createBinop(\"<>/>>>\", 8),\n plusMin: createToken(\"+/-\", {\n beforeExpr,\n binop: 9,\n prefix,\n startsExpr\n }),\n modulo: createToken(\"%\", {\n binop: 10,\n startsExpr\n }),\n star: createToken(\"*\", {\n binop: 10\n }),\n slash: createBinop(\"/\", 10),\n exponent: createToken(\"**\", {\n beforeExpr,\n binop: 11,\n rightAssociative: true\n }),\n _in: createKeyword(\"in\", {\n beforeExpr,\n binop: 7\n }),\n _instanceof: createKeyword(\"instanceof\", {\n beforeExpr,\n binop: 7\n }),\n _break: createKeyword(\"break\"),\n _case: createKeyword(\"case\", {\n beforeExpr\n }),\n _catch: createKeyword(\"catch\"),\n _continue: createKeyword(\"continue\"),\n _debugger: createKeyword(\"debugger\"),\n _default: createKeyword(\"default\", {\n beforeExpr\n }),\n _else: createKeyword(\"else\", {\n beforeExpr\n }),\n _finally: createKeyword(\"finally\"),\n _function: createKeyword(\"function\", {\n startsExpr\n }),\n _if: createKeyword(\"if\"),\n _return: createKeyword(\"return\", {\n beforeExpr\n }),\n _switch: createKeyword(\"switch\"),\n _throw: createKeyword(\"throw\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _try: createKeyword(\"try\"),\n _var: createKeyword(\"var\"),\n _const: createKeyword(\"const\"),\n _with: createKeyword(\"with\"),\n _new: createKeyword(\"new\", {\n beforeExpr,\n startsExpr\n }),\n _this: createKeyword(\"this\", {\n startsExpr\n }),\n _super: createKeyword(\"super\", {\n startsExpr\n }),\n _class: createKeyword(\"class\", {\n startsExpr\n }),\n _extends: createKeyword(\"extends\", {\n beforeExpr\n }),\n _export: createKeyword(\"export\"),\n _import: createKeyword(\"import\", {\n startsExpr\n }),\n _null: createKeyword(\"null\", {\n startsExpr\n }),\n _true: createKeyword(\"true\", {\n startsExpr\n }),\n _false: createKeyword(\"false\", {\n startsExpr\n }),\n _typeof: createKeyword(\"typeof\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _void: createKeyword(\"void\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _delete: createKeyword(\"delete\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _do: createKeyword(\"do\", {\n isLoop,\n beforeExpr\n }),\n _for: createKeyword(\"for\", {\n isLoop\n }),\n _while: createKeyword(\"while\", {\n isLoop\n }),\n _as: createKeywordLike(\"as\", {\n startsExpr\n }),\n _assert: createKeywordLike(\"assert\", {\n startsExpr\n }),\n _async: createKeywordLike(\"async\", {\n startsExpr\n }),\n _await: createKeywordLike(\"await\", {\n startsExpr\n }),\n _defer: createKeywordLike(\"defer\", {\n startsExpr\n }),\n _from: createKeywordLike(\"from\", {\n startsExpr\n }),\n _get: createKeywordLike(\"get\", {\n startsExpr\n }),\n _let: createKeywordLike(\"let\", {\n startsExpr\n }),\n _meta: createKeywordLike(\"meta\", {\n startsExpr\n }),\n _of: createKeywordLike(\"of\", {\n startsExpr\n }),\n _sent: createKeywordLike(\"sent\", {\n startsExpr\n }),\n _set: createKeywordLike(\"set\", {\n startsExpr\n }),\n _source: createKeywordLike(\"source\", {\n startsExpr\n }),\n _static: createKeywordLike(\"static\", {\n startsExpr\n }),\n _using: createKeywordLike(\"using\", {\n startsExpr\n }),\n _yield: createKeywordLike(\"yield\", {\n startsExpr\n }),\n _asserts: createKeywordLike(\"asserts\", {\n startsExpr\n }),\n _checks: createKeywordLike(\"checks\", {\n startsExpr\n }),\n _exports: createKeywordLike(\"exports\", {\n startsExpr\n }),\n _global: createKeywordLike(\"global\", {\n startsExpr\n }),\n _implements: createKeywordLike(\"implements\", {\n startsExpr\n }),\n _intrinsic: createKeywordLike(\"intrinsic\", {\n startsExpr\n }),\n _infer: createKeywordLike(\"infer\", {\n startsExpr\n }),\n _is: createKeywordLike(\"is\", {\n startsExpr\n }),\n _mixins: createKeywordLike(\"mixins\", {\n startsExpr\n }),\n _proto: createKeywordLike(\"proto\", {\n startsExpr\n }),\n _require: createKeywordLike(\"require\", {\n startsExpr\n }),\n _satisfies: createKeywordLike(\"satisfies\", {\n startsExpr\n }),\n _keyof: createKeywordLike(\"keyof\", {\n startsExpr\n }),\n _readonly: createKeywordLike(\"readonly\", {\n startsExpr\n }),\n _unique: createKeywordLike(\"unique\", {\n startsExpr\n }),\n _abstract: createKeywordLike(\"abstract\", {\n startsExpr\n }),\n _declare: createKeywordLike(\"declare\", {\n startsExpr\n }),\n _enum: createKeywordLike(\"enum\", {\n startsExpr\n }),\n _module: createKeywordLike(\"module\", {\n startsExpr\n }),\n _namespace: createKeywordLike(\"namespace\", {\n startsExpr\n }),\n _interface: createKeywordLike(\"interface\", {\n startsExpr\n }),\n _type: createKeywordLike(\"type\", {\n startsExpr\n }),\n _opaque: createKeywordLike(\"opaque\", {\n startsExpr\n }),\n name: createToken(\"name\", {\n startsExpr\n }),\n placeholder: createToken(\"%%\", {\n startsExpr: true\n }),\n string: createToken(\"string\", {\n startsExpr\n }),\n num: createToken(\"num\", {\n startsExpr\n }),\n bigint: createToken(\"bigint\", {\n startsExpr\n }),\n decimal: createToken(\"decimal\", {\n startsExpr\n }),\n regexp: createToken(\"regexp\", {\n startsExpr\n }),\n privateName: createToken(\"#name\", {\n startsExpr\n }),\n eof: createToken(\"eof\"),\n jsxName: createToken(\"jsxName\"),\n jsxText: createToken(\"jsxText\", {\n beforeExpr: true\n }),\n jsxTagStart: createToken(\"jsxTagStart\", {\n startsExpr: true\n }),\n jsxTagEnd: createToken(\"jsxTagEnd\")\n};\nfunction tokenIsIdentifier(token) {\n return token >= 93 && token <= 133;\n}\nfunction tokenKeywordOrIdentifierIsKeyword(token) {\n return token <= 92;\n}\nfunction tokenIsKeywordOrIdentifier(token) {\n return token >= 58 && token <= 133;\n}\nfunction tokenIsLiteralPropertyName(token) {\n return token >= 58 && token <= 137;\n}\nfunction tokenComesBeforeExpression(token) {\n return tokenBeforeExprs[token];\n}\nfunction tokenCanStartExpression(token) {\n return tokenStartsExprs[token];\n}\nfunction tokenIsAssignment(token) {\n return token >= 29 && token <= 33;\n}\nfunction tokenIsFlowInterfaceOrTypeOrOpaque(token) {\n return token >= 129 && token <= 131;\n}\nfunction tokenIsLoop(token) {\n return token >= 90 && token <= 92;\n}\nfunction tokenIsKeyword(token) {\n return token >= 58 && token <= 92;\n}\nfunction tokenIsOperator(token) {\n return token >= 39 && token <= 59;\n}\nfunction tokenIsPostfix(token) {\n return token === 34;\n}\nfunction tokenIsPrefix(token) {\n return tokenPrefixes[token];\n}\nfunction tokenIsTSTypeOperator(token) {\n return token >= 121 && token <= 123;\n}\nfunction tokenIsTSDeclarationStart(token) {\n return token >= 124 && token <= 130;\n}\nfunction tokenLabelName(token) {\n return tokenLabels[token];\n}\nfunction tokenOperatorPrecedence(token) {\n return tokenBinops[token];\n}\nfunction tokenIsRightAssociative(token) {\n return token === 57;\n}\nfunction tokenIsTemplate(token) {\n return token >= 24 && token <= 25;\n}\nfunction getExportedToken(token) {\n return tokenTypes[token];\n}\n{\n tokenTypes[8].updateContext = context => {\n context.pop();\n };\n tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => {\n context.push(types.brace);\n };\n tokenTypes[22].updateContext = context => {\n if (context[context.length - 1] === types.template) {\n context.pop();\n } else {\n context.push(types.template);\n }\n };\n tokenTypes[143].updateContext = context => {\n context.push(types.j_expr, types.j_oTag);\n };\n}\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c8a\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7cd\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7dc\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\nlet nonASCIIidentifierChars = \"\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0897-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\nconst nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nconst nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\nconst astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];\nconst astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];\nfunction isInAstralSet(code, set) {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\nfunction isIdentifierStart(code) {\n if (code < 65) return code === 36;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\nfunction isIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);\n}\nconst reservedWords = {\n keyword: [\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\"],\n strict: [\"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\"],\n strictBind: [\"eval\", \"arguments\"]\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\nfunction isReservedWord(word, inModule) {\n return inModule && word === \"await\" || word === \"enum\";\n}\nfunction isStrictReservedWord(word, inModule) {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\nfunction isStrictBindOnlyReservedWord(word) {\n return reservedWordsStrictBindSet.has(word);\n}\nfunction isStrictBindReservedWord(word, inModule) {\n return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);\n}\nfunction isKeyword(word) {\n return keywords.has(word);\n}\nfunction isIteratorStart(current, next, next2) {\n return current === 64 && next === 64 && isIdentifierStart(next2);\n}\nconst reservedWordLikeSet = new Set([\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\", \"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\", \"eval\", \"arguments\", \"enum\", \"await\"]);\nfunction canBeReservedWord(word) {\n return reservedWordLikeSet.has(word);\n}\nclass Scope {\n constructor(flags) {\n this.flags = 0;\n this.names = new Map();\n this.firstLexicalName = \"\";\n this.flags = flags;\n }\n}\nclass ScopeHandler {\n constructor(parser, inModule) {\n this.parser = void 0;\n this.scopeStack = [];\n this.inModule = void 0;\n this.undefinedExports = new Map();\n this.parser = parser;\n this.inModule = inModule;\n }\n get inTopLevel() {\n return (this.currentScope().flags & 1) > 0;\n }\n get inFunction() {\n return (this.currentVarScopeFlags() & 2) > 0;\n }\n get allowSuper() {\n return (this.currentThisScopeFlags() & 16) > 0;\n }\n get allowDirectSuper() {\n return (this.currentThisScopeFlags() & 32) > 0;\n }\n get inClass() {\n return (this.currentThisScopeFlags() & 64) > 0;\n }\n get inClassAndNotInNonArrowFunction() {\n const flags = this.currentThisScopeFlags();\n return (flags & 64) > 0 && (flags & 2) === 0;\n }\n get inStaticBlock() {\n for (let i = this.scopeStack.length - 1;; i--) {\n const {\n flags\n } = this.scopeStack[i];\n if (flags & 128) {\n return true;\n }\n if (flags & (387 | 64)) {\n return false;\n }\n }\n }\n get inNonArrowFunction() {\n return (this.currentThisScopeFlags() & 2) > 0;\n }\n get treatFunctionsAsVar() {\n return this.treatFunctionsAsVarInScope(this.currentScope());\n }\n createScope(flags) {\n return new Scope(flags);\n }\n enter(flags) {\n this.scopeStack.push(this.createScope(flags));\n }\n exit() {\n const scope = this.scopeStack.pop();\n return scope.flags;\n }\n treatFunctionsAsVarInScope(scope) {\n return !!(scope.flags & (2 | 128) || !this.parser.inModule && scope.flags & 1);\n }\n declareName(name, bindingType, loc) {\n let scope = this.currentScope();\n if (bindingType & 8 || bindingType & 16) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n let type = scope.names.get(name) || 0;\n if (bindingType & 16) {\n type = type | 4;\n } else {\n if (!scope.firstLexicalName) {\n scope.firstLexicalName = name;\n }\n type = type | 2;\n }\n scope.names.set(name, type);\n if (bindingType & 8) {\n this.maybeExportDefined(scope, name);\n }\n } else if (bindingType & 4) {\n for (let i = this.scopeStack.length - 1; i >= 0; --i) {\n scope = this.scopeStack[i];\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n scope.names.set(name, (scope.names.get(name) || 0) | 1);\n this.maybeExportDefined(scope, name);\n if (scope.flags & 387) break;\n }\n }\n if (this.parser.inModule && scope.flags & 1) {\n this.undefinedExports.delete(name);\n }\n }\n maybeExportDefined(scope, name) {\n if (this.parser.inModule && scope.flags & 1) {\n this.undefinedExports.delete(name);\n }\n }\n checkRedeclarationInScope(scope, name, bindingType, loc) {\n if (this.isRedeclaredInScope(scope, name, bindingType)) {\n this.parser.raise(Errors.VarRedeclaration, loc, {\n identifierName: name\n });\n }\n }\n isRedeclaredInScope(scope, name, bindingType) {\n if (!(bindingType & 1)) return false;\n if (bindingType & 8) {\n return scope.names.has(name);\n }\n const type = scope.names.get(name);\n if (bindingType & 16) {\n return (type & 2) > 0 || !this.treatFunctionsAsVarInScope(scope) && (type & 1) > 0;\n }\n return (type & 2) > 0 && !(scope.flags & 8 && scope.firstLexicalName === name) || !this.treatFunctionsAsVarInScope(scope) && (type & 4) > 0;\n }\n checkLocalExport(id) {\n const {\n name\n } = id;\n const topLevelScope = this.scopeStack[0];\n if (!topLevelScope.names.has(name)) {\n this.undefinedExports.set(name, id.loc.start);\n }\n }\n currentScope() {\n return this.scopeStack[this.scopeStack.length - 1];\n }\n currentVarScopeFlags() {\n for (let i = this.scopeStack.length - 1;; i--) {\n const {\n flags\n } = this.scopeStack[i];\n if (flags & 387) {\n return flags;\n }\n }\n }\n currentThisScopeFlags() {\n for (let i = this.scopeStack.length - 1;; i--) {\n const {\n flags\n } = this.scopeStack[i];\n if (flags & (387 | 64) && !(flags & 4)) {\n return flags;\n }\n }\n }\n}\nclass FlowScope extends Scope {\n constructor(...args) {\n super(...args);\n this.declareFunctions = new Set();\n }\n}\nclass FlowScopeHandler extends ScopeHandler {\n createScope(flags) {\n return new FlowScope(flags);\n }\n declareName(name, bindingType, loc) {\n const scope = this.currentScope();\n if (bindingType & 2048) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n this.maybeExportDefined(scope, name);\n scope.declareFunctions.add(name);\n return;\n }\n super.declareName(name, bindingType, loc);\n }\n isRedeclaredInScope(scope, name, bindingType) {\n if (super.isRedeclaredInScope(scope, name, bindingType)) return true;\n if (bindingType & 2048 && !scope.declareFunctions.has(name)) {\n const type = scope.names.get(name);\n return (type & 4) > 0 || (type & 2) > 0;\n }\n return false;\n }\n checkLocalExport(id) {\n if (!this.scopeStack[0].declareFunctions.has(id.name)) {\n super.checkLocalExport(id);\n }\n }\n}\nclass BaseParser {\n constructor() {\n this.sawUnambiguousESM = false;\n this.ambiguousScriptDifferentAst = false;\n }\n sourceToOffsetPos(sourcePos) {\n return sourcePos + this.startIndex;\n }\n offsetToSourcePos(offsetPos) {\n return offsetPos - this.startIndex;\n }\n hasPlugin(pluginConfig) {\n if (typeof pluginConfig === \"string\") {\n return this.plugins.has(pluginConfig);\n } else {\n const [pluginName, pluginOptions] = pluginConfig;\n if (!this.hasPlugin(pluginName)) {\n return false;\n }\n const actualOptions = this.plugins.get(pluginName);\n for (const key of Object.keys(pluginOptions)) {\n if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) {\n return false;\n }\n }\n return true;\n }\n }\n getPluginOption(plugin, name) {\n var _this$plugins$get;\n return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name];\n }\n}\nfunction setTrailingComments(node, comments) {\n if (node.trailingComments === undefined) {\n node.trailingComments = comments;\n } else {\n node.trailingComments.unshift(...comments);\n }\n}\nfunction setLeadingComments(node, comments) {\n if (node.leadingComments === undefined) {\n node.leadingComments = comments;\n } else {\n node.leadingComments.unshift(...comments);\n }\n}\nfunction setInnerComments(node, comments) {\n if (node.innerComments === undefined) {\n node.innerComments = comments;\n } else {\n node.innerComments.unshift(...comments);\n }\n}\nfunction adjustInnerComments(node, elements, commentWS) {\n let lastElement = null;\n let i = elements.length;\n while (lastElement === null && i > 0) {\n lastElement = elements[--i];\n }\n if (lastElement === null || lastElement.start > commentWS.start) {\n setInnerComments(node, commentWS.comments);\n } else {\n setTrailingComments(lastElement, commentWS.comments);\n }\n}\nclass CommentsParser extends BaseParser {\n addComment(comment) {\n if (this.filename) comment.loc.filename = this.filename;\n const {\n commentsLen\n } = this.state;\n if (this.comments.length !== commentsLen) {\n this.comments.length = commentsLen;\n }\n this.comments.push(comment);\n this.state.commentsLen++;\n }\n processComment(node) {\n const {\n commentStack\n } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n const lastCommentWS = commentStack[i];\n if (lastCommentWS.start === node.end) {\n lastCommentWS.leadingNode = node;\n i--;\n }\n const {\n start: nodeStart\n } = node;\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n if (commentEnd > nodeStart) {\n commentWS.containingNode = node;\n this.finalizeComment(commentWS);\n commentStack.splice(i, 1);\n } else {\n if (commentEnd === nodeStart) {\n commentWS.trailingNode = node;\n }\n break;\n }\n }\n }\n finalizeComment(commentWS) {\n const {\n comments\n } = commentWS;\n if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {\n if (commentWS.leadingNode !== null) {\n setTrailingComments(commentWS.leadingNode, comments);\n }\n if (commentWS.trailingNode !== null) {\n setLeadingComments(commentWS.trailingNode, comments);\n }\n } else {\n const {\n containingNode: node,\n start: commentStart\n } = commentWS;\n if (this.input.charCodeAt(this.offsetToSourcePos(commentStart) - 1) === 44) {\n switch (node.type) {\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n case \"RecordExpression\":\n adjustInnerComments(node, node.properties, commentWS);\n break;\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n adjustInnerComments(node, node.arguments, commentWS);\n break;\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ArrowFunctionExpression\":\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n adjustInnerComments(node, node.params, commentWS);\n break;\n case \"ArrayExpression\":\n case \"ArrayPattern\":\n case \"TupleExpression\":\n adjustInnerComments(node, node.elements, commentWS);\n break;\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n adjustInnerComments(node, node.specifiers, commentWS);\n break;\n default:\n {\n setInnerComments(node, comments);\n }\n }\n } else {\n setInnerComments(node, comments);\n }\n }\n }\n finalizeRemainingComments() {\n const {\n commentStack\n } = this.state;\n for (let i = commentStack.length - 1; i >= 0; i--) {\n this.finalizeComment(commentStack[i]);\n }\n this.state.commentStack = [];\n }\n resetPreviousNodeTrailingComments(node) {\n const {\n commentStack\n } = this.state;\n const {\n length\n } = commentStack;\n if (length === 0) return;\n const commentWS = commentStack[length - 1];\n if (commentWS.leadingNode === node) {\n commentWS.leadingNode = null;\n }\n }\n resetPreviousIdentifierLeadingComments(node) {\n const {\n commentStack\n } = this.state;\n const {\n length\n } = commentStack;\n if (length === 0) return;\n if (commentStack[length - 1].trailingNode === node) {\n commentStack[length - 1].trailingNode = null;\n } else if (length >= 2 && commentStack[length - 2].trailingNode === node) {\n commentStack[length - 2].trailingNode = null;\n }\n }\n takeSurroundingComments(node, start, end) {\n const {\n commentStack\n } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n const commentStart = commentWS.start;\n if (commentStart === end) {\n commentWS.leadingNode = node;\n } else if (commentEnd === start) {\n commentWS.trailingNode = node;\n } else if (commentEnd < start) {\n break;\n }\n }\n }\n}\nconst lineBreak = /\\r\\n|[\\r\\n\\u2028\\u2029]/;\nconst lineBreakG = new RegExp(lineBreak.source, \"g\");\nfunction isNewLine(code) {\n switch (code) {\n case 10:\n case 13:\n case 8232:\n case 8233:\n return true;\n default:\n return false;\n }\n}\nfunction hasNewLine(input, start, end) {\n for (let i = start; i < end; i++) {\n if (isNewLine(input.charCodeAt(i))) {\n return true;\n }\n }\n return false;\n}\nconst skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\nconst skipWhiteSpaceInLine = /(?:[^\\S\\n\\r\\u2028\\u2029]|\\/\\/.*|\\/\\*.*?\\*\\/)*/g;\nfunction isWhitespace(code) {\n switch (code) {\n case 0x0009:\n case 0x000b:\n case 0x000c:\n case 32:\n case 160:\n case 5760:\n case 0x2000:\n case 0x2001:\n case 0x2002:\n case 0x2003:\n case 0x2004:\n case 0x2005:\n case 0x2006:\n case 0x2007:\n case 0x2008:\n case 0x2009:\n case 0x200a:\n case 0x202f:\n case 0x205f:\n case 0x3000:\n case 0xfeff:\n return true;\n default:\n return false;\n }\n}\nclass State {\n constructor() {\n this.flags = 1024;\n this.startIndex = void 0;\n this.curLine = void 0;\n this.lineStart = void 0;\n this.startLoc = void 0;\n this.endLoc = void 0;\n this.errors = [];\n this.potentialArrowAt = -1;\n this.noArrowAt = [];\n this.noArrowParamsConversionAt = [];\n this.topicContext = {\n maxNumOfResolvableTopics: 0,\n maxTopicIndex: null\n };\n this.labels = [];\n this.commentsLen = 0;\n this.commentStack = [];\n this.pos = 0;\n this.type = 140;\n this.value = null;\n this.start = 0;\n this.end = 0;\n this.lastTokEndLoc = null;\n this.lastTokStartLoc = null;\n this.context = [types.brace];\n this.firstInvalidTemplateEscapePos = null;\n this.strictErrors = new Map();\n this.tokensLength = 0;\n }\n get strict() {\n return (this.flags & 1) > 0;\n }\n set strict(v) {\n if (v) this.flags |= 1;else this.flags &= -2;\n }\n init({\n strictMode,\n sourceType,\n startIndex,\n startLine,\n startColumn\n }) {\n this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === \"module\";\n this.startIndex = startIndex;\n this.curLine = startLine;\n this.lineStart = -startColumn;\n this.startLoc = this.endLoc = new Position(startLine, startColumn, startIndex);\n }\n get maybeInArrowParameters() {\n return (this.flags & 2) > 0;\n }\n set maybeInArrowParameters(v) {\n if (v) this.flags |= 2;else this.flags &= -3;\n }\n get inType() {\n return (this.flags & 4) > 0;\n }\n set inType(v) {\n if (v) this.flags |= 4;else this.flags &= -5;\n }\n get noAnonFunctionType() {\n return (this.flags & 8) > 0;\n }\n set noAnonFunctionType(v) {\n if (v) this.flags |= 8;else this.flags &= -9;\n }\n get hasFlowComment() {\n return (this.flags & 16) > 0;\n }\n set hasFlowComment(v) {\n if (v) this.flags |= 16;else this.flags &= -17;\n }\n get isAmbientContext() {\n return (this.flags & 32) > 0;\n }\n set isAmbientContext(v) {\n if (v) this.flags |= 32;else this.flags &= -33;\n }\n get inAbstractClass() {\n return (this.flags & 64) > 0;\n }\n set inAbstractClass(v) {\n if (v) this.flags |= 64;else this.flags &= -65;\n }\n get inDisallowConditionalTypesContext() {\n return (this.flags & 128) > 0;\n }\n set inDisallowConditionalTypesContext(v) {\n if (v) this.flags |= 128;else this.flags &= -129;\n }\n get soloAwait() {\n return (this.flags & 256) > 0;\n }\n set soloAwait(v) {\n if (v) this.flags |= 256;else this.flags &= -257;\n }\n get inFSharpPipelineDirectBody() {\n return (this.flags & 512) > 0;\n }\n set inFSharpPipelineDirectBody(v) {\n if (v) this.flags |= 512;else this.flags &= -513;\n }\n get canStartJSXElement() {\n return (this.flags & 1024) > 0;\n }\n set canStartJSXElement(v) {\n if (v) this.flags |= 1024;else this.flags &= -1025;\n }\n get containsEsc() {\n return (this.flags & 2048) > 0;\n }\n set containsEsc(v) {\n if (v) this.flags |= 2048;else this.flags &= -2049;\n }\n get hasTopLevelAwait() {\n return (this.flags & 4096) > 0;\n }\n set hasTopLevelAwait(v) {\n if (v) this.flags |= 4096;else this.flags &= -4097;\n }\n curPosition() {\n return new Position(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);\n }\n clone() {\n const state = new State();\n state.flags = this.flags;\n state.startIndex = this.startIndex;\n state.curLine = this.curLine;\n state.lineStart = this.lineStart;\n state.startLoc = this.startLoc;\n state.endLoc = this.endLoc;\n state.errors = this.errors.slice();\n state.potentialArrowAt = this.potentialArrowAt;\n state.noArrowAt = this.noArrowAt.slice();\n state.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice();\n state.topicContext = this.topicContext;\n state.labels = this.labels.slice();\n state.commentsLen = this.commentsLen;\n state.commentStack = this.commentStack.slice();\n state.pos = this.pos;\n state.type = this.type;\n state.value = this.value;\n state.start = this.start;\n state.end = this.end;\n state.lastTokEndLoc = this.lastTokEndLoc;\n state.lastTokStartLoc = this.lastTokStartLoc;\n state.context = this.context.slice();\n state.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos;\n state.strictErrors = this.strictErrors;\n state.tokensLength = this.tokensLength;\n return state;\n }\n}\nvar _isDigit = function isDigit(code) {\n return code >= 48 && code <= 57;\n};\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),\n hex: new Set([46, 88, 95, 120])\n};\nconst isAllowedNumericSeparatorSibling = {\n bin: ch => ch === 48 || ch === 49,\n oct: ch => ch >= 48 && ch <= 55,\n dec: ch => ch >= 48 && ch <= 57,\n hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102\n};\nfunction readStringContents(type, input, pos, lineStart, curLine, errors) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const {\n length\n } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === 92) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(input, pos, lineStart, curLine, type === \"template\", errors);\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = {\n pos,\n lineStart,\n curLine\n };\n } else {\n out += res.ch;\n }\n ({\n pos,\n lineStart,\n curLine\n } = res);\n chunkStart = pos;\n } else if (ch === 8232 || ch === 8233) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === 10 || ch === 13) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (ch === 13 && input.charCodeAt(pos) === 10) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc\n };\n}\nfunction isStringEnd(type, ch, input, pos) {\n if (type === \"template\") {\n return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;\n }\n return ch === (type === \"double\" ? 34 : 39);\n}\nfunction readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {\n const throwOnInvalid = !inTemplate;\n pos++;\n const res = ch => ({\n pos,\n ch,\n lineStart,\n curLine\n });\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case 110:\n return res(\"\\n\");\n case 114:\n return res(\"\\r\");\n case 120:\n {\n let code;\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case 117:\n {\n let code;\n ({\n code,\n pos\n } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case 116:\n return res(\"\\t\");\n case 98:\n return res(\"\\b\");\n case 118:\n return res(\"\\u000b\");\n case 102:\n return res(\"\\f\");\n case 13:\n if (input.charCodeAt(pos) === 10) {\n ++pos;\n }\n case 10:\n lineStart = pos;\n ++curLine;\n case 8232:\n case 8233:\n return res(\"\");\n case 56:\n case 57:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n default:\n if (ch >= 48 && ch <= 55) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));\n let octalStr = match[0];\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (octalStr !== \"0\" || next === 56 || next === 57) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n return res(String.fromCharCode(octal));\n }\n return res(String.fromCharCode(ch));\n }\n}\nfunction readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {\n const initialPos = pos;\n let n;\n ({\n n,\n pos\n } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return {\n code: n,\n pos\n };\n}\nfunction readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {\n const start = pos;\n const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;\n let invalid = false;\n let total = 0;\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n if (code === 95 && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n if (!allowNumSeparator) {\n if (bailOnError) return {\n n: null,\n pos\n };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {\n if (bailOnError) return {\n n: null,\n pos\n };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n ++pos;\n continue;\n }\n if (code >= 97) {\n val = code - 97 + 10;\n } else if (code >= 65) {\n val = code - 65 + 10;\n } else if (_isDigit(code)) {\n val = code - 48;\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n if (val <= 9 && bailOnError) {\n return {\n n: null,\n pos\n };\n } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || len != null && pos - start !== len || invalid) {\n return {\n n: null,\n pos\n };\n }\n return {\n n: total,\n pos\n };\n}\nfunction readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {\n const ch = input.charCodeAt(pos);\n let code;\n if (ch === 123) {\n ++pos;\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, input.indexOf(\"}\", pos) - pos, true, throwOnInvalid, errors));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return {\n code: null,\n pos\n };\n }\n }\n } else {\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));\n }\n return {\n code,\n pos\n };\n}\nfunction buildPosition(pos, lineStart, curLine) {\n return new Position(curLine, pos - lineStart, pos);\n}\nconst VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]);\nclass Token {\n constructor(state) {\n const startIndex = state.startIndex || 0;\n this.type = state.type;\n this.value = state.value;\n this.start = startIndex + state.start;\n this.end = startIndex + state.end;\n this.loc = new SourceLocation(state.startLoc, state.endLoc);\n }\n}\nclass Tokenizer extends CommentsParser {\n constructor(options, input) {\n super();\n this.isLookahead = void 0;\n this.tokens = [];\n this.errorHandlers_readInt = {\n invalidDigit: (pos, lineStart, curLine, radix) => {\n if (!this.options.errorRecovery) return false;\n this.raise(Errors.InvalidDigit, buildPosition(pos, lineStart, curLine), {\n radix\n });\n return true;\n },\n numericSeparatorInEscapeSequence: this.errorBuilder(Errors.NumericSeparatorInEscapeSequence),\n unexpectedNumericSeparator: this.errorBuilder(Errors.UnexpectedNumericSeparator)\n };\n this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, {\n invalidEscapeSequence: this.errorBuilder(Errors.InvalidEscapeSequence),\n invalidCodePoint: this.errorBuilder(Errors.InvalidCodePoint)\n });\n this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, {\n strictNumericEscape: (pos, lineStart, curLine) => {\n this.recordStrictModeErrors(Errors.StrictNumericEscape, buildPosition(pos, lineStart, curLine));\n },\n unterminated: (pos, lineStart, curLine) => {\n throw this.raise(Errors.UnterminatedString, buildPosition(pos - 1, lineStart, curLine));\n }\n });\n this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, {\n strictNumericEscape: this.errorBuilder(Errors.StrictNumericEscape),\n unterminated: (pos, lineStart, curLine) => {\n throw this.raise(Errors.UnterminatedTemplate, buildPosition(pos, lineStart, curLine));\n }\n });\n this.state = new State();\n this.state.init(options);\n this.input = input;\n this.length = input.length;\n this.comments = [];\n this.isLookahead = false;\n }\n pushToken(token) {\n this.tokens.length = this.state.tokensLength;\n this.tokens.push(token);\n ++this.state.tokensLength;\n }\n next() {\n this.checkKeywordEscapes();\n if (this.options.tokens) {\n this.pushToken(new Token(this.state));\n }\n this.state.lastTokEndLoc = this.state.endLoc;\n this.state.lastTokStartLoc = this.state.startLoc;\n this.nextToken();\n }\n eat(type) {\n if (this.match(type)) {\n this.next();\n return true;\n } else {\n return false;\n }\n }\n match(type) {\n return this.state.type === type;\n }\n createLookaheadState(state) {\n return {\n pos: state.pos,\n value: null,\n type: state.type,\n start: state.start,\n end: state.end,\n context: [this.curContext()],\n inType: state.inType,\n startLoc: state.startLoc,\n lastTokEndLoc: state.lastTokEndLoc,\n curLine: state.curLine,\n lineStart: state.lineStart,\n curPosition: state.curPosition\n };\n }\n lookahead() {\n const old = this.state;\n this.state = this.createLookaheadState(old);\n this.isLookahead = true;\n this.nextToken();\n this.isLookahead = false;\n const curr = this.state;\n this.state = old;\n return curr;\n }\n nextTokenStart() {\n return this.nextTokenStartSince(this.state.pos);\n }\n nextTokenStartSince(pos) {\n skipWhiteSpace.lastIndex = pos;\n return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos;\n }\n lookaheadCharCode() {\n return this.input.charCodeAt(this.nextTokenStart());\n }\n nextTokenInLineStart() {\n return this.nextTokenInLineStartSince(this.state.pos);\n }\n nextTokenInLineStartSince(pos) {\n skipWhiteSpaceInLine.lastIndex = pos;\n return skipWhiteSpaceInLine.test(this.input) ? skipWhiteSpaceInLine.lastIndex : pos;\n }\n lookaheadInLineCharCode() {\n return this.input.charCodeAt(this.nextTokenInLineStart());\n }\n codePointAtPos(pos) {\n let cp = this.input.charCodeAt(pos);\n if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {\n const trail = this.input.charCodeAt(pos);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n return cp;\n }\n setStrict(strict) {\n this.state.strict = strict;\n if (strict) {\n this.state.strictErrors.forEach(([toParseError, at]) => this.raise(toParseError, at));\n this.state.strictErrors.clear();\n }\n }\n curContext() {\n return this.state.context[this.state.context.length - 1];\n }\n nextToken() {\n this.skipSpace();\n this.state.start = this.state.pos;\n if (!this.isLookahead) this.state.startLoc = this.state.curPosition();\n if (this.state.pos >= this.length) {\n this.finishToken(140);\n return;\n }\n this.getTokenFromCode(this.codePointAtPos(this.state.pos));\n }\n skipBlockComment(commentEnd) {\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n const start = this.state.pos;\n const end = this.input.indexOf(commentEnd, start + 2);\n if (end === -1) {\n throw this.raise(Errors.UnterminatedComment, this.state.curPosition());\n }\n this.state.pos = end + commentEnd.length;\n lineBreakG.lastIndex = start + 2;\n while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) {\n ++this.state.curLine;\n this.state.lineStart = lineBreakG.lastIndex;\n }\n if (this.isLookahead) return;\n const comment = {\n type: \"CommentBlock\",\n value: this.input.slice(start + 2, end),\n start: this.sourceToOffsetPos(start),\n end: this.sourceToOffsetPos(end + commentEnd.length),\n loc: new SourceLocation(startLoc, this.state.curPosition())\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n skipLineComment(startSkip) {\n const start = this.state.pos;\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n let ch = this.input.charCodeAt(this.state.pos += startSkip);\n if (this.state.pos < this.length) {\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n }\n if (this.isLookahead) return;\n const end = this.state.pos;\n const value = this.input.slice(start + startSkip, end);\n const comment = {\n type: \"CommentLine\",\n value,\n start: this.sourceToOffsetPos(start),\n end: this.sourceToOffsetPos(end),\n loc: new SourceLocation(startLoc, this.state.curPosition())\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n skipSpace() {\n const spaceStart = this.state.pos;\n const comments = [];\n loop: while (this.state.pos < this.length) {\n const ch = this.input.charCodeAt(this.state.pos);\n switch (ch) {\n case 32:\n case 160:\n case 9:\n ++this.state.pos;\n break;\n case 13:\n if (this.input.charCodeAt(this.state.pos + 1) === 10) {\n ++this.state.pos;\n }\n case 10:\n case 8232:\n case 8233:\n ++this.state.pos;\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n break;\n case 47:\n switch (this.input.charCodeAt(this.state.pos + 1)) {\n case 42:\n {\n const comment = this.skipBlockComment(\"*/\");\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n case 47:\n {\n const comment = this.skipLineComment(2);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n default:\n break loop;\n }\n break;\n default:\n if (isWhitespace(ch)) {\n ++this.state.pos;\n } else if (ch === 45 && !this.inModule && this.options.annexB) {\n const pos = this.state.pos;\n if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) {\n const comment = this.skipLineComment(3);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else if (ch === 60 && !this.inModule && this.options.annexB) {\n const pos = this.state.pos;\n if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) {\n const comment = this.skipLineComment(4);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else {\n break loop;\n }\n }\n }\n if (comments.length > 0) {\n const end = this.state.pos;\n const commentWhitespace = {\n start: this.sourceToOffsetPos(spaceStart),\n end: this.sourceToOffsetPos(end),\n comments,\n leadingNode: null,\n trailingNode: null,\n containingNode: null\n };\n this.state.commentStack.push(commentWhitespace);\n }\n }\n finishToken(type, val) {\n this.state.end = this.state.pos;\n this.state.endLoc = this.state.curPosition();\n const prevType = this.state.type;\n this.state.type = type;\n this.state.value = val;\n if (!this.isLookahead) {\n this.updateContext(prevType);\n }\n }\n replaceToken(type) {\n this.state.type = type;\n this.updateContext();\n }\n readToken_numberSign() {\n if (this.state.pos === 0 && this.readToken_interpreter()) {\n return;\n }\n const nextPos = this.state.pos + 1;\n const next = this.codePointAtPos(nextPos);\n if (next >= 48 && next <= 57) {\n throw this.raise(Errors.UnexpectedDigitAfterHash, this.state.curPosition());\n }\n if (next === 123 || next === 91 && this.hasPlugin(\"recordAndTuple\")) {\n this.expectPlugin(\"recordAndTuple\");\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") === \"bar\") {\n throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, this.state.curPosition());\n }\n this.state.pos += 2;\n if (next === 123) {\n this.finishToken(7);\n } else {\n this.finishToken(1);\n }\n } else if (isIdentifierStart(next)) {\n ++this.state.pos;\n this.finishToken(139, this.readWord1(next));\n } else if (next === 92) {\n ++this.state.pos;\n this.finishToken(139, this.readWord1());\n } else {\n this.finishOp(27, 1);\n }\n }\n readToken_dot() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next >= 48 && next <= 57) {\n this.readNumber(true);\n return;\n }\n if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) {\n this.state.pos += 3;\n this.finishToken(21);\n } else {\n ++this.state.pos;\n this.finishToken(16);\n }\n }\n readToken_slash() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === 61) {\n this.finishOp(31, 2);\n } else {\n this.finishOp(56, 1);\n }\n }\n readToken_interpreter() {\n if (this.state.pos !== 0 || this.length < 2) return false;\n let ch = this.input.charCodeAt(this.state.pos + 1);\n if (ch !== 33) return false;\n const start = this.state.pos;\n this.state.pos += 1;\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n const value = this.input.slice(start + 2, this.state.pos);\n this.finishToken(28, value);\n return true;\n }\n readToken_mult_modulo(code) {\n let type = code === 42 ? 55 : 54;\n let width = 1;\n let next = this.input.charCodeAt(this.state.pos + 1);\n if (code === 42 && next === 42) {\n width++;\n next = this.input.charCodeAt(this.state.pos + 2);\n type = 57;\n }\n if (next === 61 && !this.state.inType) {\n width++;\n type = code === 37 ? 33 : 30;\n }\n this.finishOp(type, width);\n }\n readToken_pipe_amp(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === code) {\n if (this.input.charCodeAt(this.state.pos + 2) === 61) {\n this.finishOp(30, 3);\n } else {\n this.finishOp(code === 124 ? 41 : 42, 2);\n }\n return;\n }\n if (code === 124) {\n if (next === 62) {\n this.finishOp(39, 2);\n return;\n }\n if (this.hasPlugin(\"recordAndTuple\") && next === 125) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition());\n }\n this.state.pos += 2;\n this.finishToken(9);\n return;\n }\n if (this.hasPlugin(\"recordAndTuple\") && next === 93) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition());\n }\n this.state.pos += 2;\n this.finishToken(4);\n return;\n }\n }\n if (next === 61) {\n this.finishOp(30, 2);\n return;\n }\n this.finishOp(code === 124 ? 43 : 45, 1);\n }\n readToken_caret() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === 61 && !this.state.inType) {\n this.finishOp(32, 2);\n } else if (next === 94 && this.hasPlugin([\"pipelineOperator\", {\n proposal: \"hack\",\n topicToken: \"^^\"\n }])) {\n this.finishOp(37, 2);\n const lookaheadCh = this.input.codePointAt(this.state.pos);\n if (lookaheadCh === 94) {\n this.unexpected();\n }\n } else {\n this.finishOp(44, 1);\n }\n }\n readToken_atSign() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === 64 && this.hasPlugin([\"pipelineOperator\", {\n proposal: \"hack\",\n topicToken: \"@@\"\n }])) {\n this.finishOp(38, 2);\n } else {\n this.finishOp(26, 1);\n }\n }\n readToken_plus_min(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === code) {\n this.finishOp(34, 2);\n return;\n }\n if (next === 61) {\n this.finishOp(30, 2);\n } else {\n this.finishOp(53, 1);\n }\n }\n readToken_lt() {\n const {\n pos\n } = this.state;\n const next = this.input.charCodeAt(pos + 1);\n if (next === 60) {\n if (this.input.charCodeAt(pos + 2) === 61) {\n this.finishOp(30, 3);\n return;\n }\n this.finishOp(51, 2);\n return;\n }\n if (next === 61) {\n this.finishOp(49, 2);\n return;\n }\n this.finishOp(47, 1);\n }\n readToken_gt() {\n const {\n pos\n } = this.state;\n const next = this.input.charCodeAt(pos + 1);\n if (next === 62) {\n const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2;\n if (this.input.charCodeAt(pos + size) === 61) {\n this.finishOp(30, size + 1);\n return;\n }\n this.finishOp(52, size);\n return;\n }\n if (next === 61) {\n this.finishOp(49, 2);\n return;\n }\n this.finishOp(48, 1);\n }\n readToken_eq_excl(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === 61) {\n this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);\n return;\n }\n if (code === 61 && next === 62) {\n this.state.pos += 2;\n this.finishToken(19);\n return;\n }\n this.finishOp(code === 61 ? 29 : 35, 1);\n }\n readToken_question() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n const next2 = this.input.charCodeAt(this.state.pos + 2);\n if (next === 63) {\n if (next2 === 61) {\n this.finishOp(30, 3);\n } else {\n this.finishOp(40, 2);\n }\n } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) {\n this.state.pos += 2;\n this.finishToken(18);\n } else {\n ++this.state.pos;\n this.finishToken(17);\n }\n }\n getTokenFromCode(code) {\n switch (code) {\n case 46:\n this.readToken_dot();\n return;\n case 40:\n ++this.state.pos;\n this.finishToken(10);\n return;\n case 41:\n ++this.state.pos;\n this.finishToken(11);\n return;\n case 59:\n ++this.state.pos;\n this.finishToken(13);\n return;\n case 44:\n ++this.state.pos;\n this.finishToken(12);\n return;\n case 91:\n if (this.hasPlugin(\"recordAndTuple\") && this.input.charCodeAt(this.state.pos + 1) === 124) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition());\n }\n this.state.pos += 2;\n this.finishToken(2);\n } else {\n ++this.state.pos;\n this.finishToken(0);\n }\n return;\n case 93:\n ++this.state.pos;\n this.finishToken(3);\n return;\n case 123:\n if (this.hasPlugin(\"recordAndTuple\") && this.input.charCodeAt(this.state.pos + 1) === 124) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition());\n }\n this.state.pos += 2;\n this.finishToken(6);\n } else {\n ++this.state.pos;\n this.finishToken(5);\n }\n return;\n case 125:\n ++this.state.pos;\n this.finishToken(8);\n return;\n case 58:\n if (this.hasPlugin(\"functionBind\") && this.input.charCodeAt(this.state.pos + 1) === 58) {\n this.finishOp(15, 2);\n } else {\n ++this.state.pos;\n this.finishToken(14);\n }\n return;\n case 63:\n this.readToken_question();\n return;\n case 96:\n this.readTemplateToken();\n return;\n case 48:\n {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === 120 || next === 88) {\n this.readRadixNumber(16);\n return;\n }\n if (next === 111 || next === 79) {\n this.readRadixNumber(8);\n return;\n }\n if (next === 98 || next === 66) {\n this.readRadixNumber(2);\n return;\n }\n }\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n this.readNumber(false);\n return;\n case 34:\n case 39:\n this.readString(code);\n return;\n case 47:\n this.readToken_slash();\n return;\n case 37:\n case 42:\n this.readToken_mult_modulo(code);\n return;\n case 124:\n case 38:\n this.readToken_pipe_amp(code);\n return;\n case 94:\n this.readToken_caret();\n return;\n case 43:\n case 45:\n this.readToken_plus_min(code);\n return;\n case 60:\n this.readToken_lt();\n return;\n case 62:\n this.readToken_gt();\n return;\n case 61:\n case 33:\n this.readToken_eq_excl(code);\n return;\n case 126:\n this.finishOp(36, 1);\n return;\n case 64:\n this.readToken_atSign();\n return;\n case 35:\n this.readToken_numberSign();\n return;\n case 92:\n this.readWord();\n return;\n default:\n if (isIdentifierStart(code)) {\n this.readWord(code);\n return;\n }\n }\n throw this.raise(Errors.InvalidOrUnexpectedToken, this.state.curPosition(), {\n unexpected: String.fromCodePoint(code)\n });\n }\n finishOp(type, size) {\n const str = this.input.slice(this.state.pos, this.state.pos + size);\n this.state.pos += size;\n this.finishToken(type, str);\n }\n readRegexp() {\n const startLoc = this.state.startLoc;\n const start = this.state.start + 1;\n let escaped, inClass;\n let {\n pos\n } = this.state;\n for (;; ++pos) {\n if (pos >= this.length) {\n throw this.raise(Errors.UnterminatedRegExp, createPositionWithColumnOffset(startLoc, 1));\n }\n const ch = this.input.charCodeAt(pos);\n if (isNewLine(ch)) {\n throw this.raise(Errors.UnterminatedRegExp, createPositionWithColumnOffset(startLoc, 1));\n }\n if (escaped) {\n escaped = false;\n } else {\n if (ch === 91) {\n inClass = true;\n } else if (ch === 93 && inClass) {\n inClass = false;\n } else if (ch === 47 && !inClass) {\n break;\n }\n escaped = ch === 92;\n }\n }\n const content = this.input.slice(start, pos);\n ++pos;\n let mods = \"\";\n const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start);\n while (pos < this.length) {\n const cp = this.codePointAtPos(pos);\n const char = String.fromCharCode(cp);\n if (VALID_REGEX_FLAGS.has(cp)) {\n if (cp === 118) {\n if (mods.includes(\"u\")) {\n this.raise(Errors.IncompatibleRegExpUVFlags, nextPos());\n }\n } else if (cp === 117) {\n if (mods.includes(\"v\")) {\n this.raise(Errors.IncompatibleRegExpUVFlags, nextPos());\n }\n }\n if (mods.includes(char)) {\n this.raise(Errors.DuplicateRegExpFlags, nextPos());\n }\n } else if (isIdentifierChar(cp) || cp === 92) {\n this.raise(Errors.MalformedRegExpFlags, nextPos());\n } else {\n break;\n }\n ++pos;\n mods += char;\n }\n this.state.pos = pos;\n this.finishToken(138, {\n pattern: content,\n flags: mods\n });\n }\n readInt(radix, len, forceLen = false, allowNumSeparator = true) {\n const {\n n,\n pos\n } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt, false);\n this.state.pos = pos;\n return n;\n }\n readRadixNumber(radix) {\n const start = this.state.pos;\n const startLoc = this.state.curPosition();\n let isBigInt = false;\n this.state.pos += 2;\n const val = this.readInt(radix);\n if (val == null) {\n this.raise(Errors.InvalidDigit, createPositionWithColumnOffset(startLoc, 2), {\n radix\n });\n }\n const next = this.input.charCodeAt(this.state.pos);\n if (next === 110) {\n ++this.state.pos;\n isBigInt = true;\n } else if (next === 109) {\n throw this.raise(Errors.InvalidDecimal, startLoc);\n }\n if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {\n throw this.raise(Errors.NumberIdentifier, this.state.curPosition());\n }\n if (isBigInt) {\n const str = this.input.slice(start, this.state.pos).replace(/[_n]/g, \"\");\n this.finishToken(136, str);\n return;\n }\n this.finishToken(135, val);\n }\n readNumber(startsWithDot) {\n const start = this.state.pos;\n const startLoc = this.state.curPosition();\n let isFloat = false;\n let isBigInt = false;\n let hasExponent = false;\n let isOctal = false;\n if (!startsWithDot && this.readInt(10) === null) {\n this.raise(Errors.InvalidNumber, this.state.curPosition());\n }\n const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48;\n if (hasLeadingZero) {\n const integer = this.input.slice(start, this.state.pos);\n this.recordStrictModeErrors(Errors.StrictOctalLiteral, startLoc);\n if (!this.state.strict) {\n const underscorePos = integer.indexOf(\"_\");\n if (underscorePos > 0) {\n this.raise(Errors.ZeroDigitNumericSeparator, createPositionWithColumnOffset(startLoc, underscorePos));\n }\n }\n isOctal = hasLeadingZero && !/[89]/.test(integer);\n }\n let next = this.input.charCodeAt(this.state.pos);\n if (next === 46 && !isOctal) {\n ++this.state.pos;\n this.readInt(10);\n isFloat = true;\n next = this.input.charCodeAt(this.state.pos);\n }\n if ((next === 69 || next === 101) && !isOctal) {\n next = this.input.charCodeAt(++this.state.pos);\n if (next === 43 || next === 45) {\n ++this.state.pos;\n }\n if (this.readInt(10) === null) {\n this.raise(Errors.InvalidOrMissingExponent, startLoc);\n }\n isFloat = true;\n hasExponent = true;\n next = this.input.charCodeAt(this.state.pos);\n }\n if (next === 110) {\n if (isFloat || hasLeadingZero) {\n this.raise(Errors.InvalidBigIntLiteral, startLoc);\n }\n ++this.state.pos;\n isBigInt = true;\n }\n if (next === 109) {\n this.expectPlugin(\"decimal\", this.state.curPosition());\n if (hasExponent || hasLeadingZero) {\n this.raise(Errors.InvalidDecimal, startLoc);\n }\n ++this.state.pos;\n var isDecimal = true;\n }\n if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {\n throw this.raise(Errors.NumberIdentifier, this.state.curPosition());\n }\n const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, \"\");\n if (isBigInt) {\n this.finishToken(136, str);\n return;\n }\n if (isDecimal) {\n this.finishToken(137, str);\n return;\n }\n const val = isOctal ? parseInt(str, 8) : parseFloat(str);\n this.finishToken(135, val);\n }\n readCodePoint(throwOnInvalid) {\n const {\n code,\n pos\n } = readCodePoint(this.input, this.state.pos, this.state.lineStart, this.state.curLine, throwOnInvalid, this.errorHandlers_readCodePoint);\n this.state.pos = pos;\n return code;\n }\n readString(quote) {\n const {\n str,\n pos,\n curLine,\n lineStart\n } = readStringContents(quote === 34 ? \"double\" : \"single\", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string);\n this.state.pos = pos + 1;\n this.state.lineStart = lineStart;\n this.state.curLine = curLine;\n this.finishToken(134, str);\n }\n readTemplateContinuation() {\n if (!this.match(8)) {\n this.unexpected(null, 8);\n }\n this.state.pos--;\n this.readTemplateToken();\n }\n readTemplateToken() {\n const opening = this.input[this.state.pos];\n const {\n str,\n firstInvalidLoc,\n pos,\n curLine,\n lineStart\n } = readStringContents(\"template\", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template);\n this.state.pos = pos + 1;\n this.state.lineStart = lineStart;\n this.state.curLine = curLine;\n if (firstInvalidLoc) {\n this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, this.sourceToOffsetPos(firstInvalidLoc.pos));\n }\n if (this.input.codePointAt(pos) === 96) {\n this.finishToken(24, firstInvalidLoc ? null : opening + str + \"`\");\n } else {\n this.state.pos++;\n this.finishToken(25, firstInvalidLoc ? null : opening + str + \"${\");\n }\n }\n recordStrictModeErrors(toParseError, at) {\n const index = at.index;\n if (this.state.strict && !this.state.strictErrors.has(index)) {\n this.raise(toParseError, at);\n } else {\n this.state.strictErrors.set(index, [toParseError, at]);\n }\n }\n readWord1(firstCode) {\n this.state.containsEsc = false;\n let word = \"\";\n const start = this.state.pos;\n let chunkStart = this.state.pos;\n if (firstCode !== undefined) {\n this.state.pos += firstCode <= 0xffff ? 1 : 2;\n }\n while (this.state.pos < this.length) {\n const ch = this.codePointAtPos(this.state.pos);\n if (isIdentifierChar(ch)) {\n this.state.pos += ch <= 0xffff ? 1 : 2;\n } else if (ch === 92) {\n this.state.containsEsc = true;\n word += this.input.slice(chunkStart, this.state.pos);\n const escStart = this.state.curPosition();\n const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar;\n if (this.input.charCodeAt(++this.state.pos) !== 117) {\n this.raise(Errors.MissingUnicodeEscape, this.state.curPosition());\n chunkStart = this.state.pos - 1;\n continue;\n }\n ++this.state.pos;\n const esc = this.readCodePoint(true);\n if (esc !== null) {\n if (!identifierCheck(esc)) {\n this.raise(Errors.EscapedCharNotAnIdentifier, escStart);\n }\n word += String.fromCodePoint(esc);\n }\n chunkStart = this.state.pos;\n } else {\n break;\n }\n }\n return word + this.input.slice(chunkStart, this.state.pos);\n }\n readWord(firstCode) {\n const word = this.readWord1(firstCode);\n const type = keywords$1.get(word);\n if (type !== undefined) {\n this.finishToken(type, tokenLabelName(type));\n } else {\n this.finishToken(132, word);\n }\n }\n checkKeywordEscapes() {\n const {\n type\n } = this.state;\n if (tokenIsKeyword(type) && this.state.containsEsc) {\n this.raise(Errors.InvalidEscapedReservedWord, this.state.startLoc, {\n reservedWord: tokenLabelName(type)\n });\n }\n }\n raise(toParseError, at, details = {}) {\n const loc = at instanceof Position ? at : at.loc.start;\n const error = toParseError(loc, details);\n if (!this.options.errorRecovery) throw error;\n if (!this.isLookahead) this.state.errors.push(error);\n return error;\n }\n raiseOverwrite(toParseError, at, details = {}) {\n const loc = at instanceof Position ? at : at.loc.start;\n const pos = loc.index;\n const errors = this.state.errors;\n for (let i = errors.length - 1; i >= 0; i--) {\n const error = errors[i];\n if (error.loc.index === pos) {\n return errors[i] = toParseError(loc, details);\n }\n if (error.loc.index < pos) break;\n }\n return this.raise(toParseError, at, details);\n }\n updateContext(prevType) {}\n unexpected(loc, type) {\n throw this.raise(Errors.UnexpectedToken, loc != null ? loc : this.state.startLoc, {\n expected: type ? tokenLabelName(type) : null\n });\n }\n expectPlugin(pluginName, loc) {\n if (this.hasPlugin(pluginName)) {\n return true;\n }\n throw this.raise(Errors.MissingPlugin, loc != null ? loc : this.state.startLoc, {\n missingPlugin: [pluginName]\n });\n }\n expectOnePlugin(pluginNames) {\n if (!pluginNames.some(name => this.hasPlugin(name))) {\n throw this.raise(Errors.MissingOneOfPlugins, this.state.startLoc, {\n missingPlugin: pluginNames\n });\n }\n }\n errorBuilder(error) {\n return (pos, lineStart, curLine) => {\n this.raise(error, buildPosition(pos, lineStart, curLine));\n };\n }\n}\nclass ClassScope {\n constructor() {\n this.privateNames = new Set();\n this.loneAccessors = new Map();\n this.undefinedPrivateNames = new Map();\n }\n}\nclass ClassScopeHandler {\n constructor(parser) {\n this.parser = void 0;\n this.stack = [];\n this.undefinedPrivateNames = new Map();\n this.parser = parser;\n }\n current() {\n return this.stack[this.stack.length - 1];\n }\n enter() {\n this.stack.push(new ClassScope());\n }\n exit() {\n const oldClassScope = this.stack.pop();\n const current = this.current();\n for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) {\n if (current) {\n if (!current.undefinedPrivateNames.has(name)) {\n current.undefinedPrivateNames.set(name, loc);\n }\n } else {\n this.parser.raise(Errors.InvalidPrivateFieldResolution, loc, {\n identifierName: name\n });\n }\n }\n }\n declarePrivateName(name, elementType, loc) {\n const {\n privateNames,\n loneAccessors,\n undefinedPrivateNames\n } = this.current();\n let redefined = privateNames.has(name);\n if (elementType & 3) {\n const accessor = redefined && loneAccessors.get(name);\n if (accessor) {\n const oldStatic = accessor & 4;\n const newStatic = elementType & 4;\n const oldKind = accessor & 3;\n const newKind = elementType & 3;\n redefined = oldKind === newKind || oldStatic !== newStatic;\n if (!redefined) loneAccessors.delete(name);\n } else if (!redefined) {\n loneAccessors.set(name, elementType);\n }\n }\n if (redefined) {\n this.parser.raise(Errors.PrivateNameRedeclaration, loc, {\n identifierName: name\n });\n }\n privateNames.add(name);\n undefinedPrivateNames.delete(name);\n }\n usePrivateName(name, loc) {\n let classScope;\n for (classScope of this.stack) {\n if (classScope.privateNames.has(name)) return;\n }\n if (classScope) {\n classScope.undefinedPrivateNames.set(name, loc);\n } else {\n this.parser.raise(Errors.InvalidPrivateFieldResolution, loc, {\n identifierName: name\n });\n }\n }\n}\nclass ExpressionScope {\n constructor(type = 0) {\n this.type = type;\n }\n canBeArrowParameterDeclaration() {\n return this.type === 2 || this.type === 1;\n }\n isCertainlyParameterDeclaration() {\n return this.type === 3;\n }\n}\nclass ArrowHeadParsingScope extends ExpressionScope {\n constructor(type) {\n super(type);\n this.declarationErrors = new Map();\n }\n recordDeclarationError(ParsingErrorClass, at) {\n const index = at.index;\n this.declarationErrors.set(index, [ParsingErrorClass, at]);\n }\n clearDeclarationError(index) {\n this.declarationErrors.delete(index);\n }\n iterateErrors(iterator) {\n this.declarationErrors.forEach(iterator);\n }\n}\nclass ExpressionScopeHandler {\n constructor(parser) {\n this.parser = void 0;\n this.stack = [new ExpressionScope()];\n this.parser = parser;\n }\n enter(scope) {\n this.stack.push(scope);\n }\n exit() {\n this.stack.pop();\n }\n recordParameterInitializerError(toParseError, node) {\n const origin = node.loc.start;\n const {\n stack\n } = this;\n let i = stack.length - 1;\n let scope = stack[i];\n while (!scope.isCertainlyParameterDeclaration()) {\n if (scope.canBeArrowParameterDeclaration()) {\n scope.recordDeclarationError(toParseError, origin);\n } else {\n return;\n }\n scope = stack[--i];\n }\n this.parser.raise(toParseError, origin);\n }\n recordArrowParameterBindingError(error, node) {\n const {\n stack\n } = this;\n const scope = stack[stack.length - 1];\n const origin = node.loc.start;\n if (scope.isCertainlyParameterDeclaration()) {\n this.parser.raise(error, origin);\n } else if (scope.canBeArrowParameterDeclaration()) {\n scope.recordDeclarationError(error, origin);\n } else {\n return;\n }\n }\n recordAsyncArrowParametersError(at) {\n const {\n stack\n } = this;\n let i = stack.length - 1;\n let scope = stack[i];\n while (scope.canBeArrowParameterDeclaration()) {\n if (scope.type === 2) {\n scope.recordDeclarationError(Errors.AwaitBindingIdentifier, at);\n }\n scope = stack[--i];\n }\n }\n validateAsPattern() {\n const {\n stack\n } = this;\n const currentScope = stack[stack.length - 1];\n if (!currentScope.canBeArrowParameterDeclaration()) return;\n currentScope.iterateErrors(([toParseError, loc]) => {\n this.parser.raise(toParseError, loc);\n let i = stack.length - 2;\n let scope = stack[i];\n while (scope.canBeArrowParameterDeclaration()) {\n scope.clearDeclarationError(loc.index);\n scope = stack[--i];\n }\n });\n }\n}\nfunction newParameterDeclarationScope() {\n return new ExpressionScope(3);\n}\nfunction newArrowHeadScope() {\n return new ArrowHeadParsingScope(1);\n}\nfunction newAsyncArrowScope() {\n return new ArrowHeadParsingScope(2);\n}\nfunction newExpressionScope() {\n return new ExpressionScope();\n}\nclass ProductionParameterHandler {\n constructor() {\n this.stacks = [];\n }\n enter(flags) {\n this.stacks.push(flags);\n }\n exit() {\n this.stacks.pop();\n }\n currentFlags() {\n return this.stacks[this.stacks.length - 1];\n }\n get hasAwait() {\n return (this.currentFlags() & 2) > 0;\n }\n get hasYield() {\n return (this.currentFlags() & 1) > 0;\n }\n get hasReturn() {\n return (this.currentFlags() & 4) > 0;\n }\n get hasIn() {\n return (this.currentFlags() & 8) > 0;\n }\n}\nfunction functionFlags(isAsync, isGenerator) {\n return (isAsync ? 2 : 0) | (isGenerator ? 1 : 0);\n}\nclass UtilParser extends Tokenizer {\n addExtra(node, key, value, enumerable = true) {\n if (!node) return;\n let {\n extra\n } = node;\n if (extra == null) {\n extra = {};\n node.extra = extra;\n }\n if (enumerable) {\n extra[key] = value;\n } else {\n Object.defineProperty(extra, key, {\n enumerable,\n value\n });\n }\n }\n isContextual(token) {\n return this.state.type === token && !this.state.containsEsc;\n }\n isUnparsedContextual(nameStart, name) {\n const nameEnd = nameStart + name.length;\n if (this.input.slice(nameStart, nameEnd) === name) {\n const nextCh = this.input.charCodeAt(nameEnd);\n return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800);\n }\n return false;\n }\n isLookaheadContextual(name) {\n const next = this.nextTokenStart();\n return this.isUnparsedContextual(next, name);\n }\n eatContextual(token) {\n if (this.isContextual(token)) {\n this.next();\n return true;\n }\n return false;\n }\n expectContextual(token, toParseError) {\n if (!this.eatContextual(token)) {\n if (toParseError != null) {\n throw this.raise(toParseError, this.state.startLoc);\n }\n this.unexpected(null, token);\n }\n }\n canInsertSemicolon() {\n return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();\n }\n hasPrecedingLineBreak() {\n return hasNewLine(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);\n }\n hasFollowingLineBreak() {\n return hasNewLine(this.input, this.state.end, this.nextTokenStart());\n }\n isLineTerminator() {\n return this.eat(13) || this.canInsertSemicolon();\n }\n semicolon(allowAsi = true) {\n if (allowAsi ? this.isLineTerminator() : this.eat(13)) return;\n this.raise(Errors.MissingSemicolon, this.state.lastTokEndLoc);\n }\n expect(type, loc) {\n if (!this.eat(type)) {\n this.unexpected(loc, type);\n }\n }\n tryParse(fn, oldState = this.state.clone()) {\n const abortSignal = {\n node: null\n };\n try {\n const node = fn((node = null) => {\n abortSignal.node = node;\n throw abortSignal;\n });\n if (this.state.errors.length > oldState.errors.length) {\n const failState = this.state;\n this.state = oldState;\n this.state.tokensLength = failState.tokensLength;\n return {\n node,\n error: failState.errors[oldState.errors.length],\n thrown: false,\n aborted: false,\n failState\n };\n }\n return {\n node,\n error: null,\n thrown: false,\n aborted: false,\n failState: null\n };\n } catch (error) {\n const failState = this.state;\n this.state = oldState;\n if (error instanceof SyntaxError) {\n return {\n node: null,\n error,\n thrown: true,\n aborted: false,\n failState\n };\n }\n if (error === abortSignal) {\n return {\n node: abortSignal.node,\n error: null,\n thrown: false,\n aborted: true,\n failState\n };\n }\n throw error;\n }\n }\n checkExpressionErrors(refExpressionErrors, andThrow) {\n if (!refExpressionErrors) return false;\n const {\n shorthandAssignLoc,\n doubleProtoLoc,\n privateKeyLoc,\n optionalParametersLoc\n } = refExpressionErrors;\n const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc;\n if (!andThrow) {\n return hasErrors;\n }\n if (shorthandAssignLoc != null) {\n this.raise(Errors.InvalidCoverInitializedName, shorthandAssignLoc);\n }\n if (doubleProtoLoc != null) {\n this.raise(Errors.DuplicateProto, doubleProtoLoc);\n }\n if (privateKeyLoc != null) {\n this.raise(Errors.UnexpectedPrivateField, privateKeyLoc);\n }\n if (optionalParametersLoc != null) {\n this.unexpected(optionalParametersLoc);\n }\n }\n isLiteralPropertyName() {\n return tokenIsLiteralPropertyName(this.state.type);\n }\n isPrivateName(node) {\n return node.type === \"PrivateName\";\n }\n getPrivateNameSV(node) {\n return node.id.name;\n }\n hasPropertyAsPrivateName(node) {\n return (node.type === \"MemberExpression\" || node.type === \"OptionalMemberExpression\") && this.isPrivateName(node.property);\n }\n isObjectProperty(node) {\n return node.type === \"ObjectProperty\";\n }\n isObjectMethod(node) {\n return node.type === \"ObjectMethod\";\n }\n initializeScopes(inModule = this.options.sourceType === \"module\") {\n const oldLabels = this.state.labels;\n this.state.labels = [];\n const oldExportedIdentifiers = this.exportedIdentifiers;\n this.exportedIdentifiers = new Set();\n const oldInModule = this.inModule;\n this.inModule = inModule;\n const oldScope = this.scope;\n const ScopeHandler = this.getScopeHandler();\n this.scope = new ScopeHandler(this, inModule);\n const oldProdParam = this.prodParam;\n this.prodParam = new ProductionParameterHandler();\n const oldClassScope = this.classScope;\n this.classScope = new ClassScopeHandler(this);\n const oldExpressionScope = this.expressionScope;\n this.expressionScope = new ExpressionScopeHandler(this);\n return () => {\n this.state.labels = oldLabels;\n this.exportedIdentifiers = oldExportedIdentifiers;\n this.inModule = oldInModule;\n this.scope = oldScope;\n this.prodParam = oldProdParam;\n this.classScope = oldClassScope;\n this.expressionScope = oldExpressionScope;\n };\n }\n enterInitialScopes() {\n let paramFlags = 0;\n if (this.inModule) {\n paramFlags |= 2;\n }\n this.scope.enter(1);\n this.prodParam.enter(paramFlags);\n }\n checkDestructuringPrivate(refExpressionErrors) {\n const {\n privateKeyLoc\n } = refExpressionErrors;\n if (privateKeyLoc !== null) {\n this.expectPlugin(\"destructuringPrivate\", privateKeyLoc);\n }\n }\n}\nclass ExpressionErrors {\n constructor() {\n this.shorthandAssignLoc = null;\n this.doubleProtoLoc = null;\n this.privateKeyLoc = null;\n this.optionalParametersLoc = null;\n }\n}\nclass Node {\n constructor(parser, pos, loc) {\n this.type = \"\";\n this.start = pos;\n this.end = 0;\n this.loc = new SourceLocation(loc);\n if (parser != null && parser.options.ranges) this.range = [pos, 0];\n if (parser != null && parser.filename) this.loc.filename = parser.filename;\n }\n}\nconst NodePrototype = Node.prototype;\n{\n NodePrototype.__clone = function () {\n const newNode = new Node(undefined, this.start, this.loc.start);\n const keys = Object.keys(this);\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n if (key !== \"leadingComments\" && key !== \"trailingComments\" && key !== \"innerComments\") {\n newNode[key] = this[key];\n }\n }\n return newNode;\n };\n}\nfunction clonePlaceholder(node) {\n return cloneIdentifier(node);\n}\nfunction cloneIdentifier(node) {\n const {\n type,\n start,\n end,\n loc,\n range,\n extra,\n name\n } = node;\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n cloned.extra = extra;\n cloned.name = name;\n if (type === \"Placeholder\") {\n cloned.expectedNode = node.expectedNode;\n }\n return cloned;\n}\nfunction cloneStringLiteral(node) {\n const {\n type,\n start,\n end,\n loc,\n range,\n extra\n } = node;\n if (type === \"Placeholder\") {\n return clonePlaceholder(node);\n }\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n if (node.raw !== undefined) {\n cloned.raw = node.raw;\n } else {\n cloned.extra = extra;\n }\n cloned.value = node.value;\n return cloned;\n}\nclass NodeUtils extends UtilParser {\n startNode() {\n const loc = this.state.startLoc;\n return new Node(this, loc.index, loc);\n }\n startNodeAt(loc) {\n return new Node(this, loc.index, loc);\n }\n startNodeAtNode(type) {\n return this.startNodeAt(type.loc.start);\n }\n finishNode(node, type) {\n return this.finishNodeAt(node, type, this.state.lastTokEndLoc);\n }\n finishNodeAt(node, type, endLoc) {\n node.type = type;\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n if (this.options.attachComment) this.processComment(node);\n return node;\n }\n resetStartLocation(node, startLoc) {\n node.start = startLoc.index;\n node.loc.start = startLoc;\n if (this.options.ranges) node.range[0] = startLoc.index;\n }\n resetEndLocation(node, endLoc = this.state.lastTokEndLoc) {\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n }\n resetStartLocationFromNode(node, locationNode) {\n this.resetStartLocation(node, locationNode.loc.start);\n }\n}\nconst reservedTypes = new Set([\"_\", \"any\", \"bool\", \"boolean\", \"empty\", \"extends\", \"false\", \"interface\", \"mixed\", \"null\", \"number\", \"static\", \"string\", \"true\", \"typeof\", \"void\"]);\nconst FlowErrors = ParseErrorEnum`flow`({\n AmbiguousConditionalArrow: \"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.\",\n AmbiguousDeclareModuleKind: \"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.\",\n AssignReservedType: ({\n reservedType\n }) => `Cannot overwrite reserved type ${reservedType}.`,\n DeclareClassElement: \"The `declare` modifier can only appear on class fields.\",\n DeclareClassFieldInitializer: \"Initializers are not allowed in fields with the `declare` modifier.\",\n DuplicateDeclareModuleExports: \"Duplicate `declare module.exports` statement.\",\n EnumBooleanMemberNotInitialized: ({\n memberName,\n enumName\n }) => `Boolean enum members need to be initialized. Use either \\`${memberName} = true,\\` or \\`${memberName} = false,\\` in enum \\`${enumName}\\`.`,\n EnumDuplicateMemberName: ({\n memberName,\n enumName\n }) => `Enum member names need to be unique, but the name \\`${memberName}\\` has already been used before in enum \\`${enumName}\\`.`,\n EnumInconsistentMemberValues: ({\n enumName\n }) => `Enum \\`${enumName}\\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,\n EnumInvalidExplicitType: ({\n invalidEnumType,\n enumName\n }) => `Enum type \\`${invalidEnumType}\\` is not valid. Use one of \\`boolean\\`, \\`number\\`, \\`string\\`, or \\`symbol\\` in enum \\`${enumName}\\`.`,\n EnumInvalidExplicitTypeUnknownSupplied: ({\n enumName\n }) => `Supplied enum type is not valid. Use one of \\`boolean\\`, \\`number\\`, \\`string\\`, or \\`symbol\\` in enum \\`${enumName}\\`.`,\n EnumInvalidMemberInitializerPrimaryType: ({\n enumName,\n memberName,\n explicitType\n }) => `Enum \\`${enumName}\\` has type \\`${explicitType}\\`, so the initializer of \\`${memberName}\\` needs to be a ${explicitType} literal.`,\n EnumInvalidMemberInitializerSymbolType: ({\n enumName,\n memberName\n }) => `Symbol enum members cannot be initialized. Use \\`${memberName},\\` in enum \\`${enumName}\\`.`,\n EnumInvalidMemberInitializerUnknownType: ({\n enumName,\n memberName\n }) => `The enum member initializer for \\`${memberName}\\` needs to be a literal (either a boolean, number, or string) in enum \\`${enumName}\\`.`,\n EnumInvalidMemberName: ({\n enumName,\n memberName,\n suggestion\n }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \\`${memberName}\\`, consider using \\`${suggestion}\\`, in enum \\`${enumName}\\`.`,\n EnumNumberMemberNotInitialized: ({\n enumName,\n memberName\n }) => `Number enum members need to be initialized, e.g. \\`${memberName} = 1\\` in enum \\`${enumName}\\`.`,\n EnumStringMemberInconsistentlyInitialized: ({\n enumName\n }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \\`${enumName}\\`.`,\n GetterMayNotHaveThisParam: \"A getter cannot have a `this` parameter.\",\n ImportReflectionHasImportType: \"An `import module` declaration can not use `type` or `typeof` keyword.\",\n ImportTypeShorthandOnlyInPureImport: \"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.\",\n InexactInsideExact: \"Explicit inexact syntax cannot appear inside an explicit exact object type.\",\n InexactInsideNonObject: \"Explicit inexact syntax cannot appear in class or interface definitions.\",\n InexactVariance: \"Explicit inexact syntax cannot have variance.\",\n InvalidNonTypeImportInDeclareModule: \"Imports within a `declare module` body must always be `import type` or `import typeof`.\",\n MissingTypeParamDefault: \"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\",\n NestedDeclareModule: \"`declare module` cannot be used inside another `declare module`.\",\n NestedFlowComment: \"Cannot have a flow comment inside another flow comment.\",\n PatternIsOptional: Object.assign({\n message: \"A binding pattern parameter cannot be optional in an implementation signature.\"\n }, {\n reasonCode: \"OptionalBindingPattern\"\n }),\n SetterMayNotHaveThisParam: \"A setter cannot have a `this` parameter.\",\n SpreadVariance: \"Spread properties cannot have variance.\",\n ThisParamAnnotationRequired: \"A type annotation is required for the `this` parameter.\",\n ThisParamBannedInConstructor: \"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\",\n ThisParamMayNotBeOptional: \"The `this` parameter cannot be optional.\",\n ThisParamMustBeFirst: \"The `this` parameter must be the first function parameter.\",\n ThisParamNoDefault: \"The `this` parameter may not have a default value.\",\n TypeBeforeInitializer: \"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",\n TypeCastInPattern: \"The type cast expression is expected to be wrapped with parenthesis.\",\n UnexpectedExplicitInexactInObject: \"Explicit inexact syntax must appear at the end of an inexact object.\",\n UnexpectedReservedType: ({\n reservedType\n }) => `Unexpected reserved type ${reservedType}.`,\n UnexpectedReservedUnderscore: \"`_` is only allowed as a type argument to call or new.\",\n UnexpectedSpaceBetweenModuloChecks: \"Spaces between `%` and `checks` are not allowed here.\",\n UnexpectedSpreadType: \"Spread operator cannot appear in class or interface definitions.\",\n UnexpectedSubtractionOperand: 'Unexpected token, expected \"number\" or \"bigint\".',\n UnexpectedTokenAfterTypeParameter: \"Expected an arrow function after this type parameter declaration.\",\n UnexpectedTypeParameterBeforeAsyncArrowFunction: \"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.\",\n UnsupportedDeclareExportKind: ({\n unsupportedExportKind,\n suggestion\n }) => `\\`declare export ${unsupportedExportKind}\\` is not supported. Use \\`${suggestion}\\` instead.`,\n UnsupportedStatementInDeclareModule: \"Only declares and type imports are allowed inside declare module.\",\n UnterminatedFlowComment: \"Unterminated flow-comment.\"\n});\nfunction isEsModuleType(bodyElement) {\n return bodyElement.type === \"DeclareExportAllDeclaration\" || bodyElement.type === \"DeclareExportDeclaration\" && (!bodyElement.declaration || bodyElement.declaration.type !== \"TypeAlias\" && bodyElement.declaration.type !== \"InterfaceDeclaration\");\n}\nfunction hasTypeImportKind(node) {\n return node.importKind === \"type\" || node.importKind === \"typeof\";\n}\nconst exportSuggestions = {\n const: \"declare export var\",\n let: \"declare export var\",\n type: \"export type\",\n interface: \"export interface\"\n};\nfunction partition(list, test) {\n const list1 = [];\n const list2 = [];\n for (let i = 0; i < list.length; i++) {\n (test(list[i], i, list) ? list1 : list2).push(list[i]);\n }\n return [list1, list2];\n}\nconst FLOW_PRAGMA_REGEX = /\\*?\\s*@((?:no)?flow)\\b/;\nvar flow = superClass => class FlowParserMixin extends superClass {\n constructor(...args) {\n super(...args);\n this.flowPragma = undefined;\n }\n getScopeHandler() {\n return FlowScopeHandler;\n }\n shouldParseTypes() {\n return this.getPluginOption(\"flow\", \"all\") || this.flowPragma === \"flow\";\n }\n finishToken(type, val) {\n if (type !== 134 && type !== 13 && type !== 28) {\n if (this.flowPragma === undefined) {\n this.flowPragma = null;\n }\n }\n super.finishToken(type, val);\n }\n addComment(comment) {\n if (this.flowPragma === undefined) {\n const matches = FLOW_PRAGMA_REGEX.exec(comment.value);\n if (!matches) ;else if (matches[1] === \"flow\") {\n this.flowPragma = \"flow\";\n } else if (matches[1] === \"noflow\") {\n this.flowPragma = \"noflow\";\n } else {\n throw new Error(\"Unexpected flow pragma\");\n }\n }\n super.addComment(comment);\n }\n flowParseTypeInitialiser(tok) {\n const oldInType = this.state.inType;\n this.state.inType = true;\n this.expect(tok || 14);\n const type = this.flowParseType();\n this.state.inType = oldInType;\n return type;\n }\n flowParsePredicate() {\n const node = this.startNode();\n const moduloLoc = this.state.startLoc;\n this.next();\n this.expectContextual(110);\n if (this.state.lastTokStartLoc.index > moduloLoc.index + 1) {\n this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, moduloLoc);\n }\n if (this.eat(10)) {\n node.value = super.parseExpression();\n this.expect(11);\n return this.finishNode(node, \"DeclaredPredicate\");\n } else {\n return this.finishNode(node, \"InferredPredicate\");\n }\n }\n flowParseTypeAndPredicateInitialiser() {\n const oldInType = this.state.inType;\n this.state.inType = true;\n this.expect(14);\n let type = null;\n let predicate = null;\n if (this.match(54)) {\n this.state.inType = oldInType;\n predicate = this.flowParsePredicate();\n } else {\n type = this.flowParseType();\n this.state.inType = oldInType;\n if (this.match(54)) {\n predicate = this.flowParsePredicate();\n }\n }\n return [type, predicate];\n }\n flowParseDeclareClass(node) {\n this.next();\n this.flowParseInterfaceish(node, true);\n return this.finishNode(node, \"DeclareClass\");\n }\n flowParseDeclareFunction(node) {\n this.next();\n const id = node.id = this.parseIdentifier();\n const typeNode = this.startNode();\n const typeContainer = this.startNode();\n if (this.match(47)) {\n typeNode.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n typeNode.typeParameters = null;\n }\n this.expect(10);\n const tmp = this.flowParseFunctionTypeParams();\n typeNode.params = tmp.params;\n typeNode.rest = tmp.rest;\n typeNode.this = tmp._this;\n this.expect(11);\n [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser();\n typeContainer.typeAnnotation = this.finishNode(typeNode, \"FunctionTypeAnnotation\");\n id.typeAnnotation = this.finishNode(typeContainer, \"TypeAnnotation\");\n this.resetEndLocation(id);\n this.semicolon();\n this.scope.declareName(node.id.name, 2048, node.id.loc.start);\n return this.finishNode(node, \"DeclareFunction\");\n }\n flowParseDeclare(node, insideModule) {\n if (this.match(80)) {\n return this.flowParseDeclareClass(node);\n } else if (this.match(68)) {\n return this.flowParseDeclareFunction(node);\n } else if (this.match(74)) {\n return this.flowParseDeclareVariable(node);\n } else if (this.eatContextual(127)) {\n if (this.match(16)) {\n return this.flowParseDeclareModuleExports(node);\n } else {\n if (insideModule) {\n this.raise(FlowErrors.NestedDeclareModule, this.state.lastTokStartLoc);\n }\n return this.flowParseDeclareModule(node);\n }\n } else if (this.isContextual(130)) {\n return this.flowParseDeclareTypeAlias(node);\n } else if (this.isContextual(131)) {\n return this.flowParseDeclareOpaqueType(node);\n } else if (this.isContextual(129)) {\n return this.flowParseDeclareInterface(node);\n } else if (this.match(82)) {\n return this.flowParseDeclareExportDeclaration(node, insideModule);\n } else {\n this.unexpected();\n }\n }\n flowParseDeclareVariable(node) {\n this.next();\n node.id = this.flowParseTypeAnnotatableIdentifier(true);\n this.scope.declareName(node.id.name, 5, node.id.loc.start);\n this.semicolon();\n return this.finishNode(node, \"DeclareVariable\");\n }\n flowParseDeclareModule(node) {\n this.scope.enter(0);\n if (this.match(134)) {\n node.id = super.parseExprAtom();\n } else {\n node.id = this.parseIdentifier();\n }\n const bodyNode = node.body = this.startNode();\n const body = bodyNode.body = [];\n this.expect(5);\n while (!this.match(8)) {\n let bodyNode = this.startNode();\n if (this.match(83)) {\n this.next();\n if (!this.isContextual(130) && !this.match(87)) {\n this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, this.state.lastTokStartLoc);\n }\n super.parseImport(bodyNode);\n } else {\n this.expectContextual(125, FlowErrors.UnsupportedStatementInDeclareModule);\n bodyNode = this.flowParseDeclare(bodyNode, true);\n }\n body.push(bodyNode);\n }\n this.scope.exit();\n this.expect(8);\n this.finishNode(bodyNode, \"BlockStatement\");\n let kind = null;\n let hasModuleExport = false;\n body.forEach(bodyElement => {\n if (isEsModuleType(bodyElement)) {\n if (kind === \"CommonJS\") {\n this.raise(FlowErrors.AmbiguousDeclareModuleKind, bodyElement);\n }\n kind = \"ES\";\n } else if (bodyElement.type === \"DeclareModuleExports\") {\n if (hasModuleExport) {\n this.raise(FlowErrors.DuplicateDeclareModuleExports, bodyElement);\n }\n if (kind === \"ES\") {\n this.raise(FlowErrors.AmbiguousDeclareModuleKind, bodyElement);\n }\n kind = \"CommonJS\";\n hasModuleExport = true;\n }\n });\n node.kind = kind || \"CommonJS\";\n return this.finishNode(node, \"DeclareModule\");\n }\n flowParseDeclareExportDeclaration(node, insideModule) {\n this.expect(82);\n if (this.eat(65)) {\n if (this.match(68) || this.match(80)) {\n node.declaration = this.flowParseDeclare(this.startNode());\n } else {\n node.declaration = this.flowParseType();\n this.semicolon();\n }\n node.default = true;\n return this.finishNode(node, \"DeclareExportDeclaration\");\n } else {\n if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !insideModule) {\n const label = this.state.value;\n throw this.raise(FlowErrors.UnsupportedDeclareExportKind, this.state.startLoc, {\n unsupportedExportKind: label,\n suggestion: exportSuggestions[label]\n });\n }\n if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131)) {\n node.declaration = this.flowParseDeclare(this.startNode());\n node.default = false;\n return this.finishNode(node, \"DeclareExportDeclaration\");\n } else if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131)) {\n node = this.parseExport(node, null);\n if (node.type === \"ExportNamedDeclaration\") {\n node.type = \"ExportDeclaration\";\n node.default = false;\n delete node.exportKind;\n }\n node.type = \"Declare\" + node.type;\n return node;\n }\n }\n this.unexpected();\n }\n flowParseDeclareModuleExports(node) {\n this.next();\n this.expectContextual(111);\n node.typeAnnotation = this.flowParseTypeAnnotation();\n this.semicolon();\n return this.finishNode(node, \"DeclareModuleExports\");\n }\n flowParseDeclareTypeAlias(node) {\n this.next();\n const finished = this.flowParseTypeAlias(node);\n finished.type = \"DeclareTypeAlias\";\n return finished;\n }\n flowParseDeclareOpaqueType(node) {\n this.next();\n const finished = this.flowParseOpaqueType(node, true);\n finished.type = \"DeclareOpaqueType\";\n return finished;\n }\n flowParseDeclareInterface(node) {\n this.next();\n this.flowParseInterfaceish(node, false);\n return this.finishNode(node, \"DeclareInterface\");\n }\n flowParseInterfaceish(node, isClass) {\n node.id = this.flowParseRestrictedIdentifier(!isClass, true);\n this.scope.declareName(node.id.name, isClass ? 17 : 8201, node.id.loc.start);\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n node.extends = [];\n if (this.eat(81)) {\n do {\n node.extends.push(this.flowParseInterfaceExtends());\n } while (!isClass && this.eat(12));\n }\n if (isClass) {\n node.implements = [];\n node.mixins = [];\n if (this.eatContextual(117)) {\n do {\n node.mixins.push(this.flowParseInterfaceExtends());\n } while (this.eat(12));\n }\n if (this.eatContextual(113)) {\n do {\n node.implements.push(this.flowParseInterfaceExtends());\n } while (this.eat(12));\n }\n }\n node.body = this.flowParseObjectType({\n allowStatic: isClass,\n allowExact: false,\n allowSpread: false,\n allowProto: isClass,\n allowInexact: false\n });\n }\n flowParseInterfaceExtends() {\n const node = this.startNode();\n node.id = this.flowParseQualifiedTypeIdentifier();\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n } else {\n node.typeParameters = null;\n }\n return this.finishNode(node, \"InterfaceExtends\");\n }\n flowParseInterface(node) {\n this.flowParseInterfaceish(node, false);\n return this.finishNode(node, \"InterfaceDeclaration\");\n }\n checkNotUnderscore(word) {\n if (word === \"_\") {\n this.raise(FlowErrors.UnexpectedReservedUnderscore, this.state.startLoc);\n }\n }\n checkReservedType(word, startLoc, declaration) {\n if (!reservedTypes.has(word)) return;\n this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, startLoc, {\n reservedType: word\n });\n }\n flowParseRestrictedIdentifier(liberal, declaration) {\n this.checkReservedType(this.state.value, this.state.startLoc, declaration);\n return this.parseIdentifier(liberal);\n }\n flowParseTypeAlias(node) {\n node.id = this.flowParseRestrictedIdentifier(false, true);\n this.scope.declareName(node.id.name, 8201, node.id.loc.start);\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n node.right = this.flowParseTypeInitialiser(29);\n this.semicolon();\n return this.finishNode(node, \"TypeAlias\");\n }\n flowParseOpaqueType(node, declare) {\n this.expectContextual(130);\n node.id = this.flowParseRestrictedIdentifier(true, true);\n this.scope.declareName(node.id.name, 8201, node.id.loc.start);\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n node.supertype = null;\n if (this.match(14)) {\n node.supertype = this.flowParseTypeInitialiser(14);\n }\n node.impltype = null;\n if (!declare) {\n node.impltype = this.flowParseTypeInitialiser(29);\n }\n this.semicolon();\n return this.finishNode(node, \"OpaqueType\");\n }\n flowParseTypeParameter(requireDefault = false) {\n const nodeStartLoc = this.state.startLoc;\n const node = this.startNode();\n const variance = this.flowParseVariance();\n const ident = this.flowParseTypeAnnotatableIdentifier();\n node.name = ident.name;\n node.variance = variance;\n node.bound = ident.typeAnnotation;\n if (this.match(29)) {\n this.eat(29);\n node.default = this.flowParseType();\n } else {\n if (requireDefault) {\n this.raise(FlowErrors.MissingTypeParamDefault, nodeStartLoc);\n }\n }\n return this.finishNode(node, \"TypeParameter\");\n }\n flowParseTypeParameterDeclaration() {\n const oldInType = this.state.inType;\n const node = this.startNode();\n node.params = [];\n this.state.inType = true;\n if (this.match(47) || this.match(143)) {\n this.next();\n } else {\n this.unexpected();\n }\n let defaultRequired = false;\n do {\n const typeParameter = this.flowParseTypeParameter(defaultRequired);\n node.params.push(typeParameter);\n if (typeParameter.default) {\n defaultRequired = true;\n }\n if (!this.match(48)) {\n this.expect(12);\n }\n } while (!this.match(48));\n this.expect(48);\n this.state.inType = oldInType;\n return this.finishNode(node, \"TypeParameterDeclaration\");\n }\n flowParseTypeParameterInstantiation() {\n const node = this.startNode();\n const oldInType = this.state.inType;\n node.params = [];\n this.state.inType = true;\n this.expect(47);\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = false;\n while (!this.match(48)) {\n node.params.push(this.flowParseType());\n if (!this.match(48)) {\n this.expect(12);\n }\n }\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n this.expect(48);\n this.state.inType = oldInType;\n return this.finishNode(node, \"TypeParameterInstantiation\");\n }\n flowParseTypeParameterInstantiationCallOrNew() {\n const node = this.startNode();\n const oldInType = this.state.inType;\n node.params = [];\n this.state.inType = true;\n this.expect(47);\n while (!this.match(48)) {\n node.params.push(this.flowParseTypeOrImplicitInstantiation());\n if (!this.match(48)) {\n this.expect(12);\n }\n }\n this.expect(48);\n this.state.inType = oldInType;\n return this.finishNode(node, \"TypeParameterInstantiation\");\n }\n flowParseInterfaceType() {\n const node = this.startNode();\n this.expectContextual(129);\n node.extends = [];\n if (this.eat(81)) {\n do {\n node.extends.push(this.flowParseInterfaceExtends());\n } while (this.eat(12));\n }\n node.body = this.flowParseObjectType({\n allowStatic: false,\n allowExact: false,\n allowSpread: false,\n allowProto: false,\n allowInexact: false\n });\n return this.finishNode(node, \"InterfaceTypeAnnotation\");\n }\n flowParseObjectPropertyKey() {\n return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(true);\n }\n flowParseObjectTypeIndexer(node, isStatic, variance) {\n node.static = isStatic;\n if (this.lookahead().type === 14) {\n node.id = this.flowParseObjectPropertyKey();\n node.key = this.flowParseTypeInitialiser();\n } else {\n node.id = null;\n node.key = this.flowParseType();\n }\n this.expect(3);\n node.value = this.flowParseTypeInitialiser();\n node.variance = variance;\n return this.finishNode(node, \"ObjectTypeIndexer\");\n }\n flowParseObjectTypeInternalSlot(node, isStatic) {\n node.static = isStatic;\n node.id = this.flowParseObjectPropertyKey();\n this.expect(3);\n this.expect(3);\n if (this.match(47) || this.match(10)) {\n node.method = true;\n node.optional = false;\n node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start));\n } else {\n node.method = false;\n if (this.eat(17)) {\n node.optional = true;\n }\n node.value = this.flowParseTypeInitialiser();\n }\n return this.finishNode(node, \"ObjectTypeInternalSlot\");\n }\n flowParseObjectTypeMethodish(node) {\n node.params = [];\n node.rest = null;\n node.typeParameters = null;\n node.this = null;\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n this.expect(10);\n if (this.match(78)) {\n node.this = this.flowParseFunctionTypeParam(true);\n node.this.name = null;\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n while (!this.match(11) && !this.match(21)) {\n node.params.push(this.flowParseFunctionTypeParam(false));\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n if (this.eat(21)) {\n node.rest = this.flowParseFunctionTypeParam(false);\n }\n this.expect(11);\n node.returnType = this.flowParseTypeInitialiser();\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n flowParseObjectTypeCallProperty(node, isStatic) {\n const valueNode = this.startNode();\n node.static = isStatic;\n node.value = this.flowParseObjectTypeMethodish(valueNode);\n return this.finishNode(node, \"ObjectTypeCallProperty\");\n }\n flowParseObjectType({\n allowStatic,\n allowExact,\n allowSpread,\n allowProto,\n allowInexact\n }) {\n const oldInType = this.state.inType;\n this.state.inType = true;\n const nodeStart = this.startNode();\n nodeStart.callProperties = [];\n nodeStart.properties = [];\n nodeStart.indexers = [];\n nodeStart.internalSlots = [];\n let endDelim;\n let exact;\n let inexact = false;\n if (allowExact && this.match(6)) {\n this.expect(6);\n endDelim = 9;\n exact = true;\n } else {\n this.expect(5);\n endDelim = 8;\n exact = false;\n }\n nodeStart.exact = exact;\n while (!this.match(endDelim)) {\n let isStatic = false;\n let protoStartLoc = null;\n let inexactStartLoc = null;\n const node = this.startNode();\n if (allowProto && this.isContextual(118)) {\n const lookahead = this.lookahead();\n if (lookahead.type !== 14 && lookahead.type !== 17) {\n this.next();\n protoStartLoc = this.state.startLoc;\n allowStatic = false;\n }\n }\n if (allowStatic && this.isContextual(106)) {\n const lookahead = this.lookahead();\n if (lookahead.type !== 14 && lookahead.type !== 17) {\n this.next();\n isStatic = true;\n }\n }\n const variance = this.flowParseVariance();\n if (this.eat(0)) {\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (this.eat(0)) {\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic));\n } else {\n nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance));\n }\n } else if (this.match(10) || this.match(47)) {\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic));\n } else {\n let kind = \"init\";\n if (this.isContextual(99) || this.isContextual(104)) {\n const lookahead = this.lookahead();\n if (tokenIsLiteralPropertyName(lookahead.type)) {\n kind = this.state.value;\n this.next();\n }\n }\n const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact);\n if (propOrInexact === null) {\n inexact = true;\n inexactStartLoc = this.state.lastTokStartLoc;\n } else {\n nodeStart.properties.push(propOrInexact);\n }\n }\n this.flowObjectTypeSemicolon();\n if (inexactStartLoc && !this.match(8) && !this.match(9)) {\n this.raise(FlowErrors.UnexpectedExplicitInexactInObject, inexactStartLoc);\n }\n }\n this.expect(endDelim);\n if (allowSpread) {\n nodeStart.inexact = inexact;\n }\n const out = this.finishNode(nodeStart, \"ObjectTypeAnnotation\");\n this.state.inType = oldInType;\n return out;\n }\n flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) {\n if (this.eat(21)) {\n const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9);\n if (isInexactToken) {\n if (!allowSpread) {\n this.raise(FlowErrors.InexactInsideNonObject, this.state.lastTokStartLoc);\n } else if (!allowInexact) {\n this.raise(FlowErrors.InexactInsideExact, this.state.lastTokStartLoc);\n }\n if (variance) {\n this.raise(FlowErrors.InexactVariance, variance);\n }\n return null;\n }\n if (!allowSpread) {\n this.raise(FlowErrors.UnexpectedSpreadType, this.state.lastTokStartLoc);\n }\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (variance) {\n this.raise(FlowErrors.SpreadVariance, variance);\n }\n node.argument = this.flowParseType();\n return this.finishNode(node, \"ObjectTypeSpreadProperty\");\n } else {\n node.key = this.flowParseObjectPropertyKey();\n node.static = isStatic;\n node.proto = protoStartLoc != null;\n node.kind = kind;\n let optional = false;\n if (this.match(47) || this.match(10)) {\n node.method = true;\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start));\n if (kind === \"get\" || kind === \"set\") {\n this.flowCheckGetterSetterParams(node);\n }\n if (!allowSpread && node.key.name === \"constructor\" && node.value.this) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, node.value.this);\n }\n } else {\n if (kind !== \"init\") this.unexpected();\n node.method = false;\n if (this.eat(17)) {\n optional = true;\n }\n node.value = this.flowParseTypeInitialiser();\n node.variance = variance;\n }\n node.optional = optional;\n return this.finishNode(node, \"ObjectTypeProperty\");\n }\n }\n flowCheckGetterSetterParams(property) {\n const paramCount = property.kind === \"get\" ? 0 : 1;\n const length = property.value.params.length + (property.value.rest ? 1 : 0);\n if (property.value.this) {\n this.raise(property.kind === \"get\" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, property.value.this);\n }\n if (length !== paramCount) {\n this.raise(property.kind === \"get\" ? Errors.BadGetterArity : Errors.BadSetterArity, property);\n }\n if (property.kind === \"set\" && property.value.rest) {\n this.raise(Errors.BadSetterRestParameter, property);\n }\n }\n flowObjectTypeSemicolon() {\n if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) {\n this.unexpected();\n }\n }\n flowParseQualifiedTypeIdentifier(startLoc, id) {\n var _startLoc;\n (_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc;\n let node = id || this.flowParseRestrictedIdentifier(true);\n while (this.eat(16)) {\n const node2 = this.startNodeAt(startLoc);\n node2.qualification = node;\n node2.id = this.flowParseRestrictedIdentifier(true);\n node = this.finishNode(node2, \"QualifiedTypeIdentifier\");\n }\n return node;\n }\n flowParseGenericType(startLoc, id) {\n const node = this.startNodeAt(startLoc);\n node.typeParameters = null;\n node.id = this.flowParseQualifiedTypeIdentifier(startLoc, id);\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n }\n return this.finishNode(node, \"GenericTypeAnnotation\");\n }\n flowParseTypeofType() {\n const node = this.startNode();\n this.expect(87);\n node.argument = this.flowParsePrimaryType();\n return this.finishNode(node, \"TypeofTypeAnnotation\");\n }\n flowParseTupleType() {\n const node = this.startNode();\n node.types = [];\n this.expect(0);\n while (this.state.pos < this.length && !this.match(3)) {\n node.types.push(this.flowParseType());\n if (this.match(3)) break;\n this.expect(12);\n }\n this.expect(3);\n return this.finishNode(node, \"TupleTypeAnnotation\");\n }\n flowParseFunctionTypeParam(first) {\n let name = null;\n let optional = false;\n let typeAnnotation = null;\n const node = this.startNode();\n const lh = this.lookahead();\n const isThis = this.state.type === 78;\n if (lh.type === 14 || lh.type === 17) {\n if (isThis && !first) {\n this.raise(FlowErrors.ThisParamMustBeFirst, node);\n }\n name = this.parseIdentifier(isThis);\n if (this.eat(17)) {\n optional = true;\n if (isThis) {\n this.raise(FlowErrors.ThisParamMayNotBeOptional, node);\n }\n }\n typeAnnotation = this.flowParseTypeInitialiser();\n } else {\n typeAnnotation = this.flowParseType();\n }\n node.name = name;\n node.optional = optional;\n node.typeAnnotation = typeAnnotation;\n return this.finishNode(node, \"FunctionTypeParam\");\n }\n reinterpretTypeAsFunctionTypeParam(type) {\n const node = this.startNodeAt(type.loc.start);\n node.name = null;\n node.optional = false;\n node.typeAnnotation = type;\n return this.finishNode(node, \"FunctionTypeParam\");\n }\n flowParseFunctionTypeParams(params = []) {\n let rest = null;\n let _this = null;\n if (this.match(78)) {\n _this = this.flowParseFunctionTypeParam(true);\n _this.name = null;\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n while (!this.match(11) && !this.match(21)) {\n params.push(this.flowParseFunctionTypeParam(false));\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n if (this.eat(21)) {\n rest = this.flowParseFunctionTypeParam(false);\n }\n return {\n params,\n rest,\n _this\n };\n }\n flowIdentToTypeAnnotation(startLoc, node, id) {\n switch (id.name) {\n case \"any\":\n return this.finishNode(node, \"AnyTypeAnnotation\");\n case \"bool\":\n case \"boolean\":\n return this.finishNode(node, \"BooleanTypeAnnotation\");\n case \"mixed\":\n return this.finishNode(node, \"MixedTypeAnnotation\");\n case \"empty\":\n return this.finishNode(node, \"EmptyTypeAnnotation\");\n case \"number\":\n return this.finishNode(node, \"NumberTypeAnnotation\");\n case \"string\":\n return this.finishNode(node, \"StringTypeAnnotation\");\n case \"symbol\":\n return this.finishNode(node, \"SymbolTypeAnnotation\");\n default:\n this.checkNotUnderscore(id.name);\n return this.flowParseGenericType(startLoc, id);\n }\n }\n flowParsePrimaryType() {\n const startLoc = this.state.startLoc;\n const node = this.startNode();\n let tmp;\n let type;\n let isGroupedType = false;\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n switch (this.state.type) {\n case 5:\n return this.flowParseObjectType({\n allowStatic: false,\n allowExact: false,\n allowSpread: true,\n allowProto: false,\n allowInexact: true\n });\n case 6:\n return this.flowParseObjectType({\n allowStatic: false,\n allowExact: true,\n allowSpread: true,\n allowProto: false,\n allowInexact: false\n });\n case 0:\n this.state.noAnonFunctionType = false;\n type = this.flowParseTupleType();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n return type;\n case 47:\n {\n const node = this.startNode();\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n this.expect(10);\n tmp = this.flowParseFunctionTypeParams();\n node.params = tmp.params;\n node.rest = tmp.rest;\n node.this = tmp._this;\n this.expect(11);\n this.expect(19);\n node.returnType = this.flowParseType();\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n case 10:\n {\n const node = this.startNode();\n this.next();\n if (!this.match(11) && !this.match(21)) {\n if (tokenIsIdentifier(this.state.type) || this.match(78)) {\n const token = this.lookahead().type;\n isGroupedType = token !== 17 && token !== 14;\n } else {\n isGroupedType = true;\n }\n }\n if (isGroupedType) {\n this.state.noAnonFunctionType = false;\n type = this.flowParseType();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) {\n this.expect(11);\n return type;\n } else {\n this.eat(12);\n }\n }\n if (type) {\n tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]);\n } else {\n tmp = this.flowParseFunctionTypeParams();\n }\n node.params = tmp.params;\n node.rest = tmp.rest;\n node.this = tmp._this;\n this.expect(11);\n this.expect(19);\n node.returnType = this.flowParseType();\n node.typeParameters = null;\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n case 134:\n return this.parseLiteral(this.state.value, \"StringLiteralTypeAnnotation\");\n case 85:\n case 86:\n node.value = this.match(85);\n this.next();\n return this.finishNode(node, \"BooleanLiteralTypeAnnotation\");\n case 53:\n if (this.state.value === \"-\") {\n this.next();\n if (this.match(135)) {\n return this.parseLiteralAtNode(-this.state.value, \"NumberLiteralTypeAnnotation\", node);\n }\n if (this.match(136)) {\n return this.parseLiteralAtNode(-this.state.value, \"BigIntLiteralTypeAnnotation\", node);\n }\n throw this.raise(FlowErrors.UnexpectedSubtractionOperand, this.state.startLoc);\n }\n this.unexpected();\n return;\n case 135:\n return this.parseLiteral(this.state.value, \"NumberLiteralTypeAnnotation\");\n case 136:\n return this.parseLiteral(this.state.value, \"BigIntLiteralTypeAnnotation\");\n case 88:\n this.next();\n return this.finishNode(node, \"VoidTypeAnnotation\");\n case 84:\n this.next();\n return this.finishNode(node, \"NullLiteralTypeAnnotation\");\n case 78:\n this.next();\n return this.finishNode(node, \"ThisTypeAnnotation\");\n case 55:\n this.next();\n return this.finishNode(node, \"ExistsTypeAnnotation\");\n case 87:\n return this.flowParseTypeofType();\n default:\n if (tokenIsKeyword(this.state.type)) {\n const label = tokenLabelName(this.state.type);\n this.next();\n return super.createIdentifier(node, label);\n } else if (tokenIsIdentifier(this.state.type)) {\n if (this.isContextual(129)) {\n return this.flowParseInterfaceType();\n }\n return this.flowIdentToTypeAnnotation(startLoc, node, this.parseIdentifier());\n }\n }\n this.unexpected();\n }\n flowParsePostfixType() {\n const startLoc = this.state.startLoc;\n let type = this.flowParsePrimaryType();\n let seenOptionalIndexedAccess = false;\n while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) {\n const node = this.startNodeAt(startLoc);\n const optional = this.eat(18);\n seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional;\n this.expect(0);\n if (!optional && this.match(3)) {\n node.elementType = type;\n this.next();\n type = this.finishNode(node, \"ArrayTypeAnnotation\");\n } else {\n node.objectType = type;\n node.indexType = this.flowParseType();\n this.expect(3);\n if (seenOptionalIndexedAccess) {\n node.optional = optional;\n type = this.finishNode(node, \"OptionalIndexedAccessType\");\n } else {\n type = this.finishNode(node, \"IndexedAccessType\");\n }\n }\n }\n return type;\n }\n flowParsePrefixType() {\n const node = this.startNode();\n if (this.eat(17)) {\n node.typeAnnotation = this.flowParsePrefixType();\n return this.finishNode(node, \"NullableTypeAnnotation\");\n } else {\n return this.flowParsePostfixType();\n }\n }\n flowParseAnonFunctionWithoutParens() {\n const param = this.flowParsePrefixType();\n if (!this.state.noAnonFunctionType && this.eat(19)) {\n const node = this.startNodeAt(param.loc.start);\n node.params = [this.reinterpretTypeAsFunctionTypeParam(param)];\n node.rest = null;\n node.this = null;\n node.returnType = this.flowParseType();\n node.typeParameters = null;\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n return param;\n }\n flowParseIntersectionType() {\n const node = this.startNode();\n this.eat(45);\n const type = this.flowParseAnonFunctionWithoutParens();\n node.types = [type];\n while (this.eat(45)) {\n node.types.push(this.flowParseAnonFunctionWithoutParens());\n }\n return node.types.length === 1 ? type : this.finishNode(node, \"IntersectionTypeAnnotation\");\n }\n flowParseUnionType() {\n const node = this.startNode();\n this.eat(43);\n const type = this.flowParseIntersectionType();\n node.types = [type];\n while (this.eat(43)) {\n node.types.push(this.flowParseIntersectionType());\n }\n return node.types.length === 1 ? type : this.finishNode(node, \"UnionTypeAnnotation\");\n }\n flowParseType() {\n const oldInType = this.state.inType;\n this.state.inType = true;\n const type = this.flowParseUnionType();\n this.state.inType = oldInType;\n return type;\n }\n flowParseTypeOrImplicitInstantiation() {\n if (this.state.type === 132 && this.state.value === \"_\") {\n const startLoc = this.state.startLoc;\n const node = this.parseIdentifier();\n return this.flowParseGenericType(startLoc, node);\n } else {\n return this.flowParseType();\n }\n }\n flowParseTypeAnnotation() {\n const node = this.startNode();\n node.typeAnnotation = this.flowParseTypeInitialiser();\n return this.finishNode(node, \"TypeAnnotation\");\n }\n flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) {\n const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();\n if (this.match(14)) {\n ident.typeAnnotation = this.flowParseTypeAnnotation();\n this.resetEndLocation(ident);\n }\n return ident;\n }\n typeCastToParameter(node) {\n node.expression.typeAnnotation = node.typeAnnotation;\n this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);\n return node.expression;\n }\n flowParseVariance() {\n let variance = null;\n if (this.match(53)) {\n variance = this.startNode();\n if (this.state.value === \"+\") {\n variance.kind = \"plus\";\n } else {\n variance.kind = \"minus\";\n }\n this.next();\n return this.finishNode(variance, \"Variance\");\n }\n return variance;\n }\n parseFunctionBody(node, allowExpressionBody, isMethod = false) {\n if (allowExpressionBody) {\n this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod));\n return;\n }\n super.parseFunctionBody(node, false, isMethod);\n }\n parseFunctionBodyAndFinish(node, type, isMethod = false) {\n if (this.match(14)) {\n const typeNode = this.startNode();\n [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser();\n node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, \"TypeAnnotation\") : null;\n }\n return super.parseFunctionBodyAndFinish(node, type, isMethod);\n }\n parseStatementLike(flags) {\n if (this.state.strict && this.isContextual(129)) {\n const lookahead = this.lookahead();\n if (tokenIsKeywordOrIdentifier(lookahead.type)) {\n const node = this.startNode();\n this.next();\n return this.flowParseInterface(node);\n }\n } else if (this.isContextual(126)) {\n const node = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(node);\n }\n const stmt = super.parseStatementLike(flags);\n if (this.flowPragma === undefined && !this.isValidDirective(stmt)) {\n this.flowPragma = null;\n }\n return stmt;\n }\n parseExpressionStatement(node, expr, decorators) {\n if (expr.type === \"Identifier\") {\n if (expr.name === \"declare\") {\n if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) {\n return this.flowParseDeclare(node);\n }\n } else if (tokenIsIdentifier(this.state.type)) {\n if (expr.name === \"interface\") {\n return this.flowParseInterface(node);\n } else if (expr.name === \"type\") {\n return this.flowParseTypeAlias(node);\n } else if (expr.name === \"opaque\") {\n return this.flowParseOpaqueType(node, false);\n }\n }\n }\n return super.parseExpressionStatement(node, expr, decorators);\n }\n shouldParseExportDeclaration() {\n const {\n type\n } = this.state;\n if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) {\n return !this.state.containsEsc;\n }\n return super.shouldParseExportDeclaration();\n }\n isExportDefaultSpecifier() {\n const {\n type\n } = this.state;\n if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) {\n return this.state.containsEsc;\n }\n return super.isExportDefaultSpecifier();\n }\n parseExportDefaultExpression() {\n if (this.isContextual(126)) {\n const node = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(node);\n }\n return super.parseExportDefaultExpression();\n }\n parseConditional(expr, startLoc, refExpressionErrors) {\n if (!this.match(17)) return expr;\n if (this.state.maybeInArrowParameters) {\n const nextCh = this.lookaheadCharCode();\n if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) {\n this.setOptionalParametersError(refExpressionErrors);\n return expr;\n }\n }\n this.expect(17);\n const state = this.state.clone();\n const originalNoArrowAt = this.state.noArrowAt;\n const node = this.startNodeAt(startLoc);\n let {\n consequent,\n failed\n } = this.tryParseConditionalConsequent();\n let [valid, invalid] = this.getArrowLikeExpressions(consequent);\n if (failed || invalid.length > 0) {\n const noArrowAt = [...originalNoArrowAt];\n if (invalid.length > 0) {\n this.state = state;\n this.state.noArrowAt = noArrowAt;\n for (let i = 0; i < invalid.length; i++) {\n noArrowAt.push(invalid[i].start);\n }\n ({\n consequent,\n failed\n } = this.tryParseConditionalConsequent());\n [valid, invalid] = this.getArrowLikeExpressions(consequent);\n }\n if (failed && valid.length > 1) {\n this.raise(FlowErrors.AmbiguousConditionalArrow, state.startLoc);\n }\n if (failed && valid.length === 1) {\n this.state = state;\n noArrowAt.push(valid[0].start);\n this.state.noArrowAt = noArrowAt;\n ({\n consequent,\n failed\n } = this.tryParseConditionalConsequent());\n }\n }\n this.getArrowLikeExpressions(consequent, true);\n this.state.noArrowAt = originalNoArrowAt;\n this.expect(14);\n node.test = expr;\n node.consequent = consequent;\n node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined));\n return this.finishNode(node, \"ConditionalExpression\");\n }\n tryParseConditionalConsequent() {\n this.state.noArrowParamsConversionAt.push(this.state.start);\n const consequent = this.parseMaybeAssignAllowIn();\n const failed = !this.match(14);\n this.state.noArrowParamsConversionAt.pop();\n return {\n consequent,\n failed\n };\n }\n getArrowLikeExpressions(node, disallowInvalid) {\n const stack = [node];\n const arrows = [];\n while (stack.length !== 0) {\n const node = stack.pop();\n if (node.type === \"ArrowFunctionExpression\" && node.body.type !== \"BlockStatement\") {\n if (node.typeParameters || !node.returnType) {\n this.finishArrowValidation(node);\n } else {\n arrows.push(node);\n }\n stack.push(node.body);\n } else if (node.type === \"ConditionalExpression\") {\n stack.push(node.consequent);\n stack.push(node.alternate);\n }\n }\n if (disallowInvalid) {\n arrows.forEach(node => this.finishArrowValidation(node));\n return [arrows, []];\n }\n return partition(arrows, node => node.params.every(param => this.isAssignable(param, true)));\n }\n finishArrowValidation(node) {\n var _node$extra;\n this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false);\n this.scope.enter(2 | 4);\n super.checkParams(node, false, true);\n this.scope.exit();\n }\n forwardNoArrowParamsConversionAt(node, parse) {\n let result;\n if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) {\n this.state.noArrowParamsConversionAt.push(this.state.start);\n result = parse();\n this.state.noArrowParamsConversionAt.pop();\n } else {\n result = parse();\n }\n return result;\n }\n parseParenItem(node, startLoc) {\n const newNode = super.parseParenItem(node, startLoc);\n if (this.eat(17)) {\n newNode.optional = true;\n this.resetEndLocation(node);\n }\n if (this.match(14)) {\n const typeCastNode = this.startNodeAt(startLoc);\n typeCastNode.expression = newNode;\n typeCastNode.typeAnnotation = this.flowParseTypeAnnotation();\n return this.finishNode(typeCastNode, \"TypeCastExpression\");\n }\n return newNode;\n }\n assertModuleNodeAllowed(node) {\n if (node.type === \"ImportDeclaration\" && (node.importKind === \"type\" || node.importKind === \"typeof\") || node.type === \"ExportNamedDeclaration\" && node.exportKind === \"type\" || node.type === \"ExportAllDeclaration\" && node.exportKind === \"type\") {\n return;\n }\n super.assertModuleNodeAllowed(node);\n }\n parseExportDeclaration(node) {\n if (this.isContextual(130)) {\n node.exportKind = \"type\";\n const declarationNode = this.startNode();\n this.next();\n if (this.match(5)) {\n node.specifiers = this.parseExportSpecifiers(true);\n super.parseExportFrom(node);\n return null;\n } else {\n return this.flowParseTypeAlias(declarationNode);\n }\n } else if (this.isContextual(131)) {\n node.exportKind = \"type\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseOpaqueType(declarationNode, false);\n } else if (this.isContextual(129)) {\n node.exportKind = \"type\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseInterface(declarationNode);\n } else if (this.isContextual(126)) {\n node.exportKind = \"value\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(declarationNode);\n } else {\n return super.parseExportDeclaration(node);\n }\n }\n eatExportStar(node) {\n if (super.eatExportStar(node)) return true;\n if (this.isContextual(130) && this.lookahead().type === 55) {\n node.exportKind = \"type\";\n this.next();\n this.next();\n return true;\n }\n return false;\n }\n maybeParseExportNamespaceSpecifier(node) {\n const {\n startLoc\n } = this.state;\n const hasNamespace = super.maybeParseExportNamespaceSpecifier(node);\n if (hasNamespace && node.exportKind === \"type\") {\n this.unexpected(startLoc);\n }\n return hasNamespace;\n }\n parseClassId(node, isStatement, optionalId) {\n super.parseClassId(node, isStatement, optionalId);\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n }\n parseClassMember(classBody, member, state) {\n const {\n startLoc\n } = this.state;\n if (this.isContextual(125)) {\n if (super.parseClassMemberFromModifier(classBody, member)) {\n return;\n }\n member.declare = true;\n }\n super.parseClassMember(classBody, member, state);\n if (member.declare) {\n if (member.type !== \"ClassProperty\" && member.type !== \"ClassPrivateProperty\" && member.type !== \"PropertyDefinition\") {\n this.raise(FlowErrors.DeclareClassElement, startLoc);\n } else if (member.value) {\n this.raise(FlowErrors.DeclareClassFieldInitializer, member.value);\n }\n }\n }\n isIterator(word) {\n return word === \"iterator\" || word === \"asyncIterator\";\n }\n readIterator() {\n const word = super.readWord1();\n const fullWord = \"@@\" + word;\n if (!this.isIterator(word) || !this.state.inType) {\n this.raise(Errors.InvalidIdentifier, this.state.curPosition(), {\n identifierName: fullWord\n });\n }\n this.finishToken(132, fullWord);\n }\n getTokenFromCode(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (code === 123 && next === 124) {\n this.finishOp(6, 2);\n } else if (this.state.inType && (code === 62 || code === 60)) {\n this.finishOp(code === 62 ? 48 : 47, 1);\n } else if (this.state.inType && code === 63) {\n if (next === 46) {\n this.finishOp(18, 2);\n } else {\n this.finishOp(17, 1);\n }\n } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) {\n this.state.pos += 2;\n this.readIterator();\n } else {\n super.getTokenFromCode(code);\n }\n }\n isAssignable(node, isBinding) {\n if (node.type === \"TypeCastExpression\") {\n return this.isAssignable(node.expression, isBinding);\n } else {\n return super.isAssignable(node, isBinding);\n }\n }\n toAssignable(node, isLHS = false) {\n if (!isLHS && node.type === \"AssignmentExpression\" && node.left.type === \"TypeCastExpression\") {\n node.left = this.typeCastToParameter(node.left);\n }\n super.toAssignable(node, isLHS);\n }\n toAssignableList(exprList, trailingCommaLoc, isLHS) {\n for (let i = 0; i < exprList.length; i++) {\n const expr = exprList[i];\n if ((expr == null ? void 0 : expr.type) === \"TypeCastExpression\") {\n exprList[i] = this.typeCastToParameter(expr);\n }\n }\n super.toAssignableList(exprList, trailingCommaLoc, isLHS);\n }\n toReferencedList(exprList, isParenthesizedExpr) {\n for (let i = 0; i < exprList.length; i++) {\n var _expr$extra;\n const expr = exprList[i];\n if (expr && expr.type === \"TypeCastExpression\" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) {\n this.raise(FlowErrors.TypeCastInPattern, expr.typeAnnotation);\n }\n }\n return exprList;\n }\n parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {\n const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors);\n if (canBePattern && !this.state.maybeInArrowParameters) {\n this.toReferencedList(node.elements);\n }\n return node;\n }\n isValidLVal(type, isParenthesized, binding) {\n return type === \"TypeCastExpression\" || super.isValidLVal(type, isParenthesized, binding);\n }\n parseClassProperty(node) {\n if (this.match(14)) {\n node.typeAnnotation = this.flowParseTypeAnnotation();\n }\n return super.parseClassProperty(node);\n }\n parseClassPrivateProperty(node) {\n if (this.match(14)) {\n node.typeAnnotation = this.flowParseTypeAnnotation();\n }\n return super.parseClassPrivateProperty(node);\n }\n isClassMethod() {\n return this.match(47) || super.isClassMethod();\n }\n isClassProperty() {\n return this.match(14) || super.isClassProperty();\n }\n isNonstaticConstructor(method) {\n return !this.match(14) && super.isNonstaticConstructor(method);\n }\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n if (method.variance) {\n this.unexpected(method.variance.loc.start);\n }\n delete method.variance;\n if (this.match(47)) {\n method.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);\n if (method.params && isConstructor) {\n const params = method.params;\n if (params.length > 0 && this.isThisParam(params[0])) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, method);\n }\n } else if (method.type === \"MethodDefinition\" && isConstructor && method.value.params) {\n const params = method.value.params;\n if (params.length > 0 && this.isThisParam(params[0])) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, method);\n }\n }\n }\n pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {\n if (method.variance) {\n this.unexpected(method.variance.loc.start);\n }\n delete method.variance;\n if (this.match(47)) {\n method.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);\n }\n parseClassSuper(node) {\n super.parseClassSuper(node);\n if (node.superClass && this.match(47)) {\n node.superTypeParameters = this.flowParseTypeParameterInstantiation();\n }\n if (this.isContextual(113)) {\n this.next();\n const implemented = node.implements = [];\n do {\n const node = this.startNode();\n node.id = this.flowParseRestrictedIdentifier(true);\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n } else {\n node.typeParameters = null;\n }\n implemented.push(this.finishNode(node, \"ClassImplements\"));\n } while (this.eat(12));\n }\n }\n checkGetterSetterParams(method) {\n super.checkGetterSetterParams(method);\n const params = this.getObjectOrClassMethodParams(method);\n if (params.length > 0) {\n const param = params[0];\n if (this.isThisParam(param) && method.kind === \"get\") {\n this.raise(FlowErrors.GetterMayNotHaveThisParam, param);\n } else if (this.isThisParam(param)) {\n this.raise(FlowErrors.SetterMayNotHaveThisParam, param);\n }\n }\n }\n parsePropertyNamePrefixOperator(node) {\n node.variance = this.flowParseVariance();\n }\n parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {\n if (prop.variance) {\n this.unexpected(prop.variance.loc.start);\n }\n delete prop.variance;\n let typeParameters;\n if (this.match(47) && !isAccessor) {\n typeParameters = this.flowParseTypeParameterDeclaration();\n if (!this.match(10)) this.unexpected();\n }\n const result = super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);\n if (typeParameters) {\n (result.value || result).typeParameters = typeParameters;\n }\n return result;\n }\n parseFunctionParamType(param) {\n if (this.eat(17)) {\n if (param.type !== \"Identifier\") {\n this.raise(FlowErrors.PatternIsOptional, param);\n }\n if (this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamMayNotBeOptional, param);\n }\n param.optional = true;\n }\n if (this.match(14)) {\n param.typeAnnotation = this.flowParseTypeAnnotation();\n } else if (this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamAnnotationRequired, param);\n }\n if (this.match(29) && this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamNoDefault, param);\n }\n this.resetEndLocation(param);\n return param;\n }\n parseMaybeDefault(startLoc, left) {\n const node = super.parseMaybeDefault(startLoc, left);\n if (node.type === \"AssignmentPattern\" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {\n this.raise(FlowErrors.TypeBeforeInitializer, node.typeAnnotation);\n }\n return node;\n }\n checkImportReflection(node) {\n super.checkImportReflection(node);\n if (node.module && node.importKind !== \"value\") {\n this.raise(FlowErrors.ImportReflectionHasImportType, node.specifiers[0].loc.start);\n }\n }\n parseImportSpecifierLocal(node, specifier, type) {\n specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier();\n node.specifiers.push(this.finishImportSpecifier(specifier, type));\n }\n isPotentialImportPhase(isExport) {\n if (super.isPotentialImportPhase(isExport)) return true;\n if (this.isContextual(130)) {\n if (!isExport) return true;\n const ch = this.lookaheadCharCode();\n return ch === 123 || ch === 42;\n }\n return !isExport && this.isContextual(87);\n }\n applyImportPhase(node, isExport, phase, loc) {\n super.applyImportPhase(node, isExport, phase, loc);\n if (isExport) {\n if (!phase && this.match(65)) {\n return;\n }\n node.exportKind = phase === \"type\" ? phase : \"value\";\n } else {\n if (phase === \"type\" && this.match(55)) this.unexpected();\n node.importKind = phase === \"type\" || phase === \"typeof\" ? phase : \"value\";\n }\n }\n parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) {\n const firstIdent = specifier.imported;\n let specifierTypeKind = null;\n if (firstIdent.type === \"Identifier\") {\n if (firstIdent.name === \"type\") {\n specifierTypeKind = \"type\";\n } else if (firstIdent.name === \"typeof\") {\n specifierTypeKind = \"typeof\";\n }\n }\n let isBinding = false;\n if (this.isContextual(93) && !this.isLookaheadContextual(\"as\")) {\n const as_ident = this.parseIdentifier(true);\n if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) {\n specifier.imported = as_ident;\n specifier.importKind = specifierTypeKind;\n specifier.local = cloneIdentifier(as_ident);\n } else {\n specifier.imported = firstIdent;\n specifier.importKind = null;\n specifier.local = this.parseIdentifier();\n }\n } else {\n if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) {\n specifier.imported = this.parseIdentifier(true);\n specifier.importKind = specifierTypeKind;\n } else {\n if (importedIsString) {\n throw this.raise(Errors.ImportBindingIsString, specifier, {\n importName: firstIdent.value\n });\n }\n specifier.imported = firstIdent;\n specifier.importKind = null;\n }\n if (this.eatContextual(93)) {\n specifier.local = this.parseIdentifier();\n } else {\n isBinding = true;\n specifier.local = cloneIdentifier(specifier.imported);\n }\n }\n const specifierIsTypeImport = hasTypeImportKind(specifier);\n if (isInTypeOnlyImport && specifierIsTypeImport) {\n this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, specifier);\n }\n if (isInTypeOnlyImport || specifierIsTypeImport) {\n this.checkReservedType(specifier.local.name, specifier.local.loc.start, true);\n }\n if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) {\n this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true);\n }\n return this.finishImportSpecifier(specifier, \"ImportSpecifier\");\n }\n parseBindingAtom() {\n switch (this.state.type) {\n case 78:\n return this.parseIdentifier(true);\n default:\n return super.parseBindingAtom();\n }\n }\n parseFunctionParams(node, isConstructor) {\n const kind = node.kind;\n if (kind !== \"get\" && kind !== \"set\" && this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n super.parseFunctionParams(node, isConstructor);\n }\n parseVarId(decl, kind) {\n super.parseVarId(decl, kind);\n if (this.match(14)) {\n decl.id.typeAnnotation = this.flowParseTypeAnnotation();\n this.resetEndLocation(decl.id);\n }\n }\n parseAsyncArrowFromCallExpression(node, call) {\n if (this.match(14)) {\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = true;\n node.returnType = this.flowParseTypeAnnotation();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n }\n return super.parseAsyncArrowFromCallExpression(node, call);\n }\n shouldParseAsyncArrow() {\n return this.match(14) || super.shouldParseAsyncArrow();\n }\n parseMaybeAssign(refExpressionErrors, afterLeftParse) {\n var _jsx;\n let state = null;\n let jsx;\n if (this.hasPlugin(\"jsx\") && (this.match(143) || this.match(47))) {\n state = this.state.clone();\n jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state);\n if (!jsx.error) return jsx.node;\n const {\n context\n } = this.state;\n const currentContext = context[context.length - 1];\n if (currentContext === types.j_oTag || currentContext === types.j_expr) {\n context.pop();\n }\n }\n if ((_jsx = jsx) != null && _jsx.error || this.match(47)) {\n var _jsx2, _jsx3;\n state = state || this.state.clone();\n let typeParameters;\n const arrow = this.tryParse(abort => {\n var _arrowExpression$extr;\n typeParameters = this.flowParseTypeParameterDeclaration();\n const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => {\n const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse);\n this.resetStartLocationFromNode(result, typeParameters);\n return result;\n });\n if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort();\n const expr = this.maybeUnwrapTypeCastExpression(arrowExpression);\n if (expr.type !== \"ArrowFunctionExpression\") abort();\n expr.typeParameters = typeParameters;\n this.resetStartLocationFromNode(expr, typeParameters);\n return arrowExpression;\n }, state);\n let arrowExpression = null;\n if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === \"ArrowFunctionExpression\") {\n if (!arrow.error && !arrow.aborted) {\n if (arrow.node.async) {\n this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, typeParameters);\n }\n return arrow.node;\n }\n arrowExpression = arrow.node;\n }\n if ((_jsx2 = jsx) != null && _jsx2.node) {\n this.state = jsx.failState;\n return jsx.node;\n }\n if (arrowExpression) {\n this.state = arrow.failState;\n return arrowExpression;\n }\n if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;\n if (arrow.thrown) throw arrow.error;\n throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, typeParameters);\n }\n return super.parseMaybeAssign(refExpressionErrors, afterLeftParse);\n }\n parseArrow(node) {\n if (this.match(14)) {\n const result = this.tryParse(() => {\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = true;\n const typeNode = this.startNode();\n [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n if (this.canInsertSemicolon()) this.unexpected();\n if (!this.match(19)) this.unexpected();\n return typeNode;\n });\n if (result.thrown) return null;\n if (result.error) this.state = result.failState;\n node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, \"TypeAnnotation\") : null;\n }\n return super.parseArrow(node);\n }\n shouldParseArrow(params) {\n return this.match(14) || super.shouldParseArrow(params);\n }\n setArrowFunctionParameters(node, params) {\n if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) {\n node.params = params;\n } else {\n super.setArrowFunctionParameters(node, params);\n }\n }\n checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) {\n if (isArrowFunction && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) {\n return;\n }\n for (let i = 0; i < node.params.length; i++) {\n if (this.isThisParam(node.params[i]) && i > 0) {\n this.raise(FlowErrors.ThisParamMustBeFirst, node.params[i]);\n }\n }\n super.checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged);\n }\n parseParenAndDistinguishExpression(canBeArrow) {\n return super.parseParenAndDistinguishExpression(canBeArrow && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));\n }\n parseSubscripts(base, startLoc, noCalls) {\n if (base.type === \"Identifier\" && base.name === \"async\" && this.state.noArrowAt.includes(startLoc.index)) {\n this.next();\n const node = this.startNodeAt(startLoc);\n node.callee = base;\n node.arguments = super.parseCallExpressionArguments(11);\n base = this.finishNode(node, \"CallExpression\");\n } else if (base.type === \"Identifier\" && base.name === \"async\" && this.match(47)) {\n const state = this.state.clone();\n const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startLoc) || abort(), state);\n if (!arrow.error && !arrow.aborted) return arrow.node;\n const result = this.tryParse(() => super.parseSubscripts(base, startLoc, noCalls), state);\n if (result.node && !result.error) return result.node;\n if (arrow.node) {\n this.state = arrow.failState;\n return arrow.node;\n }\n if (result.node) {\n this.state = result.failState;\n return result.node;\n }\n throw arrow.error || result.error;\n }\n return super.parseSubscripts(base, startLoc, noCalls);\n }\n parseSubscript(base, startLoc, noCalls, subscriptState) {\n if (this.match(18) && this.isLookaheadToken_lt()) {\n subscriptState.optionalChainMember = true;\n if (noCalls) {\n subscriptState.stop = true;\n return base;\n }\n this.next();\n const node = this.startNodeAt(startLoc);\n node.callee = base;\n node.typeArguments = this.flowParseTypeParameterInstantiation();\n this.expect(10);\n node.arguments = this.parseCallExpressionArguments(11);\n node.optional = true;\n return this.finishCallExpression(node, true);\n } else if (!noCalls && this.shouldParseTypes() && this.match(47)) {\n const node = this.startNodeAt(startLoc);\n node.callee = base;\n const result = this.tryParse(() => {\n node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew();\n this.expect(10);\n node.arguments = super.parseCallExpressionArguments(11);\n if (subscriptState.optionalChainMember) {\n node.optional = false;\n }\n return this.finishCallExpression(node, subscriptState.optionalChainMember);\n });\n if (result.node) {\n if (result.error) this.state = result.failState;\n return result.node;\n }\n }\n return super.parseSubscript(base, startLoc, noCalls, subscriptState);\n }\n parseNewCallee(node) {\n super.parseNewCallee(node);\n let targs = null;\n if (this.shouldParseTypes() && this.match(47)) {\n targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node;\n }\n node.typeArguments = targs;\n }\n parseAsyncArrowWithTypeParameters(startLoc) {\n const node = this.startNodeAt(startLoc);\n this.parseFunctionParams(node, false);\n if (!this.parseArrow(node)) return;\n return super.parseArrowExpression(node, undefined, true);\n }\n readToken_mult_modulo(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (code === 42 && next === 47 && this.state.hasFlowComment) {\n this.state.hasFlowComment = false;\n this.state.pos += 2;\n this.nextToken();\n return;\n }\n super.readToken_mult_modulo(code);\n }\n readToken_pipe_amp(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (code === 124 && next === 125) {\n this.finishOp(9, 2);\n return;\n }\n super.readToken_pipe_amp(code);\n }\n parseTopLevel(file, program) {\n const fileNode = super.parseTopLevel(file, program);\n if (this.state.hasFlowComment) {\n this.raise(FlowErrors.UnterminatedFlowComment, this.state.curPosition());\n }\n return fileNode;\n }\n skipBlockComment() {\n if (this.hasPlugin(\"flowComments\") && this.skipFlowComment()) {\n if (this.state.hasFlowComment) {\n throw this.raise(FlowErrors.NestedFlowComment, this.state.startLoc);\n }\n this.hasFlowCommentCompletion();\n const commentSkip = this.skipFlowComment();\n if (commentSkip) {\n this.state.pos += commentSkip;\n this.state.hasFlowComment = true;\n }\n return;\n }\n return super.skipBlockComment(this.state.hasFlowComment ? \"*-/\" : \"*/\");\n }\n skipFlowComment() {\n const {\n pos\n } = this.state;\n let shiftToFirstNonWhiteSpace = 2;\n while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) {\n shiftToFirstNonWhiteSpace++;\n }\n const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos);\n const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1);\n if (ch2 === 58 && ch3 === 58) {\n return shiftToFirstNonWhiteSpace + 2;\n }\n if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === \"flow-include\") {\n return shiftToFirstNonWhiteSpace + 12;\n }\n if (ch2 === 58 && ch3 !== 58) {\n return shiftToFirstNonWhiteSpace;\n }\n return false;\n }\n hasFlowCommentCompletion() {\n const end = this.input.indexOf(\"*/\", this.state.pos);\n if (end === -1) {\n throw this.raise(Errors.UnterminatedComment, this.state.curPosition());\n }\n }\n flowEnumErrorBooleanMemberNotInitialized(loc, {\n enumName,\n memberName\n }) {\n this.raise(FlowErrors.EnumBooleanMemberNotInitialized, loc, {\n memberName,\n enumName\n });\n }\n flowEnumErrorInvalidMemberInitializer(loc, enumContext) {\n return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === \"symbol\" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, loc, enumContext);\n }\n flowEnumErrorNumberMemberNotInitialized(loc, details) {\n this.raise(FlowErrors.EnumNumberMemberNotInitialized, loc, details);\n }\n flowEnumErrorStringMemberInconsistentlyInitialized(node, details) {\n this.raise(FlowErrors.EnumStringMemberInconsistentlyInitialized, node, details);\n }\n flowEnumMemberInit() {\n const startLoc = this.state.startLoc;\n const endOfInit = () => this.match(12) || this.match(8);\n switch (this.state.type) {\n case 135:\n {\n const literal = this.parseNumericLiteral(this.state.value);\n if (endOfInit()) {\n return {\n type: \"number\",\n loc: literal.loc.start,\n value: literal\n };\n }\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n case 134:\n {\n const literal = this.parseStringLiteral(this.state.value);\n if (endOfInit()) {\n return {\n type: \"string\",\n loc: literal.loc.start,\n value: literal\n };\n }\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n case 85:\n case 86:\n {\n const literal = this.parseBooleanLiteral(this.match(85));\n if (endOfInit()) {\n return {\n type: \"boolean\",\n loc: literal.loc.start,\n value: literal\n };\n }\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n default:\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n }\n flowEnumMemberRaw() {\n const loc = this.state.startLoc;\n const id = this.parseIdentifier(true);\n const init = this.eat(29) ? this.flowEnumMemberInit() : {\n type: \"none\",\n loc\n };\n return {\n id,\n init\n };\n }\n flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) {\n const {\n explicitType\n } = context;\n if (explicitType === null) {\n return;\n }\n if (explicitType !== expectedType) {\n this.flowEnumErrorInvalidMemberInitializer(loc, context);\n }\n }\n flowEnumMembers({\n enumName,\n explicitType\n }) {\n const seenNames = new Set();\n const members = {\n booleanMembers: [],\n numberMembers: [],\n stringMembers: [],\n defaultedMembers: []\n };\n let hasUnknownMembers = false;\n while (!this.match(8)) {\n if (this.eat(21)) {\n hasUnknownMembers = true;\n break;\n }\n const memberNode = this.startNode();\n const {\n id,\n init\n } = this.flowEnumMemberRaw();\n const memberName = id.name;\n if (memberName === \"\") {\n continue;\n }\n if (/^[a-z]/.test(memberName)) {\n this.raise(FlowErrors.EnumInvalidMemberName, id, {\n memberName,\n suggestion: memberName[0].toUpperCase() + memberName.slice(1),\n enumName\n });\n }\n if (seenNames.has(memberName)) {\n this.raise(FlowErrors.EnumDuplicateMemberName, id, {\n memberName,\n enumName\n });\n }\n seenNames.add(memberName);\n const context = {\n enumName,\n explicitType,\n memberName\n };\n memberNode.id = id;\n switch (init.type) {\n case \"boolean\":\n {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"boolean\");\n memberNode.init = init.value;\n members.booleanMembers.push(this.finishNode(memberNode, \"EnumBooleanMember\"));\n break;\n }\n case \"number\":\n {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"number\");\n memberNode.init = init.value;\n members.numberMembers.push(this.finishNode(memberNode, \"EnumNumberMember\"));\n break;\n }\n case \"string\":\n {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"string\");\n memberNode.init = init.value;\n members.stringMembers.push(this.finishNode(memberNode, \"EnumStringMember\"));\n break;\n }\n case \"invalid\":\n {\n throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context);\n }\n case \"none\":\n {\n switch (explicitType) {\n case \"boolean\":\n this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context);\n break;\n case \"number\":\n this.flowEnumErrorNumberMemberNotInitialized(init.loc, context);\n break;\n default:\n members.defaultedMembers.push(this.finishNode(memberNode, \"EnumDefaultedMember\"));\n }\n }\n }\n if (!this.match(8)) {\n this.expect(12);\n }\n }\n return {\n members,\n hasUnknownMembers\n };\n }\n flowEnumStringMembers(initializedMembers, defaultedMembers, {\n enumName\n }) {\n if (initializedMembers.length === 0) {\n return defaultedMembers;\n } else if (defaultedMembers.length === 0) {\n return initializedMembers;\n } else if (defaultedMembers.length > initializedMembers.length) {\n for (const member of initializedMembers) {\n this.flowEnumErrorStringMemberInconsistentlyInitialized(member, {\n enumName\n });\n }\n return defaultedMembers;\n } else {\n for (const member of defaultedMembers) {\n this.flowEnumErrorStringMemberInconsistentlyInitialized(member, {\n enumName\n });\n }\n return initializedMembers;\n }\n }\n flowEnumParseExplicitType({\n enumName\n }) {\n if (!this.eatContextual(102)) return null;\n if (!tokenIsIdentifier(this.state.type)) {\n throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, {\n enumName\n });\n }\n const {\n value\n } = this.state;\n this.next();\n if (value !== \"boolean\" && value !== \"number\" && value !== \"string\" && value !== \"symbol\") {\n this.raise(FlowErrors.EnumInvalidExplicitType, this.state.startLoc, {\n enumName,\n invalidEnumType: value\n });\n }\n return value;\n }\n flowEnumBody(node, id) {\n const enumName = id.name;\n const nameLoc = id.loc.start;\n const explicitType = this.flowEnumParseExplicitType({\n enumName\n });\n this.expect(5);\n const {\n members,\n hasUnknownMembers\n } = this.flowEnumMembers({\n enumName,\n explicitType\n });\n node.hasUnknownMembers = hasUnknownMembers;\n switch (explicitType) {\n case \"boolean\":\n node.explicitType = true;\n node.members = members.booleanMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumBooleanBody\");\n case \"number\":\n node.explicitType = true;\n node.members = members.numberMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumNumberBody\");\n case \"string\":\n node.explicitType = true;\n node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {\n enumName\n });\n this.expect(8);\n return this.finishNode(node, \"EnumStringBody\");\n case \"symbol\":\n node.members = members.defaultedMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumSymbolBody\");\n default:\n {\n const empty = () => {\n node.members = [];\n this.expect(8);\n return this.finishNode(node, \"EnumStringBody\");\n };\n node.explicitType = false;\n const boolsLen = members.booleanMembers.length;\n const numsLen = members.numberMembers.length;\n const strsLen = members.stringMembers.length;\n const defaultedLen = members.defaultedMembers.length;\n if (!boolsLen && !numsLen && !strsLen && !defaultedLen) {\n return empty();\n } else if (!boolsLen && !numsLen) {\n node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {\n enumName\n });\n this.expect(8);\n return this.finishNode(node, \"EnumStringBody\");\n } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) {\n for (const member of members.defaultedMembers) {\n this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, {\n enumName,\n memberName: member.id.name\n });\n }\n node.members = members.booleanMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumBooleanBody\");\n } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) {\n for (const member of members.defaultedMembers) {\n this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, {\n enumName,\n memberName: member.id.name\n });\n }\n node.members = members.numberMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumNumberBody\");\n } else {\n this.raise(FlowErrors.EnumInconsistentMemberValues, nameLoc, {\n enumName\n });\n return empty();\n }\n }\n }\n }\n flowParseEnumDeclaration(node) {\n const id = this.parseIdentifier();\n node.id = id;\n node.body = this.flowEnumBody(this.startNode(), id);\n return this.finishNode(node, \"EnumDeclaration\");\n }\n isLookaheadToken_lt() {\n const next = this.nextTokenStart();\n if (this.input.charCodeAt(next) === 60) {\n const afterNext = this.input.charCodeAt(next + 1);\n return afterNext !== 60 && afterNext !== 61;\n }\n return false;\n }\n maybeUnwrapTypeCastExpression(node) {\n return node.type === \"TypeCastExpression\" ? node.expression : node;\n }\n};\nconst entities = {\n __proto__: null,\n quot: \"\\u0022\",\n amp: \"&\",\n apos: \"\\u0027\",\n lt: \"<\",\n gt: \">\",\n nbsp: \"\\u00A0\",\n iexcl: \"\\u00A1\",\n cent: \"\\u00A2\",\n pound: \"\\u00A3\",\n curren: \"\\u00A4\",\n yen: \"\\u00A5\",\n brvbar: \"\\u00A6\",\n sect: \"\\u00A7\",\n uml: \"\\u00A8\",\n copy: \"\\u00A9\",\n ordf: \"\\u00AA\",\n laquo: \"\\u00AB\",\n not: \"\\u00AC\",\n shy: \"\\u00AD\",\n reg: \"\\u00AE\",\n macr: \"\\u00AF\",\n deg: \"\\u00B0\",\n plusmn: \"\\u00B1\",\n sup2: \"\\u00B2\",\n sup3: \"\\u00B3\",\n acute: \"\\u00B4\",\n micro: \"\\u00B5\",\n para: \"\\u00B6\",\n middot: \"\\u00B7\",\n cedil: \"\\u00B8\",\n sup1: \"\\u00B9\",\n ordm: \"\\u00BA\",\n raquo: \"\\u00BB\",\n frac14: \"\\u00BC\",\n frac12: \"\\u00BD\",\n frac34: \"\\u00BE\",\n iquest: \"\\u00BF\",\n Agrave: \"\\u00C0\",\n Aacute: \"\\u00C1\",\n Acirc: \"\\u00C2\",\n Atilde: \"\\u00C3\",\n Auml: \"\\u00C4\",\n Aring: \"\\u00C5\",\n AElig: \"\\u00C6\",\n Ccedil: \"\\u00C7\",\n Egrave: \"\\u00C8\",\n Eacute: \"\\u00C9\",\n Ecirc: \"\\u00CA\",\n Euml: \"\\u00CB\",\n Igrave: \"\\u00CC\",\n Iacute: \"\\u00CD\",\n Icirc: \"\\u00CE\",\n Iuml: \"\\u00CF\",\n ETH: \"\\u00D0\",\n Ntilde: \"\\u00D1\",\n Ograve: \"\\u00D2\",\n Oacute: \"\\u00D3\",\n Ocirc: \"\\u00D4\",\n Otilde: \"\\u00D5\",\n Ouml: \"\\u00D6\",\n times: \"\\u00D7\",\n Oslash: \"\\u00D8\",\n Ugrave: \"\\u00D9\",\n Uacute: \"\\u00DA\",\n Ucirc: \"\\u00DB\",\n Uuml: \"\\u00DC\",\n Yacute: \"\\u00DD\",\n THORN: \"\\u00DE\",\n szlig: \"\\u00DF\",\n agrave: \"\\u00E0\",\n aacute: \"\\u00E1\",\n acirc: \"\\u00E2\",\n atilde: \"\\u00E3\",\n auml: \"\\u00E4\",\n aring: \"\\u00E5\",\n aelig: \"\\u00E6\",\n ccedil: \"\\u00E7\",\n egrave: \"\\u00E8\",\n eacute: \"\\u00E9\",\n ecirc: \"\\u00EA\",\n euml: \"\\u00EB\",\n igrave: \"\\u00EC\",\n iacute: \"\\u00ED\",\n icirc: \"\\u00EE\",\n iuml: \"\\u00EF\",\n eth: \"\\u00F0\",\n ntilde: \"\\u00F1\",\n ograve: \"\\u00F2\",\n oacute: \"\\u00F3\",\n ocirc: \"\\u00F4\",\n otilde: \"\\u00F5\",\n ouml: \"\\u00F6\",\n divide: \"\\u00F7\",\n oslash: \"\\u00F8\",\n ugrave: \"\\u00F9\",\n uacute: \"\\u00FA\",\n ucirc: \"\\u00FB\",\n uuml: \"\\u00FC\",\n yacute: \"\\u00FD\",\n thorn: \"\\u00FE\",\n yuml: \"\\u00FF\",\n OElig: \"\\u0152\",\n oelig: \"\\u0153\",\n Scaron: \"\\u0160\",\n scaron: \"\\u0161\",\n Yuml: \"\\u0178\",\n fnof: \"\\u0192\",\n circ: \"\\u02C6\",\n tilde: \"\\u02DC\",\n Alpha: \"\\u0391\",\n Beta: \"\\u0392\",\n Gamma: \"\\u0393\",\n Delta: \"\\u0394\",\n Epsilon: \"\\u0395\",\n Zeta: \"\\u0396\",\n Eta: \"\\u0397\",\n Theta: \"\\u0398\",\n Iota: \"\\u0399\",\n Kappa: \"\\u039A\",\n Lambda: \"\\u039B\",\n Mu: \"\\u039C\",\n Nu: \"\\u039D\",\n Xi: \"\\u039E\",\n Omicron: \"\\u039F\",\n Pi: \"\\u03A0\",\n Rho: \"\\u03A1\",\n Sigma: \"\\u03A3\",\n Tau: \"\\u03A4\",\n Upsilon: \"\\u03A5\",\n Phi: \"\\u03A6\",\n Chi: \"\\u03A7\",\n Psi: \"\\u03A8\",\n Omega: \"\\u03A9\",\n alpha: \"\\u03B1\",\n beta: \"\\u03B2\",\n gamma: \"\\u03B3\",\n delta: \"\\u03B4\",\n epsilon: \"\\u03B5\",\n zeta: \"\\u03B6\",\n eta: \"\\u03B7\",\n theta: \"\\u03B8\",\n iota: \"\\u03B9\",\n kappa: \"\\u03BA\",\n lambda: \"\\u03BB\",\n mu: \"\\u03BC\",\n nu: \"\\u03BD\",\n xi: \"\\u03BE\",\n omicron: \"\\u03BF\",\n pi: \"\\u03C0\",\n rho: \"\\u03C1\",\n sigmaf: \"\\u03C2\",\n sigma: \"\\u03C3\",\n tau: \"\\u03C4\",\n upsilon: \"\\u03C5\",\n phi: \"\\u03C6\",\n chi: \"\\u03C7\",\n psi: \"\\u03C8\",\n omega: \"\\u03C9\",\n thetasym: \"\\u03D1\",\n upsih: \"\\u03D2\",\n piv: \"\\u03D6\",\n ensp: \"\\u2002\",\n emsp: \"\\u2003\",\n thinsp: \"\\u2009\",\n zwnj: \"\\u200C\",\n zwj: \"\\u200D\",\n lrm: \"\\u200E\",\n rlm: \"\\u200F\",\n ndash: \"\\u2013\",\n mdash: \"\\u2014\",\n lsquo: \"\\u2018\",\n rsquo: \"\\u2019\",\n sbquo: \"\\u201A\",\n ldquo: \"\\u201C\",\n rdquo: \"\\u201D\",\n bdquo: \"\\u201E\",\n dagger: \"\\u2020\",\n Dagger: \"\\u2021\",\n bull: \"\\u2022\",\n hellip: \"\\u2026\",\n permil: \"\\u2030\",\n prime: \"\\u2032\",\n Prime: \"\\u2033\",\n lsaquo: \"\\u2039\",\n rsaquo: \"\\u203A\",\n oline: \"\\u203E\",\n frasl: \"\\u2044\",\n euro: \"\\u20AC\",\n image: \"\\u2111\",\n weierp: \"\\u2118\",\n real: \"\\u211C\",\n trade: \"\\u2122\",\n alefsym: \"\\u2135\",\n larr: \"\\u2190\",\n uarr: \"\\u2191\",\n rarr: \"\\u2192\",\n darr: \"\\u2193\",\n harr: \"\\u2194\",\n crarr: \"\\u21B5\",\n lArr: \"\\u21D0\",\n uArr: \"\\u21D1\",\n rArr: \"\\u21D2\",\n dArr: \"\\u21D3\",\n hArr: \"\\u21D4\",\n forall: \"\\u2200\",\n part: \"\\u2202\",\n exist: \"\\u2203\",\n empty: \"\\u2205\",\n nabla: \"\\u2207\",\n isin: \"\\u2208\",\n notin: \"\\u2209\",\n ni: \"\\u220B\",\n prod: \"\\u220F\",\n sum: \"\\u2211\",\n minus: \"\\u2212\",\n lowast: \"\\u2217\",\n radic: \"\\u221A\",\n prop: \"\\u221D\",\n infin: \"\\u221E\",\n ang: \"\\u2220\",\n and: \"\\u2227\",\n or: \"\\u2228\",\n cap: \"\\u2229\",\n cup: \"\\u222A\",\n int: \"\\u222B\",\n there4: \"\\u2234\",\n sim: \"\\u223C\",\n cong: \"\\u2245\",\n asymp: \"\\u2248\",\n ne: \"\\u2260\",\n equiv: \"\\u2261\",\n le: \"\\u2264\",\n ge: \"\\u2265\",\n sub: \"\\u2282\",\n sup: \"\\u2283\",\n nsub: \"\\u2284\",\n sube: \"\\u2286\",\n supe: \"\\u2287\",\n oplus: \"\\u2295\",\n otimes: \"\\u2297\",\n perp: \"\\u22A5\",\n sdot: \"\\u22C5\",\n lceil: \"\\u2308\",\n rceil: \"\\u2309\",\n lfloor: \"\\u230A\",\n rfloor: \"\\u230B\",\n lang: \"\\u2329\",\n rang: \"\\u232A\",\n loz: \"\\u25CA\",\n spades: \"\\u2660\",\n clubs: \"\\u2663\",\n hearts: \"\\u2665\",\n diams: \"\\u2666\"\n};\nconst JsxErrors = ParseErrorEnum`jsx`({\n AttributeIsEmpty: \"JSX attributes must only be assigned a non-empty expression.\",\n MissingClosingTagElement: ({\n openingTagName\n }) => `Expected corresponding JSX closing tag for <${openingTagName}>.`,\n MissingClosingTagFragment: \"Expected corresponding JSX closing tag for <>.\",\n UnexpectedSequenceExpression: \"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?\",\n UnexpectedToken: ({\n unexpected,\n HTMLEntity\n }) => `Unexpected token \\`${unexpected}\\`. Did you mean \\`${HTMLEntity}\\` or \\`{'${unexpected}'}\\`?`,\n UnsupportedJsxValue: \"JSX value should be either an expression or a quoted JSX text.\",\n UnterminatedJsxContent: \"Unterminated JSX contents.\",\n UnwrappedAdjacentJSXElements: \"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?\"\n});\nfunction isFragment(object) {\n return object ? object.type === \"JSXOpeningFragment\" || object.type === \"JSXClosingFragment\" : false;\n}\nfunction getQualifiedJSXName(object) {\n if (object.type === \"JSXIdentifier\") {\n return object.name;\n }\n if (object.type === \"JSXNamespacedName\") {\n return object.namespace.name + \":\" + object.name.name;\n }\n if (object.type === \"JSXMemberExpression\") {\n return getQualifiedJSXName(object.object) + \".\" + getQualifiedJSXName(object.property);\n }\n throw new Error(\"Node had unexpected type: \" + object.type);\n}\nvar jsx = superClass => class JSXParserMixin extends superClass {\n jsxReadToken() {\n let out = \"\";\n let chunkStart = this.state.pos;\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(JsxErrors.UnterminatedJsxContent, this.state.startLoc);\n }\n const ch = this.input.charCodeAt(this.state.pos);\n switch (ch) {\n case 60:\n case 123:\n if (this.state.pos === this.state.start) {\n if (ch === 60 && this.state.canStartJSXElement) {\n ++this.state.pos;\n this.finishToken(143);\n } else {\n super.getTokenFromCode(ch);\n }\n return;\n }\n out += this.input.slice(chunkStart, this.state.pos);\n this.finishToken(142, out);\n return;\n case 38:\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n break;\n case 62:\n case 125:\n default:\n if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(true);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n }\n }\n jsxReadNewLine(normalizeCRLF) {\n const ch = this.input.charCodeAt(this.state.pos);\n let out;\n ++this.state.pos;\n if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) {\n ++this.state.pos;\n out = normalizeCRLF ? \"\\n\" : \"\\r\\n\";\n } else {\n out = String.fromCharCode(ch);\n }\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n return out;\n }\n jsxReadString(quote) {\n let out = \"\";\n let chunkStart = ++this.state.pos;\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(Errors.UnterminatedString, this.state.startLoc);\n }\n const ch = this.input.charCodeAt(this.state.pos);\n if (ch === quote) break;\n if (ch === 38) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(false);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n out += this.input.slice(chunkStart, this.state.pos++);\n this.finishToken(134, out);\n }\n jsxReadEntity() {\n const startPos = ++this.state.pos;\n if (this.codePointAtPos(this.state.pos) === 35) {\n ++this.state.pos;\n let radix = 10;\n if (this.codePointAtPos(this.state.pos) === 120) {\n radix = 16;\n ++this.state.pos;\n }\n const codePoint = this.readInt(radix, undefined, false, \"bail\");\n if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) {\n ++this.state.pos;\n return String.fromCodePoint(codePoint);\n }\n } else {\n let count = 0;\n let semi = false;\n while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) === 59)) {\n ++this.state.pos;\n }\n if (semi) {\n const desc = this.input.slice(startPos, this.state.pos);\n const entity = entities[desc];\n ++this.state.pos;\n if (entity) {\n return entity;\n }\n }\n }\n this.state.pos = startPos;\n return \"&\";\n }\n jsxReadWord() {\n let ch;\n const start = this.state.pos;\n do {\n ch = this.input.charCodeAt(++this.state.pos);\n } while (isIdentifierChar(ch) || ch === 45);\n this.finishToken(141, this.input.slice(start, this.state.pos));\n }\n jsxParseIdentifier() {\n const node = this.startNode();\n if (this.match(141)) {\n node.name = this.state.value;\n } else if (tokenIsKeyword(this.state.type)) {\n node.name = tokenLabelName(this.state.type);\n } else {\n this.unexpected();\n }\n this.next();\n return this.finishNode(node, \"JSXIdentifier\");\n }\n jsxParseNamespacedName() {\n const startLoc = this.state.startLoc;\n const name = this.jsxParseIdentifier();\n if (!this.eat(14)) return name;\n const node = this.startNodeAt(startLoc);\n node.namespace = name;\n node.name = this.jsxParseIdentifier();\n return this.finishNode(node, \"JSXNamespacedName\");\n }\n jsxParseElementName() {\n const startLoc = this.state.startLoc;\n let node = this.jsxParseNamespacedName();\n if (node.type === \"JSXNamespacedName\") {\n return node;\n }\n while (this.eat(16)) {\n const newNode = this.startNodeAt(startLoc);\n newNode.object = node;\n newNode.property = this.jsxParseIdentifier();\n node = this.finishNode(newNode, \"JSXMemberExpression\");\n }\n return node;\n }\n jsxParseAttributeValue() {\n let node;\n switch (this.state.type) {\n case 5:\n node = this.startNode();\n this.setContext(types.brace);\n this.next();\n node = this.jsxParseExpressionContainer(node, types.j_oTag);\n if (node.expression.type === \"JSXEmptyExpression\") {\n this.raise(JsxErrors.AttributeIsEmpty, node);\n }\n return node;\n case 143:\n case 134:\n return this.parseExprAtom();\n default:\n throw this.raise(JsxErrors.UnsupportedJsxValue, this.state.startLoc);\n }\n }\n jsxParseEmptyExpression() {\n const node = this.startNodeAt(this.state.lastTokEndLoc);\n return this.finishNodeAt(node, \"JSXEmptyExpression\", this.state.startLoc);\n }\n jsxParseSpreadChild(node) {\n this.next();\n node.expression = this.parseExpression();\n this.setContext(types.j_expr);\n this.state.canStartJSXElement = true;\n this.expect(8);\n return this.finishNode(node, \"JSXSpreadChild\");\n }\n jsxParseExpressionContainer(node, previousContext) {\n if (this.match(8)) {\n node.expression = this.jsxParseEmptyExpression();\n } else {\n const expression = this.parseExpression();\n node.expression = expression;\n }\n this.setContext(previousContext);\n this.state.canStartJSXElement = true;\n this.expect(8);\n return this.finishNode(node, \"JSXExpressionContainer\");\n }\n jsxParseAttribute() {\n const node = this.startNode();\n if (this.match(5)) {\n this.setContext(types.brace);\n this.next();\n this.expect(21);\n node.argument = this.parseMaybeAssignAllowIn();\n this.setContext(types.j_oTag);\n this.state.canStartJSXElement = true;\n this.expect(8);\n return this.finishNode(node, \"JSXSpreadAttribute\");\n }\n node.name = this.jsxParseNamespacedName();\n node.value = this.eat(29) ? this.jsxParseAttributeValue() : null;\n return this.finishNode(node, \"JSXAttribute\");\n }\n jsxParseOpeningElementAt(startLoc) {\n const node = this.startNodeAt(startLoc);\n if (this.eat(144)) {\n return this.finishNode(node, \"JSXOpeningFragment\");\n }\n node.name = this.jsxParseElementName();\n return this.jsxParseOpeningElementAfterName(node);\n }\n jsxParseOpeningElementAfterName(node) {\n const attributes = [];\n while (!this.match(56) && !this.match(144)) {\n attributes.push(this.jsxParseAttribute());\n }\n node.attributes = attributes;\n node.selfClosing = this.eat(56);\n this.expect(144);\n return this.finishNode(node, \"JSXOpeningElement\");\n }\n jsxParseClosingElementAt(startLoc) {\n const node = this.startNodeAt(startLoc);\n if (this.eat(144)) {\n return this.finishNode(node, \"JSXClosingFragment\");\n }\n node.name = this.jsxParseElementName();\n this.expect(144);\n return this.finishNode(node, \"JSXClosingElement\");\n }\n jsxParseElementAt(startLoc) {\n const node = this.startNodeAt(startLoc);\n const children = [];\n const openingElement = this.jsxParseOpeningElementAt(startLoc);\n let closingElement = null;\n if (!openingElement.selfClosing) {\n contents: for (;;) {\n switch (this.state.type) {\n case 143:\n startLoc = this.state.startLoc;\n this.next();\n if (this.eat(56)) {\n closingElement = this.jsxParseClosingElementAt(startLoc);\n break contents;\n }\n children.push(this.jsxParseElementAt(startLoc));\n break;\n case 142:\n children.push(this.parseLiteral(this.state.value, \"JSXText\"));\n break;\n case 5:\n {\n const node = this.startNode();\n this.setContext(types.brace);\n this.next();\n if (this.match(21)) {\n children.push(this.jsxParseSpreadChild(node));\n } else {\n children.push(this.jsxParseExpressionContainer(node, types.j_expr));\n }\n break;\n }\n default:\n this.unexpected();\n }\n }\n if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) {\n this.raise(JsxErrors.MissingClosingTagFragment, closingElement);\n } else if (!isFragment(openingElement) && isFragment(closingElement)) {\n this.raise(JsxErrors.MissingClosingTagElement, closingElement, {\n openingTagName: getQualifiedJSXName(openingElement.name)\n });\n } else if (!isFragment(openingElement) && !isFragment(closingElement)) {\n if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) {\n this.raise(JsxErrors.MissingClosingTagElement, closingElement, {\n openingTagName: getQualifiedJSXName(openingElement.name)\n });\n }\n }\n }\n if (isFragment(openingElement)) {\n node.openingFragment = openingElement;\n node.closingFragment = closingElement;\n } else {\n node.openingElement = openingElement;\n node.closingElement = closingElement;\n }\n node.children = children;\n if (this.match(47)) {\n throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, this.state.startLoc);\n }\n return isFragment(openingElement) ? this.finishNode(node, \"JSXFragment\") : this.finishNode(node, \"JSXElement\");\n }\n jsxParseElement() {\n const startLoc = this.state.startLoc;\n this.next();\n return this.jsxParseElementAt(startLoc);\n }\n setContext(newContext) {\n const {\n context\n } = this.state;\n context[context.length - 1] = newContext;\n }\n parseExprAtom(refExpressionErrors) {\n if (this.match(143)) {\n return this.jsxParseElement();\n } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) {\n this.replaceToken(143);\n return this.jsxParseElement();\n } else {\n return super.parseExprAtom(refExpressionErrors);\n }\n }\n skipSpace() {\n const curContext = this.curContext();\n if (!curContext.preserveSpace) super.skipSpace();\n }\n getTokenFromCode(code) {\n const context = this.curContext();\n if (context === types.j_expr) {\n this.jsxReadToken();\n return;\n }\n if (context === types.j_oTag || context === types.j_cTag) {\n if (isIdentifierStart(code)) {\n this.jsxReadWord();\n return;\n }\n if (code === 62) {\n ++this.state.pos;\n this.finishToken(144);\n return;\n }\n if ((code === 34 || code === 39) && context === types.j_oTag) {\n this.jsxReadString(code);\n return;\n }\n }\n if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {\n ++this.state.pos;\n this.finishToken(143);\n return;\n }\n super.getTokenFromCode(code);\n }\n updateContext(prevType) {\n const {\n context,\n type\n } = this.state;\n if (type === 56 && prevType === 143) {\n context.splice(-2, 2, types.j_cTag);\n this.state.canStartJSXElement = false;\n } else if (type === 143) {\n context.push(types.j_oTag);\n } else if (type === 144) {\n const out = context[context.length - 1];\n if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) {\n context.pop();\n this.state.canStartJSXElement = context[context.length - 1] === types.j_expr;\n } else {\n this.setContext(types.j_expr);\n this.state.canStartJSXElement = true;\n }\n } else {\n this.state.canStartJSXElement = tokenComesBeforeExpression(type);\n }\n }\n};\nclass TypeScriptScope extends Scope {\n constructor(...args) {\n super(...args);\n this.tsNames = new Map();\n }\n}\nclass TypeScriptScopeHandler extends ScopeHandler {\n constructor(...args) {\n super(...args);\n this.importsStack = [];\n }\n createScope(flags) {\n this.importsStack.push(new Set());\n return new TypeScriptScope(flags);\n }\n enter(flags) {\n if (flags === 256) {\n this.importsStack.push(new Set());\n }\n super.enter(flags);\n }\n exit() {\n const flags = super.exit();\n if (flags === 256) {\n this.importsStack.pop();\n }\n return flags;\n }\n hasImport(name, allowShadow) {\n const len = this.importsStack.length;\n if (this.importsStack[len - 1].has(name)) {\n return true;\n }\n if (!allowShadow && len > 1) {\n for (let i = 0; i < len - 1; i++) {\n if (this.importsStack[i].has(name)) return true;\n }\n }\n return false;\n }\n declareName(name, bindingType, loc) {\n if (bindingType & 4096) {\n if (this.hasImport(name, true)) {\n this.parser.raise(Errors.VarRedeclaration, loc, {\n identifierName: name\n });\n }\n this.importsStack[this.importsStack.length - 1].add(name);\n return;\n }\n const scope = this.currentScope();\n let type = scope.tsNames.get(name) || 0;\n if (bindingType & 1024) {\n this.maybeExportDefined(scope, name);\n scope.tsNames.set(name, type | 16);\n return;\n }\n super.declareName(name, bindingType, loc);\n if (bindingType & 2) {\n if (!(bindingType & 1)) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n this.maybeExportDefined(scope, name);\n }\n type = type | 1;\n }\n if (bindingType & 256) {\n type = type | 2;\n }\n if (bindingType & 512) {\n type = type | 4;\n }\n if (bindingType & 128) {\n type = type | 8;\n }\n if (type) scope.tsNames.set(name, type);\n }\n isRedeclaredInScope(scope, name, bindingType) {\n const type = scope.tsNames.get(name);\n if ((type & 2) > 0) {\n if (bindingType & 256) {\n const isConst = !!(bindingType & 512);\n const wasConst = (type & 4) > 0;\n return isConst !== wasConst;\n }\n return true;\n }\n if (bindingType & 128 && (type & 8) > 0) {\n if (scope.names.get(name) & 2) {\n return !!(bindingType & 1);\n } else {\n return false;\n }\n }\n if (bindingType & 2 && (type & 1) > 0) {\n return true;\n }\n return super.isRedeclaredInScope(scope, name, bindingType);\n }\n checkLocalExport(id) {\n const {\n name\n } = id;\n if (this.hasImport(name)) return;\n const len = this.scopeStack.length;\n for (let i = len - 1; i >= 0; i--) {\n const scope = this.scopeStack[i];\n const type = scope.tsNames.get(name);\n if ((type & 1) > 0 || (type & 16) > 0) {\n return;\n }\n }\n super.checkLocalExport(id);\n }\n}\nconst unwrapParenthesizedExpression = node => {\n return node.type === \"ParenthesizedExpression\" ? unwrapParenthesizedExpression(node.expression) : node;\n};\nclass LValParser extends NodeUtils {\n toAssignable(node, isLHS = false) {\n var _node$extra, _node$extra3;\n let parenthesized = undefined;\n if (node.type === \"ParenthesizedExpression\" || (_node$extra = node.extra) != null && _node$extra.parenthesized) {\n parenthesized = unwrapParenthesizedExpression(node);\n if (isLHS) {\n if (parenthesized.type === \"Identifier\") {\n this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment, node);\n } else if (parenthesized.type !== \"MemberExpression\" && !this.isOptionalMemberExpression(parenthesized)) {\n this.raise(Errors.InvalidParenthesizedAssignment, node);\n }\n } else {\n this.raise(Errors.InvalidParenthesizedAssignment, node);\n }\n }\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n break;\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) {\n var _node$extra2;\n const prop = node.properties[i];\n const isLast = i === last;\n this.toAssignableObjectExpressionProp(prop, isLast, isLHS);\n if (isLast && prop.type === \"RestElement\" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) {\n this.raise(Errors.RestTrailingComma, node.extra.trailingCommaLoc);\n }\n }\n break;\n case \"ObjectProperty\":\n {\n const {\n key,\n value\n } = node;\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);\n }\n this.toAssignable(value, isLHS);\n break;\n }\n case \"SpreadElement\":\n {\n throw new Error(\"Internal @babel/parser error (this is a bug, please report it).\" + \" SpreadElement should be converted by .toAssignable's caller.\");\n }\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS);\n break;\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") {\n this.raise(Errors.MissingEqInAssignment, node.left.loc.end);\n }\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isLHS);\n break;\n case \"ParenthesizedExpression\":\n this.toAssignable(parenthesized, isLHS);\n break;\n }\n }\n toAssignableObjectExpressionProp(prop, isLast, isLHS) {\n if (prop.type === \"ObjectMethod\") {\n this.raise(prop.kind === \"get\" || prop.kind === \"set\" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, prop.key);\n } else if (prop.type === \"SpreadElement\") {\n prop.type = \"RestElement\";\n const arg = prop.argument;\n this.checkToRestConversion(arg, false);\n this.toAssignable(arg, isLHS);\n if (!isLast) {\n this.raise(Errors.RestTrailingComma, prop);\n }\n } else {\n this.toAssignable(prop, isLHS);\n }\n }\n toAssignableList(exprList, trailingCommaLoc, isLHS) {\n const end = exprList.length - 1;\n for (let i = 0; i <= end; i++) {\n const elt = exprList[i];\n if (!elt) continue;\n if (elt.type === \"SpreadElement\") {\n elt.type = \"RestElement\";\n const arg = elt.argument;\n this.checkToRestConversion(arg, true);\n this.toAssignable(arg, isLHS);\n } else {\n this.toAssignable(elt, isLHS);\n }\n if (elt.type === \"RestElement\") {\n if (i < end) {\n this.raise(Errors.RestTrailingComma, elt);\n } else if (trailingCommaLoc) {\n this.raise(Errors.RestTrailingComma, trailingCommaLoc);\n }\n }\n }\n }\n isAssignable(node, isBinding) {\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n return true;\n case \"ObjectExpression\":\n {\n const last = node.properties.length - 1;\n return node.properties.every((prop, i) => {\n return prop.type !== \"ObjectMethod\" && (i === last || prop.type !== \"SpreadElement\") && this.isAssignable(prop);\n });\n }\n case \"ObjectProperty\":\n return this.isAssignable(node.value);\n case \"SpreadElement\":\n return this.isAssignable(node.argument);\n case \"ArrayExpression\":\n return node.elements.every(element => element === null || this.isAssignable(element));\n case \"AssignmentExpression\":\n return node.operator === \"=\";\n case \"ParenthesizedExpression\":\n return this.isAssignable(node.expression);\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return !isBinding;\n default:\n return false;\n }\n }\n toReferencedList(exprList, isParenthesizedExpr) {\n return exprList;\n }\n toReferencedListDeep(exprList, isParenthesizedExpr) {\n this.toReferencedList(exprList, isParenthesizedExpr);\n for (const expr of exprList) {\n if ((expr == null ? void 0 : expr.type) === \"ArrayExpression\") {\n this.toReferencedListDeep(expr.elements);\n }\n }\n }\n parseSpread(refExpressionErrors) {\n const node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined);\n return this.finishNode(node, \"SpreadElement\");\n }\n parseRestBinding() {\n const node = this.startNode();\n this.next();\n node.argument = this.parseBindingAtom();\n return this.finishNode(node, \"RestElement\");\n }\n parseBindingAtom() {\n switch (this.state.type) {\n case 0:\n {\n const node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(3, 93, 1);\n return this.finishNode(node, \"ArrayPattern\");\n }\n case 5:\n return this.parseObjectLike(8, true);\n }\n return this.parseIdentifier();\n }\n parseBindingList(close, closeCharCode, flags) {\n const allowEmpty = flags & 1;\n const elts = [];\n let first = true;\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n }\n if (allowEmpty && this.match(12)) {\n elts.push(null);\n } else if (this.eat(close)) {\n break;\n } else if (this.match(21)) {\n let rest = this.parseRestBinding();\n if (this.hasPlugin(\"flow\") || flags & 2) {\n rest = this.parseFunctionParamType(rest);\n }\n elts.push(rest);\n if (!this.checkCommaAfterRest(closeCharCode)) {\n this.expect(close);\n break;\n }\n } else {\n const decorators = [];\n if (this.match(26) && this.hasPlugin(\"decorators\")) {\n this.raise(Errors.UnsupportedParameterDecorator, this.state.startLoc);\n }\n while (this.match(26)) {\n decorators.push(this.parseDecorator());\n }\n elts.push(this.parseAssignableListItem(flags, decorators));\n }\n }\n return elts;\n }\n parseBindingRestProperty(prop) {\n this.next();\n prop.argument = this.parseIdentifier();\n this.checkCommaAfterRest(125);\n return this.finishNode(prop, \"RestElement\");\n }\n parseBindingProperty() {\n const {\n type,\n startLoc\n } = this.state;\n if (type === 21) {\n return this.parseBindingRestProperty(this.startNode());\n }\n const prop = this.startNode();\n if (type === 139) {\n this.expectPlugin(\"destructuringPrivate\", startLoc);\n this.classScope.usePrivateName(this.state.value, startLoc);\n prop.key = this.parsePrivateName();\n } else {\n this.parsePropertyName(prop);\n }\n prop.method = false;\n return this.parseObjPropValue(prop, startLoc, false, false, true, false);\n }\n parseAssignableListItem(flags, decorators) {\n const left = this.parseMaybeDefault();\n if (this.hasPlugin(\"flow\") || flags & 2) {\n this.parseFunctionParamType(left);\n }\n const elt = this.parseMaybeDefault(left.loc.start, left);\n if (decorators.length) {\n left.decorators = decorators;\n }\n return elt;\n }\n parseFunctionParamType(param) {\n return param;\n }\n parseMaybeDefault(startLoc, left) {\n var _startLoc, _left;\n (_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc;\n left = (_left = left) != null ? _left : this.parseBindingAtom();\n if (!this.eat(29)) return left;\n const node = this.startNodeAt(startLoc);\n node.left = left;\n node.right = this.parseMaybeAssignAllowIn();\n return this.finishNode(node, \"AssignmentPattern\");\n }\n isValidLVal(type, isUnparenthesizedInAssign, binding) {\n switch (type) {\n case \"AssignmentPattern\":\n return \"left\";\n case \"RestElement\":\n return \"argument\";\n case \"ObjectProperty\":\n return \"value\";\n case \"ParenthesizedExpression\":\n return \"expression\";\n case \"ArrayPattern\":\n return \"elements\";\n case \"ObjectPattern\":\n return \"properties\";\n }\n return false;\n }\n isOptionalMemberExpression(expression) {\n return expression.type === \"OptionalMemberExpression\";\n }\n checkLVal(expression, ancestor, binding = 64, checkClashes = false, strictModeChanged = false, hasParenthesizedAncestor = false) {\n var _expression$extra;\n const type = expression.type;\n if (this.isObjectMethod(expression)) return;\n const isOptionalMemberExpression = this.isOptionalMemberExpression(expression);\n if (isOptionalMemberExpression || type === \"MemberExpression\") {\n if (isOptionalMemberExpression) {\n this.expectPlugin(\"optionalChainingAssign\", expression.loc.start);\n if (ancestor.type !== \"AssignmentExpression\") {\n this.raise(Errors.InvalidLhsOptionalChaining, expression, {\n ancestor\n });\n }\n }\n if (binding !== 64) {\n this.raise(Errors.InvalidPropertyBindingPattern, expression);\n }\n return;\n }\n if (type === \"Identifier\") {\n this.checkIdentifier(expression, binding, strictModeChanged);\n const {\n name\n } = expression;\n if (checkClashes) {\n if (checkClashes.has(name)) {\n this.raise(Errors.ParamDupe, expression);\n } else {\n checkClashes.add(name);\n }\n }\n return;\n }\n const validity = this.isValidLVal(type, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === \"AssignmentExpression\", binding);\n if (validity === true) return;\n if (validity === false) {\n const ParseErrorClass = binding === 64 ? Errors.InvalidLhs : Errors.InvalidLhsBinding;\n this.raise(ParseErrorClass, expression, {\n ancestor\n });\n return;\n }\n let key, isParenthesizedExpression;\n if (typeof validity === \"string\") {\n key = validity;\n isParenthesizedExpression = type === \"ParenthesizedExpression\";\n } else {\n [key, isParenthesizedExpression] = validity;\n }\n const nextAncestor = type === \"ArrayPattern\" || type === \"ObjectPattern\" ? {\n type\n } : ancestor;\n const val = expression[key];\n if (Array.isArray(val)) {\n for (const child of val) {\n if (child) {\n this.checkLVal(child, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression);\n }\n }\n } else if (val) {\n this.checkLVal(val, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression);\n }\n }\n checkIdentifier(at, bindingType, strictModeChanged = false) {\n if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) {\n if (bindingType === 64) {\n this.raise(Errors.StrictEvalArguments, at, {\n referenceName: at.name\n });\n } else {\n this.raise(Errors.StrictEvalArgumentsBinding, at, {\n bindingName: at.name\n });\n }\n }\n if (bindingType & 8192 && at.name === \"let\") {\n this.raise(Errors.LetInLexicalBinding, at);\n }\n if (!(bindingType & 64)) {\n this.declareNameFromIdentifier(at, bindingType);\n }\n }\n declareNameFromIdentifier(identifier, binding) {\n this.scope.declareName(identifier.name, binding, identifier.loc.start);\n }\n checkToRestConversion(node, allowPattern) {\n switch (node.type) {\n case \"ParenthesizedExpression\":\n this.checkToRestConversion(node.expression, allowPattern);\n break;\n case \"Identifier\":\n case \"MemberExpression\":\n break;\n case \"ArrayExpression\":\n case \"ObjectExpression\":\n if (allowPattern) break;\n default:\n this.raise(Errors.InvalidRestAssignmentPattern, node);\n }\n }\n checkCommaAfterRest(close) {\n if (!this.match(12)) {\n return false;\n }\n this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, this.state.startLoc);\n return true;\n }\n}\nfunction nonNull(x) {\n if (x == null) {\n throw new Error(`Unexpected ${x} value.`);\n }\n return x;\n}\nfunction assert(x) {\n if (!x) {\n throw new Error(\"Assert fail\");\n }\n}\nconst TSErrors = ParseErrorEnum`typescript`({\n AbstractMethodHasImplementation: ({\n methodName\n }) => `Method '${methodName}' cannot have an implementation because it is marked abstract.`,\n AbstractPropertyHasInitializer: ({\n propertyName\n }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`,\n AccessorCannotBeOptional: \"An 'accessor' property cannot be declared optional.\",\n AccessorCannotDeclareThisParameter: \"'get' and 'set' accessors cannot declare 'this' parameters.\",\n AccessorCannotHaveTypeParameters: \"An accessor cannot have type parameters.\",\n ClassMethodHasDeclare: \"Class methods cannot have the 'declare' modifier.\",\n ClassMethodHasReadonly: \"Class methods cannot have the 'readonly' modifier.\",\n ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: \"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\",\n ConstructorHasTypeParameters: \"Type parameters cannot appear on a constructor declaration.\",\n DeclareAccessor: ({\n kind\n }) => `'declare' is not allowed in ${kind}ters.`,\n DeclareClassFieldHasInitializer: \"Initializers are not allowed in ambient contexts.\",\n DeclareFunctionHasImplementation: \"An implementation cannot be declared in ambient contexts.\",\n DuplicateAccessibilityModifier: ({\n modifier\n }) => `Accessibility modifier already seen.`,\n DuplicateModifier: ({\n modifier\n }) => `Duplicate modifier: '${modifier}'.`,\n EmptyHeritageClauseType: ({\n token\n }) => `'${token}' list cannot be empty.`,\n EmptyTypeArguments: \"Type argument list cannot be empty.\",\n EmptyTypeParameters: \"Type parameter list cannot be empty.\",\n ExpectedAmbientAfterExportDeclare: \"'export declare' must be followed by an ambient declaration.\",\n ImportAliasHasImportType: \"An import alias can not use 'import type'.\",\n ImportReflectionHasImportType: \"An `import module` declaration can not use `type` modifier\",\n IncompatibleModifiers: ({\n modifiers\n }) => `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`,\n IndexSignatureHasAbstract: \"Index signatures cannot have the 'abstract' modifier.\",\n IndexSignatureHasAccessibility: ({\n modifier\n }) => `Index signatures cannot have an accessibility modifier ('${modifier}').`,\n IndexSignatureHasDeclare: \"Index signatures cannot have the 'declare' modifier.\",\n IndexSignatureHasOverride: \"'override' modifier cannot appear on an index signature.\",\n IndexSignatureHasStatic: \"Index signatures cannot have the 'static' modifier.\",\n InitializerNotAllowedInAmbientContext: \"Initializers are not allowed in ambient contexts.\",\n InvalidModifierOnTypeMember: ({\n modifier\n }) => `'${modifier}' modifier cannot appear on a type member.`,\n InvalidModifierOnTypeParameter: ({\n modifier\n }) => `'${modifier}' modifier cannot appear on a type parameter.`,\n InvalidModifierOnTypeParameterPositions: ({\n modifier\n }) => `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`,\n InvalidModifiersOrder: ({\n orderedModifiers\n }) => `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`,\n InvalidPropertyAccessAfterInstantiationExpression: \"Invalid property access after an instantiation expression. \" + \"You can either wrap the instantiation expression in parentheses, or delete the type arguments.\",\n InvalidTupleMemberLabel: \"Tuple members must be labeled with a simple identifier.\",\n MissingInterfaceName: \"'interface' declarations must be followed by an identifier.\",\n NonAbstractClassHasAbstractMethod: \"Abstract methods can only appear within an abstract class.\",\n NonClassMethodPropertyHasAbstractModifer: \"'abstract' modifier can only appear on a class, method, or property declaration.\",\n OptionalTypeBeforeRequired: \"A required element cannot follow an optional element.\",\n OverrideNotInSubClass: \"This member cannot have an 'override' modifier because its containing class does not extend another class.\",\n PatternIsOptional: \"A binding pattern parameter cannot be optional in an implementation signature.\",\n PrivateElementHasAbstract: \"Private elements cannot have the 'abstract' modifier.\",\n PrivateElementHasAccessibility: ({\n modifier\n }) => `Private elements cannot have an accessibility modifier ('${modifier}').`,\n ReadonlyForMethodSignature: \"'readonly' modifier can only appear on a property declaration or index signature.\",\n ReservedArrowTypeParam: \"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.\",\n ReservedTypeAssertion: \"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.\",\n SetAccessorCannotHaveOptionalParameter: \"A 'set' accessor cannot have an optional parameter.\",\n SetAccessorCannotHaveRestParameter: \"A 'set' accessor cannot have rest parameter.\",\n SetAccessorCannotHaveReturnType: \"A 'set' accessor cannot have a return type annotation.\",\n SingleTypeParameterWithoutTrailingComma: ({\n typeParameterName\n }) => `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`,\n StaticBlockCannotHaveModifier: \"Static class blocks cannot have any modifier.\",\n TupleOptionalAfterType: \"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).\",\n TypeAnnotationAfterAssign: \"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",\n TypeImportCannotSpecifyDefaultAndNamed: \"A type-only import can specify a default import or named bindings, but not both.\",\n TypeModifierIsUsedInTypeExports: \"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.\",\n TypeModifierIsUsedInTypeImports: \"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.\",\n UnexpectedParameterModifier: \"A parameter property is only allowed in a constructor implementation.\",\n UnexpectedReadonly: \"'readonly' type modifier is only permitted on array and tuple literal types.\",\n UnexpectedTypeAnnotation: \"Did not expect a type annotation here.\",\n UnexpectedTypeCastInParameter: \"Unexpected type cast in parameter position.\",\n UnsupportedImportTypeArgument: \"Argument in a type import must be a string literal.\",\n UnsupportedParameterPropertyKind: \"A parameter property may not be declared using a binding pattern.\",\n UnsupportedSignatureParameterKind: ({\n type\n }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.`\n});\nfunction keywordTypeFromName(value) {\n switch (value) {\n case \"any\":\n return \"TSAnyKeyword\";\n case \"boolean\":\n return \"TSBooleanKeyword\";\n case \"bigint\":\n return \"TSBigIntKeyword\";\n case \"never\":\n return \"TSNeverKeyword\";\n case \"number\":\n return \"TSNumberKeyword\";\n case \"object\":\n return \"TSObjectKeyword\";\n case \"string\":\n return \"TSStringKeyword\";\n case \"symbol\":\n return \"TSSymbolKeyword\";\n case \"undefined\":\n return \"TSUndefinedKeyword\";\n case \"unknown\":\n return \"TSUnknownKeyword\";\n default:\n return undefined;\n }\n}\nfunction tsIsAccessModifier(modifier) {\n return modifier === \"private\" || modifier === \"public\" || modifier === \"protected\";\n}\nfunction tsIsVarianceAnnotations(modifier) {\n return modifier === \"in\" || modifier === \"out\";\n}\nvar typescript = superClass => class TypeScriptParserMixin extends superClass {\n constructor(...args) {\n super(...args);\n this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, {\n allowedModifiers: [\"in\", \"out\"],\n disallowedModifiers: [\"const\", \"public\", \"private\", \"protected\", \"readonly\", \"declare\", \"abstract\", \"override\"],\n errorTemplate: TSErrors.InvalidModifierOnTypeParameter\n });\n this.tsParseConstModifier = this.tsParseModifiers.bind(this, {\n allowedModifiers: [\"const\"],\n disallowedModifiers: [\"in\", \"out\"],\n errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions\n });\n this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, {\n allowedModifiers: [\"in\", \"out\", \"const\"],\n disallowedModifiers: [\"public\", \"private\", \"protected\", \"readonly\", \"declare\", \"abstract\", \"override\"],\n errorTemplate: TSErrors.InvalidModifierOnTypeParameter\n });\n }\n getScopeHandler() {\n return TypeScriptScopeHandler;\n }\n tsIsIdentifier() {\n return tokenIsIdentifier(this.state.type);\n }\n tsTokenCanFollowModifier() {\n return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();\n }\n tsNextTokenOnSameLineAndCanFollowModifier() {\n this.next();\n if (this.hasPrecedingLineBreak()) {\n return false;\n }\n return this.tsTokenCanFollowModifier();\n }\n tsNextTokenCanFollowModifier() {\n if (this.match(106)) {\n this.next();\n return this.tsTokenCanFollowModifier();\n }\n return this.tsNextTokenOnSameLineAndCanFollowModifier();\n }\n tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) {\n if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58 && this.state.type !== 75) {\n return undefined;\n }\n const modifier = this.state.value;\n if (allowedModifiers.includes(modifier)) {\n if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) {\n return undefined;\n }\n if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) {\n return modifier;\n }\n }\n return undefined;\n }\n tsParseModifiers({\n allowedModifiers,\n disallowedModifiers,\n stopOnStartOfClassStaticBlock,\n errorTemplate = TSErrors.InvalidModifierOnTypeMember\n }, modified) {\n const enforceOrder = (loc, modifier, before, after) => {\n if (modifier === before && modified[after]) {\n this.raise(TSErrors.InvalidModifiersOrder, loc, {\n orderedModifiers: [before, after]\n });\n }\n };\n const incompatible = (loc, modifier, mod1, mod2) => {\n if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) {\n this.raise(TSErrors.IncompatibleModifiers, loc, {\n modifiers: [mod1, mod2]\n });\n }\n };\n for (;;) {\n const {\n startLoc\n } = this.state;\n const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock);\n if (!modifier) break;\n if (tsIsAccessModifier(modifier)) {\n if (modified.accessibility) {\n this.raise(TSErrors.DuplicateAccessibilityModifier, startLoc, {\n modifier\n });\n } else {\n enforceOrder(startLoc, modifier, modifier, \"override\");\n enforceOrder(startLoc, modifier, modifier, \"static\");\n enforceOrder(startLoc, modifier, modifier, \"readonly\");\n modified.accessibility = modifier;\n }\n } else if (tsIsVarianceAnnotations(modifier)) {\n if (modified[modifier]) {\n this.raise(TSErrors.DuplicateModifier, startLoc, {\n modifier\n });\n }\n modified[modifier] = true;\n enforceOrder(startLoc, modifier, \"in\", \"out\");\n } else {\n if (hasOwnProperty.call(modified, modifier)) {\n this.raise(TSErrors.DuplicateModifier, startLoc, {\n modifier\n });\n } else {\n enforceOrder(startLoc, modifier, \"static\", \"readonly\");\n enforceOrder(startLoc, modifier, \"static\", \"override\");\n enforceOrder(startLoc, modifier, \"override\", \"readonly\");\n enforceOrder(startLoc, modifier, \"abstract\", \"override\");\n incompatible(startLoc, modifier, \"declare\", \"override\");\n incompatible(startLoc, modifier, \"static\", \"abstract\");\n }\n modified[modifier] = true;\n }\n if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) {\n this.raise(errorTemplate, startLoc, {\n modifier\n });\n }\n }\n }\n tsIsListTerminator(kind) {\n switch (kind) {\n case \"EnumMembers\":\n case \"TypeMembers\":\n return this.match(8);\n case \"HeritageClauseElement\":\n return this.match(5);\n case \"TupleElementTypes\":\n return this.match(3);\n case \"TypeParametersOrArguments\":\n return this.match(48);\n }\n }\n tsParseList(kind, parseElement) {\n const result = [];\n while (!this.tsIsListTerminator(kind)) {\n result.push(parseElement());\n }\n return result;\n }\n tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) {\n return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos));\n }\n tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) {\n const result = [];\n let trailingCommaPos = -1;\n for (;;) {\n if (this.tsIsListTerminator(kind)) {\n break;\n }\n trailingCommaPos = -1;\n const element = parseElement();\n if (element == null) {\n return undefined;\n }\n result.push(element);\n if (this.eat(12)) {\n trailingCommaPos = this.state.lastTokStartLoc.index;\n continue;\n }\n if (this.tsIsListTerminator(kind)) {\n break;\n }\n if (expectSuccess) {\n this.expect(12);\n }\n return undefined;\n }\n if (refTrailingCommaPos) {\n refTrailingCommaPos.value = trailingCommaPos;\n }\n return result;\n }\n tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) {\n if (!skipFirstToken) {\n if (bracket) {\n this.expect(0);\n } else {\n this.expect(47);\n }\n }\n const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos);\n if (bracket) {\n this.expect(3);\n } else {\n this.expect(48);\n }\n return result;\n }\n tsParseImportType() {\n const node = this.startNode();\n this.expect(83);\n this.expect(10);\n if (!this.match(134)) {\n this.raise(TSErrors.UnsupportedImportTypeArgument, this.state.startLoc);\n }\n node.argument = super.parseExprAtom();\n if (this.eat(12) && !this.match(11)) {\n node.options = super.parseMaybeAssignAllowIn();\n this.eat(12);\n } else {\n node.options = null;\n }\n this.expect(11);\n if (this.eat(16)) {\n node.qualifier = this.tsParseEntityName();\n }\n if (this.match(47)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n return this.finishNode(node, \"TSImportType\");\n }\n tsParseEntityName(allowReservedWords = true) {\n let entity = this.parseIdentifier(allowReservedWords);\n while (this.eat(16)) {\n const node = this.startNodeAtNode(entity);\n node.left = entity;\n node.right = this.parseIdentifier(allowReservedWords);\n entity = this.finishNode(node, \"TSQualifiedName\");\n }\n return entity;\n }\n tsParseTypeReference() {\n const node = this.startNode();\n node.typeName = this.tsParseEntityName();\n if (!this.hasPrecedingLineBreak() && this.match(47)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n return this.finishNode(node, \"TSTypeReference\");\n }\n tsParseThisTypePredicate(lhs) {\n this.next();\n const node = this.startNodeAtNode(lhs);\n node.parameterName = lhs;\n node.typeAnnotation = this.tsParseTypeAnnotation(false);\n node.asserts = false;\n return this.finishNode(node, \"TSTypePredicate\");\n }\n tsParseThisTypeNode() {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, \"TSThisType\");\n }\n tsParseTypeQuery() {\n const node = this.startNode();\n this.expect(87);\n if (this.match(83)) {\n node.exprName = this.tsParseImportType();\n } else {\n node.exprName = this.tsParseEntityName();\n }\n if (!this.hasPrecedingLineBreak() && this.match(47)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n return this.finishNode(node, \"TSTypeQuery\");\n }\n tsParseTypeParameter(parseModifiers) {\n const node = this.startNode();\n parseModifiers(node);\n node.name = this.tsParseTypeParameterName();\n node.constraint = this.tsEatThenParseType(81);\n node.default = this.tsEatThenParseType(29);\n return this.finishNode(node, \"TSTypeParameter\");\n }\n tsTryParseTypeParameters(parseModifiers) {\n if (this.match(47)) {\n return this.tsParseTypeParameters(parseModifiers);\n }\n }\n tsParseTypeParameters(parseModifiers) {\n const node = this.startNode();\n if (this.match(47) || this.match(143)) {\n this.next();\n } else {\n this.unexpected();\n }\n const refTrailingCommaPos = {\n value: -1\n };\n node.params = this.tsParseBracketedList(\"TypeParametersOrArguments\", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos);\n if (node.params.length === 0) {\n this.raise(TSErrors.EmptyTypeParameters, node);\n }\n if (refTrailingCommaPos.value !== -1) {\n this.addExtra(node, \"trailingComma\", refTrailingCommaPos.value);\n }\n return this.finishNode(node, \"TSTypeParameterDeclaration\");\n }\n tsFillSignature(returnToken, signature) {\n const returnTokenRequired = returnToken === 19;\n const paramsKey = \"parameters\";\n const returnTypeKey = \"typeAnnotation\";\n signature.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);\n this.expect(10);\n signature[paramsKey] = this.tsParseBindingListForSignature();\n if (returnTokenRequired) {\n signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);\n } else if (this.match(returnToken)) {\n signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);\n }\n }\n tsParseBindingListForSignature() {\n const list = super.parseBindingList(11, 41, 2);\n for (const pattern of list) {\n const {\n type\n } = pattern;\n if (type === \"AssignmentPattern\" || type === \"TSParameterProperty\") {\n this.raise(TSErrors.UnsupportedSignatureParameterKind, pattern, {\n type\n });\n }\n }\n return list;\n }\n tsParseTypeMemberSemicolon() {\n if (!this.eat(12) && !this.isLineTerminator()) {\n this.expect(13);\n }\n }\n tsParseSignatureMember(kind, node) {\n this.tsFillSignature(14, node);\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(node, kind);\n }\n tsIsUnambiguouslyIndexSignature() {\n this.next();\n if (tokenIsIdentifier(this.state.type)) {\n this.next();\n return this.match(14);\n }\n return false;\n }\n tsTryParseIndexSignature(node) {\n if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) {\n return;\n }\n this.expect(0);\n const id = this.parseIdentifier();\n id.typeAnnotation = this.tsParseTypeAnnotation();\n this.resetEndLocation(id);\n this.expect(3);\n node.parameters = [id];\n const type = this.tsTryParseTypeAnnotation();\n if (type) node.typeAnnotation = type;\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(node, \"TSIndexSignature\");\n }\n tsParsePropertyOrMethodSignature(node, readonly) {\n if (this.eat(17)) node.optional = true;\n const nodeAny = node;\n if (this.match(10) || this.match(47)) {\n if (readonly) {\n this.raise(TSErrors.ReadonlyForMethodSignature, node);\n }\n const method = nodeAny;\n if (method.kind && this.match(47)) {\n this.raise(TSErrors.AccessorCannotHaveTypeParameters, this.state.curPosition());\n }\n this.tsFillSignature(14, method);\n this.tsParseTypeMemberSemicolon();\n const paramsKey = \"parameters\";\n const returnTypeKey = \"typeAnnotation\";\n if (method.kind === \"get\") {\n if (method[paramsKey].length > 0) {\n this.raise(Errors.BadGetterArity, this.state.curPosition());\n if (this.isThisParam(method[paramsKey][0])) {\n this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition());\n }\n }\n } else if (method.kind === \"set\") {\n if (method[paramsKey].length !== 1) {\n this.raise(Errors.BadSetterArity, this.state.curPosition());\n } else {\n const firstParameter = method[paramsKey][0];\n if (this.isThisParam(firstParameter)) {\n this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition());\n }\n if (firstParameter.type === \"Identifier\" && firstParameter.optional) {\n this.raise(TSErrors.SetAccessorCannotHaveOptionalParameter, this.state.curPosition());\n }\n if (firstParameter.type === \"RestElement\") {\n this.raise(TSErrors.SetAccessorCannotHaveRestParameter, this.state.curPosition());\n }\n }\n if (method[returnTypeKey]) {\n this.raise(TSErrors.SetAccessorCannotHaveReturnType, method[returnTypeKey]);\n }\n } else {\n method.kind = \"method\";\n }\n return this.finishNode(method, \"TSMethodSignature\");\n } else {\n const property = nodeAny;\n if (readonly) property.readonly = true;\n const type = this.tsTryParseTypeAnnotation();\n if (type) property.typeAnnotation = type;\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(property, \"TSPropertySignature\");\n }\n }\n tsParseTypeMember() {\n const node = this.startNode();\n if (this.match(10) || this.match(47)) {\n return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\", node);\n }\n if (this.match(77)) {\n const id = this.startNode();\n this.next();\n if (this.match(10) || this.match(47)) {\n return this.tsParseSignatureMember(\"TSConstructSignatureDeclaration\", node);\n } else {\n node.key = this.createIdentifier(id, \"new\");\n return this.tsParsePropertyOrMethodSignature(node, false);\n }\n }\n this.tsParseModifiers({\n allowedModifiers: [\"readonly\"],\n disallowedModifiers: [\"declare\", \"abstract\", \"private\", \"protected\", \"public\", \"static\", \"override\"]\n }, node);\n const idx = this.tsTryParseIndexSignature(node);\n if (idx) {\n return idx;\n }\n super.parsePropertyName(node);\n if (!node.computed && node.key.type === \"Identifier\" && (node.key.name === \"get\" || node.key.name === \"set\") && this.tsTokenCanFollowModifier()) {\n node.kind = node.key.name;\n super.parsePropertyName(node);\n }\n return this.tsParsePropertyOrMethodSignature(node, !!node.readonly);\n }\n tsParseTypeLiteral() {\n const node = this.startNode();\n node.members = this.tsParseObjectTypeMembers();\n return this.finishNode(node, \"TSTypeLiteral\");\n }\n tsParseObjectTypeMembers() {\n this.expect(5);\n const members = this.tsParseList(\"TypeMembers\", this.tsParseTypeMember.bind(this));\n this.expect(8);\n return members;\n }\n tsIsStartOfMappedType() {\n this.next();\n if (this.eat(53)) {\n return this.isContextual(122);\n }\n if (this.isContextual(122)) {\n this.next();\n }\n if (!this.match(0)) {\n return false;\n }\n this.next();\n if (!this.tsIsIdentifier()) {\n return false;\n }\n this.next();\n return this.match(58);\n }\n tsParseMappedType() {\n const node = this.startNode();\n this.expect(5);\n if (this.match(53)) {\n node.readonly = this.state.value;\n this.next();\n this.expectContextual(122);\n } else if (this.eatContextual(122)) {\n node.readonly = true;\n }\n this.expect(0);\n {\n const typeParameter = this.startNode();\n typeParameter.name = this.tsParseTypeParameterName();\n typeParameter.constraint = this.tsExpectThenParseType(58);\n node.typeParameter = this.finishNode(typeParameter, \"TSTypeParameter\");\n }\n node.nameType = this.eatContextual(93) ? this.tsParseType() : null;\n this.expect(3);\n if (this.match(53)) {\n node.optional = this.state.value;\n this.next();\n this.expect(17);\n } else if (this.eat(17)) {\n node.optional = true;\n }\n node.typeAnnotation = this.tsTryParseType();\n this.semicolon();\n this.expect(8);\n return this.finishNode(node, \"TSMappedType\");\n }\n tsParseTupleType() {\n const node = this.startNode();\n node.elementTypes = this.tsParseBracketedList(\"TupleElementTypes\", this.tsParseTupleElementType.bind(this), true, false);\n let seenOptionalElement = false;\n node.elementTypes.forEach(elementNode => {\n const {\n type\n } = elementNode;\n if (seenOptionalElement && type !== \"TSRestType\" && type !== \"TSOptionalType\" && !(type === \"TSNamedTupleMember\" && elementNode.optional)) {\n this.raise(TSErrors.OptionalTypeBeforeRequired, elementNode);\n }\n seenOptionalElement || (seenOptionalElement = type === \"TSNamedTupleMember\" && elementNode.optional || type === \"TSOptionalType\");\n });\n return this.finishNode(node, \"TSTupleType\");\n }\n tsParseTupleElementType() {\n const {\n startLoc\n } = this.state;\n const rest = this.eat(21);\n let labeled;\n let label;\n let optional;\n let type;\n const isWord = tokenIsKeywordOrIdentifier(this.state.type);\n const chAfterWord = isWord ? this.lookaheadCharCode() : null;\n if (chAfterWord === 58) {\n labeled = true;\n optional = false;\n label = this.parseIdentifier(true);\n this.expect(14);\n type = this.tsParseType();\n } else if (chAfterWord === 63) {\n optional = true;\n const startLoc = this.state.startLoc;\n const wordName = this.state.value;\n const typeOrLabel = this.tsParseNonArrayType();\n if (this.lookaheadCharCode() === 58) {\n labeled = true;\n label = this.createIdentifier(this.startNodeAt(startLoc), wordName);\n this.expect(17);\n this.expect(14);\n type = this.tsParseType();\n } else {\n labeled = false;\n type = typeOrLabel;\n this.expect(17);\n }\n } else {\n type = this.tsParseType();\n optional = this.eat(17);\n labeled = this.eat(14);\n }\n if (labeled) {\n let labeledNode;\n if (label) {\n labeledNode = this.startNodeAtNode(label);\n labeledNode.optional = optional;\n labeledNode.label = label;\n labeledNode.elementType = type;\n if (this.eat(17)) {\n labeledNode.optional = true;\n this.raise(TSErrors.TupleOptionalAfterType, this.state.lastTokStartLoc);\n }\n } else {\n labeledNode = this.startNodeAtNode(type);\n labeledNode.optional = optional;\n this.raise(TSErrors.InvalidTupleMemberLabel, type);\n labeledNode.label = type;\n labeledNode.elementType = this.tsParseType();\n }\n type = this.finishNode(labeledNode, \"TSNamedTupleMember\");\n } else if (optional) {\n const optionalTypeNode = this.startNodeAtNode(type);\n optionalTypeNode.typeAnnotation = type;\n type = this.finishNode(optionalTypeNode, \"TSOptionalType\");\n }\n if (rest) {\n const restNode = this.startNodeAt(startLoc);\n restNode.typeAnnotation = type;\n type = this.finishNode(restNode, \"TSRestType\");\n }\n return type;\n }\n tsParseParenthesizedType() {\n const node = this.startNode();\n this.expect(10);\n node.typeAnnotation = this.tsParseType();\n this.expect(11);\n return this.finishNode(node, \"TSParenthesizedType\");\n }\n tsParseFunctionOrConstructorType(type, abstract) {\n const node = this.startNode();\n if (type === \"TSConstructorType\") {\n node.abstract = !!abstract;\n if (abstract) this.next();\n this.next();\n }\n this.tsInAllowConditionalTypesContext(() => this.tsFillSignature(19, node));\n return this.finishNode(node, type);\n }\n tsParseLiteralTypeNode() {\n const node = this.startNode();\n switch (this.state.type) {\n case 135:\n case 136:\n case 134:\n case 85:\n case 86:\n node.literal = super.parseExprAtom();\n break;\n default:\n this.unexpected();\n }\n return this.finishNode(node, \"TSLiteralType\");\n }\n tsParseTemplateLiteralType() {\n const node = this.startNode();\n node.literal = super.parseTemplate(false);\n return this.finishNode(node, \"TSLiteralType\");\n }\n parseTemplateSubstitution() {\n if (this.state.inType) return this.tsParseType();\n return super.parseTemplateSubstitution();\n }\n tsParseThisTypeOrThisTypePredicate() {\n const thisKeyword = this.tsParseThisTypeNode();\n if (this.isContextual(116) && !this.hasPrecedingLineBreak()) {\n return this.tsParseThisTypePredicate(thisKeyword);\n } else {\n return thisKeyword;\n }\n }\n tsParseNonArrayType() {\n switch (this.state.type) {\n case 134:\n case 135:\n case 136:\n case 85:\n case 86:\n return this.tsParseLiteralTypeNode();\n case 53:\n if (this.state.value === \"-\") {\n const node = this.startNode();\n const nextToken = this.lookahead();\n if (nextToken.type !== 135 && nextToken.type !== 136) {\n this.unexpected();\n }\n node.literal = this.parseMaybeUnary();\n return this.finishNode(node, \"TSLiteralType\");\n }\n break;\n case 78:\n return this.tsParseThisTypeOrThisTypePredicate();\n case 87:\n return this.tsParseTypeQuery();\n case 83:\n return this.tsParseImportType();\n case 5:\n return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();\n case 0:\n return this.tsParseTupleType();\n case 10:\n return this.tsParseParenthesizedType();\n case 25:\n case 24:\n return this.tsParseTemplateLiteralType();\n default:\n {\n const {\n type\n } = this.state;\n if (tokenIsIdentifier(type) || type === 88 || type === 84) {\n const nodeType = type === 88 ? \"TSVoidKeyword\" : type === 84 ? \"TSNullKeyword\" : keywordTypeFromName(this.state.value);\n if (nodeType !== undefined && this.lookaheadCharCode() !== 46) {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, nodeType);\n }\n return this.tsParseTypeReference();\n }\n }\n }\n this.unexpected();\n }\n tsParseArrayTypeOrHigher() {\n let type = this.tsParseNonArrayType();\n while (!this.hasPrecedingLineBreak() && this.eat(0)) {\n if (this.match(3)) {\n const node = this.startNodeAtNode(type);\n node.elementType = type;\n this.expect(3);\n type = this.finishNode(node, \"TSArrayType\");\n } else {\n const node = this.startNodeAtNode(type);\n node.objectType = type;\n node.indexType = this.tsParseType();\n this.expect(3);\n type = this.finishNode(node, \"TSIndexedAccessType\");\n }\n }\n return type;\n }\n tsParseTypeOperator() {\n const node = this.startNode();\n const operator = this.state.value;\n this.next();\n node.operator = operator;\n node.typeAnnotation = this.tsParseTypeOperatorOrHigher();\n if (operator === \"readonly\") {\n this.tsCheckTypeAnnotationForReadOnly(node);\n }\n return this.finishNode(node, \"TSTypeOperator\");\n }\n tsCheckTypeAnnotationForReadOnly(node) {\n switch (node.typeAnnotation.type) {\n case \"TSTupleType\":\n case \"TSArrayType\":\n return;\n default:\n this.raise(TSErrors.UnexpectedReadonly, node);\n }\n }\n tsParseInferType() {\n const node = this.startNode();\n this.expectContextual(115);\n const typeParameter = this.startNode();\n typeParameter.name = this.tsParseTypeParameterName();\n typeParameter.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType());\n node.typeParameter = this.finishNode(typeParameter, \"TSTypeParameter\");\n return this.finishNode(node, \"TSInferType\");\n }\n tsParseConstraintForInferType() {\n if (this.eat(81)) {\n const constraint = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());\n if (this.state.inDisallowConditionalTypesContext || !this.match(17)) {\n return constraint;\n }\n }\n }\n tsParseTypeOperatorOrHigher() {\n const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc;\n return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());\n }\n tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) {\n const node = this.startNode();\n const hasLeadingOperator = this.eat(operator);\n const types = [];\n do {\n types.push(parseConstituentType());\n } while (this.eat(operator));\n if (types.length === 1 && !hasLeadingOperator) {\n return types[0];\n }\n node.types = types;\n return this.finishNode(node, kind);\n }\n tsParseIntersectionTypeOrHigher() {\n return this.tsParseUnionOrIntersectionType(\"TSIntersectionType\", this.tsParseTypeOperatorOrHigher.bind(this), 45);\n }\n tsParseUnionTypeOrHigher() {\n return this.tsParseUnionOrIntersectionType(\"TSUnionType\", this.tsParseIntersectionTypeOrHigher.bind(this), 43);\n }\n tsIsStartOfFunctionType() {\n if (this.match(47)) {\n return true;\n }\n return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));\n }\n tsSkipParameterStart() {\n if (tokenIsIdentifier(this.state.type) || this.match(78)) {\n this.next();\n return true;\n }\n if (this.match(5)) {\n const {\n errors\n } = this.state;\n const previousErrorCount = errors.length;\n try {\n this.parseObjectLike(8, true);\n return errors.length === previousErrorCount;\n } catch (_unused) {\n return false;\n }\n }\n if (this.match(0)) {\n this.next();\n const {\n errors\n } = this.state;\n const previousErrorCount = errors.length;\n try {\n super.parseBindingList(3, 93, 1);\n return errors.length === previousErrorCount;\n } catch (_unused2) {\n return false;\n }\n }\n return false;\n }\n tsIsUnambiguouslyStartOfFunctionType() {\n this.next();\n if (this.match(11) || this.match(21)) {\n return true;\n }\n if (this.tsSkipParameterStart()) {\n if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) {\n return true;\n }\n if (this.match(11)) {\n this.next();\n if (this.match(19)) {\n return true;\n }\n }\n }\n return false;\n }\n tsParseTypeOrTypePredicateAnnotation(returnToken) {\n return this.tsInType(() => {\n const t = this.startNode();\n this.expect(returnToken);\n const node = this.startNode();\n const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));\n if (asserts && this.match(78)) {\n let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate();\n if (thisTypePredicate.type === \"TSThisType\") {\n node.parameterName = thisTypePredicate;\n node.asserts = true;\n node.typeAnnotation = null;\n thisTypePredicate = this.finishNode(node, \"TSTypePredicate\");\n } else {\n this.resetStartLocationFromNode(thisTypePredicate, node);\n thisTypePredicate.asserts = true;\n }\n t.typeAnnotation = thisTypePredicate;\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));\n if (!typePredicateVariable) {\n if (!asserts) {\n return this.tsParseTypeAnnotation(false, t);\n }\n node.parameterName = this.parseIdentifier();\n node.asserts = asserts;\n node.typeAnnotation = null;\n t.typeAnnotation = this.finishNode(node, \"TSTypePredicate\");\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n const type = this.tsParseTypeAnnotation(false);\n node.parameterName = typePredicateVariable;\n node.typeAnnotation = type;\n node.asserts = asserts;\n t.typeAnnotation = this.finishNode(node, \"TSTypePredicate\");\n return this.finishNode(t, \"TSTypeAnnotation\");\n });\n }\n tsTryParseTypeOrTypePredicateAnnotation() {\n if (this.match(14)) {\n return this.tsParseTypeOrTypePredicateAnnotation(14);\n }\n }\n tsTryParseTypeAnnotation() {\n if (this.match(14)) {\n return this.tsParseTypeAnnotation();\n }\n }\n tsTryParseType() {\n return this.tsEatThenParseType(14);\n }\n tsParseTypePredicatePrefix() {\n const id = this.parseIdentifier();\n if (this.isContextual(116) && !this.hasPrecedingLineBreak()) {\n this.next();\n return id;\n }\n }\n tsParseTypePredicateAsserts() {\n if (this.state.type !== 109) {\n return false;\n }\n const containsEsc = this.state.containsEsc;\n this.next();\n if (!tokenIsIdentifier(this.state.type) && !this.match(78)) {\n return false;\n }\n if (containsEsc) {\n this.raise(Errors.InvalidEscapedReservedWord, this.state.lastTokStartLoc, {\n reservedWord: \"asserts\"\n });\n }\n return true;\n }\n tsParseTypeAnnotation(eatColon = true, t = this.startNode()) {\n this.tsInType(() => {\n if (eatColon) this.expect(14);\n t.typeAnnotation = this.tsParseType();\n });\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n tsParseType() {\n assert(this.state.inType);\n const type = this.tsParseNonConditionalType();\n if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) {\n return type;\n }\n const node = this.startNodeAtNode(type);\n node.checkType = type;\n node.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType());\n this.expect(17);\n node.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType());\n this.expect(14);\n node.falseType = this.tsInAllowConditionalTypesContext(() => this.tsParseType());\n return this.finishNode(node, \"TSConditionalType\");\n }\n isAbstractConstructorSignature() {\n return this.isContextual(124) && this.lookahead().type === 77;\n }\n tsParseNonConditionalType() {\n if (this.tsIsStartOfFunctionType()) {\n return this.tsParseFunctionOrConstructorType(\"TSFunctionType\");\n }\n if (this.match(77)) {\n return this.tsParseFunctionOrConstructorType(\"TSConstructorType\");\n } else if (this.isAbstractConstructorSignature()) {\n return this.tsParseFunctionOrConstructorType(\"TSConstructorType\", true);\n }\n return this.tsParseUnionTypeOrHigher();\n }\n tsParseTypeAssertion() {\n if (this.getPluginOption(\"typescript\", \"disallowAmbiguousJSXLike\")) {\n this.raise(TSErrors.ReservedTypeAssertion, this.state.startLoc);\n }\n const node = this.startNode();\n node.typeAnnotation = this.tsInType(() => {\n this.next();\n return this.match(75) ? this.tsParseTypeReference() : this.tsParseType();\n });\n this.expect(48);\n node.expression = this.parseMaybeUnary();\n return this.finishNode(node, \"TSTypeAssertion\");\n }\n tsParseHeritageClause(token) {\n const originalStartLoc = this.state.startLoc;\n const delimitedList = this.tsParseDelimitedList(\"HeritageClauseElement\", () => {\n const node = this.startNode();\n node.expression = this.tsParseEntityName();\n if (this.match(47)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n return this.finishNode(node, \"TSExpressionWithTypeArguments\");\n });\n if (!delimitedList.length) {\n this.raise(TSErrors.EmptyHeritageClauseType, originalStartLoc, {\n token\n });\n }\n return delimitedList;\n }\n tsParseInterfaceDeclaration(node, properties = {}) {\n if (this.hasFollowingLineBreak()) return null;\n this.expectContextual(129);\n if (properties.declare) node.declare = true;\n if (tokenIsIdentifier(this.state.type)) {\n node.id = this.parseIdentifier();\n this.checkIdentifier(node.id, 130);\n } else {\n node.id = null;\n this.raise(TSErrors.MissingInterfaceName, this.state.startLoc);\n }\n node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);\n if (this.eat(81)) {\n node.extends = this.tsParseHeritageClause(\"extends\");\n }\n const body = this.startNode();\n body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this));\n node.body = this.finishNode(body, \"TSInterfaceBody\");\n return this.finishNode(node, \"TSInterfaceDeclaration\");\n }\n tsParseTypeAliasDeclaration(node) {\n node.id = this.parseIdentifier();\n this.checkIdentifier(node.id, 2);\n node.typeAnnotation = this.tsInType(() => {\n node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers);\n this.expect(29);\n if (this.isContextual(114) && this.lookahead().type !== 16) {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, \"TSIntrinsicKeyword\");\n }\n return this.tsParseType();\n });\n this.semicolon();\n return this.finishNode(node, \"TSTypeAliasDeclaration\");\n }\n tsInNoContext(cb) {\n const oldContext = this.state.context;\n this.state.context = [oldContext[0]];\n try {\n return cb();\n } finally {\n this.state.context = oldContext;\n }\n }\n tsInType(cb) {\n const oldInType = this.state.inType;\n this.state.inType = true;\n try {\n return cb();\n } finally {\n this.state.inType = oldInType;\n }\n }\n tsInDisallowConditionalTypesContext(cb) {\n const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext;\n this.state.inDisallowConditionalTypesContext = true;\n try {\n return cb();\n } finally {\n this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n }\n }\n tsInAllowConditionalTypesContext(cb) {\n const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext;\n this.state.inDisallowConditionalTypesContext = false;\n try {\n return cb();\n } finally {\n this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n }\n }\n tsEatThenParseType(token) {\n if (this.match(token)) {\n return this.tsNextThenParseType();\n }\n }\n tsExpectThenParseType(token) {\n return this.tsInType(() => {\n this.expect(token);\n return this.tsParseType();\n });\n }\n tsNextThenParseType() {\n return this.tsInType(() => {\n this.next();\n return this.tsParseType();\n });\n }\n tsParseEnumMember() {\n const node = this.startNode();\n node.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true);\n if (this.eat(29)) {\n node.initializer = super.parseMaybeAssignAllowIn();\n }\n return this.finishNode(node, \"TSEnumMember\");\n }\n tsParseEnumDeclaration(node, properties = {}) {\n if (properties.const) node.const = true;\n if (properties.declare) node.declare = true;\n this.expectContextual(126);\n node.id = this.parseIdentifier();\n this.checkIdentifier(node.id, node.const ? 8971 : 8459);\n this.expect(5);\n node.members = this.tsParseDelimitedList(\"EnumMembers\", this.tsParseEnumMember.bind(this));\n this.expect(8);\n return this.finishNode(node, \"TSEnumDeclaration\");\n }\n tsParseModuleBlock() {\n const node = this.startNode();\n this.scope.enter(0);\n this.expect(5);\n super.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8);\n this.scope.exit();\n return this.finishNode(node, \"TSModuleBlock\");\n }\n tsParseModuleOrNamespaceDeclaration(node, nested = false) {\n node.id = this.parseIdentifier();\n if (!nested) {\n this.checkIdentifier(node.id, 1024);\n }\n if (this.eat(16)) {\n const inner = this.startNode();\n this.tsParseModuleOrNamespaceDeclaration(inner, true);\n node.body = inner;\n } else {\n this.scope.enter(256);\n this.prodParam.enter(0);\n node.body = this.tsParseModuleBlock();\n this.prodParam.exit();\n this.scope.exit();\n }\n return this.finishNode(node, \"TSModuleDeclaration\");\n }\n tsParseAmbientExternalModuleDeclaration(node) {\n if (this.isContextual(112)) {\n node.kind = \"global\";\n node.global = true;\n node.id = this.parseIdentifier();\n } else if (this.match(134)) {\n node.kind = \"module\";\n node.id = super.parseStringLiteral(this.state.value);\n } else {\n this.unexpected();\n }\n if (this.match(5)) {\n this.scope.enter(256);\n this.prodParam.enter(0);\n node.body = this.tsParseModuleBlock();\n this.prodParam.exit();\n this.scope.exit();\n } else {\n this.semicolon();\n }\n return this.finishNode(node, \"TSModuleDeclaration\");\n }\n tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, isExport) {\n node.isExport = isExport || false;\n node.id = maybeDefaultIdentifier || this.parseIdentifier();\n this.checkIdentifier(node.id, 4096);\n this.expect(29);\n const moduleReference = this.tsParseModuleReference();\n if (node.importKind === \"type\" && moduleReference.type !== \"TSExternalModuleReference\") {\n this.raise(TSErrors.ImportAliasHasImportType, moduleReference);\n }\n node.moduleReference = moduleReference;\n this.semicolon();\n return this.finishNode(node, \"TSImportEqualsDeclaration\");\n }\n tsIsExternalModuleReference() {\n return this.isContextual(119) && this.lookaheadCharCode() === 40;\n }\n tsParseModuleReference() {\n return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false);\n }\n tsParseExternalModuleReference() {\n const node = this.startNode();\n this.expectContextual(119);\n this.expect(10);\n if (!this.match(134)) {\n this.unexpected();\n }\n node.expression = super.parseExprAtom();\n this.expect(11);\n this.sawUnambiguousESM = true;\n return this.finishNode(node, \"TSExternalModuleReference\");\n }\n tsLookAhead(f) {\n const state = this.state.clone();\n const res = f();\n this.state = state;\n return res;\n }\n tsTryParseAndCatch(f) {\n const result = this.tryParse(abort => f() || abort());\n if (result.aborted || !result.node) return;\n if (result.error) this.state = result.failState;\n return result.node;\n }\n tsTryParse(f) {\n const state = this.state.clone();\n const result = f();\n if (result !== undefined && result !== false) {\n return result;\n }\n this.state = state;\n }\n tsTryParseDeclare(nany) {\n if (this.isLineTerminator()) {\n return;\n }\n let startType = this.state.type;\n let kind;\n if (this.isContextual(100)) {\n startType = 74;\n kind = \"let\";\n }\n return this.tsInAmbientContext(() => {\n switch (startType) {\n case 68:\n nany.declare = true;\n return super.parseFunctionStatement(nany, false, false);\n case 80:\n nany.declare = true;\n return this.parseClass(nany, true, false);\n case 126:\n return this.tsParseEnumDeclaration(nany, {\n declare: true\n });\n case 112:\n return this.tsParseAmbientExternalModuleDeclaration(nany);\n case 75:\n case 74:\n if (!this.match(75) || !this.isLookaheadContextual(\"enum\")) {\n nany.declare = true;\n return this.parseVarStatement(nany, kind || this.state.value, true);\n }\n this.expect(75);\n return this.tsParseEnumDeclaration(nany, {\n const: true,\n declare: true\n });\n case 129:\n {\n const result = this.tsParseInterfaceDeclaration(nany, {\n declare: true\n });\n if (result) return result;\n }\n default:\n if (tokenIsIdentifier(startType)) {\n return this.tsParseDeclaration(nany, this.state.value, true, null);\n }\n }\n });\n }\n tsTryParseExportDeclaration() {\n return this.tsParseDeclaration(this.startNode(), this.state.value, true, null);\n }\n tsParseExpressionStatement(node, expr, decorators) {\n switch (expr.name) {\n case \"declare\":\n {\n const declaration = this.tsTryParseDeclare(node);\n if (declaration) {\n declaration.declare = true;\n }\n return declaration;\n }\n case \"global\":\n if (this.match(5)) {\n this.scope.enter(256);\n this.prodParam.enter(0);\n const mod = node;\n mod.kind = \"global\";\n mod.global = true;\n mod.id = expr;\n mod.body = this.tsParseModuleBlock();\n this.scope.exit();\n this.prodParam.exit();\n return this.finishNode(mod, \"TSModuleDeclaration\");\n }\n break;\n default:\n return this.tsParseDeclaration(node, expr.name, false, decorators);\n }\n }\n tsParseDeclaration(node, value, next, decorators) {\n switch (value) {\n case \"abstract\":\n if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) {\n return this.tsParseAbstractDeclaration(node, decorators);\n }\n break;\n case \"module\":\n if (this.tsCheckLineTerminator(next)) {\n if (this.match(134)) {\n return this.tsParseAmbientExternalModuleDeclaration(node);\n } else if (tokenIsIdentifier(this.state.type)) {\n node.kind = \"module\";\n return this.tsParseModuleOrNamespaceDeclaration(node);\n }\n }\n break;\n case \"namespace\":\n if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {\n node.kind = \"namespace\";\n return this.tsParseModuleOrNamespaceDeclaration(node);\n }\n break;\n case \"type\":\n if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {\n return this.tsParseTypeAliasDeclaration(node);\n }\n break;\n }\n }\n tsCheckLineTerminator(next) {\n if (next) {\n if (this.hasFollowingLineBreak()) return false;\n this.next();\n return true;\n }\n return !this.isLineTerminator();\n }\n tsTryParseGenericAsyncArrowFunction(startLoc) {\n if (!this.match(47)) return;\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n this.state.maybeInArrowParameters = true;\n const res = this.tsTryParseAndCatch(() => {\n const node = this.startNodeAt(startLoc);\n node.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier);\n super.parseFunctionParams(node);\n node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation();\n this.expect(19);\n return node;\n });\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n if (!res) return;\n return super.parseArrowExpression(res, null, true);\n }\n tsParseTypeArgumentsInExpression() {\n if (this.reScan_lt() !== 47) return;\n return this.tsParseTypeArguments();\n }\n tsParseTypeArguments() {\n const node = this.startNode();\n node.params = this.tsInType(() => this.tsInNoContext(() => {\n this.expect(47);\n return this.tsParseDelimitedList(\"TypeParametersOrArguments\", this.tsParseType.bind(this));\n }));\n if (node.params.length === 0) {\n this.raise(TSErrors.EmptyTypeArguments, node);\n } else if (!this.state.inType && this.curContext() === types.brace) {\n this.reScan_lt_gt();\n }\n this.expect(48);\n return this.finishNode(node, \"TSTypeParameterInstantiation\");\n }\n tsIsDeclarationStart() {\n return tokenIsTSDeclarationStart(this.state.type);\n }\n isExportDefaultSpecifier() {\n if (this.tsIsDeclarationStart()) return false;\n return super.isExportDefaultSpecifier();\n }\n parseAssignableListItem(flags, decorators) {\n const startLoc = this.state.startLoc;\n const modified = {};\n this.tsParseModifiers({\n allowedModifiers: [\"public\", \"private\", \"protected\", \"override\", \"readonly\"]\n }, modified);\n const accessibility = modified.accessibility;\n const override = modified.override;\n const readonly = modified.readonly;\n if (!(flags & 4) && (accessibility || readonly || override)) {\n this.raise(TSErrors.UnexpectedParameterModifier, startLoc);\n }\n const left = this.parseMaybeDefault();\n if (flags & 2) {\n this.parseFunctionParamType(left);\n }\n const elt = this.parseMaybeDefault(left.loc.start, left);\n if (accessibility || readonly || override) {\n const pp = this.startNodeAt(startLoc);\n if (decorators.length) {\n pp.decorators = decorators;\n }\n if (accessibility) pp.accessibility = accessibility;\n if (readonly) pp.readonly = readonly;\n if (override) pp.override = override;\n if (elt.type !== \"Identifier\" && elt.type !== \"AssignmentPattern\") {\n this.raise(TSErrors.UnsupportedParameterPropertyKind, pp);\n }\n pp.parameter = elt;\n return this.finishNode(pp, \"TSParameterProperty\");\n }\n if (decorators.length) {\n left.decorators = decorators;\n }\n return elt;\n }\n isSimpleParameter(node) {\n return node.type === \"TSParameterProperty\" && super.isSimpleParameter(node.parameter) || super.isSimpleParameter(node);\n }\n tsDisallowOptionalPattern(node) {\n for (const param of node.params) {\n if (param.type !== \"Identifier\" && param.optional && !this.state.isAmbientContext) {\n this.raise(TSErrors.PatternIsOptional, param);\n }\n }\n }\n setArrowFunctionParameters(node, params, trailingCommaLoc) {\n super.setArrowFunctionParameters(node, params, trailingCommaLoc);\n this.tsDisallowOptionalPattern(node);\n }\n parseFunctionBodyAndFinish(node, type, isMethod = false) {\n if (this.match(14)) {\n node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14);\n }\n const bodilessType = type === \"FunctionDeclaration\" ? \"TSDeclareFunction\" : type === \"ClassMethod\" || type === \"ClassPrivateMethod\" ? \"TSDeclareMethod\" : undefined;\n if (bodilessType && !this.match(5) && this.isLineTerminator()) {\n return this.finishNode(node, bodilessType);\n }\n if (bodilessType === \"TSDeclareFunction\" && this.state.isAmbientContext) {\n this.raise(TSErrors.DeclareFunctionHasImplementation, node);\n if (node.declare) {\n return super.parseFunctionBodyAndFinish(node, bodilessType, isMethod);\n }\n }\n this.tsDisallowOptionalPattern(node);\n return super.parseFunctionBodyAndFinish(node, type, isMethod);\n }\n registerFunctionStatementId(node) {\n if (!node.body && node.id) {\n this.checkIdentifier(node.id, 1024);\n } else {\n super.registerFunctionStatementId(node);\n }\n }\n tsCheckForInvalidTypeCasts(items) {\n items.forEach(node => {\n if ((node == null ? void 0 : node.type) === \"TSTypeCastExpression\") {\n this.raise(TSErrors.UnexpectedTypeAnnotation, node.typeAnnotation);\n }\n });\n }\n toReferencedList(exprList, isInParens) {\n this.tsCheckForInvalidTypeCasts(exprList);\n return exprList;\n }\n parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {\n const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors);\n if (node.type === \"ArrayExpression\") {\n this.tsCheckForInvalidTypeCasts(node.elements);\n }\n return node;\n }\n parseSubscript(base, startLoc, noCalls, state) {\n if (!this.hasPrecedingLineBreak() && this.match(35)) {\n this.state.canStartJSXElement = false;\n this.next();\n const nonNullExpression = this.startNodeAt(startLoc);\n nonNullExpression.expression = base;\n return this.finishNode(nonNullExpression, \"TSNonNullExpression\");\n }\n let isOptionalCall = false;\n if (this.match(18) && this.lookaheadCharCode() === 60) {\n if (noCalls) {\n state.stop = true;\n return base;\n }\n state.optionalChainMember = isOptionalCall = true;\n this.next();\n }\n if (this.match(47) || this.match(51)) {\n let missingParenErrorLoc;\n const result = this.tsTryParseAndCatch(() => {\n if (!noCalls && this.atPossibleAsyncArrow(base)) {\n const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startLoc);\n if (asyncArrowFn) {\n return asyncArrowFn;\n }\n }\n const typeArguments = this.tsParseTypeArgumentsInExpression();\n if (!typeArguments) return;\n if (isOptionalCall && !this.match(10)) {\n missingParenErrorLoc = this.state.curPosition();\n return;\n }\n if (tokenIsTemplate(this.state.type)) {\n const result = super.parseTaggedTemplateExpression(base, startLoc, state);\n result.typeParameters = typeArguments;\n return result;\n }\n if (!noCalls && this.eat(10)) {\n const node = this.startNodeAt(startLoc);\n node.callee = base;\n node.arguments = this.parseCallExpressionArguments(11);\n this.tsCheckForInvalidTypeCasts(node.arguments);\n node.typeParameters = typeArguments;\n if (state.optionalChainMember) {\n node.optional = isOptionalCall;\n }\n return this.finishCallExpression(node, state.optionalChainMember);\n }\n const tokenType = this.state.type;\n if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) {\n return;\n }\n const node = this.startNodeAt(startLoc);\n node.expression = base;\n node.typeParameters = typeArguments;\n return this.finishNode(node, \"TSInstantiationExpression\");\n });\n if (missingParenErrorLoc) {\n this.unexpected(missingParenErrorLoc, 10);\n }\n if (result) {\n if (result.type === \"TSInstantiationExpression\" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40)) {\n this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc);\n }\n return result;\n }\n }\n return super.parseSubscript(base, startLoc, noCalls, state);\n }\n parseNewCallee(node) {\n var _callee$extra;\n super.parseNewCallee(node);\n const {\n callee\n } = node;\n if (callee.type === \"TSInstantiationExpression\" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) {\n node.typeParameters = callee.typeParameters;\n node.callee = callee.expression;\n }\n }\n parseExprOp(left, leftStartLoc, minPrec) {\n let isSatisfies;\n if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (isSatisfies = this.isContextual(120)))) {\n const node = this.startNodeAt(leftStartLoc);\n node.expression = left;\n node.typeAnnotation = this.tsInType(() => {\n this.next();\n if (this.match(75)) {\n if (isSatisfies) {\n this.raise(Errors.UnexpectedKeyword, this.state.startLoc, {\n keyword: \"const\"\n });\n }\n return this.tsParseTypeReference();\n }\n return this.tsParseType();\n });\n this.finishNode(node, isSatisfies ? \"TSSatisfiesExpression\" : \"TSAsExpression\");\n this.reScan_lt_gt();\n return this.parseExprOp(node, leftStartLoc, minPrec);\n }\n return super.parseExprOp(left, leftStartLoc, minPrec);\n }\n checkReservedWord(word, startLoc, checkKeywords, isBinding) {\n if (!this.state.isAmbientContext) {\n super.checkReservedWord(word, startLoc, checkKeywords, isBinding);\n }\n }\n checkImportReflection(node) {\n super.checkImportReflection(node);\n if (node.module && node.importKind !== \"value\") {\n this.raise(TSErrors.ImportReflectionHasImportType, node.specifiers[0].loc.start);\n }\n }\n checkDuplicateExports() {}\n isPotentialImportPhase(isExport) {\n if (super.isPotentialImportPhase(isExport)) return true;\n if (this.isContextual(130)) {\n const ch = this.lookaheadCharCode();\n return isExport ? ch === 123 || ch === 42 : ch !== 61;\n }\n return !isExport && this.isContextual(87);\n }\n applyImportPhase(node, isExport, phase, loc) {\n super.applyImportPhase(node, isExport, phase, loc);\n if (isExport) {\n node.exportKind = phase === \"type\" ? \"type\" : \"value\";\n } else {\n node.importKind = phase === \"type\" || phase === \"typeof\" ? phase : \"value\";\n }\n }\n parseImport(node) {\n if (this.match(134)) {\n node.importKind = \"value\";\n return super.parseImport(node);\n }\n let importNode;\n if (tokenIsIdentifier(this.state.type) && this.lookaheadCharCode() === 61) {\n node.importKind = \"value\";\n return this.tsParseImportEqualsDeclaration(node);\n } else if (this.isContextual(130)) {\n const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, false);\n if (this.lookaheadCharCode() === 61) {\n return this.tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier);\n } else {\n importNode = super.parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier);\n }\n } else {\n importNode = super.parseImport(node);\n }\n if (importNode.importKind === \"type\" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === \"ImportDefaultSpecifier\") {\n this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, importNode);\n }\n return importNode;\n }\n parseExport(node, decorators) {\n if (this.match(83)) {\n this.next();\n const nodeImportEquals = node;\n let maybeDefaultIdentifier = null;\n if (this.isContextual(130) && this.isPotentialImportPhase(false)) {\n maybeDefaultIdentifier = this.parseMaybeImportPhase(nodeImportEquals, false);\n } else {\n nodeImportEquals.importKind = \"value\";\n }\n return this.tsParseImportEqualsDeclaration(nodeImportEquals, maybeDefaultIdentifier, true);\n } else if (this.eat(29)) {\n const assign = node;\n assign.expression = super.parseExpression();\n this.semicolon();\n this.sawUnambiguousESM = true;\n return this.finishNode(assign, \"TSExportAssignment\");\n } else if (this.eatContextual(93)) {\n const decl = node;\n this.expectContextual(128);\n decl.id = this.parseIdentifier();\n this.semicolon();\n return this.finishNode(decl, \"TSNamespaceExportDeclaration\");\n } else {\n return super.parseExport(node, decorators);\n }\n }\n isAbstractClass() {\n return this.isContextual(124) && this.lookahead().type === 80;\n }\n parseExportDefaultExpression() {\n if (this.isAbstractClass()) {\n const cls = this.startNode();\n this.next();\n cls.abstract = true;\n return this.parseClass(cls, true, true);\n }\n if (this.match(129)) {\n const result = this.tsParseInterfaceDeclaration(this.startNode());\n if (result) return result;\n }\n return super.parseExportDefaultExpression();\n }\n parseVarStatement(node, kind, allowMissingInitializer = false) {\n const {\n isAmbientContext\n } = this.state;\n const declaration = super.parseVarStatement(node, kind, allowMissingInitializer || isAmbientContext);\n if (!isAmbientContext) return declaration;\n for (const {\n id,\n init\n } of declaration.declarations) {\n if (!init) continue;\n if (kind !== \"const\" || !!id.typeAnnotation) {\n this.raise(TSErrors.InitializerNotAllowedInAmbientContext, init);\n } else if (!isValidAmbientConstInitializer(init, this.hasPlugin(\"estree\"))) {\n this.raise(TSErrors.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, init);\n }\n }\n return declaration;\n }\n parseStatementContent(flags, decorators) {\n if (this.match(75) && this.isLookaheadContextual(\"enum\")) {\n const node = this.startNode();\n this.expect(75);\n return this.tsParseEnumDeclaration(node, {\n const: true\n });\n }\n if (this.isContextual(126)) {\n return this.tsParseEnumDeclaration(this.startNode());\n }\n if (this.isContextual(129)) {\n const result = this.tsParseInterfaceDeclaration(this.startNode());\n if (result) return result;\n }\n return super.parseStatementContent(flags, decorators);\n }\n parseAccessModifier() {\n return this.tsParseModifier([\"public\", \"protected\", \"private\"]);\n }\n tsHasSomeModifiers(member, modifiers) {\n return modifiers.some(modifier => {\n if (tsIsAccessModifier(modifier)) {\n return member.accessibility === modifier;\n }\n return !!member[modifier];\n });\n }\n tsIsStartOfStaticBlocks() {\n return this.isContextual(106) && this.lookaheadCharCode() === 123;\n }\n parseClassMember(classBody, member, state) {\n const modifiers = [\"declare\", \"private\", \"public\", \"protected\", \"override\", \"abstract\", \"readonly\", \"static\"];\n this.tsParseModifiers({\n allowedModifiers: modifiers,\n disallowedModifiers: [\"in\", \"out\"],\n stopOnStartOfClassStaticBlock: true,\n errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions\n }, member);\n const callParseClassMemberWithIsStatic = () => {\n if (this.tsIsStartOfStaticBlocks()) {\n this.next();\n this.next();\n if (this.tsHasSomeModifiers(member, modifiers)) {\n this.raise(TSErrors.StaticBlockCannotHaveModifier, this.state.curPosition());\n }\n super.parseClassStaticBlock(classBody, member);\n } else {\n this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static);\n }\n };\n if (member.declare) {\n this.tsInAmbientContext(callParseClassMemberWithIsStatic);\n } else {\n callParseClassMemberWithIsStatic();\n }\n }\n parseClassMemberWithIsStatic(classBody, member, state, isStatic) {\n const idx = this.tsTryParseIndexSignature(member);\n if (idx) {\n classBody.body.push(idx);\n if (member.abstract) {\n this.raise(TSErrors.IndexSignatureHasAbstract, member);\n }\n if (member.accessibility) {\n this.raise(TSErrors.IndexSignatureHasAccessibility, member, {\n modifier: member.accessibility\n });\n }\n if (member.declare) {\n this.raise(TSErrors.IndexSignatureHasDeclare, member);\n }\n if (member.override) {\n this.raise(TSErrors.IndexSignatureHasOverride, member);\n }\n return;\n }\n if (!this.state.inAbstractClass && member.abstract) {\n this.raise(TSErrors.NonAbstractClassHasAbstractMethod, member);\n }\n if (member.override) {\n if (!state.hadSuperClass) {\n this.raise(TSErrors.OverrideNotInSubClass, member);\n }\n }\n super.parseClassMemberWithIsStatic(classBody, member, state, isStatic);\n }\n parsePostMemberNameModifiers(methodOrProp) {\n const optional = this.eat(17);\n if (optional) methodOrProp.optional = true;\n if (methodOrProp.readonly && this.match(10)) {\n this.raise(TSErrors.ClassMethodHasReadonly, methodOrProp);\n }\n if (methodOrProp.declare && this.match(10)) {\n this.raise(TSErrors.ClassMethodHasDeclare, methodOrProp);\n }\n }\n parseExpressionStatement(node, expr, decorators) {\n const decl = expr.type === \"Identifier\" ? this.tsParseExpressionStatement(node, expr, decorators) : undefined;\n return decl || super.parseExpressionStatement(node, expr, decorators);\n }\n shouldParseExportDeclaration() {\n if (this.tsIsDeclarationStart()) return true;\n return super.shouldParseExportDeclaration();\n }\n parseConditional(expr, startLoc, refExpressionErrors) {\n if (!this.state.maybeInArrowParameters || !this.match(17)) {\n return super.parseConditional(expr, startLoc, refExpressionErrors);\n }\n const result = this.tryParse(() => super.parseConditional(expr, startLoc));\n if (!result.node) {\n if (result.error) {\n super.setOptionalParametersError(refExpressionErrors, result.error);\n }\n return expr;\n }\n if (result.error) this.state = result.failState;\n return result.node;\n }\n parseParenItem(node, startLoc) {\n const newNode = super.parseParenItem(node, startLoc);\n if (this.eat(17)) {\n newNode.optional = true;\n this.resetEndLocation(node);\n }\n if (this.match(14)) {\n const typeCastNode = this.startNodeAt(startLoc);\n typeCastNode.expression = node;\n typeCastNode.typeAnnotation = this.tsParseTypeAnnotation();\n return this.finishNode(typeCastNode, \"TSTypeCastExpression\");\n }\n return node;\n }\n parseExportDeclaration(node) {\n if (!this.state.isAmbientContext && this.isContextual(125)) {\n return this.tsInAmbientContext(() => this.parseExportDeclaration(node));\n }\n const startLoc = this.state.startLoc;\n const isDeclare = this.eatContextual(125);\n if (isDeclare && (this.isContextual(125) || !this.shouldParseExportDeclaration())) {\n throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, this.state.startLoc);\n }\n const isIdentifier = tokenIsIdentifier(this.state.type);\n const declaration = isIdentifier && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(node);\n if (!declaration) return null;\n if (declaration.type === \"TSInterfaceDeclaration\" || declaration.type === \"TSTypeAliasDeclaration\" || isDeclare) {\n node.exportKind = \"type\";\n }\n if (isDeclare) {\n this.resetStartLocation(declaration, startLoc);\n declaration.declare = true;\n }\n return declaration;\n }\n parseClassId(node, isStatement, optionalId, bindingType) {\n if ((!isStatement || optionalId) && this.isContextual(113)) {\n return;\n }\n super.parseClassId(node, isStatement, optionalId, node.declare ? 1024 : 8331);\n const typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);\n if (typeParameters) node.typeParameters = typeParameters;\n }\n parseClassPropertyAnnotation(node) {\n if (!node.optional) {\n if (this.eat(35)) {\n node.definite = true;\n } else if (this.eat(17)) {\n node.optional = true;\n }\n }\n const type = this.tsTryParseTypeAnnotation();\n if (type) node.typeAnnotation = type;\n }\n parseClassProperty(node) {\n this.parseClassPropertyAnnotation(node);\n if (this.state.isAmbientContext && !(node.readonly && !node.typeAnnotation) && this.match(29)) {\n this.raise(TSErrors.DeclareClassFieldHasInitializer, this.state.startLoc);\n }\n if (node.abstract && this.match(29)) {\n const {\n key\n } = node;\n this.raise(TSErrors.AbstractPropertyHasInitializer, this.state.startLoc, {\n propertyName: key.type === \"Identifier\" && !node.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]`\n });\n }\n return super.parseClassProperty(node);\n }\n parseClassPrivateProperty(node) {\n if (node.abstract) {\n this.raise(TSErrors.PrivateElementHasAbstract, node);\n }\n if (node.accessibility) {\n this.raise(TSErrors.PrivateElementHasAccessibility, node, {\n modifier: node.accessibility\n });\n }\n this.parseClassPropertyAnnotation(node);\n return super.parseClassPrivateProperty(node);\n }\n parseClassAccessorProperty(node) {\n this.parseClassPropertyAnnotation(node);\n if (node.optional) {\n this.raise(TSErrors.AccessorCannotBeOptional, node);\n }\n return super.parseClassAccessorProperty(node);\n }\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);\n if (typeParameters && isConstructor) {\n this.raise(TSErrors.ConstructorHasTypeParameters, typeParameters);\n }\n const {\n declare = false,\n kind\n } = method;\n if (declare && (kind === \"get\" || kind === \"set\")) {\n this.raise(TSErrors.DeclareAccessor, method, {\n kind\n });\n }\n if (typeParameters) method.typeParameters = typeParameters;\n super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);\n }\n pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {\n const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);\n if (typeParameters) method.typeParameters = typeParameters;\n super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);\n }\n declareClassPrivateMethodInScope(node, kind) {\n if (node.type === \"TSDeclareMethod\") return;\n if (node.type === \"MethodDefinition\" && !hasOwnProperty.call(node.value, \"body\")) {\n return;\n }\n super.declareClassPrivateMethodInScope(node, kind);\n }\n parseClassSuper(node) {\n super.parseClassSuper(node);\n if (node.superClass && (this.match(47) || this.match(51))) {\n node.superTypeParameters = this.tsParseTypeArgumentsInExpression();\n }\n if (this.eatContextual(113)) {\n node.implements = this.tsParseHeritageClause(\"implements\");\n }\n }\n parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {\n const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);\n if (typeParameters) prop.typeParameters = typeParameters;\n return super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);\n }\n parseFunctionParams(node, isConstructor) {\n const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);\n if (typeParameters) node.typeParameters = typeParameters;\n super.parseFunctionParams(node, isConstructor);\n }\n parseVarId(decl, kind) {\n super.parseVarId(decl, kind);\n if (decl.id.type === \"Identifier\" && !this.hasPrecedingLineBreak() && this.eat(35)) {\n decl.definite = true;\n }\n const type = this.tsTryParseTypeAnnotation();\n if (type) {\n decl.id.typeAnnotation = type;\n this.resetEndLocation(decl.id);\n }\n }\n parseAsyncArrowFromCallExpression(node, call) {\n if (this.match(14)) {\n node.returnType = this.tsParseTypeAnnotation();\n }\n return super.parseAsyncArrowFromCallExpression(node, call);\n }\n parseMaybeAssign(refExpressionErrors, afterLeftParse) {\n var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2;\n let state;\n let jsx;\n let typeCast;\n if (this.hasPlugin(\"jsx\") && (this.match(143) || this.match(47))) {\n state = this.state.clone();\n jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state);\n if (!jsx.error) return jsx.node;\n const {\n context\n } = this.state;\n const currentContext = context[context.length - 1];\n if (currentContext === types.j_oTag || currentContext === types.j_expr) {\n context.pop();\n }\n }\n if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) {\n return super.parseMaybeAssign(refExpressionErrors, afterLeftParse);\n }\n if (!state || state === this.state) state = this.state.clone();\n let typeParameters;\n const arrow = this.tryParse(abort => {\n var _expr$extra, _typeParameters;\n typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier);\n const expr = super.parseMaybeAssign(refExpressionErrors, afterLeftParse);\n if (expr.type !== \"ArrowFunctionExpression\" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) {\n abort();\n }\n if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) {\n this.resetStartLocationFromNode(expr, typeParameters);\n }\n expr.typeParameters = typeParameters;\n return expr;\n }, state);\n if (!arrow.error && !arrow.aborted) {\n if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);\n return arrow.node;\n }\n if (!jsx) {\n assert(!this.hasPlugin(\"jsx\"));\n typeCast = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state);\n if (!typeCast.error) return typeCast.node;\n }\n if ((_jsx2 = jsx) != null && _jsx2.node) {\n this.state = jsx.failState;\n return jsx.node;\n }\n if (arrow.node) {\n this.state = arrow.failState;\n if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);\n return arrow.node;\n }\n if ((_typeCast = typeCast) != null && _typeCast.node) {\n this.state = typeCast.failState;\n return typeCast.node;\n }\n throw ((_jsx3 = jsx) == null ? void 0 : _jsx3.error) || arrow.error || ((_typeCast2 = typeCast) == null ? void 0 : _typeCast2.error);\n }\n reportReservedArrowTypeParam(node) {\n var _node$extra;\n if (node.params.length === 1 && !node.params[0].constraint && !((_node$extra = node.extra) != null && _node$extra.trailingComma) && this.getPluginOption(\"typescript\", \"disallowAmbiguousJSXLike\")) {\n this.raise(TSErrors.ReservedArrowTypeParam, node);\n }\n }\n parseMaybeUnary(refExpressionErrors, sawUnary) {\n if (!this.hasPlugin(\"jsx\") && this.match(47)) {\n return this.tsParseTypeAssertion();\n }\n return super.parseMaybeUnary(refExpressionErrors, sawUnary);\n }\n parseArrow(node) {\n if (this.match(14)) {\n const result = this.tryParse(abort => {\n const returnType = this.tsParseTypeOrTypePredicateAnnotation(14);\n if (this.canInsertSemicolon() || !this.match(19)) abort();\n return returnType;\n });\n if (result.aborted) return;\n if (!result.thrown) {\n if (result.error) this.state = result.failState;\n node.returnType = result.node;\n }\n }\n return super.parseArrow(node);\n }\n parseFunctionParamType(param) {\n if (this.eat(17)) {\n param.optional = true;\n }\n const type = this.tsTryParseTypeAnnotation();\n if (type) param.typeAnnotation = type;\n this.resetEndLocation(param);\n return param;\n }\n isAssignable(node, isBinding) {\n switch (node.type) {\n case \"TSTypeCastExpression\":\n return this.isAssignable(node.expression, isBinding);\n case \"TSParameterProperty\":\n return true;\n default:\n return super.isAssignable(node, isBinding);\n }\n }\n toAssignable(node, isLHS = false) {\n switch (node.type) {\n case \"ParenthesizedExpression\":\n this.toAssignableParenthesizedExpression(node, isLHS);\n break;\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSNonNullExpression\":\n case \"TSTypeAssertion\":\n if (isLHS) {\n this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter, node);\n } else {\n this.raise(TSErrors.UnexpectedTypeCastInParameter, node);\n }\n this.toAssignable(node.expression, isLHS);\n break;\n case \"AssignmentExpression\":\n if (!isLHS && node.left.type === \"TSTypeCastExpression\") {\n node.left = this.typeCastToParameter(node.left);\n }\n default:\n super.toAssignable(node, isLHS);\n }\n }\n toAssignableParenthesizedExpression(node, isLHS) {\n switch (node.expression.type) {\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSNonNullExpression\":\n case \"TSTypeAssertion\":\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isLHS);\n break;\n default:\n super.toAssignable(node, isLHS);\n }\n }\n checkToRestConversion(node, allowPattern) {\n switch (node.type) {\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n this.checkToRestConversion(node.expression, false);\n break;\n default:\n super.checkToRestConversion(node, allowPattern);\n }\n }\n isValidLVal(type, isUnparenthesizedInAssign, binding) {\n switch (type) {\n case \"TSTypeCastExpression\":\n return true;\n case \"TSParameterProperty\":\n return \"parameter\";\n case \"TSNonNullExpression\":\n case \"TSInstantiationExpression\":\n return \"expression\";\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n return (binding !== 64 || !isUnparenthesizedInAssign) && [\"expression\", true];\n default:\n return super.isValidLVal(type, isUnparenthesizedInAssign, binding);\n }\n }\n parseBindingAtom() {\n if (this.state.type === 78) {\n return this.parseIdentifier(true);\n }\n return super.parseBindingAtom();\n }\n parseMaybeDecoratorArguments(expr) {\n if (this.match(47) || this.match(51)) {\n const typeArguments = this.tsParseTypeArgumentsInExpression();\n if (this.match(10)) {\n const call = super.parseMaybeDecoratorArguments(expr);\n call.typeParameters = typeArguments;\n return call;\n }\n this.unexpected(null, 10);\n }\n return super.parseMaybeDecoratorArguments(expr);\n }\n checkCommaAfterRest(close) {\n if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) {\n this.next();\n return false;\n }\n return super.checkCommaAfterRest(close);\n }\n isClassMethod() {\n return this.match(47) || super.isClassMethod();\n }\n isClassProperty() {\n return this.match(35) || this.match(14) || super.isClassProperty();\n }\n parseMaybeDefault(startLoc, left) {\n const node = super.parseMaybeDefault(startLoc, left);\n if (node.type === \"AssignmentPattern\" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {\n this.raise(TSErrors.TypeAnnotationAfterAssign, node.typeAnnotation);\n }\n return node;\n }\n getTokenFromCode(code) {\n if (this.state.inType) {\n if (code === 62) {\n this.finishOp(48, 1);\n return;\n }\n if (code === 60) {\n this.finishOp(47, 1);\n return;\n }\n }\n super.getTokenFromCode(code);\n }\n reScan_lt_gt() {\n const {\n type\n } = this.state;\n if (type === 47) {\n this.state.pos -= 1;\n this.readToken_lt();\n } else if (type === 48) {\n this.state.pos -= 1;\n this.readToken_gt();\n }\n }\n reScan_lt() {\n const {\n type\n } = this.state;\n if (type === 51) {\n this.state.pos -= 2;\n this.finishOp(47, 1);\n return 47;\n }\n return type;\n }\n toAssignableList(exprList, trailingCommaLoc, isLHS) {\n for (let i = 0; i < exprList.length; i++) {\n const expr = exprList[i];\n if ((expr == null ? void 0 : expr.type) === \"TSTypeCastExpression\") {\n exprList[i] = this.typeCastToParameter(expr);\n }\n }\n super.toAssignableList(exprList, trailingCommaLoc, isLHS);\n }\n typeCastToParameter(node) {\n node.expression.typeAnnotation = node.typeAnnotation;\n this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);\n return node.expression;\n }\n shouldParseArrow(params) {\n if (this.match(14)) {\n return params.every(expr => this.isAssignable(expr, true));\n }\n return super.shouldParseArrow(params);\n }\n shouldParseAsyncArrow() {\n return this.match(14) || super.shouldParseAsyncArrow();\n }\n canHaveLeadingDecorator() {\n return super.canHaveLeadingDecorator() || this.isAbstractClass();\n }\n jsxParseOpeningElementAfterName(node) {\n if (this.match(47) || this.match(51)) {\n const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());\n if (typeArguments) node.typeParameters = typeArguments;\n }\n return super.jsxParseOpeningElementAfterName(node);\n }\n getGetterSetterExpectedParamCount(method) {\n const baseCount = super.getGetterSetterExpectedParamCount(method);\n const params = this.getObjectOrClassMethodParams(method);\n const firstParam = params[0];\n const hasContextParam = firstParam && this.isThisParam(firstParam);\n return hasContextParam ? baseCount + 1 : baseCount;\n }\n parseCatchClauseParam() {\n const param = super.parseCatchClauseParam();\n const type = this.tsTryParseTypeAnnotation();\n if (type) {\n param.typeAnnotation = type;\n this.resetEndLocation(param);\n }\n return param;\n }\n tsInAmbientContext(cb) {\n const {\n isAmbientContext: oldIsAmbientContext,\n strict: oldStrict\n } = this.state;\n this.state.isAmbientContext = true;\n this.state.strict = false;\n try {\n return cb();\n } finally {\n this.state.isAmbientContext = oldIsAmbientContext;\n this.state.strict = oldStrict;\n }\n }\n parseClass(node, isStatement, optionalId) {\n const oldInAbstractClass = this.state.inAbstractClass;\n this.state.inAbstractClass = !!node.abstract;\n try {\n return super.parseClass(node, isStatement, optionalId);\n } finally {\n this.state.inAbstractClass = oldInAbstractClass;\n }\n }\n tsParseAbstractDeclaration(node, decorators) {\n if (this.match(80)) {\n node.abstract = true;\n return this.maybeTakeDecorators(decorators, this.parseClass(node, true, false));\n } else if (this.isContextual(129)) {\n if (!this.hasFollowingLineBreak()) {\n node.abstract = true;\n this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, node);\n return this.tsParseInterfaceDeclaration(node);\n }\n } else {\n this.unexpected(null, 80);\n }\n }\n parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) {\n const method = super.parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope);\n if (method.abstract) {\n const hasBody = this.hasPlugin(\"estree\") ? !!method.value.body : !!method.body;\n if (hasBody) {\n const {\n key\n } = method;\n this.raise(TSErrors.AbstractMethodHasImplementation, method, {\n methodName: key.type === \"Identifier\" && !method.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]`\n });\n }\n }\n return method;\n }\n tsParseTypeParameterName() {\n const typeName = this.parseIdentifier();\n return typeName.name;\n }\n shouldParseAsAmbientContext() {\n return !!this.getPluginOption(\"typescript\", \"dts\");\n }\n parse() {\n if (this.shouldParseAsAmbientContext()) {\n this.state.isAmbientContext = true;\n }\n return super.parse();\n }\n getExpression() {\n if (this.shouldParseAsAmbientContext()) {\n this.state.isAmbientContext = true;\n }\n return super.getExpression();\n }\n parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {\n if (!isString && isMaybeTypeOnly) {\n this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport);\n return this.finishNode(node, \"ExportSpecifier\");\n }\n node.exportKind = \"value\";\n return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly);\n }\n parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) {\n if (!importedIsString && isMaybeTypeOnly) {\n this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport);\n return this.finishNode(specifier, \"ImportSpecifier\");\n }\n specifier.importKind = \"value\";\n return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, isInTypeOnlyImport ? 4098 : 4096);\n }\n parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) {\n const leftOfAsKey = isImport ? \"imported\" : \"local\";\n const rightOfAsKey = isImport ? \"local\" : \"exported\";\n let leftOfAs = node[leftOfAsKey];\n let rightOfAs;\n let hasTypeSpecifier = false;\n let canParseAsKeyword = true;\n const loc = leftOfAs.loc.start;\n if (this.isContextual(93)) {\n const firstAs = this.parseIdentifier();\n if (this.isContextual(93)) {\n const secondAs = this.parseIdentifier();\n if (tokenIsKeywordOrIdentifier(this.state.type)) {\n hasTypeSpecifier = true;\n leftOfAs = firstAs;\n rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName();\n canParseAsKeyword = false;\n } else {\n rightOfAs = secondAs;\n canParseAsKeyword = false;\n }\n } else if (tokenIsKeywordOrIdentifier(this.state.type)) {\n canParseAsKeyword = false;\n rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName();\n } else {\n hasTypeSpecifier = true;\n leftOfAs = firstAs;\n }\n } else if (tokenIsKeywordOrIdentifier(this.state.type)) {\n hasTypeSpecifier = true;\n if (isImport) {\n leftOfAs = this.parseIdentifier(true);\n if (!this.isContextual(93)) {\n this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true);\n }\n } else {\n leftOfAs = this.parseModuleExportName();\n }\n }\n if (hasTypeSpecifier && isInTypeOnlyImportExport) {\n this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, loc);\n }\n node[leftOfAsKey] = leftOfAs;\n node[rightOfAsKey] = rightOfAs;\n const kindKey = isImport ? \"importKind\" : \"exportKind\";\n node[kindKey] = hasTypeSpecifier ? \"type\" : \"value\";\n if (canParseAsKeyword && this.eatContextual(93)) {\n node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName();\n }\n if (!node[rightOfAsKey]) {\n node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]);\n }\n if (isImport) {\n this.checkIdentifier(node[rightOfAsKey], hasTypeSpecifier ? 4098 : 4096);\n }\n }\n};\nfunction isPossiblyLiteralEnum(expression) {\n if (expression.type !== \"MemberExpression\") return false;\n const {\n computed,\n property\n } = expression;\n if (computed && property.type !== \"StringLiteral\" && (property.type !== \"TemplateLiteral\" || property.expressions.length > 0)) {\n return false;\n }\n return isUncomputedMemberExpressionChain(expression.object);\n}\nfunction isValidAmbientConstInitializer(expression, estree) {\n var _expression$extra;\n const {\n type\n } = expression;\n if ((_expression$extra = expression.extra) != null && _expression$extra.parenthesized) {\n return false;\n }\n if (estree) {\n if (type === \"Literal\") {\n const {\n value\n } = expression;\n if (typeof value === \"string\" || typeof value === \"boolean\") {\n return true;\n }\n }\n } else {\n if (type === \"StringLiteral\" || type === \"BooleanLiteral\") {\n return true;\n }\n }\n if (isNumber(expression, estree) || isNegativeNumber(expression, estree)) {\n return true;\n }\n if (type === \"TemplateLiteral\" && expression.expressions.length === 0) {\n return true;\n }\n if (isPossiblyLiteralEnum(expression)) {\n return true;\n }\n return false;\n}\nfunction isNumber(expression, estree) {\n if (estree) {\n return expression.type === \"Literal\" && (typeof expression.value === \"number\" || \"bigint\" in expression);\n }\n return expression.type === \"NumericLiteral\" || expression.type === \"BigIntLiteral\";\n}\nfunction isNegativeNumber(expression, estree) {\n if (expression.type === \"UnaryExpression\") {\n const {\n operator,\n argument\n } = expression;\n if (operator === \"-\" && isNumber(argument, estree)) {\n return true;\n }\n }\n return false;\n}\nfunction isUncomputedMemberExpressionChain(expression) {\n if (expression.type === \"Identifier\") return true;\n if (expression.type !== \"MemberExpression\" || expression.computed) {\n return false;\n }\n return isUncomputedMemberExpressionChain(expression.object);\n}\nconst PlaceholderErrors = ParseErrorEnum`placeholders`({\n ClassNameIsRequired: \"A class name is required.\",\n UnexpectedSpace: \"Unexpected space in placeholder.\"\n});\nvar placeholders = superClass => class PlaceholdersParserMixin extends superClass {\n parsePlaceholder(expectedNode) {\n if (this.match(133)) {\n const node = this.startNode();\n this.next();\n this.assertNoSpace();\n node.name = super.parseIdentifier(true);\n this.assertNoSpace();\n this.expect(133);\n return this.finishPlaceholder(node, expectedNode);\n }\n }\n finishPlaceholder(node, expectedNode) {\n let placeholder = node;\n if (!placeholder.expectedNode || !placeholder.type) {\n placeholder = this.finishNode(placeholder, \"Placeholder\");\n }\n placeholder.expectedNode = expectedNode;\n return placeholder;\n }\n getTokenFromCode(code) {\n if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) {\n this.finishOp(133, 2);\n } else {\n super.getTokenFromCode(code);\n }\n }\n parseExprAtom(refExpressionErrors) {\n return this.parsePlaceholder(\"Expression\") || super.parseExprAtom(refExpressionErrors);\n }\n parseIdentifier(liberal) {\n return this.parsePlaceholder(\"Identifier\") || super.parseIdentifier(liberal);\n }\n checkReservedWord(word, startLoc, checkKeywords, isBinding) {\n if (word !== undefined) {\n super.checkReservedWord(word, startLoc, checkKeywords, isBinding);\n }\n }\n parseBindingAtom() {\n return this.parsePlaceholder(\"Pattern\") || super.parseBindingAtom();\n }\n isValidLVal(type, isParenthesized, binding) {\n return type === \"Placeholder\" || super.isValidLVal(type, isParenthesized, binding);\n }\n toAssignable(node, isLHS) {\n if (node && node.type === \"Placeholder\" && node.expectedNode === \"Expression\") {\n node.expectedNode = \"Pattern\";\n } else {\n super.toAssignable(node, isLHS);\n }\n }\n chStartsBindingIdentifier(ch, pos) {\n if (super.chStartsBindingIdentifier(ch, pos)) {\n return true;\n }\n const nextToken = this.lookahead();\n if (nextToken.type === 133) {\n return true;\n }\n return false;\n }\n verifyBreakContinue(node, isBreak) {\n if (node.label && node.label.type === \"Placeholder\") return;\n super.verifyBreakContinue(node, isBreak);\n }\n parseExpressionStatement(node, expr) {\n var _expr$extra;\n if (expr.type !== \"Placeholder\" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) {\n return super.parseExpressionStatement(node, expr);\n }\n if (this.match(14)) {\n const stmt = node;\n stmt.label = this.finishPlaceholder(expr, \"Identifier\");\n this.next();\n stmt.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration();\n return this.finishNode(stmt, \"LabeledStatement\");\n }\n this.semicolon();\n const stmtPlaceholder = node;\n stmtPlaceholder.name = expr.name;\n return this.finishPlaceholder(stmtPlaceholder, \"Statement\");\n }\n parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) {\n return this.parsePlaceholder(\"BlockStatement\") || super.parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse);\n }\n parseFunctionId(requireId) {\n return this.parsePlaceholder(\"Identifier\") || super.parseFunctionId(requireId);\n }\n parseClass(node, isStatement, optionalId) {\n const type = isStatement ? \"ClassDeclaration\" : \"ClassExpression\";\n this.next();\n const oldStrict = this.state.strict;\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (placeholder) {\n if (this.match(81) || this.match(133) || this.match(5)) {\n node.id = placeholder;\n } else if (optionalId || !isStatement) {\n node.id = null;\n node.body = this.finishPlaceholder(placeholder, \"ClassBody\");\n return this.finishNode(node, type);\n } else {\n throw this.raise(PlaceholderErrors.ClassNameIsRequired, this.state.startLoc);\n }\n } else {\n this.parseClassId(node, isStatement, optionalId);\n }\n super.parseClassSuper(node);\n node.body = this.parsePlaceholder(\"ClassBody\") || super.parseClassBody(!!node.superClass, oldStrict);\n return this.finishNode(node, type);\n }\n parseExport(node, decorators) {\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (!placeholder) return super.parseExport(node, decorators);\n const node2 = node;\n if (!this.isContextual(98) && !this.match(12)) {\n node2.specifiers = [];\n node2.source = null;\n node2.declaration = this.finishPlaceholder(placeholder, \"Declaration\");\n return this.finishNode(node2, \"ExportNamedDeclaration\");\n }\n this.expectPlugin(\"exportDefaultFrom\");\n const specifier = this.startNode();\n specifier.exported = placeholder;\n node2.specifiers = [this.finishNode(specifier, \"ExportDefaultSpecifier\")];\n return super.parseExport(node2, decorators);\n }\n isExportDefaultSpecifier() {\n if (this.match(65)) {\n const next = this.nextTokenStart();\n if (this.isUnparsedContextual(next, \"from\")) {\n if (this.input.startsWith(tokenLabelName(133), this.nextTokenStartSince(next + 4))) {\n return true;\n }\n }\n }\n return super.isExportDefaultSpecifier();\n }\n maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) {\n var _specifiers;\n if ((_specifiers = node.specifiers) != null && _specifiers.length) {\n return true;\n }\n return super.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier);\n }\n checkExport(node) {\n const {\n specifiers\n } = node;\n if (specifiers != null && specifiers.length) {\n node.specifiers = specifiers.filter(node => node.exported.type === \"Placeholder\");\n }\n super.checkExport(node);\n node.specifiers = specifiers;\n }\n parseImport(node) {\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (!placeholder) return super.parseImport(node);\n node.specifiers = [];\n if (!this.isContextual(98) && !this.match(12)) {\n node.source = this.finishPlaceholder(placeholder, \"StringLiteral\");\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n const specifier = this.startNodeAtNode(placeholder);\n specifier.local = placeholder;\n node.specifiers.push(this.finishNode(specifier, \"ImportDefaultSpecifier\"));\n if (this.eat(12)) {\n const hasStarImport = this.maybeParseStarImportSpecifier(node);\n if (!hasStarImport) this.parseNamedImportSpecifiers(node);\n }\n this.expectContextual(98);\n node.source = this.parseImportSource();\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n parseImportSource() {\n return this.parsePlaceholder(\"StringLiteral\") || super.parseImportSource();\n }\n assertNoSpace() {\n if (this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index)) {\n this.raise(PlaceholderErrors.UnexpectedSpace, this.state.lastTokEndLoc);\n }\n }\n};\nvar v8intrinsic = superClass => class V8IntrinsicMixin extends superClass {\n parseV8Intrinsic() {\n if (this.match(54)) {\n const v8IntrinsicStartLoc = this.state.startLoc;\n const node = this.startNode();\n this.next();\n if (tokenIsIdentifier(this.state.type)) {\n const name = this.parseIdentifierName();\n const identifier = this.createIdentifier(node, name);\n identifier.type = \"V8IntrinsicIdentifier\";\n if (this.match(10)) {\n return identifier;\n }\n }\n this.unexpected(v8IntrinsicStartLoc);\n }\n }\n parseExprAtom(refExpressionErrors) {\n return this.parseV8Intrinsic() || super.parseExprAtom(refExpressionErrors);\n }\n};\nconst PIPELINE_PROPOSALS = [\"minimal\", \"fsharp\", \"hack\", \"smart\"];\nconst TOPIC_TOKENS = [\"^^\", \"@@\", \"^\", \"%\", \"#\"];\nfunction validatePlugins(pluginsMap) {\n if (pluginsMap.has(\"decorators\")) {\n if (pluginsMap.has(\"decorators-legacy\")) {\n throw new Error(\"Cannot use the decorators and decorators-legacy plugin together\");\n }\n const decoratorsBeforeExport = pluginsMap.get(\"decorators\").decoratorsBeforeExport;\n if (decoratorsBeforeExport != null && typeof decoratorsBeforeExport !== \"boolean\") {\n throw new Error(\"'decoratorsBeforeExport' must be a boolean, if specified.\");\n }\n const allowCallParenthesized = pluginsMap.get(\"decorators\").allowCallParenthesized;\n if (allowCallParenthesized != null && typeof allowCallParenthesized !== \"boolean\") {\n throw new Error(\"'allowCallParenthesized' must be a boolean.\");\n }\n }\n if (pluginsMap.has(\"flow\") && pluginsMap.has(\"typescript\")) {\n throw new Error(\"Cannot combine flow and typescript plugins.\");\n }\n if (pluginsMap.has(\"placeholders\") && pluginsMap.has(\"v8intrinsic\")) {\n throw new Error(\"Cannot combine placeholders and v8intrinsic plugins.\");\n }\n if (pluginsMap.has(\"pipelineOperator\")) {\n var _pluginsMap$get;\n const proposal = pluginsMap.get(\"pipelineOperator\").proposal;\n if (!PIPELINE_PROPOSALS.includes(proposal)) {\n const proposalList = PIPELINE_PROPOSALS.map(p => `\"${p}\"`).join(\", \");\n throw new Error(`\"pipelineOperator\" requires \"proposal\" option whose value must be one of: ${proposalList}.`);\n }\n const tupleSyntaxIsHash = ((_pluginsMap$get = pluginsMap.get(\"recordAndTuple\")) == null ? void 0 : _pluginsMap$get.syntaxType) === \"hash\";\n if (proposal === \"hack\") {\n if (pluginsMap.has(\"placeholders\")) {\n throw new Error(\"Cannot combine placeholders plugin and Hack-style pipes.\");\n }\n if (pluginsMap.has(\"v8intrinsic\")) {\n throw new Error(\"Cannot combine v8intrinsic plugin and Hack-style pipes.\");\n }\n const topicToken = pluginsMap.get(\"pipelineOperator\").topicToken;\n if (!TOPIC_TOKENS.includes(topicToken)) {\n const tokenList = TOPIC_TOKENS.map(t => `\"${t}\"`).join(\", \");\n throw new Error(`\"pipelineOperator\" in \"proposal\": \"hack\" mode also requires a \"topicToken\" option whose value must be one of: ${tokenList}.`);\n }\n if (topicToken === \"#\" && tupleSyntaxIsHash) {\n throw new Error(`Plugin conflict between \\`[\"pipelineOperator\", { proposal: \"hack\", topicToken: \"#\" }]\\` and \\`${JSON.stringify([\"recordAndTuple\", pluginsMap.get(\"recordAndTuple\")])}\\`.`);\n }\n } else if (proposal === \"smart\" && tupleSyntaxIsHash) {\n throw new Error(`Plugin conflict between \\`[\"pipelineOperator\", { proposal: \"smart\" }]\\` and \\`${JSON.stringify([\"recordAndTuple\", pluginsMap.get(\"recordAndTuple\")])}\\`.`);\n }\n }\n if (pluginsMap.has(\"moduleAttributes\")) {\n {\n if (pluginsMap.has(\"deprecatedImportAssert\") || pluginsMap.has(\"importAssertions\")) {\n throw new Error(\"Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.\");\n }\n const moduleAttributesVersionPluginOption = pluginsMap.get(\"moduleAttributes\").version;\n if (moduleAttributesVersionPluginOption !== \"may-2020\") {\n throw new Error(\"The 'moduleAttributes' plugin requires a 'version' option,\" + \" representing the last proposal update. Currently, the\" + \" only supported value is 'may-2020'.\");\n }\n }\n }\n if (pluginsMap.has(\"importAssertions\")) {\n if (pluginsMap.has(\"deprecatedImportAssert\")) {\n throw new Error(\"Cannot combine importAssertions and deprecatedImportAssert plugins.\");\n }\n }\n if (!pluginsMap.has(\"deprecatedImportAssert\") && pluginsMap.has(\"importAttributes\") && pluginsMap.get(\"importAttributes\").deprecatedAssertSyntax) {\n {\n pluginsMap.set(\"deprecatedImportAssert\", {});\n }\n }\n if (pluginsMap.has(\"recordAndTuple\")) {\n const syntaxType = pluginsMap.get(\"recordAndTuple\").syntaxType;\n if (syntaxType != null) {\n {\n const RECORD_AND_TUPLE_SYNTAX_TYPES = [\"hash\", \"bar\"];\n if (!RECORD_AND_TUPLE_SYNTAX_TYPES.includes(syntaxType)) {\n throw new Error(\"The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: \" + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(\", \"));\n }\n }\n }\n }\n if (pluginsMap.has(\"asyncDoExpressions\") && !pluginsMap.has(\"doExpressions\")) {\n const error = new Error(\"'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.\");\n error.missingPlugins = \"doExpressions\";\n throw error;\n }\n if (pluginsMap.has(\"optionalChainingAssign\") && pluginsMap.get(\"optionalChainingAssign\").version !== \"2023-07\") {\n throw new Error(\"The 'optionalChainingAssign' plugin requires a 'version' option,\" + \" representing the last proposal update. Currently, the\" + \" only supported value is '2023-07'.\");\n }\n}\nconst mixinPlugins = {\n estree,\n jsx,\n flow,\n typescript,\n v8intrinsic,\n placeholders\n};\nconst mixinPluginNames = Object.keys(mixinPlugins);\nfunction createDefaultOptions() {\n return {\n sourceType: \"script\",\n sourceFilename: undefined,\n startIndex: 0,\n startColumn: 0,\n startLine: 1,\n allowAwaitOutsideFunction: false,\n allowReturnOutsideFunction: false,\n allowNewTargetOutsideFunction: false,\n allowImportExportEverywhere: false,\n allowSuperOutsideMethod: false,\n allowUndeclaredExports: false,\n plugins: [],\n strictMode: null,\n ranges: false,\n tokens: false,\n createImportExpressions: false,\n createParenthesizedExpressions: false,\n errorRecovery: false,\n attachComment: true,\n annexB: true\n };\n}\nfunction getOptions(opts) {\n const options = createDefaultOptions();\n if (opts == null) {\n return options;\n }\n if (opts.annexB != null && opts.annexB !== false) {\n throw new Error(\"The `annexB` option can only be set to `false`.\");\n }\n for (const key of Object.keys(options)) {\n if (opts[key] != null) options[key] = opts[key];\n }\n if (options.startLine === 1) {\n if (opts.startIndex == null && options.startColumn > 0) {\n options.startIndex = options.startColumn;\n } else if (opts.startColumn == null && options.startIndex > 0) {\n options.startColumn = options.startIndex;\n }\n } else if (opts.startColumn == null || opts.startIndex == null) {\n if (opts.startIndex != null) {\n throw new Error(\"With a `startLine > 1` you must also specify `startIndex` and `startColumn`.\");\n }\n }\n return options;\n}\nclass ExpressionParser extends LValParser {\n checkProto(prop, isRecord, protoRef, refExpressionErrors) {\n if (prop.type === \"SpreadElement\" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) {\n return;\n }\n const key = prop.key;\n const name = key.type === \"Identifier\" ? key.name : key.value;\n if (name === \"__proto__\") {\n if (isRecord) {\n this.raise(Errors.RecordNoProto, key);\n return;\n }\n if (protoRef.used) {\n if (refExpressionErrors) {\n if (refExpressionErrors.doubleProtoLoc === null) {\n refExpressionErrors.doubleProtoLoc = key.loc.start;\n }\n } else {\n this.raise(Errors.DuplicateProto, key);\n }\n }\n protoRef.used = true;\n }\n }\n shouldExitDescending(expr, potentialArrowAt) {\n return expr.type === \"ArrowFunctionExpression\" && this.offsetToSourcePos(expr.start) === potentialArrowAt;\n }\n getExpression() {\n this.enterInitialScopes();\n this.nextToken();\n const expr = this.parseExpression();\n if (!this.match(140)) {\n this.unexpected();\n }\n this.finalizeRemainingComments();\n expr.comments = this.comments;\n expr.errors = this.state.errors;\n if (this.options.tokens) {\n expr.tokens = this.tokens;\n }\n return expr;\n }\n parseExpression(disallowIn, refExpressionErrors) {\n if (disallowIn) {\n return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors));\n }\n return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors));\n }\n parseExpressionBase(refExpressionErrors) {\n const startLoc = this.state.startLoc;\n const expr = this.parseMaybeAssign(refExpressionErrors);\n if (this.match(12)) {\n const node = this.startNodeAt(startLoc);\n node.expressions = [expr];\n while (this.eat(12)) {\n node.expressions.push(this.parseMaybeAssign(refExpressionErrors));\n }\n this.toReferencedList(node.expressions);\n return this.finishNode(node, \"SequenceExpression\");\n }\n return expr;\n }\n parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) {\n return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse));\n }\n parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) {\n return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse));\n }\n setOptionalParametersError(refExpressionErrors, resultError) {\n var _resultError$loc;\n refExpressionErrors.optionalParametersLoc = (_resultError$loc = resultError == null ? void 0 : resultError.loc) != null ? _resultError$loc : this.state.startLoc;\n }\n parseMaybeAssign(refExpressionErrors, afterLeftParse) {\n const startLoc = this.state.startLoc;\n if (this.isContextual(108)) {\n if (this.prodParam.hasYield) {\n let left = this.parseYield();\n if (afterLeftParse) {\n left = afterLeftParse.call(this, left, startLoc);\n }\n return left;\n }\n }\n let ownExpressionErrors;\n if (refExpressionErrors) {\n ownExpressionErrors = false;\n } else {\n refExpressionErrors = new ExpressionErrors();\n ownExpressionErrors = true;\n }\n const {\n type\n } = this.state;\n if (type === 10 || tokenIsIdentifier(type)) {\n this.state.potentialArrowAt = this.state.start;\n }\n let left = this.parseMaybeConditional(refExpressionErrors);\n if (afterLeftParse) {\n left = afterLeftParse.call(this, left, startLoc);\n }\n if (tokenIsAssignment(this.state.type)) {\n const node = this.startNodeAt(startLoc);\n const operator = this.state.value;\n node.operator = operator;\n if (this.match(29)) {\n this.toAssignable(left, true);\n node.left = left;\n const startIndex = startLoc.index;\n if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startIndex) {\n refExpressionErrors.doubleProtoLoc = null;\n }\n if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startIndex) {\n refExpressionErrors.shorthandAssignLoc = null;\n }\n if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startIndex) {\n this.checkDestructuringPrivate(refExpressionErrors);\n refExpressionErrors.privateKeyLoc = null;\n }\n } else {\n node.left = left;\n }\n this.next();\n node.right = this.parseMaybeAssign();\n this.checkLVal(left, this.finishNode(node, \"AssignmentExpression\"));\n return node;\n } else if (ownExpressionErrors) {\n this.checkExpressionErrors(refExpressionErrors, true);\n }\n return left;\n }\n parseMaybeConditional(refExpressionErrors) {\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseExprOps(refExpressionErrors);\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n return this.parseConditional(expr, startLoc, refExpressionErrors);\n }\n parseConditional(expr, startLoc, refExpressionErrors) {\n if (this.eat(17)) {\n const node = this.startNodeAt(startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssignAllowIn();\n this.expect(14);\n node.alternate = this.parseMaybeAssign();\n return this.finishNode(node, \"ConditionalExpression\");\n }\n return expr;\n }\n parseMaybeUnaryOrPrivate(refExpressionErrors) {\n return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors);\n }\n parseExprOps(refExpressionErrors) {\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors);\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n return this.parseExprOp(expr, startLoc, -1);\n }\n parseExprOp(left, leftStartLoc, minPrec) {\n if (this.isPrivateName(left)) {\n const value = this.getPrivateNameSV(left);\n if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) {\n this.raise(Errors.PrivateInExpectedIn, left, {\n identifierName: value\n });\n }\n this.classScope.usePrivateName(value, left.loc.start);\n }\n const op = this.state.type;\n if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) {\n let prec = tokenOperatorPrecedence(op);\n if (prec > minPrec) {\n if (op === 39) {\n this.expectPlugin(\"pipelineOperator\");\n if (this.state.inFSharpPipelineDirectBody) {\n return left;\n }\n this.checkPipelineAtInfixOperator(left, leftStartLoc);\n }\n const node = this.startNodeAt(leftStartLoc);\n node.left = left;\n node.operator = this.state.value;\n const logical = op === 41 || op === 42;\n const coalesce = op === 40;\n if (coalesce) {\n prec = tokenOperatorPrecedence(42);\n }\n this.next();\n if (op === 39 && this.hasPlugin([\"pipelineOperator\", {\n proposal: \"minimal\"\n }])) {\n if (this.state.type === 96 && this.prodParam.hasAwait) {\n throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, this.state.startLoc);\n }\n }\n node.right = this.parseExprOpRightExpr(op, prec);\n const finishedNode = this.finishNode(node, logical || coalesce ? \"LogicalExpression\" : \"BinaryExpression\");\n const nextOp = this.state.type;\n if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) {\n throw this.raise(Errors.MixingCoalesceWithLogical, this.state.startLoc);\n }\n return this.parseExprOp(finishedNode, leftStartLoc, minPrec);\n }\n }\n return left;\n }\n parseExprOpRightExpr(op, prec) {\n const startLoc = this.state.startLoc;\n switch (op) {\n case 39:\n switch (this.getPluginOption(\"pipelineOperator\", \"proposal\")) {\n case \"hack\":\n return this.withTopicBindingContext(() => {\n return this.parseHackPipeBody();\n });\n case \"smart\":\n return this.withTopicBindingContext(() => {\n if (this.prodParam.hasYield && this.isContextual(108)) {\n throw this.raise(Errors.PipeBodyIsTighter, this.state.startLoc);\n }\n return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startLoc);\n });\n case \"fsharp\":\n return this.withSoloAwaitPermittingContext(() => {\n return this.parseFSharpPipelineBody(prec);\n });\n }\n default:\n return this.parseExprOpBaseRightExpr(op, prec);\n }\n }\n parseExprOpBaseRightExpr(op, prec) {\n const startLoc = this.state.startLoc;\n return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec);\n }\n parseHackPipeBody() {\n var _body$extra;\n const {\n startLoc\n } = this.state;\n const body = this.parseMaybeAssign();\n const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type);\n if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) {\n this.raise(Errors.PipeUnparenthesizedBody, startLoc, {\n type: body.type\n });\n }\n if (!this.topicReferenceWasUsedInCurrentContext()) {\n this.raise(Errors.PipeTopicUnused, startLoc);\n }\n return body;\n }\n checkExponentialAfterUnary(node) {\n if (this.match(57)) {\n this.raise(Errors.UnexpectedTokenUnaryExponentiation, node.argument);\n }\n }\n parseMaybeUnary(refExpressionErrors, sawUnary) {\n const startLoc = this.state.startLoc;\n const isAwait = this.isContextual(96);\n if (isAwait && this.recordAwaitIfAllowed()) {\n this.next();\n const expr = this.parseAwait(startLoc);\n if (!sawUnary) this.checkExponentialAfterUnary(expr);\n return expr;\n }\n const update = this.match(34);\n const node = this.startNode();\n if (tokenIsPrefix(this.state.type)) {\n node.operator = this.state.value;\n node.prefix = true;\n if (this.match(72)) {\n this.expectPlugin(\"throwExpressions\");\n }\n const isDelete = this.match(89);\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n this.checkExpressionErrors(refExpressionErrors, true);\n if (this.state.strict && isDelete) {\n const arg = node.argument;\n if (arg.type === \"Identifier\") {\n this.raise(Errors.StrictDelete, node);\n } else if (this.hasPropertyAsPrivateName(arg)) {\n this.raise(Errors.DeletePrivateField, node);\n }\n }\n if (!update) {\n if (!sawUnary) {\n this.checkExponentialAfterUnary(node);\n }\n return this.finishNode(node, \"UnaryExpression\");\n }\n }\n const expr = this.parseUpdate(node, update, refExpressionErrors);\n if (isAwait) {\n const {\n type\n } = this.state;\n const startsExpr = this.hasPlugin(\"v8intrinsic\") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54);\n if (startsExpr && !this.isAmbiguousAwait()) {\n this.raiseOverwrite(Errors.AwaitNotInAsyncContext, startLoc);\n return this.parseAwait(startLoc);\n }\n }\n return expr;\n }\n parseUpdate(node, update, refExpressionErrors) {\n if (update) {\n const updateExpressionNode = node;\n this.checkLVal(updateExpressionNode.argument, this.finishNode(updateExpressionNode, \"UpdateExpression\"));\n return node;\n }\n const startLoc = this.state.startLoc;\n let expr = this.parseExprSubscripts(refExpressionErrors);\n if (this.checkExpressionErrors(refExpressionErrors, false)) return expr;\n while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) {\n const node = this.startNodeAt(startLoc);\n node.operator = this.state.value;\n node.prefix = false;\n node.argument = expr;\n this.next();\n this.checkLVal(expr, expr = this.finishNode(node, \"UpdateExpression\"));\n }\n return expr;\n }\n parseExprSubscripts(refExpressionErrors) {\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseExprAtom(refExpressionErrors);\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n return this.parseSubscripts(expr, startLoc);\n }\n parseSubscripts(base, startLoc, noCalls) {\n const state = {\n optionalChainMember: false,\n maybeAsyncArrow: this.atPossibleAsyncArrow(base),\n stop: false\n };\n do {\n base = this.parseSubscript(base, startLoc, noCalls, state);\n state.maybeAsyncArrow = false;\n } while (!state.stop);\n return base;\n }\n parseSubscript(base, startLoc, noCalls, state) {\n const {\n type\n } = this.state;\n if (!noCalls && type === 15) {\n return this.parseBind(base, startLoc, noCalls, state);\n } else if (tokenIsTemplate(type)) {\n return this.parseTaggedTemplateExpression(base, startLoc, state);\n }\n let optional = false;\n if (type === 18) {\n if (noCalls) {\n this.raise(Errors.OptionalChainingNoNew, this.state.startLoc);\n if (this.lookaheadCharCode() === 40) {\n state.stop = true;\n return base;\n }\n }\n state.optionalChainMember = optional = true;\n this.next();\n }\n if (!noCalls && this.match(10)) {\n return this.parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional);\n } else {\n const computed = this.eat(0);\n if (computed || optional || this.eat(16)) {\n return this.parseMember(base, startLoc, state, computed, optional);\n } else {\n state.stop = true;\n return base;\n }\n }\n }\n parseMember(base, startLoc, state, computed, optional) {\n const node = this.startNodeAt(startLoc);\n node.object = base;\n node.computed = computed;\n if (computed) {\n node.property = this.parseExpression();\n this.expect(3);\n } else if (this.match(139)) {\n if (base.type === \"Super\") {\n this.raise(Errors.SuperPrivateField, startLoc);\n }\n this.classScope.usePrivateName(this.state.value, this.state.startLoc);\n node.property = this.parsePrivateName();\n } else {\n node.property = this.parseIdentifier(true);\n }\n if (state.optionalChainMember) {\n node.optional = optional;\n return this.finishNode(node, \"OptionalMemberExpression\");\n } else {\n return this.finishNode(node, \"MemberExpression\");\n }\n }\n parseBind(base, startLoc, noCalls, state) {\n const node = this.startNodeAt(startLoc);\n node.object = base;\n this.next();\n node.callee = this.parseNoCallExpr();\n state.stop = true;\n return this.parseSubscripts(this.finishNode(node, \"BindExpression\"), startLoc, noCalls);\n }\n parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional) {\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n let refExpressionErrors = null;\n this.state.maybeInArrowParameters = true;\n this.next();\n const node = this.startNodeAt(startLoc);\n node.callee = base;\n const {\n maybeAsyncArrow,\n optionalChainMember\n } = state;\n if (maybeAsyncArrow) {\n this.expressionScope.enter(newAsyncArrowScope());\n refExpressionErrors = new ExpressionErrors();\n }\n if (optionalChainMember) {\n node.optional = optional;\n }\n if (optional) {\n node.arguments = this.parseCallExpressionArguments(11);\n } else {\n node.arguments = this.parseCallExpressionArguments(11, base.type !== \"Super\", node, refExpressionErrors);\n }\n let finishedNode = this.finishCallExpression(node, optionalChainMember);\n if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) {\n state.stop = true;\n this.checkDestructuringPrivate(refExpressionErrors);\n this.expressionScope.validateAsPattern();\n this.expressionScope.exit();\n finishedNode = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startLoc), finishedNode);\n } else {\n if (maybeAsyncArrow) {\n this.checkExpressionErrors(refExpressionErrors, true);\n this.expressionScope.exit();\n }\n this.toReferencedArguments(finishedNode);\n }\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n return finishedNode;\n }\n toReferencedArguments(node, isParenthesizedExpr) {\n this.toReferencedListDeep(node.arguments, isParenthesizedExpr);\n }\n parseTaggedTemplateExpression(base, startLoc, state) {\n const node = this.startNodeAt(startLoc);\n node.tag = base;\n node.quasi = this.parseTemplate(true);\n if (state.optionalChainMember) {\n this.raise(Errors.OptionalChainingNoTemplate, startLoc);\n }\n return this.finishNode(node, \"TaggedTemplateExpression\");\n }\n atPossibleAsyncArrow(base) {\n return base.type === \"Identifier\" && base.name === \"async\" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && this.offsetToSourcePos(base.start) === this.state.potentialArrowAt;\n }\n finishCallExpression(node, optional) {\n if (node.callee.type === \"Import\") {\n if (node.arguments.length === 0 || node.arguments.length > 2) {\n this.raise(Errors.ImportCallArity, node);\n } else {\n for (const arg of node.arguments) {\n if (arg.type === \"SpreadElement\") {\n this.raise(Errors.ImportCallSpreadArgument, arg);\n }\n }\n }\n }\n return this.finishNode(node, optional ? \"OptionalCallExpression\" : \"CallExpression\");\n }\n parseCallExpressionArguments(close, allowPlaceholder, nodeForExtra, refExpressionErrors) {\n const elts = [];\n let first = true;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n if (this.match(close)) {\n if (nodeForExtra) {\n this.addTrailingCommaExtraToNode(nodeForExtra);\n }\n this.next();\n break;\n }\n }\n elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder));\n }\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n return elts;\n }\n shouldParseAsyncArrow() {\n return this.match(19) && !this.canInsertSemicolon();\n }\n parseAsyncArrowFromCallExpression(node, call) {\n var _call$extra;\n this.resetPreviousNodeTrailingComments(call);\n this.expect(19);\n this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc);\n if (call.innerComments) {\n setInnerComments(node, call.innerComments);\n }\n if (call.callee.trailingComments) {\n setInnerComments(node, call.callee.trailingComments);\n }\n return node;\n }\n parseNoCallExpr() {\n const startLoc = this.state.startLoc;\n return this.parseSubscripts(this.parseExprAtom(), startLoc, true);\n }\n parseExprAtom(refExpressionErrors) {\n let node;\n let decorators = null;\n const {\n type\n } = this.state;\n switch (type) {\n case 79:\n return this.parseSuper();\n case 83:\n node = this.startNode();\n this.next();\n if (this.match(16)) {\n return this.parseImportMetaProperty(node);\n }\n if (this.match(10)) {\n if (this.options.createImportExpressions) {\n return this.parseImportCall(node);\n } else {\n return this.finishNode(node, \"Import\");\n }\n } else {\n this.raise(Errors.UnsupportedImport, this.state.lastTokStartLoc);\n return this.finishNode(node, \"Import\");\n }\n case 78:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\");\n case 90:\n {\n return this.parseDo(this.startNode(), false);\n }\n case 56:\n case 31:\n {\n this.readRegexp();\n return this.parseRegExpLiteral(this.state.value);\n }\n case 135:\n return this.parseNumericLiteral(this.state.value);\n case 136:\n return this.parseBigIntLiteral(this.state.value);\n case 134:\n return this.parseStringLiteral(this.state.value);\n case 84:\n return this.parseNullLiteral();\n case 85:\n return this.parseBooleanLiteral(true);\n case 86:\n return this.parseBooleanLiteral(false);\n case 10:\n {\n const canBeArrow = this.state.potentialArrowAt === this.state.start;\n return this.parseParenAndDistinguishExpression(canBeArrow);\n }\n case 2:\n case 1:\n {\n return this.parseArrayLike(this.state.type === 2 ? 4 : 3, false, true);\n }\n case 0:\n {\n return this.parseArrayLike(3, true, false, refExpressionErrors);\n }\n case 6:\n case 7:\n {\n return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true);\n }\n case 5:\n {\n return this.parseObjectLike(8, false, false, refExpressionErrors);\n }\n case 68:\n return this.parseFunctionOrFunctionSent();\n case 26:\n decorators = this.parseDecorators();\n case 80:\n return this.parseClass(this.maybeTakeDecorators(decorators, this.startNode()), false);\n case 77:\n return this.parseNewOrNewTarget();\n case 25:\n case 24:\n return this.parseTemplate(false);\n case 15:\n {\n node = this.startNode();\n this.next();\n node.object = null;\n const callee = node.callee = this.parseNoCallExpr();\n if (callee.type === \"MemberExpression\") {\n return this.finishNode(node, \"BindExpression\");\n } else {\n throw this.raise(Errors.UnsupportedBind, callee);\n }\n }\n case 139:\n {\n this.raise(Errors.PrivateInExpectedIn, this.state.startLoc, {\n identifierName: this.state.value\n });\n return this.parsePrivateName();\n }\n case 33:\n {\n return this.parseTopicReferenceThenEqualsSign(54, \"%\");\n }\n case 32:\n {\n return this.parseTopicReferenceThenEqualsSign(44, \"^\");\n }\n case 37:\n case 38:\n {\n return this.parseTopicReference(\"hack\");\n }\n case 44:\n case 54:\n case 27:\n {\n const pipeProposal = this.getPluginOption(\"pipelineOperator\", \"proposal\");\n if (pipeProposal) {\n return this.parseTopicReference(pipeProposal);\n }\n this.unexpected();\n break;\n }\n case 47:\n {\n const lookaheadCh = this.input.codePointAt(this.nextTokenStart());\n if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) {\n this.expectOnePlugin([\"jsx\", \"flow\", \"typescript\"]);\n } else {\n this.unexpected();\n }\n break;\n }\n default:\n if (type === 137) {\n return this.parseDecimalLiteral(this.state.value);\n }\n if (tokenIsIdentifier(type)) {\n if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123) {\n return this.parseModuleExpression();\n }\n const canBeArrow = this.state.potentialArrowAt === this.state.start;\n const containsEsc = this.state.containsEsc;\n const id = this.parseIdentifier();\n if (!containsEsc && id.name === \"async\" && !this.canInsertSemicolon()) {\n const {\n type\n } = this.state;\n if (type === 68) {\n this.resetPreviousNodeTrailingComments(id);\n this.next();\n return this.parseAsyncFunctionExpression(this.startNodeAtNode(id));\n } else if (tokenIsIdentifier(type)) {\n if (this.lookaheadCharCode() === 61) {\n return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id));\n } else {\n return id;\n }\n } else if (type === 90) {\n this.resetPreviousNodeTrailingComments(id);\n return this.parseDo(this.startNodeAtNode(id), true);\n }\n }\n if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) {\n this.next();\n return this.parseArrowExpression(this.startNodeAtNode(id), [id], false);\n }\n return id;\n } else {\n this.unexpected();\n }\n }\n }\n parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) {\n const pipeProposal = this.getPluginOption(\"pipelineOperator\", \"proposal\");\n if (pipeProposal) {\n this.state.type = topicTokenType;\n this.state.value = topicTokenValue;\n this.state.pos--;\n this.state.end--;\n this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1);\n return this.parseTopicReference(pipeProposal);\n } else {\n this.unexpected();\n }\n }\n parseTopicReference(pipeProposal) {\n const node = this.startNode();\n const startLoc = this.state.startLoc;\n const tokenType = this.state.type;\n this.next();\n return this.finishTopicReference(node, startLoc, pipeProposal, tokenType);\n }\n finishTopicReference(node, startLoc, pipeProposal, tokenType) {\n if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) {\n const nodeType = pipeProposal === \"smart\" ? \"PipelinePrimaryTopicReference\" : \"TopicReference\";\n if (!this.topicReferenceIsAllowedInCurrentContext()) {\n this.raise(pipeProposal === \"smart\" ? Errors.PrimaryTopicNotAllowed : Errors.PipeTopicUnbound, startLoc);\n }\n this.registerTopicReference();\n return this.finishNode(node, nodeType);\n } else {\n throw this.raise(Errors.PipeTopicUnconfiguredToken, startLoc, {\n token: tokenLabelName(tokenType)\n });\n }\n }\n testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) {\n switch (pipeProposal) {\n case \"hack\":\n {\n return this.hasPlugin([\"pipelineOperator\", {\n topicToken: tokenLabelName(tokenType)\n }]);\n }\n case \"smart\":\n return tokenType === 27;\n default:\n throw this.raise(Errors.PipeTopicRequiresHackPipes, startLoc);\n }\n }\n parseAsyncArrowUnaryFunction(node) {\n this.prodParam.enter(functionFlags(true, this.prodParam.hasYield));\n const params = [this.parseIdentifier()];\n this.prodParam.exit();\n if (this.hasPrecedingLineBreak()) {\n this.raise(Errors.LineTerminatorBeforeArrow, this.state.curPosition());\n }\n this.expect(19);\n return this.parseArrowExpression(node, params, true);\n }\n parseDo(node, isAsync) {\n this.expectPlugin(\"doExpressions\");\n if (isAsync) {\n this.expectPlugin(\"asyncDoExpressions\");\n }\n node.async = isAsync;\n this.next();\n const oldLabels = this.state.labels;\n this.state.labels = [];\n if (isAsync) {\n this.prodParam.enter(2);\n node.body = this.parseBlock();\n this.prodParam.exit();\n } else {\n node.body = this.parseBlock();\n }\n this.state.labels = oldLabels;\n return this.finishNode(node, \"DoExpression\");\n }\n parseSuper() {\n const node = this.startNode();\n this.next();\n if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) {\n this.raise(Errors.SuperNotAllowed, node);\n } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) {\n this.raise(Errors.UnexpectedSuper, node);\n }\n if (!this.match(10) && !this.match(0) && !this.match(16)) {\n this.raise(Errors.UnsupportedSuper, node);\n }\n return this.finishNode(node, \"Super\");\n }\n parsePrivateName() {\n const node = this.startNode();\n const id = this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc, 1));\n const name = this.state.value;\n this.next();\n node.id = this.createIdentifier(id, name);\n return this.finishNode(node, \"PrivateName\");\n }\n parseFunctionOrFunctionSent() {\n const node = this.startNode();\n this.next();\n if (this.prodParam.hasYield && this.match(16)) {\n const meta = this.createIdentifier(this.startNodeAtNode(node), \"function\");\n this.next();\n if (this.match(103)) {\n this.expectPlugin(\"functionSent\");\n } else if (!this.hasPlugin(\"functionSent\")) {\n this.unexpected();\n }\n return this.parseMetaProperty(node, meta, \"sent\");\n }\n return this.parseFunction(node);\n }\n parseMetaProperty(node, meta, propertyName) {\n node.meta = meta;\n const containsEsc = this.state.containsEsc;\n node.property = this.parseIdentifier(true);\n if (node.property.name !== propertyName || containsEsc) {\n this.raise(Errors.UnsupportedMetaProperty, node.property, {\n target: meta.name,\n onlyValidPropertyName: propertyName\n });\n }\n return this.finishNode(node, \"MetaProperty\");\n }\n parseImportMetaProperty(node) {\n const id = this.createIdentifier(this.startNodeAtNode(node), \"import\");\n this.next();\n if (this.isContextual(101)) {\n if (!this.inModule) {\n this.raise(Errors.ImportMetaOutsideModule, id);\n }\n this.sawUnambiguousESM = true;\n } else if (this.isContextual(105) || this.isContextual(97)) {\n const isSource = this.isContextual(105);\n if (!isSource) this.unexpected();\n this.expectPlugin(isSource ? \"sourcePhaseImports\" : \"deferredImportEvaluation\");\n if (!this.options.createImportExpressions) {\n throw this.raise(Errors.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, {\n phase: this.state.value\n });\n }\n this.next();\n node.phase = isSource ? \"source\" : \"defer\";\n return this.parseImportCall(node);\n }\n return this.parseMetaProperty(node, id, \"meta\");\n }\n parseLiteralAtNode(value, type, node) {\n this.addExtra(node, \"rawValue\", value);\n this.addExtra(node, \"raw\", this.input.slice(this.offsetToSourcePos(node.start), this.state.end));\n node.value = value;\n this.next();\n return this.finishNode(node, type);\n }\n parseLiteral(value, type) {\n const node = this.startNode();\n return this.parseLiteralAtNode(value, type, node);\n }\n parseStringLiteral(value) {\n return this.parseLiteral(value, \"StringLiteral\");\n }\n parseNumericLiteral(value) {\n return this.parseLiteral(value, \"NumericLiteral\");\n }\n parseBigIntLiteral(value) {\n return this.parseLiteral(value, \"BigIntLiteral\");\n }\n parseDecimalLiteral(value) {\n return this.parseLiteral(value, \"DecimalLiteral\");\n }\n parseRegExpLiteral(value) {\n const node = this.startNode();\n this.addExtra(node, \"raw\", this.input.slice(this.offsetToSourcePos(node.start), this.state.end));\n node.pattern = value.pattern;\n node.flags = value.flags;\n this.next();\n return this.finishNode(node, \"RegExpLiteral\");\n }\n parseBooleanLiteral(value) {\n const node = this.startNode();\n node.value = value;\n this.next();\n return this.finishNode(node, \"BooleanLiteral\");\n }\n parseNullLiteral() {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, \"NullLiteral\");\n }\n parseParenAndDistinguishExpression(canBeArrow) {\n const startLoc = this.state.startLoc;\n let val;\n this.next();\n this.expressionScope.enter(newArrowHeadScope());\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.maybeInArrowParameters = true;\n this.state.inFSharpPipelineDirectBody = false;\n const innerStartLoc = this.state.startLoc;\n const exprList = [];\n const refExpressionErrors = new ExpressionErrors();\n let first = true;\n let spreadStartLoc;\n let optionalCommaStartLoc;\n while (!this.match(11)) {\n if (first) {\n first = false;\n } else {\n this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc);\n if (this.match(11)) {\n optionalCommaStartLoc = this.state.startLoc;\n break;\n }\n }\n if (this.match(21)) {\n const spreadNodeStartLoc = this.state.startLoc;\n spreadStartLoc = this.state.startLoc;\n exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartLoc));\n if (!this.checkCommaAfterRest(41)) {\n break;\n }\n } else {\n exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem));\n }\n }\n const innerEndLoc = this.state.lastTokEndLoc;\n this.expect(11);\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n let arrowNode = this.startNodeAt(startLoc);\n if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) {\n this.checkDestructuringPrivate(refExpressionErrors);\n this.expressionScope.validateAsPattern();\n this.expressionScope.exit();\n this.parseArrowExpression(arrowNode, exprList, false);\n return arrowNode;\n }\n this.expressionScope.exit();\n if (!exprList.length) {\n this.unexpected(this.state.lastTokStartLoc);\n }\n if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc);\n if (spreadStartLoc) this.unexpected(spreadStartLoc);\n this.checkExpressionErrors(refExpressionErrors, true);\n this.toReferencedListDeep(exprList, true);\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartLoc);\n val.expressions = exprList;\n this.finishNode(val, \"SequenceExpression\");\n this.resetEndLocation(val, innerEndLoc);\n } else {\n val = exprList[0];\n }\n return this.wrapParenthesis(startLoc, val);\n }\n wrapParenthesis(startLoc, expression) {\n if (!this.options.createParenthesizedExpressions) {\n this.addExtra(expression, \"parenthesized\", true);\n this.addExtra(expression, \"parenStart\", startLoc.index);\n this.takeSurroundingComments(expression, startLoc.index, this.state.lastTokEndLoc.index);\n return expression;\n }\n const parenExpression = this.startNodeAt(startLoc);\n parenExpression.expression = expression;\n return this.finishNode(parenExpression, \"ParenthesizedExpression\");\n }\n shouldParseArrow(params) {\n return !this.canInsertSemicolon();\n }\n parseArrow(node) {\n if (this.eat(19)) {\n return node;\n }\n }\n parseParenItem(node, startLoc) {\n return node;\n }\n parseNewOrNewTarget() {\n const node = this.startNode();\n this.next();\n if (this.match(16)) {\n const meta = this.createIdentifier(this.startNodeAtNode(node), \"new\");\n this.next();\n const metaProp = this.parseMetaProperty(node, meta, \"target\");\n if (!this.scope.inNonArrowFunction && !this.scope.inClass && !this.options.allowNewTargetOutsideFunction) {\n this.raise(Errors.UnexpectedNewTarget, metaProp);\n }\n return metaProp;\n }\n return this.parseNew(node);\n }\n parseNew(node) {\n this.parseNewCallee(node);\n if (this.eat(10)) {\n const args = this.parseExprList(11);\n this.toReferencedList(args);\n node.arguments = args;\n } else {\n node.arguments = [];\n }\n return this.finishNode(node, \"NewExpression\");\n }\n parseNewCallee(node) {\n const isImport = this.match(83);\n const callee = this.parseNoCallExpr();\n node.callee = callee;\n if (isImport && (callee.type === \"Import\" || callee.type === \"ImportExpression\")) {\n this.raise(Errors.ImportCallNotNewExpression, callee);\n }\n }\n parseTemplateElement(isTagged) {\n const {\n start,\n startLoc,\n end,\n value\n } = this.state;\n const elemStart = start + 1;\n const elem = this.startNodeAt(createPositionWithColumnOffset(startLoc, 1));\n if (value === null) {\n if (!isTagged) {\n this.raise(Errors.InvalidEscapeSequenceTemplate, createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos, 1));\n }\n }\n const isTail = this.match(24);\n const endOffset = isTail ? -1 : -2;\n const elemEnd = end + endOffset;\n elem.value = {\n raw: this.input.slice(elemStart, elemEnd).replace(/\\r\\n?/g, \"\\n\"),\n cooked: value === null ? null : value.slice(1, endOffset)\n };\n elem.tail = isTail;\n this.next();\n const finishedNode = this.finishNode(elem, \"TemplateElement\");\n this.resetEndLocation(finishedNode, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset));\n return finishedNode;\n }\n parseTemplate(isTagged) {\n const node = this.startNode();\n let curElt = this.parseTemplateElement(isTagged);\n const quasis = [curElt];\n const substitutions = [];\n while (!curElt.tail) {\n substitutions.push(this.parseTemplateSubstitution());\n this.readTemplateContinuation();\n quasis.push(curElt = this.parseTemplateElement(isTagged));\n }\n node.expressions = substitutions;\n node.quasis = quasis;\n return this.finishNode(node, \"TemplateLiteral\");\n }\n parseTemplateSubstitution() {\n return this.parseExpression();\n }\n parseObjectLike(close, isPattern, isRecord, refExpressionErrors) {\n if (isRecord) {\n this.expectPlugin(\"recordAndTuple\");\n }\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n const propHash = Object.create(null);\n let first = true;\n const node = this.startNode();\n node.properties = [];\n this.next();\n while (!this.match(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n if (this.match(close)) {\n this.addTrailingCommaExtraToNode(node);\n break;\n }\n }\n let prop;\n if (isPattern) {\n prop = this.parseBindingProperty();\n } else {\n prop = this.parsePropertyDefinition(refExpressionErrors);\n this.checkProto(prop, isRecord, propHash, refExpressionErrors);\n }\n if (isRecord && !this.isObjectProperty(prop) && prop.type !== \"SpreadElement\") {\n this.raise(Errors.InvalidRecordProperty, prop);\n }\n {\n if (prop.shorthand) {\n this.addExtra(prop, \"shorthand\", true);\n }\n }\n node.properties.push(prop);\n }\n this.next();\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n let type = \"ObjectExpression\";\n if (isPattern) {\n type = \"ObjectPattern\";\n } else if (isRecord) {\n type = \"RecordExpression\";\n }\n return this.finishNode(node, type);\n }\n addTrailingCommaExtraToNode(node) {\n this.addExtra(node, \"trailingComma\", this.state.lastTokStartLoc.index);\n this.addExtra(node, \"trailingCommaLoc\", this.state.lastTokStartLoc, false);\n }\n maybeAsyncOrAccessorProp(prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));\n }\n parsePropertyDefinition(refExpressionErrors) {\n let decorators = [];\n if (this.match(26)) {\n if (this.hasPlugin(\"decorators\")) {\n this.raise(Errors.UnsupportedPropertyDecorator, this.state.startLoc);\n }\n while (this.match(26)) {\n decorators.push(this.parseDecorator());\n }\n }\n const prop = this.startNode();\n let isAsync = false;\n let isAccessor = false;\n let startLoc;\n if (this.match(21)) {\n if (decorators.length) this.unexpected();\n return this.parseSpread();\n }\n if (decorators.length) {\n prop.decorators = decorators;\n decorators = [];\n }\n prop.method = false;\n if (refExpressionErrors) {\n startLoc = this.state.startLoc;\n }\n let isGenerator = this.eat(55);\n this.parsePropertyNamePrefixOperator(prop);\n const containsEsc = this.state.containsEsc;\n this.parsePropertyName(prop, refExpressionErrors);\n if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) {\n const {\n key\n } = prop;\n const keyName = key.name;\n if (keyName === \"async\" && !this.hasPrecedingLineBreak()) {\n isAsync = true;\n this.resetPreviousNodeTrailingComments(key);\n isGenerator = this.eat(55);\n this.parsePropertyName(prop);\n }\n if (keyName === \"get\" || keyName === \"set\") {\n isAccessor = true;\n this.resetPreviousNodeTrailingComments(key);\n prop.kind = keyName;\n if (this.match(55)) {\n isGenerator = true;\n this.raise(Errors.AccessorIsGenerator, this.state.curPosition(), {\n kind: keyName\n });\n this.next();\n }\n this.parsePropertyName(prop);\n }\n }\n return this.parseObjPropValue(prop, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors);\n }\n getGetterSetterExpectedParamCount(method) {\n return method.kind === \"get\" ? 0 : 1;\n }\n getObjectOrClassMethodParams(method) {\n return method.params;\n }\n checkGetterSetterParams(method) {\n var _params;\n const paramCount = this.getGetterSetterExpectedParamCount(method);\n const params = this.getObjectOrClassMethodParams(method);\n if (params.length !== paramCount) {\n this.raise(method.kind === \"get\" ? Errors.BadGetterArity : Errors.BadSetterArity, method);\n }\n if (method.kind === \"set\" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === \"RestElement\") {\n this.raise(Errors.BadSetterRestParameter, method);\n }\n }\n parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {\n if (isAccessor) {\n const finishedProp = this.parseMethod(prop, isGenerator, false, false, false, \"ObjectMethod\");\n this.checkGetterSetterParams(finishedProp);\n return finishedProp;\n }\n if (isAsync || isGenerator || this.match(10)) {\n if (isPattern) this.unexpected();\n prop.kind = \"method\";\n prop.method = true;\n return this.parseMethod(prop, isGenerator, isAsync, false, false, \"ObjectMethod\");\n }\n }\n parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) {\n prop.shorthand = false;\n if (this.eat(14)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors);\n return this.finishNode(prop, \"ObjectProperty\");\n }\n if (!prop.computed && prop.key.type === \"Identifier\") {\n this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false);\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key));\n } else if (this.match(29)) {\n const shorthandAssignLoc = this.state.startLoc;\n if (refExpressionErrors != null) {\n if (refExpressionErrors.shorthandAssignLoc === null) {\n refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc;\n }\n } else {\n this.raise(Errors.InvalidCoverInitializedName, shorthandAssignLoc);\n }\n prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key));\n } else {\n prop.value = cloneIdentifier(prop.key);\n }\n prop.shorthand = true;\n return this.finishNode(prop, \"ObjectProperty\");\n }\n }\n parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {\n const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors);\n if (!node) this.unexpected();\n return node;\n }\n parsePropertyName(prop, refExpressionErrors) {\n if (this.eat(0)) {\n prop.computed = true;\n prop.key = this.parseMaybeAssignAllowIn();\n this.expect(3);\n } else {\n const {\n type,\n value\n } = this.state;\n let key;\n if (tokenIsKeywordOrIdentifier(type)) {\n key = this.parseIdentifier(true);\n } else {\n switch (type) {\n case 135:\n key = this.parseNumericLiteral(value);\n break;\n case 134:\n key = this.parseStringLiteral(value);\n break;\n case 136:\n key = this.parseBigIntLiteral(value);\n break;\n case 139:\n {\n const privateKeyLoc = this.state.startLoc;\n if (refExpressionErrors != null) {\n if (refExpressionErrors.privateKeyLoc === null) {\n refExpressionErrors.privateKeyLoc = privateKeyLoc;\n }\n } else {\n this.raise(Errors.UnexpectedPrivateField, privateKeyLoc);\n }\n key = this.parsePrivateName();\n break;\n }\n default:\n if (type === 137) {\n key = this.parseDecimalLiteral(value);\n break;\n }\n this.unexpected();\n }\n }\n prop.key = key;\n if (type !== 139) {\n prop.computed = false;\n }\n }\n }\n initFunction(node, isAsync) {\n node.id = null;\n node.generator = false;\n node.async = isAsync;\n }\n parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) {\n this.initFunction(node, isAsync);\n node.generator = isGenerator;\n this.scope.enter(2 | 16 | (inClassScope ? 64 : 0) | (allowDirectSuper ? 32 : 0));\n this.prodParam.enter(functionFlags(isAsync, node.generator));\n this.parseFunctionParams(node, isConstructor);\n const finishedNode = this.parseFunctionBodyAndFinish(node, type, true);\n this.prodParam.exit();\n this.scope.exit();\n return finishedNode;\n }\n parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {\n if (isTuple) {\n this.expectPlugin(\"recordAndTuple\");\n }\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n const node = this.startNode();\n this.next();\n node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node);\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n return this.finishNode(node, isTuple ? \"TupleExpression\" : \"ArrayExpression\");\n }\n parseArrowExpression(node, params, isAsync, trailingCommaLoc) {\n this.scope.enter(2 | 4);\n let flags = functionFlags(isAsync, false);\n if (!this.match(5) && this.prodParam.hasIn) {\n flags |= 8;\n }\n this.prodParam.enter(flags);\n this.initFunction(node, isAsync);\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n if (params) {\n this.state.maybeInArrowParameters = true;\n this.setArrowFunctionParameters(node, params, trailingCommaLoc);\n }\n this.state.maybeInArrowParameters = false;\n this.parseFunctionBody(node, true);\n this.prodParam.exit();\n this.scope.exit();\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n return this.finishNode(node, \"ArrowFunctionExpression\");\n }\n setArrowFunctionParameters(node, params, trailingCommaLoc) {\n this.toAssignableList(params, trailingCommaLoc, false);\n node.params = params;\n }\n parseFunctionBodyAndFinish(node, type, isMethod = false) {\n this.parseFunctionBody(node, false, isMethod);\n return this.finishNode(node, type);\n }\n parseFunctionBody(node, allowExpression, isMethod = false) {\n const isExpression = allowExpression && !this.match(5);\n this.expressionScope.enter(newExpressionScope());\n if (isExpression) {\n node.body = this.parseMaybeAssign();\n this.checkParams(node, false, allowExpression, false);\n } else {\n const oldStrict = this.state.strict;\n const oldLabels = this.state.labels;\n this.state.labels = [];\n this.prodParam.enter(this.prodParam.currentFlags() | 4);\n node.body = this.parseBlock(true, false, hasStrictModeDirective => {\n const nonSimple = !this.isSimpleParamList(node.params);\n if (hasStrictModeDirective && nonSimple) {\n this.raise(Errors.IllegalLanguageModeDirective, (node.kind === \"method\" || node.kind === \"constructor\") && !!node.key ? node.key.loc.end : node);\n }\n const strictModeChanged = !oldStrict && this.state.strict;\n this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged);\n if (this.state.strict && node.id) {\n this.checkIdentifier(node.id, 65, strictModeChanged);\n }\n });\n this.prodParam.exit();\n this.state.labels = oldLabels;\n }\n this.expressionScope.exit();\n }\n isSimpleParameter(node) {\n return node.type === \"Identifier\";\n }\n isSimpleParamList(params) {\n for (let i = 0, len = params.length; i < len; i++) {\n if (!this.isSimpleParameter(params[i])) return false;\n }\n return true;\n }\n checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) {\n const checkClashes = !allowDuplicates && new Set();\n const formalParameters = {\n type: \"FormalParameters\"\n };\n for (const param of node.params) {\n this.checkLVal(param, formalParameters, 5, checkClashes, strictModeChanged);\n }\n }\n parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) {\n const elts = [];\n let first = true;\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n if (this.match(close)) {\n if (nodeForExtra) {\n this.addTrailingCommaExtraToNode(nodeForExtra);\n }\n this.next();\n break;\n }\n }\n elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors));\n }\n return elts;\n }\n parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) {\n let elt;\n if (this.match(12)) {\n if (!allowEmpty) {\n this.raise(Errors.UnexpectedToken, this.state.curPosition(), {\n unexpected: \",\"\n });\n }\n elt = null;\n } else if (this.match(21)) {\n const spreadNodeStartLoc = this.state.startLoc;\n elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartLoc);\n } else if (this.match(17)) {\n this.expectPlugin(\"partialApplication\");\n if (!allowPlaceholder) {\n this.raise(Errors.UnexpectedArgumentPlaceholder, this.state.startLoc);\n }\n const node = this.startNode();\n this.next();\n elt = this.finishNode(node, \"ArgumentPlaceholder\");\n } else {\n elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem);\n }\n return elt;\n }\n parseIdentifier(liberal) {\n const node = this.startNode();\n const name = this.parseIdentifierName(liberal);\n return this.createIdentifier(node, name);\n }\n createIdentifier(node, name) {\n node.name = name;\n node.loc.identifierName = name;\n return this.finishNode(node, \"Identifier\");\n }\n parseIdentifierName(liberal) {\n let name;\n const {\n startLoc,\n type\n } = this.state;\n if (tokenIsKeywordOrIdentifier(type)) {\n name = this.state.value;\n } else {\n this.unexpected();\n }\n const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type);\n if (liberal) {\n if (tokenIsKeyword) {\n this.replaceToken(132);\n }\n } else {\n this.checkReservedWord(name, startLoc, tokenIsKeyword, false);\n }\n this.next();\n return name;\n }\n checkReservedWord(word, startLoc, checkKeywords, isBinding) {\n if (word.length > 10) {\n return;\n }\n if (!canBeReservedWord(word)) {\n return;\n }\n if (checkKeywords && isKeyword(word)) {\n this.raise(Errors.UnexpectedKeyword, startLoc, {\n keyword: word\n });\n return;\n }\n const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord;\n if (reservedTest(word, this.inModule)) {\n this.raise(Errors.UnexpectedReservedWord, startLoc, {\n reservedWord: word\n });\n return;\n } else if (word === \"yield\") {\n if (this.prodParam.hasYield) {\n this.raise(Errors.YieldBindingIdentifier, startLoc);\n return;\n }\n } else if (word === \"await\") {\n if (this.prodParam.hasAwait) {\n this.raise(Errors.AwaitBindingIdentifier, startLoc);\n return;\n }\n if (this.scope.inStaticBlock) {\n this.raise(Errors.AwaitBindingIdentifierInStaticBlock, startLoc);\n return;\n }\n this.expressionScope.recordAsyncArrowParametersError(startLoc);\n } else if (word === \"arguments\") {\n if (this.scope.inClassAndNotInNonArrowFunction) {\n this.raise(Errors.ArgumentsInClass, startLoc);\n return;\n }\n }\n }\n recordAwaitIfAllowed() {\n const isAwaitAllowed = this.prodParam.hasAwait || this.options.allowAwaitOutsideFunction && !this.scope.inFunction;\n if (isAwaitAllowed && !this.scope.inFunction) {\n this.state.hasTopLevelAwait = true;\n }\n return isAwaitAllowed;\n }\n parseAwait(startLoc) {\n const node = this.startNodeAt(startLoc);\n this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, node);\n if (this.eat(55)) {\n this.raise(Errors.ObsoleteAwaitStar, node);\n }\n if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) {\n if (this.isAmbiguousAwait()) {\n this.ambiguousScriptDifferentAst = true;\n } else {\n this.sawUnambiguousESM = true;\n }\n }\n if (!this.state.soloAwait) {\n node.argument = this.parseMaybeUnary(null, true);\n }\n return this.finishNode(node, \"AwaitExpression\");\n }\n isAmbiguousAwait() {\n if (this.hasPrecedingLineBreak()) return true;\n const {\n type\n } = this.state;\n return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 138 || type === 56 || this.hasPlugin(\"v8intrinsic\") && type === 54;\n }\n parseYield() {\n const node = this.startNode();\n this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, node);\n this.next();\n let delegating = false;\n let argument = null;\n if (!this.hasPrecedingLineBreak()) {\n delegating = this.eat(55);\n switch (this.state.type) {\n case 13:\n case 140:\n case 8:\n case 11:\n case 3:\n case 9:\n case 14:\n case 12:\n if (!delegating) break;\n default:\n argument = this.parseMaybeAssign();\n }\n }\n node.delegate = delegating;\n node.argument = argument;\n return this.finishNode(node, \"YieldExpression\");\n }\n parseImportCall(node) {\n this.next();\n node.source = this.parseMaybeAssignAllowIn();\n node.options = null;\n if (this.eat(12)) {\n if (!this.match(11)) {\n node.options = this.parseMaybeAssignAllowIn();\n if (this.eat(12) && !this.match(11)) {\n do {\n this.parseMaybeAssignAllowIn();\n } while (this.eat(12) && !this.match(11));\n this.raise(Errors.ImportCallArity, node);\n }\n }\n }\n this.expect(11);\n return this.finishNode(node, \"ImportExpression\");\n }\n checkPipelineAtInfixOperator(left, leftStartLoc) {\n if (this.hasPlugin([\"pipelineOperator\", {\n proposal: \"smart\"\n }])) {\n if (left.type === \"SequenceExpression\") {\n this.raise(Errors.PipelineHeadSequenceExpression, leftStartLoc);\n }\n }\n }\n parseSmartPipelineBodyInStyle(childExpr, startLoc) {\n if (this.isSimpleReference(childExpr)) {\n const bodyNode = this.startNodeAt(startLoc);\n bodyNode.callee = childExpr;\n return this.finishNode(bodyNode, \"PipelineBareFunction\");\n } else {\n const bodyNode = this.startNodeAt(startLoc);\n this.checkSmartPipeTopicBodyEarlyErrors(startLoc);\n bodyNode.expression = childExpr;\n return this.finishNode(bodyNode, \"PipelineTopicExpression\");\n }\n }\n isSimpleReference(expression) {\n switch (expression.type) {\n case \"MemberExpression\":\n return !expression.computed && this.isSimpleReference(expression.object);\n case \"Identifier\":\n return true;\n default:\n return false;\n }\n }\n checkSmartPipeTopicBodyEarlyErrors(startLoc) {\n if (this.match(19)) {\n throw this.raise(Errors.PipelineBodyNoArrow, this.state.startLoc);\n }\n if (!this.topicReferenceWasUsedInCurrentContext()) {\n this.raise(Errors.PipelineTopicUnused, startLoc);\n }\n }\n withTopicBindingContext(callback) {\n const outerContextTopicState = this.state.topicContext;\n this.state.topicContext = {\n maxNumOfResolvableTopics: 1,\n maxTopicIndex: null\n };\n try {\n return callback();\n } finally {\n this.state.topicContext = outerContextTopicState;\n }\n }\n withSmartMixTopicForbiddingContext(callback) {\n if (this.hasPlugin([\"pipelineOperator\", {\n proposal: \"smart\"\n }])) {\n const outerContextTopicState = this.state.topicContext;\n this.state.topicContext = {\n maxNumOfResolvableTopics: 0,\n maxTopicIndex: null\n };\n try {\n return callback();\n } finally {\n this.state.topicContext = outerContextTopicState;\n }\n } else {\n return callback();\n }\n }\n withSoloAwaitPermittingContext(callback) {\n const outerContextSoloAwaitState = this.state.soloAwait;\n this.state.soloAwait = true;\n try {\n return callback();\n } finally {\n this.state.soloAwait = outerContextSoloAwaitState;\n }\n }\n allowInAnd(callback) {\n const flags = this.prodParam.currentFlags();\n const prodParamToSet = 8 & ~flags;\n if (prodParamToSet) {\n this.prodParam.enter(flags | 8);\n try {\n return callback();\n } finally {\n this.prodParam.exit();\n }\n }\n return callback();\n }\n disallowInAnd(callback) {\n const flags = this.prodParam.currentFlags();\n const prodParamToClear = 8 & flags;\n if (prodParamToClear) {\n this.prodParam.enter(flags & ~8);\n try {\n return callback();\n } finally {\n this.prodParam.exit();\n }\n }\n return callback();\n }\n registerTopicReference() {\n this.state.topicContext.maxTopicIndex = 0;\n }\n topicReferenceIsAllowedInCurrentContext() {\n return this.state.topicContext.maxNumOfResolvableTopics >= 1;\n }\n topicReferenceWasUsedInCurrentContext() {\n return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;\n }\n parseFSharpPipelineBody(prec) {\n const startLoc = this.state.startLoc;\n this.state.potentialArrowAt = this.state.start;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = true;\n const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, prec);\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n return ret;\n }\n parseModuleExpression() {\n this.expectPlugin(\"moduleBlocks\");\n const node = this.startNode();\n this.next();\n if (!this.match(5)) {\n this.unexpected(null, 5);\n }\n const program = this.startNodeAt(this.state.endLoc);\n this.next();\n const revertScopes = this.initializeScopes(true);\n this.enterInitialScopes();\n try {\n node.body = this.parseProgram(program, 8, \"module\");\n } finally {\n revertScopes();\n }\n return this.finishNode(node, \"ModuleExpression\");\n }\n parsePropertyNamePrefixOperator(prop) {}\n}\nconst loopLabel = {\n kind: 1\n },\n switchLabel = {\n kind: 2\n };\nconst loneSurrogate = /[\\uD800-\\uDFFF]/u;\nconst keywordRelationalOperator = /in(?:stanceof)?/y;\nfunction babel7CompatTokens(tokens, input, startIndex) {\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n const {\n type\n } = token;\n if (typeof type === \"number\") {\n {\n if (type === 139) {\n const {\n loc,\n start,\n value,\n end\n } = token;\n const hashEndPos = start + 1;\n const hashEndLoc = createPositionWithColumnOffset(loc.start, 1);\n tokens.splice(i, 1, new Token({\n type: getExportedToken(27),\n value: \"#\",\n start: start,\n end: hashEndPos,\n startLoc: loc.start,\n endLoc: hashEndLoc\n }), new Token({\n type: getExportedToken(132),\n value: value,\n start: hashEndPos,\n end: end,\n startLoc: hashEndLoc,\n endLoc: loc.end\n }));\n i++;\n continue;\n }\n if (tokenIsTemplate(type)) {\n const {\n loc,\n start,\n value,\n end\n } = token;\n const backquoteEnd = start + 1;\n const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1);\n let startToken;\n if (input.charCodeAt(start - startIndex) === 96) {\n startToken = new Token({\n type: getExportedToken(22),\n value: \"`\",\n start: start,\n end: backquoteEnd,\n startLoc: loc.start,\n endLoc: backquoteEndLoc\n });\n } else {\n startToken = new Token({\n type: getExportedToken(8),\n value: \"}\",\n start: start,\n end: backquoteEnd,\n startLoc: loc.start,\n endLoc: backquoteEndLoc\n });\n }\n let templateValue, templateElementEnd, templateElementEndLoc, endToken;\n if (type === 24) {\n templateElementEnd = end - 1;\n templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1);\n templateValue = value === null ? null : value.slice(1, -1);\n endToken = new Token({\n type: getExportedToken(22),\n value: \"`\",\n start: templateElementEnd,\n end: end,\n startLoc: templateElementEndLoc,\n endLoc: loc.end\n });\n } else {\n templateElementEnd = end - 2;\n templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2);\n templateValue = value === null ? null : value.slice(1, -2);\n endToken = new Token({\n type: getExportedToken(23),\n value: \"${\",\n start: templateElementEnd,\n end: end,\n startLoc: templateElementEndLoc,\n endLoc: loc.end\n });\n }\n tokens.splice(i, 1, startToken, new Token({\n type: getExportedToken(20),\n value: templateValue,\n start: backquoteEnd,\n end: templateElementEnd,\n startLoc: backquoteEndLoc,\n endLoc: templateElementEndLoc\n }), endToken);\n i += 2;\n continue;\n }\n }\n token.type = getExportedToken(type);\n }\n }\n return tokens;\n}\nclass StatementParser extends ExpressionParser {\n parseTopLevel(file, program) {\n file.program = this.parseProgram(program);\n file.comments = this.comments;\n if (this.options.tokens) {\n file.tokens = babel7CompatTokens(this.tokens, this.input, this.startIndex);\n }\n return this.finishNode(file, \"File\");\n }\n parseProgram(program, end = 140, sourceType = this.options.sourceType) {\n program.sourceType = sourceType;\n program.interpreter = this.parseInterpreterDirective();\n this.parseBlockBody(program, true, true, end);\n if (this.inModule) {\n if (!this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) {\n for (const [localName, at] of Array.from(this.scope.undefinedExports)) {\n this.raise(Errors.ModuleExportUndefined, at, {\n localName\n });\n }\n }\n this.addExtra(program, \"topLevelAwait\", this.state.hasTopLevelAwait);\n }\n let finishedProgram;\n if (end === 140) {\n finishedProgram = this.finishNode(program, \"Program\");\n } else {\n finishedProgram = this.finishNodeAt(program, \"Program\", createPositionWithColumnOffset(this.state.startLoc, -1));\n }\n return finishedProgram;\n }\n stmtToDirective(stmt) {\n const directive = stmt;\n directive.type = \"Directive\";\n directive.value = directive.expression;\n delete directive.expression;\n const directiveLiteral = directive.value;\n const expressionValue = directiveLiteral.value;\n const raw = this.input.slice(this.offsetToSourcePos(directiveLiteral.start), this.offsetToSourcePos(directiveLiteral.end));\n const val = directiveLiteral.value = raw.slice(1, -1);\n this.addExtra(directiveLiteral, \"raw\", raw);\n this.addExtra(directiveLiteral, \"rawValue\", val);\n this.addExtra(directiveLiteral, \"expressionValue\", expressionValue);\n directiveLiteral.type = \"DirectiveLiteral\";\n return directive;\n }\n parseInterpreterDirective() {\n if (!this.match(28)) {\n return null;\n }\n const node = this.startNode();\n node.value = this.state.value;\n this.next();\n return this.finishNode(node, \"InterpreterDirective\");\n }\n isLet() {\n if (!this.isContextual(100)) {\n return false;\n }\n return this.hasFollowingBindingAtom();\n }\n chStartsBindingIdentifier(ch, pos) {\n if (isIdentifierStart(ch)) {\n keywordRelationalOperator.lastIndex = pos;\n if (keywordRelationalOperator.test(this.input)) {\n const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex);\n if (!isIdentifierChar(endCh) && endCh !== 92) {\n return false;\n }\n }\n return true;\n } else if (ch === 92) {\n return true;\n } else {\n return false;\n }\n }\n chStartsBindingPattern(ch) {\n return ch === 91 || ch === 123;\n }\n hasFollowingBindingAtom() {\n const next = this.nextTokenStart();\n const nextCh = this.codePointAtPos(next);\n return this.chStartsBindingPattern(nextCh) || this.chStartsBindingIdentifier(nextCh, next);\n }\n hasInLineFollowingBindingIdentifierOrBrace() {\n const next = this.nextTokenInLineStart();\n const nextCh = this.codePointAtPos(next);\n return nextCh === 123 || this.chStartsBindingIdentifier(nextCh, next);\n }\n startsUsingForOf() {\n const {\n type,\n containsEsc\n } = this.lookahead();\n if (type === 102 && !containsEsc) {\n return false;\n } else if (tokenIsIdentifier(type) && !this.hasFollowingLineBreak()) {\n this.expectPlugin(\"explicitResourceManagement\");\n return true;\n }\n }\n startsAwaitUsing() {\n let next = this.nextTokenInLineStart();\n if (this.isUnparsedContextual(next, \"using\")) {\n next = this.nextTokenInLineStartSince(next + 5);\n const nextCh = this.codePointAtPos(next);\n if (this.chStartsBindingIdentifier(nextCh, next)) {\n this.expectPlugin(\"explicitResourceManagement\");\n return true;\n }\n }\n return false;\n }\n parseModuleItem() {\n return this.parseStatementLike(1 | 2 | 4 | 8);\n }\n parseStatementListItem() {\n return this.parseStatementLike(2 | 4 | (!this.options.annexB || this.state.strict ? 0 : 8));\n }\n parseStatementOrSloppyAnnexBFunctionDeclaration(allowLabeledFunction = false) {\n let flags = 0;\n if (this.options.annexB && !this.state.strict) {\n flags |= 4;\n if (allowLabeledFunction) {\n flags |= 8;\n }\n }\n return this.parseStatementLike(flags);\n }\n parseStatement() {\n return this.parseStatementLike(0);\n }\n parseStatementLike(flags) {\n let decorators = null;\n if (this.match(26)) {\n decorators = this.parseDecorators(true);\n }\n return this.parseStatementContent(flags, decorators);\n }\n parseStatementContent(flags, decorators) {\n const startType = this.state.type;\n const node = this.startNode();\n const allowDeclaration = !!(flags & 2);\n const allowFunctionDeclaration = !!(flags & 4);\n const topLevel = flags & 1;\n switch (startType) {\n case 60:\n return this.parseBreakContinueStatement(node, true);\n case 63:\n return this.parseBreakContinueStatement(node, false);\n case 64:\n return this.parseDebuggerStatement(node);\n case 90:\n return this.parseDoWhileStatement(node);\n case 91:\n return this.parseForStatement(node);\n case 68:\n if (this.lookaheadCharCode() === 46) break;\n if (!allowFunctionDeclaration) {\n this.raise(this.state.strict ? Errors.StrictFunction : this.options.annexB ? Errors.SloppyFunctionAnnexB : Errors.SloppyFunction, this.state.startLoc);\n }\n return this.parseFunctionStatement(node, false, !allowDeclaration && allowFunctionDeclaration);\n case 80:\n if (!allowDeclaration) this.unexpected();\n return this.parseClass(this.maybeTakeDecorators(decorators, node), true);\n case 69:\n return this.parseIfStatement(node);\n case 70:\n return this.parseReturnStatement(node);\n case 71:\n return this.parseSwitchStatement(node);\n case 72:\n return this.parseThrowStatement(node);\n case 73:\n return this.parseTryStatement(node);\n case 96:\n if (!this.state.containsEsc && this.startsAwaitUsing()) {\n if (!this.recordAwaitIfAllowed()) {\n this.raise(Errors.AwaitUsingNotInAsyncContext, node);\n } else if (!allowDeclaration) {\n this.raise(Errors.UnexpectedLexicalDeclaration, node);\n }\n this.next();\n return this.parseVarStatement(node, \"await using\");\n }\n break;\n case 107:\n if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace()) {\n break;\n }\n this.expectPlugin(\"explicitResourceManagement\");\n if (!this.scope.inModule && this.scope.inTopLevel) {\n this.raise(Errors.UnexpectedUsingDeclaration, this.state.startLoc);\n } else if (!allowDeclaration) {\n this.raise(Errors.UnexpectedLexicalDeclaration, this.state.startLoc);\n }\n return this.parseVarStatement(node, \"using\");\n case 100:\n {\n if (this.state.containsEsc) {\n break;\n }\n const next = this.nextTokenStart();\n const nextCh = this.codePointAtPos(next);\n if (nextCh !== 91) {\n if (!allowDeclaration && this.hasFollowingLineBreak()) break;\n if (!this.chStartsBindingIdentifier(nextCh, next) && nextCh !== 123) {\n break;\n }\n }\n }\n case 75:\n {\n if (!allowDeclaration) {\n this.raise(Errors.UnexpectedLexicalDeclaration, this.state.startLoc);\n }\n }\n case 74:\n {\n const kind = this.state.value;\n return this.parseVarStatement(node, kind);\n }\n case 92:\n return this.parseWhileStatement(node);\n case 76:\n return this.parseWithStatement(node);\n case 5:\n return this.parseBlock();\n case 13:\n return this.parseEmptyStatement(node);\n case 83:\n {\n const nextTokenCharCode = this.lookaheadCharCode();\n if (nextTokenCharCode === 40 || nextTokenCharCode === 46) {\n break;\n }\n }\n case 82:\n {\n if (!this.options.allowImportExportEverywhere && !topLevel) {\n this.raise(Errors.UnexpectedImportExport, this.state.startLoc);\n }\n this.next();\n let result;\n if (startType === 83) {\n result = this.parseImport(node);\n if (result.type === \"ImportDeclaration\" && (!result.importKind || result.importKind === \"value\")) {\n this.sawUnambiguousESM = true;\n }\n } else {\n result = this.parseExport(node, decorators);\n if (result.type === \"ExportNamedDeclaration\" && (!result.exportKind || result.exportKind === \"value\") || result.type === \"ExportAllDeclaration\" && (!result.exportKind || result.exportKind === \"value\") || result.type === \"ExportDefaultDeclaration\") {\n this.sawUnambiguousESM = true;\n }\n }\n this.assertModuleNodeAllowed(result);\n return result;\n }\n default:\n {\n if (this.isAsyncFunction()) {\n if (!allowDeclaration) {\n this.raise(Errors.AsyncFunctionInSingleStatementContext, this.state.startLoc);\n }\n this.next();\n return this.parseFunctionStatement(node, true, !allowDeclaration && allowFunctionDeclaration);\n }\n }\n }\n const maybeName = this.state.value;\n const expr = this.parseExpression();\n if (tokenIsIdentifier(startType) && expr.type === \"Identifier\" && this.eat(14)) {\n return this.parseLabeledStatement(node, maybeName, expr, flags);\n } else {\n return this.parseExpressionStatement(node, expr, decorators);\n }\n }\n assertModuleNodeAllowed(node) {\n if (!this.options.allowImportExportEverywhere && !this.inModule) {\n this.raise(Errors.ImportOutsideModule, node);\n }\n }\n decoratorsEnabledBeforeExport() {\n if (this.hasPlugin(\"decorators-legacy\")) return true;\n return this.hasPlugin(\"decorators\") && this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\") !== false;\n }\n maybeTakeDecorators(maybeDecorators, classNode, exportNode) {\n if (maybeDecorators) {\n if (classNode.decorators && classNode.decorators.length > 0) {\n if (typeof this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\") !== \"boolean\") {\n this.raise(Errors.DecoratorsBeforeAfterExport, classNode.decorators[0]);\n }\n classNode.decorators.unshift(...maybeDecorators);\n } else {\n classNode.decorators = maybeDecorators;\n }\n this.resetStartLocationFromNode(classNode, maybeDecorators[0]);\n if (exportNode) this.resetStartLocationFromNode(exportNode, classNode);\n }\n return classNode;\n }\n canHaveLeadingDecorator() {\n return this.match(80);\n }\n parseDecorators(allowExport) {\n const decorators = [];\n do {\n decorators.push(this.parseDecorator());\n } while (this.match(26));\n if (this.match(82)) {\n if (!allowExport) {\n this.unexpected();\n }\n if (!this.decoratorsEnabledBeforeExport()) {\n this.raise(Errors.DecoratorExportClass, this.state.startLoc);\n }\n } else if (!this.canHaveLeadingDecorator()) {\n throw this.raise(Errors.UnexpectedLeadingDecorator, this.state.startLoc);\n }\n return decorators;\n }\n parseDecorator() {\n this.expectOnePlugin([\"decorators\", \"decorators-legacy\"]);\n const node = this.startNode();\n this.next();\n if (this.hasPlugin(\"decorators\")) {\n const startLoc = this.state.startLoc;\n let expr;\n if (this.match(10)) {\n const startLoc = this.state.startLoc;\n this.next();\n expr = this.parseExpression();\n this.expect(11);\n expr = this.wrapParenthesis(startLoc, expr);\n const paramsStartLoc = this.state.startLoc;\n node.expression = this.parseMaybeDecoratorArguments(expr);\n if (this.getPluginOption(\"decorators\", \"allowCallParenthesized\") === false && node.expression !== expr) {\n this.raise(Errors.DecoratorArgumentsOutsideParentheses, paramsStartLoc);\n }\n } else {\n expr = this.parseIdentifier(false);\n while (this.eat(16)) {\n const node = this.startNodeAt(startLoc);\n node.object = expr;\n if (this.match(139)) {\n this.classScope.usePrivateName(this.state.value, this.state.startLoc);\n node.property = this.parsePrivateName();\n } else {\n node.property = this.parseIdentifier(true);\n }\n node.computed = false;\n expr = this.finishNode(node, \"MemberExpression\");\n }\n node.expression = this.parseMaybeDecoratorArguments(expr);\n }\n } else {\n node.expression = this.parseExprSubscripts();\n }\n return this.finishNode(node, \"Decorator\");\n }\n parseMaybeDecoratorArguments(expr) {\n if (this.eat(10)) {\n const node = this.startNodeAtNode(expr);\n node.callee = expr;\n node.arguments = this.parseCallExpressionArguments(11);\n this.toReferencedList(node.arguments);\n return this.finishNode(node, \"CallExpression\");\n }\n return expr;\n }\n parseBreakContinueStatement(node, isBreak) {\n this.next();\n if (this.isLineTerminator()) {\n node.label = null;\n } else {\n node.label = this.parseIdentifier();\n this.semicolon();\n }\n this.verifyBreakContinue(node, isBreak);\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\");\n }\n verifyBreakContinue(node, isBreak) {\n let i;\n for (i = 0; i < this.state.labels.length; ++i) {\n const lab = this.state.labels[i];\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === 1)) {\n break;\n }\n if (node.label && isBreak) break;\n }\n }\n if (i === this.state.labels.length) {\n const type = isBreak ? \"BreakStatement\" : \"ContinueStatement\";\n this.raise(Errors.IllegalBreakContinue, node, {\n type\n });\n }\n }\n parseDebuggerStatement(node) {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\");\n }\n parseHeaderExpression() {\n this.expect(10);\n const val = this.parseExpression();\n this.expect(11);\n return val;\n }\n parseDoWhileStatement(node) {\n this.next();\n this.state.labels.push(loopLabel);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement());\n this.state.labels.pop();\n this.expect(92);\n node.test = this.parseHeaderExpression();\n this.eat(13);\n return this.finishNode(node, \"DoWhileStatement\");\n }\n parseForStatement(node) {\n this.next();\n this.state.labels.push(loopLabel);\n let awaitAt = null;\n if (this.isContextual(96) && this.recordAwaitIfAllowed()) {\n awaitAt = this.state.startLoc;\n this.next();\n }\n this.scope.enter(0);\n this.expect(10);\n if (this.match(13)) {\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, null);\n }\n const startsWithLet = this.isContextual(100);\n {\n const startsWithAwaitUsing = this.isContextual(96) && this.startsAwaitUsing();\n const starsWithUsingDeclaration = startsWithAwaitUsing || this.isContextual(107) && this.startsUsingForOf();\n const isLetOrUsing = startsWithLet && this.hasFollowingBindingAtom() || starsWithUsingDeclaration;\n if (this.match(74) || this.match(75) || isLetOrUsing) {\n const initNode = this.startNode();\n let kind;\n if (startsWithAwaitUsing) {\n kind = \"await using\";\n if (!this.recordAwaitIfAllowed()) {\n this.raise(Errors.AwaitUsingNotInAsyncContext, this.state.startLoc);\n }\n this.next();\n } else {\n kind = this.state.value;\n }\n this.next();\n this.parseVar(initNode, true, kind);\n const init = this.finishNode(initNode, \"VariableDeclaration\");\n const isForIn = this.match(58);\n if (isForIn && starsWithUsingDeclaration) {\n this.raise(Errors.ForInUsing, init);\n }\n if ((isForIn || this.isContextual(102)) && init.declarations.length === 1) {\n return this.parseForIn(node, init, awaitAt);\n }\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, init);\n }\n }\n const startsWithAsync = this.isContextual(95);\n const refExpressionErrors = new ExpressionErrors();\n const init = this.parseExpression(true, refExpressionErrors);\n const isForOf = this.isContextual(102);\n if (isForOf) {\n if (startsWithLet) {\n this.raise(Errors.ForOfLet, init);\n }\n if (awaitAt === null && startsWithAsync && init.type === \"Identifier\") {\n this.raise(Errors.ForOfAsync, init);\n }\n }\n if (isForOf || this.match(58)) {\n this.checkDestructuringPrivate(refExpressionErrors);\n this.toAssignable(init, true);\n const type = isForOf ? \"ForOfStatement\" : \"ForInStatement\";\n this.checkLVal(init, {\n type\n });\n return this.parseForIn(node, init, awaitAt);\n } else {\n this.checkExpressionErrors(refExpressionErrors, true);\n }\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, init);\n }\n parseFunctionStatement(node, isAsync, isHangingDeclaration) {\n this.next();\n return this.parseFunction(node, 1 | (isHangingDeclaration ? 2 : 0) | (isAsync ? 8 : 0));\n }\n parseIfStatement(node) {\n this.next();\n node.test = this.parseHeaderExpression();\n node.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration();\n node.alternate = this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null;\n return this.finishNode(node, \"IfStatement\");\n }\n parseReturnStatement(node) {\n if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) {\n this.raise(Errors.IllegalReturn, this.state.startLoc);\n }\n this.next();\n if (this.isLineTerminator()) {\n node.argument = null;\n } else {\n node.argument = this.parseExpression();\n this.semicolon();\n }\n return this.finishNode(node, \"ReturnStatement\");\n }\n parseSwitchStatement(node) {\n this.next();\n node.discriminant = this.parseHeaderExpression();\n const cases = node.cases = [];\n this.expect(5);\n this.state.labels.push(switchLabel);\n this.scope.enter(0);\n let cur;\n for (let sawDefault; !this.match(8);) {\n if (this.match(61) || this.match(65)) {\n const isCase = this.match(61);\n if (cur) this.finishNode(cur, \"SwitchCase\");\n cases.push(cur = this.startNode());\n cur.consequent = [];\n this.next();\n if (isCase) {\n cur.test = this.parseExpression();\n } else {\n if (sawDefault) {\n this.raise(Errors.MultipleDefaultsInSwitch, this.state.lastTokStartLoc);\n }\n sawDefault = true;\n cur.test = null;\n }\n this.expect(14);\n } else {\n if (cur) {\n cur.consequent.push(this.parseStatementListItem());\n } else {\n this.unexpected();\n }\n }\n }\n this.scope.exit();\n if (cur) this.finishNode(cur, \"SwitchCase\");\n this.next();\n this.state.labels.pop();\n return this.finishNode(node, \"SwitchStatement\");\n }\n parseThrowStatement(node) {\n this.next();\n if (this.hasPrecedingLineBreak()) {\n this.raise(Errors.NewlineAfterThrow, this.state.lastTokEndLoc);\n }\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\");\n }\n parseCatchClauseParam() {\n const param = this.parseBindingAtom();\n this.scope.enter(this.options.annexB && param.type === \"Identifier\" ? 8 : 0);\n this.checkLVal(param, {\n type: \"CatchClause\"\n }, 9);\n return param;\n }\n parseTryStatement(node) {\n this.next();\n node.block = this.parseBlock();\n node.handler = null;\n if (this.match(62)) {\n const clause = this.startNode();\n this.next();\n if (this.match(10)) {\n this.expect(10);\n clause.param = this.parseCatchClauseParam();\n this.expect(11);\n } else {\n clause.param = null;\n this.scope.enter(0);\n }\n clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false));\n this.scope.exit();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n node.finalizer = this.eat(67) ? this.parseBlock() : null;\n if (!node.handler && !node.finalizer) {\n this.raise(Errors.NoCatchOrFinally, node);\n }\n return this.finishNode(node, \"TryStatement\");\n }\n parseVarStatement(node, kind, allowMissingInitializer = false) {\n this.next();\n this.parseVar(node, false, kind, allowMissingInitializer);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\");\n }\n parseWhileStatement(node) {\n this.next();\n node.test = this.parseHeaderExpression();\n this.state.labels.push(loopLabel);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement());\n this.state.labels.pop();\n return this.finishNode(node, \"WhileStatement\");\n }\n parseWithStatement(node) {\n if (this.state.strict) {\n this.raise(Errors.StrictWith, this.state.startLoc);\n }\n this.next();\n node.object = this.parseHeaderExpression();\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement());\n return this.finishNode(node, \"WithStatement\");\n }\n parseEmptyStatement(node) {\n this.next();\n return this.finishNode(node, \"EmptyStatement\");\n }\n parseLabeledStatement(node, maybeName, expr, flags) {\n for (const label of this.state.labels) {\n if (label.name === maybeName) {\n this.raise(Errors.LabelRedeclaration, expr, {\n labelName: maybeName\n });\n }\n }\n const kind = tokenIsLoop(this.state.type) ? 1 : this.match(71) ? 2 : null;\n for (let i = this.state.labels.length - 1; i >= 0; i--) {\n const label = this.state.labels[i];\n if (label.statementStart === node.start) {\n label.statementStart = this.sourceToOffsetPos(this.state.start);\n label.kind = kind;\n } else {\n break;\n }\n }\n this.state.labels.push({\n name: maybeName,\n kind: kind,\n statementStart: this.sourceToOffsetPos(this.state.start)\n });\n node.body = flags & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement();\n this.state.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\");\n }\n parseExpressionStatement(node, expr, decorators) {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\");\n }\n parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) {\n const node = this.startNode();\n if (allowDirectives) {\n this.state.strictErrors.clear();\n }\n this.expect(5);\n if (createNewLexicalScope) {\n this.scope.enter(0);\n }\n this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse);\n if (createNewLexicalScope) {\n this.scope.exit();\n }\n return this.finishNode(node, \"BlockStatement\");\n }\n isValidDirective(stmt) {\n return stmt.type === \"ExpressionStatement\" && stmt.expression.type === \"StringLiteral\" && !stmt.expression.extra.parenthesized;\n }\n parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) {\n const body = node.body = [];\n const directives = node.directives = [];\n this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse);\n }\n parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) {\n const oldStrict = this.state.strict;\n let hasStrictModeDirective = false;\n let parsedNonDirective = false;\n while (!this.match(end)) {\n const stmt = topLevel ? this.parseModuleItem() : this.parseStatementListItem();\n if (directives && !parsedNonDirective) {\n if (this.isValidDirective(stmt)) {\n const directive = this.stmtToDirective(stmt);\n directives.push(directive);\n if (!hasStrictModeDirective && directive.value.value === \"use strict\") {\n hasStrictModeDirective = true;\n this.setStrict(true);\n }\n continue;\n }\n parsedNonDirective = true;\n this.state.strictErrors.clear();\n }\n body.push(stmt);\n }\n afterBlockParse == null || afterBlockParse.call(this, hasStrictModeDirective);\n if (!oldStrict) {\n this.setStrict(false);\n }\n this.next();\n }\n parseFor(node, init) {\n node.init = init;\n this.semicolon(false);\n node.test = this.match(13) ? null : this.parseExpression();\n this.semicolon(false);\n node.update = this.match(11) ? null : this.parseExpression();\n this.expect(11);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement());\n this.scope.exit();\n this.state.labels.pop();\n return this.finishNode(node, \"ForStatement\");\n }\n parseForIn(node, init, awaitAt) {\n const isForIn = this.match(58);\n this.next();\n if (isForIn) {\n if (awaitAt !== null) this.unexpected(awaitAt);\n } else {\n node.await = awaitAt !== null;\n }\n if (init.type === \"VariableDeclaration\" && init.declarations[0].init != null && (!isForIn || !this.options.annexB || this.state.strict || init.kind !== \"var\" || init.declarations[0].id.type !== \"Identifier\")) {\n this.raise(Errors.ForInOfLoopInitializer, init, {\n type: isForIn ? \"ForInStatement\" : \"ForOfStatement\"\n });\n }\n if (init.type === \"AssignmentPattern\") {\n this.raise(Errors.InvalidLhs, init, {\n ancestor: {\n type: \"ForStatement\"\n }\n });\n }\n node.left = init;\n node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn();\n this.expect(11);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement());\n this.scope.exit();\n this.state.labels.pop();\n return this.finishNode(node, isForIn ? \"ForInStatement\" : \"ForOfStatement\");\n }\n parseVar(node, isFor, kind, allowMissingInitializer = false) {\n const declarations = node.declarations = [];\n node.kind = kind;\n for (;;) {\n const decl = this.startNode();\n this.parseVarId(decl, kind);\n decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn();\n if (decl.init === null && !allowMissingInitializer) {\n if (decl.id.type !== \"Identifier\" && !(isFor && (this.match(58) || this.isContextual(102)))) {\n this.raise(Errors.DeclarationMissingInitializer, this.state.lastTokEndLoc, {\n kind: \"destructuring\"\n });\n } else if ((kind === \"const\" || kind === \"using\" || kind === \"await using\") && !(this.match(58) || this.isContextual(102))) {\n this.raise(Errors.DeclarationMissingInitializer, this.state.lastTokEndLoc, {\n kind\n });\n }\n }\n declarations.push(this.finishNode(decl, \"VariableDeclarator\"));\n if (!this.eat(12)) break;\n }\n return node;\n }\n parseVarId(decl, kind) {\n const id = this.parseBindingAtom();\n if (kind === \"using\" || kind === \"await using\") {\n if (id.type === \"ArrayPattern\" || id.type === \"ObjectPattern\") {\n this.raise(Errors.UsingDeclarationHasBindingPattern, id.loc.start);\n }\n }\n this.checkLVal(id, {\n type: \"VariableDeclarator\"\n }, kind === \"var\" ? 5 : 8201);\n decl.id = id;\n }\n parseAsyncFunctionExpression(node) {\n return this.parseFunction(node, 8);\n }\n parseFunction(node, flags = 0) {\n const hangingDeclaration = flags & 2;\n const isDeclaration = !!(flags & 1);\n const requireId = isDeclaration && !(flags & 4);\n const isAsync = !!(flags & 8);\n this.initFunction(node, isAsync);\n if (this.match(55)) {\n if (hangingDeclaration) {\n this.raise(Errors.GeneratorInSingleStatementContext, this.state.startLoc);\n }\n this.next();\n node.generator = true;\n }\n if (isDeclaration) {\n node.id = this.parseFunctionId(requireId);\n }\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n this.state.maybeInArrowParameters = false;\n this.scope.enter(2);\n this.prodParam.enter(functionFlags(isAsync, node.generator));\n if (!isDeclaration) {\n node.id = this.parseFunctionId();\n }\n this.parseFunctionParams(node, false);\n this.withSmartMixTopicForbiddingContext(() => {\n this.parseFunctionBodyAndFinish(node, isDeclaration ? \"FunctionDeclaration\" : \"FunctionExpression\");\n });\n this.prodParam.exit();\n this.scope.exit();\n if (isDeclaration && !hangingDeclaration) {\n this.registerFunctionStatementId(node);\n }\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n return node;\n }\n parseFunctionId(requireId) {\n return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null;\n }\n parseFunctionParams(node, isConstructor) {\n this.expect(10);\n this.expressionScope.enter(newParameterDeclarationScope());\n node.params = this.parseBindingList(11, 41, 2 | (isConstructor ? 4 : 0));\n this.expressionScope.exit();\n }\n registerFunctionStatementId(node) {\n if (!node.id) return;\n this.scope.declareName(node.id.name, !this.options.annexB || this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? 5 : 8201 : 17, node.id.loc.start);\n }\n parseClass(node, isStatement, optionalId) {\n this.next();\n const oldStrict = this.state.strict;\n this.state.strict = true;\n this.parseClassId(node, isStatement, optionalId);\n this.parseClassSuper(node);\n node.body = this.parseClassBody(!!node.superClass, oldStrict);\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\");\n }\n isClassProperty() {\n return this.match(29) || this.match(13) || this.match(8);\n }\n isClassMethod() {\n return this.match(10);\n }\n nameIsConstructor(key) {\n return key.type === \"Identifier\" && key.name === \"constructor\" || key.type === \"StringLiteral\" && key.value === \"constructor\";\n }\n isNonstaticConstructor(method) {\n return !method.computed && !method.static && this.nameIsConstructor(method.key);\n }\n parseClassBody(hadSuperClass, oldStrict) {\n this.classScope.enter();\n const state = {\n hadConstructor: false,\n hadSuperClass\n };\n let decorators = [];\n const classBody = this.startNode();\n classBody.body = [];\n this.expect(5);\n this.withSmartMixTopicForbiddingContext(() => {\n while (!this.match(8)) {\n if (this.eat(13)) {\n if (decorators.length > 0) {\n throw this.raise(Errors.DecoratorSemicolon, this.state.lastTokEndLoc);\n }\n continue;\n }\n if (this.match(26)) {\n decorators.push(this.parseDecorator());\n continue;\n }\n const member = this.startNode();\n if (decorators.length) {\n member.decorators = decorators;\n this.resetStartLocationFromNode(member, decorators[0]);\n decorators = [];\n }\n this.parseClassMember(classBody, member, state);\n if (member.kind === \"constructor\" && member.decorators && member.decorators.length > 0) {\n this.raise(Errors.DecoratorConstructor, member);\n }\n }\n });\n this.state.strict = oldStrict;\n this.next();\n if (decorators.length) {\n throw this.raise(Errors.TrailingDecorator, this.state.startLoc);\n }\n this.classScope.exit();\n return this.finishNode(classBody, \"ClassBody\");\n }\n parseClassMemberFromModifier(classBody, member) {\n const key = this.parseIdentifier(true);\n if (this.isClassMethod()) {\n const method = member;\n method.kind = \"method\";\n method.computed = false;\n method.key = key;\n method.static = false;\n this.pushClassMethod(classBody, method, false, false, false, false);\n return true;\n } else if (this.isClassProperty()) {\n const prop = member;\n prop.computed = false;\n prop.key = key;\n prop.static = false;\n classBody.body.push(this.parseClassProperty(prop));\n return true;\n }\n this.resetPreviousNodeTrailingComments(key);\n return false;\n }\n parseClassMember(classBody, member, state) {\n const isStatic = this.isContextual(106);\n if (isStatic) {\n if (this.parseClassMemberFromModifier(classBody, member)) {\n return;\n }\n if (this.eat(5)) {\n this.parseClassStaticBlock(classBody, member);\n return;\n }\n }\n this.parseClassMemberWithIsStatic(classBody, member, state, isStatic);\n }\n parseClassMemberWithIsStatic(classBody, member, state, isStatic) {\n const publicMethod = member;\n const privateMethod = member;\n const publicProp = member;\n const privateProp = member;\n const accessorProp = member;\n const method = publicMethod;\n const publicMember = publicMethod;\n member.static = isStatic;\n this.parsePropertyNamePrefixOperator(member);\n if (this.eat(55)) {\n method.kind = \"method\";\n const isPrivateName = this.match(139);\n this.parseClassElementName(method);\n if (isPrivateName) {\n this.pushClassPrivateMethod(classBody, privateMethod, true, false);\n return;\n }\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(Errors.ConstructorIsGenerator, publicMethod.key);\n }\n this.pushClassMethod(classBody, publicMethod, true, false, false, false);\n return;\n }\n const isContextual = !this.state.containsEsc && tokenIsIdentifier(this.state.type);\n const key = this.parseClassElementName(member);\n const maybeContextualKw = isContextual ? key.name : null;\n const isPrivate = this.isPrivateName(key);\n const maybeQuestionTokenStartLoc = this.state.startLoc;\n this.parsePostMemberNameModifiers(publicMember);\n if (this.isClassMethod()) {\n method.kind = \"method\";\n if (isPrivate) {\n this.pushClassPrivateMethod(classBody, privateMethod, false, false);\n return;\n }\n const isConstructor = this.isNonstaticConstructor(publicMethod);\n let allowsDirectSuper = false;\n if (isConstructor) {\n publicMethod.kind = \"constructor\";\n if (state.hadConstructor && !this.hasPlugin(\"typescript\")) {\n this.raise(Errors.DuplicateConstructor, key);\n }\n if (isConstructor && this.hasPlugin(\"typescript\") && member.override) {\n this.raise(Errors.OverrideOnConstructor, key);\n }\n state.hadConstructor = true;\n allowsDirectSuper = state.hadSuperClass;\n }\n this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper);\n } else if (this.isClassProperty()) {\n if (isPrivate) {\n this.pushClassPrivateProperty(classBody, privateProp);\n } else {\n this.pushClassProperty(classBody, publicProp);\n }\n } else if (maybeContextualKw === \"async\" && !this.isLineTerminator()) {\n this.resetPreviousNodeTrailingComments(key);\n const isGenerator = this.eat(55);\n if (publicMember.optional) {\n this.unexpected(maybeQuestionTokenStartLoc);\n }\n method.kind = \"method\";\n const isPrivate = this.match(139);\n this.parseClassElementName(method);\n this.parsePostMemberNameModifiers(publicMember);\n if (isPrivate) {\n this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true);\n } else {\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(Errors.ConstructorIsAsync, publicMethod.key);\n }\n this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false);\n }\n } else if ((maybeContextualKw === \"get\" || maybeContextualKw === \"set\") && !(this.match(55) && this.isLineTerminator())) {\n this.resetPreviousNodeTrailingComments(key);\n method.kind = maybeContextualKw;\n const isPrivate = this.match(139);\n this.parseClassElementName(publicMethod);\n if (isPrivate) {\n this.pushClassPrivateMethod(classBody, privateMethod, false, false);\n } else {\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(Errors.ConstructorIsAccessor, publicMethod.key);\n }\n this.pushClassMethod(classBody, publicMethod, false, false, false, false);\n }\n this.checkGetterSetterParams(publicMethod);\n } else if (maybeContextualKw === \"accessor\" && !this.isLineTerminator()) {\n this.expectPlugin(\"decoratorAutoAccessors\");\n this.resetPreviousNodeTrailingComments(key);\n const isPrivate = this.match(139);\n this.parseClassElementName(publicProp);\n this.pushClassAccessorProperty(classBody, accessorProp, isPrivate);\n } else if (this.isLineTerminator()) {\n if (isPrivate) {\n this.pushClassPrivateProperty(classBody, privateProp);\n } else {\n this.pushClassProperty(classBody, publicProp);\n }\n } else {\n this.unexpected();\n }\n }\n parseClassElementName(member) {\n const {\n type,\n value\n } = this.state;\n if ((type === 132 || type === 134) && member.static && value === \"prototype\") {\n this.raise(Errors.StaticPrototype, this.state.startLoc);\n }\n if (type === 139) {\n if (value === \"constructor\") {\n this.raise(Errors.ConstructorClassPrivateField, this.state.startLoc);\n }\n const key = this.parsePrivateName();\n member.key = key;\n return key;\n }\n this.parsePropertyName(member);\n return member.key;\n }\n parseClassStaticBlock(classBody, member) {\n var _member$decorators;\n this.scope.enter(64 | 128 | 16);\n const oldLabels = this.state.labels;\n this.state.labels = [];\n this.prodParam.enter(0);\n const body = member.body = [];\n this.parseBlockOrModuleBlockBody(body, undefined, false, 8);\n this.prodParam.exit();\n this.scope.exit();\n this.state.labels = oldLabels;\n classBody.body.push(this.finishNode(member, \"StaticBlock\"));\n if ((_member$decorators = member.decorators) != null && _member$decorators.length) {\n this.raise(Errors.DecoratorStaticBlock, member);\n }\n }\n pushClassProperty(classBody, prop) {\n if (!prop.computed && this.nameIsConstructor(prop.key)) {\n this.raise(Errors.ConstructorClassField, prop.key);\n }\n classBody.body.push(this.parseClassProperty(prop));\n }\n pushClassPrivateProperty(classBody, prop) {\n const node = this.parseClassPrivateProperty(prop);\n classBody.body.push(node);\n this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start);\n }\n pushClassAccessorProperty(classBody, prop, isPrivate) {\n if (!isPrivate && !prop.computed && this.nameIsConstructor(prop.key)) {\n this.raise(Errors.ConstructorClassField, prop.key);\n }\n const node = this.parseClassAccessorProperty(prop);\n classBody.body.push(node);\n if (isPrivate) {\n this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start);\n }\n }\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, \"ClassMethod\", true));\n }\n pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {\n const node = this.parseMethod(method, isGenerator, isAsync, false, false, \"ClassPrivateMethod\", true);\n classBody.body.push(node);\n const kind = node.kind === \"get\" ? node.static ? 6 : 2 : node.kind === \"set\" ? node.static ? 5 : 1 : 0;\n this.declareClassPrivateMethodInScope(node, kind);\n }\n declareClassPrivateMethodInScope(node, kind) {\n this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start);\n }\n parsePostMemberNameModifiers(methodOrProp) {}\n parseClassPrivateProperty(node) {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassPrivateProperty\");\n }\n parseClassProperty(node) {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassProperty\");\n }\n parseClassAccessorProperty(node) {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassAccessorProperty\");\n }\n parseInitializer(node) {\n this.scope.enter(64 | 16);\n this.expressionScope.enter(newExpressionScope());\n this.prodParam.enter(0);\n node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null;\n this.expressionScope.exit();\n this.prodParam.exit();\n this.scope.exit();\n }\n parseClassId(node, isStatement, optionalId, bindingType = 8331) {\n if (tokenIsIdentifier(this.state.type)) {\n node.id = this.parseIdentifier();\n if (isStatement) {\n this.declareNameFromIdentifier(node.id, bindingType);\n }\n } else {\n if (optionalId || !isStatement) {\n node.id = null;\n } else {\n throw this.raise(Errors.MissingClassName, this.state.startLoc);\n }\n }\n }\n parseClassSuper(node) {\n node.superClass = this.eat(81) ? this.parseExprSubscripts() : null;\n }\n parseExport(node, decorators) {\n const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, true);\n const hasDefault = this.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier);\n const parseAfterDefault = !hasDefault || this.eat(12);\n const hasStar = parseAfterDefault && this.eatExportStar(node);\n const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node);\n const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12));\n const isFromRequired = hasDefault || hasStar;\n if (hasStar && !hasNamespace) {\n if (hasDefault) this.unexpected();\n if (decorators) {\n throw this.raise(Errors.UnsupportedDecoratorExport, node);\n }\n this.parseExportFrom(node, true);\n return this.finishNode(node, \"ExportAllDeclaration\");\n }\n const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node);\n if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers) {\n this.unexpected(null, 5);\n }\n if (hasNamespace && parseAfterNamespace) {\n this.unexpected(null, 98);\n }\n let hasDeclaration;\n if (isFromRequired || hasSpecifiers) {\n hasDeclaration = false;\n if (decorators) {\n throw this.raise(Errors.UnsupportedDecoratorExport, node);\n }\n this.parseExportFrom(node, isFromRequired);\n } else {\n hasDeclaration = this.maybeParseExportDeclaration(node);\n }\n if (isFromRequired || hasSpecifiers || hasDeclaration) {\n var _node2$declaration;\n const node2 = node;\n this.checkExport(node2, true, false, !!node2.source);\n if (((_node2$declaration = node2.declaration) == null ? void 0 : _node2$declaration.type) === \"ClassDeclaration\") {\n this.maybeTakeDecorators(decorators, node2.declaration, node2);\n } else if (decorators) {\n throw this.raise(Errors.UnsupportedDecoratorExport, node);\n }\n return this.finishNode(node2, \"ExportNamedDeclaration\");\n }\n if (this.eat(65)) {\n const node2 = node;\n const decl = this.parseExportDefaultExpression();\n node2.declaration = decl;\n if (decl.type === \"ClassDeclaration\") {\n this.maybeTakeDecorators(decorators, decl, node2);\n } else if (decorators) {\n throw this.raise(Errors.UnsupportedDecoratorExport, node);\n }\n this.checkExport(node2, true, true);\n return this.finishNode(node2, \"ExportDefaultDeclaration\");\n }\n this.unexpected(null, 5);\n }\n eatExportStar(node) {\n return this.eat(55);\n }\n maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) {\n if (maybeDefaultIdentifier || this.isExportDefaultSpecifier()) {\n this.expectPlugin(\"exportDefaultFrom\", maybeDefaultIdentifier == null ? void 0 : maybeDefaultIdentifier.loc.start);\n const id = maybeDefaultIdentifier || this.parseIdentifier(true);\n const specifier = this.startNodeAtNode(id);\n specifier.exported = id;\n node.specifiers = [this.finishNode(specifier, \"ExportDefaultSpecifier\")];\n return true;\n }\n return false;\n }\n maybeParseExportNamespaceSpecifier(node) {\n if (this.isContextual(93)) {\n var _ref, _ref$specifiers;\n (_ref$specifiers = (_ref = node).specifiers) != null ? _ref$specifiers : _ref.specifiers = [];\n const specifier = this.startNodeAt(this.state.lastTokStartLoc);\n this.next();\n specifier.exported = this.parseModuleExportName();\n node.specifiers.push(this.finishNode(specifier, \"ExportNamespaceSpecifier\"));\n return true;\n }\n return false;\n }\n maybeParseExportNamedSpecifiers(node) {\n if (this.match(5)) {\n const node2 = node;\n if (!node2.specifiers) node2.specifiers = [];\n const isTypeExport = node2.exportKind === \"type\";\n node2.specifiers.push(...this.parseExportSpecifiers(isTypeExport));\n node2.source = null;\n node2.declaration = null;\n if (this.hasPlugin(\"importAssertions\")) {\n node2.assertions = [];\n }\n return true;\n }\n return false;\n }\n maybeParseExportDeclaration(node) {\n if (this.shouldParseExportDeclaration()) {\n node.specifiers = [];\n node.source = null;\n if (this.hasPlugin(\"importAssertions\")) {\n node.assertions = [];\n }\n node.declaration = this.parseExportDeclaration(node);\n return true;\n }\n return false;\n }\n isAsyncFunction() {\n if (!this.isContextual(95)) return false;\n const next = this.nextTokenInLineStart();\n return this.isUnparsedContextual(next, \"function\");\n }\n parseExportDefaultExpression() {\n const expr = this.startNode();\n if (this.match(68)) {\n this.next();\n return this.parseFunction(expr, 1 | 4);\n } else if (this.isAsyncFunction()) {\n this.next();\n this.next();\n return this.parseFunction(expr, 1 | 4 | 8);\n }\n if (this.match(80)) {\n return this.parseClass(expr, true, true);\n }\n if (this.match(26)) {\n if (this.hasPlugin(\"decorators\") && this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\") === true) {\n this.raise(Errors.DecoratorBeforeExport, this.state.startLoc);\n }\n return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(false), this.startNode()), true, true);\n }\n if (this.match(75) || this.match(74) || this.isLet()) {\n throw this.raise(Errors.UnsupportedDefaultExport, this.state.startLoc);\n }\n const res = this.parseMaybeAssignAllowIn();\n this.semicolon();\n return res;\n }\n parseExportDeclaration(node) {\n if (this.match(80)) {\n const node = this.parseClass(this.startNode(), true, false);\n return node;\n }\n return this.parseStatementListItem();\n }\n isExportDefaultSpecifier() {\n const {\n type\n } = this.state;\n if (tokenIsIdentifier(type)) {\n if (type === 95 && !this.state.containsEsc || type === 100) {\n return false;\n }\n if ((type === 130 || type === 129) && !this.state.containsEsc) {\n const {\n type: nextType\n } = this.lookahead();\n if (tokenIsIdentifier(nextType) && nextType !== 98 || nextType === 5) {\n this.expectOnePlugin([\"flow\", \"typescript\"]);\n return false;\n }\n }\n } else if (!this.match(65)) {\n return false;\n }\n const next = this.nextTokenStart();\n const hasFrom = this.isUnparsedContextual(next, \"from\");\n if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) {\n return true;\n }\n if (this.match(65) && hasFrom) {\n const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4));\n return nextAfterFrom === 34 || nextAfterFrom === 39;\n }\n return false;\n }\n parseExportFrom(node, expect) {\n if (this.eatContextual(98)) {\n node.source = this.parseImportSource();\n this.checkExport(node);\n this.maybeParseImportAttributes(node);\n this.checkJSONModuleImport(node);\n } else if (expect) {\n this.unexpected();\n }\n this.semicolon();\n }\n shouldParseExportDeclaration() {\n const {\n type\n } = this.state;\n if (type === 26) {\n this.expectOnePlugin([\"decorators\", \"decorators-legacy\"]);\n if (this.hasPlugin(\"decorators\")) {\n if (this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\") === true) {\n this.raise(Errors.DecoratorBeforeExport, this.state.startLoc);\n }\n return true;\n }\n }\n if (this.isContextual(107)) {\n this.raise(Errors.UsingDeclarationExport, this.state.startLoc);\n return true;\n }\n if (this.isContextual(96) && this.startsAwaitUsing()) {\n this.raise(Errors.UsingDeclarationExport, this.state.startLoc);\n return true;\n }\n return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction();\n }\n checkExport(node, checkNames, isDefault, isFrom) {\n if (checkNames) {\n var _node$specifiers;\n if (isDefault) {\n this.checkDuplicateExports(node, \"default\");\n if (this.hasPlugin(\"exportDefaultFrom\")) {\n var _declaration$extra;\n const declaration = node.declaration;\n if (declaration.type === \"Identifier\" && declaration.name === \"from\" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) {\n this.raise(Errors.ExportDefaultFromAsIdentifier, declaration);\n }\n }\n } else if ((_node$specifiers = node.specifiers) != null && _node$specifiers.length) {\n for (const specifier of node.specifiers) {\n const {\n exported\n } = specifier;\n const exportName = exported.type === \"Identifier\" ? exported.name : exported.value;\n this.checkDuplicateExports(specifier, exportName);\n if (!isFrom && specifier.local) {\n const {\n local\n } = specifier;\n if (local.type !== \"Identifier\") {\n this.raise(Errors.ExportBindingIsString, specifier, {\n localName: local.value,\n exportName\n });\n } else {\n this.checkReservedWord(local.name, local.loc.start, true, false);\n this.scope.checkLocalExport(local);\n }\n }\n }\n } else if (node.declaration) {\n const decl = node.declaration;\n if (decl.type === \"FunctionDeclaration\" || decl.type === \"ClassDeclaration\") {\n const {\n id\n } = decl;\n if (!id) throw new Error(\"Assertion failure\");\n this.checkDuplicateExports(node, id.name);\n } else if (decl.type === \"VariableDeclaration\") {\n for (const declaration of decl.declarations) {\n this.checkDeclaration(declaration.id);\n }\n }\n }\n }\n }\n checkDeclaration(node) {\n if (node.type === \"Identifier\") {\n this.checkDuplicateExports(node, node.name);\n } else if (node.type === \"ObjectPattern\") {\n for (const prop of node.properties) {\n this.checkDeclaration(prop);\n }\n } else if (node.type === \"ArrayPattern\") {\n for (const elem of node.elements) {\n if (elem) {\n this.checkDeclaration(elem);\n }\n }\n } else if (node.type === \"ObjectProperty\") {\n this.checkDeclaration(node.value);\n } else if (node.type === \"RestElement\") {\n this.checkDeclaration(node.argument);\n } else if (node.type === \"AssignmentPattern\") {\n this.checkDeclaration(node.left);\n }\n }\n checkDuplicateExports(node, exportName) {\n if (this.exportedIdentifiers.has(exportName)) {\n if (exportName === \"default\") {\n this.raise(Errors.DuplicateDefaultExport, node);\n } else {\n this.raise(Errors.DuplicateExport, node, {\n exportName\n });\n }\n }\n this.exportedIdentifiers.add(exportName);\n }\n parseExportSpecifiers(isInTypeExport) {\n const nodes = [];\n let first = true;\n this.expect(5);\n while (!this.eat(8)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n if (this.eat(8)) break;\n }\n const isMaybeTypeOnly = this.isContextual(130);\n const isString = this.match(134);\n const node = this.startNode();\n node.local = this.parseModuleExportName();\n nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly));\n }\n return nodes;\n }\n parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {\n if (this.eatContextual(93)) {\n node.exported = this.parseModuleExportName();\n } else if (isString) {\n node.exported = cloneStringLiteral(node.local);\n } else if (!node.exported) {\n node.exported = cloneIdentifier(node.local);\n }\n return this.finishNode(node, \"ExportSpecifier\");\n }\n parseModuleExportName() {\n if (this.match(134)) {\n const result = this.parseStringLiteral(this.state.value);\n const surrogate = loneSurrogate.exec(result.value);\n if (surrogate) {\n this.raise(Errors.ModuleExportNameHasLoneSurrogate, result, {\n surrogateCharCode: surrogate[0].charCodeAt(0)\n });\n }\n return result;\n }\n return this.parseIdentifier(true);\n }\n isJSONModuleImport(node) {\n if (node.assertions != null) {\n return node.assertions.some(({\n key,\n value\n }) => {\n return value.value === \"json\" && (key.type === \"Identifier\" ? key.name === \"type\" : key.value === \"type\");\n });\n }\n return false;\n }\n checkImportReflection(node) {\n const {\n specifiers\n } = node;\n const singleBindingType = specifiers.length === 1 ? specifiers[0].type : null;\n if (node.phase === \"source\") {\n if (singleBindingType !== \"ImportDefaultSpecifier\") {\n this.raise(Errors.SourcePhaseImportRequiresDefault, specifiers[0].loc.start);\n }\n } else if (node.phase === \"defer\") {\n if (singleBindingType !== \"ImportNamespaceSpecifier\") {\n this.raise(Errors.DeferImportRequiresNamespace, specifiers[0].loc.start);\n }\n } else if (node.module) {\n var _node$assertions;\n if (singleBindingType !== \"ImportDefaultSpecifier\") {\n this.raise(Errors.ImportReflectionNotBinding, specifiers[0].loc.start);\n }\n if (((_node$assertions = node.assertions) == null ? void 0 : _node$assertions.length) > 0) {\n this.raise(Errors.ImportReflectionHasAssertion, specifiers[0].loc.start);\n }\n }\n }\n checkJSONModuleImport(node) {\n if (this.isJSONModuleImport(node) && node.type !== \"ExportAllDeclaration\") {\n const {\n specifiers\n } = node;\n if (specifiers != null) {\n const nonDefaultNamedSpecifier = specifiers.find(specifier => {\n let imported;\n if (specifier.type === \"ExportSpecifier\") {\n imported = specifier.local;\n } else if (specifier.type === \"ImportSpecifier\") {\n imported = specifier.imported;\n }\n if (imported !== undefined) {\n return imported.type === \"Identifier\" ? imported.name !== \"default\" : imported.value !== \"default\";\n }\n });\n if (nonDefaultNamedSpecifier !== undefined) {\n this.raise(Errors.ImportJSONBindingNotDefault, nonDefaultNamedSpecifier.loc.start);\n }\n }\n }\n }\n isPotentialImportPhase(isExport) {\n if (isExport) return false;\n return this.isContextual(105) || this.isContextual(97) || this.isContextual(127);\n }\n applyImportPhase(node, isExport, phase, loc) {\n if (isExport) {\n return;\n }\n if (phase === \"module\") {\n this.expectPlugin(\"importReflection\", loc);\n node.module = true;\n } else if (this.hasPlugin(\"importReflection\")) {\n node.module = false;\n }\n if (phase === \"source\") {\n this.expectPlugin(\"sourcePhaseImports\", loc);\n node.phase = \"source\";\n } else if (phase === \"defer\") {\n this.expectPlugin(\"deferredImportEvaluation\", loc);\n node.phase = \"defer\";\n } else if (this.hasPlugin(\"sourcePhaseImports\")) {\n node.phase = null;\n }\n }\n parseMaybeImportPhase(node, isExport) {\n if (!this.isPotentialImportPhase(isExport)) {\n this.applyImportPhase(node, isExport, null);\n return null;\n }\n const phaseIdentifier = this.parseIdentifier(true);\n const {\n type\n } = this.state;\n const isImportPhase = tokenIsKeywordOrIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12;\n if (isImportPhase) {\n this.resetPreviousIdentifierLeadingComments(phaseIdentifier);\n this.applyImportPhase(node, isExport, phaseIdentifier.name, phaseIdentifier.loc.start);\n return null;\n } else {\n this.applyImportPhase(node, isExport, null);\n return phaseIdentifier;\n }\n }\n isPrecedingIdImportPhase(phase) {\n const {\n type\n } = this.state;\n return tokenIsIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12;\n }\n parseImport(node) {\n if (this.match(134)) {\n return this.parseImportSourceAndAttributes(node);\n }\n return this.parseImportSpecifiersAndAfter(node, this.parseMaybeImportPhase(node, false));\n }\n parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier) {\n node.specifiers = [];\n const hasDefault = this.maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier);\n const parseNext = !hasDefault || this.eat(12);\n const hasStar = parseNext && this.maybeParseStarImportSpecifier(node);\n if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node);\n this.expectContextual(98);\n return this.parseImportSourceAndAttributes(node);\n }\n parseImportSourceAndAttributes(node) {\n var _node$specifiers2;\n (_node$specifiers2 = node.specifiers) != null ? _node$specifiers2 : node.specifiers = [];\n node.source = this.parseImportSource();\n this.maybeParseImportAttributes(node);\n this.checkImportReflection(node);\n this.checkJSONModuleImport(node);\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n parseImportSource() {\n if (!this.match(134)) this.unexpected();\n return this.parseExprAtom();\n }\n parseImportSpecifierLocal(node, specifier, type) {\n specifier.local = this.parseIdentifier();\n node.specifiers.push(this.finishImportSpecifier(specifier, type));\n }\n finishImportSpecifier(specifier, type, bindingType = 8201) {\n this.checkLVal(specifier.local, {\n type\n }, bindingType);\n return this.finishNode(specifier, type);\n }\n parseImportAttributes() {\n this.expect(5);\n const attrs = [];\n const attrNames = new Set();\n do {\n if (this.match(8)) {\n break;\n }\n const node = this.startNode();\n const keyName = this.state.value;\n if (attrNames.has(keyName)) {\n this.raise(Errors.ModuleAttributesWithDuplicateKeys, this.state.startLoc, {\n key: keyName\n });\n }\n attrNames.add(keyName);\n if (this.match(134)) {\n node.key = this.parseStringLiteral(keyName);\n } else {\n node.key = this.parseIdentifier(true);\n }\n this.expect(14);\n if (!this.match(134)) {\n throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc);\n }\n node.value = this.parseStringLiteral(this.state.value);\n attrs.push(this.finishNode(node, \"ImportAttribute\"));\n } while (this.eat(12));\n this.expect(8);\n return attrs;\n }\n parseModuleAttributes() {\n const attrs = [];\n const attributes = new Set();\n do {\n const node = this.startNode();\n node.key = this.parseIdentifier(true);\n if (node.key.name !== \"type\") {\n this.raise(Errors.ModuleAttributeDifferentFromType, node.key);\n }\n if (attributes.has(node.key.name)) {\n this.raise(Errors.ModuleAttributesWithDuplicateKeys, node.key, {\n key: node.key.name\n });\n }\n attributes.add(node.key.name);\n this.expect(14);\n if (!this.match(134)) {\n throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc);\n }\n node.value = this.parseStringLiteral(this.state.value);\n attrs.push(this.finishNode(node, \"ImportAttribute\"));\n } while (this.eat(12));\n return attrs;\n }\n maybeParseImportAttributes(node) {\n let attributes;\n {\n var useWith = false;\n }\n if (this.match(76)) {\n if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40) {\n return;\n }\n this.next();\n if (this.hasPlugin(\"moduleAttributes\")) {\n attributes = this.parseModuleAttributes();\n } else {\n attributes = this.parseImportAttributes();\n }\n {\n useWith = true;\n }\n } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) {\n if (!this.hasPlugin(\"deprecatedImportAssert\") && !this.hasPlugin(\"importAssertions\")) {\n this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc);\n }\n if (!this.hasPlugin(\"importAssertions\")) {\n this.addExtra(node, \"deprecatedAssertSyntax\", true);\n }\n this.next();\n attributes = this.parseImportAttributes();\n } else {\n attributes = [];\n }\n if (!useWith && this.hasPlugin(\"importAssertions\")) {\n node.assertions = attributes;\n } else {\n node.attributes = attributes;\n }\n }\n maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier) {\n if (maybeDefaultIdentifier) {\n const specifier = this.startNodeAtNode(maybeDefaultIdentifier);\n specifier.local = maybeDefaultIdentifier;\n node.specifiers.push(this.finishImportSpecifier(specifier, \"ImportDefaultSpecifier\"));\n return true;\n } else if (tokenIsKeywordOrIdentifier(this.state.type)) {\n this.parseImportSpecifierLocal(node, this.startNode(), \"ImportDefaultSpecifier\");\n return true;\n }\n return false;\n }\n maybeParseStarImportSpecifier(node) {\n if (this.match(55)) {\n const specifier = this.startNode();\n this.next();\n this.expectContextual(93);\n this.parseImportSpecifierLocal(node, specifier, \"ImportNamespaceSpecifier\");\n return true;\n }\n return false;\n }\n parseNamedImportSpecifiers(node) {\n let first = true;\n this.expect(5);\n while (!this.eat(8)) {\n if (first) {\n first = false;\n } else {\n if (this.eat(14)) {\n throw this.raise(Errors.DestructureNamedImport, this.state.startLoc);\n }\n this.expect(12);\n if (this.eat(8)) break;\n }\n const specifier = this.startNode();\n const importedIsString = this.match(134);\n const isMaybeTypeOnly = this.isContextual(130);\n specifier.imported = this.parseModuleExportName();\n const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === \"type\" || node.importKind === \"typeof\", isMaybeTypeOnly, undefined);\n node.specifiers.push(importSpecifier);\n }\n }\n parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) {\n if (this.eatContextual(93)) {\n specifier.local = this.parseIdentifier();\n } else {\n const {\n imported\n } = specifier;\n if (importedIsString) {\n throw this.raise(Errors.ImportBindingIsString, specifier, {\n importName: imported.value\n });\n }\n this.checkReservedWord(imported.name, specifier.loc.start, true, true);\n if (!specifier.local) {\n specifier.local = cloneIdentifier(imported);\n }\n }\n return this.finishImportSpecifier(specifier, \"ImportSpecifier\", bindingType);\n }\n isThisParam(param) {\n return param.type === \"Identifier\" && param.name === \"this\";\n }\n}\nclass Parser extends StatementParser {\n constructor(options, input, pluginsMap) {\n options = getOptions(options);\n super(options, input);\n this.options = options;\n this.initializeScopes();\n this.plugins = pluginsMap;\n this.filename = options.sourceFilename;\n this.startIndex = options.startIndex;\n }\n getScopeHandler() {\n return ScopeHandler;\n }\n parse() {\n this.enterInitialScopes();\n const file = this.startNode();\n const program = this.startNode();\n this.nextToken();\n file.errors = null;\n this.parseTopLevel(file, program);\n file.errors = this.state.errors;\n file.comments.length = this.state.commentsLen;\n return file;\n }\n}\nfunction parse(input, options) {\n var _options;\n if (((_options = options) == null ? void 0 : _options.sourceType) === \"unambiguous\") {\n options = Object.assign({}, options);\n try {\n options.sourceType = \"module\";\n const parser = getParser(options, input);\n const ast = parser.parse();\n if (parser.sawUnambiguousESM) {\n return ast;\n }\n if (parser.ambiguousScriptDifferentAst) {\n try {\n options.sourceType = \"script\";\n return getParser(options, input).parse();\n } catch (_unused) {}\n } else {\n ast.program.sourceType = \"script\";\n }\n return ast;\n } catch (moduleError) {\n try {\n options.sourceType = \"script\";\n return getParser(options, input).parse();\n } catch (_unused2) {}\n throw moduleError;\n }\n } else {\n return getParser(options, input).parse();\n }\n}\nfunction parseExpression(input, options) {\n const parser = getParser(options, input);\n if (parser.options.strictMode) {\n parser.state.strict = true;\n }\n return parser.getExpression();\n}\nfunction generateExportedTokenTypes(internalTokenTypes) {\n const tokenTypes = {};\n for (const typeName of Object.keys(internalTokenTypes)) {\n tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]);\n }\n return tokenTypes;\n}\nconst tokTypes = generateExportedTokenTypes(tt);\nfunction getParser(options, input) {\n let cls = Parser;\n const pluginsMap = new Map();\n if (options != null && options.plugins) {\n for (const plugin of options.plugins) {\n let name, opts;\n if (typeof plugin === \"string\") {\n name = plugin;\n } else {\n [name, opts] = plugin;\n }\n if (!pluginsMap.has(name)) {\n pluginsMap.set(name, opts || {});\n }\n }\n validatePlugins(pluginsMap);\n cls = getParserClass(pluginsMap);\n }\n return new cls(options, input, pluginsMap);\n}\nconst parserClassCache = new Map();\nfunction getParserClass(pluginsMap) {\n const pluginList = [];\n for (const name of mixinPluginNames) {\n if (pluginsMap.has(name)) {\n pluginList.push(name);\n }\n }\n const key = pluginList.join(\"|\");\n let cls = parserClassCache.get(key);\n if (!cls) {\n cls = Parser;\n for (const plugin of pluginList) {\n cls = mixinPlugins[plugin](cls);\n }\n parserClassCache.set(key, cls);\n }\n return cls;\n}\nexports.parse = parse;\nexports.parseExpression = parseExpression;\nexports.tokTypes = tokTypes;\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/parser/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/builder.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/template/lib/builder.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = createTemplateBuilder;\nvar _options = __webpack_require__(/*! ./options.js */ \"./node_modules/@babel/template/lib/options.js\");\nvar _string = __webpack_require__(/*! ./string.js */ \"./node_modules/@babel/template/lib/string.js\");\nvar _literal = __webpack_require__(/*! ./literal.js */ \"./node_modules/@babel/template/lib/literal.js\");\nconst NO_PLACEHOLDER = (0, _options.validate)({\n placeholderPattern: false\n});\nfunction createTemplateBuilder(formatter, defaultOpts) {\n const templateFnCache = new WeakMap();\n const templateAstCache = new WeakMap();\n const cachedOpts = defaultOpts || (0, _options.validate)(null);\n return Object.assign((tpl, ...args) => {\n if (typeof tpl === \"string\") {\n if (args.length > 1) throw new Error(\"Unexpected extra params.\");\n return extendedTrace((0, _string.default)(formatter, tpl, (0, _options.merge)(cachedOpts, (0, _options.validate)(args[0]))));\n } else if (Array.isArray(tpl)) {\n let builder = templateFnCache.get(tpl);\n if (!builder) {\n builder = (0, _literal.default)(formatter, tpl, cachedOpts);\n templateFnCache.set(tpl, builder);\n }\n return extendedTrace(builder(args));\n } else if (typeof tpl === \"object\" && tpl) {\n if (args.length > 0) throw new Error(\"Unexpected extra params.\");\n return createTemplateBuilder(formatter, (0, _options.merge)(cachedOpts, (0, _options.validate)(tpl)));\n }\n throw new Error(`Unexpected template param ${typeof tpl}`);\n }, {\n ast: (tpl, ...args) => {\n if (typeof tpl === \"string\") {\n if (args.length > 1) throw new Error(\"Unexpected extra params.\");\n return (0, _string.default)(formatter, tpl, (0, _options.merge)((0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])), NO_PLACEHOLDER))();\n } else if (Array.isArray(tpl)) {\n let builder = templateAstCache.get(tpl);\n if (!builder) {\n builder = (0, _literal.default)(formatter, tpl, (0, _options.merge)(cachedOpts, NO_PLACEHOLDER));\n templateAstCache.set(tpl, builder);\n }\n return builder(args)();\n }\n throw new Error(`Unexpected template param ${typeof tpl}`);\n }\n });\n}\nfunction extendedTrace(fn) {\n let rootStack = \"\";\n try {\n throw new Error();\n } catch (error) {\n if (error.stack) {\n rootStack = error.stack.split(\"\\n\").slice(3).join(\"\\n\");\n }\n }\n return arg => {\n try {\n return fn(arg);\n } catch (err) {\n err.stack += `\\n =============\\n${rootStack}`;\n throw err;\n }\n };\n}\n\n//# sourceMappingURL=builder.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/builder.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/formatters.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/template/lib/formatters.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.statements = exports.statement = exports.smart = exports.program = exports.expression = void 0;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n assertExpressionStatement\n} = _t;\nfunction makeStatementFormatter(fn) {\n return {\n code: str => `/* @babel/template */;\\n${str}`,\n validate: () => {},\n unwrap: ast => {\n return fn(ast.program.body.slice(1));\n }\n };\n}\nconst smart = exports.smart = makeStatementFormatter(body => {\n if (body.length > 1) {\n return body;\n } else {\n return body[0];\n }\n});\nconst statements = exports.statements = makeStatementFormatter(body => body);\nconst statement = exports.statement = makeStatementFormatter(body => {\n if (body.length === 0) {\n throw new Error(\"Found nothing to return.\");\n }\n if (body.length > 1) {\n throw new Error(\"Found multiple statements but wanted one\");\n }\n return body[0];\n});\nconst expression = exports.expression = {\n code: str => `(\\n${str}\\n)`,\n validate: ast => {\n if (ast.program.body.length > 1) {\n throw new Error(\"Found multiple statements but wanted one\");\n }\n if (expression.unwrap(ast).start === 0) {\n throw new Error(\"Parse result included parens.\");\n }\n },\n unwrap: ({\n program\n }) => {\n const [stmt] = program.body;\n assertExpressionStatement(stmt);\n return stmt.expression;\n }\n};\nconst program = exports.program = {\n code: str => str,\n validate: () => {},\n unwrap: ast => ast.program\n};\n\n//# sourceMappingURL=formatters.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/formatters.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/index.js": +/*!***************************************************!*\ + !*** ./node_modules/@babel/template/lib/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.statements = exports.statement = exports.smart = exports.program = exports.expression = exports[\"default\"] = void 0;\nvar formatters = __webpack_require__(/*! ./formatters.js */ \"./node_modules/@babel/template/lib/formatters.js\");\nvar _builder = __webpack_require__(/*! ./builder.js */ \"./node_modules/@babel/template/lib/builder.js\");\nconst smart = exports.smart = (0, _builder.default)(formatters.smart);\nconst statement = exports.statement = (0, _builder.default)(formatters.statement);\nconst statements = exports.statements = (0, _builder.default)(formatters.statements);\nconst expression = exports.expression = (0, _builder.default)(formatters.expression);\nconst program = exports.program = (0, _builder.default)(formatters.program);\nvar _default = exports[\"default\"] = Object.assign(smart.bind(undefined), {\n smart,\n statement,\n statements,\n expression,\n program,\n ast: smart.ast\n});\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/literal.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/template/lib/literal.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = literalTemplate;\nvar _options = __webpack_require__(/*! ./options.js */ \"./node_modules/@babel/template/lib/options.js\");\nvar _parse = __webpack_require__(/*! ./parse.js */ \"./node_modules/@babel/template/lib/parse.js\");\nvar _populate = __webpack_require__(/*! ./populate.js */ \"./node_modules/@babel/template/lib/populate.js\");\nfunction literalTemplate(formatter, tpl, opts) {\n const {\n metadata,\n names\n } = buildLiteralData(formatter, tpl, opts);\n return arg => {\n const defaultReplacements = {};\n arg.forEach((replacement, i) => {\n defaultReplacements[names[i]] = replacement;\n });\n return arg => {\n const replacements = (0, _options.normalizeReplacements)(arg);\n if (replacements) {\n Object.keys(replacements).forEach(key => {\n if (hasOwnProperty.call(defaultReplacements, key)) {\n throw new Error(\"Unexpected replacement overlap.\");\n }\n });\n }\n return formatter.unwrap((0, _populate.default)(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements));\n };\n };\n}\nfunction buildLiteralData(formatter, tpl, opts) {\n let prefix = \"BABEL_TPL$\";\n const raw = tpl.join(\"\");\n do {\n prefix = \"$$\" + prefix;\n } while (raw.includes(prefix));\n const {\n names,\n code\n } = buildTemplateCode(tpl, prefix);\n const metadata = (0, _parse.default)(formatter, formatter.code(code), {\n parser: opts.parser,\n placeholderWhitelist: new Set(names.concat(opts.placeholderWhitelist ? Array.from(opts.placeholderWhitelist) : [])),\n placeholderPattern: opts.placeholderPattern,\n preserveComments: opts.preserveComments,\n syntacticPlaceholders: opts.syntacticPlaceholders\n });\n return {\n metadata,\n names\n };\n}\nfunction buildTemplateCode(tpl, prefix) {\n const names = [];\n let code = tpl[0];\n for (let i = 1; i < tpl.length; i++) {\n const value = `${prefix}${i - 1}`;\n names.push(value);\n code += value + tpl[i];\n }\n return {\n names,\n code\n };\n}\n\n//# sourceMappingURL=literal.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/literal.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/options.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/template/lib/options.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.merge = merge;\nexports.normalizeReplacements = normalizeReplacements;\nexports.validate = validate;\nconst _excluded = [\"placeholderWhitelist\", \"placeholderPattern\", \"preserveComments\", \"syntacticPlaceholders\"];\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nfunction merge(a, b) {\n const {\n placeholderWhitelist = a.placeholderWhitelist,\n placeholderPattern = a.placeholderPattern,\n preserveComments = a.preserveComments,\n syntacticPlaceholders = a.syntacticPlaceholders\n } = b;\n return {\n parser: Object.assign({}, a.parser, b.parser),\n placeholderWhitelist,\n placeholderPattern,\n preserveComments,\n syntacticPlaceholders\n };\n}\nfunction validate(opts) {\n if (opts != null && typeof opts !== \"object\") {\n throw new Error(\"Unknown template options.\");\n }\n const _ref = opts || {},\n {\n placeholderWhitelist,\n placeholderPattern,\n preserveComments,\n syntacticPlaceholders\n } = _ref,\n parser = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (placeholderWhitelist != null && !(placeholderWhitelist instanceof Set)) {\n throw new Error(\"'.placeholderWhitelist' must be a Set, null, or undefined\");\n }\n if (placeholderPattern != null && !(placeholderPattern instanceof RegExp) && placeholderPattern !== false) {\n throw new Error(\"'.placeholderPattern' must be a RegExp, false, null, or undefined\");\n }\n if (preserveComments != null && typeof preserveComments !== \"boolean\") {\n throw new Error(\"'.preserveComments' must be a boolean, null, or undefined\");\n }\n if (syntacticPlaceholders != null && typeof syntacticPlaceholders !== \"boolean\") {\n throw new Error(\"'.syntacticPlaceholders' must be a boolean, null, or undefined\");\n }\n if (syntacticPlaceholders === true && (placeholderWhitelist != null || placeholderPattern != null)) {\n throw new Error(\"'.placeholderWhitelist' and '.placeholderPattern' aren't compatible\" + \" with '.syntacticPlaceholders: true'\");\n }\n return {\n parser,\n placeholderWhitelist: placeholderWhitelist || undefined,\n placeholderPattern: placeholderPattern == null ? undefined : placeholderPattern,\n preserveComments: preserveComments == null ? undefined : preserveComments,\n syntacticPlaceholders: syntacticPlaceholders == null ? undefined : syntacticPlaceholders\n };\n}\nfunction normalizeReplacements(replacements) {\n if (Array.isArray(replacements)) {\n return replacements.reduce((acc, replacement, i) => {\n acc[\"$\" + i] = replacement;\n return acc;\n }, {});\n } else if (typeof replacements === \"object\" || replacements == null) {\n return replacements || undefined;\n }\n throw new Error(\"Template replacements must be an array, object, null, or undefined\");\n}\n\n//# sourceMappingURL=options.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/options.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/parse.js": +/*!***************************************************!*\ + !*** ./node_modules/@babel/template/lib/parse.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = parseAndBuildMetadata;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _parser = __webpack_require__(/*! @babel/parser */ \"./node_modules/@babel/parser/lib/index.js\");\nvar _codeFrame = __webpack_require__(/*! @babel/code-frame */ \"./node_modules/@babel/code-frame/lib/index.js\");\nconst {\n isCallExpression,\n isExpressionStatement,\n isFunction,\n isIdentifier,\n isJSXIdentifier,\n isNewExpression,\n isPlaceholder,\n isStatement,\n isStringLiteral,\n removePropertiesDeep,\n traverse\n} = _t;\nconst PATTERN = /^[_$A-Z0-9]+$/;\nfunction parseAndBuildMetadata(formatter, code, opts) {\n const {\n placeholderWhitelist,\n placeholderPattern,\n preserveComments,\n syntacticPlaceholders\n } = opts;\n const ast = parseWithCodeFrame(code, opts.parser, syntacticPlaceholders);\n removePropertiesDeep(ast, {\n preserveComments\n });\n formatter.validate(ast);\n const state = {\n syntactic: {\n placeholders: [],\n placeholderNames: new Set()\n },\n legacy: {\n placeholders: [],\n placeholderNames: new Set()\n },\n placeholderWhitelist,\n placeholderPattern,\n syntacticPlaceholders\n };\n traverse(ast, placeholderVisitorHandler, state);\n return Object.assign({\n ast\n }, state.syntactic.placeholders.length ? state.syntactic : state.legacy);\n}\nfunction placeholderVisitorHandler(node, ancestors, state) {\n var _state$placeholderWhi;\n let name;\n let hasSyntacticPlaceholders = state.syntactic.placeholders.length > 0;\n if (isPlaceholder(node)) {\n if (state.syntacticPlaceholders === false) {\n throw new Error(\"%%foo%%-style placeholders can't be used when \" + \"'.syntacticPlaceholders' is false.\");\n }\n name = node.name.name;\n hasSyntacticPlaceholders = true;\n } else if (hasSyntacticPlaceholders || state.syntacticPlaceholders) {\n return;\n } else if (isIdentifier(node) || isJSXIdentifier(node)) {\n name = node.name;\n } else if (isStringLiteral(node)) {\n name = node.value;\n } else {\n return;\n }\n if (hasSyntacticPlaceholders && (state.placeholderPattern != null || state.placeholderWhitelist != null)) {\n throw new Error(\"'.placeholderWhitelist' and '.placeholderPattern' aren't compatible\" + \" with '.syntacticPlaceholders: true'\");\n }\n if (!hasSyntacticPlaceholders && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && !((_state$placeholderWhi = state.placeholderWhitelist) != null && _state$placeholderWhi.has(name))) {\n return;\n }\n ancestors = ancestors.slice();\n const {\n node: parent,\n key\n } = ancestors[ancestors.length - 1];\n let type;\n if (isStringLiteral(node) || isPlaceholder(node, {\n expectedNode: \"StringLiteral\"\n })) {\n type = \"string\";\n } else if (isNewExpression(parent) && key === \"arguments\" || isCallExpression(parent) && key === \"arguments\" || isFunction(parent) && key === \"params\") {\n type = \"param\";\n } else if (isExpressionStatement(parent) && !isPlaceholder(node)) {\n type = \"statement\";\n ancestors = ancestors.slice(0, -1);\n } else if (isStatement(node) && isPlaceholder(node)) {\n type = \"statement\";\n } else {\n type = \"other\";\n }\n const {\n placeholders,\n placeholderNames\n } = !hasSyntacticPlaceholders ? state.legacy : state.syntactic;\n placeholders.push({\n name,\n type,\n resolve: ast => resolveAncestors(ast, ancestors),\n isDuplicate: placeholderNames.has(name)\n });\n placeholderNames.add(name);\n}\nfunction resolveAncestors(ast, ancestors) {\n let parent = ast;\n for (let i = 0; i < ancestors.length - 1; i++) {\n const {\n key,\n index\n } = ancestors[i];\n if (index === undefined) {\n parent = parent[key];\n } else {\n parent = parent[key][index];\n }\n }\n const {\n key,\n index\n } = ancestors[ancestors.length - 1];\n return {\n parent,\n key,\n index\n };\n}\nfunction parseWithCodeFrame(code, parserOpts, syntacticPlaceholders) {\n const plugins = (parserOpts.plugins || []).slice();\n if (syntacticPlaceholders !== false) {\n plugins.push(\"placeholders\");\n }\n parserOpts = Object.assign({\n allowReturnOutsideFunction: true,\n allowSuperOutsideMethod: true,\n sourceType: \"module\"\n }, parserOpts, {\n plugins\n });\n try {\n return (0, _parser.parse)(code, parserOpts);\n } catch (err) {\n const loc = err.loc;\n if (loc) {\n err.message += \"\\n\" + (0, _codeFrame.codeFrameColumns)(code, {\n start: loc\n });\n err.code = \"BABEL_TEMPLATE_PARSE_ERROR\";\n }\n throw err;\n }\n}\n\n//# sourceMappingURL=parse.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/parse.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/populate.js": +/*!******************************************************!*\ + !*** ./node_modules/@babel/template/lib/populate.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = populatePlaceholders;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n blockStatement,\n cloneNode,\n emptyStatement,\n expressionStatement,\n identifier,\n isStatement,\n isStringLiteral,\n stringLiteral,\n validate\n} = _t;\nfunction populatePlaceholders(metadata, replacements) {\n const ast = cloneNode(metadata.ast);\n if (replacements) {\n metadata.placeholders.forEach(placeholder => {\n if (!hasOwnProperty.call(replacements, placeholder.name)) {\n const placeholderName = placeholder.name;\n throw new Error(`Error: No substitution given for \"${placeholderName}\". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['${placeholderName}'])}\n - { placeholderPattern: /^${placeholderName}$/ }`);\n }\n });\n Object.keys(replacements).forEach(key => {\n if (!metadata.placeholderNames.has(key)) {\n throw new Error(`Unknown substitution \"${key}\" given`);\n }\n });\n }\n metadata.placeholders.slice().reverse().forEach(placeholder => {\n try {\n applyReplacement(placeholder, ast, replacements && replacements[placeholder.name] || null);\n } catch (e) {\n e.message = `@babel/template placeholder \"${placeholder.name}\": ${e.message}`;\n throw e;\n }\n });\n return ast;\n}\nfunction applyReplacement(placeholder, ast, replacement) {\n if (placeholder.isDuplicate) {\n if (Array.isArray(replacement)) {\n replacement = replacement.map(node => cloneNode(node));\n } else if (typeof replacement === \"object\") {\n replacement = cloneNode(replacement);\n }\n }\n const {\n parent,\n key,\n index\n } = placeholder.resolve(ast);\n if (placeholder.type === \"string\") {\n if (typeof replacement === \"string\") {\n replacement = stringLiteral(replacement);\n }\n if (!replacement || !isStringLiteral(replacement)) {\n throw new Error(\"Expected string substitution\");\n }\n } else if (placeholder.type === \"statement\") {\n if (index === undefined) {\n if (!replacement) {\n replacement = emptyStatement();\n } else if (Array.isArray(replacement)) {\n replacement = blockStatement(replacement);\n } else if (typeof replacement === \"string\") {\n replacement = expressionStatement(identifier(replacement));\n } else if (!isStatement(replacement)) {\n replacement = expressionStatement(replacement);\n }\n } else {\n if (replacement && !Array.isArray(replacement)) {\n if (typeof replacement === \"string\") {\n replacement = identifier(replacement);\n }\n if (!isStatement(replacement)) {\n replacement = expressionStatement(replacement);\n }\n }\n }\n } else if (placeholder.type === \"param\") {\n if (typeof replacement === \"string\") {\n replacement = identifier(replacement);\n }\n if (index === undefined) throw new Error(\"Assertion failure.\");\n } else {\n if (typeof replacement === \"string\") {\n replacement = identifier(replacement);\n }\n if (Array.isArray(replacement)) {\n throw new Error(\"Cannot replace single expression with an array.\");\n }\n }\n function set(parent, key, value) {\n const node = parent[key];\n parent[key] = value;\n if (node.type === \"Identifier\" || node.type === \"Placeholder\") {\n if (node.typeAnnotation) {\n value.typeAnnotation = node.typeAnnotation;\n }\n if (node.optional) {\n value.optional = node.optional;\n }\n if (node.decorators) {\n value.decorators = node.decorators;\n }\n }\n }\n if (index === undefined) {\n validate(parent, key, replacement);\n set(parent, key, replacement);\n } else {\n const items = parent[key].slice();\n if (placeholder.type === \"statement\" || placeholder.type === \"param\") {\n if (replacement == null) {\n items.splice(index, 1);\n } else if (Array.isArray(replacement)) {\n items.splice(index, 1, ...replacement);\n } else {\n set(items, index, replacement);\n }\n } else {\n set(items, index, replacement);\n }\n validate(parent, key, items);\n parent[key] = items;\n }\n}\n\n//# sourceMappingURL=populate.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/populate.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/template/lib/string.js": +/*!****************************************************!*\ + !*** ./node_modules/@babel/template/lib/string.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = stringTemplate;\nvar _options = __webpack_require__(/*! ./options.js */ \"./node_modules/@babel/template/lib/options.js\");\nvar _parse = __webpack_require__(/*! ./parse.js */ \"./node_modules/@babel/template/lib/parse.js\");\nvar _populate = __webpack_require__(/*! ./populate.js */ \"./node_modules/@babel/template/lib/populate.js\");\nfunction stringTemplate(formatter, code, opts) {\n code = formatter.code(code);\n let metadata;\n return arg => {\n const replacements = (0, _options.normalizeReplacements)(arg);\n if (!metadata) metadata = (0, _parse.default)(formatter, code, opts);\n return formatter.unwrap((0, _populate.default)(metadata, replacements));\n };\n}\n\n//# sourceMappingURL=string.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/template/lib/string.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/cache.js": +/*!***************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/cache.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.clear = clear;\nexports.clearPath = clearPath;\nexports.clearScope = clearScope;\nexports.getCachedPaths = getCachedPaths;\nexports.getOrCreateCachedPaths = getOrCreateCachedPaths;\nexports.scope = exports.path = void 0;\nlet pathsCache = exports.path = new WeakMap();\nlet scope = exports.scope = new WeakMap();\nfunction clear() {\n clearPath();\n clearScope();\n}\nfunction clearPath() {\n exports.path = pathsCache = new WeakMap();\n}\nfunction clearScope() {\n exports.scope = scope = new WeakMap();\n}\nconst nullHub = Object.freeze({});\nfunction getCachedPaths(hub, parent) {\n var _pathsCache$get, _hub;\n {\n hub = null;\n }\n return (_pathsCache$get = pathsCache.get((_hub = hub) != null ? _hub : nullHub)) == null ? void 0 : _pathsCache$get.get(parent);\n}\nfunction getOrCreateCachedPaths(hub, parent) {\n var _hub2, _hub3;\n {\n hub = null;\n }\n let parents = pathsCache.get((_hub2 = hub) != null ? _hub2 : nullHub);\n if (!parents) pathsCache.set((_hub3 = hub) != null ? _hub3 : nullHub, parents = new WeakMap());\n let paths = parents.get(parent);\n if (!paths) parents.set(parent, paths = new Map());\n return paths;\n}\n\n//# sourceMappingURL=cache.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/cache.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/context.js": +/*!*****************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/context.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _index = __webpack_require__(/*! ./path/index.js */ \"./node_modules/@babel/traverse/lib/path/index.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _context = __webpack_require__(/*! ./path/context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nconst {\n VISITOR_KEYS\n} = _t;\nclass TraversalContext {\n constructor(scope, opts, state, parentPath) {\n this.queue = null;\n this.priorityQueue = null;\n this.parentPath = parentPath;\n this.scope = scope;\n this.state = state;\n this.opts = opts;\n }\n shouldVisit(node) {\n const opts = this.opts;\n if (opts.enter || opts.exit) return true;\n if (opts[node.type]) return true;\n const keys = VISITOR_KEYS[node.type];\n if (!(keys != null && keys.length)) return false;\n for (const key of keys) {\n if (node[key]) {\n return true;\n }\n }\n return false;\n }\n create(node, container, key, listKey) {\n return _index.default.get({\n parentPath: this.parentPath,\n parent: node,\n container,\n key: key,\n listKey\n });\n }\n maybeQueue(path, notPriority) {\n if (this.queue) {\n if (notPriority) {\n this.queue.push(path);\n } else {\n this.priorityQueue.push(path);\n }\n }\n }\n visitMultiple(container, parent, listKey) {\n if (container.length === 0) return false;\n const queue = [];\n for (let key = 0; key < container.length; key++) {\n const node = container[key];\n if (node && this.shouldVisit(node)) {\n queue.push(this.create(parent, container, key, listKey));\n }\n }\n return this.visitQueue(queue);\n }\n visitSingle(node, key) {\n if (this.shouldVisit(node[key])) {\n return this.visitQueue([this.create(node, node, key)]);\n } else {\n return false;\n }\n }\n visitQueue(queue) {\n this.queue = queue;\n this.priorityQueue = [];\n const visited = new WeakSet();\n let stop = false;\n let visitIndex = 0;\n for (; visitIndex < queue.length;) {\n const path = queue[visitIndex];\n visitIndex++;\n _context.resync.call(path);\n if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== this) {\n _context.pushContext.call(path, this);\n }\n if (path.key === null) continue;\n const {\n node\n } = path;\n if (visited.has(node)) continue;\n if (node) visited.add(node);\n if (path.visit()) {\n stop = true;\n break;\n }\n if (this.priorityQueue.length) {\n stop = this.visitQueue(this.priorityQueue);\n this.priorityQueue = [];\n this.queue = queue;\n if (stop) break;\n }\n }\n for (let i = 0; i < visitIndex; i++) {\n _context.popContext.call(queue[i]);\n }\n this.queue = null;\n return stop;\n }\n visit(node, key) {\n const nodes = node[key];\n if (!nodes) return false;\n if (Array.isArray(nodes)) {\n return this.visitMultiple(nodes, node, key);\n } else {\n return this.visitSingle(node, key);\n }\n }\n}\nexports[\"default\"] = TraversalContext;\n\n//# sourceMappingURL=context.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/context.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/hub.js": +/*!*************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/hub.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nclass Hub {\n getCode() {}\n getScope() {}\n addHelper() {\n throw new Error(\"Helpers are not supported by the default hub.\");\n }\n buildError(node, msg, Error = TypeError) {\n return new Error(msg);\n }\n}\nexports[\"default\"] = Hub;\n\n//# sourceMappingURL=hub.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/hub.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/index.js": +/*!***************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Hub\", ({\n enumerable: true,\n get: function () {\n return _hub.default;\n }\n}));\nObject.defineProperty(exports, \"NodePath\", ({\n enumerable: true,\n get: function () {\n return _index.default;\n }\n}));\nObject.defineProperty(exports, \"Scope\", ({\n enumerable: true,\n get: function () {\n return _index2.default;\n }\n}));\nexports.visitors = exports[\"default\"] = void 0;\n__webpack_require__(/*! ./path/context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nvar visitors = __webpack_require__(/*! ./visitors.js */ \"./node_modules/@babel/traverse/lib/visitors.js\");\nexports.visitors = visitors;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar cache = __webpack_require__(/*! ./cache.js */ \"./node_modules/@babel/traverse/lib/cache.js\");\nvar _traverseNode = __webpack_require__(/*! ./traverse-node.js */ \"./node_modules/@babel/traverse/lib/traverse-node.js\");\nvar _index = __webpack_require__(/*! ./path/index.js */ \"./node_modules/@babel/traverse/lib/path/index.js\");\nvar _index2 = __webpack_require__(/*! ./scope/index.js */ \"./node_modules/@babel/traverse/lib/scope/index.js\");\nvar _hub = __webpack_require__(/*! ./hub.js */ \"./node_modules/@babel/traverse/lib/hub.js\");\nconst {\n VISITOR_KEYS,\n removeProperties,\n traverseFast\n} = _t;\nfunction traverse(parent, opts = {}, scope, state, parentPath, visitSelf) {\n if (!parent) return;\n if (!opts.noScope && !scope) {\n if (parent.type !== \"Program\" && parent.type !== \"File\") {\n throw new Error(\"You must pass a scope and parentPath unless traversing a Program/File. \" + `Instead of that you tried to traverse a ${parent.type} node without ` + \"passing scope and parentPath.\");\n }\n }\n if (!parentPath && visitSelf) {\n throw new Error(\"visitSelf can only be used when providing a NodePath.\");\n }\n if (!VISITOR_KEYS[parent.type]) {\n return;\n }\n visitors.explode(opts);\n (0, _traverseNode.traverseNode)(parent, opts, scope, state, parentPath, null, visitSelf);\n}\nvar _default = exports[\"default\"] = traverse;\ntraverse.visitors = visitors;\ntraverse.verify = visitors.verify;\ntraverse.explode = visitors.explode;\ntraverse.cheap = function (node, enter) {\n traverseFast(node, enter);\n return;\n};\ntraverse.node = function (node, opts, scope, state, path, skipKeys) {\n (0, _traverseNode.traverseNode)(node, opts, scope, state, path, skipKeys);\n};\ntraverse.clearNode = function (node, opts) {\n removeProperties(node, opts);\n};\ntraverse.removeProperties = function (tree, opts) {\n traverseFast(tree, traverse.clearNode, opts);\n return tree;\n};\nfunction hasDenylistedType(path, state) {\n if (path.node.type === state.type) {\n state.has = true;\n path.stop();\n }\n}\ntraverse.hasType = function (tree, type, denylistTypes) {\n if (denylistTypes != null && denylistTypes.includes(tree.type)) return false;\n if (tree.type === type) return true;\n const state = {\n has: false,\n type: type\n };\n traverse(tree, {\n noScope: true,\n denylist: denylistTypes,\n enter: hasDenylistedType\n }, null, state);\n return state.has;\n};\ntraverse.cache = cache;\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/ancestry.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/ancestry.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.find = find;\nexports.findParent = findParent;\nexports.getAncestry = getAncestry;\nexports.getDeepestCommonAncestorFrom = getDeepestCommonAncestorFrom;\nexports.getEarliestCommonAncestorFrom = getEarliestCommonAncestorFrom;\nexports.getFunctionParent = getFunctionParent;\nexports.getStatementParent = getStatementParent;\nexports.inType = inType;\nexports.isAncestor = isAncestor;\nexports.isDescendant = isDescendant;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n VISITOR_KEYS\n} = _t;\nfunction findParent(callback) {\n let path = this;\n while (path = path.parentPath) {\n if (callback(path)) return path;\n }\n return null;\n}\nfunction find(callback) {\n let path = this;\n do {\n if (callback(path)) return path;\n } while (path = path.parentPath);\n return null;\n}\nfunction getFunctionParent() {\n return this.findParent(p => p.isFunction());\n}\nfunction getStatementParent() {\n let path = this;\n do {\n if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {\n break;\n } else {\n path = path.parentPath;\n }\n } while (path);\n if (path && (path.isProgram() || path.isFile())) {\n throw new Error(\"File/Program node, we can't possibly find a statement parent to this\");\n }\n return path;\n}\nfunction getEarliestCommonAncestorFrom(paths) {\n return this.getDeepestCommonAncestorFrom(paths, function (deepest, i, ancestries) {\n let earliest;\n const keys = VISITOR_KEYS[deepest.type];\n for (const ancestry of ancestries) {\n const path = ancestry[i + 1];\n if (!earliest) {\n earliest = path;\n continue;\n }\n if (path.listKey && earliest.listKey === path.listKey) {\n if (path.key < earliest.key) {\n earliest = path;\n continue;\n }\n }\n const earliestKeyIndex = keys.indexOf(earliest.parentKey);\n const currentKeyIndex = keys.indexOf(path.parentKey);\n if (earliestKeyIndex > currentKeyIndex) {\n earliest = path;\n }\n }\n return earliest;\n });\n}\nfunction getDeepestCommonAncestorFrom(paths, filter) {\n if (!paths.length) {\n return this;\n }\n if (paths.length === 1) {\n return paths[0];\n }\n let minDepth = Infinity;\n let lastCommonIndex, lastCommon;\n const ancestries = paths.map(path => {\n const ancestry = [];\n do {\n ancestry.unshift(path);\n } while ((path = path.parentPath) && path !== this);\n if (ancestry.length < minDepth) {\n minDepth = ancestry.length;\n }\n return ancestry;\n });\n const first = ancestries[0];\n depthLoop: for (let i = 0; i < minDepth; i++) {\n const shouldMatch = first[i];\n for (const ancestry of ancestries) {\n if (ancestry[i] !== shouldMatch) {\n break depthLoop;\n }\n }\n lastCommonIndex = i;\n lastCommon = shouldMatch;\n }\n if (lastCommon) {\n if (filter) {\n return filter(lastCommon, lastCommonIndex, ancestries);\n } else {\n return lastCommon;\n }\n } else {\n throw new Error(\"Couldn't find intersection\");\n }\n}\nfunction getAncestry() {\n let path = this;\n const paths = [];\n do {\n paths.push(path);\n } while (path = path.parentPath);\n return paths;\n}\nfunction isAncestor(maybeDescendant) {\n return maybeDescendant.isDescendant(this);\n}\nfunction isDescendant(maybeAncestor) {\n return !!this.findParent(parent => parent === maybeAncestor);\n}\nfunction inType(...candidateTypes) {\n let path = this;\n while (path) {\n for (const type of candidateTypes) {\n if (path.node.type === type) return true;\n }\n path = path.parentPath;\n }\n return false;\n}\n\n//# sourceMappingURL=ancestry.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/ancestry.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/comments.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/comments.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.addComment = addComment;\nexports.addComments = addComments;\nexports.shareCommentsWithSiblings = shareCommentsWithSiblings;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n addComment: _addComment,\n addComments: _addComments\n} = _t;\nfunction shareCommentsWithSiblings() {\n if (typeof this.key === \"string\") return;\n const node = this.node;\n if (!node) return;\n const trailing = node.trailingComments;\n const leading = node.leadingComments;\n if (!trailing && !leading) return;\n const prev = this.getSibling(this.key - 1);\n const next = this.getSibling(this.key + 1);\n const hasPrev = Boolean(prev.node);\n const hasNext = Boolean(next.node);\n if (hasPrev) {\n if (leading) {\n prev.addComments(\"trailing\", removeIfExisting(leading, prev.node.trailingComments));\n }\n if (trailing && !hasNext) prev.addComments(\"trailing\", trailing);\n }\n if (hasNext) {\n if (trailing) {\n next.addComments(\"leading\", removeIfExisting(trailing, next.node.leadingComments));\n }\n if (leading && !hasPrev) next.addComments(\"leading\", leading);\n }\n}\nfunction removeIfExisting(list, toRemove) {\n if (!(toRemove != null && toRemove.length)) return list;\n const set = new Set(toRemove);\n return list.filter(el => {\n return !set.has(el);\n });\n}\nfunction addComment(type, content, line) {\n _addComment(this.node, type, content, line);\n}\nfunction addComments(type, comments) {\n _addComments(this.node, type, comments);\n}\n\n//# sourceMappingURL=comments.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/comments.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/context.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/context.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports._call = _call;\nexports._getQueueContexts = _getQueueContexts;\nexports._resyncKey = _resyncKey;\nexports._resyncList = _resyncList;\nexports._resyncParent = _resyncParent;\nexports._resyncRemoved = _resyncRemoved;\nexports.call = call;\nexports.isDenylisted = isDenylisted;\nexports.popContext = popContext;\nexports.pushContext = pushContext;\nexports.requeue = requeue;\nexports.requeueComputedKeyAndDecorators = requeueComputedKeyAndDecorators;\nexports.resync = resync;\nexports.setContext = setContext;\nexports.setKey = setKey;\nexports.setScope = setScope;\nexports.setup = setup;\nexports.skip = skip;\nexports.skipKey = skipKey;\nexports.stop = stop;\nexports.visit = visit;\nvar _traverseNode = __webpack_require__(/*! ../traverse-node.js */ \"./node_modules/@babel/traverse/lib/traverse-node.js\");\nvar _index = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/traverse/lib/path/index.js\");\nvar _removal = __webpack_require__(/*! ./removal.js */ \"./node_modules/@babel/traverse/lib/path/removal.js\");\nvar t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nfunction call(key) {\n const opts = this.opts;\n this.debug(key);\n if (this.node) {\n if (_call.call(this, opts[key])) return true;\n }\n if (this.node) {\n var _opts$this$node$type;\n return _call.call(this, (_opts$this$node$type = opts[this.node.type]) == null ? void 0 : _opts$this$node$type[key]);\n }\n return false;\n}\nfunction _call(fns) {\n if (!fns) return false;\n for (const fn of fns) {\n if (!fn) continue;\n const node = this.node;\n if (!node) return true;\n const ret = fn.call(this.state, this, this.state);\n if (ret && typeof ret === \"object\" && typeof ret.then === \"function\") {\n throw new Error(`You appear to be using a plugin with an async traversal visitor, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, you may need to upgrade ` + `your @babel/core version.`);\n }\n if (ret) {\n throw new Error(`Unexpected return value from visitor method ${fn}`);\n }\n if (this.node !== node) return true;\n if (this._traverseFlags > 0) return true;\n }\n return false;\n}\nfunction isDenylisted() {\n var _this$opts$denylist;\n const denylist = (_this$opts$denylist = this.opts.denylist) != null ? _this$opts$denylist : this.opts.blacklist;\n return denylist == null ? void 0 : denylist.includes(this.node.type);\n}\n{\n exports.isBlacklisted = isDenylisted;\n}\nfunction restoreContext(path, context) {\n if (path.context !== context) {\n path.context = context;\n path.state = context.state;\n path.opts = context.opts;\n }\n}\nfunction visit() {\n var _this$opts$shouldSkip, _this$opts;\n if (!this.node) {\n return false;\n }\n if (this.isDenylisted()) {\n return false;\n }\n if ((_this$opts$shouldSkip = (_this$opts = this.opts).shouldSkip) != null && _this$opts$shouldSkip.call(_this$opts, this)) {\n return false;\n }\n const currentContext = this.context;\n if (this.shouldSkip || call.call(this, \"enter\")) {\n this.debug(\"Skip...\");\n return this.shouldStop;\n }\n restoreContext(this, currentContext);\n this.debug(\"Recursing into...\");\n this.shouldStop = (0, _traverseNode.traverseNode)(this.node, this.opts, this.scope, this.state, this, this.skipKeys);\n restoreContext(this, currentContext);\n call.call(this, \"exit\");\n return this.shouldStop;\n}\nfunction skip() {\n this.shouldSkip = true;\n}\nfunction skipKey(key) {\n if (this.skipKeys == null) {\n this.skipKeys = {};\n }\n this.skipKeys[key] = true;\n}\nfunction stop() {\n this._traverseFlags |= _index.SHOULD_SKIP | _index.SHOULD_STOP;\n}\nfunction setScope() {\n var _this$opts2, _this$scope;\n if ((_this$opts2 = this.opts) != null && _this$opts2.noScope) return;\n let path = this.parentPath;\n if ((this.key === \"key\" || this.listKey === \"decorators\") && path.isMethod() || this.key === \"discriminant\" && path.isSwitchStatement()) {\n path = path.parentPath;\n }\n let target;\n while (path && !target) {\n var _path$opts;\n if ((_path$opts = path.opts) != null && _path$opts.noScope) return;\n target = path.scope;\n path = path.parentPath;\n }\n this.scope = this.getScope(target);\n (_this$scope = this.scope) == null || _this$scope.init();\n}\nfunction setContext(context) {\n if (this.skipKeys != null) {\n this.skipKeys = {};\n }\n this._traverseFlags = 0;\n if (context) {\n this.context = context;\n this.state = context.state;\n this.opts = context.opts;\n }\n setScope.call(this);\n return this;\n}\nfunction resync() {\n if (this.removed) return;\n _resyncParent.call(this);\n _resyncList.call(this);\n _resyncKey.call(this);\n}\nfunction _resyncParent() {\n if (this.parentPath) {\n this.parent = this.parentPath.node;\n }\n}\nfunction _resyncKey() {\n if (!this.container) return;\n if (this.node === this.container[this.key]) {\n return;\n }\n if (Array.isArray(this.container)) {\n for (let i = 0; i < this.container.length; i++) {\n if (this.container[i] === this.node) {\n setKey.call(this, i);\n return;\n }\n }\n } else {\n for (const key of Object.keys(this.container)) {\n if (this.container[key] === this.node) {\n setKey.call(this, key);\n return;\n }\n }\n }\n this.key = null;\n}\nfunction _resyncList() {\n if (!this.parent || !this.inList) return;\n const newContainer = this.parent[this.listKey];\n if (this.container === newContainer) return;\n this.container = newContainer || null;\n}\nfunction _resyncRemoved() {\n if (this.key == null || !this.container || this.container[this.key] !== this.node) {\n _removal._markRemoved.call(this);\n }\n}\nfunction popContext() {\n this.contexts.pop();\n if (this.contexts.length > 0) {\n this.setContext(this.contexts[this.contexts.length - 1]);\n } else {\n this.setContext(undefined);\n }\n}\nfunction pushContext(context) {\n this.contexts.push(context);\n this.setContext(context);\n}\nfunction setup(parentPath, container, listKey, key) {\n this.listKey = listKey;\n this.container = container;\n this.parentPath = parentPath || this.parentPath;\n setKey.call(this, key);\n}\nfunction setKey(key) {\n var _this$node;\n this.key = key;\n this.node = this.container[this.key];\n this.type = (_this$node = this.node) == null ? void 0 : _this$node.type;\n}\nfunction requeue(pathToQueue = this) {\n if (pathToQueue.removed) return;\n ;\n const contexts = this.contexts;\n for (const context of contexts) {\n context.maybeQueue(pathToQueue);\n }\n}\nfunction requeueComputedKeyAndDecorators() {\n const {\n context,\n node\n } = this;\n if (!t.isPrivate(node) && node.computed) {\n context.maybeQueue(this.get(\"key\"));\n }\n if (node.decorators) {\n for (const decorator of this.get(\"decorators\")) {\n context.maybeQueue(decorator);\n }\n }\n}\nfunction _getQueueContexts() {\n let path = this;\n let contexts = this.contexts;\n while (!contexts.length) {\n path = path.parentPath;\n if (!path) break;\n contexts = path.contexts;\n }\n return contexts;\n}\n\n//# sourceMappingURL=context.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/context.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/conversion.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/conversion.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.arrowFunctionToExpression = arrowFunctionToExpression;\nexports.ensureBlock = ensureBlock;\nexports.ensureFunctionName = ensureFunctionName;\nexports.splitExportDeclaration = splitExportDeclaration;\nexports.toComputedKey = toComputedKey;\nexports.unwrapFunctionEnvironment = unwrapFunctionEnvironment;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _template = __webpack_require__(/*! @babel/template */ \"./node_modules/@babel/template/lib/index.js\");\nvar _visitors = __webpack_require__(/*! ../visitors.js */ \"./node_modules/@babel/traverse/lib/visitors.js\");\nvar _context = __webpack_require__(/*! ./context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nconst {\n arrowFunctionExpression,\n assignmentExpression,\n binaryExpression,\n blockStatement,\n callExpression,\n conditionalExpression,\n expressionStatement,\n identifier,\n isIdentifier,\n jsxIdentifier,\n logicalExpression,\n LOGICAL_OPERATORS,\n memberExpression,\n metaProperty,\n numericLiteral,\n objectExpression,\n restElement,\n returnStatement,\n sequenceExpression,\n spreadElement,\n stringLiteral,\n super: _super,\n thisExpression,\n toExpression,\n unaryExpression,\n toBindingIdentifierName,\n isFunction,\n isAssignmentPattern,\n isRestElement,\n getFunctionName,\n cloneNode,\n variableDeclaration,\n variableDeclarator,\n exportNamedDeclaration,\n exportSpecifier,\n inherits\n} = _t;\nfunction toComputedKey() {\n let key;\n if (this.isMemberExpression()) {\n key = this.node.property;\n } else if (this.isProperty() || this.isMethod()) {\n key = this.node.key;\n } else {\n throw new ReferenceError(\"todo\");\n }\n if (!this.node.computed) {\n if (isIdentifier(key)) key = stringLiteral(key.name);\n }\n return key;\n}\nfunction ensureBlock() {\n const body = this.get(\"body\");\n const bodyNode = body.node;\n if (Array.isArray(body)) {\n throw new Error(\"Can't convert array path to a block statement\");\n }\n if (!bodyNode) {\n throw new Error(\"Can't convert node without a body\");\n }\n if (body.isBlockStatement()) {\n return bodyNode;\n }\n const statements = [];\n let stringPath = \"body\";\n let key;\n let listKey;\n if (body.isStatement()) {\n listKey = \"body\";\n key = 0;\n statements.push(body.node);\n } else {\n stringPath += \".body.0\";\n if (this.isFunction()) {\n key = \"argument\";\n statements.push(returnStatement(body.node));\n } else {\n key = \"expression\";\n statements.push(expressionStatement(body.node));\n }\n }\n this.node.body = blockStatement(statements);\n const parentPath = this.get(stringPath);\n _context.setup.call(body, parentPath, listKey ? parentPath.node[listKey] : parentPath.node, listKey, key);\n return this.node;\n}\n{\n exports.arrowFunctionToShadowed = function () {\n if (!this.isArrowFunctionExpression()) return;\n this.arrowFunctionToExpression();\n };\n}\nfunction unwrapFunctionEnvironment() {\n if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration()) {\n throw this.buildCodeFrameError(\"Can only unwrap the environment of a function.\");\n }\n hoistFunctionEnvironment(this);\n}\nfunction setType(path, type) {\n path.node.type = type;\n}\nfunction arrowFunctionToExpression({\n allowInsertArrow = true,\n allowInsertArrowWithRest = allowInsertArrow,\n noNewArrows = !(_arguments$ => (_arguments$ = arguments[0]) == null ? void 0 : _arguments$.specCompliant)()\n} = {}) {\n if (!this.isArrowFunctionExpression()) {\n throw this.buildCodeFrameError(\"Cannot convert non-arrow function to a function expression.\");\n }\n let self = this;\n if (!noNewArrows) {\n var _self$ensureFunctionN;\n self = (_self$ensureFunctionN = self.ensureFunctionName(false)) != null ? _self$ensureFunctionN : self;\n }\n const {\n thisBinding,\n fnPath: fn\n } = hoistFunctionEnvironment(self, noNewArrows, allowInsertArrow, allowInsertArrowWithRest);\n fn.ensureBlock();\n setType(fn, \"FunctionExpression\");\n if (!noNewArrows) {\n const checkBinding = thisBinding ? null : fn.scope.generateUidIdentifier(\"arrowCheckId\");\n if (checkBinding) {\n fn.parentPath.scope.push({\n id: checkBinding,\n init: objectExpression([])\n });\n }\n fn.get(\"body\").unshiftContainer(\"body\", expressionStatement(callExpression(this.hub.addHelper(\"newArrowCheck\"), [thisExpression(), checkBinding ? identifier(checkBinding.name) : identifier(thisBinding)])));\n fn.replaceWith(callExpression(memberExpression(fn.node, identifier(\"bind\")), [checkBinding ? identifier(checkBinding.name) : thisExpression()]));\n return fn.get(\"callee.object\");\n }\n return fn;\n}\nconst getSuperCallsVisitor = (0, _visitors.environmentVisitor)({\n CallExpression(child, {\n allSuperCalls\n }) {\n if (!child.get(\"callee\").isSuper()) return;\n allSuperCalls.push(child);\n }\n});\nfunction hoistFunctionEnvironment(fnPath, noNewArrows = true, allowInsertArrow = true, allowInsertArrowWithRest = true) {\n let arrowParent;\n let thisEnvFn = fnPath.findParent(p => {\n if (p.isArrowFunctionExpression()) {\n var _arrowParent;\n (_arrowParent = arrowParent) != null ? _arrowParent : arrowParent = p;\n return false;\n }\n return p.isFunction() || p.isProgram() || p.isClassProperty({\n static: false\n }) || p.isClassPrivateProperty({\n static: false\n });\n });\n const inConstructor = thisEnvFn.isClassMethod({\n kind: \"constructor\"\n });\n if (thisEnvFn.isClassProperty() || thisEnvFn.isClassPrivateProperty()) {\n if (arrowParent) {\n thisEnvFn = arrowParent;\n } else if (allowInsertArrow) {\n fnPath.replaceWith(callExpression(arrowFunctionExpression([], toExpression(fnPath.node)), []));\n thisEnvFn = fnPath.get(\"callee\");\n fnPath = thisEnvFn.get(\"body\");\n } else {\n throw fnPath.buildCodeFrameError(\"Unable to transform arrow inside class property\");\n }\n }\n const {\n thisPaths,\n argumentsPaths,\n newTargetPaths,\n superProps,\n superCalls\n } = getScopeInformation(fnPath);\n if (inConstructor && superCalls.length > 0) {\n if (!allowInsertArrow) {\n throw superCalls[0].buildCodeFrameError(\"When using '@babel/plugin-transform-arrow-functions', \" + \"it's not possible to compile `super()` in an arrow function without compiling classes.\\n\" + \"Please add '@babel/plugin-transform-classes' to your Babel configuration.\");\n }\n if (!allowInsertArrowWithRest) {\n throw superCalls[0].buildCodeFrameError(\"When using '@babel/plugin-transform-parameters', \" + \"it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\\n\" + \"Please add '@babel/plugin-transform-classes' to your Babel configuration.\");\n }\n const allSuperCalls = [];\n thisEnvFn.traverse(getSuperCallsVisitor, {\n allSuperCalls\n });\n const superBinding = getSuperBinding(thisEnvFn);\n allSuperCalls.forEach(superCall => {\n const callee = identifier(superBinding);\n callee.loc = superCall.node.callee.loc;\n superCall.get(\"callee\").replaceWith(callee);\n });\n }\n if (argumentsPaths.length > 0) {\n const argumentsBinding = getBinding(thisEnvFn, \"arguments\", () => {\n const args = () => identifier(\"arguments\");\n if (thisEnvFn.scope.path.isProgram()) {\n return conditionalExpression(binaryExpression(\"===\", unaryExpression(\"typeof\", args()), stringLiteral(\"undefined\")), thisEnvFn.scope.buildUndefinedNode(), args());\n } else {\n return args();\n }\n });\n argumentsPaths.forEach(argumentsChild => {\n const argsRef = identifier(argumentsBinding);\n argsRef.loc = argumentsChild.node.loc;\n argumentsChild.replaceWith(argsRef);\n });\n }\n if (newTargetPaths.length > 0) {\n const newTargetBinding = getBinding(thisEnvFn, \"newtarget\", () => metaProperty(identifier(\"new\"), identifier(\"target\")));\n newTargetPaths.forEach(targetChild => {\n const targetRef = identifier(newTargetBinding);\n targetRef.loc = targetChild.node.loc;\n targetChild.replaceWith(targetRef);\n });\n }\n if (superProps.length > 0) {\n if (!allowInsertArrow) {\n throw superProps[0].buildCodeFrameError(\"When using '@babel/plugin-transform-arrow-functions', \" + \"it's not possible to compile `super.prop` in an arrow function without compiling classes.\\n\" + \"Please add '@babel/plugin-transform-classes' to your Babel configuration.\");\n }\n const flatSuperProps = superProps.reduce((acc, superProp) => acc.concat(standardizeSuperProperty(superProp)), []);\n flatSuperProps.forEach(superProp => {\n const key = superProp.node.computed ? \"\" : superProp.get(\"property\").node.name;\n const superParentPath = superProp.parentPath;\n const isAssignment = superParentPath.isAssignmentExpression({\n left: superProp.node\n });\n const isCall = superParentPath.isCallExpression({\n callee: superProp.node\n });\n const isTaggedTemplate = superParentPath.isTaggedTemplateExpression({\n tag: superProp.node\n });\n const superBinding = getSuperPropBinding(thisEnvFn, isAssignment, key);\n const args = [];\n if (superProp.node.computed) {\n args.push(superProp.get(\"property\").node);\n }\n if (isAssignment) {\n const value = superParentPath.node.right;\n args.push(value);\n }\n const call = callExpression(identifier(superBinding), args);\n if (isCall) {\n superParentPath.unshiftContainer(\"arguments\", thisExpression());\n superProp.replaceWith(memberExpression(call, identifier(\"call\")));\n thisPaths.push(superParentPath.get(\"arguments.0\"));\n } else if (isAssignment) {\n superParentPath.replaceWith(call);\n } else if (isTaggedTemplate) {\n superProp.replaceWith(callExpression(memberExpression(call, identifier(\"bind\"), false), [thisExpression()]));\n thisPaths.push(superProp.get(\"arguments.0\"));\n } else {\n superProp.replaceWith(call);\n }\n });\n }\n let thisBinding;\n if (thisPaths.length > 0 || !noNewArrows) {\n thisBinding = getThisBinding(thisEnvFn, inConstructor);\n if (noNewArrows || inConstructor && hasSuperClass(thisEnvFn)) {\n thisPaths.forEach(thisChild => {\n const thisRef = thisChild.isJSX() ? jsxIdentifier(thisBinding) : identifier(thisBinding);\n thisRef.loc = thisChild.node.loc;\n thisChild.replaceWith(thisRef);\n });\n if (!noNewArrows) thisBinding = null;\n }\n }\n return {\n thisBinding,\n fnPath\n };\n}\nfunction isLogicalOp(op) {\n return LOGICAL_OPERATORS.includes(op);\n}\nfunction standardizeSuperProperty(superProp) {\n if (superProp.parentPath.isAssignmentExpression() && superProp.parentPath.node.operator !== \"=\") {\n const assignmentPath = superProp.parentPath;\n const op = assignmentPath.node.operator.slice(0, -1);\n const value = assignmentPath.node.right;\n const isLogicalAssignment = isLogicalOp(op);\n if (superProp.node.computed) {\n const tmp = superProp.scope.generateDeclaredUidIdentifier(\"tmp\");\n const object = superProp.node.object;\n const property = superProp.node.property;\n assignmentPath.get(\"left\").replaceWith(memberExpression(object, assignmentExpression(\"=\", tmp, property), true));\n assignmentPath.get(\"right\").replaceWith(rightExpression(isLogicalAssignment ? \"=\" : op, memberExpression(object, identifier(tmp.name), true), value));\n } else {\n const object = superProp.node.object;\n const property = superProp.node.property;\n assignmentPath.get(\"left\").replaceWith(memberExpression(object, property));\n assignmentPath.get(\"right\").replaceWith(rightExpression(isLogicalAssignment ? \"=\" : op, memberExpression(object, identifier(property.name)), value));\n }\n if (isLogicalAssignment) {\n assignmentPath.replaceWith(logicalExpression(op, assignmentPath.node.left, assignmentPath.node.right));\n } else {\n assignmentPath.node.operator = \"=\";\n }\n return [assignmentPath.get(\"left\"), assignmentPath.get(\"right\").get(\"left\")];\n } else if (superProp.parentPath.isUpdateExpression()) {\n const updateExpr = superProp.parentPath;\n const tmp = superProp.scope.generateDeclaredUidIdentifier(\"tmp\");\n const computedKey = superProp.node.computed ? superProp.scope.generateDeclaredUidIdentifier(\"prop\") : null;\n const parts = [assignmentExpression(\"=\", tmp, memberExpression(superProp.node.object, computedKey ? assignmentExpression(\"=\", computedKey, superProp.node.property) : superProp.node.property, superProp.node.computed)), assignmentExpression(\"=\", memberExpression(superProp.node.object, computedKey ? identifier(computedKey.name) : superProp.node.property, superProp.node.computed), binaryExpression(superProp.parentPath.node.operator[0], identifier(tmp.name), numericLiteral(1)))];\n if (!superProp.parentPath.node.prefix) {\n parts.push(identifier(tmp.name));\n }\n updateExpr.replaceWith(sequenceExpression(parts));\n const left = updateExpr.get(\"expressions.0.right\");\n const right = updateExpr.get(\"expressions.1.left\");\n return [left, right];\n }\n return [superProp];\n function rightExpression(op, left, right) {\n if (op === \"=\") {\n return assignmentExpression(\"=\", left, right);\n } else {\n return binaryExpression(op, left, right);\n }\n }\n}\nfunction hasSuperClass(thisEnvFn) {\n return thisEnvFn.isClassMethod() && !!thisEnvFn.parentPath.parentPath.node.superClass;\n}\nconst assignSuperThisVisitor = (0, _visitors.environmentVisitor)({\n CallExpression(child, {\n supers,\n thisBinding\n }) {\n if (!child.get(\"callee\").isSuper()) return;\n if (supers.has(child.node)) return;\n supers.add(child.node);\n child.replaceWithMultiple([child.node, assignmentExpression(\"=\", identifier(thisBinding), identifier(\"this\"))]);\n }\n});\nfunction getThisBinding(thisEnvFn, inConstructor) {\n return getBinding(thisEnvFn, \"this\", thisBinding => {\n if (!inConstructor || !hasSuperClass(thisEnvFn)) return thisExpression();\n thisEnvFn.traverse(assignSuperThisVisitor, {\n supers: new WeakSet(),\n thisBinding\n });\n });\n}\nfunction getSuperBinding(thisEnvFn) {\n return getBinding(thisEnvFn, \"supercall\", () => {\n const argsBinding = thisEnvFn.scope.generateUidIdentifier(\"args\");\n return arrowFunctionExpression([restElement(argsBinding)], callExpression(_super(), [spreadElement(identifier(argsBinding.name))]));\n });\n}\nfunction getSuperPropBinding(thisEnvFn, isAssignment, propName) {\n const op = isAssignment ? \"set\" : \"get\";\n return getBinding(thisEnvFn, `superprop_${op}:${propName || \"\"}`, () => {\n const argsList = [];\n let fnBody;\n if (propName) {\n fnBody = memberExpression(_super(), identifier(propName));\n } else {\n const method = thisEnvFn.scope.generateUidIdentifier(\"prop\");\n argsList.unshift(method);\n fnBody = memberExpression(_super(), identifier(method.name), true);\n }\n if (isAssignment) {\n const valueIdent = thisEnvFn.scope.generateUidIdentifier(\"value\");\n argsList.push(valueIdent);\n fnBody = assignmentExpression(\"=\", fnBody, identifier(valueIdent.name));\n }\n return arrowFunctionExpression(argsList, fnBody);\n });\n}\nfunction getBinding(thisEnvFn, key, init) {\n const cacheKey = \"binding:\" + key;\n let data = thisEnvFn.getData(cacheKey);\n if (!data) {\n const id = thisEnvFn.scope.generateUidIdentifier(key);\n data = id.name;\n thisEnvFn.setData(cacheKey, data);\n thisEnvFn.scope.push({\n id: id,\n init: init(data)\n });\n }\n return data;\n}\nconst getScopeInformationVisitor = (0, _visitors.environmentVisitor)({\n ThisExpression(child, {\n thisPaths\n }) {\n thisPaths.push(child);\n },\n JSXIdentifier(child, {\n thisPaths\n }) {\n if (child.node.name !== \"this\") return;\n if (!child.parentPath.isJSXMemberExpression({\n object: child.node\n }) && !child.parentPath.isJSXOpeningElement({\n name: child.node\n })) {\n return;\n }\n thisPaths.push(child);\n },\n CallExpression(child, {\n superCalls\n }) {\n if (child.get(\"callee\").isSuper()) superCalls.push(child);\n },\n MemberExpression(child, {\n superProps\n }) {\n if (child.get(\"object\").isSuper()) superProps.push(child);\n },\n Identifier(child, {\n argumentsPaths\n }) {\n if (!child.isReferencedIdentifier({\n name: \"arguments\"\n })) return;\n let curr = child.scope;\n do {\n if (curr.hasOwnBinding(\"arguments\")) {\n curr.rename(\"arguments\");\n return;\n }\n if (curr.path.isFunction() && !curr.path.isArrowFunctionExpression()) {\n break;\n }\n } while (curr = curr.parent);\n argumentsPaths.push(child);\n },\n MetaProperty(child, {\n newTargetPaths\n }) {\n if (!child.get(\"meta\").isIdentifier({\n name: \"new\"\n })) return;\n if (!child.get(\"property\").isIdentifier({\n name: \"target\"\n })) return;\n newTargetPaths.push(child);\n }\n});\nfunction getScopeInformation(fnPath) {\n const thisPaths = [];\n const argumentsPaths = [];\n const newTargetPaths = [];\n const superProps = [];\n const superCalls = [];\n fnPath.traverse(getScopeInformationVisitor, {\n thisPaths,\n argumentsPaths,\n newTargetPaths,\n superProps,\n superCalls\n });\n return {\n thisPaths,\n argumentsPaths,\n newTargetPaths,\n superProps,\n superCalls\n };\n}\nfunction splitExportDeclaration() {\n if (!this.isExportDeclaration() || this.isExportAllDeclaration()) {\n throw new Error(\"Only default and named export declarations can be split.\");\n }\n if (this.isExportNamedDeclaration() && this.get(\"specifiers\").length > 0) {\n throw new Error(\"It doesn't make sense to split exported specifiers.\");\n }\n const declaration = this.get(\"declaration\");\n if (this.isExportDefaultDeclaration()) {\n const standaloneDeclaration = declaration.isFunctionDeclaration() || declaration.isClassDeclaration();\n const exportExpr = declaration.isFunctionExpression() || declaration.isClassExpression();\n const scope = declaration.isScope() ? declaration.scope.parent : declaration.scope;\n let id = declaration.node.id;\n let needBindingRegistration = false;\n if (!id) {\n needBindingRegistration = true;\n id = scope.generateUidIdentifier(\"default\");\n if (standaloneDeclaration || exportExpr) {\n declaration.node.id = cloneNode(id);\n }\n } else if (exportExpr && scope.hasBinding(id.name)) {\n needBindingRegistration = true;\n id = scope.generateUidIdentifier(id.name);\n }\n const updatedDeclaration = standaloneDeclaration ? declaration.node : variableDeclaration(\"var\", [variableDeclarator(cloneNode(id), declaration.node)]);\n const updatedExportDeclaration = exportNamedDeclaration(null, [exportSpecifier(cloneNode(id), identifier(\"default\"))]);\n this.insertAfter(updatedExportDeclaration);\n this.replaceWith(updatedDeclaration);\n if (needBindingRegistration) {\n scope.registerDeclaration(this);\n }\n return this;\n } else if (this.get(\"specifiers\").length > 0) {\n throw new Error(\"It doesn't make sense to split exported specifiers.\");\n }\n const bindingIdentifiers = declaration.getOuterBindingIdentifiers();\n const specifiers = Object.keys(bindingIdentifiers).map(name => {\n return exportSpecifier(identifier(name), identifier(name));\n });\n const aliasDeclar = exportNamedDeclaration(null, specifiers);\n this.insertAfter(aliasDeclar);\n this.replaceWith(declaration.node);\n return this;\n}\nconst refersOuterBindingVisitor = {\n \"ReferencedIdentifier|BindingIdentifier\"(path, state) {\n if (path.node.name !== state.name) return;\n state.needsRename = true;\n path.stop();\n },\n Scope(path, state) {\n if (path.scope.hasOwnBinding(state.name)) {\n path.skip();\n }\n }\n};\nfunction ensureFunctionName(supportUnicodeId) {\n if (this.node.id) return this;\n const res = getFunctionName(this.node, this.parent);\n if (res == null) return this;\n let {\n name\n } = res;\n if (!supportUnicodeId && /[\\uD800-\\uDFFF]/.test(name)) {\n return null;\n }\n if (name.startsWith(\"get \") || name.startsWith(\"set \")) {\n return null;\n }\n name = toBindingIdentifierName(name.replace(/[/ ]/g, \"_\"));\n const id = identifier(name);\n inherits(id, res.originalNode);\n const state = {\n needsRename: false,\n name\n };\n const {\n scope\n } = this;\n const binding = scope.getOwnBinding(name);\n if (binding) {\n if (binding.kind === \"param\") {\n state.needsRename = true;\n } else {}\n } else if (scope.parent.hasBinding(name) || scope.hasGlobal(name)) {\n this.traverse(refersOuterBindingVisitor, state);\n }\n if (!state.needsRename) {\n this.node.id = id;\n scope.getProgramParent().references[id.name] = true;\n return this;\n }\n if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) {\n scope.rename(id.name);\n this.node.id = id;\n scope.getProgramParent().references[id.name] = true;\n return this;\n }\n if (!isFunction(this.node)) return null;\n const key = scope.generateUidIdentifier(id.name);\n const params = [];\n for (let i = 0, len = getFunctionArity(this.node); i < len; i++) {\n params.push(scope.generateUidIdentifier(\"x\"));\n }\n const call = _template.default.expression.ast`\n (function (${key}) {\n function ${id}(${params}) {\n return ${cloneNode(key)}.apply(this, arguments);\n }\n\n ${cloneNode(id)}.toString = function () {\n return ${cloneNode(key)}.toString();\n }\n\n return ${cloneNode(id)};\n })(${toExpression(this.node)})\n `;\n return this.replaceWith(call)[0].get(\"arguments.0\");\n}\nfunction getFunctionArity(node) {\n const count = node.params.findIndex(param => isAssignmentPattern(param) || isRestElement(param));\n return count === -1 ? node.params.length : count;\n}\n\n//# sourceMappingURL=conversion.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/conversion.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/evaluation.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/evaluation.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.evaluate = evaluate;\nexports.evaluateTruthy = evaluateTruthy;\nconst VALID_OBJECT_CALLEES = [\"Number\", \"String\", \"Math\"];\nconst VALID_IDENTIFIER_CALLEES = [\"isFinite\", \"isNaN\", \"parseFloat\", \"parseInt\", \"decodeURI\", \"decodeURIComponent\", \"encodeURI\", \"encodeURIComponent\", null, null];\nconst INVALID_METHODS = [\"random\"];\nfunction isValidObjectCallee(val) {\n return VALID_OBJECT_CALLEES.includes(val);\n}\nfunction isValidIdentifierCallee(val) {\n return VALID_IDENTIFIER_CALLEES.includes(val);\n}\nfunction isInvalidMethod(val) {\n return INVALID_METHODS.includes(val);\n}\nfunction evaluateTruthy() {\n const res = this.evaluate();\n if (res.confident) return !!res.value;\n}\nfunction deopt(path, state) {\n if (!state.confident) return;\n state.deoptPath = path;\n state.confident = false;\n}\nconst Globals = new Map([[\"undefined\", undefined], [\"Infinity\", Infinity], [\"NaN\", NaN]]);\nfunction evaluateCached(path, state) {\n const {\n node\n } = path;\n const {\n seen\n } = state;\n if (seen.has(node)) {\n const existing = seen.get(node);\n if (existing.resolved) {\n return existing.value;\n } else {\n deopt(path, state);\n return;\n }\n } else {\n const item = {\n resolved: false\n };\n seen.set(node, item);\n const val = _evaluate(path, state);\n if (state.confident) {\n item.resolved = true;\n item.value = val;\n }\n return val;\n }\n}\nfunction _evaluate(path, state) {\n if (!state.confident) return;\n if (path.isSequenceExpression()) {\n const exprs = path.get(\"expressions\");\n return evaluateCached(exprs[exprs.length - 1], state);\n }\n if (path.isStringLiteral() || path.isNumericLiteral() || path.isBooleanLiteral()) {\n return path.node.value;\n }\n if (path.isNullLiteral()) {\n return null;\n }\n if (path.isTemplateLiteral()) {\n return evaluateQuasis(path, path.node.quasis, state);\n }\n if (path.isTaggedTemplateExpression() && path.get(\"tag\").isMemberExpression()) {\n const object = path.get(\"tag.object\");\n const {\n node: {\n name\n }\n } = object;\n const property = path.get(\"tag.property\");\n if (object.isIdentifier() && name === \"String\" && !path.scope.getBinding(name) && property.isIdentifier() && property.node.name === \"raw\") {\n return evaluateQuasis(path, path.node.quasi.quasis, state, true);\n }\n }\n if (path.isConditionalExpression()) {\n const testResult = evaluateCached(path.get(\"test\"), state);\n if (!state.confident) return;\n if (testResult) {\n return evaluateCached(path.get(\"consequent\"), state);\n } else {\n return evaluateCached(path.get(\"alternate\"), state);\n }\n }\n if (path.isExpressionWrapper()) {\n return evaluateCached(path.get(\"expression\"), state);\n }\n if (path.isMemberExpression() && !path.parentPath.isCallExpression({\n callee: path.node\n })) {\n const property = path.get(\"property\");\n const object = path.get(\"object\");\n if (object.isLiteral()) {\n const value = object.node.value;\n const type = typeof value;\n let key = null;\n if (path.node.computed) {\n key = evaluateCached(property, state);\n if (!state.confident) return;\n } else if (property.isIdentifier()) {\n key = property.node.name;\n }\n if ((type === \"number\" || type === \"string\") && key != null && (typeof key === \"number\" || typeof key === \"string\")) {\n return value[key];\n }\n }\n }\n if (path.isReferencedIdentifier()) {\n const binding = path.scope.getBinding(path.node.name);\n if (binding) {\n if (binding.constantViolations.length > 0 || path.node.start < binding.path.node.end) {\n deopt(binding.path, state);\n return;\n }\n if (binding.hasValue) {\n return binding.value;\n }\n }\n const name = path.node.name;\n if (Globals.has(name)) {\n if (!binding) {\n return Globals.get(name);\n }\n deopt(binding.path, state);\n return;\n }\n const resolved = path.resolve();\n if (resolved === path) {\n deopt(path, state);\n return;\n } else {\n return evaluateCached(resolved, state);\n }\n }\n if (path.isUnaryExpression({\n prefix: true\n })) {\n if (path.node.operator === \"void\") {\n return undefined;\n }\n const argument = path.get(\"argument\");\n if (path.node.operator === \"typeof\" && (argument.isFunction() || argument.isClass())) {\n return \"function\";\n }\n const arg = evaluateCached(argument, state);\n if (!state.confident) return;\n switch (path.node.operator) {\n case \"!\":\n return !arg;\n case \"+\":\n return +arg;\n case \"-\":\n return -arg;\n case \"~\":\n return ~arg;\n case \"typeof\":\n return typeof arg;\n }\n }\n if (path.isArrayExpression()) {\n const arr = [];\n const elems = path.get(\"elements\");\n for (const elem of elems) {\n const elemValue = elem.evaluate();\n if (elemValue.confident) {\n arr.push(elemValue.value);\n } else {\n deopt(elemValue.deopt, state);\n return;\n }\n }\n return arr;\n }\n if (path.isObjectExpression()) {\n const obj = {};\n const props = path.get(\"properties\");\n for (const prop of props) {\n if (prop.isObjectMethod() || prop.isSpreadElement()) {\n deopt(prop, state);\n return;\n }\n const keyPath = prop.get(\"key\");\n let key;\n if (prop.node.computed) {\n key = keyPath.evaluate();\n if (!key.confident) {\n deopt(key.deopt, state);\n return;\n }\n key = key.value;\n } else if (keyPath.isIdentifier()) {\n key = keyPath.node.name;\n } else {\n key = keyPath.node.value;\n }\n const valuePath = prop.get(\"value\");\n let value = valuePath.evaluate();\n if (!value.confident) {\n deopt(value.deopt, state);\n return;\n }\n value = value.value;\n obj[key] = value;\n }\n return obj;\n }\n if (path.isLogicalExpression()) {\n const wasConfident = state.confident;\n const left = evaluateCached(path.get(\"left\"), state);\n const leftConfident = state.confident;\n state.confident = wasConfident;\n const right = evaluateCached(path.get(\"right\"), state);\n const rightConfident = state.confident;\n switch (path.node.operator) {\n case \"||\":\n state.confident = leftConfident && (!!left || rightConfident);\n if (!state.confident) return;\n return left || right;\n case \"&&\":\n state.confident = leftConfident && (!left || rightConfident);\n if (!state.confident) return;\n return left && right;\n case \"??\":\n state.confident = leftConfident && (left != null || rightConfident);\n if (!state.confident) return;\n return left != null ? left : right;\n }\n }\n if (path.isBinaryExpression()) {\n const left = evaluateCached(path.get(\"left\"), state);\n if (!state.confident) return;\n const right = evaluateCached(path.get(\"right\"), state);\n if (!state.confident) return;\n switch (path.node.operator) {\n case \"-\":\n return left - right;\n case \"+\":\n return left + right;\n case \"/\":\n return left / right;\n case \"*\":\n return left * right;\n case \"%\":\n return left % right;\n case \"**\":\n return Math.pow(left, right);\n case \"<\":\n return left < right;\n case \">\":\n return left > right;\n case \"<=\":\n return left <= right;\n case \">=\":\n return left >= right;\n case \"==\":\n return left == right;\n case \"!=\":\n return left != right;\n case \"===\":\n return left === right;\n case \"!==\":\n return left !== right;\n case \"|\":\n return left | right;\n case \"&\":\n return left & right;\n case \"^\":\n return left ^ right;\n case \"<<\":\n return left << right;\n case \">>\":\n return left >> right;\n case \">>>\":\n return left >>> right;\n }\n }\n if (path.isCallExpression()) {\n const callee = path.get(\"callee\");\n let context;\n let func;\n if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name) && (isValidObjectCallee(callee.node.name) || isValidIdentifierCallee(callee.node.name))) {\n func = __webpack_require__.g[callee.node.name];\n }\n if (callee.isMemberExpression()) {\n const object = callee.get(\"object\");\n const property = callee.get(\"property\");\n if (object.isIdentifier() && property.isIdentifier() && isValidObjectCallee(object.node.name) && !isInvalidMethod(property.node.name)) {\n context = __webpack_require__.g[object.node.name];\n const key = property.node.name;\n if (hasOwnProperty.call(context, key)) {\n func = context[key];\n }\n }\n if (object.isLiteral() && property.isIdentifier()) {\n const type = typeof object.node.value;\n if (type === \"string\" || type === \"number\") {\n context = object.node.value;\n func = context[property.node.name];\n }\n }\n }\n if (func) {\n const args = path.get(\"arguments\").map(arg => evaluateCached(arg, state));\n if (!state.confident) return;\n return func.apply(context, args);\n }\n }\n deopt(path, state);\n}\nfunction evaluateQuasis(path, quasis, state, raw = false) {\n let str = \"\";\n let i = 0;\n const exprs = path.isTemplateLiteral() ? path.get(\"expressions\") : path.get(\"quasi.expressions\");\n for (const elem of quasis) {\n if (!state.confident) break;\n str += raw ? elem.value.raw : elem.value.cooked;\n const expr = exprs[i++];\n if (expr) str += String(evaluateCached(expr, state));\n }\n if (!state.confident) return;\n return str;\n}\nfunction evaluate() {\n const state = {\n confident: true,\n deoptPath: null,\n seen: new Map()\n };\n let value = evaluateCached(this, state);\n if (!state.confident) value = undefined;\n return {\n confident: state.confident,\n deopt: state.deoptPath,\n value: value\n };\n}\n\n//# sourceMappingURL=evaluation.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/evaluation.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/family.js": +/*!*********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/family.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports._getKey = _getKey;\nexports._getPattern = _getPattern;\nexports.get = get;\nexports.getAllNextSiblings = getAllNextSiblings;\nexports.getAllPrevSiblings = getAllPrevSiblings;\nexports.getAssignmentIdentifiers = getAssignmentIdentifiers;\nexports.getBindingIdentifierPaths = getBindingIdentifierPaths;\nexports.getBindingIdentifiers = getBindingIdentifiers;\nexports.getCompletionRecords = getCompletionRecords;\nexports.getNextSibling = getNextSibling;\nexports.getOpposite = getOpposite;\nexports.getOuterBindingIdentifierPaths = getOuterBindingIdentifierPaths;\nexports.getOuterBindingIdentifiers = getOuterBindingIdentifiers;\nexports.getPrevSibling = getPrevSibling;\nexports.getSibling = getSibling;\nvar _index = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/traverse/lib/path/index.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n getAssignmentIdentifiers: _getAssignmentIdentifiers,\n getBindingIdentifiers: _getBindingIdentifiers,\n getOuterBindingIdentifiers: _getOuterBindingIdentifiers,\n numericLiteral,\n unaryExpression\n} = _t;\nconst NORMAL_COMPLETION = 0;\nconst BREAK_COMPLETION = 1;\nfunction NormalCompletion(path) {\n return {\n type: NORMAL_COMPLETION,\n path\n };\n}\nfunction BreakCompletion(path) {\n return {\n type: BREAK_COMPLETION,\n path\n };\n}\nfunction getOpposite() {\n if (this.key === \"left\") {\n return this.getSibling(\"right\");\n } else if (this.key === \"right\") {\n return this.getSibling(\"left\");\n }\n return null;\n}\nfunction addCompletionRecords(path, records, context) {\n if (path) {\n records.push(..._getCompletionRecords(path, context));\n }\n return records;\n}\nfunction completionRecordForSwitch(cases, records, context) {\n let lastNormalCompletions = [];\n for (let i = 0; i < cases.length; i++) {\n const casePath = cases[i];\n const caseCompletions = _getCompletionRecords(casePath, context);\n const normalCompletions = [];\n const breakCompletions = [];\n for (const c of caseCompletions) {\n if (c.type === NORMAL_COMPLETION) {\n normalCompletions.push(c);\n }\n if (c.type === BREAK_COMPLETION) {\n breakCompletions.push(c);\n }\n }\n if (normalCompletions.length) {\n lastNormalCompletions = normalCompletions;\n }\n records.push(...breakCompletions);\n }\n records.push(...lastNormalCompletions);\n return records;\n}\nfunction normalCompletionToBreak(completions) {\n completions.forEach(c => {\n c.type = BREAK_COMPLETION;\n });\n}\nfunction replaceBreakStatementInBreakCompletion(completions, reachable) {\n completions.forEach(c => {\n if (c.path.isBreakStatement({\n label: null\n })) {\n if (reachable) {\n c.path.replaceWith(unaryExpression(\"void\", numericLiteral(0)));\n } else {\n c.path.remove();\n }\n }\n });\n}\nfunction getStatementListCompletion(paths, context) {\n const completions = [];\n if (context.canHaveBreak) {\n let lastNormalCompletions = [];\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n const newContext = Object.assign({}, context, {\n inCaseClause: false\n });\n if (path.isBlockStatement() && (context.inCaseClause || context.shouldPopulateBreak)) {\n newContext.shouldPopulateBreak = true;\n } else {\n newContext.shouldPopulateBreak = false;\n }\n const statementCompletions = _getCompletionRecords(path, newContext);\n if (statementCompletions.length > 0 && statementCompletions.every(c => c.type === BREAK_COMPLETION)) {\n if (lastNormalCompletions.length > 0 && statementCompletions.every(c => c.path.isBreakStatement({\n label: null\n }))) {\n normalCompletionToBreak(lastNormalCompletions);\n completions.push(...lastNormalCompletions);\n if (lastNormalCompletions.some(c => c.path.isDeclaration())) {\n completions.push(...statementCompletions);\n replaceBreakStatementInBreakCompletion(statementCompletions, true);\n }\n replaceBreakStatementInBreakCompletion(statementCompletions, false);\n } else {\n completions.push(...statementCompletions);\n if (!context.shouldPopulateBreak) {\n replaceBreakStatementInBreakCompletion(statementCompletions, true);\n }\n }\n break;\n }\n if (i === paths.length - 1) {\n completions.push(...statementCompletions);\n } else {\n lastNormalCompletions = [];\n for (let i = 0; i < statementCompletions.length; i++) {\n const c = statementCompletions[i];\n if (c.type === BREAK_COMPLETION) {\n completions.push(c);\n }\n if (c.type === NORMAL_COMPLETION) {\n lastNormalCompletions.push(c);\n }\n }\n }\n }\n } else if (paths.length) {\n for (let i = paths.length - 1; i >= 0; i--) {\n const pathCompletions = _getCompletionRecords(paths[i], context);\n if (pathCompletions.length > 1 || pathCompletions.length === 1 && !pathCompletions[0].path.isVariableDeclaration()) {\n completions.push(...pathCompletions);\n break;\n }\n }\n }\n return completions;\n}\nfunction _getCompletionRecords(path, context) {\n let records = [];\n if (path.isIfStatement()) {\n records = addCompletionRecords(path.get(\"consequent\"), records, context);\n records = addCompletionRecords(path.get(\"alternate\"), records, context);\n } else if (path.isDoExpression() || path.isFor() || path.isWhile() || path.isLabeledStatement()) {\n return addCompletionRecords(path.get(\"body\"), records, context);\n } else if (path.isProgram() || path.isBlockStatement()) {\n return getStatementListCompletion(path.get(\"body\"), context);\n } else if (path.isFunction()) {\n return _getCompletionRecords(path.get(\"body\"), context);\n } else if (path.isTryStatement()) {\n records = addCompletionRecords(path.get(\"block\"), records, context);\n records = addCompletionRecords(path.get(\"handler\"), records, context);\n } else if (path.isCatchClause()) {\n return addCompletionRecords(path.get(\"body\"), records, context);\n } else if (path.isSwitchStatement()) {\n return completionRecordForSwitch(path.get(\"cases\"), records, context);\n } else if (path.isSwitchCase()) {\n return getStatementListCompletion(path.get(\"consequent\"), {\n canHaveBreak: true,\n shouldPopulateBreak: false,\n inCaseClause: true\n });\n } else if (path.isBreakStatement()) {\n records.push(BreakCompletion(path));\n } else {\n records.push(NormalCompletion(path));\n }\n return records;\n}\nfunction getCompletionRecords() {\n const records = _getCompletionRecords(this, {\n canHaveBreak: false,\n shouldPopulateBreak: false,\n inCaseClause: false\n });\n return records.map(r => r.path);\n}\nfunction getSibling(key) {\n return _index.default.get({\n parentPath: this.parentPath,\n parent: this.parent,\n container: this.container,\n listKey: this.listKey,\n key: key\n }).setContext(this.context);\n}\nfunction getPrevSibling() {\n return this.getSibling(this.key - 1);\n}\nfunction getNextSibling() {\n return this.getSibling(this.key + 1);\n}\nfunction getAllNextSiblings() {\n let _key = this.key;\n let sibling = this.getSibling(++_key);\n const siblings = [];\n while (sibling.node) {\n siblings.push(sibling);\n sibling = this.getSibling(++_key);\n }\n return siblings;\n}\nfunction getAllPrevSiblings() {\n let _key = this.key;\n let sibling = this.getSibling(--_key);\n const siblings = [];\n while (sibling.node) {\n siblings.push(sibling);\n sibling = this.getSibling(--_key);\n }\n return siblings;\n}\nfunction get(key, context = true) {\n if (context === true) context = this.context;\n const parts = key.split(\".\");\n if (parts.length === 1) {\n return _getKey.call(this, key, context);\n } else {\n return _getPattern.call(this, parts, context);\n }\n}\nfunction _getKey(key, context) {\n const node = this.node;\n const container = node[key];\n if (Array.isArray(container)) {\n return container.map((_, i) => {\n return _index.default.get({\n listKey: key,\n parentPath: this,\n parent: node,\n container: container,\n key: i\n }).setContext(context);\n });\n } else {\n return _index.default.get({\n parentPath: this,\n parent: node,\n container: node,\n key: key\n }).setContext(context);\n }\n}\nfunction _getPattern(parts, context) {\n let path = this;\n for (const part of parts) {\n if (part === \".\") {\n path = path.parentPath;\n } else {\n if (Array.isArray(path)) {\n path = path[part];\n } else {\n path = path.get(part, context);\n }\n }\n }\n return path;\n}\nfunction getAssignmentIdentifiers() {\n return _getAssignmentIdentifiers(this.node);\n}\nfunction getBindingIdentifiers(duplicates) {\n return _getBindingIdentifiers(this.node, duplicates);\n}\nfunction getOuterBindingIdentifiers(duplicates) {\n return _getOuterBindingIdentifiers(this.node, duplicates);\n}\nfunction getBindingIdentifierPaths(duplicates = false, outerOnly = false) {\n const path = this;\n const search = [path];\n const ids = Object.create(null);\n while (search.length) {\n const id = search.shift();\n if (!id) continue;\n if (!id.node) continue;\n const keys = _getBindingIdentifiers.keys[id.node.type];\n if (id.isIdentifier()) {\n if (duplicates) {\n const _ids = ids[id.node.name] = ids[id.node.name] || [];\n _ids.push(id);\n } else {\n ids[id.node.name] = id;\n }\n continue;\n }\n if (id.isExportDeclaration()) {\n const declaration = id.get(\"declaration\");\n if (declaration.isDeclaration()) {\n search.push(declaration);\n }\n continue;\n }\n if (outerOnly) {\n if (id.isFunctionDeclaration()) {\n search.push(id.get(\"id\"));\n continue;\n }\n if (id.isFunctionExpression()) {\n continue;\n }\n }\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const child = id.get(key);\n if (Array.isArray(child)) {\n search.push(...child);\n } else if (child.node) {\n search.push(child);\n }\n }\n }\n }\n return ids;\n}\nfunction getOuterBindingIdentifierPaths(duplicates = false) {\n return this.getBindingIdentifierPaths(duplicates, true);\n}\n\n//# sourceMappingURL=family.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/family.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/index.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/index.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = exports.SHOULD_STOP = exports.SHOULD_SKIP = exports.REMOVED = void 0;\nvar virtualTypes = __webpack_require__(/*! ./lib/virtual-types.js */ \"./node_modules/@babel/traverse/lib/path/lib/virtual-types.js\");\nvar _debug = __webpack_require__(/*! debug */ \"./node_modules/debug/src/browser.js\");\nvar _index = __webpack_require__(/*! ../index.js */ \"./node_modules/@babel/traverse/lib/index.js\");\nvar _index2 = __webpack_require__(/*! ../scope/index.js */ \"./node_modules/@babel/traverse/lib/scope/index.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar t = _t;\nvar cache = __webpack_require__(/*! ../cache.js */ \"./node_modules/@babel/traverse/lib/cache.js\");\nvar _generator = __webpack_require__(/*! @babel/generator */ \"./node_modules/@babel/generator/lib/index.js\");\nvar NodePath_ancestry = __webpack_require__(/*! ./ancestry.js */ \"./node_modules/@babel/traverse/lib/path/ancestry.js\");\nvar NodePath_inference = __webpack_require__(/*! ./inference/index.js */ \"./node_modules/@babel/traverse/lib/path/inference/index.js\");\nvar NodePath_replacement = __webpack_require__(/*! ./replacement.js */ \"./node_modules/@babel/traverse/lib/path/replacement.js\");\nvar NodePath_evaluation = __webpack_require__(/*! ./evaluation.js */ \"./node_modules/@babel/traverse/lib/path/evaluation.js\");\nvar NodePath_conversion = __webpack_require__(/*! ./conversion.js */ \"./node_modules/@babel/traverse/lib/path/conversion.js\");\nvar NodePath_introspection = __webpack_require__(/*! ./introspection.js */ \"./node_modules/@babel/traverse/lib/path/introspection.js\");\nvar _context = __webpack_require__(/*! ./context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nvar NodePath_context = _context;\nvar NodePath_removal = __webpack_require__(/*! ./removal.js */ \"./node_modules/@babel/traverse/lib/path/removal.js\");\nvar NodePath_modification = __webpack_require__(/*! ./modification.js */ \"./node_modules/@babel/traverse/lib/path/modification.js\");\nvar NodePath_family = __webpack_require__(/*! ./family.js */ \"./node_modules/@babel/traverse/lib/path/family.js\");\nvar NodePath_comments = __webpack_require__(/*! ./comments.js */ \"./node_modules/@babel/traverse/lib/path/comments.js\");\nvar NodePath_virtual_types_validator = __webpack_require__(/*! ./lib/virtual-types-validator.js */ \"./node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js\");\nconst {\n validate\n} = _t;\nconst debug = _debug(\"babel\");\nconst REMOVED = exports.REMOVED = 1 << 0;\nconst SHOULD_STOP = exports.SHOULD_STOP = 1 << 1;\nconst SHOULD_SKIP = exports.SHOULD_SKIP = 1 << 2;\nconst NodePath_Final = exports[\"default\"] = class NodePath {\n constructor(hub, parent) {\n this.contexts = [];\n this.state = null;\n this.opts = null;\n this._traverseFlags = 0;\n this.skipKeys = null;\n this.parentPath = null;\n this.container = null;\n this.listKey = null;\n this.key = null;\n this.node = null;\n this.type = null;\n this.parent = parent;\n this.hub = hub;\n this.data = null;\n this.context = null;\n this.scope = null;\n }\n get removed() {\n return (this._traverseFlags & 1) > 0;\n }\n set removed(v) {\n if (v) this._traverseFlags |= 1;else this._traverseFlags &= -2;\n }\n get shouldStop() {\n return (this._traverseFlags & 2) > 0;\n }\n set shouldStop(v) {\n if (v) this._traverseFlags |= 2;else this._traverseFlags &= -3;\n }\n get shouldSkip() {\n return (this._traverseFlags & 4) > 0;\n }\n set shouldSkip(v) {\n if (v) this._traverseFlags |= 4;else this._traverseFlags &= -5;\n }\n static get({\n hub,\n parentPath,\n parent,\n container,\n listKey,\n key\n }) {\n if (!hub && parentPath) {\n hub = parentPath.hub;\n }\n if (!parent) {\n throw new Error(\"To get a node path the parent needs to exist\");\n }\n const targetNode = container[key];\n const paths = cache.getOrCreateCachedPaths(hub, parent);\n let path = paths.get(targetNode);\n if (!path) {\n path = new NodePath(hub, parent);\n if (targetNode) paths.set(targetNode, path);\n }\n _context.setup.call(path, parentPath, container, listKey, key);\n return path;\n }\n getScope(scope) {\n return this.isScope() ? new _index2.default(this) : scope;\n }\n setData(key, val) {\n if (this.data == null) {\n this.data = Object.create(null);\n }\n return this.data[key] = val;\n }\n getData(key, def) {\n if (this.data == null) {\n this.data = Object.create(null);\n }\n let val = this.data[key];\n if (val === undefined && def !== undefined) val = this.data[key] = def;\n return val;\n }\n hasNode() {\n return this.node != null;\n }\n buildCodeFrameError(msg, Error = SyntaxError) {\n return this.hub.buildError(this.node, msg, Error);\n }\n traverse(visitor, state) {\n (0, _index.default)(this.node, visitor, this.scope, state, this);\n }\n set(key, node) {\n validate(this.node, key, node);\n this.node[key] = node;\n }\n getPathLocation() {\n const parts = [];\n let path = this;\n do {\n let key = path.key;\n if (path.inList) key = `${path.listKey}[${key}]`;\n parts.unshift(key);\n } while (path = path.parentPath);\n return parts.join(\".\");\n }\n debug(message) {\n if (!debug.enabled) return;\n debug(`${this.getPathLocation()} ${this.type}: ${message}`);\n }\n toString() {\n return (0, _generator.default)(this.node).code;\n }\n get inList() {\n return !!this.listKey;\n }\n set inList(inList) {\n if (!inList) {\n this.listKey = null;\n }\n }\n get parentKey() {\n return this.listKey || this.key;\n }\n};\nconst methods = {\n findParent: NodePath_ancestry.findParent,\n find: NodePath_ancestry.find,\n getFunctionParent: NodePath_ancestry.getFunctionParent,\n getStatementParent: NodePath_ancestry.getStatementParent,\n getEarliestCommonAncestorFrom: NodePath_ancestry.getEarliestCommonAncestorFrom,\n getDeepestCommonAncestorFrom: NodePath_ancestry.getDeepestCommonAncestorFrom,\n getAncestry: NodePath_ancestry.getAncestry,\n isAncestor: NodePath_ancestry.isAncestor,\n isDescendant: NodePath_ancestry.isDescendant,\n inType: NodePath_ancestry.inType,\n getTypeAnnotation: NodePath_inference.getTypeAnnotation,\n isBaseType: NodePath_inference.isBaseType,\n couldBeBaseType: NodePath_inference.couldBeBaseType,\n baseTypeStrictlyMatches: NodePath_inference.baseTypeStrictlyMatches,\n isGenericType: NodePath_inference.isGenericType,\n replaceWithMultiple: NodePath_replacement.replaceWithMultiple,\n replaceWithSourceString: NodePath_replacement.replaceWithSourceString,\n replaceWith: NodePath_replacement.replaceWith,\n replaceExpressionWithStatements: NodePath_replacement.replaceExpressionWithStatements,\n replaceInline: NodePath_replacement.replaceInline,\n evaluateTruthy: NodePath_evaluation.evaluateTruthy,\n evaluate: NodePath_evaluation.evaluate,\n toComputedKey: NodePath_conversion.toComputedKey,\n ensureBlock: NodePath_conversion.ensureBlock,\n unwrapFunctionEnvironment: NodePath_conversion.unwrapFunctionEnvironment,\n arrowFunctionToExpression: NodePath_conversion.arrowFunctionToExpression,\n splitExportDeclaration: NodePath_conversion.splitExportDeclaration,\n ensureFunctionName: NodePath_conversion.ensureFunctionName,\n matchesPattern: NodePath_introspection.matchesPattern,\n isStatic: NodePath_introspection.isStatic,\n isNodeType: NodePath_introspection.isNodeType,\n canHaveVariableDeclarationOrExpression: NodePath_introspection.canHaveVariableDeclarationOrExpression,\n canSwapBetweenExpressionAndStatement: NodePath_introspection.canSwapBetweenExpressionAndStatement,\n isCompletionRecord: NodePath_introspection.isCompletionRecord,\n isStatementOrBlock: NodePath_introspection.isStatementOrBlock,\n referencesImport: NodePath_introspection.referencesImport,\n getSource: NodePath_introspection.getSource,\n willIMaybeExecuteBefore: NodePath_introspection.willIMaybeExecuteBefore,\n _guessExecutionStatusRelativeTo: NodePath_introspection._guessExecutionStatusRelativeTo,\n resolve: NodePath_introspection.resolve,\n isConstantExpression: NodePath_introspection.isConstantExpression,\n isInStrictMode: NodePath_introspection.isInStrictMode,\n isDenylisted: NodePath_context.isDenylisted,\n visit: NodePath_context.visit,\n skip: NodePath_context.skip,\n skipKey: NodePath_context.skipKey,\n stop: NodePath_context.stop,\n setContext: NodePath_context.setContext,\n requeue: NodePath_context.requeue,\n requeueComputedKeyAndDecorators: NodePath_context.requeueComputedKeyAndDecorators,\n remove: NodePath_removal.remove,\n insertBefore: NodePath_modification.insertBefore,\n insertAfter: NodePath_modification.insertAfter,\n unshiftContainer: NodePath_modification.unshiftContainer,\n pushContainer: NodePath_modification.pushContainer,\n getOpposite: NodePath_family.getOpposite,\n getCompletionRecords: NodePath_family.getCompletionRecords,\n getSibling: NodePath_family.getSibling,\n getPrevSibling: NodePath_family.getPrevSibling,\n getNextSibling: NodePath_family.getNextSibling,\n getAllNextSiblings: NodePath_family.getAllNextSiblings,\n getAllPrevSiblings: NodePath_family.getAllPrevSiblings,\n get: NodePath_family.get,\n getAssignmentIdentifiers: NodePath_family.getAssignmentIdentifiers,\n getBindingIdentifiers: NodePath_family.getBindingIdentifiers,\n getOuterBindingIdentifiers: NodePath_family.getOuterBindingIdentifiers,\n getBindingIdentifierPaths: NodePath_family.getBindingIdentifierPaths,\n getOuterBindingIdentifierPaths: NodePath_family.getOuterBindingIdentifierPaths,\n shareCommentsWithSiblings: NodePath_comments.shareCommentsWithSiblings,\n addComment: NodePath_comments.addComment,\n addComments: NodePath_comments.addComments\n};\nObject.assign(NodePath_Final.prototype, methods);\n{\n NodePath_Final.prototype.arrowFunctionToShadowed = NodePath_conversion[String(\"arrowFunctionToShadowed\")];\n Object.assign(NodePath_Final.prototype, {\n has: NodePath_introspection[String(\"has\")],\n is: NodePath_introspection[String(\"is\")],\n isnt: NodePath_introspection[String(\"isnt\")],\n equals: NodePath_introspection[String(\"equals\")],\n hoist: NodePath_modification[String(\"hoist\")],\n updateSiblingKeys: NodePath_modification.updateSiblingKeys,\n call: NodePath_context.call,\n isBlacklisted: NodePath_context[String(\"isBlacklisted\")],\n setScope: NodePath_context.setScope,\n resync: NodePath_context.resync,\n popContext: NodePath_context.popContext,\n pushContext: NodePath_context.pushContext,\n setup: NodePath_context.setup,\n setKey: NodePath_context.setKey\n });\n}\n{\n NodePath_Final.prototype._guessExecutionStatusRelativeToDifferentFunctions = NodePath_introspection._guessExecutionStatusRelativeTo;\n NodePath_Final.prototype._guessExecutionStatusRelativeToDifferentFunctions = NodePath_introspection._guessExecutionStatusRelativeTo;\n Object.assign(NodePath_Final.prototype, {\n _getTypeAnnotation: NodePath_inference._getTypeAnnotation,\n _replaceWith: NodePath_replacement._replaceWith,\n _resolve: NodePath_introspection._resolve,\n _call: NodePath_context._call,\n _resyncParent: NodePath_context._resyncParent,\n _resyncKey: NodePath_context._resyncKey,\n _resyncList: NodePath_context._resyncList,\n _resyncRemoved: NodePath_context._resyncRemoved,\n _getQueueContexts: NodePath_context._getQueueContexts,\n _removeFromScope: NodePath_removal._removeFromScope,\n _callRemovalHooks: NodePath_removal._callRemovalHooks,\n _remove: NodePath_removal._remove,\n _markRemoved: NodePath_removal._markRemoved,\n _assertUnremoved: NodePath_removal._assertUnremoved,\n _containerInsert: NodePath_modification._containerInsert,\n _containerInsertBefore: NodePath_modification._containerInsertBefore,\n _containerInsertAfter: NodePath_modification._containerInsertAfter,\n _verifyNodeList: NodePath_modification._verifyNodeList,\n _getKey: NodePath_family._getKey,\n _getPattern: NodePath_family._getPattern\n });\n}\nfor (const type of t.TYPES) {\n const typeKey = `is${type}`;\n const fn = t[typeKey];\n NodePath_Final.prototype[typeKey] = function (opts) {\n return fn(this.node, opts);\n };\n NodePath_Final.prototype[`assert${type}`] = function (opts) {\n if (!fn(this.node, opts)) {\n throw new TypeError(`Expected node path of type ${type}`);\n }\n };\n}\nObject.assign(NodePath_Final.prototype, NodePath_virtual_types_validator);\nfor (const type of Object.keys(virtualTypes)) {\n if (type[0] === \"_\") continue;\n if (!t.TYPES.includes(type)) t.TYPES.push(type);\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/inference/index.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/inference/index.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports._getTypeAnnotation = _getTypeAnnotation;\nexports.baseTypeStrictlyMatches = baseTypeStrictlyMatches;\nexports.couldBeBaseType = couldBeBaseType;\nexports.getTypeAnnotation = getTypeAnnotation;\nexports.isBaseType = isBaseType;\nexports.isGenericType = isGenericType;\nvar inferers = __webpack_require__(/*! ./inferers.js */ \"./node_modules/@babel/traverse/lib/path/inference/inferers.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n anyTypeAnnotation,\n isAnyTypeAnnotation,\n isArrayTypeAnnotation,\n isBooleanTypeAnnotation,\n isEmptyTypeAnnotation,\n isFlowBaseAnnotation,\n isGenericTypeAnnotation,\n isIdentifier,\n isMixedTypeAnnotation,\n isNumberTypeAnnotation,\n isStringTypeAnnotation,\n isTSArrayType,\n isTSTypeAnnotation,\n isTSTypeReference,\n isTupleTypeAnnotation,\n isTypeAnnotation,\n isUnionTypeAnnotation,\n isVoidTypeAnnotation,\n stringTypeAnnotation,\n voidTypeAnnotation\n} = _t;\nfunction getTypeAnnotation() {\n let type = this.getData(\"typeAnnotation\");\n if (type != null) {\n return type;\n }\n type = _getTypeAnnotation.call(this) || anyTypeAnnotation();\n if (isTypeAnnotation(type) || isTSTypeAnnotation(type)) {\n type = type.typeAnnotation;\n }\n this.setData(\"typeAnnotation\", type);\n return type;\n}\nconst typeAnnotationInferringNodes = new WeakSet();\nfunction _getTypeAnnotation() {\n const node = this.node;\n if (!node) {\n if (this.key === \"init\" && this.parentPath.isVariableDeclarator()) {\n const declar = this.parentPath.parentPath;\n const declarParent = declar.parentPath;\n if (declar.key === \"left\" && declarParent.isForInStatement()) {\n return stringTypeAnnotation();\n }\n if (declar.key === \"left\" && declarParent.isForOfStatement()) {\n return anyTypeAnnotation();\n }\n return voidTypeAnnotation();\n } else {\n return;\n }\n }\n if (node.typeAnnotation) {\n return node.typeAnnotation;\n }\n if (typeAnnotationInferringNodes.has(node)) {\n return;\n }\n typeAnnotationInferringNodes.add(node);\n try {\n var _inferer;\n let inferer = inferers[node.type];\n if (inferer) {\n return inferer.call(this, node);\n }\n inferer = inferers[this.parentPath.type];\n if ((_inferer = inferer) != null && _inferer.validParent) {\n return this.parentPath.getTypeAnnotation();\n }\n } finally {\n typeAnnotationInferringNodes.delete(node);\n }\n}\nfunction isBaseType(baseName, soft) {\n return _isBaseType(baseName, this.getTypeAnnotation(), soft);\n}\nfunction _isBaseType(baseName, type, soft) {\n if (baseName === \"string\") {\n return isStringTypeAnnotation(type);\n } else if (baseName === \"number\") {\n return isNumberTypeAnnotation(type);\n } else if (baseName === \"boolean\") {\n return isBooleanTypeAnnotation(type);\n } else if (baseName === \"any\") {\n return isAnyTypeAnnotation(type);\n } else if (baseName === \"mixed\") {\n return isMixedTypeAnnotation(type);\n } else if (baseName === \"empty\") {\n return isEmptyTypeAnnotation(type);\n } else if (baseName === \"void\") {\n return isVoidTypeAnnotation(type);\n } else {\n if (soft) {\n return false;\n } else {\n throw new Error(`Unknown base type ${baseName}`);\n }\n }\n}\nfunction couldBeBaseType(name) {\n const type = this.getTypeAnnotation();\n if (isAnyTypeAnnotation(type)) return true;\n if (isUnionTypeAnnotation(type)) {\n for (const type2 of type.types) {\n if (isAnyTypeAnnotation(type2) || _isBaseType(name, type2, true)) {\n return true;\n }\n }\n return false;\n } else {\n return _isBaseType(name, type, true);\n }\n}\nfunction baseTypeStrictlyMatches(rightArg) {\n const left = this.getTypeAnnotation();\n const right = rightArg.getTypeAnnotation();\n if (!isAnyTypeAnnotation(left) && isFlowBaseAnnotation(left)) {\n return right.type === left.type;\n }\n return false;\n}\nfunction isGenericType(genericName) {\n const type = this.getTypeAnnotation();\n if (genericName === \"Array\") {\n if (isTSArrayType(type) || isArrayTypeAnnotation(type) || isTupleTypeAnnotation(type)) {\n return true;\n }\n }\n return isGenericTypeAnnotation(type) && isIdentifier(type.id, {\n name: genericName\n }) || isTSTypeReference(type) && isIdentifier(type.typeName, {\n name: genericName\n });\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/inference/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/inference/inferer-reference.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/inference/inferer-reference.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = _default;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _util = __webpack_require__(/*! ./util.js */ \"./node_modules/@babel/traverse/lib/path/inference/util.js\");\nconst {\n BOOLEAN_NUMBER_BINARY_OPERATORS,\n createTypeAnnotationBasedOnTypeof,\n numberTypeAnnotation,\n voidTypeAnnotation\n} = _t;\nfunction _default(node) {\n if (!this.isReferenced()) return;\n const binding = this.scope.getBinding(node.name);\n if (binding) {\n if (binding.identifier.typeAnnotation) {\n return binding.identifier.typeAnnotation;\n } else {\n return getTypeAnnotationBindingConstantViolations(binding, this, node.name);\n }\n }\n if (node.name === \"undefined\") {\n return voidTypeAnnotation();\n } else if (node.name === \"NaN\" || node.name === \"Infinity\") {\n return numberTypeAnnotation();\n } else if (node.name === \"arguments\") {}\n}\nfunction getTypeAnnotationBindingConstantViolations(binding, path, name) {\n const types = [];\n const functionConstantViolations = [];\n let constantViolations = getConstantViolationsBefore(binding, path, functionConstantViolations);\n const testType = getConditionalAnnotation(binding, path, name);\n if (testType) {\n const testConstantViolations = getConstantViolationsBefore(binding, testType.ifStatement);\n constantViolations = constantViolations.filter(path => !testConstantViolations.includes(path));\n types.push(testType.typeAnnotation);\n }\n if (constantViolations.length) {\n constantViolations.push(...functionConstantViolations);\n for (const violation of constantViolations) {\n types.push(violation.getTypeAnnotation());\n }\n }\n if (!types.length) {\n return;\n }\n return (0, _util.createUnionType)(types);\n}\nfunction getConstantViolationsBefore(binding, path, functions) {\n const violations = binding.constantViolations.slice();\n violations.unshift(binding.path);\n return violations.filter(violation => {\n violation = violation.resolve();\n const status = violation._guessExecutionStatusRelativeTo(path);\n if (functions && status === \"unknown\") functions.push(violation);\n return status === \"before\";\n });\n}\nfunction inferAnnotationFromBinaryExpression(name, path) {\n const operator = path.node.operator;\n const right = path.get(\"right\").resolve();\n const left = path.get(\"left\").resolve();\n let target;\n if (left.isIdentifier({\n name\n })) {\n target = right;\n } else if (right.isIdentifier({\n name\n })) {\n target = left;\n }\n if (target) {\n if (operator === \"===\") {\n return target.getTypeAnnotation();\n }\n if (BOOLEAN_NUMBER_BINARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n }\n return;\n }\n if (operator !== \"===\" && operator !== \"==\") return;\n let typeofPath;\n let typePath;\n if (left.isUnaryExpression({\n operator: \"typeof\"\n })) {\n typeofPath = left;\n typePath = right;\n } else if (right.isUnaryExpression({\n operator: \"typeof\"\n })) {\n typeofPath = right;\n typePath = left;\n }\n if (!typeofPath) return;\n if (!typeofPath.get(\"argument\").isIdentifier({\n name\n })) return;\n typePath = typePath.resolve();\n if (!typePath.isLiteral()) return;\n const typeValue = typePath.node.value;\n if (typeof typeValue !== \"string\") return;\n return createTypeAnnotationBasedOnTypeof(typeValue);\n}\nfunction getParentConditionalPath(binding, path, name) {\n let parentPath;\n while (parentPath = path.parentPath) {\n if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) {\n if (path.key === \"test\") {\n return;\n }\n return parentPath;\n }\n if (parentPath.isFunction()) {\n if (parentPath.parentPath.scope.getBinding(name) !== binding) return;\n }\n path = parentPath;\n }\n}\nfunction getConditionalAnnotation(binding, path, name) {\n const ifStatement = getParentConditionalPath(binding, path, name);\n if (!ifStatement) return;\n const test = ifStatement.get(\"test\");\n const paths = [test];\n const types = [];\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n if (path.isLogicalExpression()) {\n if (path.node.operator === \"&&\") {\n paths.push(path.get(\"left\"));\n paths.push(path.get(\"right\"));\n }\n } else if (path.isBinaryExpression()) {\n const type = inferAnnotationFromBinaryExpression(name, path);\n if (type) types.push(type);\n }\n }\n if (types.length) {\n return {\n typeAnnotation: (0, _util.createUnionType)(types),\n ifStatement\n };\n }\n return getConditionalAnnotation(binding, ifStatement, name);\n}\n\n//# sourceMappingURL=inferer-reference.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/inference/inferer-reference.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/inference/inferers.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/inference/inferers.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ArrayExpression = ArrayExpression;\nexports.AssignmentExpression = AssignmentExpression;\nexports.BinaryExpression = BinaryExpression;\nexports.BooleanLiteral = BooleanLiteral;\nexports.CallExpression = CallExpression;\nexports.ConditionalExpression = ConditionalExpression;\nexports.ClassDeclaration = exports.ClassExpression = exports.FunctionDeclaration = exports.ArrowFunctionExpression = exports.FunctionExpression = Func;\nObject.defineProperty(exports, \"Identifier\", ({\n enumerable: true,\n get: function () {\n return _infererReference.default;\n }\n}));\nexports.LogicalExpression = LogicalExpression;\nexports.NewExpression = NewExpression;\nexports.NullLiteral = NullLiteral;\nexports.NumericLiteral = NumericLiteral;\nexports.ObjectExpression = ObjectExpression;\nexports.ParenthesizedExpression = ParenthesizedExpression;\nexports.RegExpLiteral = RegExpLiteral;\nexports.RestElement = RestElement;\nexports.SequenceExpression = SequenceExpression;\nexports.StringLiteral = StringLiteral;\nexports.TSAsExpression = TSAsExpression;\nexports.TSNonNullExpression = TSNonNullExpression;\nexports.TaggedTemplateExpression = TaggedTemplateExpression;\nexports.TemplateLiteral = TemplateLiteral;\nexports.TypeCastExpression = TypeCastExpression;\nexports.UnaryExpression = UnaryExpression;\nexports.UpdateExpression = UpdateExpression;\nexports.VariableDeclarator = VariableDeclarator;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _infererReference = __webpack_require__(/*! ./inferer-reference.js */ \"./node_modules/@babel/traverse/lib/path/inference/inferer-reference.js\");\nvar _util = __webpack_require__(/*! ./util.js */ \"./node_modules/@babel/traverse/lib/path/inference/util.js\");\nconst {\n BOOLEAN_BINARY_OPERATORS,\n BOOLEAN_UNARY_OPERATORS,\n NUMBER_BINARY_OPERATORS,\n NUMBER_UNARY_OPERATORS,\n STRING_UNARY_OPERATORS,\n anyTypeAnnotation,\n arrayTypeAnnotation,\n booleanTypeAnnotation,\n buildMatchMemberExpression,\n genericTypeAnnotation,\n identifier,\n nullLiteralTypeAnnotation,\n numberTypeAnnotation,\n stringTypeAnnotation,\n tupleTypeAnnotation,\n unionTypeAnnotation,\n voidTypeAnnotation,\n isIdentifier\n} = _t;\nfunction VariableDeclarator() {\n if (!this.get(\"id\").isIdentifier()) return;\n return this.get(\"init\").getTypeAnnotation();\n}\nfunction TypeCastExpression(node) {\n return node.typeAnnotation;\n}\nTypeCastExpression.validParent = true;\nfunction TSAsExpression(node) {\n return node.typeAnnotation;\n}\nTSAsExpression.validParent = true;\nfunction TSNonNullExpression() {\n return this.get(\"expression\").getTypeAnnotation();\n}\nfunction NewExpression(node) {\n if (node.callee.type === \"Identifier\") {\n return genericTypeAnnotation(node.callee);\n }\n}\nfunction TemplateLiteral() {\n return stringTypeAnnotation();\n}\nfunction UnaryExpression(node) {\n const operator = node.operator;\n if (operator === \"void\") {\n return voidTypeAnnotation();\n } else if (NUMBER_UNARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n } else if (STRING_UNARY_OPERATORS.includes(operator)) {\n return stringTypeAnnotation();\n } else if (BOOLEAN_UNARY_OPERATORS.includes(operator)) {\n return booleanTypeAnnotation();\n }\n}\nfunction BinaryExpression(node) {\n const operator = node.operator;\n if (NUMBER_BINARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n } else if (BOOLEAN_BINARY_OPERATORS.includes(operator)) {\n return booleanTypeAnnotation();\n } else if (operator === \"+\") {\n const right = this.get(\"right\");\n const left = this.get(\"left\");\n if (left.isBaseType(\"number\") && right.isBaseType(\"number\")) {\n return numberTypeAnnotation();\n } else if (left.isBaseType(\"string\") || right.isBaseType(\"string\")) {\n return stringTypeAnnotation();\n }\n return unionTypeAnnotation([stringTypeAnnotation(), numberTypeAnnotation()]);\n }\n}\nfunction LogicalExpression() {\n const argumentTypes = [this.get(\"left\").getTypeAnnotation(), this.get(\"right\").getTypeAnnotation()];\n return (0, _util.createUnionType)(argumentTypes);\n}\nfunction ConditionalExpression() {\n const argumentTypes = [this.get(\"consequent\").getTypeAnnotation(), this.get(\"alternate\").getTypeAnnotation()];\n return (0, _util.createUnionType)(argumentTypes);\n}\nfunction SequenceExpression() {\n return this.get(\"expressions\").pop().getTypeAnnotation();\n}\nfunction ParenthesizedExpression() {\n return this.get(\"expression\").getTypeAnnotation();\n}\nfunction AssignmentExpression() {\n return this.get(\"right\").getTypeAnnotation();\n}\nfunction UpdateExpression(node) {\n const operator = node.operator;\n if (operator === \"++\" || operator === \"--\") {\n return numberTypeAnnotation();\n }\n}\nfunction StringLiteral() {\n return stringTypeAnnotation();\n}\nfunction NumericLiteral() {\n return numberTypeAnnotation();\n}\nfunction BooleanLiteral() {\n return booleanTypeAnnotation();\n}\nfunction NullLiteral() {\n return nullLiteralTypeAnnotation();\n}\nfunction RegExpLiteral() {\n return genericTypeAnnotation(identifier(\"RegExp\"));\n}\nfunction ObjectExpression() {\n return genericTypeAnnotation(identifier(\"Object\"));\n}\nfunction ArrayExpression() {\n return genericTypeAnnotation(identifier(\"Array\"));\n}\nfunction RestElement() {\n return ArrayExpression();\n}\nRestElement.validParent = true;\nfunction Func() {\n return genericTypeAnnotation(identifier(\"Function\"));\n}\nconst isArrayFrom = buildMatchMemberExpression(\"Array.from\");\nconst isObjectKeys = buildMatchMemberExpression(\"Object.keys\");\nconst isObjectValues = buildMatchMemberExpression(\"Object.values\");\nconst isObjectEntries = buildMatchMemberExpression(\"Object.entries\");\nfunction CallExpression() {\n const {\n callee\n } = this.node;\n if (isObjectKeys(callee)) {\n return arrayTypeAnnotation(stringTypeAnnotation());\n } else if (isArrayFrom(callee) || isObjectValues(callee) || isIdentifier(callee, {\n name: \"Array\"\n })) {\n return arrayTypeAnnotation(anyTypeAnnotation());\n } else if (isObjectEntries(callee)) {\n return arrayTypeAnnotation(tupleTypeAnnotation([stringTypeAnnotation(), anyTypeAnnotation()]));\n }\n return resolveCall(this.get(\"callee\"));\n}\nfunction TaggedTemplateExpression() {\n return resolveCall(this.get(\"tag\"));\n}\nfunction resolveCall(callee) {\n callee = callee.resolve();\n if (callee.isFunction()) {\n const {\n node\n } = callee;\n if (node.async) {\n if (node.generator) {\n return genericTypeAnnotation(identifier(\"AsyncIterator\"));\n } else {\n return genericTypeAnnotation(identifier(\"Promise\"));\n }\n } else {\n if (node.generator) {\n return genericTypeAnnotation(identifier(\"Iterator\"));\n } else if (callee.node.returnType) {\n return callee.node.returnType;\n } else {}\n }\n }\n}\n\n//# sourceMappingURL=inferers.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/inference/inferers.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/inference/util.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/inference/util.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createUnionType = createUnionType;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n createFlowUnionType,\n createTSUnionType,\n createUnionTypeAnnotation,\n isFlowType,\n isTSType\n} = _t;\nfunction createUnionType(types) {\n {\n if (types.every(v => isFlowType(v))) {\n if (createFlowUnionType) {\n return createFlowUnionType(types);\n }\n return createUnionTypeAnnotation(types);\n } else if (types.every(v => isTSType(v))) {\n if (createTSUnionType) {\n return createTSUnionType(types);\n }\n }\n }\n}\n\n//# sourceMappingURL=util.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/inference/util.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/introspection.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/introspection.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports._guessExecutionStatusRelativeTo = _guessExecutionStatusRelativeTo;\nexports._resolve = _resolve;\nexports.canHaveVariableDeclarationOrExpression = canHaveVariableDeclarationOrExpression;\nexports.canSwapBetweenExpressionAndStatement = canSwapBetweenExpressionAndStatement;\nexports.getSource = getSource;\nexports.isCompletionRecord = isCompletionRecord;\nexports.isConstantExpression = isConstantExpression;\nexports.isInStrictMode = isInStrictMode;\nexports.isNodeType = isNodeType;\nexports.isStatementOrBlock = isStatementOrBlock;\nexports.isStatic = isStatic;\nexports.matchesPattern = matchesPattern;\nexports.referencesImport = referencesImport;\nexports.resolve = resolve;\nexports.willIMaybeExecuteBefore = willIMaybeExecuteBefore;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n STATEMENT_OR_BLOCK_KEYS,\n VISITOR_KEYS,\n isBlockStatement,\n isExpression,\n isIdentifier,\n isLiteral,\n isStringLiteral,\n isType,\n matchesPattern: _matchesPattern\n} = _t;\nfunction matchesPattern(pattern, allowPartial) {\n return _matchesPattern(this.node, pattern, allowPartial);\n}\n{\n exports.has = function has(key) {\n var _this$node;\n const val = (_this$node = this.node) == null ? void 0 : _this$node[key];\n if (val && Array.isArray(val)) {\n return !!val.length;\n } else {\n return !!val;\n }\n };\n}\nfunction isStatic() {\n return this.scope.isStatic(this.node);\n}\n{\n exports.is = exports.has;\n exports.isnt = function isnt(key) {\n return !this.has(key);\n };\n exports.equals = function equals(key, value) {\n return this.node[key] === value;\n };\n}\nfunction isNodeType(type) {\n return isType(this.type, type);\n}\nfunction canHaveVariableDeclarationOrExpression() {\n return (this.key === \"init\" || this.key === \"left\") && this.parentPath.isFor();\n}\nfunction canSwapBetweenExpressionAndStatement(replacement) {\n if (this.key !== \"body\" || !this.parentPath.isArrowFunctionExpression()) {\n return false;\n }\n if (this.isExpression()) {\n return isBlockStatement(replacement);\n } else if (this.isBlockStatement()) {\n return isExpression(replacement);\n }\n return false;\n}\nfunction isCompletionRecord(allowInsideFunction) {\n let path = this;\n let first = true;\n do {\n const {\n type,\n container\n } = path;\n if (!first && (path.isFunction() || type === \"StaticBlock\")) {\n return !!allowInsideFunction;\n }\n first = false;\n if (Array.isArray(container) && path.key !== container.length - 1) {\n return false;\n }\n } while ((path = path.parentPath) && !path.isProgram() && !path.isDoExpression());\n return true;\n}\nfunction isStatementOrBlock() {\n if (this.parentPath.isLabeledStatement() || isBlockStatement(this.container)) {\n return false;\n } else {\n return STATEMENT_OR_BLOCK_KEYS.includes(this.key);\n }\n}\nfunction referencesImport(moduleSource, importName) {\n if (!this.isReferencedIdentifier()) {\n if (this.isJSXMemberExpression() && this.node.property.name === importName || (this.isMemberExpression() || this.isOptionalMemberExpression()) && (this.node.computed ? isStringLiteral(this.node.property, {\n value: importName\n }) : this.node.property.name === importName)) {\n const object = this.get(\"object\");\n return object.isReferencedIdentifier() && object.referencesImport(moduleSource, \"*\");\n }\n return false;\n }\n const binding = this.scope.getBinding(this.node.name);\n if (!binding || binding.kind !== \"module\") return false;\n const path = binding.path;\n const parent = path.parentPath;\n if (!parent.isImportDeclaration()) return false;\n if (parent.node.source.value === moduleSource) {\n if (!importName) return true;\n } else {\n return false;\n }\n if (path.isImportDefaultSpecifier() && importName === \"default\") {\n return true;\n }\n if (path.isImportNamespaceSpecifier() && importName === \"*\") {\n return true;\n }\n if (path.isImportSpecifier() && isIdentifier(path.node.imported, {\n name: importName\n })) {\n return true;\n }\n return false;\n}\nfunction getSource() {\n const node = this.node;\n if (node.end) {\n const code = this.hub.getCode();\n if (code) return code.slice(node.start, node.end);\n }\n return \"\";\n}\nfunction willIMaybeExecuteBefore(target) {\n return this._guessExecutionStatusRelativeTo(target) !== \"after\";\n}\nfunction getOuterFunction(path) {\n return path.isProgram() ? path : (path.parentPath.scope.getFunctionParent() || path.parentPath.scope.getProgramParent()).path;\n}\nfunction isExecutionUncertain(type, key) {\n switch (type) {\n case \"LogicalExpression\":\n return key === \"right\";\n case \"ConditionalExpression\":\n case \"IfStatement\":\n return key === \"consequent\" || key === \"alternate\";\n case \"WhileStatement\":\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForOfStatement\":\n return key === \"body\";\n case \"ForStatement\":\n return key === \"body\" || key === \"update\";\n case \"SwitchStatement\":\n return key === \"cases\";\n case \"TryStatement\":\n return key === \"handler\";\n case \"AssignmentPattern\":\n return key === \"right\";\n case \"OptionalMemberExpression\":\n return key === \"property\";\n case \"OptionalCallExpression\":\n return key === \"arguments\";\n default:\n return false;\n }\n}\nfunction isExecutionUncertainInList(paths, maxIndex) {\n for (let i = 0; i < maxIndex; i++) {\n const path = paths[i];\n if (isExecutionUncertain(path.parent.type, path.parentKey)) {\n return true;\n }\n }\n return false;\n}\nconst SYMBOL_CHECKING = Symbol();\nfunction _guessExecutionStatusRelativeTo(target) {\n return _guessExecutionStatusRelativeToCached(this, target, new Map());\n}\nfunction _guessExecutionStatusRelativeToCached(base, target, cache) {\n const funcParent = {\n this: getOuterFunction(base),\n target: getOuterFunction(target)\n };\n if (funcParent.target.node !== funcParent.this.node) {\n return _guessExecutionStatusRelativeToDifferentFunctionsCached(base, funcParent.target, cache);\n }\n const paths = {\n target: target.getAncestry(),\n this: base.getAncestry()\n };\n if (paths.target.includes(base)) return \"after\";\n if (paths.this.includes(target)) return \"before\";\n let commonPath;\n const commonIndex = {\n target: 0,\n this: 0\n };\n while (!commonPath && commonIndex.this < paths.this.length) {\n const path = paths.this[commonIndex.this];\n commonIndex.target = paths.target.indexOf(path);\n if (commonIndex.target >= 0) {\n commonPath = path;\n } else {\n commonIndex.this++;\n }\n }\n if (!commonPath) {\n throw new Error(\"Internal Babel error - The two compared nodes\" + \" don't appear to belong to the same program.\");\n }\n if (isExecutionUncertainInList(paths.this, commonIndex.this - 1) || isExecutionUncertainInList(paths.target, commonIndex.target - 1)) {\n return \"unknown\";\n }\n const divergence = {\n this: paths.this[commonIndex.this - 1],\n target: paths.target[commonIndex.target - 1]\n };\n if (divergence.target.listKey && divergence.this.listKey && divergence.target.container === divergence.this.container) {\n return divergence.target.key > divergence.this.key ? \"before\" : \"after\";\n }\n const keys = VISITOR_KEYS[commonPath.type];\n const keyPosition = {\n this: keys.indexOf(divergence.this.parentKey),\n target: keys.indexOf(divergence.target.parentKey)\n };\n return keyPosition.target > keyPosition.this ? \"before\" : \"after\";\n}\nfunction _guessExecutionStatusRelativeToDifferentFunctionsInternal(base, target, cache) {\n if (!target.isFunctionDeclaration()) {\n if (_guessExecutionStatusRelativeToCached(base, target, cache) === \"before\") {\n return \"before\";\n }\n return \"unknown\";\n } else if (target.parentPath.isExportDeclaration()) {\n return \"unknown\";\n }\n const binding = target.scope.getBinding(target.node.id.name);\n if (!binding.references) return \"before\";\n const referencePaths = binding.referencePaths;\n let allStatus;\n for (const path of referencePaths) {\n const childOfFunction = !!path.find(path => path.node === target.node);\n if (childOfFunction) continue;\n if (path.key !== \"callee\" || !path.parentPath.isCallExpression()) {\n return \"unknown\";\n }\n const status = _guessExecutionStatusRelativeToCached(base, path, cache);\n if (allStatus && allStatus !== status) {\n return \"unknown\";\n } else {\n allStatus = status;\n }\n }\n return allStatus;\n}\nfunction _guessExecutionStatusRelativeToDifferentFunctionsCached(base, target, cache) {\n let nodeMap = cache.get(base.node);\n let cached;\n if (!nodeMap) {\n cache.set(base.node, nodeMap = new Map());\n } else if (cached = nodeMap.get(target.node)) {\n if (cached === SYMBOL_CHECKING) {\n return \"unknown\";\n }\n return cached;\n }\n nodeMap.set(target.node, SYMBOL_CHECKING);\n const result = _guessExecutionStatusRelativeToDifferentFunctionsInternal(base, target, cache);\n nodeMap.set(target.node, result);\n return result;\n}\nfunction resolve(dangerous, resolved) {\n return _resolve.call(this, dangerous, resolved) || this;\n}\nfunction _resolve(dangerous, resolved) {\n var _resolved;\n if ((_resolved = resolved) != null && _resolved.includes(this)) return;\n resolved = resolved || [];\n resolved.push(this);\n if (this.isVariableDeclarator()) {\n if (this.get(\"id\").isIdentifier()) {\n return this.get(\"init\").resolve(dangerous, resolved);\n } else {}\n } else if (this.isReferencedIdentifier()) {\n const binding = this.scope.getBinding(this.node.name);\n if (!binding) return;\n if (!binding.constant) return;\n if (binding.kind === \"module\") return;\n if (binding.path !== this) {\n const ret = binding.path.resolve(dangerous, resolved);\n if (this.find(parent => parent.node === ret.node)) return;\n return ret;\n }\n } else if (this.isTypeCastExpression()) {\n return this.get(\"expression\").resolve(dangerous, resolved);\n } else if (dangerous && this.isMemberExpression()) {\n const targetKey = this.toComputedKey();\n if (!isLiteral(targetKey)) return;\n const targetName = targetKey.value;\n const target = this.get(\"object\").resolve(dangerous, resolved);\n if (target.isObjectExpression()) {\n const props = target.get(\"properties\");\n for (const prop of props) {\n if (!prop.isProperty()) continue;\n const key = prop.get(\"key\");\n let match = prop.isnt(\"computed\") && key.isIdentifier({\n name: targetName\n });\n match = match || key.isLiteral({\n value: targetName\n });\n if (match) return prop.get(\"value\").resolve(dangerous, resolved);\n }\n } else if (target.isArrayExpression() && !isNaN(+targetName)) {\n const elems = target.get(\"elements\");\n const elem = elems[targetName];\n if (elem) return elem.resolve(dangerous, resolved);\n }\n }\n}\nfunction isConstantExpression() {\n if (this.isIdentifier()) {\n const binding = this.scope.getBinding(this.node.name);\n if (!binding) return false;\n return binding.constant;\n }\n if (this.isLiteral()) {\n if (this.isRegExpLiteral()) {\n return false;\n }\n if (this.isTemplateLiteral()) {\n return this.get(\"expressions\").every(expression => expression.isConstantExpression());\n }\n return true;\n }\n if (this.isUnaryExpression()) {\n if (this.node.operator !== \"void\") {\n return false;\n }\n return this.get(\"argument\").isConstantExpression();\n }\n if (this.isBinaryExpression()) {\n const {\n operator\n } = this.node;\n return operator !== \"in\" && operator !== \"instanceof\" && this.get(\"left\").isConstantExpression() && this.get(\"right\").isConstantExpression();\n }\n if (this.isMemberExpression()) {\n return !this.node.computed && this.get(\"object\").isIdentifier({\n name: \"Symbol\"\n }) && !this.scope.hasBinding(\"Symbol\", {\n noGlobals: true\n });\n }\n if (this.isCallExpression()) {\n return this.node.arguments.length === 1 && this.get(\"callee\").matchesPattern(\"Symbol.for\") && !this.scope.hasBinding(\"Symbol\", {\n noGlobals: true\n }) && this.get(\"arguments\")[0].isStringLiteral();\n }\n return false;\n}\nfunction isInStrictMode() {\n const start = this.isProgram() ? this : this.parentPath;\n const strictParent = start.find(path => {\n if (path.isProgram({\n sourceType: \"module\"\n })) return true;\n if (path.isClass()) return true;\n if (path.isArrowFunctionExpression() && !path.get(\"body\").isBlockStatement()) {\n return false;\n }\n let body;\n if (path.isFunction()) {\n body = path.node.body;\n } else if (path.isProgram()) {\n body = path.node;\n } else {\n return false;\n }\n for (const directive of body.directives) {\n if (directive.value.value === \"use strict\") {\n return true;\n }\n }\n });\n return !!strictParent;\n}\n\n//# sourceMappingURL=introspection.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/introspection.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/lib/hoister.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/lib/hoister.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _t2 = _t;\nconst {\n react\n} = _t;\nconst {\n cloneNode,\n jsxExpressionContainer,\n variableDeclaration,\n variableDeclarator\n} = _t2;\nconst referenceVisitor = {\n ReferencedIdentifier(path, state) {\n if (path.isJSXIdentifier() && react.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) {\n return;\n }\n if (path.node.name === \"this\") {\n let scope = path.scope;\n do {\n if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) {\n break;\n }\n } while (scope = scope.parent);\n if (scope) state.breakOnScopePaths.push(scope.path);\n }\n const binding = path.scope.getBinding(path.node.name);\n if (!binding) return;\n for (const violation of binding.constantViolations) {\n if (violation.scope !== binding.path.scope) {\n state.mutableBinding = true;\n path.stop();\n return;\n }\n }\n if (binding !== state.scope.getBinding(path.node.name)) return;\n state.bindings[path.node.name] = binding;\n }\n};\nclass PathHoister {\n constructor(path, scope) {\n this.breakOnScopePaths = void 0;\n this.bindings = void 0;\n this.mutableBinding = void 0;\n this.scopes = void 0;\n this.scope = void 0;\n this.path = void 0;\n this.attachAfter = void 0;\n this.breakOnScopePaths = [];\n this.bindings = {};\n this.mutableBinding = false;\n this.scopes = [];\n this.scope = scope;\n this.path = path;\n this.attachAfter = false;\n }\n isCompatibleScope(scope) {\n for (const key of Object.keys(this.bindings)) {\n const binding = this.bindings[key];\n if (!scope.bindingIdentifierEquals(key, binding.identifier)) {\n return false;\n }\n }\n return true;\n }\n getCompatibleScopes() {\n let scope = this.path.scope;\n do {\n if (this.isCompatibleScope(scope)) {\n this.scopes.push(scope);\n } else {\n break;\n }\n if (this.breakOnScopePaths.includes(scope.path)) {\n break;\n }\n } while (scope = scope.parent);\n }\n getAttachmentPath() {\n let path = this._getAttachmentPath();\n if (!path) return;\n let targetScope = path.scope;\n if (targetScope.path === path) {\n targetScope = path.scope.parent;\n }\n if (targetScope.path.isProgram() || targetScope.path.isFunction()) {\n for (const name of Object.keys(this.bindings)) {\n if (!targetScope.hasOwnBinding(name)) continue;\n const binding = this.bindings[name];\n if (binding.kind === \"param\" || binding.path.parentKey === \"params\") {\n continue;\n }\n const bindingParentPath = this.getAttachmentParentForPath(binding.path);\n if (bindingParentPath.key >= path.key) {\n this.attachAfter = true;\n path = binding.path;\n for (const violationPath of binding.constantViolations) {\n if (this.getAttachmentParentForPath(violationPath).key > path.key) {\n path = violationPath;\n }\n }\n }\n }\n }\n return path;\n }\n _getAttachmentPath() {\n const scopes = this.scopes;\n const scope = scopes.pop();\n if (!scope) return;\n if (scope.path.isFunction()) {\n if (this.hasOwnParamBindings(scope)) {\n if (this.scope === scope) return;\n const bodies = scope.path.get(\"body\").get(\"body\");\n for (let i = 0; i < bodies.length; i++) {\n if (bodies[i].node._blockHoist) continue;\n return bodies[i];\n }\n } else {\n return this.getNextScopeAttachmentParent();\n }\n } else if (scope.path.isProgram()) {\n return this.getNextScopeAttachmentParent();\n }\n }\n getNextScopeAttachmentParent() {\n const scope = this.scopes.pop();\n if (scope) return this.getAttachmentParentForPath(scope.path);\n }\n getAttachmentParentForPath(path) {\n do {\n if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {\n return path;\n }\n } while (path = path.parentPath);\n }\n hasOwnParamBindings(scope) {\n for (const name of Object.keys(this.bindings)) {\n if (!scope.hasOwnBinding(name)) continue;\n const binding = this.bindings[name];\n if (binding.kind === \"param\" && binding.constant) return true;\n }\n return false;\n }\n run() {\n this.path.traverse(referenceVisitor, this);\n if (this.mutableBinding) return;\n this.getCompatibleScopes();\n const attachTo = this.getAttachmentPath();\n if (!attachTo) return;\n if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return;\n let uid = attachTo.scope.generateUidIdentifier(\"ref\");\n const declarator = variableDeclarator(uid, this.path.node);\n const insertFn = this.attachAfter ? \"insertAfter\" : \"insertBefore\";\n const [attached] = attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : variableDeclaration(\"var\", [declarator])]);\n const parent = this.path.parentPath;\n if (parent.isJSXElement() && this.path.container === parent.node.children) {\n uid = jsxExpressionContainer(uid);\n }\n this.path.replaceWith(cloneNode(uid));\n return attachTo.isVariableDeclarator() ? attached.get(\"init\") : attached.get(\"declarations.0.init\");\n }\n}\nexports[\"default\"] = PathHoister;\n\n//# sourceMappingURL=hoister.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/lib/hoister.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/lib/removal-hooks.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/lib/removal-hooks.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.hooks = void 0;\nconst hooks = exports.hooks = [function (self, parent) {\n const removeParent = self.key === \"test\" && (parent.isWhile() || parent.isSwitchCase()) || self.key === \"declaration\" && parent.isExportDeclaration() || self.key === \"body\" && parent.isLabeledStatement() || self.listKey === \"declarations\" && parent.isVariableDeclaration() && parent.node.declarations.length === 1 || self.key === \"expression\" && parent.isExpressionStatement();\n if (removeParent) {\n parent.remove();\n return true;\n }\n}, function (self, parent) {\n if (parent.isSequenceExpression() && parent.node.expressions.length === 1) {\n parent.replaceWith(parent.node.expressions[0]);\n return true;\n }\n}, function (self, parent) {\n if (parent.isBinary()) {\n if (self.key === \"left\") {\n parent.replaceWith(parent.node.right);\n } else {\n parent.replaceWith(parent.node.left);\n }\n return true;\n }\n}, function (self, parent) {\n if (parent.isIfStatement() && self.key === \"consequent\" || self.key === \"body\" && (parent.isLoop() || parent.isArrowFunctionExpression())) {\n self.replaceWith({\n type: \"BlockStatement\",\n body: []\n });\n return true;\n }\n}];\n\n//# sourceMappingURL=removal-hooks.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/lib/removal-hooks.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isBindingIdentifier = isBindingIdentifier;\nexports.isBlockScoped = isBlockScoped;\nexports.isExpression = isExpression;\nexports.isFlow = isFlow;\nexports.isForAwaitStatement = isForAwaitStatement;\nexports.isGenerated = isGenerated;\nexports.isPure = isPure;\nexports.isReferenced = isReferenced;\nexports.isReferencedIdentifier = isReferencedIdentifier;\nexports.isReferencedMemberExpression = isReferencedMemberExpression;\nexports.isRestProperty = isRestProperty;\nexports.isScope = isScope;\nexports.isSpreadProperty = isSpreadProperty;\nexports.isStatement = isStatement;\nexports.isUser = isUser;\nexports.isVar = isVar;\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n isBinding,\n isBlockScoped: nodeIsBlockScoped,\n isExportDeclaration,\n isExpression: nodeIsExpression,\n isFlow: nodeIsFlow,\n isForStatement,\n isForXStatement,\n isIdentifier,\n isImportDeclaration,\n isImportSpecifier,\n isJSXIdentifier,\n isJSXMemberExpression,\n isMemberExpression,\n isRestElement: nodeIsRestElement,\n isReferenced: nodeIsReferenced,\n isScope: nodeIsScope,\n isStatement: nodeIsStatement,\n isVar: nodeIsVar,\n isVariableDeclaration,\n react,\n isForOfStatement\n} = _t;\nconst {\n isCompatTag\n} = react;\nfunction isReferencedIdentifier(opts) {\n const {\n node,\n parent\n } = this;\n if (!isIdentifier(node, opts) && !isJSXMemberExpression(parent, opts)) {\n if (isJSXIdentifier(node, opts)) {\n if (isCompatTag(node.name)) return false;\n } else {\n return false;\n }\n }\n return nodeIsReferenced(node, parent, this.parentPath.parent);\n}\nfunction isReferencedMemberExpression() {\n const {\n node,\n parent\n } = this;\n return isMemberExpression(node) && nodeIsReferenced(node, parent);\n}\nfunction isBindingIdentifier() {\n const {\n node,\n parent\n } = this;\n const grandparent = this.parentPath.parent;\n return isIdentifier(node) && isBinding(node, parent, grandparent);\n}\nfunction isStatement() {\n const {\n node,\n parent\n } = this;\n if (nodeIsStatement(node)) {\n if (isVariableDeclaration(node)) {\n if (isForXStatement(parent, {\n left: node\n })) return false;\n if (isForStatement(parent, {\n init: node\n })) return false;\n }\n return true;\n } else {\n return false;\n }\n}\nfunction isExpression() {\n if (this.isIdentifier()) {\n return this.isReferencedIdentifier();\n } else {\n return nodeIsExpression(this.node);\n }\n}\nfunction isScope() {\n return nodeIsScope(this.node, this.parent);\n}\nfunction isReferenced() {\n return nodeIsReferenced(this.node, this.parent);\n}\nfunction isBlockScoped() {\n return nodeIsBlockScoped(this.node);\n}\nfunction isVar() {\n return nodeIsVar(this.node);\n}\nfunction isUser() {\n return this.node && !!this.node.loc;\n}\nfunction isGenerated() {\n return !this.isUser();\n}\nfunction isPure(constantsOnly) {\n return this.scope.isPure(this.node, constantsOnly);\n}\nfunction isFlow() {\n const {\n node\n } = this;\n if (nodeIsFlow(node)) {\n return true;\n } else if (isImportDeclaration(node)) {\n return node.importKind === \"type\" || node.importKind === \"typeof\";\n } else if (isExportDeclaration(node)) {\n return node.exportKind === \"type\";\n } else if (isImportSpecifier(node)) {\n return node.importKind === \"type\" || node.importKind === \"typeof\";\n } else {\n return false;\n }\n}\nfunction isRestProperty() {\n var _this$parentPath;\n return nodeIsRestElement(this.node) && ((_this$parentPath = this.parentPath) == null ? void 0 : _this$parentPath.isObjectPattern());\n}\nfunction isSpreadProperty() {\n var _this$parentPath2;\n return nodeIsRestElement(this.node) && ((_this$parentPath2 = this.parentPath) == null ? void 0 : _this$parentPath2.isObjectExpression());\n}\nfunction isForAwaitStatement() {\n return isForOfStatement(this.node, {\n await: true\n });\n}\n{\n exports.isExistentialTypeParam = function isExistentialTypeParam() {\n throw new Error(\"`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.\");\n };\n exports.isNumericLiteralTypeAnnotation = function isNumericLiteralTypeAnnotation() {\n throw new Error(\"`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.\");\n };\n}\n\n//# sourceMappingURL=virtual-types-validator.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/lib/virtual-types.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/lib/virtual-types.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Var = exports.User = exports.Statement = exports.SpreadProperty = exports.Scope = exports.RestProperty = exports.ReferencedMemberExpression = exports.ReferencedIdentifier = exports.Referenced = exports.Pure = exports.NumericLiteralTypeAnnotation = exports.Generated = exports.ForAwaitStatement = exports.Flow = exports.Expression = exports.ExistentialTypeParam = exports.BlockScoped = exports.BindingIdentifier = void 0;\nconst ReferencedIdentifier = exports.ReferencedIdentifier = [\"Identifier\", \"JSXIdentifier\"];\nconst ReferencedMemberExpression = exports.ReferencedMemberExpression = [\"MemberExpression\"];\nconst BindingIdentifier = exports.BindingIdentifier = [\"Identifier\"];\nconst Statement = exports.Statement = [\"Statement\"];\nconst Expression = exports.Expression = [\"Expression\"];\nconst Scope = exports.Scope = [\"Scopable\", \"Pattern\"];\nconst Referenced = exports.Referenced = null;\nconst BlockScoped = exports.BlockScoped = null;\nconst Var = exports.Var = [\"VariableDeclaration\"];\nconst User = exports.User = null;\nconst Generated = exports.Generated = null;\nconst Pure = exports.Pure = null;\nconst Flow = exports.Flow = [\"Flow\", \"ImportDeclaration\", \"ExportDeclaration\", \"ImportSpecifier\"];\nconst RestProperty = exports.RestProperty = [\"RestElement\"];\nconst SpreadProperty = exports.SpreadProperty = [\"RestElement\"];\nconst ExistentialTypeParam = exports.ExistentialTypeParam = [\"ExistsTypeAnnotation\"];\nconst NumericLiteralTypeAnnotation = exports.NumericLiteralTypeAnnotation = [\"NumberLiteralTypeAnnotation\"];\nconst ForAwaitStatement = exports.ForAwaitStatement = [\"ForOfStatement\"];\n\n//# sourceMappingURL=virtual-types.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/lib/virtual-types.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/modification.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/modification.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports._containerInsert = _containerInsert;\nexports._containerInsertAfter = _containerInsertAfter;\nexports._containerInsertBefore = _containerInsertBefore;\nexports._verifyNodeList = _verifyNodeList;\nexports.insertAfter = insertAfter;\nexports.insertBefore = insertBefore;\nexports.pushContainer = pushContainer;\nexports.unshiftContainer = unshiftContainer;\nexports.updateSiblingKeys = updateSiblingKeys;\nvar _cache = __webpack_require__(/*! ../cache.js */ \"./node_modules/@babel/traverse/lib/cache.js\");\nvar _hoister = __webpack_require__(/*! ./lib/hoister.js */ \"./node_modules/@babel/traverse/lib/path/lib/hoister.js\");\nvar _index = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/traverse/lib/path/index.js\");\nvar _context = __webpack_require__(/*! ./context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nvar _removal = __webpack_require__(/*! ./removal.js */ \"./node_modules/@babel/traverse/lib/path/removal.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n arrowFunctionExpression,\n assertExpression,\n assignmentExpression,\n blockStatement,\n callExpression,\n cloneNode,\n expressionStatement,\n isAssignmentExpression,\n isCallExpression,\n isExportNamedDeclaration,\n isExpression,\n isIdentifier,\n isSequenceExpression,\n isSuper,\n thisExpression\n} = _t;\nfunction insertBefore(nodes_) {\n _removal._assertUnremoved.call(this);\n const nodes = _verifyNodeList.call(this, nodes_);\n const {\n parentPath,\n parent\n } = this;\n if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || isExportNamedDeclaration(parent) || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) {\n return parentPath.insertBefore(nodes);\n } else if (this.isNodeType(\"Expression\") && !this.isJSXElement() || parentPath.isForStatement() && this.key === \"init\") {\n if (this.node) nodes.push(this.node);\n return this.replaceExpressionWithStatements(nodes);\n } else if (Array.isArray(this.container)) {\n return _containerInsertBefore.call(this, nodes);\n } else if (this.isStatementOrBlock()) {\n const node = this.node;\n const shouldInsertCurrentNode = node && (!this.isExpressionStatement() || node.expression != null);\n this.replaceWith(blockStatement(shouldInsertCurrentNode ? [node] : []));\n return this.unshiftContainer(\"body\", nodes);\n } else {\n throw new Error(\"We don't know what to do with this node type. \" + \"We were previously a Statement but we can't fit in here?\");\n }\n}\nfunction _containerInsert(from, nodes) {\n updateSiblingKeys.call(this, from, nodes.length);\n const paths = [];\n this.container.splice(from, 0, ...nodes);\n for (let i = 0; i < nodes.length; i++) {\n var _this$context;\n const to = from + i;\n const path = this.getSibling(to);\n paths.push(path);\n if ((_this$context = this.context) != null && _this$context.queue) {\n _context.pushContext.call(path, this.context);\n }\n }\n const contexts = _context._getQueueContexts.call(this);\n for (const path of paths) {\n _context.setScope.call(path);\n path.debug(\"Inserted.\");\n for (const context of contexts) {\n context.maybeQueue(path, true);\n }\n }\n return paths;\n}\nfunction _containerInsertBefore(nodes) {\n return _containerInsert.call(this, this.key, nodes);\n}\nfunction _containerInsertAfter(nodes) {\n return _containerInsert.call(this, this.key + 1, nodes);\n}\nconst last = arr => arr[arr.length - 1];\nfunction isHiddenInSequenceExpression(path) {\n return isSequenceExpression(path.parent) && (last(path.parent.expressions) !== path.node || isHiddenInSequenceExpression(path.parentPath));\n}\nfunction isAlmostConstantAssignment(node, scope) {\n if (!isAssignmentExpression(node) || !isIdentifier(node.left)) {\n return false;\n }\n const blockScope = scope.getBlockParent();\n return blockScope.hasOwnBinding(node.left.name) && blockScope.getOwnBinding(node.left.name).constantViolations.length <= 1;\n}\nfunction insertAfter(nodes_) {\n _removal._assertUnremoved.call(this);\n if (this.isSequenceExpression()) {\n return last(this.get(\"expressions\")).insertAfter(nodes_);\n }\n const nodes = _verifyNodeList.call(this, nodes_);\n const {\n parentPath,\n parent\n } = this;\n if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || isExportNamedDeclaration(parent) || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) {\n return parentPath.insertAfter(nodes.map(node => {\n return isExpression(node) ? expressionStatement(node) : node;\n }));\n } else if (this.isNodeType(\"Expression\") && !this.isJSXElement() && !parentPath.isJSXElement() || parentPath.isForStatement() && this.key === \"init\") {\n const self = this;\n if (self.node) {\n const node = self.node;\n let {\n scope\n } = this;\n if (scope.path.isPattern()) {\n assertExpression(node);\n self.replaceWith(callExpression(arrowFunctionExpression([], node), []));\n self.get(\"callee.body\").insertAfter(nodes);\n return [self];\n }\n if (isHiddenInSequenceExpression(self)) {\n nodes.unshift(node);\n } else if (isCallExpression(node) && isSuper(node.callee)) {\n nodes.unshift(node);\n nodes.push(thisExpression());\n } else if (isAlmostConstantAssignment(node, scope)) {\n nodes.unshift(node);\n nodes.push(cloneNode(node.left));\n } else if (scope.isPure(node, true)) {\n nodes.push(node);\n } else {\n if (parentPath.isMethod({\n computed: true,\n key: node\n })) {\n scope = scope.parent;\n }\n const temp = scope.generateDeclaredUidIdentifier();\n nodes.unshift(expressionStatement(assignmentExpression(\"=\", cloneNode(temp), node)));\n nodes.push(expressionStatement(cloneNode(temp)));\n }\n }\n return this.replaceExpressionWithStatements(nodes);\n } else if (Array.isArray(this.container)) {\n return _containerInsertAfter.call(this, nodes);\n } else if (this.isStatementOrBlock()) {\n const node = this.node;\n const shouldInsertCurrentNode = node && (!this.isExpressionStatement() || node.expression != null);\n this.replaceWith(blockStatement(shouldInsertCurrentNode ? [node] : []));\n return this.pushContainer(\"body\", nodes);\n } else {\n throw new Error(\"We don't know what to do with this node type. \" + \"We were previously a Statement but we can't fit in here?\");\n }\n}\nfunction updateSiblingKeys(fromIndex, incrementBy) {\n if (!this.parent) return;\n const paths = (0, _cache.getCachedPaths)(this.hub, this.parent) || [];\n for (const [, path] of paths) {\n if (typeof path.key === \"number\" && path.container === this.container && path.key >= fromIndex) {\n path.key += incrementBy;\n }\n }\n}\nfunction _verifyNodeList(nodes) {\n if (!nodes) {\n return [];\n }\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n let msg;\n if (!node) {\n msg = \"has falsy node\";\n } else if (typeof node !== \"object\") {\n msg = \"contains a non-object node\";\n } else if (!node.type) {\n msg = \"without a type\";\n } else if (node instanceof _index.default) {\n msg = \"has a NodePath when it expected a raw object\";\n }\n if (msg) {\n const type = Array.isArray(node) ? \"array\" : typeof node;\n throw new Error(`Node list ${msg} with the index of ${i} and type of ${type}`);\n }\n }\n return nodes;\n}\nfunction unshiftContainer(listKey, nodes) {\n _removal._assertUnremoved.call(this);\n nodes = _verifyNodeList.call(this, nodes);\n const path = _index.default.get({\n parentPath: this,\n parent: this.node,\n container: this.node[listKey],\n listKey,\n key: 0\n }).setContext(this.context);\n return _containerInsertBefore.call(path, nodes);\n}\nfunction pushContainer(listKey, nodes) {\n _removal._assertUnremoved.call(this);\n const verifiedNodes = _verifyNodeList.call(this, nodes);\n const container = this.node[listKey];\n const path = _index.default.get({\n parentPath: this,\n parent: this.node,\n container: container,\n listKey,\n key: container.length\n }).setContext(this.context);\n return path.replaceWithMultiple(verifiedNodes);\n}\n{\n exports.hoist = function hoist(scope = this.scope) {\n const hoister = new _hoister.default(this, scope);\n return hoister.run();\n };\n}\n\n//# sourceMappingURL=modification.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/modification.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/removal.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/removal.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports._assertUnremoved = _assertUnremoved;\nexports._callRemovalHooks = _callRemovalHooks;\nexports._markRemoved = _markRemoved;\nexports._remove = _remove;\nexports._removeFromScope = _removeFromScope;\nexports.remove = remove;\nvar _removalHooks = __webpack_require__(/*! ./lib/removal-hooks.js */ \"./node_modules/@babel/traverse/lib/path/lib/removal-hooks.js\");\nvar _cache = __webpack_require__(/*! ../cache.js */ \"./node_modules/@babel/traverse/lib/cache.js\");\nvar _replacement = __webpack_require__(/*! ./replacement.js */ \"./node_modules/@babel/traverse/lib/path/replacement.js\");\nvar _index = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/traverse/lib/path/index.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _modification = __webpack_require__(/*! ./modification.js */ \"./node_modules/@babel/traverse/lib/path/modification.js\");\nvar _context = __webpack_require__(/*! ./context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nconst {\n getBindingIdentifiers\n} = _t;\nfunction remove() {\n var _this$opts;\n _assertUnremoved.call(this);\n _context.resync.call(this);\n if (_callRemovalHooks.call(this)) {\n _markRemoved.call(this);\n return;\n }\n if (!((_this$opts = this.opts) != null && _this$opts.noScope)) {\n _removeFromScope.call(this);\n }\n this.shareCommentsWithSiblings();\n _remove.call(this);\n _markRemoved.call(this);\n}\nfunction _removeFromScope() {\n const bindings = getBindingIdentifiers(this.node, false, false, true);\n Object.keys(bindings).forEach(name => this.scope.removeBinding(name));\n}\nfunction _callRemovalHooks() {\n if (this.parentPath) {\n for (const fn of _removalHooks.hooks) {\n if (fn(this, this.parentPath)) return true;\n }\n }\n}\nfunction _remove() {\n if (Array.isArray(this.container)) {\n this.container.splice(this.key, 1);\n _modification.updateSiblingKeys.call(this, this.key, -1);\n } else {\n _replacement._replaceWith.call(this, null);\n }\n}\nfunction _markRemoved() {\n this._traverseFlags |= _index.SHOULD_SKIP | _index.REMOVED;\n if (this.parent) {\n (0, _cache.getCachedPaths)(this.hub, this.parent).delete(this.node);\n }\n this.node = null;\n}\nfunction _assertUnremoved() {\n if (this.removed) {\n throw this.buildCodeFrameError(\"NodePath has been removed so is read-only.\");\n }\n}\n\n//# sourceMappingURL=removal.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/removal.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/path/replacement.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/path/replacement.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports._replaceWith = _replaceWith;\nexports.replaceExpressionWithStatements = replaceExpressionWithStatements;\nexports.replaceInline = replaceInline;\nexports.replaceWith = replaceWith;\nexports.replaceWithMultiple = replaceWithMultiple;\nexports.replaceWithSourceString = replaceWithSourceString;\nvar _codeFrame = __webpack_require__(/*! @babel/code-frame */ \"./node_modules/@babel/code-frame/lib/index.js\");\nvar _index = __webpack_require__(/*! ../index.js */ \"./node_modules/@babel/traverse/lib/index.js\");\nvar _index2 = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/traverse/lib/path/index.js\");\nvar _cache = __webpack_require__(/*! ../cache.js */ \"./node_modules/@babel/traverse/lib/cache.js\");\nvar _modification = __webpack_require__(/*! ./modification.js */ \"./node_modules/@babel/traverse/lib/path/modification.js\");\nvar _parser = __webpack_require__(/*! @babel/parser */ \"./node_modules/@babel/parser/lib/index.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _context = __webpack_require__(/*! ./context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nconst {\n FUNCTION_TYPES,\n arrowFunctionExpression,\n assignmentExpression,\n awaitExpression,\n blockStatement,\n buildUndefinedNode,\n callExpression,\n cloneNode,\n conditionalExpression,\n expressionStatement,\n getBindingIdentifiers,\n identifier,\n inheritLeadingComments,\n inheritTrailingComments,\n inheritsComments,\n isBlockStatement,\n isEmptyStatement,\n isExpression,\n isExpressionStatement,\n isIfStatement,\n isProgram,\n isStatement,\n isVariableDeclaration,\n removeComments,\n returnStatement,\n sequenceExpression,\n validate,\n yieldExpression\n} = _t;\nfunction replaceWithMultiple(nodes) {\n var _getCachedPaths;\n _context.resync.call(this);\n nodes = _modification._verifyNodeList.call(this, nodes);\n inheritLeadingComments(nodes[0], this.node);\n inheritTrailingComments(nodes[nodes.length - 1], this.node);\n (_getCachedPaths = (0, _cache.getCachedPaths)(this.hub, this.parent)) == null || _getCachedPaths.delete(this.node);\n this.node = this.container[this.key] = null;\n const paths = this.insertAfter(nodes);\n if (this.node) {\n this.requeue();\n } else {\n this.remove();\n }\n return paths;\n}\nfunction replaceWithSourceString(replacement) {\n _context.resync.call(this);\n let ast;\n try {\n replacement = `(${replacement})`;\n ast = (0, _parser.parse)(replacement);\n } catch (err) {\n const loc = err.loc;\n if (loc) {\n err.message += \" - make sure this is an expression.\\n\" + (0, _codeFrame.codeFrameColumns)(replacement, {\n start: {\n line: loc.line,\n column: loc.column + 1\n }\n });\n err.code = \"BABEL_REPLACE_SOURCE_ERROR\";\n }\n throw err;\n }\n const expressionAST = ast.program.body[0].expression;\n _index.default.removeProperties(expressionAST);\n return this.replaceWith(expressionAST);\n}\nfunction replaceWith(replacementPath) {\n _context.resync.call(this);\n if (this.removed) {\n throw new Error(\"You can't replace this node, we've already removed it\");\n }\n let replacement = replacementPath instanceof _index2.default ? replacementPath.node : replacementPath;\n if (!replacement) {\n throw new Error(\"You passed `path.replaceWith()` a falsy node, use `path.remove()` instead\");\n }\n if (this.node === replacement) {\n return [this];\n }\n if (this.isProgram() && !isProgram(replacement)) {\n throw new Error(\"You can only replace a Program root node with another Program node\");\n }\n if (Array.isArray(replacement)) {\n throw new Error(\"Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`\");\n }\n if (typeof replacement === \"string\") {\n throw new Error(\"Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`\");\n }\n let nodePath = \"\";\n if (this.isNodeType(\"Statement\") && isExpression(replacement)) {\n if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement) && !this.parentPath.isExportDefaultDeclaration()) {\n replacement = expressionStatement(replacement);\n nodePath = \"expression\";\n }\n }\n if (this.isNodeType(\"Expression\") && isStatement(replacement)) {\n if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement)) {\n return this.replaceExpressionWithStatements([replacement]);\n }\n }\n const oldNode = this.node;\n if (oldNode) {\n inheritsComments(replacement, oldNode);\n removeComments(oldNode);\n }\n _replaceWith.call(this, replacement);\n this.type = replacement.type;\n _context.setScope.call(this);\n this.requeue();\n return [nodePath ? this.get(nodePath) : this];\n}\nfunction _replaceWith(node) {\n var _getCachedPaths2;\n if (!this.container) {\n throw new ReferenceError(\"Container is falsy\");\n }\n if (this.inList) {\n validate(this.parent, this.key, [node]);\n } else {\n validate(this.parent, this.key, node);\n }\n this.debug(`Replace with ${node == null ? void 0 : node.type}`);\n (_getCachedPaths2 = (0, _cache.getCachedPaths)(this.hub, this.parent)) == null || _getCachedPaths2.set(node, this).delete(this.node);\n this.node = this.container[this.key] = node;\n}\nfunction replaceExpressionWithStatements(nodes) {\n _context.resync.call(this);\n const declars = [];\n const nodesAsSingleExpression = gatherSequenceExpressions(nodes, declars);\n if (nodesAsSingleExpression) {\n for (const id of declars) this.scope.push({\n id\n });\n return this.replaceWith(nodesAsSingleExpression)[0].get(\"expressions\");\n }\n const functionParent = this.getFunctionParent();\n const isParentAsync = functionParent == null ? void 0 : functionParent.node.async;\n const isParentGenerator = functionParent == null ? void 0 : functionParent.node.generator;\n const container = arrowFunctionExpression([], blockStatement(nodes));\n this.replaceWith(callExpression(container, []));\n const callee = this.get(\"callee\");\n callee.get(\"body\").scope.hoistVariables(id => this.scope.push({\n id\n }));\n const completionRecords = callee.getCompletionRecords();\n for (const path of completionRecords) {\n if (!path.isExpressionStatement()) continue;\n const loop = path.findParent(path => path.isLoop());\n if (loop) {\n let uid = loop.getData(\"expressionReplacementReturnUid\");\n if (!uid) {\n uid = callee.scope.generateDeclaredUidIdentifier(\"ret\");\n callee.get(\"body\").pushContainer(\"body\", returnStatement(cloneNode(uid)));\n loop.setData(\"expressionReplacementReturnUid\", uid);\n } else {\n uid = identifier(uid.name);\n }\n path.get(\"expression\").replaceWith(assignmentExpression(\"=\", cloneNode(uid), path.node.expression));\n } else {\n path.replaceWith(returnStatement(path.node.expression));\n }\n }\n callee.arrowFunctionToExpression();\n const newCallee = callee;\n const needToAwaitFunction = isParentAsync && _index.default.hasType(this.get(\"callee.body\").node, \"AwaitExpression\", FUNCTION_TYPES);\n const needToYieldFunction = isParentGenerator && _index.default.hasType(this.get(\"callee.body\").node, \"YieldExpression\", FUNCTION_TYPES);\n if (needToAwaitFunction) {\n newCallee.set(\"async\", true);\n if (!needToYieldFunction) {\n this.replaceWith(awaitExpression(this.node));\n }\n }\n if (needToYieldFunction) {\n newCallee.set(\"generator\", true);\n this.replaceWith(yieldExpression(this.node, true));\n }\n return newCallee.get(\"body.body\");\n}\nfunction gatherSequenceExpressions(nodes, declars) {\n const exprs = [];\n let ensureLastUndefined = true;\n for (const node of nodes) {\n if (!isEmptyStatement(node)) {\n ensureLastUndefined = false;\n }\n if (isExpression(node)) {\n exprs.push(node);\n } else if (isExpressionStatement(node)) {\n exprs.push(node.expression);\n } else if (isVariableDeclaration(node)) {\n if (node.kind !== \"var\") return;\n for (const declar of node.declarations) {\n const bindings = getBindingIdentifiers(declar);\n for (const key of Object.keys(bindings)) {\n declars.push(cloneNode(bindings[key]));\n }\n if (declar.init) {\n exprs.push(assignmentExpression(\"=\", declar.id, declar.init));\n }\n }\n ensureLastUndefined = true;\n } else if (isIfStatement(node)) {\n const consequent = node.consequent ? gatherSequenceExpressions([node.consequent], declars) : buildUndefinedNode();\n const alternate = node.alternate ? gatherSequenceExpressions([node.alternate], declars) : buildUndefinedNode();\n if (!consequent || !alternate) return;\n exprs.push(conditionalExpression(node.test, consequent, alternate));\n } else if (isBlockStatement(node)) {\n const body = gatherSequenceExpressions(node.body, declars);\n if (!body) return;\n exprs.push(body);\n } else if (isEmptyStatement(node)) {\n if (nodes.indexOf(node) === 0) {\n ensureLastUndefined = true;\n }\n } else {\n return;\n }\n }\n if (ensureLastUndefined) exprs.push(buildUndefinedNode());\n if (exprs.length === 1) {\n return exprs[0];\n } else {\n return sequenceExpression(exprs);\n }\n}\nfunction replaceInline(nodes) {\n _context.resync.call(this);\n if (Array.isArray(nodes)) {\n if (Array.isArray(this.container)) {\n nodes = _modification._verifyNodeList.call(this, nodes);\n const paths = _modification._containerInsertAfter.call(this, nodes);\n this.remove();\n return paths;\n } else {\n return this.replaceWithMultiple(nodes);\n }\n } else {\n return this.replaceWith(nodes);\n }\n}\n\n//# sourceMappingURL=replacement.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/path/replacement.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/scope/binding.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/scope/binding.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nclass Binding {\n constructor({\n identifier,\n scope,\n path,\n kind\n }) {\n this.identifier = void 0;\n this.scope = void 0;\n this.path = void 0;\n this.kind = void 0;\n this.constantViolations = [];\n this.constant = true;\n this.referencePaths = [];\n this.referenced = false;\n this.references = 0;\n this.identifier = identifier;\n this.scope = scope;\n this.path = path;\n this.kind = kind;\n if ((kind === \"var\" || kind === \"hoisted\") && isDeclaredInLoop(path)) {\n this.reassign(path);\n }\n this.clearValue();\n }\n deoptValue() {\n this.clearValue();\n this.hasDeoptedValue = true;\n }\n setValue(value) {\n if (this.hasDeoptedValue) return;\n this.hasValue = true;\n this.value = value;\n }\n clearValue() {\n this.hasDeoptedValue = false;\n this.hasValue = false;\n this.value = null;\n }\n reassign(path) {\n this.constant = false;\n if (this.constantViolations.includes(path)) {\n return;\n }\n this.constantViolations.push(path);\n }\n reference(path) {\n if (this.referencePaths.includes(path)) {\n return;\n }\n this.referenced = true;\n this.references++;\n this.referencePaths.push(path);\n }\n dereference() {\n this.references--;\n this.referenced = !!this.references;\n }\n}\nexports[\"default\"] = Binding;\nfunction isDeclaredInLoop(path) {\n for (let {\n parentPath,\n key\n } = path; parentPath; ({\n parentPath,\n key\n } = parentPath)) {\n if (parentPath.isFunctionParent()) return false;\n if (parentPath.isWhile() || parentPath.isForXStatement() || parentPath.isForStatement() && key === \"body\") {\n return true;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=binding.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/scope/binding.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/scope/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/scope/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _renamer = __webpack_require__(/*! ./lib/renamer.js */ \"./node_modules/@babel/traverse/lib/scope/lib/renamer.js\");\nvar _index = __webpack_require__(/*! ../index.js */ \"./node_modules/@babel/traverse/lib/index.js\");\nvar _binding = __webpack_require__(/*! ./binding.js */ \"./node_modules/@babel/traverse/lib/scope/binding.js\");\nvar _globals = __webpack_require__(/*! globals */ \"./node_modules/globals/index.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar t = _t;\nvar _cache = __webpack_require__(/*! ../cache.js */ \"./node_modules/@babel/traverse/lib/cache.js\");\nvar _visitors = __webpack_require__(/*! ../visitors.js */ \"./node_modules/@babel/traverse/lib/visitors.js\");\nconst {\n NOT_LOCAL_BINDING,\n assignmentExpression,\n callExpression,\n cloneNode,\n getBindingIdentifiers,\n identifier,\n isArrayExpression,\n isBinary,\n isCallExpression,\n isClass,\n isClassBody,\n isClassDeclaration,\n isExportAllDeclaration,\n isExportDefaultDeclaration,\n isExportNamedDeclaration,\n isFunctionDeclaration,\n isIdentifier,\n isImportDeclaration,\n isLiteral,\n isMemberExpression,\n isMethod,\n isModuleSpecifier,\n isNullLiteral,\n isObjectExpression,\n isProperty,\n isPureish,\n isRegExpLiteral,\n isSuper,\n isTaggedTemplateExpression,\n isTemplateLiteral,\n isThisExpression,\n isUnaryExpression,\n isVariableDeclaration,\n expressionStatement,\n matchesPattern,\n memberExpression,\n numericLiteral,\n toIdentifier,\n variableDeclaration,\n variableDeclarator,\n isRecordExpression,\n isTupleExpression,\n isObjectProperty,\n isTopicReference,\n isMetaProperty,\n isPrivateName,\n isExportDeclaration,\n buildUndefinedNode,\n sequenceExpression\n} = _t;\nfunction gatherNodeParts(node, parts) {\n switch (node == null ? void 0 : node.type) {\n default:\n if (isImportDeclaration(node) || isExportDeclaration(node)) {\n var _node$specifiers;\n if ((isExportAllDeclaration(node) || isExportNamedDeclaration(node) || isImportDeclaration(node)) && node.source) {\n gatherNodeParts(node.source, parts);\n } else if ((isExportNamedDeclaration(node) || isImportDeclaration(node)) && (_node$specifiers = node.specifiers) != null && _node$specifiers.length) {\n for (const e of node.specifiers) gatherNodeParts(e, parts);\n } else if ((isExportDefaultDeclaration(node) || isExportNamedDeclaration(node)) && node.declaration) {\n gatherNodeParts(node.declaration, parts);\n }\n } else if (isModuleSpecifier(node)) {\n gatherNodeParts(node.local, parts);\n } else if (isLiteral(node) && !isNullLiteral(node) && !isRegExpLiteral(node) && !isTemplateLiteral(node)) {\n parts.push(node.value);\n }\n break;\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n case \"JSXMemberExpression\":\n gatherNodeParts(node.object, parts);\n gatherNodeParts(node.property, parts);\n break;\n case \"Identifier\":\n case \"JSXIdentifier\":\n parts.push(node.name);\n break;\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n case \"NewExpression\":\n gatherNodeParts(node.callee, parts);\n break;\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n for (const e of node.properties) {\n gatherNodeParts(e, parts);\n }\n break;\n case \"SpreadElement\":\n case \"RestElement\":\n gatherNodeParts(node.argument, parts);\n break;\n case \"ObjectProperty\":\n case \"ObjectMethod\":\n case \"ClassProperty\":\n case \"ClassMethod\":\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n gatherNodeParts(node.key, parts);\n break;\n case \"ThisExpression\":\n parts.push(\"this\");\n break;\n case \"Super\":\n parts.push(\"super\");\n break;\n case \"Import\":\n parts.push(\"import\");\n break;\n case \"DoExpression\":\n parts.push(\"do\");\n break;\n case \"YieldExpression\":\n parts.push(\"yield\");\n gatherNodeParts(node.argument, parts);\n break;\n case \"AwaitExpression\":\n parts.push(\"await\");\n gatherNodeParts(node.argument, parts);\n break;\n case \"AssignmentExpression\":\n gatherNodeParts(node.left, parts);\n break;\n case \"VariableDeclarator\":\n gatherNodeParts(node.id, parts);\n break;\n case \"FunctionExpression\":\n case \"FunctionDeclaration\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n gatherNodeParts(node.id, parts);\n break;\n case \"PrivateName\":\n gatherNodeParts(node.id, parts);\n break;\n case \"ParenthesizedExpression\":\n gatherNodeParts(node.expression, parts);\n break;\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n gatherNodeParts(node.argument, parts);\n break;\n case \"MetaProperty\":\n gatherNodeParts(node.meta, parts);\n gatherNodeParts(node.property, parts);\n break;\n case \"JSXElement\":\n gatherNodeParts(node.openingElement, parts);\n break;\n case \"JSXOpeningElement\":\n gatherNodeParts(node.name, parts);\n break;\n case \"JSXFragment\":\n gatherNodeParts(node.openingFragment, parts);\n break;\n case \"JSXOpeningFragment\":\n parts.push(\"Fragment\");\n break;\n case \"JSXNamespacedName\":\n gatherNodeParts(node.namespace, parts);\n gatherNodeParts(node.name, parts);\n break;\n }\n}\nconst collectorVisitor = {\n ForStatement(path) {\n const declar = path.get(\"init\");\n if (declar.isVar()) {\n const {\n scope\n } = path;\n const parentScope = scope.getFunctionParent() || scope.getProgramParent();\n parentScope.registerBinding(\"var\", declar);\n }\n },\n Declaration(path) {\n if (path.isBlockScoped()) return;\n if (path.isImportDeclaration()) return;\n if (path.isExportDeclaration()) return;\n const parent = path.scope.getFunctionParent() || path.scope.getProgramParent();\n parent.registerDeclaration(path);\n },\n ImportDeclaration(path) {\n const parent = path.scope.getBlockParent();\n parent.registerDeclaration(path);\n },\n ReferencedIdentifier(path, state) {\n state.references.push(path);\n },\n ForXStatement(path, state) {\n const left = path.get(\"left\");\n if (left.isPattern() || left.isIdentifier()) {\n state.constantViolations.push(path);\n } else if (left.isVar()) {\n const {\n scope\n } = path;\n const parentScope = scope.getFunctionParent() || scope.getProgramParent();\n parentScope.registerBinding(\"var\", left);\n }\n },\n ExportDeclaration: {\n exit(path) {\n const {\n node,\n scope\n } = path;\n if (isExportAllDeclaration(node)) return;\n const declar = node.declaration;\n if (isClassDeclaration(declar) || isFunctionDeclaration(declar)) {\n const id = declar.id;\n if (!id) return;\n const binding = scope.getBinding(id.name);\n binding == null || binding.reference(path);\n } else if (isVariableDeclaration(declar)) {\n for (const decl of declar.declarations) {\n for (const name of Object.keys(getBindingIdentifiers(decl))) {\n const binding = scope.getBinding(name);\n binding == null || binding.reference(path);\n }\n }\n }\n }\n },\n LabeledStatement(path) {\n path.scope.getBlockParent().registerDeclaration(path);\n },\n AssignmentExpression(path, state) {\n state.assignments.push(path);\n },\n UpdateExpression(path, state) {\n state.constantViolations.push(path);\n },\n UnaryExpression(path, state) {\n if (path.node.operator === \"delete\") {\n state.constantViolations.push(path);\n }\n },\n BlockScoped(path) {\n let scope = path.scope;\n if (scope.path === path) scope = scope.parent;\n const parent = scope.getBlockParent();\n parent.registerDeclaration(path);\n if (path.isClassDeclaration() && path.node.id) {\n const id = path.node.id;\n const name = id.name;\n path.scope.bindings[name] = path.scope.parent.getBinding(name);\n }\n },\n CatchClause(path) {\n path.scope.registerBinding(\"let\", path);\n },\n Function(path) {\n const params = path.get(\"params\");\n for (const param of params) {\n path.scope.registerBinding(\"param\", param);\n }\n if (path.isFunctionExpression() && path.node.id && !path.node.id[NOT_LOCAL_BINDING]) {\n path.scope.registerBinding(\"local\", path.get(\"id\"), path);\n }\n },\n ClassExpression(path) {\n if (path.node.id && !path.node.id[NOT_LOCAL_BINDING]) {\n path.scope.registerBinding(\"local\", path.get(\"id\"), path);\n }\n },\n TSTypeAnnotation(path) {\n path.skip();\n }\n};\nlet uid = 0;\nclass Scope {\n constructor(path) {\n this.uid = void 0;\n this.path = void 0;\n this.block = void 0;\n this.inited = void 0;\n this.labels = void 0;\n this.bindings = void 0;\n this.references = void 0;\n this.globals = void 0;\n this.uids = void 0;\n this.data = void 0;\n this.crawling = void 0;\n const {\n node\n } = path;\n const cached = _cache.scope.get(node);\n if ((cached == null ? void 0 : cached.path) === path) {\n return cached;\n }\n _cache.scope.set(node, this);\n this.uid = uid++;\n this.block = node;\n this.path = path;\n this.labels = new Map();\n this.inited = false;\n }\n get parent() {\n var _parent;\n let parent,\n path = this.path;\n do {\n var _path;\n const shouldSkip = path.key === \"key\" || path.listKey === \"decorators\";\n path = path.parentPath;\n if (shouldSkip && path.isMethod()) path = path.parentPath;\n if ((_path = path) != null && _path.isScope()) parent = path;\n } while (path && !parent);\n return (_parent = parent) == null ? void 0 : _parent.scope;\n }\n generateDeclaredUidIdentifier(name) {\n const id = this.generateUidIdentifier(name);\n this.push({\n id\n });\n return cloneNode(id);\n }\n generateUidIdentifier(name) {\n return identifier(this.generateUid(name));\n }\n generateUid(name = \"temp\") {\n name = toIdentifier(name).replace(/^_+/, \"\").replace(/\\d+$/g, \"\");\n let uid;\n let i = 1;\n do {\n uid = `_${name}`;\n if (i > 1) uid += i;\n i++;\n } while (this.hasLabel(uid) || this.hasBinding(uid) || this.hasGlobal(uid) || this.hasReference(uid));\n const program = this.getProgramParent();\n program.references[uid] = true;\n program.uids[uid] = true;\n return uid;\n }\n generateUidBasedOnNode(node, defaultName) {\n const parts = [];\n gatherNodeParts(node, parts);\n let id = parts.join(\"$\");\n id = id.replace(/^_/, \"\") || defaultName || \"ref\";\n return this.generateUid(id.slice(0, 20));\n }\n generateUidIdentifierBasedOnNode(node, defaultName) {\n return identifier(this.generateUidBasedOnNode(node, defaultName));\n }\n isStatic(node) {\n if (isThisExpression(node) || isSuper(node) || isTopicReference(node)) {\n return true;\n }\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (binding) {\n return binding.constant;\n } else {\n return this.hasBinding(node.name);\n }\n }\n return false;\n }\n maybeGenerateMemoised(node, dontPush) {\n if (this.isStatic(node)) {\n return null;\n } else {\n const id = this.generateUidIdentifierBasedOnNode(node);\n if (!dontPush) {\n this.push({\n id\n });\n return cloneNode(id);\n }\n return id;\n }\n }\n checkBlockScopedCollisions(local, kind, name, id) {\n if (kind === \"param\") return;\n if (local.kind === \"local\") return;\n const duplicate = kind === \"let\" || local.kind === \"let\" || local.kind === \"const\" || local.kind === \"module\" || local.kind === \"param\" && kind === \"const\";\n if (duplicate) {\n throw this.path.hub.buildError(id, `Duplicate declaration \"${name}\"`, TypeError);\n }\n }\n rename(oldName, newName) {\n const binding = this.getBinding(oldName);\n if (binding) {\n newName || (newName = this.generateUidIdentifier(oldName).name);\n const renamer = new _renamer.default(binding, oldName, newName);\n {\n renamer.rename(arguments[2]);\n }\n }\n }\n dump() {\n const sep = \"-\".repeat(60);\n console.log(sep);\n let scope = this;\n do {\n console.log(\"#\", scope.block.type);\n for (const name of Object.keys(scope.bindings)) {\n const binding = scope.bindings[name];\n console.log(\" -\", name, {\n constant: binding.constant,\n references: binding.references,\n violations: binding.constantViolations.length,\n kind: binding.kind\n });\n }\n } while (scope = scope.parent);\n console.log(sep);\n }\n hasLabel(name) {\n return !!this.getLabel(name);\n }\n getLabel(name) {\n return this.labels.get(name);\n }\n registerLabel(path) {\n this.labels.set(path.node.label.name, path);\n }\n registerDeclaration(path) {\n if (path.isLabeledStatement()) {\n this.registerLabel(path);\n } else if (path.isFunctionDeclaration()) {\n this.registerBinding(\"hoisted\", path.get(\"id\"), path);\n } else if (path.isVariableDeclaration()) {\n const declarations = path.get(\"declarations\");\n const {\n kind\n } = path.node;\n for (const declar of declarations) {\n this.registerBinding(kind === \"using\" || kind === \"await using\" ? \"const\" : kind, declar);\n }\n } else if (path.isClassDeclaration()) {\n if (path.node.declare) return;\n this.registerBinding(\"let\", path);\n } else if (path.isImportDeclaration()) {\n const isTypeDeclaration = path.node.importKind === \"type\" || path.node.importKind === \"typeof\";\n const specifiers = path.get(\"specifiers\");\n for (const specifier of specifiers) {\n const isTypeSpecifier = isTypeDeclaration || specifier.isImportSpecifier() && (specifier.node.importKind === \"type\" || specifier.node.importKind === \"typeof\");\n this.registerBinding(isTypeSpecifier ? \"unknown\" : \"module\", specifier);\n }\n } else if (path.isExportDeclaration()) {\n const declar = path.get(\"declaration\");\n if (declar.isClassDeclaration() || declar.isFunctionDeclaration() || declar.isVariableDeclaration()) {\n this.registerDeclaration(declar);\n }\n } else {\n this.registerBinding(\"unknown\", path);\n }\n }\n buildUndefinedNode() {\n return buildUndefinedNode();\n }\n registerConstantViolation(path) {\n const ids = path.getAssignmentIdentifiers();\n for (const name of Object.keys(ids)) {\n var _this$getBinding;\n (_this$getBinding = this.getBinding(name)) == null || _this$getBinding.reassign(path);\n }\n }\n registerBinding(kind, path, bindingPath = path) {\n if (!kind) throw new ReferenceError(\"no `kind`\");\n if (path.isVariableDeclaration()) {\n const declarators = path.get(\"declarations\");\n for (const declar of declarators) {\n this.registerBinding(kind, declar);\n }\n return;\n }\n const parent = this.getProgramParent();\n const ids = path.getOuterBindingIdentifiers(true);\n for (const name of Object.keys(ids)) {\n parent.references[name] = true;\n for (const id of ids[name]) {\n const local = this.getOwnBinding(name);\n if (local) {\n if (local.identifier === id) continue;\n this.checkBlockScopedCollisions(local, kind, name, id);\n }\n if (local) {\n local.reassign(bindingPath);\n } else {\n this.bindings[name] = new _binding.default({\n identifier: id,\n scope: this,\n path: bindingPath,\n kind: kind\n });\n }\n }\n }\n }\n addGlobal(node) {\n this.globals[node.name] = node;\n }\n hasUid(name) {\n let scope = this;\n do {\n if (scope.uids[name]) return true;\n } while (scope = scope.parent);\n return false;\n }\n hasGlobal(name) {\n let scope = this;\n do {\n if (scope.globals[name]) return true;\n } while (scope = scope.parent);\n return false;\n }\n hasReference(name) {\n return !!this.getProgramParent().references[name];\n }\n isPure(node, constantsOnly) {\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (!binding) return false;\n if (constantsOnly) return binding.constant;\n return true;\n } else if (isThisExpression(node) || isMetaProperty(node) || isTopicReference(node) || isPrivateName(node)) {\n return true;\n } else if (isClass(node)) {\n var _node$decorators;\n if (node.superClass && !this.isPure(node.superClass, constantsOnly)) {\n return false;\n }\n if (((_node$decorators = node.decorators) == null ? void 0 : _node$decorators.length) > 0) {\n return false;\n }\n return this.isPure(node.body, constantsOnly);\n } else if (isClassBody(node)) {\n for (const method of node.body) {\n if (!this.isPure(method, constantsOnly)) return false;\n }\n return true;\n } else if (isBinary(node)) {\n return this.isPure(node.left, constantsOnly) && this.isPure(node.right, constantsOnly);\n } else if (isArrayExpression(node) || isTupleExpression(node)) {\n for (const elem of node.elements) {\n if (elem !== null && !this.isPure(elem, constantsOnly)) return false;\n }\n return true;\n } else if (isObjectExpression(node) || isRecordExpression(node)) {\n for (const prop of node.properties) {\n if (!this.isPure(prop, constantsOnly)) return false;\n }\n return true;\n } else if (isMethod(node)) {\n var _node$decorators2;\n if (node.computed && !this.isPure(node.key, constantsOnly)) return false;\n if (((_node$decorators2 = node.decorators) == null ? void 0 : _node$decorators2.length) > 0) {\n return false;\n }\n return true;\n } else if (isProperty(node)) {\n var _node$decorators3;\n if (node.computed && !this.isPure(node.key, constantsOnly)) return false;\n if (((_node$decorators3 = node.decorators) == null ? void 0 : _node$decorators3.length) > 0) {\n return false;\n }\n if (isObjectProperty(node) || node.static) {\n if (node.value !== null && !this.isPure(node.value, constantsOnly)) {\n return false;\n }\n }\n return true;\n } else if (isUnaryExpression(node)) {\n return this.isPure(node.argument, constantsOnly);\n } else if (isTemplateLiteral(node)) {\n for (const expression of node.expressions) {\n if (!this.isPure(expression, constantsOnly)) return false;\n }\n return true;\n } else if (isTaggedTemplateExpression(node)) {\n return matchesPattern(node.tag, \"String.raw\") && !this.hasBinding(\"String\", {\n noGlobals: true\n }) && this.isPure(node.quasi, constantsOnly);\n } else if (isMemberExpression(node)) {\n return !node.computed && isIdentifier(node.object) && node.object.name === \"Symbol\" && isIdentifier(node.property) && node.property.name !== \"for\" && !this.hasBinding(\"Symbol\", {\n noGlobals: true\n });\n } else if (isCallExpression(node)) {\n return matchesPattern(node.callee, \"Symbol.for\") && !this.hasBinding(\"Symbol\", {\n noGlobals: true\n }) && node.arguments.length === 1 && t.isStringLiteral(node.arguments[0]);\n } else {\n return isPureish(node);\n }\n }\n setData(key, val) {\n return this.data[key] = val;\n }\n getData(key) {\n let scope = this;\n do {\n const data = scope.data[key];\n if (data != null) return data;\n } while (scope = scope.parent);\n }\n removeData(key) {\n let scope = this;\n do {\n const data = scope.data[key];\n if (data != null) scope.data[key] = null;\n } while (scope = scope.parent);\n }\n init() {\n if (!this.inited) {\n this.inited = true;\n this.crawl();\n }\n }\n crawl() {\n const path = this.path;\n this.references = Object.create(null);\n this.bindings = Object.create(null);\n this.globals = Object.create(null);\n this.uids = Object.create(null);\n this.data = Object.create(null);\n const programParent = this.getProgramParent();\n if (programParent.crawling) return;\n const state = {\n references: [],\n constantViolations: [],\n assignments: []\n };\n this.crawling = true;\n if (path.type !== \"Program\" && (0, _visitors.isExplodedVisitor)(collectorVisitor)) {\n for (const visit of collectorVisitor.enter) {\n visit.call(state, path, state);\n }\n const typeVisitors = collectorVisitor[path.type];\n if (typeVisitors) {\n for (const visit of typeVisitors.enter) {\n visit.call(state, path, state);\n }\n }\n }\n path.traverse(collectorVisitor, state);\n this.crawling = false;\n for (const path of state.assignments) {\n const ids = path.getAssignmentIdentifiers();\n for (const name of Object.keys(ids)) {\n if (path.scope.getBinding(name)) continue;\n programParent.addGlobal(ids[name]);\n }\n path.scope.registerConstantViolation(path);\n }\n for (const ref of state.references) {\n const binding = ref.scope.getBinding(ref.node.name);\n if (binding) {\n binding.reference(ref);\n } else {\n programParent.addGlobal(ref.node);\n }\n }\n for (const path of state.constantViolations) {\n path.scope.registerConstantViolation(path);\n }\n }\n push(opts) {\n let path = this.path;\n if (path.isPattern()) {\n path = this.getPatternParent().path;\n } else if (!path.isBlockStatement() && !path.isProgram()) {\n path = this.getBlockParent().path;\n }\n if (path.isSwitchStatement()) {\n path = (this.getFunctionParent() || this.getProgramParent()).path;\n }\n const {\n init,\n unique,\n kind = \"var\",\n id\n } = opts;\n if (!init && !unique && (kind === \"var\" || kind === \"let\") && path.isFunction() && !path.node.name && isCallExpression(path.parent, {\n callee: path.node\n }) && path.parent.arguments.length <= path.node.params.length && isIdentifier(id)) {\n path.pushContainer(\"params\", id);\n path.scope.registerBinding(\"param\", path.get(\"params\")[path.node.params.length - 1]);\n return;\n }\n if (path.isLoop() || path.isCatchClause() || path.isFunction()) {\n path.ensureBlock();\n path = path.get(\"body\");\n }\n const blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist;\n const dataKey = `declaration:${kind}:${blockHoist}`;\n let declarPath = !unique && path.getData(dataKey);\n if (!declarPath) {\n const declar = variableDeclaration(kind, []);\n declar._blockHoist = blockHoist;\n [declarPath] = path.unshiftContainer(\"body\", [declar]);\n if (!unique) path.setData(dataKey, declarPath);\n }\n const declarator = variableDeclarator(id, init);\n const len = declarPath.node.declarations.push(declarator);\n path.scope.registerBinding(kind, declarPath.get(\"declarations\")[len - 1]);\n }\n getProgramParent() {\n let scope = this;\n do {\n if (scope.path.isProgram()) {\n return scope;\n }\n } while (scope = scope.parent);\n throw new Error(\"Couldn't find a Program\");\n }\n getFunctionParent() {\n let scope = this;\n do {\n if (scope.path.isFunctionParent()) {\n return scope;\n }\n } while (scope = scope.parent);\n return null;\n }\n getBlockParent() {\n let scope = this;\n do {\n if (scope.path.isBlockParent()) {\n return scope;\n }\n } while (scope = scope.parent);\n throw new Error(\"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\");\n }\n getPatternParent() {\n let scope = this;\n do {\n if (!scope.path.isPattern()) {\n return scope.getBlockParent();\n }\n } while (scope = scope.parent.parent);\n throw new Error(\"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\");\n }\n getAllBindings() {\n const ids = Object.create(null);\n let scope = this;\n do {\n for (const key of Object.keys(scope.bindings)) {\n if (key in ids === false) {\n ids[key] = scope.bindings[key];\n }\n }\n scope = scope.parent;\n } while (scope);\n return ids;\n }\n bindingIdentifierEquals(name, node) {\n return this.getBindingIdentifier(name) === node;\n }\n getBinding(name) {\n let scope = this;\n let previousPath;\n do {\n const binding = scope.getOwnBinding(name);\n if (binding) {\n var _previousPath;\n if ((_previousPath = previousPath) != null && _previousPath.isPattern() && binding.kind !== \"param\" && binding.kind !== \"local\") {} else {\n return binding;\n }\n } else if (!binding && name === \"arguments\" && scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) {\n break;\n }\n previousPath = scope.path;\n } while (scope = scope.parent);\n }\n getOwnBinding(name) {\n return this.bindings[name];\n }\n getBindingIdentifier(name) {\n var _this$getBinding2;\n return (_this$getBinding2 = this.getBinding(name)) == null ? void 0 : _this$getBinding2.identifier;\n }\n getOwnBindingIdentifier(name) {\n const binding = this.bindings[name];\n return binding == null ? void 0 : binding.identifier;\n }\n hasOwnBinding(name) {\n return !!this.getOwnBinding(name);\n }\n hasBinding(name, opts) {\n if (!name) return false;\n let scope = this;\n do {\n if (scope.hasOwnBinding(name)) {\n return true;\n }\n } while (scope = scope.parent);\n let noGlobals;\n let noUids;\n if (typeof opts === \"object\") {\n noGlobals = opts.noGlobals;\n noUids = opts.noUids;\n } else if (typeof opts === \"boolean\") {\n noGlobals = opts;\n }\n if (!noUids && this.hasUid(name)) return true;\n if (!noGlobals && Scope.globals.includes(name)) return true;\n if (!noGlobals && Scope.contextVariables.includes(name)) return true;\n return false;\n }\n parentHasBinding(name, opts) {\n var _this$parent;\n return (_this$parent = this.parent) == null ? void 0 : _this$parent.hasBinding(name, opts);\n }\n moveBindingTo(name, scope) {\n const info = this.getBinding(name);\n if (info) {\n info.scope.removeOwnBinding(name);\n info.scope = scope;\n scope.bindings[name] = info;\n }\n }\n removeOwnBinding(name) {\n delete this.bindings[name];\n }\n removeBinding(name) {\n var _this$getBinding3;\n (_this$getBinding3 = this.getBinding(name)) == null || _this$getBinding3.scope.removeOwnBinding(name);\n let scope = this;\n do {\n if (scope.uids[name]) {\n scope.uids[name] = false;\n }\n } while (scope = scope.parent);\n }\n hoistVariables(emit = id => this.push({\n id\n })) {\n this.crawl();\n const seen = new Set();\n for (const name of Object.keys(this.bindings)) {\n const binding = this.bindings[name];\n if (!binding) continue;\n const {\n path\n } = binding;\n if (!path.isVariableDeclarator()) continue;\n const {\n parent,\n parentPath\n } = path;\n if (parent.kind !== \"var\" || seen.has(parent)) continue;\n seen.add(path.parent);\n let firstId;\n const init = [];\n for (const decl of parent.declarations) {\n var _firstId;\n (_firstId = firstId) != null ? _firstId : firstId = decl.id;\n if (decl.init) {\n init.push(assignmentExpression(\"=\", decl.id, decl.init));\n }\n const ids = Object.keys(getBindingIdentifiers(decl, false, true, true));\n for (const name of ids) {\n emit(identifier(name), decl.init != null);\n }\n }\n if (parentPath.parentPath.isFor({\n left: parent\n })) {\n parentPath.replaceWith(firstId);\n } else if (init.length === 0) {\n parentPath.remove();\n } else {\n const expr = init.length === 1 ? init[0] : sequenceExpression(init);\n if (parentPath.parentPath.isForStatement({\n init: parent\n })) {\n parentPath.replaceWith(expr);\n } else {\n parentPath.replaceWith(expressionStatement(expr));\n }\n }\n }\n }\n}\nexports[\"default\"] = Scope;\nScope.globals = Object.keys(_globals.builtin);\nScope.contextVariables = [\"arguments\", \"undefined\", \"Infinity\", \"NaN\"];\n{\n Scope.prototype._renameFromMap = function _renameFromMap(map, oldName, newName, value) {\n if (map[oldName]) {\n map[newName] = value;\n map[oldName] = null;\n }\n };\n Scope.prototype.traverse = function (node, opts, state) {\n (0, _index.default)(node, opts, this, state, this.path);\n };\n Scope.prototype._generateUid = function _generateUid(name, i) {\n let id = name;\n if (i > 1) id += i;\n return `_${id}`;\n };\n Scope.prototype.toArray = function toArray(node, i, arrayLikeIsIterable) {\n if (isIdentifier(node)) {\n const binding = this.getBinding(node.name);\n if (binding != null && binding.constant && binding.path.isGenericType(\"Array\")) {\n return node;\n }\n }\n if (isArrayExpression(node)) {\n return node;\n }\n if (isIdentifier(node, {\n name: \"arguments\"\n })) {\n return callExpression(memberExpression(memberExpression(memberExpression(identifier(\"Array\"), identifier(\"prototype\")), identifier(\"slice\")), identifier(\"call\")), [node]);\n }\n let helperName;\n const args = [node];\n if (i === true) {\n helperName = \"toConsumableArray\";\n } else if (typeof i === \"number\") {\n args.push(numericLiteral(i));\n helperName = \"slicedToArray\";\n } else {\n helperName = \"toArray\";\n }\n if (arrayLikeIsIterable) {\n args.unshift(this.path.hub.addHelper(helperName));\n helperName = \"maybeArrayLike\";\n }\n return callExpression(this.path.hub.addHelper(helperName), args);\n };\n Scope.prototype.getAllBindingsOfKind = function getAllBindingsOfKind(...kinds) {\n const ids = Object.create(null);\n for (const kind of kinds) {\n let scope = this;\n do {\n for (const name of Object.keys(scope.bindings)) {\n const binding = scope.bindings[name];\n if (binding.kind === kind) ids[name] = binding;\n }\n scope = scope.parent;\n } while (scope);\n }\n return ids;\n };\n Object.defineProperties(Scope.prototype, {\n parentBlock: {\n configurable: true,\n enumerable: true,\n get() {\n return this.path.parent;\n }\n },\n hub: {\n configurable: true,\n enumerable: true,\n get() {\n return this.path.hub;\n }\n }\n });\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/scope/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/scope/lib/renamer.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/scope/lib/renamer.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _t = t;\nvar _traverseNode = __webpack_require__(/*! ../../traverse-node.js */ \"./node_modules/@babel/traverse/lib/traverse-node.js\");\nvar _visitors = __webpack_require__(/*! ../../visitors.js */ \"./node_modules/@babel/traverse/lib/visitors.js\");\nvar _context = __webpack_require__(/*! ../../path/context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nconst {\n getAssignmentIdentifiers\n} = _t;\nconst renameVisitor = {\n ReferencedIdentifier({\n node\n }, state) {\n if (node.name === state.oldName) {\n node.name = state.newName;\n }\n },\n Scope(path, state) {\n if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) {\n path.skip();\n if (path.isMethod()) {\n if (!path.requeueComputedKeyAndDecorators) {\n _context.requeueComputedKeyAndDecorators.call(path);\n } else {\n path.requeueComputedKeyAndDecorators();\n }\n }\n }\n },\n ObjectProperty({\n node,\n scope\n }, state) {\n const {\n name\n } = node.key;\n if (node.shorthand && (name === state.oldName || name === state.newName) && scope.getBindingIdentifier(name) === state.binding.identifier) {\n node.shorthand = false;\n {\n var _node$extra;\n if ((_node$extra = node.extra) != null && _node$extra.shorthand) node.extra.shorthand = false;\n }\n }\n },\n \"AssignmentExpression|Declaration|VariableDeclarator\"(path, state) {\n if (path.isVariableDeclaration()) return;\n const ids = path.isAssignmentExpression() ? getAssignmentIdentifiers(path.node) : path.getOuterBindingIdentifiers();\n for (const name in ids) {\n if (name === state.oldName) ids[name].name = state.newName;\n }\n }\n};\nclass Renamer {\n constructor(binding, oldName, newName) {\n this.newName = newName;\n this.oldName = oldName;\n this.binding = binding;\n }\n maybeConvertFromExportDeclaration(parentDeclar) {\n const maybeExportDeclar = parentDeclar.parentPath;\n if (!maybeExportDeclar.isExportDeclaration()) {\n return;\n }\n if (maybeExportDeclar.isExportDefaultDeclaration()) {\n const {\n declaration\n } = maybeExportDeclar.node;\n if (t.isDeclaration(declaration) && !declaration.id) {\n return;\n }\n }\n if (maybeExportDeclar.isExportAllDeclaration()) {\n return;\n }\n maybeExportDeclar.splitExportDeclaration();\n }\n maybeConvertFromClassFunctionDeclaration(path) {\n return path;\n }\n maybeConvertFromClassFunctionExpression(path) {\n return path;\n }\n rename() {\n const {\n binding,\n oldName,\n newName\n } = this;\n const {\n scope,\n path\n } = binding;\n const parentDeclar = path.find(path => path.isDeclaration() || path.isFunctionExpression() || path.isClassExpression());\n if (parentDeclar) {\n const bindingIds = parentDeclar.getOuterBindingIdentifiers();\n if (bindingIds[oldName] === binding.identifier) {\n this.maybeConvertFromExportDeclaration(parentDeclar);\n }\n }\n const blockToTraverse = arguments[0] || scope.block;\n const skipKeys = {\n discriminant: true\n };\n if (t.isMethod(blockToTraverse)) {\n if (blockToTraverse.computed) {\n skipKeys.key = true;\n }\n if (!t.isObjectMethod(blockToTraverse)) {\n skipKeys.decorators = true;\n }\n }\n (0, _traverseNode.traverseNode)(blockToTraverse, (0, _visitors.explode)(renameVisitor), scope, this, scope.path, skipKeys);\n if (!arguments[0]) {\n scope.removeOwnBinding(oldName);\n scope.bindings[newName] = binding;\n this.binding.identifier.name = newName;\n }\n if (parentDeclar) {\n this.maybeConvertFromClassFunctionDeclaration(path);\n this.maybeConvertFromClassFunctionExpression(path);\n }\n }\n}\nexports[\"default\"] = Renamer;\n\n//# sourceMappingURL=renamer.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/scope/lib/renamer.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/traverse-node.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/traverse-node.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.traverseNode = traverseNode;\nvar _context = __webpack_require__(/*! ./context.js */ \"./node_modules/@babel/traverse/lib/context.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nconst {\n VISITOR_KEYS\n} = _t;\nfunction traverseNode(node, opts, scope, state, path, skipKeys, visitSelf) {\n const keys = VISITOR_KEYS[node.type];\n if (!keys) return false;\n const context = new _context.default(scope, opts, state, path);\n if (visitSelf) {\n if (skipKeys != null && skipKeys[path.parentKey]) return false;\n return context.visitQueue([path]);\n }\n for (const key of keys) {\n if (skipKeys != null && skipKeys[key]) continue;\n if (context.visit(node, key)) {\n return true;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=traverse-node.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/traverse-node.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/traverse/lib/visitors.js": +/*!******************************************************!*\ + !*** ./node_modules/@babel/traverse/lib/visitors.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.environmentVisitor = environmentVisitor;\nexports.explode = explode$1;\nexports.isExplodedVisitor = isExplodedVisitor;\nexports.merge = merge;\nexports.verify = verify$1;\nvar virtualTypes = __webpack_require__(/*! ./path/lib/virtual-types.js */ \"./node_modules/@babel/traverse/lib/path/lib/virtual-types.js\");\nvar virtualTypesValidators = __webpack_require__(/*! ./path/lib/virtual-types-validator.js */ \"./node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js\");\nvar _t = __webpack_require__(/*! @babel/types */ \"./node_modules/@babel/types/lib/index.js\");\nvar _context = __webpack_require__(/*! ./path/context.js */ \"./node_modules/@babel/traverse/lib/path/context.js\");\nconst {\n DEPRECATED_KEYS,\n DEPRECATED_ALIASES,\n FLIPPED_ALIAS_KEYS,\n TYPES,\n __internal__deprecationWarning: deprecationWarning\n} = _t;\nfunction isVirtualType(type) {\n return type in virtualTypes;\n}\nfunction isExplodedVisitor(visitor) {\n return visitor == null ? void 0 : visitor._exploded;\n}\nfunction explode$1(visitor) {\n if (isExplodedVisitor(visitor)) return visitor;\n visitor._exploded = true;\n for (const nodeType of Object.keys(visitor)) {\n if (shouldIgnoreKey(nodeType)) continue;\n const parts = nodeType.split(\"|\");\n if (parts.length === 1) continue;\n const fns = visitor[nodeType];\n delete visitor[nodeType];\n for (const part of parts) {\n visitor[part] = fns;\n }\n }\n verify$1(visitor);\n delete visitor.__esModule;\n ensureEntranceObjects(visitor);\n ensureCallbackArrays(visitor);\n for (const nodeType of Object.keys(visitor)) {\n if (shouldIgnoreKey(nodeType)) continue;\n if (!isVirtualType(nodeType)) continue;\n const fns = visitor[nodeType];\n for (const type of Object.keys(fns)) {\n fns[type] = wrapCheck(nodeType, fns[type]);\n }\n delete visitor[nodeType];\n const types = virtualTypes[nodeType];\n if (types !== null) {\n for (const type of types) {\n if (visitor[type]) {\n mergePair(visitor[type], fns);\n } else {\n visitor[type] = fns;\n }\n }\n } else {\n mergePair(visitor, fns);\n }\n }\n for (const nodeType of Object.keys(visitor)) {\n if (shouldIgnoreKey(nodeType)) continue;\n let aliases = FLIPPED_ALIAS_KEYS[nodeType];\n if (nodeType in DEPRECATED_KEYS) {\n const deprecatedKey = DEPRECATED_KEYS[nodeType];\n deprecationWarning(nodeType, deprecatedKey, \"Visitor \");\n aliases = [deprecatedKey];\n } else if (nodeType in DEPRECATED_ALIASES) {\n const deprecatedAlias = DEPRECATED_ALIASES[nodeType];\n deprecationWarning(nodeType, deprecatedAlias, \"Visitor \");\n aliases = FLIPPED_ALIAS_KEYS[deprecatedAlias];\n }\n if (!aliases) continue;\n const fns = visitor[nodeType];\n delete visitor[nodeType];\n for (const alias of aliases) {\n const existing = visitor[alias];\n if (existing) {\n mergePair(existing, fns);\n } else {\n visitor[alias] = Object.assign({}, fns);\n }\n }\n }\n for (const nodeType of Object.keys(visitor)) {\n if (shouldIgnoreKey(nodeType)) continue;\n ensureCallbackArrays(visitor[nodeType]);\n }\n return visitor;\n}\nfunction verify$1(visitor) {\n if (visitor._verified) return;\n if (typeof visitor === \"function\") {\n throw new Error(\"You passed `traverse()` a function when it expected a visitor object, \" + \"are you sure you didn't mean `{ enter: Function }`?\");\n }\n for (const nodeType of Object.keys(visitor)) {\n if (nodeType === \"enter\" || nodeType === \"exit\") {\n validateVisitorMethods(nodeType, visitor[nodeType]);\n }\n if (shouldIgnoreKey(nodeType)) continue;\n if (!TYPES.includes(nodeType)) {\n throw new Error(`You gave us a visitor for the node type ${nodeType} but it's not a valid type in @babel/traverse ${\"7.25.9\"}`);\n }\n const visitors = visitor[nodeType];\n if (typeof visitors === \"object\") {\n for (const visitorKey of Object.keys(visitors)) {\n if (visitorKey === \"enter\" || visitorKey === \"exit\") {\n validateVisitorMethods(`${nodeType}.${visitorKey}`, visitors[visitorKey]);\n } else {\n throw new Error(\"You passed `traverse()` a visitor object with the property \" + `${nodeType} that has the invalid property ${visitorKey}`);\n }\n }\n }\n }\n visitor._verified = true;\n}\nfunction validateVisitorMethods(path, val) {\n const fns = [].concat(val);\n for (const fn of fns) {\n if (typeof fn !== \"function\") {\n throw new TypeError(`Non-function found defined in ${path} with type ${typeof fn}`);\n }\n }\n}\nfunction merge(visitors, states = [], wrapper) {\n const mergedVisitor = {\n _verified: true,\n _exploded: true\n };\n {\n Object.defineProperty(mergedVisitor, \"_exploded\", {\n enumerable: false\n });\n Object.defineProperty(mergedVisitor, \"_verified\", {\n enumerable: false\n });\n }\n for (let i = 0; i < visitors.length; i++) {\n const visitor = explode$1(visitors[i]);\n const state = states[i];\n let topVisitor = visitor;\n if (state || wrapper) {\n topVisitor = wrapWithStateOrWrapper(topVisitor, state, wrapper);\n }\n mergePair(mergedVisitor, topVisitor);\n for (const key of Object.keys(visitor)) {\n if (shouldIgnoreKey(key)) continue;\n let typeVisitor = visitor[key];\n if (state || wrapper) {\n typeVisitor = wrapWithStateOrWrapper(typeVisitor, state, wrapper);\n }\n const nodeVisitor = mergedVisitor[key] || (mergedVisitor[key] = {});\n mergePair(nodeVisitor, typeVisitor);\n }\n }\n return mergedVisitor;\n}\nfunction wrapWithStateOrWrapper(oldVisitor, state, wrapper) {\n const newVisitor = {};\n for (const phase of [\"enter\", \"exit\"]) {\n let fns = oldVisitor[phase];\n if (!Array.isArray(fns)) continue;\n fns = fns.map(function (fn) {\n let newFn = fn;\n if (state) {\n newFn = function (path) {\n fn.call(state, path, state);\n };\n }\n if (wrapper) {\n newFn = wrapper(state == null ? void 0 : state.key, phase, newFn);\n }\n if (newFn !== fn) {\n newFn.toString = () => fn.toString();\n }\n return newFn;\n });\n newVisitor[phase] = fns;\n }\n return newVisitor;\n}\nfunction ensureEntranceObjects(obj) {\n for (const key of Object.keys(obj)) {\n if (shouldIgnoreKey(key)) continue;\n const fns = obj[key];\n if (typeof fns === \"function\") {\n obj[key] = {\n enter: fns\n };\n }\n }\n}\nfunction ensureCallbackArrays(obj) {\n if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter];\n if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit];\n}\nfunction wrapCheck(nodeType, fn) {\n const fnKey = `is${nodeType}`;\n const validator = virtualTypesValidators[fnKey];\n const newFn = function (path) {\n if (validator.call(path)) {\n return fn.apply(this, arguments);\n }\n };\n newFn.toString = () => fn.toString();\n return newFn;\n}\nfunction shouldIgnoreKey(key) {\n if (key[0] === \"_\") return true;\n if (key === \"enter\" || key === \"exit\" || key === \"shouldSkip\") return true;\n if (key === \"denylist\" || key === \"noScope\" || key === \"skipKeys\") {\n return true;\n }\n {\n if (key === \"blacklist\") {\n return true;\n }\n }\n return false;\n}\nfunction mergePair(dest, src) {\n for (const phase of [\"enter\", \"exit\"]) {\n if (!src[phase]) continue;\n dest[phase] = [].concat(dest[phase] || [], src[phase]);\n }\n}\nconst _environmentVisitor = {\n FunctionParent(path) {\n if (path.isArrowFunctionExpression()) return;\n path.skip();\n if (path.isMethod()) {\n if (!path.requeueComputedKeyAndDecorators) {\n _context.requeueComputedKeyAndDecorators.call(path);\n } else {\n path.requeueComputedKeyAndDecorators();\n }\n }\n },\n Property(path) {\n if (path.isObjectProperty()) return;\n path.skip();\n if (!path.requeueComputedKeyAndDecorators) {\n _context.requeueComputedKeyAndDecorators.call(path);\n } else {\n path.requeueComputedKeyAndDecorators();\n }\n }\n};\nfunction environmentVisitor(visitor) {\n return merge([_environmentVisitor, visitor]);\n}\n\n//# sourceMappingURL=visitors.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/traverse/lib/visitors.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/asserts/assertNode.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/types/lib/asserts/assertNode.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = assertNode;\nvar _isNode = __webpack_require__(/*! ../validators/isNode.js */ \"./node_modules/@babel/types/lib/validators/isNode.js\");\nfunction assertNode(node) {\n if (!(0, _isNode.default)(node)) {\n var _node$type;\n const type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node);\n throw new TypeError(`Not a valid node of type \"${type}\"`);\n }\n}\n\n//# sourceMappingURL=assertNode.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/asserts/assertNode.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/asserts/generated/index.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/asserts/generated/index.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.assertAccessor = assertAccessor;\nexports.assertAnyTypeAnnotation = assertAnyTypeAnnotation;\nexports.assertArgumentPlaceholder = assertArgumentPlaceholder;\nexports.assertArrayExpression = assertArrayExpression;\nexports.assertArrayPattern = assertArrayPattern;\nexports.assertArrayTypeAnnotation = assertArrayTypeAnnotation;\nexports.assertArrowFunctionExpression = assertArrowFunctionExpression;\nexports.assertAssignmentExpression = assertAssignmentExpression;\nexports.assertAssignmentPattern = assertAssignmentPattern;\nexports.assertAwaitExpression = assertAwaitExpression;\nexports.assertBigIntLiteral = assertBigIntLiteral;\nexports.assertBinary = assertBinary;\nexports.assertBinaryExpression = assertBinaryExpression;\nexports.assertBindExpression = assertBindExpression;\nexports.assertBlock = assertBlock;\nexports.assertBlockParent = assertBlockParent;\nexports.assertBlockStatement = assertBlockStatement;\nexports.assertBooleanLiteral = assertBooleanLiteral;\nexports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation;\nexports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation;\nexports.assertBreakStatement = assertBreakStatement;\nexports.assertCallExpression = assertCallExpression;\nexports.assertCatchClause = assertCatchClause;\nexports.assertClass = assertClass;\nexports.assertClassAccessorProperty = assertClassAccessorProperty;\nexports.assertClassBody = assertClassBody;\nexports.assertClassDeclaration = assertClassDeclaration;\nexports.assertClassExpression = assertClassExpression;\nexports.assertClassImplements = assertClassImplements;\nexports.assertClassMethod = assertClassMethod;\nexports.assertClassPrivateMethod = assertClassPrivateMethod;\nexports.assertClassPrivateProperty = assertClassPrivateProperty;\nexports.assertClassProperty = assertClassProperty;\nexports.assertCompletionStatement = assertCompletionStatement;\nexports.assertConditional = assertConditional;\nexports.assertConditionalExpression = assertConditionalExpression;\nexports.assertContinueStatement = assertContinueStatement;\nexports.assertDebuggerStatement = assertDebuggerStatement;\nexports.assertDecimalLiteral = assertDecimalLiteral;\nexports.assertDeclaration = assertDeclaration;\nexports.assertDeclareClass = assertDeclareClass;\nexports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration;\nexports.assertDeclareExportDeclaration = assertDeclareExportDeclaration;\nexports.assertDeclareFunction = assertDeclareFunction;\nexports.assertDeclareInterface = assertDeclareInterface;\nexports.assertDeclareModule = assertDeclareModule;\nexports.assertDeclareModuleExports = assertDeclareModuleExports;\nexports.assertDeclareOpaqueType = assertDeclareOpaqueType;\nexports.assertDeclareTypeAlias = assertDeclareTypeAlias;\nexports.assertDeclareVariable = assertDeclareVariable;\nexports.assertDeclaredPredicate = assertDeclaredPredicate;\nexports.assertDecorator = assertDecorator;\nexports.assertDirective = assertDirective;\nexports.assertDirectiveLiteral = assertDirectiveLiteral;\nexports.assertDoExpression = assertDoExpression;\nexports.assertDoWhileStatement = assertDoWhileStatement;\nexports.assertEmptyStatement = assertEmptyStatement;\nexports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation;\nexports.assertEnumBody = assertEnumBody;\nexports.assertEnumBooleanBody = assertEnumBooleanBody;\nexports.assertEnumBooleanMember = assertEnumBooleanMember;\nexports.assertEnumDeclaration = assertEnumDeclaration;\nexports.assertEnumDefaultedMember = assertEnumDefaultedMember;\nexports.assertEnumMember = assertEnumMember;\nexports.assertEnumNumberBody = assertEnumNumberBody;\nexports.assertEnumNumberMember = assertEnumNumberMember;\nexports.assertEnumStringBody = assertEnumStringBody;\nexports.assertEnumStringMember = assertEnumStringMember;\nexports.assertEnumSymbolBody = assertEnumSymbolBody;\nexports.assertExistsTypeAnnotation = assertExistsTypeAnnotation;\nexports.assertExportAllDeclaration = assertExportAllDeclaration;\nexports.assertExportDeclaration = assertExportDeclaration;\nexports.assertExportDefaultDeclaration = assertExportDefaultDeclaration;\nexports.assertExportDefaultSpecifier = assertExportDefaultSpecifier;\nexports.assertExportNamedDeclaration = assertExportNamedDeclaration;\nexports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier;\nexports.assertExportSpecifier = assertExportSpecifier;\nexports.assertExpression = assertExpression;\nexports.assertExpressionStatement = assertExpressionStatement;\nexports.assertExpressionWrapper = assertExpressionWrapper;\nexports.assertFile = assertFile;\nexports.assertFlow = assertFlow;\nexports.assertFlowBaseAnnotation = assertFlowBaseAnnotation;\nexports.assertFlowDeclaration = assertFlowDeclaration;\nexports.assertFlowPredicate = assertFlowPredicate;\nexports.assertFlowType = assertFlowType;\nexports.assertFor = assertFor;\nexports.assertForInStatement = assertForInStatement;\nexports.assertForOfStatement = assertForOfStatement;\nexports.assertForStatement = assertForStatement;\nexports.assertForXStatement = assertForXStatement;\nexports.assertFunction = assertFunction;\nexports.assertFunctionDeclaration = assertFunctionDeclaration;\nexports.assertFunctionExpression = assertFunctionExpression;\nexports.assertFunctionParent = assertFunctionParent;\nexports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation;\nexports.assertFunctionTypeParam = assertFunctionTypeParam;\nexports.assertGenericTypeAnnotation = assertGenericTypeAnnotation;\nexports.assertIdentifier = assertIdentifier;\nexports.assertIfStatement = assertIfStatement;\nexports.assertImmutable = assertImmutable;\nexports.assertImport = assertImport;\nexports.assertImportAttribute = assertImportAttribute;\nexports.assertImportDeclaration = assertImportDeclaration;\nexports.assertImportDefaultSpecifier = assertImportDefaultSpecifier;\nexports.assertImportExpression = assertImportExpression;\nexports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier;\nexports.assertImportOrExportDeclaration = assertImportOrExportDeclaration;\nexports.assertImportSpecifier = assertImportSpecifier;\nexports.assertIndexedAccessType = assertIndexedAccessType;\nexports.assertInferredPredicate = assertInferredPredicate;\nexports.assertInterfaceDeclaration = assertInterfaceDeclaration;\nexports.assertInterfaceExtends = assertInterfaceExtends;\nexports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation;\nexports.assertInterpreterDirective = assertInterpreterDirective;\nexports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation;\nexports.assertJSX = assertJSX;\nexports.assertJSXAttribute = assertJSXAttribute;\nexports.assertJSXClosingElement = assertJSXClosingElement;\nexports.assertJSXClosingFragment = assertJSXClosingFragment;\nexports.assertJSXElement = assertJSXElement;\nexports.assertJSXEmptyExpression = assertJSXEmptyExpression;\nexports.assertJSXExpressionContainer = assertJSXExpressionContainer;\nexports.assertJSXFragment = assertJSXFragment;\nexports.assertJSXIdentifier = assertJSXIdentifier;\nexports.assertJSXMemberExpression = assertJSXMemberExpression;\nexports.assertJSXNamespacedName = assertJSXNamespacedName;\nexports.assertJSXOpeningElement = assertJSXOpeningElement;\nexports.assertJSXOpeningFragment = assertJSXOpeningFragment;\nexports.assertJSXSpreadAttribute = assertJSXSpreadAttribute;\nexports.assertJSXSpreadChild = assertJSXSpreadChild;\nexports.assertJSXText = assertJSXText;\nexports.assertLVal = assertLVal;\nexports.assertLabeledStatement = assertLabeledStatement;\nexports.assertLiteral = assertLiteral;\nexports.assertLogicalExpression = assertLogicalExpression;\nexports.assertLoop = assertLoop;\nexports.assertMemberExpression = assertMemberExpression;\nexports.assertMetaProperty = assertMetaProperty;\nexports.assertMethod = assertMethod;\nexports.assertMiscellaneous = assertMiscellaneous;\nexports.assertMixedTypeAnnotation = assertMixedTypeAnnotation;\nexports.assertModuleDeclaration = assertModuleDeclaration;\nexports.assertModuleExpression = assertModuleExpression;\nexports.assertModuleSpecifier = assertModuleSpecifier;\nexports.assertNewExpression = assertNewExpression;\nexports.assertNoop = assertNoop;\nexports.assertNullLiteral = assertNullLiteral;\nexports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation;\nexports.assertNullableTypeAnnotation = assertNullableTypeAnnotation;\nexports.assertNumberLiteral = assertNumberLiteral;\nexports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation;\nexports.assertNumberTypeAnnotation = assertNumberTypeAnnotation;\nexports.assertNumericLiteral = assertNumericLiteral;\nexports.assertObjectExpression = assertObjectExpression;\nexports.assertObjectMember = assertObjectMember;\nexports.assertObjectMethod = assertObjectMethod;\nexports.assertObjectPattern = assertObjectPattern;\nexports.assertObjectProperty = assertObjectProperty;\nexports.assertObjectTypeAnnotation = assertObjectTypeAnnotation;\nexports.assertObjectTypeCallProperty = assertObjectTypeCallProperty;\nexports.assertObjectTypeIndexer = assertObjectTypeIndexer;\nexports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot;\nexports.assertObjectTypeProperty = assertObjectTypeProperty;\nexports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty;\nexports.assertOpaqueType = assertOpaqueType;\nexports.assertOptionalCallExpression = assertOptionalCallExpression;\nexports.assertOptionalIndexedAccessType = assertOptionalIndexedAccessType;\nexports.assertOptionalMemberExpression = assertOptionalMemberExpression;\nexports.assertParenthesizedExpression = assertParenthesizedExpression;\nexports.assertPattern = assertPattern;\nexports.assertPatternLike = assertPatternLike;\nexports.assertPipelineBareFunction = assertPipelineBareFunction;\nexports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference;\nexports.assertPipelineTopicExpression = assertPipelineTopicExpression;\nexports.assertPlaceholder = assertPlaceholder;\nexports.assertPrivate = assertPrivate;\nexports.assertPrivateName = assertPrivateName;\nexports.assertProgram = assertProgram;\nexports.assertProperty = assertProperty;\nexports.assertPureish = assertPureish;\nexports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier;\nexports.assertRecordExpression = assertRecordExpression;\nexports.assertRegExpLiteral = assertRegExpLiteral;\nexports.assertRegexLiteral = assertRegexLiteral;\nexports.assertRestElement = assertRestElement;\nexports.assertRestProperty = assertRestProperty;\nexports.assertReturnStatement = assertReturnStatement;\nexports.assertScopable = assertScopable;\nexports.assertSequenceExpression = assertSequenceExpression;\nexports.assertSpreadElement = assertSpreadElement;\nexports.assertSpreadProperty = assertSpreadProperty;\nexports.assertStandardized = assertStandardized;\nexports.assertStatement = assertStatement;\nexports.assertStaticBlock = assertStaticBlock;\nexports.assertStringLiteral = assertStringLiteral;\nexports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation;\nexports.assertStringTypeAnnotation = assertStringTypeAnnotation;\nexports.assertSuper = assertSuper;\nexports.assertSwitchCase = assertSwitchCase;\nexports.assertSwitchStatement = assertSwitchStatement;\nexports.assertSymbolTypeAnnotation = assertSymbolTypeAnnotation;\nexports.assertTSAnyKeyword = assertTSAnyKeyword;\nexports.assertTSArrayType = assertTSArrayType;\nexports.assertTSAsExpression = assertTSAsExpression;\nexports.assertTSBaseType = assertTSBaseType;\nexports.assertTSBigIntKeyword = assertTSBigIntKeyword;\nexports.assertTSBooleanKeyword = assertTSBooleanKeyword;\nexports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration;\nexports.assertTSConditionalType = assertTSConditionalType;\nexports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration;\nexports.assertTSConstructorType = assertTSConstructorType;\nexports.assertTSDeclareFunction = assertTSDeclareFunction;\nexports.assertTSDeclareMethod = assertTSDeclareMethod;\nexports.assertTSEntityName = assertTSEntityName;\nexports.assertTSEnumDeclaration = assertTSEnumDeclaration;\nexports.assertTSEnumMember = assertTSEnumMember;\nexports.assertTSExportAssignment = assertTSExportAssignment;\nexports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments;\nexports.assertTSExternalModuleReference = assertTSExternalModuleReference;\nexports.assertTSFunctionType = assertTSFunctionType;\nexports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration;\nexports.assertTSImportType = assertTSImportType;\nexports.assertTSIndexSignature = assertTSIndexSignature;\nexports.assertTSIndexedAccessType = assertTSIndexedAccessType;\nexports.assertTSInferType = assertTSInferType;\nexports.assertTSInstantiationExpression = assertTSInstantiationExpression;\nexports.assertTSInterfaceBody = assertTSInterfaceBody;\nexports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration;\nexports.assertTSIntersectionType = assertTSIntersectionType;\nexports.assertTSIntrinsicKeyword = assertTSIntrinsicKeyword;\nexports.assertTSLiteralType = assertTSLiteralType;\nexports.assertTSMappedType = assertTSMappedType;\nexports.assertTSMethodSignature = assertTSMethodSignature;\nexports.assertTSModuleBlock = assertTSModuleBlock;\nexports.assertTSModuleDeclaration = assertTSModuleDeclaration;\nexports.assertTSNamedTupleMember = assertTSNamedTupleMember;\nexports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration;\nexports.assertTSNeverKeyword = assertTSNeverKeyword;\nexports.assertTSNonNullExpression = assertTSNonNullExpression;\nexports.assertTSNullKeyword = assertTSNullKeyword;\nexports.assertTSNumberKeyword = assertTSNumberKeyword;\nexports.assertTSObjectKeyword = assertTSObjectKeyword;\nexports.assertTSOptionalType = assertTSOptionalType;\nexports.assertTSParameterProperty = assertTSParameterProperty;\nexports.assertTSParenthesizedType = assertTSParenthesizedType;\nexports.assertTSPropertySignature = assertTSPropertySignature;\nexports.assertTSQualifiedName = assertTSQualifiedName;\nexports.assertTSRestType = assertTSRestType;\nexports.assertTSSatisfiesExpression = assertTSSatisfiesExpression;\nexports.assertTSStringKeyword = assertTSStringKeyword;\nexports.assertTSSymbolKeyword = assertTSSymbolKeyword;\nexports.assertTSThisType = assertTSThisType;\nexports.assertTSTupleType = assertTSTupleType;\nexports.assertTSType = assertTSType;\nexports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration;\nexports.assertTSTypeAnnotation = assertTSTypeAnnotation;\nexports.assertTSTypeAssertion = assertTSTypeAssertion;\nexports.assertTSTypeElement = assertTSTypeElement;\nexports.assertTSTypeLiteral = assertTSTypeLiteral;\nexports.assertTSTypeOperator = assertTSTypeOperator;\nexports.assertTSTypeParameter = assertTSTypeParameter;\nexports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration;\nexports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation;\nexports.assertTSTypePredicate = assertTSTypePredicate;\nexports.assertTSTypeQuery = assertTSTypeQuery;\nexports.assertTSTypeReference = assertTSTypeReference;\nexports.assertTSUndefinedKeyword = assertTSUndefinedKeyword;\nexports.assertTSUnionType = assertTSUnionType;\nexports.assertTSUnknownKeyword = assertTSUnknownKeyword;\nexports.assertTSVoidKeyword = assertTSVoidKeyword;\nexports.assertTaggedTemplateExpression = assertTaggedTemplateExpression;\nexports.assertTemplateElement = assertTemplateElement;\nexports.assertTemplateLiteral = assertTemplateLiteral;\nexports.assertTerminatorless = assertTerminatorless;\nexports.assertThisExpression = assertThisExpression;\nexports.assertThisTypeAnnotation = assertThisTypeAnnotation;\nexports.assertThrowStatement = assertThrowStatement;\nexports.assertTopicReference = assertTopicReference;\nexports.assertTryStatement = assertTryStatement;\nexports.assertTupleExpression = assertTupleExpression;\nexports.assertTupleTypeAnnotation = assertTupleTypeAnnotation;\nexports.assertTypeAlias = assertTypeAlias;\nexports.assertTypeAnnotation = assertTypeAnnotation;\nexports.assertTypeCastExpression = assertTypeCastExpression;\nexports.assertTypeParameter = assertTypeParameter;\nexports.assertTypeParameterDeclaration = assertTypeParameterDeclaration;\nexports.assertTypeParameterInstantiation = assertTypeParameterInstantiation;\nexports.assertTypeScript = assertTypeScript;\nexports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation;\nexports.assertUnaryExpression = assertUnaryExpression;\nexports.assertUnaryLike = assertUnaryLike;\nexports.assertUnionTypeAnnotation = assertUnionTypeAnnotation;\nexports.assertUpdateExpression = assertUpdateExpression;\nexports.assertUserWhitespacable = assertUserWhitespacable;\nexports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier;\nexports.assertVariableDeclaration = assertVariableDeclaration;\nexports.assertVariableDeclarator = assertVariableDeclarator;\nexports.assertVariance = assertVariance;\nexports.assertVoidTypeAnnotation = assertVoidTypeAnnotation;\nexports.assertWhile = assertWhile;\nexports.assertWhileStatement = assertWhileStatement;\nexports.assertWithStatement = assertWithStatement;\nexports.assertYieldExpression = assertYieldExpression;\nvar _is = __webpack_require__(/*! ../../validators/is.js */ \"./node_modules/@babel/types/lib/validators/is.js\");\nvar _deprecationWarning = __webpack_require__(/*! ../../utils/deprecationWarning.js */ \"./node_modules/@babel/types/lib/utils/deprecationWarning.js\");\nfunction assert(type, node, opts) {\n if (!(0, _is.default)(type, node, opts)) {\n throw new Error(`Expected type \"${type}\" with option ${JSON.stringify(opts)}, ` + `but instead got \"${node.type}\".`);\n }\n}\nfunction assertArrayExpression(node, opts) {\n assert(\"ArrayExpression\", node, opts);\n}\nfunction assertAssignmentExpression(node, opts) {\n assert(\"AssignmentExpression\", node, opts);\n}\nfunction assertBinaryExpression(node, opts) {\n assert(\"BinaryExpression\", node, opts);\n}\nfunction assertInterpreterDirective(node, opts) {\n assert(\"InterpreterDirective\", node, opts);\n}\nfunction assertDirective(node, opts) {\n assert(\"Directive\", node, opts);\n}\nfunction assertDirectiveLiteral(node, opts) {\n assert(\"DirectiveLiteral\", node, opts);\n}\nfunction assertBlockStatement(node, opts) {\n assert(\"BlockStatement\", node, opts);\n}\nfunction assertBreakStatement(node, opts) {\n assert(\"BreakStatement\", node, opts);\n}\nfunction assertCallExpression(node, opts) {\n assert(\"CallExpression\", node, opts);\n}\nfunction assertCatchClause(node, opts) {\n assert(\"CatchClause\", node, opts);\n}\nfunction assertConditionalExpression(node, opts) {\n assert(\"ConditionalExpression\", node, opts);\n}\nfunction assertContinueStatement(node, opts) {\n assert(\"ContinueStatement\", node, opts);\n}\nfunction assertDebuggerStatement(node, opts) {\n assert(\"DebuggerStatement\", node, opts);\n}\nfunction assertDoWhileStatement(node, opts) {\n assert(\"DoWhileStatement\", node, opts);\n}\nfunction assertEmptyStatement(node, opts) {\n assert(\"EmptyStatement\", node, opts);\n}\nfunction assertExpressionStatement(node, opts) {\n assert(\"ExpressionStatement\", node, opts);\n}\nfunction assertFile(node, opts) {\n assert(\"File\", node, opts);\n}\nfunction assertForInStatement(node, opts) {\n assert(\"ForInStatement\", node, opts);\n}\nfunction assertForStatement(node, opts) {\n assert(\"ForStatement\", node, opts);\n}\nfunction assertFunctionDeclaration(node, opts) {\n assert(\"FunctionDeclaration\", node, opts);\n}\nfunction assertFunctionExpression(node, opts) {\n assert(\"FunctionExpression\", node, opts);\n}\nfunction assertIdentifier(node, opts) {\n assert(\"Identifier\", node, opts);\n}\nfunction assertIfStatement(node, opts) {\n assert(\"IfStatement\", node, opts);\n}\nfunction assertLabeledStatement(node, opts) {\n assert(\"LabeledStatement\", node, opts);\n}\nfunction assertStringLiteral(node, opts) {\n assert(\"StringLiteral\", node, opts);\n}\nfunction assertNumericLiteral(node, opts) {\n assert(\"NumericLiteral\", node, opts);\n}\nfunction assertNullLiteral(node, opts) {\n assert(\"NullLiteral\", node, opts);\n}\nfunction assertBooleanLiteral(node, opts) {\n assert(\"BooleanLiteral\", node, opts);\n}\nfunction assertRegExpLiteral(node, opts) {\n assert(\"RegExpLiteral\", node, opts);\n}\nfunction assertLogicalExpression(node, opts) {\n assert(\"LogicalExpression\", node, opts);\n}\nfunction assertMemberExpression(node, opts) {\n assert(\"MemberExpression\", node, opts);\n}\nfunction assertNewExpression(node, opts) {\n assert(\"NewExpression\", node, opts);\n}\nfunction assertProgram(node, opts) {\n assert(\"Program\", node, opts);\n}\nfunction assertObjectExpression(node, opts) {\n assert(\"ObjectExpression\", node, opts);\n}\nfunction assertObjectMethod(node, opts) {\n assert(\"ObjectMethod\", node, opts);\n}\nfunction assertObjectProperty(node, opts) {\n assert(\"ObjectProperty\", node, opts);\n}\nfunction assertRestElement(node, opts) {\n assert(\"RestElement\", node, opts);\n}\nfunction assertReturnStatement(node, opts) {\n assert(\"ReturnStatement\", node, opts);\n}\nfunction assertSequenceExpression(node, opts) {\n assert(\"SequenceExpression\", node, opts);\n}\nfunction assertParenthesizedExpression(node, opts) {\n assert(\"ParenthesizedExpression\", node, opts);\n}\nfunction assertSwitchCase(node, opts) {\n assert(\"SwitchCase\", node, opts);\n}\nfunction assertSwitchStatement(node, opts) {\n assert(\"SwitchStatement\", node, opts);\n}\nfunction assertThisExpression(node, opts) {\n assert(\"ThisExpression\", node, opts);\n}\nfunction assertThrowStatement(node, opts) {\n assert(\"ThrowStatement\", node, opts);\n}\nfunction assertTryStatement(node, opts) {\n assert(\"TryStatement\", node, opts);\n}\nfunction assertUnaryExpression(node, opts) {\n assert(\"UnaryExpression\", node, opts);\n}\nfunction assertUpdateExpression(node, opts) {\n assert(\"UpdateExpression\", node, opts);\n}\nfunction assertVariableDeclaration(node, opts) {\n assert(\"VariableDeclaration\", node, opts);\n}\nfunction assertVariableDeclarator(node, opts) {\n assert(\"VariableDeclarator\", node, opts);\n}\nfunction assertWhileStatement(node, opts) {\n assert(\"WhileStatement\", node, opts);\n}\nfunction assertWithStatement(node, opts) {\n assert(\"WithStatement\", node, opts);\n}\nfunction assertAssignmentPattern(node, opts) {\n assert(\"AssignmentPattern\", node, opts);\n}\nfunction assertArrayPattern(node, opts) {\n assert(\"ArrayPattern\", node, opts);\n}\nfunction assertArrowFunctionExpression(node, opts) {\n assert(\"ArrowFunctionExpression\", node, opts);\n}\nfunction assertClassBody(node, opts) {\n assert(\"ClassBody\", node, opts);\n}\nfunction assertClassExpression(node, opts) {\n assert(\"ClassExpression\", node, opts);\n}\nfunction assertClassDeclaration(node, opts) {\n assert(\"ClassDeclaration\", node, opts);\n}\nfunction assertExportAllDeclaration(node, opts) {\n assert(\"ExportAllDeclaration\", node, opts);\n}\nfunction assertExportDefaultDeclaration(node, opts) {\n assert(\"ExportDefaultDeclaration\", node, opts);\n}\nfunction assertExportNamedDeclaration(node, opts) {\n assert(\"ExportNamedDeclaration\", node, opts);\n}\nfunction assertExportSpecifier(node, opts) {\n assert(\"ExportSpecifier\", node, opts);\n}\nfunction assertForOfStatement(node, opts) {\n assert(\"ForOfStatement\", node, opts);\n}\nfunction assertImportDeclaration(node, opts) {\n assert(\"ImportDeclaration\", node, opts);\n}\nfunction assertImportDefaultSpecifier(node, opts) {\n assert(\"ImportDefaultSpecifier\", node, opts);\n}\nfunction assertImportNamespaceSpecifier(node, opts) {\n assert(\"ImportNamespaceSpecifier\", node, opts);\n}\nfunction assertImportSpecifier(node, opts) {\n assert(\"ImportSpecifier\", node, opts);\n}\nfunction assertImportExpression(node, opts) {\n assert(\"ImportExpression\", node, opts);\n}\nfunction assertMetaProperty(node, opts) {\n assert(\"MetaProperty\", node, opts);\n}\nfunction assertClassMethod(node, opts) {\n assert(\"ClassMethod\", node, opts);\n}\nfunction assertObjectPattern(node, opts) {\n assert(\"ObjectPattern\", node, opts);\n}\nfunction assertSpreadElement(node, opts) {\n assert(\"SpreadElement\", node, opts);\n}\nfunction assertSuper(node, opts) {\n assert(\"Super\", node, opts);\n}\nfunction assertTaggedTemplateExpression(node, opts) {\n assert(\"TaggedTemplateExpression\", node, opts);\n}\nfunction assertTemplateElement(node, opts) {\n assert(\"TemplateElement\", node, opts);\n}\nfunction assertTemplateLiteral(node, opts) {\n assert(\"TemplateLiteral\", node, opts);\n}\nfunction assertYieldExpression(node, opts) {\n assert(\"YieldExpression\", node, opts);\n}\nfunction assertAwaitExpression(node, opts) {\n assert(\"AwaitExpression\", node, opts);\n}\nfunction assertImport(node, opts) {\n assert(\"Import\", node, opts);\n}\nfunction assertBigIntLiteral(node, opts) {\n assert(\"BigIntLiteral\", node, opts);\n}\nfunction assertExportNamespaceSpecifier(node, opts) {\n assert(\"ExportNamespaceSpecifier\", node, opts);\n}\nfunction assertOptionalMemberExpression(node, opts) {\n assert(\"OptionalMemberExpression\", node, opts);\n}\nfunction assertOptionalCallExpression(node, opts) {\n assert(\"OptionalCallExpression\", node, opts);\n}\nfunction assertClassProperty(node, opts) {\n assert(\"ClassProperty\", node, opts);\n}\nfunction assertClassAccessorProperty(node, opts) {\n assert(\"ClassAccessorProperty\", node, opts);\n}\nfunction assertClassPrivateProperty(node, opts) {\n assert(\"ClassPrivateProperty\", node, opts);\n}\nfunction assertClassPrivateMethod(node, opts) {\n assert(\"ClassPrivateMethod\", node, opts);\n}\nfunction assertPrivateName(node, opts) {\n assert(\"PrivateName\", node, opts);\n}\nfunction assertStaticBlock(node, opts) {\n assert(\"StaticBlock\", node, opts);\n}\nfunction assertAnyTypeAnnotation(node, opts) {\n assert(\"AnyTypeAnnotation\", node, opts);\n}\nfunction assertArrayTypeAnnotation(node, opts) {\n assert(\"ArrayTypeAnnotation\", node, opts);\n}\nfunction assertBooleanTypeAnnotation(node, opts) {\n assert(\"BooleanTypeAnnotation\", node, opts);\n}\nfunction assertBooleanLiteralTypeAnnotation(node, opts) {\n assert(\"BooleanLiteralTypeAnnotation\", node, opts);\n}\nfunction assertNullLiteralTypeAnnotation(node, opts) {\n assert(\"NullLiteralTypeAnnotation\", node, opts);\n}\nfunction assertClassImplements(node, opts) {\n assert(\"ClassImplements\", node, opts);\n}\nfunction assertDeclareClass(node, opts) {\n assert(\"DeclareClass\", node, opts);\n}\nfunction assertDeclareFunction(node, opts) {\n assert(\"DeclareFunction\", node, opts);\n}\nfunction assertDeclareInterface(node, opts) {\n assert(\"DeclareInterface\", node, opts);\n}\nfunction assertDeclareModule(node, opts) {\n assert(\"DeclareModule\", node, opts);\n}\nfunction assertDeclareModuleExports(node, opts) {\n assert(\"DeclareModuleExports\", node, opts);\n}\nfunction assertDeclareTypeAlias(node, opts) {\n assert(\"DeclareTypeAlias\", node, opts);\n}\nfunction assertDeclareOpaqueType(node, opts) {\n assert(\"DeclareOpaqueType\", node, opts);\n}\nfunction assertDeclareVariable(node, opts) {\n assert(\"DeclareVariable\", node, opts);\n}\nfunction assertDeclareExportDeclaration(node, opts) {\n assert(\"DeclareExportDeclaration\", node, opts);\n}\nfunction assertDeclareExportAllDeclaration(node, opts) {\n assert(\"DeclareExportAllDeclaration\", node, opts);\n}\nfunction assertDeclaredPredicate(node, opts) {\n assert(\"DeclaredPredicate\", node, opts);\n}\nfunction assertExistsTypeAnnotation(node, opts) {\n assert(\"ExistsTypeAnnotation\", node, opts);\n}\nfunction assertFunctionTypeAnnotation(node, opts) {\n assert(\"FunctionTypeAnnotation\", node, opts);\n}\nfunction assertFunctionTypeParam(node, opts) {\n assert(\"FunctionTypeParam\", node, opts);\n}\nfunction assertGenericTypeAnnotation(node, opts) {\n assert(\"GenericTypeAnnotation\", node, opts);\n}\nfunction assertInferredPredicate(node, opts) {\n assert(\"InferredPredicate\", node, opts);\n}\nfunction assertInterfaceExtends(node, opts) {\n assert(\"InterfaceExtends\", node, opts);\n}\nfunction assertInterfaceDeclaration(node, opts) {\n assert(\"InterfaceDeclaration\", node, opts);\n}\nfunction assertInterfaceTypeAnnotation(node, opts) {\n assert(\"InterfaceTypeAnnotation\", node, opts);\n}\nfunction assertIntersectionTypeAnnotation(node, opts) {\n assert(\"IntersectionTypeAnnotation\", node, opts);\n}\nfunction assertMixedTypeAnnotation(node, opts) {\n assert(\"MixedTypeAnnotation\", node, opts);\n}\nfunction assertEmptyTypeAnnotation(node, opts) {\n assert(\"EmptyTypeAnnotation\", node, opts);\n}\nfunction assertNullableTypeAnnotation(node, opts) {\n assert(\"NullableTypeAnnotation\", node, opts);\n}\nfunction assertNumberLiteralTypeAnnotation(node, opts) {\n assert(\"NumberLiteralTypeAnnotation\", node, opts);\n}\nfunction assertNumberTypeAnnotation(node, opts) {\n assert(\"NumberTypeAnnotation\", node, opts);\n}\nfunction assertObjectTypeAnnotation(node, opts) {\n assert(\"ObjectTypeAnnotation\", node, opts);\n}\nfunction assertObjectTypeInternalSlot(node, opts) {\n assert(\"ObjectTypeInternalSlot\", node, opts);\n}\nfunction assertObjectTypeCallProperty(node, opts) {\n assert(\"ObjectTypeCallProperty\", node, opts);\n}\nfunction assertObjectTypeIndexer(node, opts) {\n assert(\"ObjectTypeIndexer\", node, opts);\n}\nfunction assertObjectTypeProperty(node, opts) {\n assert(\"ObjectTypeProperty\", node, opts);\n}\nfunction assertObjectTypeSpreadProperty(node, opts) {\n assert(\"ObjectTypeSpreadProperty\", node, opts);\n}\nfunction assertOpaqueType(node, opts) {\n assert(\"OpaqueType\", node, opts);\n}\nfunction assertQualifiedTypeIdentifier(node, opts) {\n assert(\"QualifiedTypeIdentifier\", node, opts);\n}\nfunction assertStringLiteralTypeAnnotation(node, opts) {\n assert(\"StringLiteralTypeAnnotation\", node, opts);\n}\nfunction assertStringTypeAnnotation(node, opts) {\n assert(\"StringTypeAnnotation\", node, opts);\n}\nfunction assertSymbolTypeAnnotation(node, opts) {\n assert(\"SymbolTypeAnnotation\", node, opts);\n}\nfunction assertThisTypeAnnotation(node, opts) {\n assert(\"ThisTypeAnnotation\", node, opts);\n}\nfunction assertTupleTypeAnnotation(node, opts) {\n assert(\"TupleTypeAnnotation\", node, opts);\n}\nfunction assertTypeofTypeAnnotation(node, opts) {\n assert(\"TypeofTypeAnnotation\", node, opts);\n}\nfunction assertTypeAlias(node, opts) {\n assert(\"TypeAlias\", node, opts);\n}\nfunction assertTypeAnnotation(node, opts) {\n assert(\"TypeAnnotation\", node, opts);\n}\nfunction assertTypeCastExpression(node, opts) {\n assert(\"TypeCastExpression\", node, opts);\n}\nfunction assertTypeParameter(node, opts) {\n assert(\"TypeParameter\", node, opts);\n}\nfunction assertTypeParameterDeclaration(node, opts) {\n assert(\"TypeParameterDeclaration\", node, opts);\n}\nfunction assertTypeParameterInstantiation(node, opts) {\n assert(\"TypeParameterInstantiation\", node, opts);\n}\nfunction assertUnionTypeAnnotation(node, opts) {\n assert(\"UnionTypeAnnotation\", node, opts);\n}\nfunction assertVariance(node, opts) {\n assert(\"Variance\", node, opts);\n}\nfunction assertVoidTypeAnnotation(node, opts) {\n assert(\"VoidTypeAnnotation\", node, opts);\n}\nfunction assertEnumDeclaration(node, opts) {\n assert(\"EnumDeclaration\", node, opts);\n}\nfunction assertEnumBooleanBody(node, opts) {\n assert(\"EnumBooleanBody\", node, opts);\n}\nfunction assertEnumNumberBody(node, opts) {\n assert(\"EnumNumberBody\", node, opts);\n}\nfunction assertEnumStringBody(node, opts) {\n assert(\"EnumStringBody\", node, opts);\n}\nfunction assertEnumSymbolBody(node, opts) {\n assert(\"EnumSymbolBody\", node, opts);\n}\nfunction assertEnumBooleanMember(node, opts) {\n assert(\"EnumBooleanMember\", node, opts);\n}\nfunction assertEnumNumberMember(node, opts) {\n assert(\"EnumNumberMember\", node, opts);\n}\nfunction assertEnumStringMember(node, opts) {\n assert(\"EnumStringMember\", node, opts);\n}\nfunction assertEnumDefaultedMember(node, opts) {\n assert(\"EnumDefaultedMember\", node, opts);\n}\nfunction assertIndexedAccessType(node, opts) {\n assert(\"IndexedAccessType\", node, opts);\n}\nfunction assertOptionalIndexedAccessType(node, opts) {\n assert(\"OptionalIndexedAccessType\", node, opts);\n}\nfunction assertJSXAttribute(node, opts) {\n assert(\"JSXAttribute\", node, opts);\n}\nfunction assertJSXClosingElement(node, opts) {\n assert(\"JSXClosingElement\", node, opts);\n}\nfunction assertJSXElement(node, opts) {\n assert(\"JSXElement\", node, opts);\n}\nfunction assertJSXEmptyExpression(node, opts) {\n assert(\"JSXEmptyExpression\", node, opts);\n}\nfunction assertJSXExpressionContainer(node, opts) {\n assert(\"JSXExpressionContainer\", node, opts);\n}\nfunction assertJSXSpreadChild(node, opts) {\n assert(\"JSXSpreadChild\", node, opts);\n}\nfunction assertJSXIdentifier(node, opts) {\n assert(\"JSXIdentifier\", node, opts);\n}\nfunction assertJSXMemberExpression(node, opts) {\n assert(\"JSXMemberExpression\", node, opts);\n}\nfunction assertJSXNamespacedName(node, opts) {\n assert(\"JSXNamespacedName\", node, opts);\n}\nfunction assertJSXOpeningElement(node, opts) {\n assert(\"JSXOpeningElement\", node, opts);\n}\nfunction assertJSXSpreadAttribute(node, opts) {\n assert(\"JSXSpreadAttribute\", node, opts);\n}\nfunction assertJSXText(node, opts) {\n assert(\"JSXText\", node, opts);\n}\nfunction assertJSXFragment(node, opts) {\n assert(\"JSXFragment\", node, opts);\n}\nfunction assertJSXOpeningFragment(node, opts) {\n assert(\"JSXOpeningFragment\", node, opts);\n}\nfunction assertJSXClosingFragment(node, opts) {\n assert(\"JSXClosingFragment\", node, opts);\n}\nfunction assertNoop(node, opts) {\n assert(\"Noop\", node, opts);\n}\nfunction assertPlaceholder(node, opts) {\n assert(\"Placeholder\", node, opts);\n}\nfunction assertV8IntrinsicIdentifier(node, opts) {\n assert(\"V8IntrinsicIdentifier\", node, opts);\n}\nfunction assertArgumentPlaceholder(node, opts) {\n assert(\"ArgumentPlaceholder\", node, opts);\n}\nfunction assertBindExpression(node, opts) {\n assert(\"BindExpression\", node, opts);\n}\nfunction assertImportAttribute(node, opts) {\n assert(\"ImportAttribute\", node, opts);\n}\nfunction assertDecorator(node, opts) {\n assert(\"Decorator\", node, opts);\n}\nfunction assertDoExpression(node, opts) {\n assert(\"DoExpression\", node, opts);\n}\nfunction assertExportDefaultSpecifier(node, opts) {\n assert(\"ExportDefaultSpecifier\", node, opts);\n}\nfunction assertRecordExpression(node, opts) {\n assert(\"RecordExpression\", node, opts);\n}\nfunction assertTupleExpression(node, opts) {\n assert(\"TupleExpression\", node, opts);\n}\nfunction assertDecimalLiteral(node, opts) {\n assert(\"DecimalLiteral\", node, opts);\n}\nfunction assertModuleExpression(node, opts) {\n assert(\"ModuleExpression\", node, opts);\n}\nfunction assertTopicReference(node, opts) {\n assert(\"TopicReference\", node, opts);\n}\nfunction assertPipelineTopicExpression(node, opts) {\n assert(\"PipelineTopicExpression\", node, opts);\n}\nfunction assertPipelineBareFunction(node, opts) {\n assert(\"PipelineBareFunction\", node, opts);\n}\nfunction assertPipelinePrimaryTopicReference(node, opts) {\n assert(\"PipelinePrimaryTopicReference\", node, opts);\n}\nfunction assertTSParameterProperty(node, opts) {\n assert(\"TSParameterProperty\", node, opts);\n}\nfunction assertTSDeclareFunction(node, opts) {\n assert(\"TSDeclareFunction\", node, opts);\n}\nfunction assertTSDeclareMethod(node, opts) {\n assert(\"TSDeclareMethod\", node, opts);\n}\nfunction assertTSQualifiedName(node, opts) {\n assert(\"TSQualifiedName\", node, opts);\n}\nfunction assertTSCallSignatureDeclaration(node, opts) {\n assert(\"TSCallSignatureDeclaration\", node, opts);\n}\nfunction assertTSConstructSignatureDeclaration(node, opts) {\n assert(\"TSConstructSignatureDeclaration\", node, opts);\n}\nfunction assertTSPropertySignature(node, opts) {\n assert(\"TSPropertySignature\", node, opts);\n}\nfunction assertTSMethodSignature(node, opts) {\n assert(\"TSMethodSignature\", node, opts);\n}\nfunction assertTSIndexSignature(node, opts) {\n assert(\"TSIndexSignature\", node, opts);\n}\nfunction assertTSAnyKeyword(node, opts) {\n assert(\"TSAnyKeyword\", node, opts);\n}\nfunction assertTSBooleanKeyword(node, opts) {\n assert(\"TSBooleanKeyword\", node, opts);\n}\nfunction assertTSBigIntKeyword(node, opts) {\n assert(\"TSBigIntKeyword\", node, opts);\n}\nfunction assertTSIntrinsicKeyword(node, opts) {\n assert(\"TSIntrinsicKeyword\", node, opts);\n}\nfunction assertTSNeverKeyword(node, opts) {\n assert(\"TSNeverKeyword\", node, opts);\n}\nfunction assertTSNullKeyword(node, opts) {\n assert(\"TSNullKeyword\", node, opts);\n}\nfunction assertTSNumberKeyword(node, opts) {\n assert(\"TSNumberKeyword\", node, opts);\n}\nfunction assertTSObjectKeyword(node, opts) {\n assert(\"TSObjectKeyword\", node, opts);\n}\nfunction assertTSStringKeyword(node, opts) {\n assert(\"TSStringKeyword\", node, opts);\n}\nfunction assertTSSymbolKeyword(node, opts) {\n assert(\"TSSymbolKeyword\", node, opts);\n}\nfunction assertTSUndefinedKeyword(node, opts) {\n assert(\"TSUndefinedKeyword\", node, opts);\n}\nfunction assertTSUnknownKeyword(node, opts) {\n assert(\"TSUnknownKeyword\", node, opts);\n}\nfunction assertTSVoidKeyword(node, opts) {\n assert(\"TSVoidKeyword\", node, opts);\n}\nfunction assertTSThisType(node, opts) {\n assert(\"TSThisType\", node, opts);\n}\nfunction assertTSFunctionType(node, opts) {\n assert(\"TSFunctionType\", node, opts);\n}\nfunction assertTSConstructorType(node, opts) {\n assert(\"TSConstructorType\", node, opts);\n}\nfunction assertTSTypeReference(node, opts) {\n assert(\"TSTypeReference\", node, opts);\n}\nfunction assertTSTypePredicate(node, opts) {\n assert(\"TSTypePredicate\", node, opts);\n}\nfunction assertTSTypeQuery(node, opts) {\n assert(\"TSTypeQuery\", node, opts);\n}\nfunction assertTSTypeLiteral(node, opts) {\n assert(\"TSTypeLiteral\", node, opts);\n}\nfunction assertTSArrayType(node, opts) {\n assert(\"TSArrayType\", node, opts);\n}\nfunction assertTSTupleType(node, opts) {\n assert(\"TSTupleType\", node, opts);\n}\nfunction assertTSOptionalType(node, opts) {\n assert(\"TSOptionalType\", node, opts);\n}\nfunction assertTSRestType(node, opts) {\n assert(\"TSRestType\", node, opts);\n}\nfunction assertTSNamedTupleMember(node, opts) {\n assert(\"TSNamedTupleMember\", node, opts);\n}\nfunction assertTSUnionType(node, opts) {\n assert(\"TSUnionType\", node, opts);\n}\nfunction assertTSIntersectionType(node, opts) {\n assert(\"TSIntersectionType\", node, opts);\n}\nfunction assertTSConditionalType(node, opts) {\n assert(\"TSConditionalType\", node, opts);\n}\nfunction assertTSInferType(node, opts) {\n assert(\"TSInferType\", node, opts);\n}\nfunction assertTSParenthesizedType(node, opts) {\n assert(\"TSParenthesizedType\", node, opts);\n}\nfunction assertTSTypeOperator(node, opts) {\n assert(\"TSTypeOperator\", node, opts);\n}\nfunction assertTSIndexedAccessType(node, opts) {\n assert(\"TSIndexedAccessType\", node, opts);\n}\nfunction assertTSMappedType(node, opts) {\n assert(\"TSMappedType\", node, opts);\n}\nfunction assertTSLiteralType(node, opts) {\n assert(\"TSLiteralType\", node, opts);\n}\nfunction assertTSExpressionWithTypeArguments(node, opts) {\n assert(\"TSExpressionWithTypeArguments\", node, opts);\n}\nfunction assertTSInterfaceDeclaration(node, opts) {\n assert(\"TSInterfaceDeclaration\", node, opts);\n}\nfunction assertTSInterfaceBody(node, opts) {\n assert(\"TSInterfaceBody\", node, opts);\n}\nfunction assertTSTypeAliasDeclaration(node, opts) {\n assert(\"TSTypeAliasDeclaration\", node, opts);\n}\nfunction assertTSInstantiationExpression(node, opts) {\n assert(\"TSInstantiationExpression\", node, opts);\n}\nfunction assertTSAsExpression(node, opts) {\n assert(\"TSAsExpression\", node, opts);\n}\nfunction assertTSSatisfiesExpression(node, opts) {\n assert(\"TSSatisfiesExpression\", node, opts);\n}\nfunction assertTSTypeAssertion(node, opts) {\n assert(\"TSTypeAssertion\", node, opts);\n}\nfunction assertTSEnumDeclaration(node, opts) {\n assert(\"TSEnumDeclaration\", node, opts);\n}\nfunction assertTSEnumMember(node, opts) {\n assert(\"TSEnumMember\", node, opts);\n}\nfunction assertTSModuleDeclaration(node, opts) {\n assert(\"TSModuleDeclaration\", node, opts);\n}\nfunction assertTSModuleBlock(node, opts) {\n assert(\"TSModuleBlock\", node, opts);\n}\nfunction assertTSImportType(node, opts) {\n assert(\"TSImportType\", node, opts);\n}\nfunction assertTSImportEqualsDeclaration(node, opts) {\n assert(\"TSImportEqualsDeclaration\", node, opts);\n}\nfunction assertTSExternalModuleReference(node, opts) {\n assert(\"TSExternalModuleReference\", node, opts);\n}\nfunction assertTSNonNullExpression(node, opts) {\n assert(\"TSNonNullExpression\", node, opts);\n}\nfunction assertTSExportAssignment(node, opts) {\n assert(\"TSExportAssignment\", node, opts);\n}\nfunction assertTSNamespaceExportDeclaration(node, opts) {\n assert(\"TSNamespaceExportDeclaration\", node, opts);\n}\nfunction assertTSTypeAnnotation(node, opts) {\n assert(\"TSTypeAnnotation\", node, opts);\n}\nfunction assertTSTypeParameterInstantiation(node, opts) {\n assert(\"TSTypeParameterInstantiation\", node, opts);\n}\nfunction assertTSTypeParameterDeclaration(node, opts) {\n assert(\"TSTypeParameterDeclaration\", node, opts);\n}\nfunction assertTSTypeParameter(node, opts) {\n assert(\"TSTypeParameter\", node, opts);\n}\nfunction assertStandardized(node, opts) {\n assert(\"Standardized\", node, opts);\n}\nfunction assertExpression(node, opts) {\n assert(\"Expression\", node, opts);\n}\nfunction assertBinary(node, opts) {\n assert(\"Binary\", node, opts);\n}\nfunction assertScopable(node, opts) {\n assert(\"Scopable\", node, opts);\n}\nfunction assertBlockParent(node, opts) {\n assert(\"BlockParent\", node, opts);\n}\nfunction assertBlock(node, opts) {\n assert(\"Block\", node, opts);\n}\nfunction assertStatement(node, opts) {\n assert(\"Statement\", node, opts);\n}\nfunction assertTerminatorless(node, opts) {\n assert(\"Terminatorless\", node, opts);\n}\nfunction assertCompletionStatement(node, opts) {\n assert(\"CompletionStatement\", node, opts);\n}\nfunction assertConditional(node, opts) {\n assert(\"Conditional\", node, opts);\n}\nfunction assertLoop(node, opts) {\n assert(\"Loop\", node, opts);\n}\nfunction assertWhile(node, opts) {\n assert(\"While\", node, opts);\n}\nfunction assertExpressionWrapper(node, opts) {\n assert(\"ExpressionWrapper\", node, opts);\n}\nfunction assertFor(node, opts) {\n assert(\"For\", node, opts);\n}\nfunction assertForXStatement(node, opts) {\n assert(\"ForXStatement\", node, opts);\n}\nfunction assertFunction(node, opts) {\n assert(\"Function\", node, opts);\n}\nfunction assertFunctionParent(node, opts) {\n assert(\"FunctionParent\", node, opts);\n}\nfunction assertPureish(node, opts) {\n assert(\"Pureish\", node, opts);\n}\nfunction assertDeclaration(node, opts) {\n assert(\"Declaration\", node, opts);\n}\nfunction assertPatternLike(node, opts) {\n assert(\"PatternLike\", node, opts);\n}\nfunction assertLVal(node, opts) {\n assert(\"LVal\", node, opts);\n}\nfunction assertTSEntityName(node, opts) {\n assert(\"TSEntityName\", node, opts);\n}\nfunction assertLiteral(node, opts) {\n assert(\"Literal\", node, opts);\n}\nfunction assertImmutable(node, opts) {\n assert(\"Immutable\", node, opts);\n}\nfunction assertUserWhitespacable(node, opts) {\n assert(\"UserWhitespacable\", node, opts);\n}\nfunction assertMethod(node, opts) {\n assert(\"Method\", node, opts);\n}\nfunction assertObjectMember(node, opts) {\n assert(\"ObjectMember\", node, opts);\n}\nfunction assertProperty(node, opts) {\n assert(\"Property\", node, opts);\n}\nfunction assertUnaryLike(node, opts) {\n assert(\"UnaryLike\", node, opts);\n}\nfunction assertPattern(node, opts) {\n assert(\"Pattern\", node, opts);\n}\nfunction assertClass(node, opts) {\n assert(\"Class\", node, opts);\n}\nfunction assertImportOrExportDeclaration(node, opts) {\n assert(\"ImportOrExportDeclaration\", node, opts);\n}\nfunction assertExportDeclaration(node, opts) {\n assert(\"ExportDeclaration\", node, opts);\n}\nfunction assertModuleSpecifier(node, opts) {\n assert(\"ModuleSpecifier\", node, opts);\n}\nfunction assertAccessor(node, opts) {\n assert(\"Accessor\", node, opts);\n}\nfunction assertPrivate(node, opts) {\n assert(\"Private\", node, opts);\n}\nfunction assertFlow(node, opts) {\n assert(\"Flow\", node, opts);\n}\nfunction assertFlowType(node, opts) {\n assert(\"FlowType\", node, opts);\n}\nfunction assertFlowBaseAnnotation(node, opts) {\n assert(\"FlowBaseAnnotation\", node, opts);\n}\nfunction assertFlowDeclaration(node, opts) {\n assert(\"FlowDeclaration\", node, opts);\n}\nfunction assertFlowPredicate(node, opts) {\n assert(\"FlowPredicate\", node, opts);\n}\nfunction assertEnumBody(node, opts) {\n assert(\"EnumBody\", node, opts);\n}\nfunction assertEnumMember(node, opts) {\n assert(\"EnumMember\", node, opts);\n}\nfunction assertJSX(node, opts) {\n assert(\"JSX\", node, opts);\n}\nfunction assertMiscellaneous(node, opts) {\n assert(\"Miscellaneous\", node, opts);\n}\nfunction assertTypeScript(node, opts) {\n assert(\"TypeScript\", node, opts);\n}\nfunction assertTSTypeElement(node, opts) {\n assert(\"TSTypeElement\", node, opts);\n}\nfunction assertTSType(node, opts) {\n assert(\"TSType\", node, opts);\n}\nfunction assertTSBaseType(node, opts) {\n assert(\"TSBaseType\", node, opts);\n}\nfunction assertNumberLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"assertNumberLiteral\", \"assertNumericLiteral\");\n assert(\"NumberLiteral\", node, opts);\n}\nfunction assertRegexLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"assertRegexLiteral\", \"assertRegExpLiteral\");\n assert(\"RegexLiteral\", node, opts);\n}\nfunction assertRestProperty(node, opts) {\n (0, _deprecationWarning.default)(\"assertRestProperty\", \"assertRestElement\");\n assert(\"RestProperty\", node, opts);\n}\nfunction assertSpreadProperty(node, opts) {\n (0, _deprecationWarning.default)(\"assertSpreadProperty\", \"assertSpreadElement\");\n assert(\"SpreadProperty\", node, opts);\n}\nfunction assertModuleDeclaration(node, opts) {\n (0, _deprecationWarning.default)(\"assertModuleDeclaration\", \"assertImportOrExportDeclaration\");\n assert(\"ModuleDeclaration\", node, opts);\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/asserts/generated/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = createFlowUnionType;\nvar _index = __webpack_require__(/*! ../generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _removeTypeDuplicates = __webpack_require__(/*! ../../modifications/flow/removeTypeDuplicates.js */ \"./node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js\");\nfunction createFlowUnionType(types) {\n const flattened = (0, _removeTypeDuplicates.default)(types);\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return (0, _index.unionTypeAnnotation)(flattened);\n }\n}\n\n//# sourceMappingURL=createFlowUnionType.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _index = __webpack_require__(/*! ../generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _default = exports[\"default\"] = createTypeAnnotationBasedOnTypeof;\nfunction createTypeAnnotationBasedOnTypeof(type) {\n switch (type) {\n case \"string\":\n return (0, _index.stringTypeAnnotation)();\n case \"number\":\n return (0, _index.numberTypeAnnotation)();\n case \"undefined\":\n return (0, _index.voidTypeAnnotation)();\n case \"boolean\":\n return (0, _index.booleanTypeAnnotation)();\n case \"function\":\n return (0, _index.genericTypeAnnotation)((0, _index.identifier)(\"Function\"));\n case \"object\":\n return (0, _index.genericTypeAnnotation)((0, _index.identifier)(\"Object\"));\n case \"symbol\":\n return (0, _index.genericTypeAnnotation)((0, _index.identifier)(\"Symbol\"));\n case \"bigint\":\n return (0, _index.anyTypeAnnotation)();\n }\n throw new Error(\"Invalid typeof value: \" + type);\n}\n\n//# sourceMappingURL=createTypeAnnotationBasedOnTypeof.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/builders/generated/index.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/builders/generated/index.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.anyTypeAnnotation = anyTypeAnnotation;\nexports.argumentPlaceholder = argumentPlaceholder;\nexports.arrayExpression = arrayExpression;\nexports.arrayPattern = arrayPattern;\nexports.arrayTypeAnnotation = arrayTypeAnnotation;\nexports.arrowFunctionExpression = arrowFunctionExpression;\nexports.assignmentExpression = assignmentExpression;\nexports.assignmentPattern = assignmentPattern;\nexports.awaitExpression = awaitExpression;\nexports.bigIntLiteral = bigIntLiteral;\nexports.binaryExpression = binaryExpression;\nexports.bindExpression = bindExpression;\nexports.blockStatement = blockStatement;\nexports.booleanLiteral = booleanLiteral;\nexports.booleanLiteralTypeAnnotation = booleanLiteralTypeAnnotation;\nexports.booleanTypeAnnotation = booleanTypeAnnotation;\nexports.breakStatement = breakStatement;\nexports.callExpression = callExpression;\nexports.catchClause = catchClause;\nexports.classAccessorProperty = classAccessorProperty;\nexports.classBody = classBody;\nexports.classDeclaration = classDeclaration;\nexports.classExpression = classExpression;\nexports.classImplements = classImplements;\nexports.classMethod = classMethod;\nexports.classPrivateMethod = classPrivateMethod;\nexports.classPrivateProperty = classPrivateProperty;\nexports.classProperty = classProperty;\nexports.conditionalExpression = conditionalExpression;\nexports.continueStatement = continueStatement;\nexports.debuggerStatement = debuggerStatement;\nexports.decimalLiteral = decimalLiteral;\nexports.declareClass = declareClass;\nexports.declareExportAllDeclaration = declareExportAllDeclaration;\nexports.declareExportDeclaration = declareExportDeclaration;\nexports.declareFunction = declareFunction;\nexports.declareInterface = declareInterface;\nexports.declareModule = declareModule;\nexports.declareModuleExports = declareModuleExports;\nexports.declareOpaqueType = declareOpaqueType;\nexports.declareTypeAlias = declareTypeAlias;\nexports.declareVariable = declareVariable;\nexports.declaredPredicate = declaredPredicate;\nexports.decorator = decorator;\nexports.directive = directive;\nexports.directiveLiteral = directiveLiteral;\nexports.doExpression = doExpression;\nexports.doWhileStatement = doWhileStatement;\nexports.emptyStatement = emptyStatement;\nexports.emptyTypeAnnotation = emptyTypeAnnotation;\nexports.enumBooleanBody = enumBooleanBody;\nexports.enumBooleanMember = enumBooleanMember;\nexports.enumDeclaration = enumDeclaration;\nexports.enumDefaultedMember = enumDefaultedMember;\nexports.enumNumberBody = enumNumberBody;\nexports.enumNumberMember = enumNumberMember;\nexports.enumStringBody = enumStringBody;\nexports.enumStringMember = enumStringMember;\nexports.enumSymbolBody = enumSymbolBody;\nexports.existsTypeAnnotation = existsTypeAnnotation;\nexports.exportAllDeclaration = exportAllDeclaration;\nexports.exportDefaultDeclaration = exportDefaultDeclaration;\nexports.exportDefaultSpecifier = exportDefaultSpecifier;\nexports.exportNamedDeclaration = exportNamedDeclaration;\nexports.exportNamespaceSpecifier = exportNamespaceSpecifier;\nexports.exportSpecifier = exportSpecifier;\nexports.expressionStatement = expressionStatement;\nexports.file = file;\nexports.forInStatement = forInStatement;\nexports.forOfStatement = forOfStatement;\nexports.forStatement = forStatement;\nexports.functionDeclaration = functionDeclaration;\nexports.functionExpression = functionExpression;\nexports.functionTypeAnnotation = functionTypeAnnotation;\nexports.functionTypeParam = functionTypeParam;\nexports.genericTypeAnnotation = genericTypeAnnotation;\nexports.identifier = identifier;\nexports.ifStatement = ifStatement;\nexports[\"import\"] = _import;\nexports.importAttribute = importAttribute;\nexports.importDeclaration = importDeclaration;\nexports.importDefaultSpecifier = importDefaultSpecifier;\nexports.importExpression = importExpression;\nexports.importNamespaceSpecifier = importNamespaceSpecifier;\nexports.importSpecifier = importSpecifier;\nexports.indexedAccessType = indexedAccessType;\nexports.inferredPredicate = inferredPredicate;\nexports.interfaceDeclaration = interfaceDeclaration;\nexports.interfaceExtends = interfaceExtends;\nexports.interfaceTypeAnnotation = interfaceTypeAnnotation;\nexports.interpreterDirective = interpreterDirective;\nexports.intersectionTypeAnnotation = intersectionTypeAnnotation;\nexports.jSXAttribute = exports.jsxAttribute = jsxAttribute;\nexports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement;\nexports.jSXClosingFragment = exports.jsxClosingFragment = jsxClosingFragment;\nexports.jSXElement = exports.jsxElement = jsxElement;\nexports.jSXEmptyExpression = exports.jsxEmptyExpression = jsxEmptyExpression;\nexports.jSXExpressionContainer = exports.jsxExpressionContainer = jsxExpressionContainer;\nexports.jSXFragment = exports.jsxFragment = jsxFragment;\nexports.jSXIdentifier = exports.jsxIdentifier = jsxIdentifier;\nexports.jSXMemberExpression = exports.jsxMemberExpression = jsxMemberExpression;\nexports.jSXNamespacedName = exports.jsxNamespacedName = jsxNamespacedName;\nexports.jSXOpeningElement = exports.jsxOpeningElement = jsxOpeningElement;\nexports.jSXOpeningFragment = exports.jsxOpeningFragment = jsxOpeningFragment;\nexports.jSXSpreadAttribute = exports.jsxSpreadAttribute = jsxSpreadAttribute;\nexports.jSXSpreadChild = exports.jsxSpreadChild = jsxSpreadChild;\nexports.jSXText = exports.jsxText = jsxText;\nexports.labeledStatement = labeledStatement;\nexports.logicalExpression = logicalExpression;\nexports.memberExpression = memberExpression;\nexports.metaProperty = metaProperty;\nexports.mixedTypeAnnotation = mixedTypeAnnotation;\nexports.moduleExpression = moduleExpression;\nexports.newExpression = newExpression;\nexports.noop = noop;\nexports.nullLiteral = nullLiteral;\nexports.nullLiteralTypeAnnotation = nullLiteralTypeAnnotation;\nexports.nullableTypeAnnotation = nullableTypeAnnotation;\nexports.numberLiteral = NumberLiteral;\nexports.numberLiteralTypeAnnotation = numberLiteralTypeAnnotation;\nexports.numberTypeAnnotation = numberTypeAnnotation;\nexports.numericLiteral = numericLiteral;\nexports.objectExpression = objectExpression;\nexports.objectMethod = objectMethod;\nexports.objectPattern = objectPattern;\nexports.objectProperty = objectProperty;\nexports.objectTypeAnnotation = objectTypeAnnotation;\nexports.objectTypeCallProperty = objectTypeCallProperty;\nexports.objectTypeIndexer = objectTypeIndexer;\nexports.objectTypeInternalSlot = objectTypeInternalSlot;\nexports.objectTypeProperty = objectTypeProperty;\nexports.objectTypeSpreadProperty = objectTypeSpreadProperty;\nexports.opaqueType = opaqueType;\nexports.optionalCallExpression = optionalCallExpression;\nexports.optionalIndexedAccessType = optionalIndexedAccessType;\nexports.optionalMemberExpression = optionalMemberExpression;\nexports.parenthesizedExpression = parenthesizedExpression;\nexports.pipelineBareFunction = pipelineBareFunction;\nexports.pipelinePrimaryTopicReference = pipelinePrimaryTopicReference;\nexports.pipelineTopicExpression = pipelineTopicExpression;\nexports.placeholder = placeholder;\nexports.privateName = privateName;\nexports.program = program;\nexports.qualifiedTypeIdentifier = qualifiedTypeIdentifier;\nexports.recordExpression = recordExpression;\nexports.regExpLiteral = regExpLiteral;\nexports.regexLiteral = RegexLiteral;\nexports.restElement = restElement;\nexports.restProperty = RestProperty;\nexports.returnStatement = returnStatement;\nexports.sequenceExpression = sequenceExpression;\nexports.spreadElement = spreadElement;\nexports.spreadProperty = SpreadProperty;\nexports.staticBlock = staticBlock;\nexports.stringLiteral = stringLiteral;\nexports.stringLiteralTypeAnnotation = stringLiteralTypeAnnotation;\nexports.stringTypeAnnotation = stringTypeAnnotation;\nexports[\"super\"] = _super;\nexports.switchCase = switchCase;\nexports.switchStatement = switchStatement;\nexports.symbolTypeAnnotation = symbolTypeAnnotation;\nexports.taggedTemplateExpression = taggedTemplateExpression;\nexports.templateElement = templateElement;\nexports.templateLiteral = templateLiteral;\nexports.thisExpression = thisExpression;\nexports.thisTypeAnnotation = thisTypeAnnotation;\nexports.throwStatement = throwStatement;\nexports.topicReference = topicReference;\nexports.tryStatement = tryStatement;\nexports.tSAnyKeyword = exports.tsAnyKeyword = tsAnyKeyword;\nexports.tSArrayType = exports.tsArrayType = tsArrayType;\nexports.tSAsExpression = exports.tsAsExpression = tsAsExpression;\nexports.tSBigIntKeyword = exports.tsBigIntKeyword = tsBigIntKeyword;\nexports.tSBooleanKeyword = exports.tsBooleanKeyword = tsBooleanKeyword;\nexports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = tsCallSignatureDeclaration;\nexports.tSConditionalType = exports.tsConditionalType = tsConditionalType;\nexports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = tsConstructSignatureDeclaration;\nexports.tSConstructorType = exports.tsConstructorType = tsConstructorType;\nexports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction;\nexports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod;\nexports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration;\nexports.tSEnumMember = exports.tsEnumMember = tsEnumMember;\nexports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment;\nexports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = tsExpressionWithTypeArguments;\nexports.tSExternalModuleReference = exports.tsExternalModuleReference = tsExternalModuleReference;\nexports.tSFunctionType = exports.tsFunctionType = tsFunctionType;\nexports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = tsImportEqualsDeclaration;\nexports.tSImportType = exports.tsImportType = tsImportType;\nexports.tSIndexSignature = exports.tsIndexSignature = tsIndexSignature;\nexports.tSIndexedAccessType = exports.tsIndexedAccessType = tsIndexedAccessType;\nexports.tSInferType = exports.tsInferType = tsInferType;\nexports.tSInstantiationExpression = exports.tsInstantiationExpression = tsInstantiationExpression;\nexports.tSInterfaceBody = exports.tsInterfaceBody = tsInterfaceBody;\nexports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = tsInterfaceDeclaration;\nexports.tSIntersectionType = exports.tsIntersectionType = tsIntersectionType;\nexports.tSIntrinsicKeyword = exports.tsIntrinsicKeyword = tsIntrinsicKeyword;\nexports.tSLiteralType = exports.tsLiteralType = tsLiteralType;\nexports.tSMappedType = exports.tsMappedType = tsMappedType;\nexports.tSMethodSignature = exports.tsMethodSignature = tsMethodSignature;\nexports.tSModuleBlock = exports.tsModuleBlock = tsModuleBlock;\nexports.tSModuleDeclaration = exports.tsModuleDeclaration = tsModuleDeclaration;\nexports.tSNamedTupleMember = exports.tsNamedTupleMember = tsNamedTupleMember;\nexports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = tsNamespaceExportDeclaration;\nexports.tSNeverKeyword = exports.tsNeverKeyword = tsNeverKeyword;\nexports.tSNonNullExpression = exports.tsNonNullExpression = tsNonNullExpression;\nexports.tSNullKeyword = exports.tsNullKeyword = tsNullKeyword;\nexports.tSNumberKeyword = exports.tsNumberKeyword = tsNumberKeyword;\nexports.tSObjectKeyword = exports.tsObjectKeyword = tsObjectKeyword;\nexports.tSOptionalType = exports.tsOptionalType = tsOptionalType;\nexports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty;\nexports.tSParenthesizedType = exports.tsParenthesizedType = tsParenthesizedType;\nexports.tSPropertySignature = exports.tsPropertySignature = tsPropertySignature;\nexports.tSQualifiedName = exports.tsQualifiedName = tsQualifiedName;\nexports.tSRestType = exports.tsRestType = tsRestType;\nexports.tSSatisfiesExpression = exports.tsSatisfiesExpression = tsSatisfiesExpression;\nexports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword;\nexports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword;\nexports.tSThisType = exports.tsThisType = tsThisType;\nexports.tSTupleType = exports.tsTupleType = tsTupleType;\nexports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration;\nexports.tSTypeAnnotation = exports.tsTypeAnnotation = tsTypeAnnotation;\nexports.tSTypeAssertion = exports.tsTypeAssertion = tsTypeAssertion;\nexports.tSTypeLiteral = exports.tsTypeLiteral = tsTypeLiteral;\nexports.tSTypeOperator = exports.tsTypeOperator = tsTypeOperator;\nexports.tSTypeParameter = exports.tsTypeParameter = tsTypeParameter;\nexports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = tsTypeParameterDeclaration;\nexports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = tsTypeParameterInstantiation;\nexports.tSTypePredicate = exports.tsTypePredicate = tsTypePredicate;\nexports.tSTypeQuery = exports.tsTypeQuery = tsTypeQuery;\nexports.tSTypeReference = exports.tsTypeReference = tsTypeReference;\nexports.tSUndefinedKeyword = exports.tsUndefinedKeyword = tsUndefinedKeyword;\nexports.tSUnionType = exports.tsUnionType = tsUnionType;\nexports.tSUnknownKeyword = exports.tsUnknownKeyword = tsUnknownKeyword;\nexports.tSVoidKeyword = exports.tsVoidKeyword = tsVoidKeyword;\nexports.tupleExpression = tupleExpression;\nexports.tupleTypeAnnotation = tupleTypeAnnotation;\nexports.typeAlias = typeAlias;\nexports.typeAnnotation = typeAnnotation;\nexports.typeCastExpression = typeCastExpression;\nexports.typeParameter = typeParameter;\nexports.typeParameterDeclaration = typeParameterDeclaration;\nexports.typeParameterInstantiation = typeParameterInstantiation;\nexports.typeofTypeAnnotation = typeofTypeAnnotation;\nexports.unaryExpression = unaryExpression;\nexports.unionTypeAnnotation = unionTypeAnnotation;\nexports.updateExpression = updateExpression;\nexports.v8IntrinsicIdentifier = v8IntrinsicIdentifier;\nexports.variableDeclaration = variableDeclaration;\nexports.variableDeclarator = variableDeclarator;\nexports.variance = variance;\nexports.voidTypeAnnotation = voidTypeAnnotation;\nexports.whileStatement = whileStatement;\nexports.withStatement = withStatement;\nexports.yieldExpression = yieldExpression;\nvar _validate = __webpack_require__(/*! ../../validators/validate.js */ \"./node_modules/@babel/types/lib/validators/validate.js\");\nvar _deprecationWarning = __webpack_require__(/*! ../../utils/deprecationWarning.js */ \"./node_modules/@babel/types/lib/utils/deprecationWarning.js\");\nvar utils = __webpack_require__(/*! ../../definitions/utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nconst {\n validateInternal: validate\n} = _validate;\nconst {\n NODE_FIELDS\n} = utils;\nfunction arrayExpression(elements = []) {\n const node = {\n type: \"ArrayExpression\",\n elements\n };\n const defs = NODE_FIELDS.ArrayExpression;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nfunction assignmentExpression(operator, left, right) {\n const node = {\n type: \"AssignmentExpression\",\n operator,\n left,\n right\n };\n const defs = NODE_FIELDS.AssignmentExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction binaryExpression(operator, left, right) {\n const node = {\n type: \"BinaryExpression\",\n operator,\n left,\n right\n };\n const defs = NODE_FIELDS.BinaryExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction interpreterDirective(value) {\n const node = {\n type: \"InterpreterDirective\",\n value\n };\n const defs = NODE_FIELDS.InterpreterDirective;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction directive(value) {\n const node = {\n type: \"Directive\",\n value\n };\n const defs = NODE_FIELDS.Directive;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction directiveLiteral(value) {\n const node = {\n type: \"DirectiveLiteral\",\n value\n };\n const defs = NODE_FIELDS.DirectiveLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction blockStatement(body, directives = []) {\n const node = {\n type: \"BlockStatement\",\n body,\n directives\n };\n const defs = NODE_FIELDS.BlockStatement;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.directives, node, \"directives\", directives, 1);\n return node;\n}\nfunction breakStatement(label = null) {\n const node = {\n type: \"BreakStatement\",\n label\n };\n const defs = NODE_FIELDS.BreakStatement;\n validate(defs.label, node, \"label\", label, 1);\n return node;\n}\nfunction callExpression(callee, _arguments) {\n const node = {\n type: \"CallExpression\",\n callee,\n arguments: _arguments\n };\n const defs = NODE_FIELDS.CallExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n return node;\n}\nfunction catchClause(param = null, body) {\n const node = {\n type: \"CatchClause\",\n param,\n body\n };\n const defs = NODE_FIELDS.CatchClause;\n validate(defs.param, node, \"param\", param, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction conditionalExpression(test, consequent, alternate) {\n const node = {\n type: \"ConditionalExpression\",\n test,\n consequent,\n alternate\n };\n const defs = NODE_FIELDS.ConditionalExpression;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n validate(defs.alternate, node, \"alternate\", alternate, 1);\n return node;\n}\nfunction continueStatement(label = null) {\n const node = {\n type: \"ContinueStatement\",\n label\n };\n const defs = NODE_FIELDS.ContinueStatement;\n validate(defs.label, node, \"label\", label, 1);\n return node;\n}\nfunction debuggerStatement() {\n return {\n type: \"DebuggerStatement\"\n };\n}\nfunction doWhileStatement(test, body) {\n const node = {\n type: \"DoWhileStatement\",\n test,\n body\n };\n const defs = NODE_FIELDS.DoWhileStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction emptyStatement() {\n return {\n type: \"EmptyStatement\"\n };\n}\nfunction expressionStatement(expression) {\n const node = {\n type: \"ExpressionStatement\",\n expression\n };\n const defs = NODE_FIELDS.ExpressionStatement;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction file(program, comments = null, tokens = null) {\n const node = {\n type: \"File\",\n program,\n comments,\n tokens\n };\n const defs = NODE_FIELDS.File;\n validate(defs.program, node, \"program\", program, 1);\n validate(defs.comments, node, \"comments\", comments, 1);\n validate(defs.tokens, node, \"tokens\", tokens);\n return node;\n}\nfunction forInStatement(left, right, body) {\n const node = {\n type: \"ForInStatement\",\n left,\n right,\n body\n };\n const defs = NODE_FIELDS.ForInStatement;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction forStatement(init = null, test = null, update = null, body) {\n const node = {\n type: \"ForStatement\",\n init,\n test,\n update,\n body\n };\n const defs = NODE_FIELDS.ForStatement;\n validate(defs.init, node, \"init\", init, 1);\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.update, node, \"update\", update, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction functionDeclaration(id = null, params, body, generator = false, async = false) {\n const node = {\n type: \"FunctionDeclaration\",\n id,\n params,\n body,\n generator,\n async\n };\n const defs = NODE_FIELDS.FunctionDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction functionExpression(id = null, params, body, generator = false, async = false) {\n const node = {\n type: \"FunctionExpression\",\n id,\n params,\n body,\n generator,\n async\n };\n const defs = NODE_FIELDS.FunctionExpression;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction identifier(name) {\n const node = {\n type: \"Identifier\",\n name\n };\n const defs = NODE_FIELDS.Identifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction ifStatement(test, consequent, alternate = null) {\n const node = {\n type: \"IfStatement\",\n test,\n consequent,\n alternate\n };\n const defs = NODE_FIELDS.IfStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n validate(defs.alternate, node, \"alternate\", alternate, 1);\n return node;\n}\nfunction labeledStatement(label, body) {\n const node = {\n type: \"LabeledStatement\",\n label,\n body\n };\n const defs = NODE_FIELDS.LabeledStatement;\n validate(defs.label, node, \"label\", label, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction stringLiteral(value) {\n const node = {\n type: \"StringLiteral\",\n value\n };\n const defs = NODE_FIELDS.StringLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction numericLiteral(value) {\n const node = {\n type: \"NumericLiteral\",\n value\n };\n const defs = NODE_FIELDS.NumericLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction nullLiteral() {\n return {\n type: \"NullLiteral\"\n };\n}\nfunction booleanLiteral(value) {\n const node = {\n type: \"BooleanLiteral\",\n value\n };\n const defs = NODE_FIELDS.BooleanLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction regExpLiteral(pattern, flags = \"\") {\n const node = {\n type: \"RegExpLiteral\",\n pattern,\n flags\n };\n const defs = NODE_FIELDS.RegExpLiteral;\n validate(defs.pattern, node, \"pattern\", pattern);\n validate(defs.flags, node, \"flags\", flags);\n return node;\n}\nfunction logicalExpression(operator, left, right) {\n const node = {\n type: \"LogicalExpression\",\n operator,\n left,\n right\n };\n const defs = NODE_FIELDS.LogicalExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction memberExpression(object, property, computed = false, optional = null) {\n const node = {\n type: \"MemberExpression\",\n object,\n property,\n computed,\n optional\n };\n const defs = NODE_FIELDS.MemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction newExpression(callee, _arguments) {\n const node = {\n type: \"NewExpression\",\n callee,\n arguments: _arguments\n };\n const defs = NODE_FIELDS.NewExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n return node;\n}\nfunction program(body, directives = [], sourceType = \"script\", interpreter = null) {\n const node = {\n type: \"Program\",\n body,\n directives,\n sourceType,\n interpreter\n };\n const defs = NODE_FIELDS.Program;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.directives, node, \"directives\", directives, 1);\n validate(defs.sourceType, node, \"sourceType\", sourceType);\n validate(defs.interpreter, node, \"interpreter\", interpreter, 1);\n return node;\n}\nfunction objectExpression(properties) {\n const node = {\n type: \"ObjectExpression\",\n properties\n };\n const defs = NODE_FIELDS.ObjectExpression;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nfunction objectMethod(kind = \"method\", key, params, body, computed = false, generator = false, async = false) {\n const node = {\n type: \"ObjectMethod\",\n kind,\n key,\n params,\n body,\n computed,\n generator,\n async\n };\n const defs = NODE_FIELDS.ObjectMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction objectProperty(key, value, computed = false, shorthand = false, decorators = null) {\n const node = {\n type: \"ObjectProperty\",\n key,\n value,\n computed,\n shorthand,\n decorators\n };\n const defs = NODE_FIELDS.ObjectProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.shorthand, node, \"shorthand\", shorthand);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nfunction restElement(argument) {\n const node = {\n type: \"RestElement\",\n argument\n };\n const defs = NODE_FIELDS.RestElement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction returnStatement(argument = null) {\n const node = {\n type: \"ReturnStatement\",\n argument\n };\n const defs = NODE_FIELDS.ReturnStatement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction sequenceExpression(expressions) {\n const node = {\n type: \"SequenceExpression\",\n expressions\n };\n const defs = NODE_FIELDS.SequenceExpression;\n validate(defs.expressions, node, \"expressions\", expressions, 1);\n return node;\n}\nfunction parenthesizedExpression(expression) {\n const node = {\n type: \"ParenthesizedExpression\",\n expression\n };\n const defs = NODE_FIELDS.ParenthesizedExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction switchCase(test = null, consequent) {\n const node = {\n type: \"SwitchCase\",\n test,\n consequent\n };\n const defs = NODE_FIELDS.SwitchCase;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n return node;\n}\nfunction switchStatement(discriminant, cases) {\n const node = {\n type: \"SwitchStatement\",\n discriminant,\n cases\n };\n const defs = NODE_FIELDS.SwitchStatement;\n validate(defs.discriminant, node, \"discriminant\", discriminant, 1);\n validate(defs.cases, node, \"cases\", cases, 1);\n return node;\n}\nfunction thisExpression() {\n return {\n type: \"ThisExpression\"\n };\n}\nfunction throwStatement(argument) {\n const node = {\n type: \"ThrowStatement\",\n argument\n };\n const defs = NODE_FIELDS.ThrowStatement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction tryStatement(block, handler = null, finalizer = null) {\n const node = {\n type: \"TryStatement\",\n block,\n handler,\n finalizer\n };\n const defs = NODE_FIELDS.TryStatement;\n validate(defs.block, node, \"block\", block, 1);\n validate(defs.handler, node, \"handler\", handler, 1);\n validate(defs.finalizer, node, \"finalizer\", finalizer, 1);\n return node;\n}\nfunction unaryExpression(operator, argument, prefix = true) {\n const node = {\n type: \"UnaryExpression\",\n operator,\n argument,\n prefix\n };\n const defs = NODE_FIELDS.UnaryExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.prefix, node, \"prefix\", prefix);\n return node;\n}\nfunction updateExpression(operator, argument, prefix = false) {\n const node = {\n type: \"UpdateExpression\",\n operator,\n argument,\n prefix\n };\n const defs = NODE_FIELDS.UpdateExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.prefix, node, \"prefix\", prefix);\n return node;\n}\nfunction variableDeclaration(kind, declarations) {\n const node = {\n type: \"VariableDeclaration\",\n kind,\n declarations\n };\n const defs = NODE_FIELDS.VariableDeclaration;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.declarations, node, \"declarations\", declarations, 1);\n return node;\n}\nfunction variableDeclarator(id, init = null) {\n const node = {\n type: \"VariableDeclarator\",\n id,\n init\n };\n const defs = NODE_FIELDS.VariableDeclarator;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nfunction whileStatement(test, body) {\n const node = {\n type: \"WhileStatement\",\n test,\n body\n };\n const defs = NODE_FIELDS.WhileStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction withStatement(object, body) {\n const node = {\n type: \"WithStatement\",\n object,\n body\n };\n const defs = NODE_FIELDS.WithStatement;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction assignmentPattern(left, right) {\n const node = {\n type: \"AssignmentPattern\",\n left,\n right\n };\n const defs = NODE_FIELDS.AssignmentPattern;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction arrayPattern(elements) {\n const node = {\n type: \"ArrayPattern\",\n elements\n };\n const defs = NODE_FIELDS.ArrayPattern;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nfunction arrowFunctionExpression(params, body, async = false) {\n const node = {\n type: \"ArrowFunctionExpression\",\n params,\n body,\n async,\n expression: null\n };\n const defs = NODE_FIELDS.ArrowFunctionExpression;\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction classBody(body) {\n const node = {\n type: \"ClassBody\",\n body\n };\n const defs = NODE_FIELDS.ClassBody;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction classExpression(id = null, superClass = null, body, decorators = null) {\n const node = {\n type: \"ClassExpression\",\n id,\n superClass,\n body,\n decorators\n };\n const defs = NODE_FIELDS.ClassExpression;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.superClass, node, \"superClass\", superClass, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nfunction classDeclaration(id = null, superClass = null, body, decorators = null) {\n const node = {\n type: \"ClassDeclaration\",\n id,\n superClass,\n body,\n decorators\n };\n const defs = NODE_FIELDS.ClassDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.superClass, node, \"superClass\", superClass, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nfunction exportAllDeclaration(source) {\n const node = {\n type: \"ExportAllDeclaration\",\n source\n };\n const defs = NODE_FIELDS.ExportAllDeclaration;\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nfunction exportDefaultDeclaration(declaration) {\n const node = {\n type: \"ExportDefaultDeclaration\",\n declaration\n };\n const defs = NODE_FIELDS.ExportDefaultDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n return node;\n}\nfunction exportNamedDeclaration(declaration = null, specifiers = [], source = null) {\n const node = {\n type: \"ExportNamedDeclaration\",\n declaration,\n specifiers,\n source\n };\n const defs = NODE_FIELDS.ExportNamedDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nfunction exportSpecifier(local, exported) {\n const node = {\n type: \"ExportSpecifier\",\n local,\n exported\n };\n const defs = NODE_FIELDS.ExportSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nfunction forOfStatement(left, right, body, _await = false) {\n const node = {\n type: \"ForOfStatement\",\n left,\n right,\n body,\n await: _await\n };\n const defs = NODE_FIELDS.ForOfStatement;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.await, node, \"await\", _await);\n return node;\n}\nfunction importDeclaration(specifiers, source) {\n const node = {\n type: \"ImportDeclaration\",\n specifiers,\n source\n };\n const defs = NODE_FIELDS.ImportDeclaration;\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nfunction importDefaultSpecifier(local) {\n const node = {\n type: \"ImportDefaultSpecifier\",\n local\n };\n const defs = NODE_FIELDS.ImportDefaultSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n return node;\n}\nfunction importNamespaceSpecifier(local) {\n const node = {\n type: \"ImportNamespaceSpecifier\",\n local\n };\n const defs = NODE_FIELDS.ImportNamespaceSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n return node;\n}\nfunction importSpecifier(local, imported) {\n const node = {\n type: \"ImportSpecifier\",\n local,\n imported\n };\n const defs = NODE_FIELDS.ImportSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n validate(defs.imported, node, \"imported\", imported, 1);\n return node;\n}\nfunction importExpression(source, options = null) {\n const node = {\n type: \"ImportExpression\",\n source,\n options\n };\n const defs = NODE_FIELDS.ImportExpression;\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.options, node, \"options\", options, 1);\n return node;\n}\nfunction metaProperty(meta, property) {\n const node = {\n type: \"MetaProperty\",\n meta,\n property\n };\n const defs = NODE_FIELDS.MetaProperty;\n validate(defs.meta, node, \"meta\", meta, 1);\n validate(defs.property, node, \"property\", property, 1);\n return node;\n}\nfunction classMethod(kind = \"method\", key, params, body, computed = false, _static = false, generator = false, async = false) {\n const node = {\n type: \"ClassMethod\",\n kind,\n key,\n params,\n body,\n computed,\n static: _static,\n generator,\n async\n };\n const defs = NODE_FIELDS.ClassMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction objectPattern(properties) {\n const node = {\n type: \"ObjectPattern\",\n properties\n };\n const defs = NODE_FIELDS.ObjectPattern;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nfunction spreadElement(argument) {\n const node = {\n type: \"SpreadElement\",\n argument\n };\n const defs = NODE_FIELDS.SpreadElement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction _super() {\n return {\n type: \"Super\"\n };\n}\nfunction taggedTemplateExpression(tag, quasi) {\n const node = {\n type: \"TaggedTemplateExpression\",\n tag,\n quasi\n };\n const defs = NODE_FIELDS.TaggedTemplateExpression;\n validate(defs.tag, node, \"tag\", tag, 1);\n validate(defs.quasi, node, \"quasi\", quasi, 1);\n return node;\n}\nfunction templateElement(value, tail = false) {\n const node = {\n type: \"TemplateElement\",\n value,\n tail\n };\n const defs = NODE_FIELDS.TemplateElement;\n validate(defs.value, node, \"value\", value);\n validate(defs.tail, node, \"tail\", tail);\n return node;\n}\nfunction templateLiteral(quasis, expressions) {\n const node = {\n type: \"TemplateLiteral\",\n quasis,\n expressions\n };\n const defs = NODE_FIELDS.TemplateLiteral;\n validate(defs.quasis, node, \"quasis\", quasis, 1);\n validate(defs.expressions, node, \"expressions\", expressions, 1);\n return node;\n}\nfunction yieldExpression(argument = null, delegate = false) {\n const node = {\n type: \"YieldExpression\",\n argument,\n delegate\n };\n const defs = NODE_FIELDS.YieldExpression;\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.delegate, node, \"delegate\", delegate);\n return node;\n}\nfunction awaitExpression(argument) {\n const node = {\n type: \"AwaitExpression\",\n argument\n };\n const defs = NODE_FIELDS.AwaitExpression;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction _import() {\n return {\n type: \"Import\"\n };\n}\nfunction bigIntLiteral(value) {\n const node = {\n type: \"BigIntLiteral\",\n value\n };\n const defs = NODE_FIELDS.BigIntLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction exportNamespaceSpecifier(exported) {\n const node = {\n type: \"ExportNamespaceSpecifier\",\n exported\n };\n const defs = NODE_FIELDS.ExportNamespaceSpecifier;\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nfunction optionalMemberExpression(object, property, computed = false, optional) {\n const node = {\n type: \"OptionalMemberExpression\",\n object,\n property,\n computed,\n optional\n };\n const defs = NODE_FIELDS.OptionalMemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction optionalCallExpression(callee, _arguments, optional) {\n const node = {\n type: \"OptionalCallExpression\",\n callee,\n arguments: _arguments,\n optional\n };\n const defs = NODE_FIELDS.OptionalCallExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction classProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {\n const node = {\n type: \"ClassProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static\n };\n const defs = NODE_FIELDS.ClassProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction classAccessorProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {\n const node = {\n type: \"ClassAccessorProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static\n };\n const defs = NODE_FIELDS.ClassAccessorProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction classPrivateProperty(key, value = null, decorators = null, _static = false) {\n const node = {\n type: \"ClassPrivateProperty\",\n key,\n value,\n decorators,\n static: _static\n };\n const defs = NODE_FIELDS.ClassPrivateProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction classPrivateMethod(kind = \"method\", key, params, body, _static = false) {\n const node = {\n type: \"ClassPrivateMethod\",\n kind,\n key,\n params,\n body,\n static: _static\n };\n const defs = NODE_FIELDS.ClassPrivateMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction privateName(id) {\n const node = {\n type: \"PrivateName\",\n id\n };\n const defs = NODE_FIELDS.PrivateName;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction staticBlock(body) {\n const node = {\n type: \"StaticBlock\",\n body\n };\n const defs = NODE_FIELDS.StaticBlock;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction anyTypeAnnotation() {\n return {\n type: \"AnyTypeAnnotation\"\n };\n}\nfunction arrayTypeAnnotation(elementType) {\n const node = {\n type: \"ArrayTypeAnnotation\",\n elementType\n };\n const defs = NODE_FIELDS.ArrayTypeAnnotation;\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n return node;\n}\nfunction booleanTypeAnnotation() {\n return {\n type: \"BooleanTypeAnnotation\"\n };\n}\nfunction booleanLiteralTypeAnnotation(value) {\n const node = {\n type: \"BooleanLiteralTypeAnnotation\",\n value\n };\n const defs = NODE_FIELDS.BooleanLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction nullLiteralTypeAnnotation() {\n return {\n type: \"NullLiteralTypeAnnotation\"\n };\n}\nfunction classImplements(id, typeParameters = null) {\n const node = {\n type: \"ClassImplements\",\n id,\n typeParameters\n };\n const defs = NODE_FIELDS.ClassImplements;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction declareClass(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"DeclareClass\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.DeclareClass;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction declareFunction(id) {\n const node = {\n type: \"DeclareFunction\",\n id\n };\n const defs = NODE_FIELDS.DeclareFunction;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction declareInterface(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"DeclareInterface\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.DeclareInterface;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction declareModule(id, body, kind = null) {\n const node = {\n type: \"DeclareModule\",\n id,\n body,\n kind\n };\n const defs = NODE_FIELDS.DeclareModule;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.kind, node, \"kind\", kind);\n return node;\n}\nfunction declareModuleExports(typeAnnotation) {\n const node = {\n type: \"DeclareModuleExports\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.DeclareModuleExports;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction declareTypeAlias(id, typeParameters = null, right) {\n const node = {\n type: \"DeclareTypeAlias\",\n id,\n typeParameters,\n right\n };\n const defs = NODE_FIELDS.DeclareTypeAlias;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction declareOpaqueType(id, typeParameters = null, supertype = null) {\n const node = {\n type: \"DeclareOpaqueType\",\n id,\n typeParameters,\n supertype\n };\n const defs = NODE_FIELDS.DeclareOpaqueType;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.supertype, node, \"supertype\", supertype, 1);\n return node;\n}\nfunction declareVariable(id) {\n const node = {\n type: \"DeclareVariable\",\n id\n };\n const defs = NODE_FIELDS.DeclareVariable;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction declareExportDeclaration(declaration = null, specifiers = null, source = null, attributes = null) {\n const node = {\n type: \"DeclareExportDeclaration\",\n declaration,\n specifiers,\n source,\n attributes\n };\n const defs = NODE_FIELDS.DeclareExportDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n return node;\n}\nfunction declareExportAllDeclaration(source, attributes = null) {\n const node = {\n type: \"DeclareExportAllDeclaration\",\n source,\n attributes\n };\n const defs = NODE_FIELDS.DeclareExportAllDeclaration;\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n return node;\n}\nfunction declaredPredicate(value) {\n const node = {\n type: \"DeclaredPredicate\",\n value\n };\n const defs = NODE_FIELDS.DeclaredPredicate;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction existsTypeAnnotation() {\n return {\n type: \"ExistsTypeAnnotation\"\n };\n}\nfunction functionTypeAnnotation(typeParameters = null, params, rest = null, returnType) {\n const node = {\n type: \"FunctionTypeAnnotation\",\n typeParameters,\n params,\n rest,\n returnType\n };\n const defs = NODE_FIELDS.FunctionTypeAnnotation;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.rest, node, \"rest\", rest, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nfunction functionTypeParam(name = null, typeAnnotation) {\n const node = {\n type: \"FunctionTypeParam\",\n name,\n typeAnnotation\n };\n const defs = NODE_FIELDS.FunctionTypeParam;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction genericTypeAnnotation(id, typeParameters = null) {\n const node = {\n type: \"GenericTypeAnnotation\",\n id,\n typeParameters\n };\n const defs = NODE_FIELDS.GenericTypeAnnotation;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction inferredPredicate() {\n return {\n type: \"InferredPredicate\"\n };\n}\nfunction interfaceExtends(id, typeParameters = null) {\n const node = {\n type: \"InterfaceExtends\",\n id,\n typeParameters\n };\n const defs = NODE_FIELDS.InterfaceExtends;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction interfaceDeclaration(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"InterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.InterfaceDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction interfaceTypeAnnotation(_extends = null, body) {\n const node = {\n type: \"InterfaceTypeAnnotation\",\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.InterfaceTypeAnnotation;\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction intersectionTypeAnnotation(types) {\n const node = {\n type: \"IntersectionTypeAnnotation\",\n types\n };\n const defs = NODE_FIELDS.IntersectionTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction mixedTypeAnnotation() {\n return {\n type: \"MixedTypeAnnotation\"\n };\n}\nfunction emptyTypeAnnotation() {\n return {\n type: \"EmptyTypeAnnotation\"\n };\n}\nfunction nullableTypeAnnotation(typeAnnotation) {\n const node = {\n type: \"NullableTypeAnnotation\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.NullableTypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction numberLiteralTypeAnnotation(value) {\n const node = {\n type: \"NumberLiteralTypeAnnotation\",\n value\n };\n const defs = NODE_FIELDS.NumberLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction numberTypeAnnotation() {\n return {\n type: \"NumberTypeAnnotation\"\n };\n}\nfunction objectTypeAnnotation(properties, indexers = [], callProperties = [], internalSlots = [], exact = false) {\n const node = {\n type: \"ObjectTypeAnnotation\",\n properties,\n indexers,\n callProperties,\n internalSlots,\n exact\n };\n const defs = NODE_FIELDS.ObjectTypeAnnotation;\n validate(defs.properties, node, \"properties\", properties, 1);\n validate(defs.indexers, node, \"indexers\", indexers, 1);\n validate(defs.callProperties, node, \"callProperties\", callProperties, 1);\n validate(defs.internalSlots, node, \"internalSlots\", internalSlots, 1);\n validate(defs.exact, node, \"exact\", exact);\n return node;\n}\nfunction objectTypeInternalSlot(id, value, optional, _static, method) {\n const node = {\n type: \"ObjectTypeInternalSlot\",\n id,\n value,\n optional,\n static: _static,\n method\n };\n const defs = NODE_FIELDS.ObjectTypeInternalSlot;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.optional, node, \"optional\", optional);\n validate(defs.static, node, \"static\", _static);\n validate(defs.method, node, \"method\", method);\n return node;\n}\nfunction objectTypeCallProperty(value) {\n const node = {\n type: \"ObjectTypeCallProperty\",\n value,\n static: null\n };\n const defs = NODE_FIELDS.ObjectTypeCallProperty;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction objectTypeIndexer(id = null, key, value, variance = null) {\n const node = {\n type: \"ObjectTypeIndexer\",\n id,\n key,\n value,\n variance,\n static: null\n };\n const defs = NODE_FIELDS.ObjectTypeIndexer;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nfunction objectTypeProperty(key, value, variance = null) {\n const node = {\n type: \"ObjectTypeProperty\",\n key,\n value,\n variance,\n kind: null,\n method: null,\n optional: null,\n proto: null,\n static: null\n };\n const defs = NODE_FIELDS.ObjectTypeProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nfunction objectTypeSpreadProperty(argument) {\n const node = {\n type: \"ObjectTypeSpreadProperty\",\n argument\n };\n const defs = NODE_FIELDS.ObjectTypeSpreadProperty;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction opaqueType(id, typeParameters = null, supertype = null, impltype) {\n const node = {\n type: \"OpaqueType\",\n id,\n typeParameters,\n supertype,\n impltype\n };\n const defs = NODE_FIELDS.OpaqueType;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.supertype, node, \"supertype\", supertype, 1);\n validate(defs.impltype, node, \"impltype\", impltype, 1);\n return node;\n}\nfunction qualifiedTypeIdentifier(id, qualification) {\n const node = {\n type: \"QualifiedTypeIdentifier\",\n id,\n qualification\n };\n const defs = NODE_FIELDS.QualifiedTypeIdentifier;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.qualification, node, \"qualification\", qualification, 1);\n return node;\n}\nfunction stringLiteralTypeAnnotation(value) {\n const node = {\n type: \"StringLiteralTypeAnnotation\",\n value\n };\n const defs = NODE_FIELDS.StringLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction stringTypeAnnotation() {\n return {\n type: \"StringTypeAnnotation\"\n };\n}\nfunction symbolTypeAnnotation() {\n return {\n type: \"SymbolTypeAnnotation\"\n };\n}\nfunction thisTypeAnnotation() {\n return {\n type: \"ThisTypeAnnotation\"\n };\n}\nfunction tupleTypeAnnotation(types) {\n const node = {\n type: \"TupleTypeAnnotation\",\n types\n };\n const defs = NODE_FIELDS.TupleTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction typeofTypeAnnotation(argument) {\n const node = {\n type: \"TypeofTypeAnnotation\",\n argument\n };\n const defs = NODE_FIELDS.TypeofTypeAnnotation;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction typeAlias(id, typeParameters = null, right) {\n const node = {\n type: \"TypeAlias\",\n id,\n typeParameters,\n right\n };\n const defs = NODE_FIELDS.TypeAlias;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction typeAnnotation(typeAnnotation) {\n const node = {\n type: \"TypeAnnotation\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction typeCastExpression(expression, typeAnnotation) {\n const node = {\n type: \"TypeCastExpression\",\n expression,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TypeCastExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction typeParameter(bound = null, _default = null, variance = null) {\n const node = {\n type: \"TypeParameter\",\n bound,\n default: _default,\n variance,\n name: null\n };\n const defs = NODE_FIELDS.TypeParameter;\n validate(defs.bound, node, \"bound\", bound, 1);\n validate(defs.default, node, \"default\", _default, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nfunction typeParameterDeclaration(params) {\n const node = {\n type: \"TypeParameterDeclaration\",\n params\n };\n const defs = NODE_FIELDS.TypeParameterDeclaration;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction typeParameterInstantiation(params) {\n const node = {\n type: \"TypeParameterInstantiation\",\n params\n };\n const defs = NODE_FIELDS.TypeParameterInstantiation;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction unionTypeAnnotation(types) {\n const node = {\n type: \"UnionTypeAnnotation\",\n types\n };\n const defs = NODE_FIELDS.UnionTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction variance(kind) {\n const node = {\n type: \"Variance\",\n kind\n };\n const defs = NODE_FIELDS.Variance;\n validate(defs.kind, node, \"kind\", kind);\n return node;\n}\nfunction voidTypeAnnotation() {\n return {\n type: \"VoidTypeAnnotation\"\n };\n}\nfunction enumDeclaration(id, body) {\n const node = {\n type: \"EnumDeclaration\",\n id,\n body\n };\n const defs = NODE_FIELDS.EnumDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction enumBooleanBody(members) {\n const node = {\n type: \"EnumBooleanBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumBooleanBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumNumberBody(members) {\n const node = {\n type: \"EnumNumberBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumNumberBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumStringBody(members) {\n const node = {\n type: \"EnumStringBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumStringBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumSymbolBody(members) {\n const node = {\n type: \"EnumSymbolBody\",\n members,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumSymbolBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumBooleanMember(id) {\n const node = {\n type: \"EnumBooleanMember\",\n id,\n init: null\n };\n const defs = NODE_FIELDS.EnumBooleanMember;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction enumNumberMember(id, init) {\n const node = {\n type: \"EnumNumberMember\",\n id,\n init\n };\n const defs = NODE_FIELDS.EnumNumberMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nfunction enumStringMember(id, init) {\n const node = {\n type: \"EnumStringMember\",\n id,\n init\n };\n const defs = NODE_FIELDS.EnumStringMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nfunction enumDefaultedMember(id) {\n const node = {\n type: \"EnumDefaultedMember\",\n id\n };\n const defs = NODE_FIELDS.EnumDefaultedMember;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction indexedAccessType(objectType, indexType) {\n const node = {\n type: \"IndexedAccessType\",\n objectType,\n indexType\n };\n const defs = NODE_FIELDS.IndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nfunction optionalIndexedAccessType(objectType, indexType) {\n const node = {\n type: \"OptionalIndexedAccessType\",\n objectType,\n indexType,\n optional: null\n };\n const defs = NODE_FIELDS.OptionalIndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nfunction jsxAttribute(name, value = null) {\n const node = {\n type: \"JSXAttribute\",\n name,\n value\n };\n const defs = NODE_FIELDS.JSXAttribute;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction jsxClosingElement(name) {\n const node = {\n type: \"JSXClosingElement\",\n name\n };\n const defs = NODE_FIELDS.JSXClosingElement;\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nfunction jsxElement(openingElement, closingElement = null, children, selfClosing = null) {\n const node = {\n type: \"JSXElement\",\n openingElement,\n closingElement,\n children,\n selfClosing\n };\n const defs = NODE_FIELDS.JSXElement;\n validate(defs.openingElement, node, \"openingElement\", openingElement, 1);\n validate(defs.closingElement, node, \"closingElement\", closingElement, 1);\n validate(defs.children, node, \"children\", children, 1);\n validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n return node;\n}\nfunction jsxEmptyExpression() {\n return {\n type: \"JSXEmptyExpression\"\n };\n}\nfunction jsxExpressionContainer(expression) {\n const node = {\n type: \"JSXExpressionContainer\",\n expression\n };\n const defs = NODE_FIELDS.JSXExpressionContainer;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction jsxSpreadChild(expression) {\n const node = {\n type: \"JSXSpreadChild\",\n expression\n };\n const defs = NODE_FIELDS.JSXSpreadChild;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction jsxIdentifier(name) {\n const node = {\n type: \"JSXIdentifier\",\n name\n };\n const defs = NODE_FIELDS.JSXIdentifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction jsxMemberExpression(object, property) {\n const node = {\n type: \"JSXMemberExpression\",\n object,\n property\n };\n const defs = NODE_FIELDS.JSXMemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n return node;\n}\nfunction jsxNamespacedName(namespace, name) {\n const node = {\n type: \"JSXNamespacedName\",\n namespace,\n name\n };\n const defs = NODE_FIELDS.JSXNamespacedName;\n validate(defs.namespace, node, \"namespace\", namespace, 1);\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nfunction jsxOpeningElement(name, attributes, selfClosing = false) {\n const node = {\n type: \"JSXOpeningElement\",\n name,\n attributes,\n selfClosing\n };\n const defs = NODE_FIELDS.JSXOpeningElement;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n return node;\n}\nfunction jsxSpreadAttribute(argument) {\n const node = {\n type: \"JSXSpreadAttribute\",\n argument\n };\n const defs = NODE_FIELDS.JSXSpreadAttribute;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction jsxText(value) {\n const node = {\n type: \"JSXText\",\n value\n };\n const defs = NODE_FIELDS.JSXText;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction jsxFragment(openingFragment, closingFragment, children) {\n const node = {\n type: \"JSXFragment\",\n openingFragment,\n closingFragment,\n children\n };\n const defs = NODE_FIELDS.JSXFragment;\n validate(defs.openingFragment, node, \"openingFragment\", openingFragment, 1);\n validate(defs.closingFragment, node, \"closingFragment\", closingFragment, 1);\n validate(defs.children, node, \"children\", children, 1);\n return node;\n}\nfunction jsxOpeningFragment() {\n return {\n type: \"JSXOpeningFragment\"\n };\n}\nfunction jsxClosingFragment() {\n return {\n type: \"JSXClosingFragment\"\n };\n}\nfunction noop() {\n return {\n type: \"Noop\"\n };\n}\nfunction placeholder(expectedNode, name) {\n const node = {\n type: \"Placeholder\",\n expectedNode,\n name\n };\n const defs = NODE_FIELDS.Placeholder;\n validate(defs.expectedNode, node, \"expectedNode\", expectedNode);\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nfunction v8IntrinsicIdentifier(name) {\n const node = {\n type: \"V8IntrinsicIdentifier\",\n name\n };\n const defs = NODE_FIELDS.V8IntrinsicIdentifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction argumentPlaceholder() {\n return {\n type: \"ArgumentPlaceholder\"\n };\n}\nfunction bindExpression(object, callee) {\n const node = {\n type: \"BindExpression\",\n object,\n callee\n };\n const defs = NODE_FIELDS.BindExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.callee, node, \"callee\", callee, 1);\n return node;\n}\nfunction importAttribute(key, value) {\n const node = {\n type: \"ImportAttribute\",\n key,\n value\n };\n const defs = NODE_FIELDS.ImportAttribute;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction decorator(expression) {\n const node = {\n type: \"Decorator\",\n expression\n };\n const defs = NODE_FIELDS.Decorator;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction doExpression(body, async = false) {\n const node = {\n type: \"DoExpression\",\n body,\n async\n };\n const defs = NODE_FIELDS.DoExpression;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction exportDefaultSpecifier(exported) {\n const node = {\n type: \"ExportDefaultSpecifier\",\n exported\n };\n const defs = NODE_FIELDS.ExportDefaultSpecifier;\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nfunction recordExpression(properties) {\n const node = {\n type: \"RecordExpression\",\n properties\n };\n const defs = NODE_FIELDS.RecordExpression;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nfunction tupleExpression(elements = []) {\n const node = {\n type: \"TupleExpression\",\n elements\n };\n const defs = NODE_FIELDS.TupleExpression;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nfunction decimalLiteral(value) {\n const node = {\n type: \"DecimalLiteral\",\n value\n };\n const defs = NODE_FIELDS.DecimalLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction moduleExpression(body) {\n const node = {\n type: \"ModuleExpression\",\n body\n };\n const defs = NODE_FIELDS.ModuleExpression;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction topicReference() {\n return {\n type: \"TopicReference\"\n };\n}\nfunction pipelineTopicExpression(expression) {\n const node = {\n type: \"PipelineTopicExpression\",\n expression\n };\n const defs = NODE_FIELDS.PipelineTopicExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction pipelineBareFunction(callee) {\n const node = {\n type: \"PipelineBareFunction\",\n callee\n };\n const defs = NODE_FIELDS.PipelineBareFunction;\n validate(defs.callee, node, \"callee\", callee, 1);\n return node;\n}\nfunction pipelinePrimaryTopicReference() {\n return {\n type: \"PipelinePrimaryTopicReference\"\n };\n}\nfunction tsParameterProperty(parameter) {\n const node = {\n type: \"TSParameterProperty\",\n parameter\n };\n const defs = NODE_FIELDS.TSParameterProperty;\n validate(defs.parameter, node, \"parameter\", parameter, 1);\n return node;\n}\nfunction tsDeclareFunction(id = null, typeParameters = null, params, returnType = null) {\n const node = {\n type: \"TSDeclareFunction\",\n id,\n typeParameters,\n params,\n returnType\n };\n const defs = NODE_FIELDS.TSDeclareFunction;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nfunction tsDeclareMethod(decorators = null, key, typeParameters = null, params, returnType = null) {\n const node = {\n type: \"TSDeclareMethod\",\n decorators,\n key,\n typeParameters,\n params,\n returnType\n };\n const defs = NODE_FIELDS.TSDeclareMethod;\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nfunction tsQualifiedName(left, right) {\n const node = {\n type: \"TSQualifiedName\",\n left,\n right\n };\n const defs = NODE_FIELDS.TSQualifiedName;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction tsCallSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSCallSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSCallSignatureDeclaration;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsConstructSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSConstructSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSConstructSignatureDeclaration;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsPropertySignature(key, typeAnnotation = null) {\n const node = {\n type: \"TSPropertySignature\",\n key,\n typeAnnotation,\n kind: null\n };\n const defs = NODE_FIELDS.TSPropertySignature;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsMethodSignature(key, typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSMethodSignature\",\n key,\n typeParameters,\n parameters,\n typeAnnotation,\n kind: null\n };\n const defs = NODE_FIELDS.TSMethodSignature;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsIndexSignature(parameters, typeAnnotation = null) {\n const node = {\n type: \"TSIndexSignature\",\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSIndexSignature;\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsAnyKeyword() {\n return {\n type: \"TSAnyKeyword\"\n };\n}\nfunction tsBooleanKeyword() {\n return {\n type: \"TSBooleanKeyword\"\n };\n}\nfunction tsBigIntKeyword() {\n return {\n type: \"TSBigIntKeyword\"\n };\n}\nfunction tsIntrinsicKeyword() {\n return {\n type: \"TSIntrinsicKeyword\"\n };\n}\nfunction tsNeverKeyword() {\n return {\n type: \"TSNeverKeyword\"\n };\n}\nfunction tsNullKeyword() {\n return {\n type: \"TSNullKeyword\"\n };\n}\nfunction tsNumberKeyword() {\n return {\n type: \"TSNumberKeyword\"\n };\n}\nfunction tsObjectKeyword() {\n return {\n type: \"TSObjectKeyword\"\n };\n}\nfunction tsStringKeyword() {\n return {\n type: \"TSStringKeyword\"\n };\n}\nfunction tsSymbolKeyword() {\n return {\n type: \"TSSymbolKeyword\"\n };\n}\nfunction tsUndefinedKeyword() {\n return {\n type: \"TSUndefinedKeyword\"\n };\n}\nfunction tsUnknownKeyword() {\n return {\n type: \"TSUnknownKeyword\"\n };\n}\nfunction tsVoidKeyword() {\n return {\n type: \"TSVoidKeyword\"\n };\n}\nfunction tsThisType() {\n return {\n type: \"TSThisType\"\n };\n}\nfunction tsFunctionType(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSFunctionType\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSFunctionType;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsConstructorType(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSConstructorType\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSConstructorType;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeReference(typeName, typeParameters = null) {\n const node = {\n type: \"TSTypeReference\",\n typeName,\n typeParameters\n };\n const defs = NODE_FIELDS.TSTypeReference;\n validate(defs.typeName, node, \"typeName\", typeName, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsTypePredicate(parameterName, typeAnnotation = null, asserts = null) {\n const node = {\n type: \"TSTypePredicate\",\n parameterName,\n typeAnnotation,\n asserts\n };\n const defs = NODE_FIELDS.TSTypePredicate;\n validate(defs.parameterName, node, \"parameterName\", parameterName, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.asserts, node, \"asserts\", asserts);\n return node;\n}\nfunction tsTypeQuery(exprName, typeParameters = null) {\n const node = {\n type: \"TSTypeQuery\",\n exprName,\n typeParameters\n };\n const defs = NODE_FIELDS.TSTypeQuery;\n validate(defs.exprName, node, \"exprName\", exprName, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsTypeLiteral(members) {\n const node = {\n type: \"TSTypeLiteral\",\n members\n };\n const defs = NODE_FIELDS.TSTypeLiteral;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction tsArrayType(elementType) {\n const node = {\n type: \"TSArrayType\",\n elementType\n };\n const defs = NODE_FIELDS.TSArrayType;\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n return node;\n}\nfunction tsTupleType(elementTypes) {\n const node = {\n type: \"TSTupleType\",\n elementTypes\n };\n const defs = NODE_FIELDS.TSTupleType;\n validate(defs.elementTypes, node, \"elementTypes\", elementTypes, 1);\n return node;\n}\nfunction tsOptionalType(typeAnnotation) {\n const node = {\n type: \"TSOptionalType\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSOptionalType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsRestType(typeAnnotation) {\n const node = {\n type: \"TSRestType\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSRestType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsNamedTupleMember(label, elementType, optional = false) {\n const node = {\n type: \"TSNamedTupleMember\",\n label,\n elementType,\n optional\n };\n const defs = NODE_FIELDS.TSNamedTupleMember;\n validate(defs.label, node, \"label\", label, 1);\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction tsUnionType(types) {\n const node = {\n type: \"TSUnionType\",\n types\n };\n const defs = NODE_FIELDS.TSUnionType;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction tsIntersectionType(types) {\n const node = {\n type: \"TSIntersectionType\",\n types\n };\n const defs = NODE_FIELDS.TSIntersectionType;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction tsConditionalType(checkType, extendsType, trueType, falseType) {\n const node = {\n type: \"TSConditionalType\",\n checkType,\n extendsType,\n trueType,\n falseType\n };\n const defs = NODE_FIELDS.TSConditionalType;\n validate(defs.checkType, node, \"checkType\", checkType, 1);\n validate(defs.extendsType, node, \"extendsType\", extendsType, 1);\n validate(defs.trueType, node, \"trueType\", trueType, 1);\n validate(defs.falseType, node, \"falseType\", falseType, 1);\n return node;\n}\nfunction tsInferType(typeParameter) {\n const node = {\n type: \"TSInferType\",\n typeParameter\n };\n const defs = NODE_FIELDS.TSInferType;\n validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n return node;\n}\nfunction tsParenthesizedType(typeAnnotation) {\n const node = {\n type: \"TSParenthesizedType\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSParenthesizedType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeOperator(typeAnnotation) {\n const node = {\n type: \"TSTypeOperator\",\n typeAnnotation,\n operator: null\n };\n const defs = NODE_FIELDS.TSTypeOperator;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsIndexedAccessType(objectType, indexType) {\n const node = {\n type: \"TSIndexedAccessType\",\n objectType,\n indexType\n };\n const defs = NODE_FIELDS.TSIndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nfunction tsMappedType(typeParameter, typeAnnotation = null, nameType = null) {\n const node = {\n type: \"TSMappedType\",\n typeParameter,\n typeAnnotation,\n nameType\n };\n const defs = NODE_FIELDS.TSMappedType;\n validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.nameType, node, \"nameType\", nameType, 1);\n return node;\n}\nfunction tsLiteralType(literal) {\n const node = {\n type: \"TSLiteralType\",\n literal\n };\n const defs = NODE_FIELDS.TSLiteralType;\n validate(defs.literal, node, \"literal\", literal, 1);\n return node;\n}\nfunction tsExpressionWithTypeArguments(expression, typeParameters = null) {\n const node = {\n type: \"TSExpressionWithTypeArguments\",\n expression,\n typeParameters\n };\n const defs = NODE_FIELDS.TSExpressionWithTypeArguments;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsInterfaceDeclaration(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"TSInterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.TSInterfaceDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsInterfaceBody(body) {\n const node = {\n type: \"TSInterfaceBody\",\n body\n };\n const defs = NODE_FIELDS.TSInterfaceBody;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsTypeAliasDeclaration(id, typeParameters = null, typeAnnotation) {\n const node = {\n type: \"TSTypeAliasDeclaration\",\n id,\n typeParameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSTypeAliasDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsInstantiationExpression(expression, typeParameters = null) {\n const node = {\n type: \"TSInstantiationExpression\",\n expression,\n typeParameters\n };\n const defs = NODE_FIELDS.TSInstantiationExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsAsExpression(expression, typeAnnotation) {\n const node = {\n type: \"TSAsExpression\",\n expression,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSAsExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsSatisfiesExpression(expression, typeAnnotation) {\n const node = {\n type: \"TSSatisfiesExpression\",\n expression,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSSatisfiesExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeAssertion(typeAnnotation, expression) {\n const node = {\n type: \"TSTypeAssertion\",\n typeAnnotation,\n expression\n };\n const defs = NODE_FIELDS.TSTypeAssertion;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsEnumDeclaration(id, members) {\n const node = {\n type: \"TSEnumDeclaration\",\n id,\n members\n };\n const defs = NODE_FIELDS.TSEnumDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction tsEnumMember(id, initializer = null) {\n const node = {\n type: \"TSEnumMember\",\n id,\n initializer\n };\n const defs = NODE_FIELDS.TSEnumMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.initializer, node, \"initializer\", initializer, 1);\n return node;\n}\nfunction tsModuleDeclaration(id, body) {\n const node = {\n type: \"TSModuleDeclaration\",\n id,\n body,\n kind: null\n };\n const defs = NODE_FIELDS.TSModuleDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsModuleBlock(body) {\n const node = {\n type: \"TSModuleBlock\",\n body\n };\n const defs = NODE_FIELDS.TSModuleBlock;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsImportType(argument, qualifier = null, typeParameters = null) {\n const node = {\n type: \"TSImportType\",\n argument,\n qualifier,\n typeParameters\n };\n const defs = NODE_FIELDS.TSImportType;\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.qualifier, node, \"qualifier\", qualifier, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsImportEqualsDeclaration(id, moduleReference) {\n const node = {\n type: \"TSImportEqualsDeclaration\",\n id,\n moduleReference,\n isExport: null\n };\n const defs = NODE_FIELDS.TSImportEqualsDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.moduleReference, node, \"moduleReference\", moduleReference, 1);\n return node;\n}\nfunction tsExternalModuleReference(expression) {\n const node = {\n type: \"TSExternalModuleReference\",\n expression\n };\n const defs = NODE_FIELDS.TSExternalModuleReference;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsNonNullExpression(expression) {\n const node = {\n type: \"TSNonNullExpression\",\n expression\n };\n const defs = NODE_FIELDS.TSNonNullExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsExportAssignment(expression) {\n const node = {\n type: \"TSExportAssignment\",\n expression\n };\n const defs = NODE_FIELDS.TSExportAssignment;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsNamespaceExportDeclaration(id) {\n const node = {\n type: \"TSNamespaceExportDeclaration\",\n id\n };\n const defs = NODE_FIELDS.TSNamespaceExportDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction tsTypeAnnotation(typeAnnotation) {\n const node = {\n type: \"TSTypeAnnotation\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSTypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeParameterInstantiation(params) {\n const node = {\n type: \"TSTypeParameterInstantiation\",\n params\n };\n const defs = NODE_FIELDS.TSTypeParameterInstantiation;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction tsTypeParameterDeclaration(params) {\n const node = {\n type: \"TSTypeParameterDeclaration\",\n params\n };\n const defs = NODE_FIELDS.TSTypeParameterDeclaration;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction tsTypeParameter(constraint = null, _default = null, name) {\n const node = {\n type: \"TSTypeParameter\",\n constraint,\n default: _default,\n name\n };\n const defs = NODE_FIELDS.TSTypeParameter;\n validate(defs.constraint, node, \"constraint\", constraint, 1);\n validate(defs.default, node, \"default\", _default, 1);\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction NumberLiteral(value) {\n (0, _deprecationWarning.default)(\"NumberLiteral\", \"NumericLiteral\", \"The node type \");\n return numericLiteral(value);\n}\nfunction RegexLiteral(pattern, flags = \"\") {\n (0, _deprecationWarning.default)(\"RegexLiteral\", \"RegExpLiteral\", \"The node type \");\n return regExpLiteral(pattern, flags);\n}\nfunction RestProperty(argument) {\n (0, _deprecationWarning.default)(\"RestProperty\", \"RestElement\", \"The node type \");\n return restElement(argument);\n}\nfunction SpreadProperty(argument) {\n (0, _deprecationWarning.default)(\"SpreadProperty\", \"SpreadElement\", \"The node type \");\n return spreadElement(argument);\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/builders/generated/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/builders/generated/uppercase.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/builders/generated/uppercase.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnyTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.anyTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"ArgumentPlaceholder\", ({\n enumerable: true,\n get: function () {\n return _index.argumentPlaceholder;\n }\n}));\nObject.defineProperty(exports, \"ArrayExpression\", ({\n enumerable: true,\n get: function () {\n return _index.arrayExpression;\n }\n}));\nObject.defineProperty(exports, \"ArrayPattern\", ({\n enumerable: true,\n get: function () {\n return _index.arrayPattern;\n }\n}));\nObject.defineProperty(exports, \"ArrayTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.arrayTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"ArrowFunctionExpression\", ({\n enumerable: true,\n get: function () {\n return _index.arrowFunctionExpression;\n }\n}));\nObject.defineProperty(exports, \"AssignmentExpression\", ({\n enumerable: true,\n get: function () {\n return _index.assignmentExpression;\n }\n}));\nObject.defineProperty(exports, \"AssignmentPattern\", ({\n enumerable: true,\n get: function () {\n return _index.assignmentPattern;\n }\n}));\nObject.defineProperty(exports, \"AwaitExpression\", ({\n enumerable: true,\n get: function () {\n return _index.awaitExpression;\n }\n}));\nObject.defineProperty(exports, \"BigIntLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.bigIntLiteral;\n }\n}));\nObject.defineProperty(exports, \"BinaryExpression\", ({\n enumerable: true,\n get: function () {\n return _index.binaryExpression;\n }\n}));\nObject.defineProperty(exports, \"BindExpression\", ({\n enumerable: true,\n get: function () {\n return _index.bindExpression;\n }\n}));\nObject.defineProperty(exports, \"BlockStatement\", ({\n enumerable: true,\n get: function () {\n return _index.blockStatement;\n }\n}));\nObject.defineProperty(exports, \"BooleanLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.booleanLiteral;\n }\n}));\nObject.defineProperty(exports, \"BooleanLiteralTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.booleanLiteralTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"BooleanTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.booleanTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"BreakStatement\", ({\n enumerable: true,\n get: function () {\n return _index.breakStatement;\n }\n}));\nObject.defineProperty(exports, \"CallExpression\", ({\n enumerable: true,\n get: function () {\n return _index.callExpression;\n }\n}));\nObject.defineProperty(exports, \"CatchClause\", ({\n enumerable: true,\n get: function () {\n return _index.catchClause;\n }\n}));\nObject.defineProperty(exports, \"ClassAccessorProperty\", ({\n enumerable: true,\n get: function () {\n return _index.classAccessorProperty;\n }\n}));\nObject.defineProperty(exports, \"ClassBody\", ({\n enumerable: true,\n get: function () {\n return _index.classBody;\n }\n}));\nObject.defineProperty(exports, \"ClassDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.classDeclaration;\n }\n}));\nObject.defineProperty(exports, \"ClassExpression\", ({\n enumerable: true,\n get: function () {\n return _index.classExpression;\n }\n}));\nObject.defineProperty(exports, \"ClassImplements\", ({\n enumerable: true,\n get: function () {\n return _index.classImplements;\n }\n}));\nObject.defineProperty(exports, \"ClassMethod\", ({\n enumerable: true,\n get: function () {\n return _index.classMethod;\n }\n}));\nObject.defineProperty(exports, \"ClassPrivateMethod\", ({\n enumerable: true,\n get: function () {\n return _index.classPrivateMethod;\n }\n}));\nObject.defineProperty(exports, \"ClassPrivateProperty\", ({\n enumerable: true,\n get: function () {\n return _index.classPrivateProperty;\n }\n}));\nObject.defineProperty(exports, \"ClassProperty\", ({\n enumerable: true,\n get: function () {\n return _index.classProperty;\n }\n}));\nObject.defineProperty(exports, \"ConditionalExpression\", ({\n enumerable: true,\n get: function () {\n return _index.conditionalExpression;\n }\n}));\nObject.defineProperty(exports, \"ContinueStatement\", ({\n enumerable: true,\n get: function () {\n return _index.continueStatement;\n }\n}));\nObject.defineProperty(exports, \"DebuggerStatement\", ({\n enumerable: true,\n get: function () {\n return _index.debuggerStatement;\n }\n}));\nObject.defineProperty(exports, \"DecimalLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.decimalLiteral;\n }\n}));\nObject.defineProperty(exports, \"DeclareClass\", ({\n enumerable: true,\n get: function () {\n return _index.declareClass;\n }\n}));\nObject.defineProperty(exports, \"DeclareExportAllDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.declareExportAllDeclaration;\n }\n}));\nObject.defineProperty(exports, \"DeclareExportDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.declareExportDeclaration;\n }\n}));\nObject.defineProperty(exports, \"DeclareFunction\", ({\n enumerable: true,\n get: function () {\n return _index.declareFunction;\n }\n}));\nObject.defineProperty(exports, \"DeclareInterface\", ({\n enumerable: true,\n get: function () {\n return _index.declareInterface;\n }\n}));\nObject.defineProperty(exports, \"DeclareModule\", ({\n enumerable: true,\n get: function () {\n return _index.declareModule;\n }\n}));\nObject.defineProperty(exports, \"DeclareModuleExports\", ({\n enumerable: true,\n get: function () {\n return _index.declareModuleExports;\n }\n}));\nObject.defineProperty(exports, \"DeclareOpaqueType\", ({\n enumerable: true,\n get: function () {\n return _index.declareOpaqueType;\n }\n}));\nObject.defineProperty(exports, \"DeclareTypeAlias\", ({\n enumerable: true,\n get: function () {\n return _index.declareTypeAlias;\n }\n}));\nObject.defineProperty(exports, \"DeclareVariable\", ({\n enumerable: true,\n get: function () {\n return _index.declareVariable;\n }\n}));\nObject.defineProperty(exports, \"DeclaredPredicate\", ({\n enumerable: true,\n get: function () {\n return _index.declaredPredicate;\n }\n}));\nObject.defineProperty(exports, \"Decorator\", ({\n enumerable: true,\n get: function () {\n return _index.decorator;\n }\n}));\nObject.defineProperty(exports, \"Directive\", ({\n enumerable: true,\n get: function () {\n return _index.directive;\n }\n}));\nObject.defineProperty(exports, \"DirectiveLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.directiveLiteral;\n }\n}));\nObject.defineProperty(exports, \"DoExpression\", ({\n enumerable: true,\n get: function () {\n return _index.doExpression;\n }\n}));\nObject.defineProperty(exports, \"DoWhileStatement\", ({\n enumerable: true,\n get: function () {\n return _index.doWhileStatement;\n }\n}));\nObject.defineProperty(exports, \"EmptyStatement\", ({\n enumerable: true,\n get: function () {\n return _index.emptyStatement;\n }\n}));\nObject.defineProperty(exports, \"EmptyTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.emptyTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"EnumBooleanBody\", ({\n enumerable: true,\n get: function () {\n return _index.enumBooleanBody;\n }\n}));\nObject.defineProperty(exports, \"EnumBooleanMember\", ({\n enumerable: true,\n get: function () {\n return _index.enumBooleanMember;\n }\n}));\nObject.defineProperty(exports, \"EnumDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.enumDeclaration;\n }\n}));\nObject.defineProperty(exports, \"EnumDefaultedMember\", ({\n enumerable: true,\n get: function () {\n return _index.enumDefaultedMember;\n }\n}));\nObject.defineProperty(exports, \"EnumNumberBody\", ({\n enumerable: true,\n get: function () {\n return _index.enumNumberBody;\n }\n}));\nObject.defineProperty(exports, \"EnumNumberMember\", ({\n enumerable: true,\n get: function () {\n return _index.enumNumberMember;\n }\n}));\nObject.defineProperty(exports, \"EnumStringBody\", ({\n enumerable: true,\n get: function () {\n return _index.enumStringBody;\n }\n}));\nObject.defineProperty(exports, \"EnumStringMember\", ({\n enumerable: true,\n get: function () {\n return _index.enumStringMember;\n }\n}));\nObject.defineProperty(exports, \"EnumSymbolBody\", ({\n enumerable: true,\n get: function () {\n return _index.enumSymbolBody;\n }\n}));\nObject.defineProperty(exports, \"ExistsTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.existsTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"ExportAllDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.exportAllDeclaration;\n }\n}));\nObject.defineProperty(exports, \"ExportDefaultDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.exportDefaultDeclaration;\n }\n}));\nObject.defineProperty(exports, \"ExportDefaultSpecifier\", ({\n enumerable: true,\n get: function () {\n return _index.exportDefaultSpecifier;\n }\n}));\nObject.defineProperty(exports, \"ExportNamedDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.exportNamedDeclaration;\n }\n}));\nObject.defineProperty(exports, \"ExportNamespaceSpecifier\", ({\n enumerable: true,\n get: function () {\n return _index.exportNamespaceSpecifier;\n }\n}));\nObject.defineProperty(exports, \"ExportSpecifier\", ({\n enumerable: true,\n get: function () {\n return _index.exportSpecifier;\n }\n}));\nObject.defineProperty(exports, \"ExpressionStatement\", ({\n enumerable: true,\n get: function () {\n return _index.expressionStatement;\n }\n}));\nObject.defineProperty(exports, \"File\", ({\n enumerable: true,\n get: function () {\n return _index.file;\n }\n}));\nObject.defineProperty(exports, \"ForInStatement\", ({\n enumerable: true,\n get: function () {\n return _index.forInStatement;\n }\n}));\nObject.defineProperty(exports, \"ForOfStatement\", ({\n enumerable: true,\n get: function () {\n return _index.forOfStatement;\n }\n}));\nObject.defineProperty(exports, \"ForStatement\", ({\n enumerable: true,\n get: function () {\n return _index.forStatement;\n }\n}));\nObject.defineProperty(exports, \"FunctionDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.functionDeclaration;\n }\n}));\nObject.defineProperty(exports, \"FunctionExpression\", ({\n enumerable: true,\n get: function () {\n return _index.functionExpression;\n }\n}));\nObject.defineProperty(exports, \"FunctionTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.functionTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"FunctionTypeParam\", ({\n enumerable: true,\n get: function () {\n return _index.functionTypeParam;\n }\n}));\nObject.defineProperty(exports, \"GenericTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.genericTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"Identifier\", ({\n enumerable: true,\n get: function () {\n return _index.identifier;\n }\n}));\nObject.defineProperty(exports, \"IfStatement\", ({\n enumerable: true,\n get: function () {\n return _index.ifStatement;\n }\n}));\nObject.defineProperty(exports, \"Import\", ({\n enumerable: true,\n get: function () {\n return _index.import;\n }\n}));\nObject.defineProperty(exports, \"ImportAttribute\", ({\n enumerable: true,\n get: function () {\n return _index.importAttribute;\n }\n}));\nObject.defineProperty(exports, \"ImportDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.importDeclaration;\n }\n}));\nObject.defineProperty(exports, \"ImportDefaultSpecifier\", ({\n enumerable: true,\n get: function () {\n return _index.importDefaultSpecifier;\n }\n}));\nObject.defineProperty(exports, \"ImportExpression\", ({\n enumerable: true,\n get: function () {\n return _index.importExpression;\n }\n}));\nObject.defineProperty(exports, \"ImportNamespaceSpecifier\", ({\n enumerable: true,\n get: function () {\n return _index.importNamespaceSpecifier;\n }\n}));\nObject.defineProperty(exports, \"ImportSpecifier\", ({\n enumerable: true,\n get: function () {\n return _index.importSpecifier;\n }\n}));\nObject.defineProperty(exports, \"IndexedAccessType\", ({\n enumerable: true,\n get: function () {\n return _index.indexedAccessType;\n }\n}));\nObject.defineProperty(exports, \"InferredPredicate\", ({\n enumerable: true,\n get: function () {\n return _index.inferredPredicate;\n }\n}));\nObject.defineProperty(exports, \"InterfaceDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.interfaceDeclaration;\n }\n}));\nObject.defineProperty(exports, \"InterfaceExtends\", ({\n enumerable: true,\n get: function () {\n return _index.interfaceExtends;\n }\n}));\nObject.defineProperty(exports, \"InterfaceTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.interfaceTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"InterpreterDirective\", ({\n enumerable: true,\n get: function () {\n return _index.interpreterDirective;\n }\n}));\nObject.defineProperty(exports, \"IntersectionTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.intersectionTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"JSXAttribute\", ({\n enumerable: true,\n get: function () {\n return _index.jsxAttribute;\n }\n}));\nObject.defineProperty(exports, \"JSXClosingElement\", ({\n enumerable: true,\n get: function () {\n return _index.jsxClosingElement;\n }\n}));\nObject.defineProperty(exports, \"JSXClosingFragment\", ({\n enumerable: true,\n get: function () {\n return _index.jsxClosingFragment;\n }\n}));\nObject.defineProperty(exports, \"JSXElement\", ({\n enumerable: true,\n get: function () {\n return _index.jsxElement;\n }\n}));\nObject.defineProperty(exports, \"JSXEmptyExpression\", ({\n enumerable: true,\n get: function () {\n return _index.jsxEmptyExpression;\n }\n}));\nObject.defineProperty(exports, \"JSXExpressionContainer\", ({\n enumerable: true,\n get: function () {\n return _index.jsxExpressionContainer;\n }\n}));\nObject.defineProperty(exports, \"JSXFragment\", ({\n enumerable: true,\n get: function () {\n return _index.jsxFragment;\n }\n}));\nObject.defineProperty(exports, \"JSXIdentifier\", ({\n enumerable: true,\n get: function () {\n return _index.jsxIdentifier;\n }\n}));\nObject.defineProperty(exports, \"JSXMemberExpression\", ({\n enumerable: true,\n get: function () {\n return _index.jsxMemberExpression;\n }\n}));\nObject.defineProperty(exports, \"JSXNamespacedName\", ({\n enumerable: true,\n get: function () {\n return _index.jsxNamespacedName;\n }\n}));\nObject.defineProperty(exports, \"JSXOpeningElement\", ({\n enumerable: true,\n get: function () {\n return _index.jsxOpeningElement;\n }\n}));\nObject.defineProperty(exports, \"JSXOpeningFragment\", ({\n enumerable: true,\n get: function () {\n return _index.jsxOpeningFragment;\n }\n}));\nObject.defineProperty(exports, \"JSXSpreadAttribute\", ({\n enumerable: true,\n get: function () {\n return _index.jsxSpreadAttribute;\n }\n}));\nObject.defineProperty(exports, \"JSXSpreadChild\", ({\n enumerable: true,\n get: function () {\n return _index.jsxSpreadChild;\n }\n}));\nObject.defineProperty(exports, \"JSXText\", ({\n enumerable: true,\n get: function () {\n return _index.jsxText;\n }\n}));\nObject.defineProperty(exports, \"LabeledStatement\", ({\n enumerable: true,\n get: function () {\n return _index.labeledStatement;\n }\n}));\nObject.defineProperty(exports, \"LogicalExpression\", ({\n enumerable: true,\n get: function () {\n return _index.logicalExpression;\n }\n}));\nObject.defineProperty(exports, \"MemberExpression\", ({\n enumerable: true,\n get: function () {\n return _index.memberExpression;\n }\n}));\nObject.defineProperty(exports, \"MetaProperty\", ({\n enumerable: true,\n get: function () {\n return _index.metaProperty;\n }\n}));\nObject.defineProperty(exports, \"MixedTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.mixedTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"ModuleExpression\", ({\n enumerable: true,\n get: function () {\n return _index.moduleExpression;\n }\n}));\nObject.defineProperty(exports, \"NewExpression\", ({\n enumerable: true,\n get: function () {\n return _index.newExpression;\n }\n}));\nObject.defineProperty(exports, \"Noop\", ({\n enumerable: true,\n get: function () {\n return _index.noop;\n }\n}));\nObject.defineProperty(exports, \"NullLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.nullLiteral;\n }\n}));\nObject.defineProperty(exports, \"NullLiteralTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.nullLiteralTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"NullableTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.nullableTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"NumberLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.numberLiteral;\n }\n}));\nObject.defineProperty(exports, \"NumberLiteralTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.numberLiteralTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"NumberTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.numberTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"NumericLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.numericLiteral;\n }\n}));\nObject.defineProperty(exports, \"ObjectExpression\", ({\n enumerable: true,\n get: function () {\n return _index.objectExpression;\n }\n}));\nObject.defineProperty(exports, \"ObjectMethod\", ({\n enumerable: true,\n get: function () {\n return _index.objectMethod;\n }\n}));\nObject.defineProperty(exports, \"ObjectPattern\", ({\n enumerable: true,\n get: function () {\n return _index.objectPattern;\n }\n}));\nObject.defineProperty(exports, \"ObjectProperty\", ({\n enumerable: true,\n get: function () {\n return _index.objectProperty;\n }\n}));\nObject.defineProperty(exports, \"ObjectTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.objectTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"ObjectTypeCallProperty\", ({\n enumerable: true,\n get: function () {\n return _index.objectTypeCallProperty;\n }\n}));\nObject.defineProperty(exports, \"ObjectTypeIndexer\", ({\n enumerable: true,\n get: function () {\n return _index.objectTypeIndexer;\n }\n}));\nObject.defineProperty(exports, \"ObjectTypeInternalSlot\", ({\n enumerable: true,\n get: function () {\n return _index.objectTypeInternalSlot;\n }\n}));\nObject.defineProperty(exports, \"ObjectTypeProperty\", ({\n enumerable: true,\n get: function () {\n return _index.objectTypeProperty;\n }\n}));\nObject.defineProperty(exports, \"ObjectTypeSpreadProperty\", ({\n enumerable: true,\n get: function () {\n return _index.objectTypeSpreadProperty;\n }\n}));\nObject.defineProperty(exports, \"OpaqueType\", ({\n enumerable: true,\n get: function () {\n return _index.opaqueType;\n }\n}));\nObject.defineProperty(exports, \"OptionalCallExpression\", ({\n enumerable: true,\n get: function () {\n return _index.optionalCallExpression;\n }\n}));\nObject.defineProperty(exports, \"OptionalIndexedAccessType\", ({\n enumerable: true,\n get: function () {\n return _index.optionalIndexedAccessType;\n }\n}));\nObject.defineProperty(exports, \"OptionalMemberExpression\", ({\n enumerable: true,\n get: function () {\n return _index.optionalMemberExpression;\n }\n}));\nObject.defineProperty(exports, \"ParenthesizedExpression\", ({\n enumerable: true,\n get: function () {\n return _index.parenthesizedExpression;\n }\n}));\nObject.defineProperty(exports, \"PipelineBareFunction\", ({\n enumerable: true,\n get: function () {\n return _index.pipelineBareFunction;\n }\n}));\nObject.defineProperty(exports, \"PipelinePrimaryTopicReference\", ({\n enumerable: true,\n get: function () {\n return _index.pipelinePrimaryTopicReference;\n }\n}));\nObject.defineProperty(exports, \"PipelineTopicExpression\", ({\n enumerable: true,\n get: function () {\n return _index.pipelineTopicExpression;\n }\n}));\nObject.defineProperty(exports, \"Placeholder\", ({\n enumerable: true,\n get: function () {\n return _index.placeholder;\n }\n}));\nObject.defineProperty(exports, \"PrivateName\", ({\n enumerable: true,\n get: function () {\n return _index.privateName;\n }\n}));\nObject.defineProperty(exports, \"Program\", ({\n enumerable: true,\n get: function () {\n return _index.program;\n }\n}));\nObject.defineProperty(exports, \"QualifiedTypeIdentifier\", ({\n enumerable: true,\n get: function () {\n return _index.qualifiedTypeIdentifier;\n }\n}));\nObject.defineProperty(exports, \"RecordExpression\", ({\n enumerable: true,\n get: function () {\n return _index.recordExpression;\n }\n}));\nObject.defineProperty(exports, \"RegExpLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.regExpLiteral;\n }\n}));\nObject.defineProperty(exports, \"RegexLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.regexLiteral;\n }\n}));\nObject.defineProperty(exports, \"RestElement\", ({\n enumerable: true,\n get: function () {\n return _index.restElement;\n }\n}));\nObject.defineProperty(exports, \"RestProperty\", ({\n enumerable: true,\n get: function () {\n return _index.restProperty;\n }\n}));\nObject.defineProperty(exports, \"ReturnStatement\", ({\n enumerable: true,\n get: function () {\n return _index.returnStatement;\n }\n}));\nObject.defineProperty(exports, \"SequenceExpression\", ({\n enumerable: true,\n get: function () {\n return _index.sequenceExpression;\n }\n}));\nObject.defineProperty(exports, \"SpreadElement\", ({\n enumerable: true,\n get: function () {\n return _index.spreadElement;\n }\n}));\nObject.defineProperty(exports, \"SpreadProperty\", ({\n enumerable: true,\n get: function () {\n return _index.spreadProperty;\n }\n}));\nObject.defineProperty(exports, \"StaticBlock\", ({\n enumerable: true,\n get: function () {\n return _index.staticBlock;\n }\n}));\nObject.defineProperty(exports, \"StringLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.stringLiteral;\n }\n}));\nObject.defineProperty(exports, \"StringLiteralTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.stringLiteralTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"StringTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.stringTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"Super\", ({\n enumerable: true,\n get: function () {\n return _index.super;\n }\n}));\nObject.defineProperty(exports, \"SwitchCase\", ({\n enumerable: true,\n get: function () {\n return _index.switchCase;\n }\n}));\nObject.defineProperty(exports, \"SwitchStatement\", ({\n enumerable: true,\n get: function () {\n return _index.switchStatement;\n }\n}));\nObject.defineProperty(exports, \"SymbolTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.symbolTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"TSAnyKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsAnyKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSArrayType\", ({\n enumerable: true,\n get: function () {\n return _index.tsArrayType;\n }\n}));\nObject.defineProperty(exports, \"TSAsExpression\", ({\n enumerable: true,\n get: function () {\n return _index.tsAsExpression;\n }\n}));\nObject.defineProperty(exports, \"TSBigIntKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsBigIntKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSBooleanKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsBooleanKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSCallSignatureDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsCallSignatureDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSConditionalType\", ({\n enumerable: true,\n get: function () {\n return _index.tsConditionalType;\n }\n}));\nObject.defineProperty(exports, \"TSConstructSignatureDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsConstructSignatureDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSConstructorType\", ({\n enumerable: true,\n get: function () {\n return _index.tsConstructorType;\n }\n}));\nObject.defineProperty(exports, \"TSDeclareFunction\", ({\n enumerable: true,\n get: function () {\n return _index.tsDeclareFunction;\n }\n}));\nObject.defineProperty(exports, \"TSDeclareMethod\", ({\n enumerable: true,\n get: function () {\n return _index.tsDeclareMethod;\n }\n}));\nObject.defineProperty(exports, \"TSEnumDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsEnumDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSEnumMember\", ({\n enumerable: true,\n get: function () {\n return _index.tsEnumMember;\n }\n}));\nObject.defineProperty(exports, \"TSExportAssignment\", ({\n enumerable: true,\n get: function () {\n return _index.tsExportAssignment;\n }\n}));\nObject.defineProperty(exports, \"TSExpressionWithTypeArguments\", ({\n enumerable: true,\n get: function () {\n return _index.tsExpressionWithTypeArguments;\n }\n}));\nObject.defineProperty(exports, \"TSExternalModuleReference\", ({\n enumerable: true,\n get: function () {\n return _index.tsExternalModuleReference;\n }\n}));\nObject.defineProperty(exports, \"TSFunctionType\", ({\n enumerable: true,\n get: function () {\n return _index.tsFunctionType;\n }\n}));\nObject.defineProperty(exports, \"TSImportEqualsDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsImportEqualsDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSImportType\", ({\n enumerable: true,\n get: function () {\n return _index.tsImportType;\n }\n}));\nObject.defineProperty(exports, \"TSIndexSignature\", ({\n enumerable: true,\n get: function () {\n return _index.tsIndexSignature;\n }\n}));\nObject.defineProperty(exports, \"TSIndexedAccessType\", ({\n enumerable: true,\n get: function () {\n return _index.tsIndexedAccessType;\n }\n}));\nObject.defineProperty(exports, \"TSInferType\", ({\n enumerable: true,\n get: function () {\n return _index.tsInferType;\n }\n}));\nObject.defineProperty(exports, \"TSInstantiationExpression\", ({\n enumerable: true,\n get: function () {\n return _index.tsInstantiationExpression;\n }\n}));\nObject.defineProperty(exports, \"TSInterfaceBody\", ({\n enumerable: true,\n get: function () {\n return _index.tsInterfaceBody;\n }\n}));\nObject.defineProperty(exports, \"TSInterfaceDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsInterfaceDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSIntersectionType\", ({\n enumerable: true,\n get: function () {\n return _index.tsIntersectionType;\n }\n}));\nObject.defineProperty(exports, \"TSIntrinsicKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsIntrinsicKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSLiteralType\", ({\n enumerable: true,\n get: function () {\n return _index.tsLiteralType;\n }\n}));\nObject.defineProperty(exports, \"TSMappedType\", ({\n enumerable: true,\n get: function () {\n return _index.tsMappedType;\n }\n}));\nObject.defineProperty(exports, \"TSMethodSignature\", ({\n enumerable: true,\n get: function () {\n return _index.tsMethodSignature;\n }\n}));\nObject.defineProperty(exports, \"TSModuleBlock\", ({\n enumerable: true,\n get: function () {\n return _index.tsModuleBlock;\n }\n}));\nObject.defineProperty(exports, \"TSModuleDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsModuleDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSNamedTupleMember\", ({\n enumerable: true,\n get: function () {\n return _index.tsNamedTupleMember;\n }\n}));\nObject.defineProperty(exports, \"TSNamespaceExportDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsNamespaceExportDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSNeverKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsNeverKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSNonNullExpression\", ({\n enumerable: true,\n get: function () {\n return _index.tsNonNullExpression;\n }\n}));\nObject.defineProperty(exports, \"TSNullKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsNullKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSNumberKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsNumberKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSObjectKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsObjectKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSOptionalType\", ({\n enumerable: true,\n get: function () {\n return _index.tsOptionalType;\n }\n}));\nObject.defineProperty(exports, \"TSParameterProperty\", ({\n enumerable: true,\n get: function () {\n return _index.tsParameterProperty;\n }\n}));\nObject.defineProperty(exports, \"TSParenthesizedType\", ({\n enumerable: true,\n get: function () {\n return _index.tsParenthesizedType;\n }\n}));\nObject.defineProperty(exports, \"TSPropertySignature\", ({\n enumerable: true,\n get: function () {\n return _index.tsPropertySignature;\n }\n}));\nObject.defineProperty(exports, \"TSQualifiedName\", ({\n enumerable: true,\n get: function () {\n return _index.tsQualifiedName;\n }\n}));\nObject.defineProperty(exports, \"TSRestType\", ({\n enumerable: true,\n get: function () {\n return _index.tsRestType;\n }\n}));\nObject.defineProperty(exports, \"TSSatisfiesExpression\", ({\n enumerable: true,\n get: function () {\n return _index.tsSatisfiesExpression;\n }\n}));\nObject.defineProperty(exports, \"TSStringKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsStringKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSSymbolKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsSymbolKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSThisType\", ({\n enumerable: true,\n get: function () {\n return _index.tsThisType;\n }\n}));\nObject.defineProperty(exports, \"TSTupleType\", ({\n enumerable: true,\n get: function () {\n return _index.tsTupleType;\n }\n}));\nObject.defineProperty(exports, \"TSTypeAliasDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeAliasDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"TSTypeAssertion\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeAssertion;\n }\n}));\nObject.defineProperty(exports, \"TSTypeLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeLiteral;\n }\n}));\nObject.defineProperty(exports, \"TSTypeOperator\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeOperator;\n }\n}));\nObject.defineProperty(exports, \"TSTypeParameter\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeParameter;\n }\n}));\nObject.defineProperty(exports, \"TSTypeParameterDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeParameterDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TSTypeParameterInstantiation\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeParameterInstantiation;\n }\n}));\nObject.defineProperty(exports, \"TSTypePredicate\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypePredicate;\n }\n}));\nObject.defineProperty(exports, \"TSTypeQuery\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeQuery;\n }\n}));\nObject.defineProperty(exports, \"TSTypeReference\", ({\n enumerable: true,\n get: function () {\n return _index.tsTypeReference;\n }\n}));\nObject.defineProperty(exports, \"TSUndefinedKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsUndefinedKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSUnionType\", ({\n enumerable: true,\n get: function () {\n return _index.tsUnionType;\n }\n}));\nObject.defineProperty(exports, \"TSUnknownKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsUnknownKeyword;\n }\n}));\nObject.defineProperty(exports, \"TSVoidKeyword\", ({\n enumerable: true,\n get: function () {\n return _index.tsVoidKeyword;\n }\n}));\nObject.defineProperty(exports, \"TaggedTemplateExpression\", ({\n enumerable: true,\n get: function () {\n return _index.taggedTemplateExpression;\n }\n}));\nObject.defineProperty(exports, \"TemplateElement\", ({\n enumerable: true,\n get: function () {\n return _index.templateElement;\n }\n}));\nObject.defineProperty(exports, \"TemplateLiteral\", ({\n enumerable: true,\n get: function () {\n return _index.templateLiteral;\n }\n}));\nObject.defineProperty(exports, \"ThisExpression\", ({\n enumerable: true,\n get: function () {\n return _index.thisExpression;\n }\n}));\nObject.defineProperty(exports, \"ThisTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.thisTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"ThrowStatement\", ({\n enumerable: true,\n get: function () {\n return _index.throwStatement;\n }\n}));\nObject.defineProperty(exports, \"TopicReference\", ({\n enumerable: true,\n get: function () {\n return _index.topicReference;\n }\n}));\nObject.defineProperty(exports, \"TryStatement\", ({\n enumerable: true,\n get: function () {\n return _index.tryStatement;\n }\n}));\nObject.defineProperty(exports, \"TupleExpression\", ({\n enumerable: true,\n get: function () {\n return _index.tupleExpression;\n }\n}));\nObject.defineProperty(exports, \"TupleTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.tupleTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"TypeAlias\", ({\n enumerable: true,\n get: function () {\n return _index.typeAlias;\n }\n}));\nObject.defineProperty(exports, \"TypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.typeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"TypeCastExpression\", ({\n enumerable: true,\n get: function () {\n return _index.typeCastExpression;\n }\n}));\nObject.defineProperty(exports, \"TypeParameter\", ({\n enumerable: true,\n get: function () {\n return _index.typeParameter;\n }\n}));\nObject.defineProperty(exports, \"TypeParameterDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.typeParameterDeclaration;\n }\n}));\nObject.defineProperty(exports, \"TypeParameterInstantiation\", ({\n enumerable: true,\n get: function () {\n return _index.typeParameterInstantiation;\n }\n}));\nObject.defineProperty(exports, \"TypeofTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.typeofTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"UnaryExpression\", ({\n enumerable: true,\n get: function () {\n return _index.unaryExpression;\n }\n}));\nObject.defineProperty(exports, \"UnionTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.unionTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"UpdateExpression\", ({\n enumerable: true,\n get: function () {\n return _index.updateExpression;\n }\n}));\nObject.defineProperty(exports, \"V8IntrinsicIdentifier\", ({\n enumerable: true,\n get: function () {\n return _index.v8IntrinsicIdentifier;\n }\n}));\nObject.defineProperty(exports, \"VariableDeclaration\", ({\n enumerable: true,\n get: function () {\n return _index.variableDeclaration;\n }\n}));\nObject.defineProperty(exports, \"VariableDeclarator\", ({\n enumerable: true,\n get: function () {\n return _index.variableDeclarator;\n }\n}));\nObject.defineProperty(exports, \"Variance\", ({\n enumerable: true,\n get: function () {\n return _index.variance;\n }\n}));\nObject.defineProperty(exports, \"VoidTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _index.voidTypeAnnotation;\n }\n}));\nObject.defineProperty(exports, \"WhileStatement\", ({\n enumerable: true,\n get: function () {\n return _index.whileStatement;\n }\n}));\nObject.defineProperty(exports, \"WithStatement\", ({\n enumerable: true,\n get: function () {\n return _index.withStatement;\n }\n}));\nObject.defineProperty(exports, \"YieldExpression\", ({\n enumerable: true,\n get: function () {\n return _index.yieldExpression;\n }\n}));\nvar _index = __webpack_require__(/*! ./index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\n\n//# sourceMappingURL=uppercase.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/builders/generated/uppercase.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/builders/productions.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/types/lib/builders/productions.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.buildUndefinedNode = buildUndefinedNode;\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nfunction buildUndefinedNode() {\n return (0, _index.unaryExpression)(\"void\", (0, _index.numericLiteral)(0), true);\n}\n\n//# sourceMappingURL=productions.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/builders/productions.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/builders/react/buildChildren.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/builders/react/buildChildren.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = buildChildren;\nvar _index = __webpack_require__(/*! ../../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _cleanJSXElementLiteralChild = __webpack_require__(/*! ../../utils/react/cleanJSXElementLiteralChild.js */ \"./node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js\");\nfunction buildChildren(node) {\n const elements = [];\n for (let i = 0; i < node.children.length; i++) {\n let child = node.children[i];\n if ((0, _index.isJSXText)(child)) {\n (0, _cleanJSXElementLiteralChild.default)(child, elements);\n continue;\n }\n if ((0, _index.isJSXExpressionContainer)(child)) child = child.expression;\n if ((0, _index.isJSXEmptyExpression)(child)) continue;\n elements.push(child);\n }\n return elements;\n}\n\n//# sourceMappingURL=buildChildren.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/builders/react/buildChildren.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = createTSUnionType;\nvar _index = __webpack_require__(/*! ../generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _removeTypeDuplicates = __webpack_require__(/*! ../../modifications/typescript/removeTypeDuplicates.js */ \"./node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js\");\nvar _index2 = __webpack_require__(/*! ../../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction createTSUnionType(typeAnnotations) {\n const types = typeAnnotations.map(type => {\n return (0, _index2.isTSTypeAnnotation)(type) ? type.typeAnnotation : type;\n });\n const flattened = (0, _removeTypeDuplicates.default)(types);\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return (0, _index.tsUnionType)(flattened);\n }\n}\n\n//# sourceMappingURL=createTSUnionType.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/clone/clone.js": +/*!******************************************************!*\ + !*** ./node_modules/@babel/types/lib/clone/clone.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = clone;\nvar _cloneNode = __webpack_require__(/*! ./cloneNode.js */ \"./node_modules/@babel/types/lib/clone/cloneNode.js\");\nfunction clone(node) {\n return (0, _cloneNode.default)(node, false);\n}\n\n//# sourceMappingURL=clone.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/clone/clone.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/clone/cloneDeep.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/types/lib/clone/cloneDeep.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = cloneDeep;\nvar _cloneNode = __webpack_require__(/*! ./cloneNode.js */ \"./node_modules/@babel/types/lib/clone/cloneNode.js\");\nfunction cloneDeep(node) {\n return (0, _cloneNode.default)(node);\n}\n\n//# sourceMappingURL=cloneDeep.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/clone/cloneDeep.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = cloneDeepWithoutLoc;\nvar _cloneNode = __webpack_require__(/*! ./cloneNode.js */ \"./node_modules/@babel/types/lib/clone/cloneNode.js\");\nfunction cloneDeepWithoutLoc(node) {\n return (0, _cloneNode.default)(node, true, true);\n}\n\n//# sourceMappingURL=cloneDeepWithoutLoc.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/clone/cloneNode.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/types/lib/clone/cloneNode.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = cloneNode;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nvar _index2 = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nconst {\n hasOwn\n} = {\n hasOwn: Function.call.bind(Object.prototype.hasOwnProperty)\n};\nfunction cloneIfNode(obj, deep, withoutLoc, commentsCache) {\n if (obj && typeof obj.type === \"string\") {\n return cloneNodeInternal(obj, deep, withoutLoc, commentsCache);\n }\n return obj;\n}\nfunction cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) {\n if (Array.isArray(obj)) {\n return obj.map(node => cloneIfNode(node, deep, withoutLoc, commentsCache));\n }\n return cloneIfNode(obj, deep, withoutLoc, commentsCache);\n}\nfunction cloneNode(node, deep = true, withoutLoc = false) {\n return cloneNodeInternal(node, deep, withoutLoc, new Map());\n}\nfunction cloneNodeInternal(node, deep = true, withoutLoc = false, commentsCache) {\n if (!node) return node;\n const {\n type\n } = node;\n const newNode = {\n type: node.type\n };\n if ((0, _index2.isIdentifier)(node)) {\n newNode.name = node.name;\n if (hasOwn(node, \"optional\") && typeof node.optional === \"boolean\") {\n newNode.optional = node.optional;\n }\n if (hasOwn(node, \"typeAnnotation\")) {\n newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc, commentsCache) : node.typeAnnotation;\n }\n if (hasOwn(node, \"decorators\")) {\n newNode.decorators = deep ? cloneIfNodeOrArray(node.decorators, true, withoutLoc, commentsCache) : node.decorators;\n }\n } else if (!hasOwn(_index.NODE_FIELDS, type)) {\n throw new Error(`Unknown node type: \"${type}\"`);\n } else {\n for (const field of Object.keys(_index.NODE_FIELDS[type])) {\n if (hasOwn(node, field)) {\n if (deep) {\n newNode[field] = (0, _index2.isFile)(node) && field === \"comments\" ? maybeCloneComments(node.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node[field], true, withoutLoc, commentsCache);\n } else {\n newNode[field] = node[field];\n }\n }\n }\n }\n if (hasOwn(node, \"loc\")) {\n if (withoutLoc) {\n newNode.loc = null;\n } else {\n newNode.loc = node.loc;\n }\n }\n if (hasOwn(node, \"leadingComments\")) {\n newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc, commentsCache);\n }\n if (hasOwn(node, \"innerComments\")) {\n newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc, commentsCache);\n }\n if (hasOwn(node, \"trailingComments\")) {\n newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc, commentsCache);\n }\n if (hasOwn(node, \"extra\")) {\n newNode.extra = Object.assign({}, node.extra);\n }\n return newNode;\n}\nfunction maybeCloneComments(comments, deep, withoutLoc, commentsCache) {\n if (!comments || !deep) {\n return comments;\n }\n return comments.map(comment => {\n const cache = commentsCache.get(comment);\n if (cache) return cache;\n const {\n type,\n value,\n loc\n } = comment;\n const ret = {\n type,\n value,\n loc\n };\n if (withoutLoc) {\n ret.loc = null;\n }\n commentsCache.set(comment, ret);\n return ret;\n });\n}\n\n//# sourceMappingURL=cloneNode.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/clone/cloneNode.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/clone/cloneWithoutLoc.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/clone/cloneWithoutLoc.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = cloneWithoutLoc;\nvar _cloneNode = __webpack_require__(/*! ./cloneNode.js */ \"./node_modules/@babel/types/lib/clone/cloneNode.js\");\nfunction cloneWithoutLoc(node) {\n return (0, _cloneNode.default)(node, false, true);\n}\n\n//# sourceMappingURL=cloneWithoutLoc.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/clone/cloneWithoutLoc.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/comments/addComment.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/types/lib/comments/addComment.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = addComment;\nvar _addComments = __webpack_require__(/*! ./addComments.js */ \"./node_modules/@babel/types/lib/comments/addComments.js\");\nfunction addComment(node, type, content, line) {\n return (0, _addComments.default)(node, type, [{\n type: line ? \"CommentLine\" : \"CommentBlock\",\n value: content\n }]);\n}\n\n//# sourceMappingURL=addComment.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/comments/addComment.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/comments/addComments.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/types/lib/comments/addComments.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = addComments;\nfunction addComments(node, type, comments) {\n if (!comments || !node) return node;\n const key = `${type}Comments`;\n if (node[key]) {\n if (type === \"leading\") {\n node[key] = comments.concat(node[key]);\n } else {\n node[key].push(...comments);\n }\n } else {\n node[key] = comments;\n }\n return node;\n}\n\n//# sourceMappingURL=addComments.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/comments/addComments.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/comments/inheritInnerComments.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/comments/inheritInnerComments.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = inheritInnerComments;\nvar _inherit = __webpack_require__(/*! ../utils/inherit.js */ \"./node_modules/@babel/types/lib/utils/inherit.js\");\nfunction inheritInnerComments(child, parent) {\n (0, _inherit.default)(\"innerComments\", child, parent);\n}\n\n//# sourceMappingURL=inheritInnerComments.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/comments/inheritInnerComments.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/comments/inheritLeadingComments.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/comments/inheritLeadingComments.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = inheritLeadingComments;\nvar _inherit = __webpack_require__(/*! ../utils/inherit.js */ \"./node_modules/@babel/types/lib/utils/inherit.js\");\nfunction inheritLeadingComments(child, parent) {\n (0, _inherit.default)(\"leadingComments\", child, parent);\n}\n\n//# sourceMappingURL=inheritLeadingComments.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/comments/inheritLeadingComments.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/comments/inheritTrailingComments.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/comments/inheritTrailingComments.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = inheritTrailingComments;\nvar _inherit = __webpack_require__(/*! ../utils/inherit.js */ \"./node_modules/@babel/types/lib/utils/inherit.js\");\nfunction inheritTrailingComments(child, parent) {\n (0, _inherit.default)(\"trailingComments\", child, parent);\n}\n\n//# sourceMappingURL=inheritTrailingComments.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/comments/inheritTrailingComments.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/comments/inheritsComments.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/comments/inheritsComments.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = inheritsComments;\nvar _inheritTrailingComments = __webpack_require__(/*! ./inheritTrailingComments.js */ \"./node_modules/@babel/types/lib/comments/inheritTrailingComments.js\");\nvar _inheritLeadingComments = __webpack_require__(/*! ./inheritLeadingComments.js */ \"./node_modules/@babel/types/lib/comments/inheritLeadingComments.js\");\nvar _inheritInnerComments = __webpack_require__(/*! ./inheritInnerComments.js */ \"./node_modules/@babel/types/lib/comments/inheritInnerComments.js\");\nfunction inheritsComments(child, parent) {\n (0, _inheritTrailingComments.default)(child, parent);\n (0, _inheritLeadingComments.default)(child, parent);\n (0, _inheritInnerComments.default)(child, parent);\n return child;\n}\n\n//# sourceMappingURL=inheritsComments.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/comments/inheritsComments.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/comments/removeComments.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/comments/removeComments.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = removeComments;\nvar _index = __webpack_require__(/*! ../constants/index.js */ \"./node_modules/@babel/types/lib/constants/index.js\");\nfunction removeComments(node) {\n _index.COMMENT_KEYS.forEach(key => {\n node[key] = null;\n });\n return node;\n}\n\n//# sourceMappingURL=removeComments.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/comments/removeComments.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/constants/generated/index.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/constants/generated/index.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WHILE_TYPES = exports.USERWHITESPACABLE_TYPES = exports.UNARYLIKE_TYPES = exports.TYPESCRIPT_TYPES = exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.TSENTITYNAME_TYPES = exports.TSBASETYPE_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.STANDARDIZED_TYPES = exports.SCOPABLE_TYPES = exports.PUREISH_TYPES = exports.PROPERTY_TYPES = exports.PRIVATE_TYPES = exports.PATTERN_TYPES = exports.PATTERNLIKE_TYPES = exports.OBJECTMEMBER_TYPES = exports.MODULESPECIFIER_TYPES = exports.MODULEDECLARATION_TYPES = exports.MISCELLANEOUS_TYPES = exports.METHOD_TYPES = exports.LVAL_TYPES = exports.LOOP_TYPES = exports.LITERAL_TYPES = exports.JSX_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = exports.IMMUTABLE_TYPES = exports.FUNCTION_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FOR_TYPES = exports.FORXSTATEMENT_TYPES = exports.FLOW_TYPES = exports.FLOWTYPE_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.EXPRESSION_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.DECLARATION_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.CLASS_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.BINARY_TYPES = exports.ACCESSOR_TYPES = void 0;\nvar _index = __webpack_require__(/*! ../../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nconst STANDARDIZED_TYPES = exports.STANDARDIZED_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Standardized\"];\nconst EXPRESSION_TYPES = exports.EXPRESSION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Expression\"];\nconst BINARY_TYPES = exports.BINARY_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Binary\"];\nconst SCOPABLE_TYPES = exports.SCOPABLE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Scopable\"];\nconst BLOCKPARENT_TYPES = exports.BLOCKPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"BlockParent\"];\nconst BLOCK_TYPES = exports.BLOCK_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Block\"];\nconst STATEMENT_TYPES = exports.STATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Statement\"];\nconst TERMINATORLESS_TYPES = exports.TERMINATORLESS_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Terminatorless\"];\nconst COMPLETIONSTATEMENT_TYPES = exports.COMPLETIONSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"CompletionStatement\"];\nconst CONDITIONAL_TYPES = exports.CONDITIONAL_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Conditional\"];\nconst LOOP_TYPES = exports.LOOP_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Loop\"];\nconst WHILE_TYPES = exports.WHILE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"While\"];\nconst EXPRESSIONWRAPPER_TYPES = exports.EXPRESSIONWRAPPER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ExpressionWrapper\"];\nconst FOR_TYPES = exports.FOR_TYPES = _index.FLIPPED_ALIAS_KEYS[\"For\"];\nconst FORXSTATEMENT_TYPES = exports.FORXSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ForXStatement\"];\nconst FUNCTION_TYPES = exports.FUNCTION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Function\"];\nconst FUNCTIONPARENT_TYPES = exports.FUNCTIONPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FunctionParent\"];\nconst PUREISH_TYPES = exports.PUREISH_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Pureish\"];\nconst DECLARATION_TYPES = exports.DECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Declaration\"];\nconst PATTERNLIKE_TYPES = exports.PATTERNLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"PatternLike\"];\nconst LVAL_TYPES = exports.LVAL_TYPES = _index.FLIPPED_ALIAS_KEYS[\"LVal\"];\nconst TSENTITYNAME_TYPES = exports.TSENTITYNAME_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSEntityName\"];\nconst LITERAL_TYPES = exports.LITERAL_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Literal\"];\nconst IMMUTABLE_TYPES = exports.IMMUTABLE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Immutable\"];\nconst USERWHITESPACABLE_TYPES = exports.USERWHITESPACABLE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"UserWhitespacable\"];\nconst METHOD_TYPES = exports.METHOD_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Method\"];\nconst OBJECTMEMBER_TYPES = exports.OBJECTMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ObjectMember\"];\nconst PROPERTY_TYPES = exports.PROPERTY_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Property\"];\nconst UNARYLIKE_TYPES = exports.UNARYLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"UnaryLike\"];\nconst PATTERN_TYPES = exports.PATTERN_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Pattern\"];\nconst CLASS_TYPES = exports.CLASS_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Class\"];\nconst IMPORTOREXPORTDECLARATION_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ImportOrExportDeclaration\"];\nconst EXPORTDECLARATION_TYPES = exports.EXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ExportDeclaration\"];\nconst MODULESPECIFIER_TYPES = exports.MODULESPECIFIER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ModuleSpecifier\"];\nconst ACCESSOR_TYPES = exports.ACCESSOR_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Accessor\"];\nconst PRIVATE_TYPES = exports.PRIVATE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Private\"];\nconst FLOW_TYPES = exports.FLOW_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Flow\"];\nconst FLOWTYPE_TYPES = exports.FLOWTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowType\"];\nconst FLOWBASEANNOTATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowBaseAnnotation\"];\nconst FLOWDECLARATION_TYPES = exports.FLOWDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowDeclaration\"];\nconst FLOWPREDICATE_TYPES = exports.FLOWPREDICATE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowPredicate\"];\nconst ENUMBODY_TYPES = exports.ENUMBODY_TYPES = _index.FLIPPED_ALIAS_KEYS[\"EnumBody\"];\nconst ENUMMEMBER_TYPES = exports.ENUMMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"EnumMember\"];\nconst JSX_TYPES = exports.JSX_TYPES = _index.FLIPPED_ALIAS_KEYS[\"JSX\"];\nconst MISCELLANEOUS_TYPES = exports.MISCELLANEOUS_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Miscellaneous\"];\nconst TYPESCRIPT_TYPES = exports.TYPESCRIPT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TypeScript\"];\nconst TSTYPEELEMENT_TYPES = exports.TSTYPEELEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSTypeElement\"];\nconst TSTYPE_TYPES = exports.TSTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSType\"];\nconst TSBASETYPE_TYPES = exports.TSBASETYPE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSBaseType\"];\nconst MODULEDECLARATION_TYPES = exports.MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES;\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/constants/generated/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/constants/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/types/lib/constants/index.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.UPDATE_OPERATORS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.STATEMENT_OR_BLOCK_KEYS = exports.NUMBER_UNARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.NOT_LOCAL_BINDING = exports.LOGICAL_OPERATORS = exports.INHERIT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.EQUALITY_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.COMMENT_KEYS = exports.BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.BLOCK_SCOPED_SYMBOL = exports.BINARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = void 0;\nconst STATEMENT_OR_BLOCK_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = [\"consequent\", \"body\", \"alternate\"];\nconst FLATTENABLE_KEYS = exports.FLATTENABLE_KEYS = [\"body\", \"expressions\"];\nconst FOR_INIT_KEYS = exports.FOR_INIT_KEYS = [\"left\", \"init\"];\nconst COMMENT_KEYS = exports.COMMENT_KEYS = [\"leadingComments\", \"trailingComments\", \"innerComments\"];\nconst LOGICAL_OPERATORS = exports.LOGICAL_OPERATORS = [\"||\", \"&&\", \"??\"];\nconst UPDATE_OPERATORS = exports.UPDATE_OPERATORS = [\"++\", \"--\"];\nconst BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = [\">\", \"<\", \">=\", \"<=\"];\nconst EQUALITY_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = [\"==\", \"===\", \"!=\", \"!==\"];\nconst COMPARISON_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, \"in\", \"instanceof\"];\nconst BOOLEAN_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS];\nconst NUMBER_BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = [\"-\", \"/\", \"%\", \"*\", \"**\", \"&\", \"|\", \">>\", \">>>\", \"<<\", \"^\"];\nconst BINARY_OPERATORS = exports.BINARY_OPERATORS = [\"+\", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, \"|>\"];\nconst ASSIGNMENT_OPERATORS = exports.ASSIGNMENT_OPERATORS = [\"=\", \"+=\", ...NUMBER_BINARY_OPERATORS.map(op => op + \"=\"), ...LOGICAL_OPERATORS.map(op => op + \"=\")];\nconst BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = [\"delete\", \"!\"];\nconst NUMBER_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = [\"+\", \"-\", \"~\"];\nconst STRING_UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = [\"typeof\"];\nconst UNARY_OPERATORS = exports.UNARY_OPERATORS = [\"void\", \"throw\", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS];\nconst INHERIT_KEYS = exports.INHERIT_KEYS = {\n optional: [\"typeAnnotation\", \"typeParameters\", \"returnType\"],\n force: [\"start\", \"loc\", \"end\"]\n};\nconst BLOCK_SCOPED_SYMBOL = exports.BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\nconst NOT_LOCAL_BINDING = exports.NOT_LOCAL_BINDING = Symbol.for(\"should not be considered a local binding\");\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/constants/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/ensureBlock.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/ensureBlock.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = ensureBlock;\nvar _toBlock = __webpack_require__(/*! ./toBlock.js */ \"./node_modules/@babel/types/lib/converters/toBlock.js\");\nfunction ensureBlock(node, key = \"body\") {\n const result = (0, _toBlock.default)(node[key], node);\n node[key] = result;\n return result;\n}\n\n//# sourceMappingURL=ensureBlock.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/ensureBlock.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = gatherSequenceExpressions;\nvar _getBindingIdentifiers = __webpack_require__(/*! ../retrievers/getBindingIdentifiers.js */ \"./node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js\");\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _productions = __webpack_require__(/*! ../builders/productions.js */ \"./node_modules/@babel/types/lib/builders/productions.js\");\nvar _cloneNode = __webpack_require__(/*! ../clone/cloneNode.js */ \"./node_modules/@babel/types/lib/clone/cloneNode.js\");\n;\nfunction gatherSequenceExpressions(nodes, declars) {\n const exprs = [];\n let ensureLastUndefined = true;\n for (const node of nodes) {\n if (!(0, _index.isEmptyStatement)(node)) {\n ensureLastUndefined = false;\n }\n if ((0, _index.isExpression)(node)) {\n exprs.push(node);\n } else if ((0, _index.isExpressionStatement)(node)) {\n exprs.push(node.expression);\n } else if ((0, _index.isVariableDeclaration)(node)) {\n if (node.kind !== \"var\") return;\n for (const declar of node.declarations) {\n const bindings = (0, _getBindingIdentifiers.default)(declar);\n for (const key of Object.keys(bindings)) {\n declars.push({\n kind: node.kind,\n id: (0, _cloneNode.default)(bindings[key])\n });\n }\n if (declar.init) {\n exprs.push((0, _index2.assignmentExpression)(\"=\", declar.id, declar.init));\n }\n }\n ensureLastUndefined = true;\n } else if ((0, _index.isIfStatement)(node)) {\n const consequent = node.consequent ? gatherSequenceExpressions([node.consequent], declars) : (0, _productions.buildUndefinedNode)();\n const alternate = node.alternate ? gatherSequenceExpressions([node.alternate], declars) : (0, _productions.buildUndefinedNode)();\n if (!consequent || !alternate) return;\n exprs.push((0, _index2.conditionalExpression)(node.test, consequent, alternate));\n } else if ((0, _index.isBlockStatement)(node)) {\n const body = gatherSequenceExpressions(node.body, declars);\n if (!body) return;\n exprs.push(body);\n } else if ((0, _index.isEmptyStatement)(node)) {\n if (nodes.indexOf(node) === 0) {\n ensureLastUndefined = true;\n }\n } else {\n return;\n }\n }\n if (ensureLastUndefined) {\n exprs.push((0, _productions.buildUndefinedNode)());\n }\n if (exprs.length === 1) {\n return exprs[0];\n } else {\n return (0, _index2.sequenceExpression)(exprs);\n }\n}\n\n//# sourceMappingURL=gatherSequenceExpressions.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toBindingIdentifierName.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toBindingIdentifierName.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = toBindingIdentifierName;\nvar _toIdentifier = __webpack_require__(/*! ./toIdentifier.js */ \"./node_modules/@babel/types/lib/converters/toIdentifier.js\");\nfunction toBindingIdentifierName(name) {\n name = (0, _toIdentifier.default)(name);\n if (name === \"eval\" || name === \"arguments\") name = \"_\" + name;\n return name;\n}\n\n//# sourceMappingURL=toBindingIdentifierName.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toBindingIdentifierName.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toBlock.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toBlock.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = toBlock;\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nfunction toBlock(node, parent) {\n if ((0, _index.isBlockStatement)(node)) {\n return node;\n }\n let blockNodes = [];\n if ((0, _index.isEmptyStatement)(node)) {\n blockNodes = [];\n } else {\n if (!(0, _index.isStatement)(node)) {\n if ((0, _index.isFunction)(parent)) {\n node = (0, _index2.returnStatement)(node);\n } else {\n node = (0, _index2.expressionStatement)(node);\n }\n }\n blockNodes = [node];\n }\n return (0, _index2.blockStatement)(blockNodes);\n}\n\n//# sourceMappingURL=toBlock.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toBlock.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toComputedKey.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toComputedKey.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = toComputedKey;\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nfunction toComputedKey(node, key = node.key || node.property) {\n if (!node.computed && (0, _index.isIdentifier)(key)) key = (0, _index2.stringLiteral)(key.name);\n return key;\n}\n\n//# sourceMappingURL=toComputedKey.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toComputedKey.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toExpression.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toExpression.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _default = exports[\"default\"] = toExpression;\nfunction toExpression(node) {\n if ((0, _index.isExpressionStatement)(node)) {\n node = node.expression;\n }\n if ((0, _index.isExpression)(node)) {\n return node;\n }\n if ((0, _index.isClass)(node)) {\n node.type = \"ClassExpression\";\n } else if ((0, _index.isFunction)(node)) {\n node.type = \"FunctionExpression\";\n }\n if (!(0, _index.isExpression)(node)) {\n throw new Error(`cannot turn ${node.type} to an expression`);\n }\n return node;\n}\n\n//# sourceMappingURL=toExpression.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toExpression.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toIdentifier.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toIdentifier.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = toIdentifier;\nvar _isValidIdentifier = __webpack_require__(/*! ../validators/isValidIdentifier.js */ \"./node_modules/@babel/types/lib/validators/isValidIdentifier.js\");\nvar _helperValidatorIdentifier = __webpack_require__(/*! @babel/helper-validator-identifier */ \"./node_modules/@babel/helper-validator-identifier/lib/index.js\");\nfunction toIdentifier(input) {\n input = input + \"\";\n let name = \"\";\n for (const c of input) {\n name += (0, _helperValidatorIdentifier.isIdentifierChar)(c.codePointAt(0)) ? c : \"-\";\n }\n name = name.replace(/^[-0-9]+/, \"\");\n name = name.replace(/[-\\s]+(.)?/g, function (match, c) {\n return c ? c.toUpperCase() : \"\";\n });\n if (!(0, _isValidIdentifier.default)(name)) {\n name = `_${name}`;\n }\n return name || \"_\";\n}\n\n//# sourceMappingURL=toIdentifier.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toIdentifier.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toKeyAlias.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toKeyAlias.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = toKeyAlias;\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _cloneNode = __webpack_require__(/*! ../clone/cloneNode.js */ \"./node_modules/@babel/types/lib/clone/cloneNode.js\");\nvar _removePropertiesDeep = __webpack_require__(/*! ../modifications/removePropertiesDeep.js */ \"./node_modules/@babel/types/lib/modifications/removePropertiesDeep.js\");\nfunction toKeyAlias(node, key = node.key) {\n let alias;\n if (node.kind === \"method\") {\n return toKeyAlias.increment() + \"\";\n } else if ((0, _index.isIdentifier)(key)) {\n alias = key.name;\n } else if ((0, _index.isStringLiteral)(key)) {\n alias = JSON.stringify(key.value);\n } else {\n alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key)));\n }\n if (node.computed) {\n alias = `[${alias}]`;\n }\n if (node.static) {\n alias = `static:${alias}`;\n }\n return alias;\n}\ntoKeyAlias.uid = 0;\ntoKeyAlias.increment = function () {\n if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {\n return toKeyAlias.uid = 0;\n } else {\n return toKeyAlias.uid++;\n }\n};\n\n//# sourceMappingURL=toKeyAlias.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toKeyAlias.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toSequenceExpression.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toSequenceExpression.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = toSequenceExpression;\nvar _gatherSequenceExpressions = __webpack_require__(/*! ./gatherSequenceExpressions.js */ \"./node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js\");\n;\nfunction toSequenceExpression(nodes, scope) {\n if (!(nodes != null && nodes.length)) return;\n const declars = [];\n const result = (0, _gatherSequenceExpressions.default)(nodes, declars);\n if (!result) return;\n for (const declar of declars) {\n scope.push(declar);\n }\n return result;\n}\n\n//# sourceMappingURL=toSequenceExpression.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toSequenceExpression.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/toStatement.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/toStatement.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _default = exports[\"default\"] = toStatement;\nfunction toStatement(node, ignore) {\n if ((0, _index.isStatement)(node)) {\n return node;\n }\n let mustHaveId = false;\n let newType;\n if ((0, _index.isClass)(node)) {\n mustHaveId = true;\n newType = \"ClassDeclaration\";\n } else if ((0, _index.isFunction)(node)) {\n mustHaveId = true;\n newType = \"FunctionDeclaration\";\n } else if ((0, _index.isAssignmentExpression)(node)) {\n return (0, _index2.expressionStatement)(node);\n }\n if (mustHaveId && !node.id) {\n newType = false;\n }\n if (!newType) {\n if (ignore) {\n return false;\n } else {\n throw new Error(`cannot turn ${node.type} to a statement`);\n }\n }\n node.type = newType;\n return node;\n}\n\n//# sourceMappingURL=toStatement.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/toStatement.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/converters/valueToNode.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/converters/valueToNode.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _isValidIdentifier = __webpack_require__(/*! ../validators/isValidIdentifier.js */ \"./node_modules/@babel/types/lib/validators/isValidIdentifier.js\");\nvar _index = __webpack_require__(/*! ../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _default = exports[\"default\"] = valueToNode;\nconst objectToString = Function.call.bind(Object.prototype.toString);\nfunction isRegExp(value) {\n return objectToString(value) === \"[object RegExp]\";\n}\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null || Object.prototype.toString.call(value) !== \"[object Object]\") {\n return false;\n }\n const proto = Object.getPrototypeOf(value);\n return proto === null || Object.getPrototypeOf(proto) === null;\n}\nfunction valueToNode(value) {\n if (value === undefined) {\n return (0, _index.identifier)(\"undefined\");\n }\n if (value === true || value === false) {\n return (0, _index.booleanLiteral)(value);\n }\n if (value === null) {\n return (0, _index.nullLiteral)();\n }\n if (typeof value === \"string\") {\n return (0, _index.stringLiteral)(value);\n }\n if (typeof value === \"number\") {\n let result;\n if (Number.isFinite(value)) {\n result = (0, _index.numericLiteral)(Math.abs(value));\n } else {\n let numerator;\n if (Number.isNaN(value)) {\n numerator = (0, _index.numericLiteral)(0);\n } else {\n numerator = (0, _index.numericLiteral)(1);\n }\n result = (0, _index.binaryExpression)(\"/\", numerator, (0, _index.numericLiteral)(0));\n }\n if (value < 0 || Object.is(value, -0)) {\n result = (0, _index.unaryExpression)(\"-\", result);\n }\n return result;\n }\n if (isRegExp(value)) {\n const pattern = value.source;\n const flags = /\\/([a-z]*)$/.exec(value.toString())[1];\n return (0, _index.regExpLiteral)(pattern, flags);\n }\n if (Array.isArray(value)) {\n return (0, _index.arrayExpression)(value.map(valueToNode));\n }\n if (isPlainObject(value)) {\n const props = [];\n for (const key of Object.keys(value)) {\n let nodeKey;\n if ((0, _isValidIdentifier.default)(key)) {\n nodeKey = (0, _index.identifier)(key);\n } else {\n nodeKey = (0, _index.stringLiteral)(key);\n }\n props.push((0, _index.objectProperty)(nodeKey, valueToNode(value[key])));\n }\n return (0, _index.objectExpression)(props);\n }\n throw new Error(\"don't know how to turn this value into a node\");\n}\n\n//# sourceMappingURL=valueToNode.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/converters/valueToNode.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/core.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/core.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.patternLikeCommon = exports.importAttributes = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0;\nvar _is = __webpack_require__(/*! ../validators/is.js */ \"./node_modules/@babel/types/lib/validators/is.js\");\nvar _isValidIdentifier = __webpack_require__(/*! ../validators/isValidIdentifier.js */ \"./node_modules/@babel/types/lib/validators/isValidIdentifier.js\");\nvar _helperValidatorIdentifier = __webpack_require__(/*! @babel/helper-validator-identifier */ \"./node_modules/@babel/helper-validator-identifier/lib/index.js\");\nvar _helperStringParser = __webpack_require__(/*! @babel/helper-string-parser */ \"./node_modules/@babel/helper-string-parser/lib/index.js\");\nvar _index = __webpack_require__(/*! ../constants/index.js */ \"./node_modules/@babel/types/lib/constants/index.js\");\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"Standardized\");\ndefineType(\"ArrayExpression\", {\n fields: {\n elements: {\n validate: (0, _utils.arrayOf)((0, _utils.assertNodeOrValueType)(\"null\", \"Expression\", \"SpreadElement\")),\n default: !process.env.BABEL_TYPES_8_BREAKING ? [] : undefined\n }\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"]\n});\ndefineType(\"AssignmentExpression\", {\n fields: {\n operator: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)(\"string\") : Object.assign(function () {\n const identifier = (0, _utils.assertOneOf)(..._index.ASSIGNMENT_OPERATORS);\n const pattern = (0, _utils.assertOneOf)(\"=\");\n return function (node, key, val) {\n const validator = (0, _is.default)(\"Pattern\", node.left) ? pattern : identifier;\n validator(node, key, val);\n };\n }(), {\n type: \"string\"\n })\n },\n left: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"LVal\", \"OptionalMemberExpression\") : (0, _utils.assertNodeType)(\"Identifier\", \"MemberExpression\", \"OptionalMemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Expression\"]\n});\ndefineType(\"BinaryExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n fields: {\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.BINARY_OPERATORS)\n },\n left: {\n validate: function () {\n const expression = (0, _utils.assertNodeType)(\"Expression\");\n const inOp = (0, _utils.assertNodeType)(\"Expression\", \"PrivateName\");\n const validator = Object.assign(function (node, key, val) {\n const validator = node.operator === \"in\" ? inOp : expression;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"Expression\", \"PrivateName\"]\n });\n return validator;\n }()\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"]\n});\ndefineType(\"InterpreterDirective\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"Directive\", {\n visitor: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertNodeType)(\"DirectiveLiteral\")\n }\n }\n});\ndefineType(\"DirectiveLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"BlockStatement\", {\n builder: [\"body\", \"directives\"],\n visitor: [\"directives\", \"body\"],\n fields: {\n directives: {\n validate: (0, _utils.arrayOfType)(\"Directive\"),\n default: []\n },\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\", \"Statement\"]\n});\ndefineType(\"BreakStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n }\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"]\n});\ndefineType(\"CallExpression\", {\n visitor: [\"callee\", \"arguments\", \"typeParameters\", \"typeArguments\"],\n builder: [\"callee\", \"arguments\"],\n aliases: [\"Expression\"],\n fields: Object.assign({\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"Super\", \"V8IntrinsicIdentifier\")\n },\n arguments: (0, _utils.validateArrayOfType)(\"Expression\", \"SpreadElement\", \"ArgumentPlaceholder\")\n }, !process.env.BABEL_TYPES_8_BREAKING ? {\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n }\n } : {}, {\n typeArguments: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TSTypeParameterInstantiation\"),\n optional: true\n }\n })\n});\ndefineType(\"CatchClause\", {\n visitor: [\"param\", \"body\"],\n fields: {\n param: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n },\n aliases: [\"Scopable\", \"BlockParent\"]\n});\ndefineType(\"ConditionalExpression\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n consequent: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n alternate: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Expression\", \"Conditional\"]\n});\ndefineType(\"ContinueStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n }\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"]\n});\ndefineType(\"DebuggerStatement\", {\n aliases: [\"Statement\"]\n});\ndefineType(\"DoWhileStatement\", {\n builder: [\"test\", \"body\"],\n visitor: [\"body\", \"test\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n },\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"]\n});\ndefineType(\"EmptyStatement\", {\n aliases: [\"Statement\"]\n});\ndefineType(\"ExpressionStatement\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Statement\", \"ExpressionWrapper\"]\n});\ndefineType(\"File\", {\n builder: [\"program\", \"comments\", \"tokens\"],\n visitor: [\"program\"],\n fields: {\n program: {\n validate: (0, _utils.assertNodeType)(\"Program\")\n },\n comments: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => {}, {\n each: {\n oneOfNodeTypes: [\"CommentBlock\", \"CommentLine\"]\n }\n }) : (0, _utils.assertEach)((0, _utils.assertNodeType)(\"CommentBlock\", \"CommentLine\")),\n optional: true\n },\n tokens: {\n validate: (0, _utils.assertEach)(Object.assign(() => {}, {\n type: \"any\"\n })),\n optional: true\n }\n }\n});\ndefineType(\"ForInStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\", \"ForXStatement\"],\n fields: {\n left: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"VariableDeclaration\", \"LVal\") : (0, _utils.assertNodeType)(\"VariableDeclaration\", \"Identifier\", \"MemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"ForStatement\", {\n visitor: [\"init\", \"test\", \"update\", \"body\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\"],\n fields: {\n init: {\n validate: (0, _utils.assertNodeType)(\"VariableDeclaration\", \"Expression\"),\n optional: true\n },\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n update: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\nconst functionCommon = () => ({\n params: (0, _utils.validateArrayOfType)(\"Identifier\", \"Pattern\", \"RestElement\"),\n generator: {\n default: false\n },\n async: {\n default: false\n }\n});\nexports.functionCommon = functionCommon;\nconst functionTypeAnnotationCommon = () => ({\n returnType: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n }\n});\nexports.functionTypeAnnotationCommon = functionTypeAnnotationCommon;\nconst functionDeclarationCommon = () => Object.assign({}, functionCommon(), {\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n }\n});\nexports.functionDeclarationCommon = functionDeclarationCommon;\ndefineType(\"FunctionDeclaration\", {\n builder: [\"id\", \"params\", \"body\", \"generator\", \"async\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), {\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n predicate: {\n validate: (0, _utils.assertNodeType)(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true\n }\n }),\n aliases: [\"Scopable\", \"Function\", \"BlockParent\", \"FunctionParent\", \"Statement\", \"Pureish\", \"Declaration\"],\n validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {\n const identifier = (0, _utils.assertNodeType)(\"Identifier\");\n return function (parent, key, node) {\n if (!(0, _is.default)(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n }()\n});\ndefineType(\"FunctionExpression\", {\n inherits: \"FunctionDeclaration\",\n aliases: [\"Scopable\", \"Function\", \"BlockParent\", \"FunctionParent\", \"Expression\", \"Pureish\"],\n fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n predicate: {\n validate: (0, _utils.assertNodeType)(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true\n }\n })\n});\nconst patternLikeCommon = () => ({\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n});\nexports.patternLikeCommon = patternLikeCommon;\ndefineType(\"Identifier\", {\n builder: [\"name\"],\n visitor: [\"typeAnnotation\", \"decorators\"],\n aliases: [\"Expression\", \"PatternLike\", \"LVal\", \"TSEntityName\"],\n fields: Object.assign({}, patternLikeCommon(), {\n name: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"string\"), Object.assign(function (node, key, val) {\n if (!(0, _isValidIdentifier.default)(val, false)) {\n throw new TypeError(`\"${val}\" is not a valid identifier name`);\n }\n }, {\n type: \"string\"\n })) : (0, _utils.assertValueType)(\"string\")\n }\n }),\n validate: process.env.BABEL_TYPES_8_BREAKING ? function (parent, key, node) {\n const match = /\\.(\\w+)$/.exec(key);\n if (!match) return;\n const [, parentKey] = match;\n const nonComp = {\n computed: false\n };\n if (parentKey === \"property\") {\n if ((0, _is.default)(\"MemberExpression\", parent, nonComp)) return;\n if ((0, _is.default)(\"OptionalMemberExpression\", parent, nonComp)) return;\n } else if (parentKey === \"key\") {\n if ((0, _is.default)(\"Property\", parent, nonComp)) return;\n if ((0, _is.default)(\"Method\", parent, nonComp)) return;\n } else if (parentKey === \"exported\") {\n if ((0, _is.default)(\"ExportSpecifier\", parent)) return;\n } else if (parentKey === \"imported\") {\n if ((0, _is.default)(\"ImportSpecifier\", parent, {\n imported: node\n })) return;\n } else if (parentKey === \"meta\") {\n if ((0, _is.default)(\"MetaProperty\", parent, {\n meta: node\n })) return;\n }\n if (((0, _helperValidatorIdentifier.isKeyword)(node.name) || (0, _helperValidatorIdentifier.isReservedWord)(node.name, false)) && node.name !== \"this\") {\n throw new TypeError(`\"${node.name}\" is not a valid identifier`);\n }\n } : undefined\n});\ndefineType(\"IfStatement\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n aliases: [\"Statement\", \"Conditional\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n consequent: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n },\n alternate: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"LabeledStatement\", {\n visitor: [\"label\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n label: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"StringLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"NumericLiteral\", {\n builder: [\"value\"],\n deprecatedAlias: \"NumberLiteral\",\n fields: {\n value: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"number\"), Object.assign(function (node, key, val) {\n if (1 / val < 0 || !Number.isFinite(val)) {\n const error = new Error(\"NumericLiterals must be non-negative finite numbers. \" + `You can use t.valueToNode(${val}) instead.`);\n {}\n }\n }, {\n type: \"number\"\n }))\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"NullLiteral\", {\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"BooleanLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"boolean\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"RegExpLiteral\", {\n builder: [\"pattern\", \"flags\"],\n deprecatedAlias: \"RegexLiteral\",\n aliases: [\"Expression\", \"Pureish\", \"Literal\"],\n fields: {\n pattern: {\n validate: (0, _utils.assertValueType)(\"string\")\n },\n flags: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"string\"), Object.assign(function (node, key, val) {\n const invalid = /[^gimsuy]/.exec(val);\n if (invalid) {\n throw new TypeError(`\"${invalid[0]}\" is not a valid RegExp flag`);\n }\n }, {\n type: \"string\"\n })) : (0, _utils.assertValueType)(\"string\"),\n default: \"\"\n }\n }\n});\ndefineType(\"LogicalExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"],\n fields: {\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.LOGICAL_OPERATORS)\n },\n left: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"MemberExpression\", {\n builder: [\"object\", \"property\", \"computed\", ...(!process.env.BABEL_TYPES_8_BREAKING ? [\"optional\"] : [])],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\", \"LVal\"],\n fields: Object.assign({\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"Super\")\n },\n property: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"PrivateName\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n validator.oneOfNodeTypes = [\"Expression\", \"Identifier\", \"PrivateName\"];\n return validator;\n }()\n },\n computed: {\n default: false\n }\n }, !process.env.BABEL_TYPES_8_BREAKING ? {\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n }\n } : {})\n});\ndefineType(\"NewExpression\", {\n inherits: \"CallExpression\"\n});\ndefineType(\"Program\", {\n visitor: [\"directives\", \"body\"],\n builder: [\"body\", \"directives\", \"sourceType\", \"interpreter\"],\n fields: {\n sourceType: {\n validate: (0, _utils.assertOneOf)(\"script\", \"module\"),\n default: \"script\"\n },\n interpreter: {\n validate: (0, _utils.assertNodeType)(\"InterpreterDirective\"),\n default: null,\n optional: true\n },\n directives: {\n validate: (0, _utils.arrayOfType)(\"Directive\"),\n default: []\n },\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\"]\n});\ndefineType(\"ObjectExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: (0, _utils.validateArrayOfType)(\"ObjectMethod\", \"ObjectProperty\", \"SpreadElement\")\n }\n});\ndefineType(\"ObjectMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"computed\", \"generator\", \"async\"],\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {\n kind: Object.assign({\n validate: (0, _utils.assertOneOf)(\"method\", \"get\", \"set\")\n }, !process.env.BABEL_TYPES_8_BREAKING ? {\n default: \"method\"\n } : {}),\n computed: {\n default: false\n },\n key: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n validator.oneOfNodeTypes = [\"Expression\", \"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\"];\n return validator;\n }()\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n }),\n aliases: [\"UserWhitespacable\", \"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\", \"ObjectMember\"]\n});\ndefineType(\"ObjectProperty\", {\n builder: [\"key\", \"value\", \"computed\", \"shorthand\", ...(!process.env.BABEL_TYPES_8_BREAKING ? [\"decorators\"] : [])],\n fields: {\n computed: {\n default: false\n },\n key: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"DecimalLiteral\", \"PrivateName\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = Object.assign(function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"Expression\", \"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"DecimalLiteral\", \"PrivateName\"]\n });\n return validator;\n }()\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"PatternLike\")\n },\n shorthand: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), Object.assign(function (node, key, shorthand) {\n if (!shorthand) return;\n if (node.computed) {\n throw new TypeError(\"Property shorthand of ObjectProperty cannot be true if computed is true\");\n }\n if (!(0, _is.default)(\"Identifier\", node.key)) {\n throw new TypeError(\"Property shorthand of ObjectProperty cannot be true if key is not an Identifier\");\n }\n }, {\n type: \"boolean\"\n })) : (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n },\n visitor: [\"key\", \"value\", \"decorators\"],\n aliases: [\"UserWhitespacable\", \"Property\", \"ObjectMember\"],\n validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {\n const pattern = (0, _utils.assertNodeType)(\"Identifier\", \"Pattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSNonNullExpression\", \"TSTypeAssertion\");\n const expression = (0, _utils.assertNodeType)(\"Expression\");\n return function (parent, key, node) {\n const validator = (0, _is.default)(\"ObjectPattern\", parent) ? pattern : expression;\n validator(node, \"value\", node.value);\n };\n }()\n});\ndefineType(\"RestElement\", {\n visitor: [\"argument\", \"typeAnnotation\"],\n builder: [\"argument\"],\n aliases: [\"LVal\", \"PatternLike\"],\n deprecatedAlias: \"RestProperty\",\n fields: Object.assign({}, patternLikeCommon(), {\n argument: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"LVal\") : (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\", \"MemberExpression\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n }\n }),\n validate: process.env.BABEL_TYPES_8_BREAKING ? function (parent, key) {\n const match = /(\\w+)\\[(\\d+)\\]/.exec(key);\n if (!match) throw new Error(\"Internal Babel error: malformed key.\");\n const [, listKey, index] = match;\n if (parent[listKey].length > +index + 1) {\n throw new TypeError(`RestElement must be last element of ${listKey}`);\n }\n } : undefined\n});\ndefineType(\"ReturnStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n }\n }\n});\ndefineType(\"SequenceExpression\", {\n visitor: [\"expressions\"],\n fields: {\n expressions: (0, _utils.validateArrayOfType)(\"Expression\")\n },\n aliases: [\"Expression\"]\n});\ndefineType(\"ParenthesizedExpression\", {\n visitor: [\"expression\"],\n aliases: [\"Expression\", \"ExpressionWrapper\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"SwitchCase\", {\n visitor: [\"test\", \"consequent\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n consequent: (0, _utils.validateArrayOfType)(\"Statement\")\n }\n});\ndefineType(\"SwitchStatement\", {\n visitor: [\"discriminant\", \"cases\"],\n aliases: [\"Statement\", \"BlockParent\", \"Scopable\"],\n fields: {\n discriminant: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n cases: (0, _utils.validateArrayOfType)(\"SwitchCase\")\n }\n});\ndefineType(\"ThisExpression\", {\n aliases: [\"Expression\"]\n});\ndefineType(\"ThrowStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"TryStatement\", {\n visitor: [\"block\", \"handler\", \"finalizer\"],\n aliases: [\"Statement\"],\n fields: {\n block: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)(\"BlockStatement\"), Object.assign(function (node) {\n if (!node.handler && !node.finalizer) {\n throw new TypeError(\"TryStatement expects either a handler or finalizer, or both\");\n }\n }, {\n oneOfNodeTypes: [\"BlockStatement\"]\n })) : (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n handler: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"CatchClause\")\n },\n finalizer: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n }\n});\ndefineType(\"UnaryExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: true\n },\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.UNARY_OPERATORS)\n }\n },\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\", \"Expression\"]\n});\ndefineType(\"UpdateExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: false\n },\n argument: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"Expression\") : (0, _utils.assertNodeType)(\"Identifier\", \"MemberExpression\")\n },\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.UPDATE_OPERATORS)\n }\n },\n visitor: [\"argument\"],\n aliases: [\"Expression\"]\n});\ndefineType(\"VariableDeclaration\", {\n builder: [\"kind\", \"declarations\"],\n visitor: [\"declarations\"],\n aliases: [\"Statement\", \"Declaration\"],\n fields: {\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n kind: {\n validate: (0, _utils.assertOneOf)(\"var\", \"let\", \"const\", \"using\", \"await using\")\n },\n declarations: (0, _utils.validateArrayOfType)(\"VariableDeclarator\")\n },\n validate: process.env.BABEL_TYPES_8_BREAKING ? (() => {\n const withoutInit = (0, _utils.assertNodeType)(\"Identifier\");\n return function (parent, key, node) {\n if ((0, _is.default)(\"ForXStatement\", parent, {\n left: node\n })) {\n if (node.declarations.length !== 1) {\n throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`);\n }\n } else {\n node.declarations.forEach(decl => {\n if (!decl.init) withoutInit(decl, \"id\", decl.id);\n });\n }\n };\n })() : undefined\n});\ndefineType(\"VariableDeclarator\", {\n visitor: [\"id\", \"init\"],\n fields: {\n id: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"LVal\") : (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\")\n },\n definite: {\n optional: true,\n validate: (0, _utils.assertValueType)(\"boolean\")\n },\n init: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"WhileStatement\", {\n visitor: [\"test\", \"body\"],\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"WithStatement\", {\n visitor: [\"object\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"AssignmentPattern\", {\n visitor: [\"left\", \"right\", \"decorators\"],\n builder: [\"left\", \"right\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: Object.assign({}, patternLikeCommon(), {\n left: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"ObjectPattern\", \"ArrayPattern\", \"MemberExpression\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n })\n});\ndefineType(\"ArrayPattern\", {\n visitor: [\"elements\", \"typeAnnotation\"],\n builder: [\"elements\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: Object.assign({}, patternLikeCommon(), {\n elements: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"array\"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)(\"null\", \"PatternLike\", \"LVal\")))\n }\n })\n});\ndefineType(\"ArrowFunctionExpression\", {\n builder: [\"params\", \"body\", \"async\"],\n visitor: [\"typeParameters\", \"params\", \"returnType\", \"body\"],\n aliases: [\"Scopable\", \"Function\", \"BlockParent\", \"FunctionParent\", \"Expression\", \"Pureish\"],\n fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {\n expression: {\n validate: (0, _utils.assertValueType)(\"boolean\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\", \"Expression\")\n },\n predicate: {\n validate: (0, _utils.assertNodeType)(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true\n }\n })\n});\ndefineType(\"ClassBody\", {\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"ClassMethod\", \"ClassPrivateMethod\", \"ClassProperty\", \"ClassPrivateProperty\", \"ClassAccessorProperty\", \"TSDeclareMethod\", \"TSIndexSignature\", \"StaticBlock\")\n }\n});\ndefineType(\"ClassExpression\", {\n builder: [\"id\", \"superClass\", \"body\", \"decorators\"],\n visitor: [\"decorators\", \"id\", \"typeParameters\", \"superClass\", \"superTypeParameters\", \"mixins\", \"implements\", \"body\"],\n aliases: [\"Scopable\", \"Class\", \"Expression\"],\n fields: {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"ClassBody\")\n },\n superClass: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n superTypeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\", \"TSTypeParameterInstantiation\"),\n optional: true\n },\n implements: {\n validate: (0, _utils.arrayOfType)(\"TSExpressionWithTypeArguments\", \"ClassImplements\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n mixins: {\n validate: (0, _utils.assertNodeType)(\"InterfaceExtends\"),\n optional: true\n }\n }\n});\ndefineType(\"ClassDeclaration\", {\n inherits: \"ClassExpression\",\n aliases: [\"Scopable\", \"Class\", \"Statement\", \"Declaration\"],\n fields: {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"ClassBody\")\n },\n superClass: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n superTypeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\", \"TSTypeParameterInstantiation\"),\n optional: true\n },\n implements: {\n validate: (0, _utils.arrayOfType)(\"TSExpressionWithTypeArguments\", \"ClassImplements\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n mixins: {\n validate: (0, _utils.assertNodeType)(\"InterfaceExtends\"),\n optional: true\n },\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n abstract: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n }\n },\n validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {\n const identifier = (0, _utils.assertNodeType)(\"Identifier\");\n return function (parent, key, node) {\n if (!(0, _is.default)(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n }()\n});\nconst importAttributes = exports.importAttributes = {\n attributes: {\n optional: true,\n validate: (0, _utils.arrayOfType)(\"ImportAttribute\")\n },\n assertions: {\n deprecated: true,\n optional: true,\n validate: (0, _utils.arrayOfType)(\"ImportAttribute\")\n }\n};\ndefineType(\"ExportAllDeclaration\", {\n builder: [\"source\"],\n visitor: [\"source\", \"attributes\", \"assertions\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\", \"ExportDeclaration\"],\n fields: Object.assign({\n source: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\")\n },\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"type\", \"value\"))\n }, importAttributes)\n});\ndefineType(\"ExportDefaultDeclaration\", {\n visitor: [\"declaration\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\", \"ExportDeclaration\"],\n fields: {\n declaration: (0, _utils.validateType)(\"TSDeclareFunction\", \"FunctionDeclaration\", \"ClassDeclaration\", \"Expression\"),\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"value\"))\n }\n});\ndefineType(\"ExportNamedDeclaration\", {\n builder: [\"declaration\", \"specifiers\", \"source\"],\n visitor: process.env ? [\"declaration\", \"specifiers\", \"source\", \"attributes\"] : [\"declaration\", \"specifiers\", \"source\", \"attributes\", \"assertions\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\", \"ExportDeclaration\"],\n fields: Object.assign({\n declaration: {\n optional: true,\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)(\"Declaration\"), Object.assign(function (node, key, val) {\n if (val && node.specifiers.length) {\n throw new TypeError(\"Only declaration or specifiers is allowed on ExportNamedDeclaration\");\n }\n if (val && node.source) {\n throw new TypeError(\"Cannot export a declaration from a source\");\n }\n }, {\n oneOfNodeTypes: [\"Declaration\"]\n })) : (0, _utils.assertNodeType)(\"Declaration\")\n }\n }, importAttributes, {\n specifiers: {\n default: [],\n validate: (0, _utils.arrayOf)(function () {\n const sourced = (0, _utils.assertNodeType)(\"ExportSpecifier\", \"ExportDefaultSpecifier\", \"ExportNamespaceSpecifier\");\n const sourceless = (0, _utils.assertNodeType)(\"ExportSpecifier\");\n if (!process.env.BABEL_TYPES_8_BREAKING) return sourced;\n return Object.assign(function (node, key, val) {\n const validator = node.source ? sourced : sourceless;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"ExportSpecifier\", \"ExportDefaultSpecifier\", \"ExportNamespaceSpecifier\"]\n });\n }())\n },\n source: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\"),\n optional: true\n },\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"type\", \"value\"))\n })\n});\ndefineType(\"ExportSpecifier\", {\n visitor: [\"local\", \"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n exported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\")\n },\n exportKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"value\"),\n optional: true\n }\n }\n});\ndefineType(\"ForOfStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n builder: [\"left\", \"right\", \"body\", \"await\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\", \"ForXStatement\"],\n fields: {\n left: {\n validate: function () {\n if (!process.env.BABEL_TYPES_8_BREAKING) {\n return (0, _utils.assertNodeType)(\"VariableDeclaration\", \"LVal\");\n }\n const declaration = (0, _utils.assertNodeType)(\"VariableDeclaration\");\n const lval = (0, _utils.assertNodeType)(\"Identifier\", \"MemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\");\n return Object.assign(function (node, key, val) {\n if ((0, _is.default)(\"VariableDeclaration\", val)) {\n declaration(node, key, val);\n } else {\n lval(node, key, val);\n }\n }, {\n oneOfNodeTypes: [\"VariableDeclaration\", \"Identifier\", \"MemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\"]\n });\n }()\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n },\n await: {\n default: false\n }\n }\n});\ndefineType(\"ImportDeclaration\", {\n builder: [\"specifiers\", \"source\"],\n visitor: [\"specifiers\", \"source\", \"attributes\", \"assertions\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\"],\n fields: Object.assign({}, importAttributes, {\n module: {\n optional: true,\n validate: (0, _utils.assertValueType)(\"boolean\")\n },\n phase: {\n default: null,\n validate: (0, _utils.assertOneOf)(\"source\", \"defer\")\n },\n specifiers: (0, _utils.validateArrayOfType)(\"ImportSpecifier\", \"ImportDefaultSpecifier\", \"ImportNamespaceSpecifier\"),\n source: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\")\n },\n importKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"typeof\", \"value\"),\n optional: true\n }\n })\n});\ndefineType(\"ImportDefaultSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"ImportNamespaceSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"ImportSpecifier\", {\n visitor: [\"imported\", \"local\"],\n builder: [\"local\", \"imported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n imported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\")\n },\n importKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"typeof\", \"value\"),\n optional: true\n }\n }\n});\ndefineType(\"ImportExpression\", {\n visitor: [\"source\", \"options\"],\n aliases: [\"Expression\"],\n fields: {\n phase: {\n default: null,\n validate: (0, _utils.assertOneOf)(\"source\", \"defer\")\n },\n source: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n options: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n }\n }\n});\ndefineType(\"MetaProperty\", {\n visitor: [\"meta\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n meta: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)(\"Identifier\"), Object.assign(function (node, key, val) {\n let property;\n switch (val.name) {\n case \"function\":\n property = \"sent\";\n break;\n case \"new\":\n property = \"target\";\n break;\n case \"import\":\n property = \"meta\";\n break;\n }\n if (!(0, _is.default)(\"Identifier\", node.property, {\n name: property\n })) {\n throw new TypeError(\"Unrecognised MetaProperty\");\n }\n }, {\n oneOfNodeTypes: [\"Identifier\"]\n })) : (0, _utils.assertNodeType)(\"Identifier\")\n },\n property: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\nconst classMethodOrPropertyCommon = () => ({\n abstract: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n accessibility: {\n validate: (0, _utils.assertOneOf)(\"public\", \"private\", \"protected\"),\n optional: true\n },\n static: {\n default: false\n },\n override: {\n default: false\n },\n computed: {\n default: false\n },\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n key: {\n validate: (0, _utils.chain)(function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n return function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n }(), (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"Expression\"))\n }\n});\nexports.classMethodOrPropertyCommon = classMethodOrPropertyCommon;\nconst classMethodOrDeclareMethodCommon = () => Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), {\n params: (0, _utils.validateArrayOfType)(\"Identifier\", \"Pattern\", \"RestElement\", \"TSParameterProperty\"),\n kind: {\n validate: (0, _utils.assertOneOf)(\"get\", \"set\", \"method\", \"constructor\"),\n default: \"method\"\n },\n access: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"string\"), (0, _utils.assertOneOf)(\"public\", \"private\", \"protected\")),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n});\nexports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon;\ndefineType(\"ClassMethod\", {\n aliases: [\"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\"],\n builder: [\"kind\", \"key\", \"params\", \"body\", \"computed\", \"static\", \"generator\", \"async\"],\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n })\n});\ndefineType(\"ObjectPattern\", {\n visitor: [\"properties\", \"typeAnnotation\", \"decorators\"],\n builder: [\"properties\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: Object.assign({}, patternLikeCommon(), {\n properties: (0, _utils.validateArrayOfType)(\"RestElement\", \"ObjectProperty\")\n })\n});\ndefineType(\"SpreadElement\", {\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\"],\n deprecatedAlias: \"SpreadProperty\",\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"Super\", {\n aliases: [\"Expression\"]\n});\ndefineType(\"TaggedTemplateExpression\", {\n visitor: [\"tag\", \"typeParameters\", \"quasi\"],\n builder: [\"tag\", \"quasi\"],\n aliases: [\"Expression\"],\n fields: {\n tag: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n quasi: {\n validate: (0, _utils.assertNodeType)(\"TemplateLiteral\")\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\", \"TSTypeParameterInstantiation\"),\n optional: true\n }\n }\n});\ndefineType(\"TemplateElement\", {\n builder: [\"value\", \"tail\"],\n fields: {\n value: {\n validate: (0, _utils.chain)((0, _utils.assertShape)({\n raw: {\n validate: (0, _utils.assertValueType)(\"string\")\n },\n cooked: {\n validate: (0, _utils.assertValueType)(\"string\"),\n optional: true\n }\n }), function templateElementCookedValidator(node) {\n const raw = node.value.raw;\n let unterminatedCalled = false;\n const error = () => {\n throw new Error(\"Internal @babel/types error.\");\n };\n const {\n str,\n firstInvalidLoc\n } = (0, _helperStringParser.readStringContents)(\"template\", raw, 0, 0, 0, {\n unterminated() {\n unterminatedCalled = true;\n },\n strictNumericEscape: error,\n invalidEscapeSequence: error,\n numericSeparatorInEscapeSequence: error,\n unexpectedNumericSeparator: error,\n invalidDigit: error,\n invalidCodePoint: error\n });\n if (!unterminatedCalled) throw new Error(\"Invalid raw\");\n node.value.cooked = firstInvalidLoc ? null : str;\n })\n },\n tail: {\n default: false\n }\n }\n});\ndefineType(\"TemplateLiteral\", {\n visitor: [\"quasis\", \"expressions\"],\n aliases: [\"Expression\", \"Literal\"],\n fields: {\n quasis: (0, _utils.validateArrayOfType)(\"TemplateElement\"),\n expressions: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"array\"), (0, _utils.assertEach)((0, _utils.assertNodeType)(\"Expression\", \"TSType\")), function (node, key, val) {\n if (node.quasis.length !== val.length + 1) {\n throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of expressions.\\nExpected ${val.length + 1} quasis but got ${node.quasis.length}`);\n }\n })\n }\n }\n});\ndefineType(\"YieldExpression\", {\n builder: [\"argument\", \"delegate\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n delegate: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), Object.assign(function (node, key, val) {\n if (val && !node.argument) {\n throw new TypeError(\"Property delegate of YieldExpression cannot be true if there is no argument\");\n }\n }, {\n type: \"boolean\"\n })) : (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n argument: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"AwaitExpression\", {\n builder: [\"argument\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"Import\", {\n aliases: [\"Expression\"]\n});\ndefineType(\"BigIntLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"ExportNamespaceSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"OptionalMemberExpression\", {\n builder: [\"object\", \"property\", \"computed\", \"optional\"],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n property: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = Object.assign(function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"Expression\", \"Identifier\"]\n });\n return validator;\n }()\n },\n computed: {\n default: false\n },\n optional: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)(\"boolean\") : (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), (0, _utils.assertOptionalChainStart)())\n }\n }\n});\ndefineType(\"OptionalCallExpression\", {\n visitor: [\"callee\", \"arguments\", \"typeParameters\", \"typeArguments\"],\n builder: [\"callee\", \"arguments\", \"optional\"],\n aliases: [\"Expression\"],\n fields: {\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n arguments: (0, _utils.validateArrayOfType)(\"Expression\", \"SpreadElement\", \"ArgumentPlaceholder\"),\n optional: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)(\"boolean\") : (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), (0, _utils.assertOptionalChainStart)())\n },\n typeArguments: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TSTypeParameterInstantiation\"),\n optional: true\n }\n }\n});\ndefineType(\"ClassProperty\", {\n visitor: [\"decorators\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\"key\", \"value\", \"typeAnnotation\", \"decorators\", \"computed\", \"static\"],\n aliases: [\"Property\"],\n fields: Object.assign({}, classMethodOrPropertyCommon(), {\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n definite: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n variance: {\n validate: (0, _utils.assertNodeType)(\"Variance\"),\n optional: true\n }\n })\n});\ndefineType(\"ClassAccessorProperty\", {\n visitor: [\"decorators\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\"key\", \"value\", \"typeAnnotation\", \"decorators\", \"computed\", \"static\"],\n aliases: [\"Property\", \"Accessor\"],\n fields: Object.assign({}, classMethodOrPropertyCommon(), {\n key: {\n validate: (0, _utils.chain)(function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"PrivateName\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n return function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n }(), (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"Expression\", \"PrivateName\"))\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n definite: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n variance: {\n validate: (0, _utils.assertNodeType)(\"Variance\"),\n optional: true\n }\n })\n});\ndefineType(\"ClassPrivateProperty\", {\n visitor: [\"decorators\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\"key\", \"value\", \"decorators\", \"static\"],\n aliases: [\"Property\", \"Private\"],\n fields: {\n key: {\n validate: (0, _utils.assertNodeType)(\"PrivateName\")\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n static: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n definite: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n variance: {\n validate: (0, _utils.assertNodeType)(\"Variance\"),\n optional: true\n }\n }\n});\ndefineType(\"ClassPrivateMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"static\"],\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n aliases: [\"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\", \"Private\"],\n fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {\n kind: {\n validate: (0, _utils.assertOneOf)(\"get\", \"set\", \"method\"),\n default: \"method\"\n },\n key: {\n validate: (0, _utils.assertNodeType)(\"PrivateName\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n })\n});\ndefineType(\"PrivateName\", {\n visitor: [\"id\"],\n aliases: [\"Private\"],\n fields: {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"StaticBlock\", {\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n },\n aliases: [\"Scopable\", \"BlockParent\", \"FunctionParent\"]\n});\n\n//# sourceMappingURL=core.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/core.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/deprecated-aliases.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/deprecated-aliases.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DEPRECATED_ALIASES = void 0;\nconst DEPRECATED_ALIASES = exports.DEPRECATED_ALIASES = {\n ModuleDeclaration: \"ImportOrExportDeclaration\"\n};\n\n//# sourceMappingURL=deprecated-aliases.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/deprecated-aliases.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/experimental.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/experimental.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\n(0, _utils.default)(\"ArgumentPlaceholder\", {});\n(0, _utils.default)(\"BindExpression\", {\n visitor: [\"object\", \"callee\"],\n aliases: [\"Expression\"],\n fields: !process.env.BABEL_TYPES_8_BREAKING ? {\n object: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"]\n })\n },\n callee: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"]\n })\n }\n } : {\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\n(0, _utils.default)(\"ImportAttribute\", {\n visitor: [\"key\", \"value\"],\n fields: {\n key: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\")\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\")\n }\n }\n});\n(0, _utils.default)(\"Decorator\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\n(0, _utils.default)(\"DoExpression\", {\n visitor: [\"body\"],\n builder: [\"body\", \"async\"],\n aliases: [\"Expression\"],\n fields: {\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n async: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n default: false\n }\n }\n});\n(0, _utils.default)(\"ExportDefaultSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\n(0, _utils.default)(\"RecordExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: (0, _utils.validateArrayOfType)(\"ObjectProperty\", \"SpreadElement\")\n }\n});\n(0, _utils.default)(\"TupleExpression\", {\n fields: {\n elements: {\n validate: (0, _utils.arrayOfType)(\"Expression\", \"SpreadElement\"),\n default: []\n }\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"]\n});\n{\n (0, _utils.default)(\"DecimalLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n });\n}\n(0, _utils.default)(\"ModuleExpression\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: (0, _utils.assertNodeType)(\"Program\")\n }\n },\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"TopicReference\", {\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"PipelineTopicExpression\", {\n builder: [\"expression\"],\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"PipelineBareFunction\", {\n builder: [\"callee\"],\n visitor: [\"callee\"],\n fields: {\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"PipelinePrimaryTopicReference\", {\n aliases: [\"Expression\"]\n});\n\n//# sourceMappingURL=experimental.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/experimental.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/flow.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/flow.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar _core = __webpack_require__(/*! ./core.js */ \"./node_modules/@babel/types/lib/definitions/core.js\");\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"Flow\");\nconst defineInterfaceishType = name => {\n const isDeclareClass = name === \"DeclareClass\";\n defineType(name, {\n builder: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", ...(isDeclareClass ? [\"mixins\", \"implements\"] : []), \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: Object.assign({\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"InterfaceExtends\"))\n }, isDeclareClass ? {\n mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"InterfaceExtends\")),\n implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"ClassImplements\"))\n } : {}, {\n body: (0, _utils.validateType)(\"ObjectTypeAnnotation\")\n })\n });\n};\ndefineType(\"AnyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ArrayTypeAnnotation\", {\n visitor: [\"elementType\"],\n aliases: [\"FlowType\"],\n fields: {\n elementType: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"BooleanTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"BooleanLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"NullLiteralTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ClassImplements\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterInstantiation\")\n }\n});\ndefineInterfaceishType(\"DeclareClass\");\ndefineType(\"DeclareFunction\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n predicate: (0, _utils.validateOptionalType)(\"DeclaredPredicate\")\n }\n});\ndefineInterfaceishType(\"DeclareInterface\");\ndefineType(\"DeclareModule\", {\n builder: [\"id\", \"body\", \"kind\"],\n visitor: [\"id\", \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n body: (0, _utils.validateType)(\"BlockStatement\"),\n kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"CommonJS\", \"ES\"))\n }\n});\ndefineType(\"DeclareModuleExports\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TypeAnnotation\")\n }\n});\ndefineType(\"DeclareTypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n right: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"DeclareOpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n supertype: (0, _utils.validateOptionalType)(\"FlowType\"),\n impltype: (0, _utils.validateOptionalType)(\"FlowType\")\n }\n});\ndefineType(\"DeclareVariable\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\")\n }\n});\ndefineType(\"DeclareExportDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: Object.assign({\n declaration: (0, _utils.validateOptionalType)(\"Flow\"),\n specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"ExportSpecifier\", \"ExportNamespaceSpecifier\")),\n source: (0, _utils.validateOptionalType)(\"StringLiteral\"),\n default: (0, _utils.validateOptional)((0, _utils.assertValueType)(\"boolean\"))\n }, _core.importAttributes)\n});\ndefineType(\"DeclareExportAllDeclaration\", {\n visitor: [\"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: Object.assign({\n source: (0, _utils.validateType)(\"StringLiteral\"),\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"type\", \"value\"))\n }, _core.importAttributes)\n});\ndefineType(\"DeclaredPredicate\", {\n visitor: [\"value\"],\n aliases: [\"FlowPredicate\"],\n fields: {\n value: (0, _utils.validateType)(\"Flow\")\n }\n});\ndefineType(\"ExistsTypeAnnotation\", {\n aliases: [\"FlowType\"]\n});\ndefineType(\"FunctionTypeAnnotation\", {\n visitor: [\"typeParameters\", \"params\", \"rest\", \"returnType\"],\n aliases: [\"FlowType\"],\n fields: {\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n params: (0, _utils.validateArrayOfType)(\"FunctionTypeParam\"),\n rest: (0, _utils.validateOptionalType)(\"FunctionTypeParam\"),\n this: (0, _utils.validateOptionalType)(\"FunctionTypeParam\"),\n returnType: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"FunctionTypeParam\", {\n visitor: [\"name\", \"typeAnnotation\"],\n fields: {\n name: (0, _utils.validateOptionalType)(\"Identifier\"),\n typeAnnotation: (0, _utils.validateType)(\"FlowType\"),\n optional: (0, _utils.validateOptional)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"GenericTypeAnnotation\", {\n visitor: [\"id\", \"typeParameters\"],\n aliases: [\"FlowType\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterInstantiation\")\n }\n});\ndefineType(\"InferredPredicate\", {\n aliases: [\"FlowPredicate\"]\n});\ndefineType(\"InterfaceExtends\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterInstantiation\")\n }\n});\ndefineInterfaceishType(\"InterfaceDeclaration\");\ndefineType(\"InterfaceTypeAnnotation\", {\n visitor: [\"extends\", \"body\"],\n aliases: [\"FlowType\"],\n fields: {\n extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"InterfaceExtends\")),\n body: (0, _utils.validateType)(\"ObjectTypeAnnotation\")\n }\n});\ndefineType(\"IntersectionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"MixedTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"EmptyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"NullableTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowType\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"NumberLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: (0, _utils.validate)((0, _utils.assertValueType)(\"number\"))\n }\n});\ndefineType(\"NumberTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ObjectTypeAnnotation\", {\n visitor: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\"],\n aliases: [\"FlowType\"],\n builder: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\", \"exact\"],\n fields: {\n properties: (0, _utils.validate)((0, _utils.arrayOfType)(\"ObjectTypeProperty\", \"ObjectTypeSpreadProperty\")),\n indexers: {\n validate: (0, _utils.arrayOfType)(\"ObjectTypeIndexer\"),\n optional: true,\n default: []\n },\n callProperties: {\n validate: (0, _utils.arrayOfType)(\"ObjectTypeCallProperty\"),\n optional: true,\n default: []\n },\n internalSlots: {\n validate: (0, _utils.arrayOfType)(\"ObjectTypeInternalSlot\"),\n optional: true,\n default: []\n },\n exact: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeInternalSlot\", {\n visitor: [\"id\", \"value\"],\n builder: [\"id\", \"value\", \"optional\", \"static\", \"method\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n value: (0, _utils.validateType)(\"FlowType\"),\n optional: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n method: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeCallProperty\", {\n visitor: [\"value\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n value: (0, _utils.validateType)(\"FlowType\"),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeIndexer\", {\n visitor: [\"variance\", \"id\", \"key\", \"value\"],\n builder: [\"id\", \"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: (0, _utils.validateOptionalType)(\"Identifier\"),\n key: (0, _utils.validateType)(\"FlowType\"),\n value: (0, _utils.validateType)(\"FlowType\"),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n variance: (0, _utils.validateOptionalType)(\"Variance\")\n }\n});\ndefineType(\"ObjectTypeProperty\", {\n visitor: [\"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n key: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n value: (0, _utils.validateType)(\"FlowType\"),\n kind: (0, _utils.validate)((0, _utils.assertOneOf)(\"init\", \"get\", \"set\")),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n proto: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n optional: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n variance: (0, _utils.validateOptionalType)(\"Variance\"),\n method: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeSpreadProperty\", {\n visitor: [\"argument\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n argument: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"OpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\", \"impltype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n supertype: (0, _utils.validateOptionalType)(\"FlowType\"),\n impltype: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"QualifiedTypeIdentifier\", {\n visitor: [\"qualification\", \"id\"],\n builder: [\"id\", \"qualification\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n qualification: (0, _utils.validateType)(\"Identifier\", \"QualifiedTypeIdentifier\")\n }\n});\ndefineType(\"StringLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: (0, _utils.validate)((0, _utils.assertValueType)(\"string\"))\n }\n});\ndefineType(\"StringTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"SymbolTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ThisTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"TupleTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"TypeofTypeAnnotation\", {\n visitor: [\"argument\"],\n aliases: [\"FlowType\"],\n fields: {\n argument: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"TypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n right: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"TypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"TypeCastExpression\", {\n visitor: [\"expression\", \"typeAnnotation\"],\n aliases: [\"ExpressionWrapper\", \"Expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\"),\n typeAnnotation: (0, _utils.validateType)(\"TypeAnnotation\")\n }\n});\ndefineType(\"TypeParameter\", {\n visitor: [\"bound\", \"default\", \"variance\"],\n fields: {\n name: (0, _utils.validate)((0, _utils.assertValueType)(\"string\")),\n bound: (0, _utils.validateOptionalType)(\"TypeAnnotation\"),\n default: (0, _utils.validateOptionalType)(\"FlowType\"),\n variance: (0, _utils.validateOptionalType)(\"Variance\")\n }\n});\ndefineType(\"TypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validate)((0, _utils.arrayOfType)(\"TypeParameter\"))\n }\n});\ndefineType(\"TypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"UnionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"Variance\", {\n builder: [\"kind\"],\n fields: {\n kind: (0, _utils.validate)((0, _utils.assertOneOf)(\"minus\", \"plus\"))\n }\n});\ndefineType(\"VoidTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"EnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n body: (0, _utils.validateType)(\"EnumBooleanBody\", \"EnumNumberBody\", \"EnumStringBody\", \"EnumSymbolBody\")\n }\n});\ndefineType(\"EnumBooleanBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n members: (0, _utils.validateArrayOfType)(\"EnumBooleanMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumNumberBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n members: (0, _utils.validateArrayOfType)(\"EnumNumberMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumStringBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n members: (0, _utils.validateArrayOfType)(\"EnumStringMember\", \"EnumDefaultedMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumSymbolBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n members: (0, _utils.validateArrayOfType)(\"EnumDefaultedMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumBooleanMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n init: (0, _utils.validateType)(\"BooleanLiteral\")\n }\n});\ndefineType(\"EnumNumberMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n init: (0, _utils.validateType)(\"NumericLiteral\")\n }\n});\ndefineType(\"EnumStringMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n init: (0, _utils.validateType)(\"StringLiteral\")\n }\n});\ndefineType(\"EnumDefaultedMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\")\n }\n});\ndefineType(\"IndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: (0, _utils.validateType)(\"FlowType\"),\n indexType: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"OptionalIndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: (0, _utils.validateType)(\"FlowType\"),\n indexType: (0, _utils.validateType)(\"FlowType\"),\n optional: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\n\n//# sourceMappingURL=flow.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/flow.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ALIAS_KEYS\", ({\n enumerable: true,\n get: function () {\n return _utils.ALIAS_KEYS;\n }\n}));\nObject.defineProperty(exports, \"BUILDER_KEYS\", ({\n enumerable: true,\n get: function () {\n return _utils.BUILDER_KEYS;\n }\n}));\nObject.defineProperty(exports, \"DEPRECATED_ALIASES\", ({\n enumerable: true,\n get: function () {\n return _deprecatedAliases.DEPRECATED_ALIASES;\n }\n}));\nObject.defineProperty(exports, \"DEPRECATED_KEYS\", ({\n enumerable: true,\n get: function () {\n return _utils.DEPRECATED_KEYS;\n }\n}));\nObject.defineProperty(exports, \"FLIPPED_ALIAS_KEYS\", ({\n enumerable: true,\n get: function () {\n return _utils.FLIPPED_ALIAS_KEYS;\n }\n}));\nObject.defineProperty(exports, \"NODE_FIELDS\", ({\n enumerable: true,\n get: function () {\n return _utils.NODE_FIELDS;\n }\n}));\nObject.defineProperty(exports, \"NODE_PARENT_VALIDATIONS\", ({\n enumerable: true,\n get: function () {\n return _utils.NODE_PARENT_VALIDATIONS;\n }\n}));\nObject.defineProperty(exports, \"PLACEHOLDERS\", ({\n enumerable: true,\n get: function () {\n return _placeholders.PLACEHOLDERS;\n }\n}));\nObject.defineProperty(exports, \"PLACEHOLDERS_ALIAS\", ({\n enumerable: true,\n get: function () {\n return _placeholders.PLACEHOLDERS_ALIAS;\n }\n}));\nObject.defineProperty(exports, \"PLACEHOLDERS_FLIPPED_ALIAS\", ({\n enumerable: true,\n get: function () {\n return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS;\n }\n}));\nexports.TYPES = void 0;\nObject.defineProperty(exports, \"VISITOR_KEYS\", ({\n enumerable: true,\n get: function () {\n return _utils.VISITOR_KEYS;\n }\n}));\n__webpack_require__(/*! ./core.js */ \"./node_modules/@babel/types/lib/definitions/core.js\");\n__webpack_require__(/*! ./flow.js */ \"./node_modules/@babel/types/lib/definitions/flow.js\");\n__webpack_require__(/*! ./jsx.js */ \"./node_modules/@babel/types/lib/definitions/jsx.js\");\n__webpack_require__(/*! ./misc.js */ \"./node_modules/@babel/types/lib/definitions/misc.js\");\n__webpack_require__(/*! ./experimental.js */ \"./node_modules/@babel/types/lib/definitions/experimental.js\");\n__webpack_require__(/*! ./typescript.js */ \"./node_modules/@babel/types/lib/definitions/typescript.js\");\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nvar _placeholders = __webpack_require__(/*! ./placeholders.js */ \"./node_modules/@babel/types/lib/definitions/placeholders.js\");\nvar _deprecatedAliases = __webpack_require__(/*! ./deprecated-aliases.js */ \"./node_modules/@babel/types/lib/definitions/deprecated-aliases.js\");\nObject.keys(_deprecatedAliases.DEPRECATED_ALIASES).forEach(deprecatedAlias => {\n _utils.FLIPPED_ALIAS_KEYS[deprecatedAlias] = _utils.FLIPPED_ALIAS_KEYS[_deprecatedAliases.DEPRECATED_ALIASES[deprecatedAlias]];\n});\nconst TYPES = exports.TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS));\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/jsx.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/jsx.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"JSX\");\ndefineType(\"JSXAttribute\", {\n visitor: [\"name\", \"value\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\", \"JSXNamespacedName\")\n },\n value: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"JSXElement\", \"JSXFragment\", \"StringLiteral\", \"JSXExpressionContainer\")\n }\n }\n});\ndefineType(\"JSXClosingElement\", {\n visitor: [\"name\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\", \"JSXMemberExpression\", \"JSXNamespacedName\")\n }\n }\n});\ndefineType(\"JSXElement\", {\n builder: [\"openingElement\", \"closingElement\", \"children\", \"selfClosing\"],\n visitor: [\"openingElement\", \"children\", \"closingElement\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: Object.assign({\n openingElement: {\n validate: (0, _utils.assertNodeType)(\"JSXOpeningElement\")\n },\n closingElement: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"JSXClosingElement\")\n },\n children: (0, _utils.validateArrayOfType)(\"JSXText\", \"JSXExpressionContainer\", \"JSXSpreadChild\", \"JSXElement\", \"JSXFragment\")\n }, {\n selfClosing: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n }\n })\n});\ndefineType(\"JSXEmptyExpression\", {});\ndefineType(\"JSXExpressionContainer\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"JSXEmptyExpression\")\n }\n }\n});\ndefineType(\"JSXSpreadChild\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"JSXIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"JSXMemberExpression\", {\n visitor: [\"object\", \"property\"],\n fields: {\n object: {\n validate: (0, _utils.assertNodeType)(\"JSXMemberExpression\", \"JSXIdentifier\")\n },\n property: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\")\n }\n }\n});\ndefineType(\"JSXNamespacedName\", {\n visitor: [\"namespace\", \"name\"],\n fields: {\n namespace: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\")\n },\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\")\n }\n }\n});\ndefineType(\"JSXOpeningElement\", {\n builder: [\"name\", \"attributes\", \"selfClosing\"],\n visitor: [\"name\", \"attributes\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\", \"JSXMemberExpression\", \"JSXNamespacedName\")\n },\n selfClosing: {\n default: false\n },\n attributes: (0, _utils.validateArrayOfType)(\"JSXAttribute\", \"JSXSpreadAttribute\"),\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\", \"TSTypeParameterInstantiation\"),\n optional: true\n }\n }\n});\ndefineType(\"JSXSpreadAttribute\", {\n visitor: [\"argument\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"JSXText\", {\n aliases: [\"Immutable\"],\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"JSXFragment\", {\n builder: [\"openingFragment\", \"closingFragment\", \"children\"],\n visitor: [\"openingFragment\", \"children\", \"closingFragment\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingFragment: {\n validate: (0, _utils.assertNodeType)(\"JSXOpeningFragment\")\n },\n closingFragment: {\n validate: (0, _utils.assertNodeType)(\"JSXClosingFragment\")\n },\n children: (0, _utils.validateArrayOfType)(\"JSXText\", \"JSXExpressionContainer\", \"JSXSpreadChild\", \"JSXElement\", \"JSXFragment\")\n }\n});\ndefineType(\"JSXOpeningFragment\", {\n aliases: [\"Immutable\"]\n});\ndefineType(\"JSXClosingFragment\", {\n aliases: [\"Immutable\"]\n});\n\n//# sourceMappingURL=jsx.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/jsx.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/misc.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/misc.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nvar _placeholders = __webpack_require__(/*! ./placeholders.js */ \"./node_modules/@babel/types/lib/definitions/placeholders.js\");\nvar _core = __webpack_require__(/*! ./core.js */ \"./node_modules/@babel/types/lib/definitions/core.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"Miscellaneous\");\n{\n defineType(\"Noop\", {\n visitor: []\n });\n}\ndefineType(\"Placeholder\", {\n visitor: [],\n builder: [\"expectedNode\", \"name\"],\n fields: Object.assign({\n name: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n expectedNode: {\n validate: (0, _utils.assertOneOf)(..._placeholders.PLACEHOLDERS)\n }\n }, (0, _core.patternLikeCommon)())\n});\ndefineType(\"V8IntrinsicIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\n\n//# sourceMappingURL=misc.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/misc.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/placeholders.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/placeholders.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0;\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nconst PLACEHOLDERS = exports.PLACEHOLDERS = [\"Identifier\", \"StringLiteral\", \"Expression\", \"Statement\", \"Declaration\", \"BlockStatement\", \"ClassBody\", \"Pattern\"];\nconst PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS_ALIAS = {\n Declaration: [\"Statement\"],\n Pattern: [\"PatternLike\", \"LVal\"]\n};\nfor (const type of PLACEHOLDERS) {\n const alias = _utils.ALIAS_KEYS[type];\n if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type] = alias;\n}\nconst PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_FLIPPED_ALIAS = {};\nObject.keys(PLACEHOLDERS_ALIAS).forEach(type => {\n PLACEHOLDERS_ALIAS[type].forEach(alias => {\n if (!hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) {\n PLACEHOLDERS_FLIPPED_ALIAS[alias] = [];\n }\n PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);\n });\n});\n\n//# sourceMappingURL=placeholders.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/placeholders.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/typescript.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/typescript.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/@babel/types/lib/definitions/utils.js\");\nvar _core = __webpack_require__(/*! ./core.js */ \"./node_modules/@babel/types/lib/definitions/core.js\");\nvar _is = __webpack_require__(/*! ../validators/is.js */ \"./node_modules/@babel/types/lib/validators/is.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"TypeScript\");\nconst bool = (0, _utils.assertValueType)(\"boolean\");\nconst tSFunctionTypeAnnotationCommon = () => ({\n returnType: {\n validate: (0, _utils.assertNodeType)(\"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n }\n});\ndefineType(\"TSParameterProperty\", {\n aliases: [\"LVal\"],\n visitor: [\"parameter\"],\n fields: {\n accessibility: {\n validate: (0, _utils.assertOneOf)(\"public\", \"private\", \"protected\"),\n optional: true\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n parameter: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"AssignmentPattern\")\n },\n override: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n }\n});\ndefineType(\"TSDeclareFunction\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\"],\n fields: Object.assign({}, (0, _core.functionDeclarationCommon)(), tSFunctionTypeAnnotationCommon())\n});\ndefineType(\"TSDeclareMethod\", {\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\"],\n fields: Object.assign({}, (0, _core.classMethodOrDeclareMethodCommon)(), tSFunctionTypeAnnotationCommon())\n});\ndefineType(\"TSQualifiedName\", {\n aliases: [\"TSEntityName\"],\n visitor: [\"left\", \"right\"],\n fields: {\n left: (0, _utils.validateType)(\"TSEntityName\"),\n right: (0, _utils.validateType)(\"Identifier\")\n }\n});\nconst signatureDeclarationCommon = () => ({\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterDeclaration\"),\n [\"parameters\"]: (0, _utils.validateArrayOfType)(\"ArrayPattern\", \"Identifier\", \"ObjectPattern\", \"RestElement\"),\n [\"typeAnnotation\"]: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\")\n});\nconst callConstructSignatureDeclaration = {\n aliases: [\"TSTypeElement\"],\n visitor: [\"typeParameters\", \"parameters\", \"typeAnnotation\"],\n fields: signatureDeclarationCommon()\n};\ndefineType(\"TSCallSignatureDeclaration\", callConstructSignatureDeclaration);\ndefineType(\"TSConstructSignatureDeclaration\", callConstructSignatureDeclaration);\nconst namedTypeElementCommon = () => ({\n key: (0, _utils.validateType)(\"Expression\"),\n computed: {\n default: false\n },\n optional: (0, _utils.validateOptional)(bool)\n});\ndefineType(\"TSPropertySignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeAnnotation\"],\n fields: Object.assign({}, namedTypeElementCommon(), {\n readonly: (0, _utils.validateOptional)(bool),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\"),\n kind: {\n validate: (0, _utils.assertOneOf)(\"get\", \"set\")\n }\n })\n});\ndefineType(\"TSMethodSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeParameters\", \"parameters\", \"typeAnnotation\"],\n fields: Object.assign({}, signatureDeclarationCommon(), namedTypeElementCommon(), {\n kind: {\n validate: (0, _utils.assertOneOf)(\"method\", \"get\", \"set\")\n }\n })\n});\ndefineType(\"TSIndexSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"parameters\", \"typeAnnotation\"],\n fields: {\n readonly: (0, _utils.validateOptional)(bool),\n static: (0, _utils.validateOptional)(bool),\n parameters: (0, _utils.validateArrayOfType)(\"Identifier\"),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\")\n }\n});\nconst tsKeywordTypes = [\"TSAnyKeyword\", \"TSBooleanKeyword\", \"TSBigIntKeyword\", \"TSIntrinsicKeyword\", \"TSNeverKeyword\", \"TSNullKeyword\", \"TSNumberKeyword\", \"TSObjectKeyword\", \"TSStringKeyword\", \"TSSymbolKeyword\", \"TSUndefinedKeyword\", \"TSUnknownKeyword\", \"TSVoidKeyword\"];\nfor (const type of tsKeywordTypes) {\n defineType(type, {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {}\n });\n}\ndefineType(\"TSThisType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {}\n});\nconst fnOrCtrBase = {\n aliases: [\"TSType\"],\n visitor: [\"typeParameters\", \"parameters\", \"typeAnnotation\"]\n};\ndefineType(\"TSFunctionType\", Object.assign({}, fnOrCtrBase, {\n fields: signatureDeclarationCommon()\n}));\ndefineType(\"TSConstructorType\", Object.assign({}, fnOrCtrBase, {\n fields: Object.assign({}, signatureDeclarationCommon(), {\n abstract: (0, _utils.validateOptional)(bool)\n })\n}));\ndefineType(\"TSTypeReference\", {\n aliases: [\"TSType\"],\n visitor: [\"typeName\", \"typeParameters\"],\n fields: {\n typeName: (0, _utils.validateType)(\"TSEntityName\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n});\ndefineType(\"TSTypePredicate\", {\n aliases: [\"TSType\"],\n visitor: [\"parameterName\", \"typeAnnotation\"],\n builder: [\"parameterName\", \"typeAnnotation\", \"asserts\"],\n fields: {\n parameterName: (0, _utils.validateType)(\"Identifier\", \"TSThisType\"),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\"),\n asserts: (0, _utils.validateOptional)(bool)\n }\n});\ndefineType(\"TSTypeQuery\", {\n aliases: [\"TSType\"],\n visitor: [\"exprName\", \"typeParameters\"],\n fields: {\n exprName: (0, _utils.validateType)(\"TSEntityName\", \"TSImportType\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n});\ndefineType(\"TSTypeLiteral\", {\n aliases: [\"TSType\"],\n visitor: [\"members\"],\n fields: {\n members: (0, _utils.validateArrayOfType)(\"TSTypeElement\")\n }\n});\ndefineType(\"TSArrayType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementType\"],\n fields: {\n elementType: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSTupleType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementTypes\"],\n fields: {\n elementTypes: (0, _utils.validateArrayOfType)(\"TSType\", \"TSNamedTupleMember\")\n }\n});\ndefineType(\"TSOptionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSRestType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSNamedTupleMember\", {\n visitor: [\"label\", \"elementType\"],\n builder: [\"label\", \"elementType\", \"optional\"],\n fields: {\n label: (0, _utils.validateType)(\"Identifier\"),\n optional: {\n validate: bool,\n default: false\n },\n elementType: (0, _utils.validateType)(\"TSType\")\n }\n});\nconst unionOrIntersection = {\n aliases: [\"TSType\"],\n visitor: [\"types\"],\n fields: {\n types: (0, _utils.validateArrayOfType)(\"TSType\")\n }\n};\ndefineType(\"TSUnionType\", unionOrIntersection);\ndefineType(\"TSIntersectionType\", unionOrIntersection);\ndefineType(\"TSConditionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"checkType\", \"extendsType\", \"trueType\", \"falseType\"],\n fields: {\n checkType: (0, _utils.validateType)(\"TSType\"),\n extendsType: (0, _utils.validateType)(\"TSType\"),\n trueType: (0, _utils.validateType)(\"TSType\"),\n falseType: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSInferType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\"],\n fields: {\n typeParameter: (0, _utils.validateType)(\"TSTypeParameter\")\n }\n});\ndefineType(\"TSParenthesizedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSTypeOperator\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n operator: (0, _utils.validate)((0, _utils.assertValueType)(\"string\")),\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSIndexedAccessType\", {\n aliases: [\"TSType\"],\n visitor: [\"objectType\", \"indexType\"],\n fields: {\n objectType: (0, _utils.validateType)(\"TSType\"),\n indexType: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSMappedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\", \"nameType\", \"typeAnnotation\"],\n builder: [\"typeParameter\", \"typeAnnotation\", \"nameType\"],\n fields: Object.assign({}, {\n typeParameter: (0, _utils.validateType)(\"TSTypeParameter\")\n }, {\n readonly: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, \"+\", \"-\")),\n optional: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, \"+\", \"-\")),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSType\"),\n nameType: (0, _utils.validateOptionalType)(\"TSType\")\n })\n});\ndefineType(\"TSLiteralType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [\"literal\"],\n fields: {\n literal: {\n validate: function () {\n const unaryExpression = (0, _utils.assertNodeType)(\"NumericLiteral\", \"BigIntLiteral\");\n const unaryOperator = (0, _utils.assertOneOf)(\"-\");\n const literal = (0, _utils.assertNodeType)(\"NumericLiteral\", \"StringLiteral\", \"BooleanLiteral\", \"BigIntLiteral\", \"TemplateLiteral\");\n function validator(parent, key, node) {\n if ((0, _is.default)(\"UnaryExpression\", node)) {\n unaryOperator(node, \"operator\", node.operator);\n unaryExpression(node, \"argument\", node.argument);\n } else {\n literal(parent, key, node);\n }\n }\n validator.oneOfNodeTypes = [\"NumericLiteral\", \"StringLiteral\", \"BooleanLiteral\", \"BigIntLiteral\", \"TemplateLiteral\", \"UnaryExpression\"];\n return validator;\n }()\n }\n }\n});\nconst expressionWithTypeArguments = {\n aliases: [\"TSType\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: (0, _utils.validateType)(\"TSEntityName\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n};\n{\n defineType(\"TSExpressionWithTypeArguments\", expressionWithTypeArguments);\n}\ndefineType(\"TSInterfaceDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n fields: {\n declare: (0, _utils.validateOptional)(bool),\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterDeclaration\"),\n extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"TSExpressionWithTypeArguments\")),\n body: (0, _utils.validateType)(\"TSInterfaceBody\")\n }\n});\ndefineType(\"TSInterfaceBody\", {\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"TSTypeElement\")\n }\n});\ndefineType(\"TSTypeAliasDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"typeAnnotation\"],\n fields: {\n declare: (0, _utils.validateOptional)(bool),\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterDeclaration\"),\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSInstantiationExpression\", {\n aliases: [\"Expression\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n});\nconst TSTypeExpression = {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\", \"typeAnnotation\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\"),\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n};\ndefineType(\"TSAsExpression\", TSTypeExpression);\ndefineType(\"TSSatisfiesExpression\", TSTypeExpression);\ndefineType(\"TSTypeAssertion\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"typeAnnotation\", \"expression\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\"),\n expression: (0, _utils.validateType)(\"Expression\")\n }\n});\ndefineType(\"TSEnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"members\"],\n fields: {\n declare: (0, _utils.validateOptional)(bool),\n const: (0, _utils.validateOptional)(bool),\n id: (0, _utils.validateType)(\"Identifier\"),\n members: (0, _utils.validateArrayOfType)(\"TSEnumMember\"),\n initializer: (0, _utils.validateOptionalType)(\"Expression\")\n }\n});\ndefineType(\"TSEnumMember\", {\n visitor: [\"id\", \"initializer\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n initializer: (0, _utils.validateOptionalType)(\"Expression\")\n }\n});\ndefineType(\"TSModuleDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n kind: {\n validate: (0, _utils.assertOneOf)(\"global\", \"module\", \"namespace\")\n },\n declare: (0, _utils.validateOptional)(bool),\n global: (0, _utils.validateOptional)(bool),\n id: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n body: (0, _utils.validateType)(\"TSModuleBlock\", \"TSModuleDeclaration\")\n }\n});\ndefineType(\"TSModuleBlock\", {\n aliases: [\"Scopable\", \"Block\", \"BlockParent\", \"FunctionParent\"],\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n }\n});\ndefineType(\"TSImportType\", {\n aliases: [\"TSType\"],\n visitor: [\"argument\", \"qualifier\", \"typeParameters\"],\n fields: {\n argument: (0, _utils.validateType)(\"StringLiteral\"),\n qualifier: (0, _utils.validateOptionalType)(\"TSEntityName\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\"),\n options: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n }\n }\n});\ndefineType(\"TSImportEqualsDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\", \"moduleReference\"],\n fields: {\n isExport: (0, _utils.validate)(bool),\n id: (0, _utils.validateType)(\"Identifier\"),\n moduleReference: (0, _utils.validateType)(\"TSEntityName\", \"TSExternalModuleReference\"),\n importKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"value\"),\n optional: true\n }\n }\n});\ndefineType(\"TSExternalModuleReference\", {\n visitor: [\"expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"StringLiteral\")\n }\n});\ndefineType(\"TSNonNullExpression\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\")\n }\n});\ndefineType(\"TSExportAssignment\", {\n aliases: [\"Statement\"],\n visitor: [\"expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\")\n }\n});\ndefineType(\"TSNamespaceExportDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\")\n }\n});\ndefineType(\"TSTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TSType\")\n }\n }\n});\ndefineType(\"TSTypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validateArrayOfType)(\"TSType\")\n }\n});\ndefineType(\"TSTypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validateArrayOfType)(\"TSTypeParameter\")\n }\n});\ndefineType(\"TSTypeParameter\", {\n builder: [\"constraint\", \"default\", \"name\"],\n visitor: [\"constraint\", \"default\"],\n fields: {\n name: {\n validate: (0, _utils.assertValueType)(\"string\")\n },\n in: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n out: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n const: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n constraint: {\n validate: (0, _utils.assertNodeType)(\"TSType\"),\n optional: true\n },\n default: {\n validate: (0, _utils.assertNodeType)(\"TSType\"),\n optional: true\n }\n }\n});\n\n//# sourceMappingURL=typescript.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/typescript.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/definitions/utils.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/types/lib/definitions/utils.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VISITOR_KEYS = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0;\nexports.arrayOf = arrayOf;\nexports.arrayOfType = arrayOfType;\nexports.assertEach = assertEach;\nexports.assertNodeOrValueType = assertNodeOrValueType;\nexports.assertNodeType = assertNodeType;\nexports.assertOneOf = assertOneOf;\nexports.assertOptionalChainStart = assertOptionalChainStart;\nexports.assertShape = assertShape;\nexports.assertValueType = assertValueType;\nexports.chain = chain;\nexports[\"default\"] = defineType;\nexports.defineAliasedType = defineAliasedType;\nexports.validate = validate;\nexports.validateArrayOfType = validateArrayOfType;\nexports.validateOptional = validateOptional;\nexports.validateOptionalType = validateOptionalType;\nexports.validateType = validateType;\nvar _is = __webpack_require__(/*! ../validators/is.js */ \"./node_modules/@babel/types/lib/validators/is.js\");\nvar _validate = __webpack_require__(/*! ../validators/validate.js */ \"./node_modules/@babel/types/lib/validators/validate.js\");\nconst VISITOR_KEYS = exports.VISITOR_KEYS = {};\nconst ALIAS_KEYS = exports.ALIAS_KEYS = {};\nconst FLIPPED_ALIAS_KEYS = exports.FLIPPED_ALIAS_KEYS = {};\nconst NODE_FIELDS = exports.NODE_FIELDS = {};\nconst BUILDER_KEYS = exports.BUILDER_KEYS = {};\nconst DEPRECATED_KEYS = exports.DEPRECATED_KEYS = {};\nconst NODE_PARENT_VALIDATIONS = exports.NODE_PARENT_VALIDATIONS = {};\nfunction getType(val) {\n if (Array.isArray(val)) {\n return \"array\";\n } else if (val === null) {\n return \"null\";\n } else {\n return typeof val;\n }\n}\nfunction validate(validate) {\n return {\n validate\n };\n}\nfunction validateType(...typeNames) {\n return validate(assertNodeType(...typeNames));\n}\nfunction validateOptional(validate) {\n return {\n validate,\n optional: true\n };\n}\nfunction validateOptionalType(...typeNames) {\n return {\n validate: assertNodeType(...typeNames),\n optional: true\n };\n}\nfunction arrayOf(elementType) {\n return chain(assertValueType(\"array\"), assertEach(elementType));\n}\nfunction arrayOfType(...typeNames) {\n return arrayOf(assertNodeType(...typeNames));\n}\nfunction validateArrayOfType(...typeNames) {\n return validate(arrayOfType(...typeNames));\n}\nfunction assertEach(callback) {\n const childValidator = process.env.BABEL_TYPES_8_BREAKING ? _validate.validateChild : () => {};\n function validator(node, key, val) {\n if (!Array.isArray(val)) return;\n for (let i = 0; i < val.length; i++) {\n const subkey = `${key}[${i}]`;\n const v = val[i];\n callback(node, subkey, v);\n childValidator(node, subkey, v);\n }\n }\n validator.each = callback;\n return validator;\n}\nfunction assertOneOf(...values) {\n function validate(node, key, val) {\n if (!values.includes(val)) {\n throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`);\n }\n }\n validate.oneOf = values;\n return validate;\n}\nfunction assertNodeType(...types) {\n function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }\n validate.oneOfNodeTypes = types;\n return validate;\n}\nfunction assertNodeOrValueType(...types) {\n function validate(node, key, val) {\n for (const type of types) {\n if (getType(val) === type || (0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }\n validate.oneOfNodeOrValueTypes = types;\n return validate;\n}\nfunction assertValueType(type) {\n function validate(node, key, val) {\n const valid = getType(val) === type;\n if (!valid) {\n throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`);\n }\n }\n validate.type = type;\n return validate;\n}\nfunction assertShape(shape) {\n function validate(node, key, val) {\n const errors = [];\n for (const property of Object.keys(shape)) {\n try {\n (0, _validate.validateField)(node, property, val[property], shape[property]);\n } catch (error) {\n if (error instanceof TypeError) {\n errors.push(error.message);\n continue;\n }\n throw error;\n }\n }\n if (errors.length) {\n throw new TypeError(`Property ${key} of ${node.type} expected to have the following:\\n${errors.join(\"\\n\")}`);\n }\n }\n validate.shapeOf = shape;\n return validate;\n}\nfunction assertOptionalChainStart() {\n function validate(node) {\n var _current;\n let current = node;\n while (node) {\n const {\n type\n } = current;\n if (type === \"OptionalCallExpression\") {\n if (current.optional) return;\n current = current.callee;\n continue;\n }\n if (type === \"OptionalMemberExpression\") {\n if (current.optional) return;\n current = current.object;\n continue;\n }\n break;\n }\n throw new TypeError(`Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`);\n }\n return validate;\n}\nfunction chain(...fns) {\n function validate(...args) {\n for (const fn of fns) {\n fn(...args);\n }\n }\n validate.chainOf = fns;\n if (fns.length >= 2 && \"type\" in fns[0] && fns[0].type === \"array\" && !(\"each\" in fns[1])) {\n throw new Error(`An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.`);\n }\n return validate;\n}\nconst validTypeOpts = new Set([\"aliases\", \"builder\", \"deprecatedAlias\", \"fields\", \"inherits\", \"visitor\", \"validate\"]);\nconst validFieldKeys = new Set([\"default\", \"optional\", \"deprecated\", \"validate\"]);\nconst store = {};\nfunction defineAliasedType(...aliases) {\n return (type, opts = {}) => {\n let defined = opts.aliases;\n if (!defined) {\n var _store$opts$inherits$, _defined;\n if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice();\n (_defined = defined) != null ? _defined : defined = [];\n opts.aliases = defined;\n }\n const additional = aliases.filter(a => !defined.includes(a));\n defined.unshift(...additional);\n defineType(type, opts);\n };\n}\nfunction defineType(type, opts = {}) {\n const inherits = opts.inherits && store[opts.inherits] || {};\n let fields = opts.fields;\n if (!fields) {\n fields = {};\n if (inherits.fields) {\n const keys = Object.getOwnPropertyNames(inherits.fields);\n for (const key of keys) {\n const field = inherits.fields[key];\n const def = field.default;\n if (Array.isArray(def) ? def.length > 0 : def && typeof def === \"object\") {\n throw new Error(\"field defaults can only be primitives or empty arrays currently\");\n }\n fields[key] = {\n default: Array.isArray(def) ? [] : def,\n optional: field.optional,\n deprecated: field.deprecated,\n validate: field.validate\n };\n }\n }\n }\n const visitor = opts.visitor || inherits.visitor || [];\n const aliases = opts.aliases || inherits.aliases || [];\n const builder = opts.builder || inherits.builder || opts.visitor || [];\n for (const k of Object.keys(opts)) {\n if (!validTypeOpts.has(k)) {\n throw new Error(`Unknown type option \"${k}\" on ${type}`);\n }\n }\n if (opts.deprecatedAlias) {\n DEPRECATED_KEYS[opts.deprecatedAlias] = type;\n }\n for (const key of visitor.concat(builder)) {\n fields[key] = fields[key] || {};\n }\n for (const key of Object.keys(fields)) {\n const field = fields[key];\n if (field.default !== undefined && !builder.includes(key)) {\n field.optional = true;\n }\n if (field.default === undefined) {\n field.default = null;\n } else if (!field.validate && field.default != null) {\n field.validate = assertValueType(getType(field.default));\n }\n for (const k of Object.keys(field)) {\n if (!validFieldKeys.has(k)) {\n throw new Error(`Unknown field key \"${k}\" on ${type}.${key}`);\n }\n }\n }\n VISITOR_KEYS[type] = opts.visitor = visitor;\n BUILDER_KEYS[type] = opts.builder = builder;\n NODE_FIELDS[type] = opts.fields = fields;\n ALIAS_KEYS[type] = opts.aliases = aliases;\n aliases.forEach(alias => {\n FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];\n FLIPPED_ALIAS_KEYS[alias].push(type);\n });\n if (opts.validate) {\n NODE_PARENT_VALIDATIONS[type] = opts.validate;\n }\n store[type] = opts;\n}\n\n//# sourceMappingURL=utils.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/definitions/utils.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/index.js": +/*!************************************************!*\ + !*** ./node_modules/@babel/types/lib/index.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nvar _exportNames = {\n react: true,\n assertNode: true,\n createTypeAnnotationBasedOnTypeof: true,\n createUnionTypeAnnotation: true,\n createFlowUnionType: true,\n createTSUnionType: true,\n cloneNode: true,\n clone: true,\n cloneDeep: true,\n cloneDeepWithoutLoc: true,\n cloneWithoutLoc: true,\n addComment: true,\n addComments: true,\n inheritInnerComments: true,\n inheritLeadingComments: true,\n inheritsComments: true,\n inheritTrailingComments: true,\n removeComments: true,\n ensureBlock: true,\n toBindingIdentifierName: true,\n toBlock: true,\n toComputedKey: true,\n toExpression: true,\n toIdentifier: true,\n toKeyAlias: true,\n toStatement: true,\n valueToNode: true,\n appendToMemberExpression: true,\n inherits: true,\n prependToMemberExpression: true,\n removeProperties: true,\n removePropertiesDeep: true,\n removeTypeDuplicates: true,\n getAssignmentIdentifiers: true,\n getBindingIdentifiers: true,\n getOuterBindingIdentifiers: true,\n getFunctionName: true,\n traverse: true,\n traverseFast: true,\n shallowEqual: true,\n is: true,\n isBinding: true,\n isBlockScoped: true,\n isImmutable: true,\n isLet: true,\n isNode: true,\n isNodesEquivalent: true,\n isPlaceholderType: true,\n isReferenced: true,\n isScope: true,\n isSpecifierDefault: true,\n isType: true,\n isValidES3Identifier: true,\n isValidIdentifier: true,\n isVar: true,\n matchesPattern: true,\n validate: true,\n buildMatchMemberExpression: true,\n __internal__deprecationWarning: true\n};\nObject.defineProperty(exports, \"__internal__deprecationWarning\", ({\n enumerable: true,\n get: function () {\n return _deprecationWarning.default;\n }\n}));\nObject.defineProperty(exports, \"addComment\", ({\n enumerable: true,\n get: function () {\n return _addComment.default;\n }\n}));\nObject.defineProperty(exports, \"addComments\", ({\n enumerable: true,\n get: function () {\n return _addComments.default;\n }\n}));\nObject.defineProperty(exports, \"appendToMemberExpression\", ({\n enumerable: true,\n get: function () {\n return _appendToMemberExpression.default;\n }\n}));\nObject.defineProperty(exports, \"assertNode\", ({\n enumerable: true,\n get: function () {\n return _assertNode.default;\n }\n}));\nObject.defineProperty(exports, \"buildMatchMemberExpression\", ({\n enumerable: true,\n get: function () {\n return _buildMatchMemberExpression.default;\n }\n}));\nObject.defineProperty(exports, \"clone\", ({\n enumerable: true,\n get: function () {\n return _clone.default;\n }\n}));\nObject.defineProperty(exports, \"cloneDeep\", ({\n enumerable: true,\n get: function () {\n return _cloneDeep.default;\n }\n}));\nObject.defineProperty(exports, \"cloneDeepWithoutLoc\", ({\n enumerable: true,\n get: function () {\n return _cloneDeepWithoutLoc.default;\n }\n}));\nObject.defineProperty(exports, \"cloneNode\", ({\n enumerable: true,\n get: function () {\n return _cloneNode.default;\n }\n}));\nObject.defineProperty(exports, \"cloneWithoutLoc\", ({\n enumerable: true,\n get: function () {\n return _cloneWithoutLoc.default;\n }\n}));\nObject.defineProperty(exports, \"createFlowUnionType\", ({\n enumerable: true,\n get: function () {\n return _createFlowUnionType.default;\n }\n}));\nObject.defineProperty(exports, \"createTSUnionType\", ({\n enumerable: true,\n get: function () {\n return _createTSUnionType.default;\n }\n}));\nObject.defineProperty(exports, \"createTypeAnnotationBasedOnTypeof\", ({\n enumerable: true,\n get: function () {\n return _createTypeAnnotationBasedOnTypeof.default;\n }\n}));\nObject.defineProperty(exports, \"createUnionTypeAnnotation\", ({\n enumerable: true,\n get: function () {\n return _createFlowUnionType.default;\n }\n}));\nObject.defineProperty(exports, \"ensureBlock\", ({\n enumerable: true,\n get: function () {\n return _ensureBlock.default;\n }\n}));\nObject.defineProperty(exports, \"getAssignmentIdentifiers\", ({\n enumerable: true,\n get: function () {\n return _getAssignmentIdentifiers.default;\n }\n}));\nObject.defineProperty(exports, \"getBindingIdentifiers\", ({\n enumerable: true,\n get: function () {\n return _getBindingIdentifiers.default;\n }\n}));\nObject.defineProperty(exports, \"getFunctionName\", ({\n enumerable: true,\n get: function () {\n return _getFunctionName.default;\n }\n}));\nObject.defineProperty(exports, \"getOuterBindingIdentifiers\", ({\n enumerable: true,\n get: function () {\n return _getOuterBindingIdentifiers.default;\n }\n}));\nObject.defineProperty(exports, \"inheritInnerComments\", ({\n enumerable: true,\n get: function () {\n return _inheritInnerComments.default;\n }\n}));\nObject.defineProperty(exports, \"inheritLeadingComments\", ({\n enumerable: true,\n get: function () {\n return _inheritLeadingComments.default;\n }\n}));\nObject.defineProperty(exports, \"inheritTrailingComments\", ({\n enumerable: true,\n get: function () {\n return _inheritTrailingComments.default;\n }\n}));\nObject.defineProperty(exports, \"inherits\", ({\n enumerable: true,\n get: function () {\n return _inherits.default;\n }\n}));\nObject.defineProperty(exports, \"inheritsComments\", ({\n enumerable: true,\n get: function () {\n return _inheritsComments.default;\n }\n}));\nObject.defineProperty(exports, \"is\", ({\n enumerable: true,\n get: function () {\n return _is.default;\n }\n}));\nObject.defineProperty(exports, \"isBinding\", ({\n enumerable: true,\n get: function () {\n return _isBinding.default;\n }\n}));\nObject.defineProperty(exports, \"isBlockScoped\", ({\n enumerable: true,\n get: function () {\n return _isBlockScoped.default;\n }\n}));\nObject.defineProperty(exports, \"isImmutable\", ({\n enumerable: true,\n get: function () {\n return _isImmutable.default;\n }\n}));\nObject.defineProperty(exports, \"isLet\", ({\n enumerable: true,\n get: function () {\n return _isLet.default;\n }\n}));\nObject.defineProperty(exports, \"isNode\", ({\n enumerable: true,\n get: function () {\n return _isNode.default;\n }\n}));\nObject.defineProperty(exports, \"isNodesEquivalent\", ({\n enumerable: true,\n get: function () {\n return _isNodesEquivalent.default;\n }\n}));\nObject.defineProperty(exports, \"isPlaceholderType\", ({\n enumerable: true,\n get: function () {\n return _isPlaceholderType.default;\n }\n}));\nObject.defineProperty(exports, \"isReferenced\", ({\n enumerable: true,\n get: function () {\n return _isReferenced.default;\n }\n}));\nObject.defineProperty(exports, \"isScope\", ({\n enumerable: true,\n get: function () {\n return _isScope.default;\n }\n}));\nObject.defineProperty(exports, \"isSpecifierDefault\", ({\n enumerable: true,\n get: function () {\n return _isSpecifierDefault.default;\n }\n}));\nObject.defineProperty(exports, \"isType\", ({\n enumerable: true,\n get: function () {\n return _isType.default;\n }\n}));\nObject.defineProperty(exports, \"isValidES3Identifier\", ({\n enumerable: true,\n get: function () {\n return _isValidES3Identifier.default;\n }\n}));\nObject.defineProperty(exports, \"isValidIdentifier\", ({\n enumerable: true,\n get: function () {\n return _isValidIdentifier.default;\n }\n}));\nObject.defineProperty(exports, \"isVar\", ({\n enumerable: true,\n get: function () {\n return _isVar.default;\n }\n}));\nObject.defineProperty(exports, \"matchesPattern\", ({\n enumerable: true,\n get: function () {\n return _matchesPattern.default;\n }\n}));\nObject.defineProperty(exports, \"prependToMemberExpression\", ({\n enumerable: true,\n get: function () {\n return _prependToMemberExpression.default;\n }\n}));\nexports.react = void 0;\nObject.defineProperty(exports, \"removeComments\", ({\n enumerable: true,\n get: function () {\n return _removeComments.default;\n }\n}));\nObject.defineProperty(exports, \"removeProperties\", ({\n enumerable: true,\n get: function () {\n return _removeProperties.default;\n }\n}));\nObject.defineProperty(exports, \"removePropertiesDeep\", ({\n enumerable: true,\n get: function () {\n return _removePropertiesDeep.default;\n }\n}));\nObject.defineProperty(exports, \"removeTypeDuplicates\", ({\n enumerable: true,\n get: function () {\n return _removeTypeDuplicates.default;\n }\n}));\nObject.defineProperty(exports, \"shallowEqual\", ({\n enumerable: true,\n get: function () {\n return _shallowEqual.default;\n }\n}));\nObject.defineProperty(exports, \"toBindingIdentifierName\", ({\n enumerable: true,\n get: function () {\n return _toBindingIdentifierName.default;\n }\n}));\nObject.defineProperty(exports, \"toBlock\", ({\n enumerable: true,\n get: function () {\n return _toBlock.default;\n }\n}));\nObject.defineProperty(exports, \"toComputedKey\", ({\n enumerable: true,\n get: function () {\n return _toComputedKey.default;\n }\n}));\nObject.defineProperty(exports, \"toExpression\", ({\n enumerable: true,\n get: function () {\n return _toExpression.default;\n }\n}));\nObject.defineProperty(exports, \"toIdentifier\", ({\n enumerable: true,\n get: function () {\n return _toIdentifier.default;\n }\n}));\nObject.defineProperty(exports, \"toKeyAlias\", ({\n enumerable: true,\n get: function () {\n return _toKeyAlias.default;\n }\n}));\nObject.defineProperty(exports, \"toStatement\", ({\n enumerable: true,\n get: function () {\n return _toStatement.default;\n }\n}));\nObject.defineProperty(exports, \"traverse\", ({\n enumerable: true,\n get: function () {\n return _traverse.default;\n }\n}));\nObject.defineProperty(exports, \"traverseFast\", ({\n enumerable: true,\n get: function () {\n return _traverseFast.default;\n }\n}));\nObject.defineProperty(exports, \"validate\", ({\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n}));\nObject.defineProperty(exports, \"valueToNode\", ({\n enumerable: true,\n get: function () {\n return _valueToNode.default;\n }\n}));\nvar _isReactComponent = __webpack_require__(/*! ./validators/react/isReactComponent.js */ \"./node_modules/@babel/types/lib/validators/react/isReactComponent.js\");\nvar _isCompatTag = __webpack_require__(/*! ./validators/react/isCompatTag.js */ \"./node_modules/@babel/types/lib/validators/react/isCompatTag.js\");\nvar _buildChildren = __webpack_require__(/*! ./builders/react/buildChildren.js */ \"./node_modules/@babel/types/lib/builders/react/buildChildren.js\");\nvar _assertNode = __webpack_require__(/*! ./asserts/assertNode.js */ \"./node_modules/@babel/types/lib/asserts/assertNode.js\");\nvar _index = __webpack_require__(/*! ./asserts/generated/index.js */ \"./node_modules/@babel/types/lib/asserts/generated/index.js\");\nObject.keys(_index).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index[key];\n }\n });\n});\nvar _createTypeAnnotationBasedOnTypeof = __webpack_require__(/*! ./builders/flow/createTypeAnnotationBasedOnTypeof.js */ \"./node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js\");\nvar _createFlowUnionType = __webpack_require__(/*! ./builders/flow/createFlowUnionType.js */ \"./node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js\");\nvar _createTSUnionType = __webpack_require__(/*! ./builders/typescript/createTSUnionType.js */ \"./node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js\");\nvar _index2 = __webpack_require__(/*! ./builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nObject.keys(_index2).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index2[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index2[key];\n }\n });\n});\nvar _uppercase = __webpack_require__(/*! ./builders/generated/uppercase.js */ \"./node_modules/@babel/types/lib/builders/generated/uppercase.js\");\nObject.keys(_uppercase).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _uppercase[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _uppercase[key];\n }\n });\n});\nvar _productions = __webpack_require__(/*! ./builders/productions.js */ \"./node_modules/@babel/types/lib/builders/productions.js\");\nObject.keys(_productions).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _productions[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _productions[key];\n }\n });\n});\nvar _cloneNode = __webpack_require__(/*! ./clone/cloneNode.js */ \"./node_modules/@babel/types/lib/clone/cloneNode.js\");\nvar _clone = __webpack_require__(/*! ./clone/clone.js */ \"./node_modules/@babel/types/lib/clone/clone.js\");\nvar _cloneDeep = __webpack_require__(/*! ./clone/cloneDeep.js */ \"./node_modules/@babel/types/lib/clone/cloneDeep.js\");\nvar _cloneDeepWithoutLoc = __webpack_require__(/*! ./clone/cloneDeepWithoutLoc.js */ \"./node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js\");\nvar _cloneWithoutLoc = __webpack_require__(/*! ./clone/cloneWithoutLoc.js */ \"./node_modules/@babel/types/lib/clone/cloneWithoutLoc.js\");\nvar _addComment = __webpack_require__(/*! ./comments/addComment.js */ \"./node_modules/@babel/types/lib/comments/addComment.js\");\nvar _addComments = __webpack_require__(/*! ./comments/addComments.js */ \"./node_modules/@babel/types/lib/comments/addComments.js\");\nvar _inheritInnerComments = __webpack_require__(/*! ./comments/inheritInnerComments.js */ \"./node_modules/@babel/types/lib/comments/inheritInnerComments.js\");\nvar _inheritLeadingComments = __webpack_require__(/*! ./comments/inheritLeadingComments.js */ \"./node_modules/@babel/types/lib/comments/inheritLeadingComments.js\");\nvar _inheritsComments = __webpack_require__(/*! ./comments/inheritsComments.js */ \"./node_modules/@babel/types/lib/comments/inheritsComments.js\");\nvar _inheritTrailingComments = __webpack_require__(/*! ./comments/inheritTrailingComments.js */ \"./node_modules/@babel/types/lib/comments/inheritTrailingComments.js\");\nvar _removeComments = __webpack_require__(/*! ./comments/removeComments.js */ \"./node_modules/@babel/types/lib/comments/removeComments.js\");\nvar _index3 = __webpack_require__(/*! ./constants/generated/index.js */ \"./node_modules/@babel/types/lib/constants/generated/index.js\");\nObject.keys(_index3).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index3[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index3[key];\n }\n });\n});\nvar _index4 = __webpack_require__(/*! ./constants/index.js */ \"./node_modules/@babel/types/lib/constants/index.js\");\nObject.keys(_index4).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index4[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index4[key];\n }\n });\n});\nvar _ensureBlock = __webpack_require__(/*! ./converters/ensureBlock.js */ \"./node_modules/@babel/types/lib/converters/ensureBlock.js\");\nvar _toBindingIdentifierName = __webpack_require__(/*! ./converters/toBindingIdentifierName.js */ \"./node_modules/@babel/types/lib/converters/toBindingIdentifierName.js\");\nvar _toBlock = __webpack_require__(/*! ./converters/toBlock.js */ \"./node_modules/@babel/types/lib/converters/toBlock.js\");\nvar _toComputedKey = __webpack_require__(/*! ./converters/toComputedKey.js */ \"./node_modules/@babel/types/lib/converters/toComputedKey.js\");\nvar _toExpression = __webpack_require__(/*! ./converters/toExpression.js */ \"./node_modules/@babel/types/lib/converters/toExpression.js\");\nvar _toIdentifier = __webpack_require__(/*! ./converters/toIdentifier.js */ \"./node_modules/@babel/types/lib/converters/toIdentifier.js\");\nvar _toKeyAlias = __webpack_require__(/*! ./converters/toKeyAlias.js */ \"./node_modules/@babel/types/lib/converters/toKeyAlias.js\");\nvar _toStatement = __webpack_require__(/*! ./converters/toStatement.js */ \"./node_modules/@babel/types/lib/converters/toStatement.js\");\nvar _valueToNode = __webpack_require__(/*! ./converters/valueToNode.js */ \"./node_modules/@babel/types/lib/converters/valueToNode.js\");\nvar _index5 = __webpack_require__(/*! ./definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nObject.keys(_index5).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index5[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index5[key];\n }\n });\n});\nvar _appendToMemberExpression = __webpack_require__(/*! ./modifications/appendToMemberExpression.js */ \"./node_modules/@babel/types/lib/modifications/appendToMemberExpression.js\");\nvar _inherits = __webpack_require__(/*! ./modifications/inherits.js */ \"./node_modules/@babel/types/lib/modifications/inherits.js\");\nvar _prependToMemberExpression = __webpack_require__(/*! ./modifications/prependToMemberExpression.js */ \"./node_modules/@babel/types/lib/modifications/prependToMemberExpression.js\");\nvar _removeProperties = __webpack_require__(/*! ./modifications/removeProperties.js */ \"./node_modules/@babel/types/lib/modifications/removeProperties.js\");\nvar _removePropertiesDeep = __webpack_require__(/*! ./modifications/removePropertiesDeep.js */ \"./node_modules/@babel/types/lib/modifications/removePropertiesDeep.js\");\nvar _removeTypeDuplicates = __webpack_require__(/*! ./modifications/flow/removeTypeDuplicates.js */ \"./node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js\");\nvar _getAssignmentIdentifiers = __webpack_require__(/*! ./retrievers/getAssignmentIdentifiers.js */ \"./node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js\");\nvar _getBindingIdentifiers = __webpack_require__(/*! ./retrievers/getBindingIdentifiers.js */ \"./node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js\");\nvar _getOuterBindingIdentifiers = __webpack_require__(/*! ./retrievers/getOuterBindingIdentifiers.js */ \"./node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js\");\nvar _getFunctionName = __webpack_require__(/*! ./retrievers/getFunctionName.js */ \"./node_modules/@babel/types/lib/retrievers/getFunctionName.js\");\nvar _traverse = __webpack_require__(/*! ./traverse/traverse.js */ \"./node_modules/@babel/types/lib/traverse/traverse.js\");\nObject.keys(_traverse).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _traverse[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _traverse[key];\n }\n });\n});\nvar _traverseFast = __webpack_require__(/*! ./traverse/traverseFast.js */ \"./node_modules/@babel/types/lib/traverse/traverseFast.js\");\nvar _shallowEqual = __webpack_require__(/*! ./utils/shallowEqual.js */ \"./node_modules/@babel/types/lib/utils/shallowEqual.js\");\nvar _is = __webpack_require__(/*! ./validators/is.js */ \"./node_modules/@babel/types/lib/validators/is.js\");\nvar _isBinding = __webpack_require__(/*! ./validators/isBinding.js */ \"./node_modules/@babel/types/lib/validators/isBinding.js\");\nvar _isBlockScoped = __webpack_require__(/*! ./validators/isBlockScoped.js */ \"./node_modules/@babel/types/lib/validators/isBlockScoped.js\");\nvar _isImmutable = __webpack_require__(/*! ./validators/isImmutable.js */ \"./node_modules/@babel/types/lib/validators/isImmutable.js\");\nvar _isLet = __webpack_require__(/*! ./validators/isLet.js */ \"./node_modules/@babel/types/lib/validators/isLet.js\");\nvar _isNode = __webpack_require__(/*! ./validators/isNode.js */ \"./node_modules/@babel/types/lib/validators/isNode.js\");\nvar _isNodesEquivalent = __webpack_require__(/*! ./validators/isNodesEquivalent.js */ \"./node_modules/@babel/types/lib/validators/isNodesEquivalent.js\");\nvar _isPlaceholderType = __webpack_require__(/*! ./validators/isPlaceholderType.js */ \"./node_modules/@babel/types/lib/validators/isPlaceholderType.js\");\nvar _isReferenced = __webpack_require__(/*! ./validators/isReferenced.js */ \"./node_modules/@babel/types/lib/validators/isReferenced.js\");\nvar _isScope = __webpack_require__(/*! ./validators/isScope.js */ \"./node_modules/@babel/types/lib/validators/isScope.js\");\nvar _isSpecifierDefault = __webpack_require__(/*! ./validators/isSpecifierDefault.js */ \"./node_modules/@babel/types/lib/validators/isSpecifierDefault.js\");\nvar _isType = __webpack_require__(/*! ./validators/isType.js */ \"./node_modules/@babel/types/lib/validators/isType.js\");\nvar _isValidES3Identifier = __webpack_require__(/*! ./validators/isValidES3Identifier.js */ \"./node_modules/@babel/types/lib/validators/isValidES3Identifier.js\");\nvar _isValidIdentifier = __webpack_require__(/*! ./validators/isValidIdentifier.js */ \"./node_modules/@babel/types/lib/validators/isValidIdentifier.js\");\nvar _isVar = __webpack_require__(/*! ./validators/isVar.js */ \"./node_modules/@babel/types/lib/validators/isVar.js\");\nvar _matchesPattern = __webpack_require__(/*! ./validators/matchesPattern.js */ \"./node_modules/@babel/types/lib/validators/matchesPattern.js\");\nvar _validate = __webpack_require__(/*! ./validators/validate.js */ \"./node_modules/@babel/types/lib/validators/validate.js\");\nvar _buildMatchMemberExpression = __webpack_require__(/*! ./validators/buildMatchMemberExpression.js */ \"./node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js\");\nvar _index6 = __webpack_require__(/*! ./validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nObject.keys(_index6).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index6[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index6[key];\n }\n });\n});\nvar _deprecationWarning = __webpack_require__(/*! ./utils/deprecationWarning.js */ \"./node_modules/@babel/types/lib/utils/deprecationWarning.js\");\nconst react = exports.react = {\n isReactComponent: _isReactComponent.default,\n isCompatTag: _isCompatTag.default,\n buildChildren: _buildChildren.default\n};\n{\n exports.toSequenceExpression = __webpack_require__(/*! ./converters/toSequenceExpression.js */ \"./node_modules/@babel/types/lib/converters/toSequenceExpression.js\")[\"default\"];\n}\nif (process.env.BABEL_TYPES_8_BREAKING) {\n console.warn(\"BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-release instead!\");\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/modifications/appendToMemberExpression.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/modifications/appendToMemberExpression.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = appendToMemberExpression;\nvar _index = __webpack_require__(/*! ../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nfunction appendToMemberExpression(member, append, computed = false) {\n member.object = (0, _index.memberExpression)(member.object, member.property, member.computed);\n member.property = append;\n member.computed = !!computed;\n return member;\n}\n\n//# sourceMappingURL=appendToMemberExpression.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/modifications/appendToMemberExpression.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = removeTypeDuplicates;\nvar _index = __webpack_require__(/*! ../../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction getQualifiedName(node) {\n return (0, _index.isIdentifier)(node) ? node.name : `${node.id.name}.${getQualifiedName(node.qualification)}`;\n}\nfunction removeTypeDuplicates(nodesIn) {\n const nodes = Array.from(nodesIn);\n const generics = new Map();\n const bases = new Map();\n const typeGroups = new Set();\n const types = [];\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n if (types.includes(node)) {\n continue;\n }\n if ((0, _index.isAnyTypeAnnotation)(node)) {\n return [node];\n }\n if ((0, _index.isFlowBaseAnnotation)(node)) {\n bases.set(node.type, node);\n continue;\n }\n if ((0, _index.isUnionTypeAnnotation)(node)) {\n if (!typeGroups.has(node.types)) {\n nodes.push(...node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n if ((0, _index.isGenericTypeAnnotation)(node)) {\n const name = getQualifiedName(node.id);\n if (generics.has(name)) {\n let existing = generics.get(name);\n if (existing.typeParameters) {\n if (node.typeParameters) {\n existing.typeParameters.params.push(...node.typeParameters.params);\n existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params);\n }\n } else {\n existing = node.typeParameters;\n }\n } else {\n generics.set(name, node);\n }\n continue;\n }\n types.push(node);\n }\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n return types;\n}\n\n//# sourceMappingURL=removeTypeDuplicates.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/modifications/inherits.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/modifications/inherits.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = inherits;\nvar _index = __webpack_require__(/*! ../constants/index.js */ \"./node_modules/@babel/types/lib/constants/index.js\");\nvar _inheritsComments = __webpack_require__(/*! ../comments/inheritsComments.js */ \"./node_modules/@babel/types/lib/comments/inheritsComments.js\");\nfunction inherits(child, parent) {\n if (!child || !parent) return child;\n for (const key of _index.INHERIT_KEYS.optional) {\n if (child[key] == null) {\n child[key] = parent[key];\n }\n }\n for (const key of Object.keys(parent)) {\n if (key[0] === \"_\" && key !== \"__clone\") {\n child[key] = parent[key];\n }\n }\n for (const key of _index.INHERIT_KEYS.force) {\n child[key] = parent[key];\n }\n (0, _inheritsComments.default)(child, parent);\n return child;\n}\n\n//# sourceMappingURL=inherits.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/modifications/inherits.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/modifications/prependToMemberExpression.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/modifications/prependToMemberExpression.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = prependToMemberExpression;\nvar _index = __webpack_require__(/*! ../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../index.js */ \"./node_modules/@babel/types/lib/index.js\");\nfunction prependToMemberExpression(member, prepend) {\n if ((0, _index2.isSuper)(member.object)) {\n throw new Error(\"Cannot prepend node to super property access (`super.foo`).\");\n }\n member.object = (0, _index.memberExpression)(prepend, member.object);\n return member;\n}\n\n//# sourceMappingURL=prependToMemberExpression.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/modifications/prependToMemberExpression.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/modifications/removeProperties.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/modifications/removeProperties.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = removeProperties;\nvar _index = __webpack_require__(/*! ../constants/index.js */ \"./node_modules/@babel/types/lib/constants/index.js\");\nconst CLEAR_KEYS = [\"tokens\", \"start\", \"end\", \"loc\", \"raw\", \"rawValue\"];\nconst CLEAR_KEYS_PLUS_COMMENTS = [..._index.COMMENT_KEYS, \"comments\", ...CLEAR_KEYS];\nfunction removeProperties(node, opts = {}) {\n const map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS;\n for (const key of map) {\n if (node[key] != null) node[key] = undefined;\n }\n for (const key of Object.keys(node)) {\n if (key[0] === \"_\" && node[key] != null) node[key] = undefined;\n }\n const symbols = Object.getOwnPropertySymbols(node);\n for (const sym of symbols) {\n node[sym] = null;\n }\n}\n\n//# sourceMappingURL=removeProperties.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/modifications/removeProperties.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/modifications/removePropertiesDeep.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/modifications/removePropertiesDeep.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = removePropertiesDeep;\nvar _traverseFast = __webpack_require__(/*! ../traverse/traverseFast.js */ \"./node_modules/@babel/types/lib/traverse/traverseFast.js\");\nvar _removeProperties = __webpack_require__(/*! ./removeProperties.js */ \"./node_modules/@babel/types/lib/modifications/removeProperties.js\");\nfunction removePropertiesDeep(tree, opts) {\n (0, _traverseFast.default)(tree, _removeProperties.default, opts);\n return tree;\n}\n\n//# sourceMappingURL=removePropertiesDeep.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/modifications/removePropertiesDeep.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = removeTypeDuplicates;\nvar _index = __webpack_require__(/*! ../../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction getQualifiedName(node) {\n return (0, _index.isIdentifier)(node) ? node.name : `${node.right.name}.${getQualifiedName(node.left)}`;\n}\nfunction removeTypeDuplicates(nodesIn) {\n const nodes = Array.from(nodesIn);\n const generics = new Map();\n const bases = new Map();\n const typeGroups = new Set();\n const types = [];\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n if (types.includes(node)) {\n continue;\n }\n if ((0, _index.isTSAnyKeyword)(node)) {\n return [node];\n }\n if ((0, _index.isTSBaseType)(node)) {\n bases.set(node.type, node);\n continue;\n }\n if ((0, _index.isTSUnionType)(node)) {\n if (!typeGroups.has(node.types)) {\n nodes.push(...node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n if ((0, _index.isTSTypeReference)(node) && node.typeParameters) {\n const name = getQualifiedName(node.typeName);\n if (generics.has(name)) {\n let existing = generics.get(name);\n if (existing.typeParameters) {\n if (node.typeParameters) {\n existing.typeParameters.params.push(...node.typeParameters.params);\n existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params);\n }\n } else {\n existing = node.typeParameters;\n }\n } else {\n generics.set(name, node);\n }\n continue;\n }\n types.push(node);\n }\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n return types;\n}\n\n//# sourceMappingURL=removeTypeDuplicates.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = getAssignmentIdentifiers;\nfunction getAssignmentIdentifiers(node) {\n const search = [].concat(node);\n const ids = Object.create(null);\n while (search.length) {\n const id = search.pop();\n if (!id) continue;\n switch (id.type) {\n case \"ArrayPattern\":\n search.push(...id.elements);\n break;\n case \"AssignmentExpression\":\n case \"AssignmentPattern\":\n case \"ForInStatement\":\n case \"ForOfStatement\":\n search.push(id.left);\n break;\n case \"ObjectPattern\":\n search.push(...id.properties);\n break;\n case \"ObjectProperty\":\n search.push(id.value);\n break;\n case \"RestElement\":\n case \"UpdateExpression\":\n search.push(id.argument);\n break;\n case \"UnaryExpression\":\n if (id.operator === \"delete\") {\n search.push(id.argument);\n }\n break;\n case \"Identifier\":\n ids[id.name] = id;\n break;\n default:\n break;\n }\n }\n return ids;\n}\n\n//# sourceMappingURL=getAssignmentIdentifiers.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = getBindingIdentifiers;\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction getBindingIdentifiers(node, duplicates, outerOnly, newBindingsOnly) {\n const search = [].concat(node);\n const ids = Object.create(null);\n while (search.length) {\n const id = search.shift();\n if (!id) continue;\n if (newBindingsOnly && ((0, _index.isAssignmentExpression)(id) || (0, _index.isUnaryExpression)(id) || (0, _index.isUpdateExpression)(id))) {\n continue;\n }\n if ((0, _index.isIdentifier)(id)) {\n if (duplicates) {\n const _ids = ids[id.name] = ids[id.name] || [];\n _ids.push(id);\n } else {\n ids[id.name] = id;\n }\n continue;\n }\n if ((0, _index.isExportDeclaration)(id) && !(0, _index.isExportAllDeclaration)(id)) {\n if ((0, _index.isDeclaration)(id.declaration)) {\n search.push(id.declaration);\n }\n continue;\n }\n if (outerOnly) {\n if ((0, _index.isFunctionDeclaration)(id)) {\n search.push(id.id);\n continue;\n }\n if ((0, _index.isFunctionExpression)(id)) {\n continue;\n }\n }\n const keys = getBindingIdentifiers.keys[id.type];\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const nodes = id[key];\n if (nodes) {\n if (Array.isArray(nodes)) {\n search.push(...nodes);\n } else {\n search.push(nodes);\n }\n }\n }\n }\n }\n return ids;\n}\nconst keys = {\n DeclareClass: [\"id\"],\n DeclareFunction: [\"id\"],\n DeclareModule: [\"id\"],\n DeclareVariable: [\"id\"],\n DeclareInterface: [\"id\"],\n DeclareTypeAlias: [\"id\"],\n DeclareOpaqueType: [\"id\"],\n InterfaceDeclaration: [\"id\"],\n TypeAlias: [\"id\"],\n OpaqueType: [\"id\"],\n CatchClause: [\"param\"],\n LabeledStatement: [\"label\"],\n UnaryExpression: [\"argument\"],\n AssignmentExpression: [\"left\"],\n ImportSpecifier: [\"local\"],\n ImportNamespaceSpecifier: [\"local\"],\n ImportDefaultSpecifier: [\"local\"],\n ImportDeclaration: [\"specifiers\"],\n ExportSpecifier: [\"exported\"],\n ExportNamespaceSpecifier: [\"exported\"],\n ExportDefaultSpecifier: [\"exported\"],\n FunctionDeclaration: [\"id\", \"params\"],\n FunctionExpression: [\"id\", \"params\"],\n ArrowFunctionExpression: [\"params\"],\n ObjectMethod: [\"params\"],\n ClassMethod: [\"params\"],\n ClassPrivateMethod: [\"params\"],\n ForInStatement: [\"left\"],\n ForOfStatement: [\"left\"],\n ClassDeclaration: [\"id\"],\n ClassExpression: [\"id\"],\n RestElement: [\"argument\"],\n UpdateExpression: [\"argument\"],\n ObjectProperty: [\"value\"],\n AssignmentPattern: [\"left\"],\n ArrayPattern: [\"elements\"],\n ObjectPattern: [\"properties\"],\n VariableDeclaration: [\"declarations\"],\n VariableDeclarator: [\"id\"]\n};\ngetBindingIdentifiers.keys = keys;\n\n//# sourceMappingURL=getBindingIdentifiers.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/retrievers/getFunctionName.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/retrievers/getFunctionName.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = getFunctionName;\nvar _index = __webpack_require__(/*! ../validators/generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction getNameFromLiteralId(id) {\n if ((0, _index.isNullLiteral)(id)) {\n return \"null\";\n }\n if ((0, _index.isRegExpLiteral)(id)) {\n return `/${id.pattern}/${id.flags}`;\n }\n if ((0, _index.isTemplateLiteral)(id)) {\n return id.quasis.map(quasi => quasi.value.raw).join(\"\");\n }\n if (id.value !== undefined) {\n return String(id.value);\n }\n return null;\n}\nfunction getObjectMemberKey(node) {\n if (!node.computed || (0, _index.isLiteral)(node.key)) {\n return node.key;\n }\n}\nfunction getFunctionName(node, parent) {\n if (\"id\" in node && node.id) {\n return {\n name: node.id.name,\n originalNode: node.id\n };\n }\n let prefix = \"\";\n let id;\n if ((0, _index.isObjectProperty)(parent, {\n value: node\n })) {\n id = getObjectMemberKey(parent);\n } else if ((0, _index.isObjectMethod)(node) || (0, _index.isClassMethod)(node)) {\n id = getObjectMemberKey(node);\n if (node.kind === \"get\") prefix = \"get \";else if (node.kind === \"set\") prefix = \"set \";\n } else if ((0, _index.isVariableDeclarator)(parent, {\n init: node\n })) {\n id = parent.id;\n } else if ((0, _index.isAssignmentExpression)(parent, {\n operator: \"=\",\n right: node\n })) {\n id = parent.left;\n }\n if (!id) return null;\n const name = (0, _index.isLiteral)(id) ? getNameFromLiteralId(id) : (0, _index.isIdentifier)(id) ? id.name : (0, _index.isPrivateName)(id) ? id.id.name : null;\n if (name == null) return null;\n return {\n name: prefix + name,\n originalNode: id\n };\n}\n\n//# sourceMappingURL=getFunctionName.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/retrievers/getFunctionName.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _getBindingIdentifiers = __webpack_require__(/*! ./getBindingIdentifiers.js */ \"./node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js\");\nvar _default = exports[\"default\"] = getOuterBindingIdentifiers;\nfunction getOuterBindingIdentifiers(node, duplicates) {\n return (0, _getBindingIdentifiers.default)(node, duplicates, true);\n}\n\n//# sourceMappingURL=getOuterBindingIdentifiers.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/traverse/traverse.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/types/lib/traverse/traverse.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = traverse;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction traverse(node, handlers, state) {\n if (typeof handlers === \"function\") {\n handlers = {\n enter: handlers\n };\n }\n const {\n enter,\n exit\n } = handlers;\n traverseSimpleImpl(node, enter, exit, state, []);\n}\nfunction traverseSimpleImpl(node, enter, exit, state, ancestors) {\n const keys = _index.VISITOR_KEYS[node.type];\n if (!keys) return;\n if (enter) enter(node, ancestors, state);\n for (const key of keys) {\n const subNode = node[key];\n if (Array.isArray(subNode)) {\n for (let i = 0; i < subNode.length; i++) {\n const child = subNode[i];\n if (!child) continue;\n ancestors.push({\n node,\n key,\n index: i\n });\n traverseSimpleImpl(child, enter, exit, state, ancestors);\n ancestors.pop();\n }\n } else if (subNode) {\n ancestors.push({\n node,\n key\n });\n traverseSimpleImpl(subNode, enter, exit, state, ancestors);\n ancestors.pop();\n }\n }\n if (exit) exit(node, ancestors, state);\n}\n\n//# sourceMappingURL=traverse.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/traverse/traverse.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/traverse/traverseFast.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/traverse/traverseFast.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = traverseFast;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction traverseFast(node, enter, opts) {\n if (!node) return;\n const keys = _index.VISITOR_KEYS[node.type];\n if (!keys) return;\n opts = opts || {};\n enter(node, opts);\n for (const key of keys) {\n const subNode = node[key];\n if (Array.isArray(subNode)) {\n for (const node of subNode) {\n traverseFast(node, enter, opts);\n }\n } else {\n traverseFast(subNode, enter, opts);\n }\n }\n}\n\n//# sourceMappingURL=traverseFast.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/traverse/traverseFast.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/utils/deprecationWarning.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/utils/deprecationWarning.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = deprecationWarning;\nconst warnings = new Set();\nfunction deprecationWarning(oldName, newName, prefix = \"\") {\n if (warnings.has(oldName)) return;\n warnings.add(oldName);\n const {\n internal,\n trace\n } = captureShortStackTrace(1, 2);\n if (internal) {\n return;\n }\n console.warn(`${prefix}\\`${oldName}\\` has been deprecated, please migrate to \\`${newName}\\`\\n${trace}`);\n}\nfunction captureShortStackTrace(skip, length) {\n const {\n stackTraceLimit,\n prepareStackTrace\n } = Error;\n let stackTrace;\n Error.stackTraceLimit = 1 + skip + length;\n Error.prepareStackTrace = function (err, stack) {\n stackTrace = stack;\n };\n new Error().stack;\n Error.stackTraceLimit = stackTraceLimit;\n Error.prepareStackTrace = prepareStackTrace;\n if (!stackTrace) return {\n internal: false,\n trace: \"\"\n };\n const shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length);\n return {\n internal: /[\\\\/]@babel[\\\\/]/.test(shortStackTrace[1].getFileName()),\n trace: shortStackTrace.map(frame => ` at ${frame}`).join(\"\\n\")\n };\n}\n\n//# sourceMappingURL=deprecationWarning.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/utils/deprecationWarning.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/utils/inherit.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/types/lib/utils/inherit.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = inherit;\nfunction inherit(key, child, parent) {\n if (child && parent) {\n child[key] = Array.from(new Set([].concat(child[key], parent[key]).filter(Boolean)));\n }\n}\n\n//# sourceMappingURL=inherit.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/utils/inherit.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = cleanJSXElementLiteralChild;\nvar _index = __webpack_require__(/*! ../../builders/generated/index.js */ \"./node_modules/@babel/types/lib/builders/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../../index.js */ \"./node_modules/@babel/types/lib/index.js\");\nfunction cleanJSXElementLiteralChild(child, args) {\n const lines = child.value.split(/\\r\\n|\\n|\\r/);\n let lastNonEmptyLine = 0;\n for (let i = 0; i < lines.length; i++) {\n if (/[^ \\t]/.exec(lines[i])) {\n lastNonEmptyLine = i;\n }\n }\n let str = \"\";\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const isFirstLine = i === 0;\n const isLastLine = i === lines.length - 1;\n const isLastNonEmptyLine = i === lastNonEmptyLine;\n let trimmedLine = line.replace(/\\t/g, \" \");\n if (!isFirstLine) {\n trimmedLine = trimmedLine.replace(/^ +/, \"\");\n }\n if (!isLastLine) {\n trimmedLine = trimmedLine.replace(/ +$/, \"\");\n }\n if (trimmedLine) {\n if (!isLastNonEmptyLine) {\n trimmedLine += \" \";\n }\n str += trimmedLine;\n }\n }\n if (str) args.push((0, _index2.inherits)((0, _index.stringLiteral)(str), child));\n}\n\n//# sourceMappingURL=cleanJSXElementLiteralChild.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/utils/shallowEqual.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/types/lib/utils/shallowEqual.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = shallowEqual;\nfunction shallowEqual(actual, expected) {\n const keys = Object.keys(expected);\n for (const key of keys) {\n if (actual[key] !== expected[key]) {\n return false;\n }\n }\n return true;\n}\n\n//# sourceMappingURL=shallowEqual.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/utils/shallowEqual.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = buildMatchMemberExpression;\nvar _matchesPattern = __webpack_require__(/*! ./matchesPattern.js */ \"./node_modules/@babel/types/lib/validators/matchesPattern.js\");\nfunction buildMatchMemberExpression(match, allowPartial) {\n const parts = match.split(\".\");\n return member => (0, _matchesPattern.default)(member, parts, allowPartial);\n}\n\n//# sourceMappingURL=buildMatchMemberExpression.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/generated/index.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/generated/index.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isAccessor = isAccessor;\nexports.isAnyTypeAnnotation = isAnyTypeAnnotation;\nexports.isArgumentPlaceholder = isArgumentPlaceholder;\nexports.isArrayExpression = isArrayExpression;\nexports.isArrayPattern = isArrayPattern;\nexports.isArrayTypeAnnotation = isArrayTypeAnnotation;\nexports.isArrowFunctionExpression = isArrowFunctionExpression;\nexports.isAssignmentExpression = isAssignmentExpression;\nexports.isAssignmentPattern = isAssignmentPattern;\nexports.isAwaitExpression = isAwaitExpression;\nexports.isBigIntLiteral = isBigIntLiteral;\nexports.isBinary = isBinary;\nexports.isBinaryExpression = isBinaryExpression;\nexports.isBindExpression = isBindExpression;\nexports.isBlock = isBlock;\nexports.isBlockParent = isBlockParent;\nexports.isBlockStatement = isBlockStatement;\nexports.isBooleanLiteral = isBooleanLiteral;\nexports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation;\nexports.isBooleanTypeAnnotation = isBooleanTypeAnnotation;\nexports.isBreakStatement = isBreakStatement;\nexports.isCallExpression = isCallExpression;\nexports.isCatchClause = isCatchClause;\nexports.isClass = isClass;\nexports.isClassAccessorProperty = isClassAccessorProperty;\nexports.isClassBody = isClassBody;\nexports.isClassDeclaration = isClassDeclaration;\nexports.isClassExpression = isClassExpression;\nexports.isClassImplements = isClassImplements;\nexports.isClassMethod = isClassMethod;\nexports.isClassPrivateMethod = isClassPrivateMethod;\nexports.isClassPrivateProperty = isClassPrivateProperty;\nexports.isClassProperty = isClassProperty;\nexports.isCompletionStatement = isCompletionStatement;\nexports.isConditional = isConditional;\nexports.isConditionalExpression = isConditionalExpression;\nexports.isContinueStatement = isContinueStatement;\nexports.isDebuggerStatement = isDebuggerStatement;\nexports.isDecimalLiteral = isDecimalLiteral;\nexports.isDeclaration = isDeclaration;\nexports.isDeclareClass = isDeclareClass;\nexports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration;\nexports.isDeclareExportDeclaration = isDeclareExportDeclaration;\nexports.isDeclareFunction = isDeclareFunction;\nexports.isDeclareInterface = isDeclareInterface;\nexports.isDeclareModule = isDeclareModule;\nexports.isDeclareModuleExports = isDeclareModuleExports;\nexports.isDeclareOpaqueType = isDeclareOpaqueType;\nexports.isDeclareTypeAlias = isDeclareTypeAlias;\nexports.isDeclareVariable = isDeclareVariable;\nexports.isDeclaredPredicate = isDeclaredPredicate;\nexports.isDecorator = isDecorator;\nexports.isDirective = isDirective;\nexports.isDirectiveLiteral = isDirectiveLiteral;\nexports.isDoExpression = isDoExpression;\nexports.isDoWhileStatement = isDoWhileStatement;\nexports.isEmptyStatement = isEmptyStatement;\nexports.isEmptyTypeAnnotation = isEmptyTypeAnnotation;\nexports.isEnumBody = isEnumBody;\nexports.isEnumBooleanBody = isEnumBooleanBody;\nexports.isEnumBooleanMember = isEnumBooleanMember;\nexports.isEnumDeclaration = isEnumDeclaration;\nexports.isEnumDefaultedMember = isEnumDefaultedMember;\nexports.isEnumMember = isEnumMember;\nexports.isEnumNumberBody = isEnumNumberBody;\nexports.isEnumNumberMember = isEnumNumberMember;\nexports.isEnumStringBody = isEnumStringBody;\nexports.isEnumStringMember = isEnumStringMember;\nexports.isEnumSymbolBody = isEnumSymbolBody;\nexports.isExistsTypeAnnotation = isExistsTypeAnnotation;\nexports.isExportAllDeclaration = isExportAllDeclaration;\nexports.isExportDeclaration = isExportDeclaration;\nexports.isExportDefaultDeclaration = isExportDefaultDeclaration;\nexports.isExportDefaultSpecifier = isExportDefaultSpecifier;\nexports.isExportNamedDeclaration = isExportNamedDeclaration;\nexports.isExportNamespaceSpecifier = isExportNamespaceSpecifier;\nexports.isExportSpecifier = isExportSpecifier;\nexports.isExpression = isExpression;\nexports.isExpressionStatement = isExpressionStatement;\nexports.isExpressionWrapper = isExpressionWrapper;\nexports.isFile = isFile;\nexports.isFlow = isFlow;\nexports.isFlowBaseAnnotation = isFlowBaseAnnotation;\nexports.isFlowDeclaration = isFlowDeclaration;\nexports.isFlowPredicate = isFlowPredicate;\nexports.isFlowType = isFlowType;\nexports.isFor = isFor;\nexports.isForInStatement = isForInStatement;\nexports.isForOfStatement = isForOfStatement;\nexports.isForStatement = isForStatement;\nexports.isForXStatement = isForXStatement;\nexports.isFunction = isFunction;\nexports.isFunctionDeclaration = isFunctionDeclaration;\nexports.isFunctionExpression = isFunctionExpression;\nexports.isFunctionParent = isFunctionParent;\nexports.isFunctionTypeAnnotation = isFunctionTypeAnnotation;\nexports.isFunctionTypeParam = isFunctionTypeParam;\nexports.isGenericTypeAnnotation = isGenericTypeAnnotation;\nexports.isIdentifier = isIdentifier;\nexports.isIfStatement = isIfStatement;\nexports.isImmutable = isImmutable;\nexports.isImport = isImport;\nexports.isImportAttribute = isImportAttribute;\nexports.isImportDeclaration = isImportDeclaration;\nexports.isImportDefaultSpecifier = isImportDefaultSpecifier;\nexports.isImportExpression = isImportExpression;\nexports.isImportNamespaceSpecifier = isImportNamespaceSpecifier;\nexports.isImportOrExportDeclaration = isImportOrExportDeclaration;\nexports.isImportSpecifier = isImportSpecifier;\nexports.isIndexedAccessType = isIndexedAccessType;\nexports.isInferredPredicate = isInferredPredicate;\nexports.isInterfaceDeclaration = isInterfaceDeclaration;\nexports.isInterfaceExtends = isInterfaceExtends;\nexports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation;\nexports.isInterpreterDirective = isInterpreterDirective;\nexports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation;\nexports.isJSX = isJSX;\nexports.isJSXAttribute = isJSXAttribute;\nexports.isJSXClosingElement = isJSXClosingElement;\nexports.isJSXClosingFragment = isJSXClosingFragment;\nexports.isJSXElement = isJSXElement;\nexports.isJSXEmptyExpression = isJSXEmptyExpression;\nexports.isJSXExpressionContainer = isJSXExpressionContainer;\nexports.isJSXFragment = isJSXFragment;\nexports.isJSXIdentifier = isJSXIdentifier;\nexports.isJSXMemberExpression = isJSXMemberExpression;\nexports.isJSXNamespacedName = isJSXNamespacedName;\nexports.isJSXOpeningElement = isJSXOpeningElement;\nexports.isJSXOpeningFragment = isJSXOpeningFragment;\nexports.isJSXSpreadAttribute = isJSXSpreadAttribute;\nexports.isJSXSpreadChild = isJSXSpreadChild;\nexports.isJSXText = isJSXText;\nexports.isLVal = isLVal;\nexports.isLabeledStatement = isLabeledStatement;\nexports.isLiteral = isLiteral;\nexports.isLogicalExpression = isLogicalExpression;\nexports.isLoop = isLoop;\nexports.isMemberExpression = isMemberExpression;\nexports.isMetaProperty = isMetaProperty;\nexports.isMethod = isMethod;\nexports.isMiscellaneous = isMiscellaneous;\nexports.isMixedTypeAnnotation = isMixedTypeAnnotation;\nexports.isModuleDeclaration = isModuleDeclaration;\nexports.isModuleExpression = isModuleExpression;\nexports.isModuleSpecifier = isModuleSpecifier;\nexports.isNewExpression = isNewExpression;\nexports.isNoop = isNoop;\nexports.isNullLiteral = isNullLiteral;\nexports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation;\nexports.isNullableTypeAnnotation = isNullableTypeAnnotation;\nexports.isNumberLiteral = isNumberLiteral;\nexports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation;\nexports.isNumberTypeAnnotation = isNumberTypeAnnotation;\nexports.isNumericLiteral = isNumericLiteral;\nexports.isObjectExpression = isObjectExpression;\nexports.isObjectMember = isObjectMember;\nexports.isObjectMethod = isObjectMethod;\nexports.isObjectPattern = isObjectPattern;\nexports.isObjectProperty = isObjectProperty;\nexports.isObjectTypeAnnotation = isObjectTypeAnnotation;\nexports.isObjectTypeCallProperty = isObjectTypeCallProperty;\nexports.isObjectTypeIndexer = isObjectTypeIndexer;\nexports.isObjectTypeInternalSlot = isObjectTypeInternalSlot;\nexports.isObjectTypeProperty = isObjectTypeProperty;\nexports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty;\nexports.isOpaqueType = isOpaqueType;\nexports.isOptionalCallExpression = isOptionalCallExpression;\nexports.isOptionalIndexedAccessType = isOptionalIndexedAccessType;\nexports.isOptionalMemberExpression = isOptionalMemberExpression;\nexports.isParenthesizedExpression = isParenthesizedExpression;\nexports.isPattern = isPattern;\nexports.isPatternLike = isPatternLike;\nexports.isPipelineBareFunction = isPipelineBareFunction;\nexports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference;\nexports.isPipelineTopicExpression = isPipelineTopicExpression;\nexports.isPlaceholder = isPlaceholder;\nexports.isPrivate = isPrivate;\nexports.isPrivateName = isPrivateName;\nexports.isProgram = isProgram;\nexports.isProperty = isProperty;\nexports.isPureish = isPureish;\nexports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier;\nexports.isRecordExpression = isRecordExpression;\nexports.isRegExpLiteral = isRegExpLiteral;\nexports.isRegexLiteral = isRegexLiteral;\nexports.isRestElement = isRestElement;\nexports.isRestProperty = isRestProperty;\nexports.isReturnStatement = isReturnStatement;\nexports.isScopable = isScopable;\nexports.isSequenceExpression = isSequenceExpression;\nexports.isSpreadElement = isSpreadElement;\nexports.isSpreadProperty = isSpreadProperty;\nexports.isStandardized = isStandardized;\nexports.isStatement = isStatement;\nexports.isStaticBlock = isStaticBlock;\nexports.isStringLiteral = isStringLiteral;\nexports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation;\nexports.isStringTypeAnnotation = isStringTypeAnnotation;\nexports.isSuper = isSuper;\nexports.isSwitchCase = isSwitchCase;\nexports.isSwitchStatement = isSwitchStatement;\nexports.isSymbolTypeAnnotation = isSymbolTypeAnnotation;\nexports.isTSAnyKeyword = isTSAnyKeyword;\nexports.isTSArrayType = isTSArrayType;\nexports.isTSAsExpression = isTSAsExpression;\nexports.isTSBaseType = isTSBaseType;\nexports.isTSBigIntKeyword = isTSBigIntKeyword;\nexports.isTSBooleanKeyword = isTSBooleanKeyword;\nexports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration;\nexports.isTSConditionalType = isTSConditionalType;\nexports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration;\nexports.isTSConstructorType = isTSConstructorType;\nexports.isTSDeclareFunction = isTSDeclareFunction;\nexports.isTSDeclareMethod = isTSDeclareMethod;\nexports.isTSEntityName = isTSEntityName;\nexports.isTSEnumDeclaration = isTSEnumDeclaration;\nexports.isTSEnumMember = isTSEnumMember;\nexports.isTSExportAssignment = isTSExportAssignment;\nexports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments;\nexports.isTSExternalModuleReference = isTSExternalModuleReference;\nexports.isTSFunctionType = isTSFunctionType;\nexports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration;\nexports.isTSImportType = isTSImportType;\nexports.isTSIndexSignature = isTSIndexSignature;\nexports.isTSIndexedAccessType = isTSIndexedAccessType;\nexports.isTSInferType = isTSInferType;\nexports.isTSInstantiationExpression = isTSInstantiationExpression;\nexports.isTSInterfaceBody = isTSInterfaceBody;\nexports.isTSInterfaceDeclaration = isTSInterfaceDeclaration;\nexports.isTSIntersectionType = isTSIntersectionType;\nexports.isTSIntrinsicKeyword = isTSIntrinsicKeyword;\nexports.isTSLiteralType = isTSLiteralType;\nexports.isTSMappedType = isTSMappedType;\nexports.isTSMethodSignature = isTSMethodSignature;\nexports.isTSModuleBlock = isTSModuleBlock;\nexports.isTSModuleDeclaration = isTSModuleDeclaration;\nexports.isTSNamedTupleMember = isTSNamedTupleMember;\nexports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration;\nexports.isTSNeverKeyword = isTSNeverKeyword;\nexports.isTSNonNullExpression = isTSNonNullExpression;\nexports.isTSNullKeyword = isTSNullKeyword;\nexports.isTSNumberKeyword = isTSNumberKeyword;\nexports.isTSObjectKeyword = isTSObjectKeyword;\nexports.isTSOptionalType = isTSOptionalType;\nexports.isTSParameterProperty = isTSParameterProperty;\nexports.isTSParenthesizedType = isTSParenthesizedType;\nexports.isTSPropertySignature = isTSPropertySignature;\nexports.isTSQualifiedName = isTSQualifiedName;\nexports.isTSRestType = isTSRestType;\nexports.isTSSatisfiesExpression = isTSSatisfiesExpression;\nexports.isTSStringKeyword = isTSStringKeyword;\nexports.isTSSymbolKeyword = isTSSymbolKeyword;\nexports.isTSThisType = isTSThisType;\nexports.isTSTupleType = isTSTupleType;\nexports.isTSType = isTSType;\nexports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration;\nexports.isTSTypeAnnotation = isTSTypeAnnotation;\nexports.isTSTypeAssertion = isTSTypeAssertion;\nexports.isTSTypeElement = isTSTypeElement;\nexports.isTSTypeLiteral = isTSTypeLiteral;\nexports.isTSTypeOperator = isTSTypeOperator;\nexports.isTSTypeParameter = isTSTypeParameter;\nexports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration;\nexports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation;\nexports.isTSTypePredicate = isTSTypePredicate;\nexports.isTSTypeQuery = isTSTypeQuery;\nexports.isTSTypeReference = isTSTypeReference;\nexports.isTSUndefinedKeyword = isTSUndefinedKeyword;\nexports.isTSUnionType = isTSUnionType;\nexports.isTSUnknownKeyword = isTSUnknownKeyword;\nexports.isTSVoidKeyword = isTSVoidKeyword;\nexports.isTaggedTemplateExpression = isTaggedTemplateExpression;\nexports.isTemplateElement = isTemplateElement;\nexports.isTemplateLiteral = isTemplateLiteral;\nexports.isTerminatorless = isTerminatorless;\nexports.isThisExpression = isThisExpression;\nexports.isThisTypeAnnotation = isThisTypeAnnotation;\nexports.isThrowStatement = isThrowStatement;\nexports.isTopicReference = isTopicReference;\nexports.isTryStatement = isTryStatement;\nexports.isTupleExpression = isTupleExpression;\nexports.isTupleTypeAnnotation = isTupleTypeAnnotation;\nexports.isTypeAlias = isTypeAlias;\nexports.isTypeAnnotation = isTypeAnnotation;\nexports.isTypeCastExpression = isTypeCastExpression;\nexports.isTypeParameter = isTypeParameter;\nexports.isTypeParameterDeclaration = isTypeParameterDeclaration;\nexports.isTypeParameterInstantiation = isTypeParameterInstantiation;\nexports.isTypeScript = isTypeScript;\nexports.isTypeofTypeAnnotation = isTypeofTypeAnnotation;\nexports.isUnaryExpression = isUnaryExpression;\nexports.isUnaryLike = isUnaryLike;\nexports.isUnionTypeAnnotation = isUnionTypeAnnotation;\nexports.isUpdateExpression = isUpdateExpression;\nexports.isUserWhitespacable = isUserWhitespacable;\nexports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier;\nexports.isVariableDeclaration = isVariableDeclaration;\nexports.isVariableDeclarator = isVariableDeclarator;\nexports.isVariance = isVariance;\nexports.isVoidTypeAnnotation = isVoidTypeAnnotation;\nexports.isWhile = isWhile;\nexports.isWhileStatement = isWhileStatement;\nexports.isWithStatement = isWithStatement;\nexports.isYieldExpression = isYieldExpression;\nvar _shallowEqual = __webpack_require__(/*! ../../utils/shallowEqual.js */ \"./node_modules/@babel/types/lib/utils/shallowEqual.js\");\nvar _deprecationWarning = __webpack_require__(/*! ../../utils/deprecationWarning.js */ \"./node_modules/@babel/types/lib/utils/deprecationWarning.js\");\nfunction isArrayExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrayExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAssignmentExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"AssignmentExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBinaryExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"BinaryExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterpreterDirective(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterpreterDirective\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDirective(node, opts) {\n if (!node) return false;\n if (node.type !== \"Directive\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDirectiveLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"DirectiveLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBlockStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"BlockStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBreakStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"BreakStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isCallExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"CallExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isCatchClause(node, opts) {\n if (!node) return false;\n if (node.type !== \"CatchClause\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isConditionalExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ConditionalExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isContinueStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ContinueStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDebuggerStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"DebuggerStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDoWhileStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"DoWhileStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEmptyStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"EmptyStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExpressionStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExpressionStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFile(node, opts) {\n if (!node) return false;\n if (node.type !== \"File\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForInStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ForInStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ForStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"Identifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIfStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"IfStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLabeledStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"LabeledStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStringLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"StringLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumericLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"NumericLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNullLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"NullLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBooleanLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"BooleanLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRegExpLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"RegExpLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLogicalExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"LogicalExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMemberExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"MemberExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNewExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"NewExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isProgram(node, opts) {\n if (!node) return false;\n if (node.type !== \"Program\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRestElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"RestElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isReturnStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ReturnStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSequenceExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"SequenceExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isParenthesizedExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ParenthesizedExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSwitchCase(node, opts) {\n if (!node) return false;\n if (node.type !== \"SwitchCase\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSwitchStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"SwitchStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isThisExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ThisExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isThrowStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ThrowStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTryStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"TryStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUnaryExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"UnaryExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUpdateExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"UpdateExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVariableDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"VariableDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVariableDeclarator(node, opts) {\n if (!node) return false;\n if (node.type !== \"VariableDeclarator\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isWhileStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"WhileStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isWithStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"WithStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAssignmentPattern(node, opts) {\n if (!node) return false;\n if (node.type !== \"AssignmentPattern\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArrayPattern(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrayPattern\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArrowFunctionExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrowFunctionExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportAllDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportAllDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportDefaultDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportDefaultDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportNamedDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportNamedDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForOfStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ForOfStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportDefaultSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportDefaultSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportNamespaceSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportNamespaceSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMetaProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"MetaProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectPattern(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectPattern\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSpreadElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"SpreadElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSuper(node, opts) {\n if (!node) return false;\n if (node.type !== \"Super\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTaggedTemplateExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TaggedTemplateExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTemplateElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"TemplateElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTemplateLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"TemplateLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isYieldExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"YieldExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAwaitExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"AwaitExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImport(node, opts) {\n if (!node) return false;\n if (node.type !== \"Import\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBigIntLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"BigIntLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportNamespaceSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportNamespaceSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOptionalMemberExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"OptionalMemberExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOptionalCallExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"OptionalCallExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassAccessorProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassAccessorProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassPrivateProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassPrivateProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassPrivateMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassPrivateMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPrivateName(node, opts) {\n if (!node) return false;\n if (node.type !== \"PrivateName\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStaticBlock(node, opts) {\n if (!node) return false;\n if (node.type !== \"StaticBlock\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAnyTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"AnyTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArrayTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrayTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBooleanTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"BooleanTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBooleanLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"BooleanLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNullLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NullLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassImplements(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassImplements\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareClass(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareClass\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareFunction(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareFunction\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareInterface(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareInterface\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareModule(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareModule\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareModuleExports(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareModuleExports\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareTypeAlias(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareTypeAlias\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareOpaqueType(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareOpaqueType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareVariable(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareVariable\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareExportDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareExportDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareExportAllDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareExportAllDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclaredPredicate(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclaredPredicate\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExistsTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExistsTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionTypeParam(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionTypeParam\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isGenericTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"GenericTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInferredPredicate(node, opts) {\n if (!node) return false;\n if (node.type !== \"InferredPredicate\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterfaceExtends(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterfaceExtends\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterfaceDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterfaceDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterfaceTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterfaceTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIntersectionTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"IntersectionTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMixedTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"MixedTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEmptyTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"EmptyTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNullableTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NullableTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumberLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NumberLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumberTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NumberTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeInternalSlot(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeInternalSlot\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeCallProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeCallProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeIndexer(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeIndexer\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeSpreadProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeSpreadProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOpaqueType(node, opts) {\n if (!node) return false;\n if (node.type !== \"OpaqueType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isQualifiedTypeIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"QualifiedTypeIdentifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStringLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"StringLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStringTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"StringTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSymbolTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"SymbolTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isThisTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ThisTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTupleTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TupleTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeofTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeofTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeAlias(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeAlias\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeCastExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeCastExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeParameter(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeParameter\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeParameterDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeParameterDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeParameterInstantiation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeParameterInstantiation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUnionTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"UnionTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVariance(node, opts) {\n if (!node) return false;\n if (node.type !== \"Variance\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVoidTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"VoidTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumBooleanBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumBooleanBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumNumberBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumNumberBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumStringBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumStringBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumSymbolBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumSymbolBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumBooleanMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumBooleanMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumNumberMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumNumberMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumStringMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumStringMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumDefaultedMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumDefaultedMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIndexedAccessType(node, opts) {\n if (!node) return false;\n if (node.type !== \"IndexedAccessType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOptionalIndexedAccessType(node, opts) {\n if (!node) return false;\n if (node.type !== \"OptionalIndexedAccessType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXAttribute(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXAttribute\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXClosingElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXClosingElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXEmptyExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXEmptyExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXExpressionContainer(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXExpressionContainer\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXSpreadChild(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXSpreadChild\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXIdentifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXMemberExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXMemberExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXNamespacedName(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXNamespacedName\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXOpeningElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXOpeningElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXSpreadAttribute(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXSpreadAttribute\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXText(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXText\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXFragment(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXFragment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXOpeningFragment(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXOpeningFragment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXClosingFragment(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXClosingFragment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNoop(node, opts) {\n if (!node) return false;\n if (node.type !== \"Noop\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPlaceholder(node, opts) {\n if (!node) return false;\n if (node.type !== \"Placeholder\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isV8IntrinsicIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"V8IntrinsicIdentifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArgumentPlaceholder(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArgumentPlaceholder\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBindExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"BindExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportAttribute(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportAttribute\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDecorator(node, opts) {\n if (!node) return false;\n if (node.type !== \"Decorator\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDoExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"DoExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportDefaultSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportDefaultSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRecordExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"RecordExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTupleExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TupleExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDecimalLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"DecimalLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isModuleExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ModuleExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTopicReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"TopicReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPipelineTopicExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"PipelineTopicExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPipelineBareFunction(node, opts) {\n if (!node) return false;\n if (node.type !== \"PipelineBareFunction\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPipelinePrimaryTopicReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"PipelinePrimaryTopicReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSParameterProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSParameterProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSDeclareFunction(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSDeclareFunction\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSDeclareMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSDeclareMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSQualifiedName(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSQualifiedName\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSCallSignatureDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSCallSignatureDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSConstructSignatureDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSConstructSignatureDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSPropertySignature(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSPropertySignature\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSMethodSignature(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSMethodSignature\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIndexSignature(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIndexSignature\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSAnyKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSAnyKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSBooleanKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSBooleanKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSBigIntKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSBigIntKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIntrinsicKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIntrinsicKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNeverKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNeverKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNullKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNullKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNumberKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNumberKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSObjectKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSObjectKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSStringKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSStringKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSSymbolKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSSymbolKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSUndefinedKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSUndefinedKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSUnknownKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSUnknownKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSVoidKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSVoidKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSThisType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSThisType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSFunctionType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSFunctionType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSConstructorType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSConstructorType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypePredicate(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypePredicate\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeQuery(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeQuery\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSArrayType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSArrayType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTupleType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTupleType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSOptionalType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSOptionalType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSRestType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSRestType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNamedTupleMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNamedTupleMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSUnionType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSUnionType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIntersectionType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIntersectionType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSConditionalType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSConditionalType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInferType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInferType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSParenthesizedType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSParenthesizedType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeOperator(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeOperator\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIndexedAccessType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIndexedAccessType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSMappedType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSMappedType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSLiteralType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSLiteralType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSExpressionWithTypeArguments(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSExpressionWithTypeArguments\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInterfaceDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInterfaceDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInterfaceBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInterfaceBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeAliasDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeAliasDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInstantiationExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInstantiationExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSAsExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSAsExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSSatisfiesExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSSatisfiesExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeAssertion(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeAssertion\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSEnumDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSEnumDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSEnumMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSEnumMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSModuleDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSModuleDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSModuleBlock(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSModuleBlock\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSImportType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSImportType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSImportEqualsDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSImportEqualsDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSExternalModuleReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSExternalModuleReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNonNullExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNonNullExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSExportAssignment(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSExportAssignment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNamespaceExportDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNamespaceExportDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeParameterInstantiation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeParameterInstantiation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeParameterDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeParameterDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeParameter(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeParameter\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStandardized(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ArrayExpression\":\n case \"AssignmentExpression\":\n case \"BinaryExpression\":\n case \"InterpreterDirective\":\n case \"Directive\":\n case \"DirectiveLiteral\":\n case \"BlockStatement\":\n case \"BreakStatement\":\n case \"CallExpression\":\n case \"CatchClause\":\n case \"ConditionalExpression\":\n case \"ContinueStatement\":\n case \"DebuggerStatement\":\n case \"DoWhileStatement\":\n case \"EmptyStatement\":\n case \"ExpressionStatement\":\n case \"File\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Identifier\":\n case \"IfStatement\":\n case \"LabeledStatement\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"LogicalExpression\":\n case \"MemberExpression\":\n case \"NewExpression\":\n case \"Program\":\n case \"ObjectExpression\":\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n case \"RestElement\":\n case \"ReturnStatement\":\n case \"SequenceExpression\":\n case \"ParenthesizedExpression\":\n case \"SwitchCase\":\n case \"SwitchStatement\":\n case \"ThisExpression\":\n case \"ThrowStatement\":\n case \"TryStatement\":\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n case \"VariableDeclaration\":\n case \"VariableDeclarator\":\n case \"WhileStatement\":\n case \"WithStatement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ArrowFunctionExpression\":\n case \"ClassBody\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ExportSpecifier\":\n case \"ForOfStatement\":\n case \"ImportDeclaration\":\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n case \"ImportExpression\":\n case \"MetaProperty\":\n case \"ClassMethod\":\n case \"ObjectPattern\":\n case \"SpreadElement\":\n case \"Super\":\n case \"TaggedTemplateExpression\":\n case \"TemplateElement\":\n case \"TemplateLiteral\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n case \"Import\":\n case \"BigIntLiteral\":\n case \"ExportNamespaceSpecifier\":\n case \"OptionalMemberExpression\":\n case \"OptionalCallExpression\":\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n case \"PrivateName\":\n case \"StaticBlock\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Identifier\":\n case \"StringLiteral\":\n case \"BlockStatement\":\n case \"ClassBody\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExpression(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ArrayExpression\":\n case \"AssignmentExpression\":\n case \"BinaryExpression\":\n case \"CallExpression\":\n case \"ConditionalExpression\":\n case \"FunctionExpression\":\n case \"Identifier\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"LogicalExpression\":\n case \"MemberExpression\":\n case \"NewExpression\":\n case \"ObjectExpression\":\n case \"SequenceExpression\":\n case \"ParenthesizedExpression\":\n case \"ThisExpression\":\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n case \"ArrowFunctionExpression\":\n case \"ClassExpression\":\n case \"ImportExpression\":\n case \"MetaProperty\":\n case \"Super\":\n case \"TaggedTemplateExpression\":\n case \"TemplateLiteral\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n case \"Import\":\n case \"BigIntLiteral\":\n case \"OptionalMemberExpression\":\n case \"OptionalCallExpression\":\n case \"TypeCastExpression\":\n case \"JSXElement\":\n case \"JSXFragment\":\n case \"BindExpression\":\n case \"DoExpression\":\n case \"RecordExpression\":\n case \"TupleExpression\":\n case \"DecimalLiteral\":\n case \"ModuleExpression\":\n case \"TopicReference\":\n case \"PipelineTopicExpression\":\n case \"PipelineBareFunction\":\n case \"PipelinePrimaryTopicReference\":\n case \"TSInstantiationExpression\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Expression\":\n case \"Identifier\":\n case \"StringLiteral\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBinary(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BinaryExpression\":\n case \"LogicalExpression\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isScopable(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"CatchClause\":\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Program\":\n case \"ObjectMethod\":\n case \"SwitchStatement\":\n case \"WhileStatement\":\n case \"ArrowFunctionExpression\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n case \"ForOfStatement\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBlockParent(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"CatchClause\":\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Program\":\n case \"ObjectMethod\":\n case \"SwitchStatement\":\n case \"WhileStatement\":\n case \"ArrowFunctionExpression\":\n case \"ForOfStatement\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBlock(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"Program\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStatement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"DebuggerStatement\":\n case \"DoWhileStatement\":\n case \"EmptyStatement\":\n case \"ExpressionStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"IfStatement\":\n case \"LabeledStatement\":\n case \"ReturnStatement\":\n case \"SwitchStatement\":\n case \"ThrowStatement\":\n case \"TryStatement\":\n case \"VariableDeclaration\":\n case \"WhileStatement\":\n case \"WithStatement\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ForOfStatement\":\n case \"ImportDeclaration\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n case \"EnumDeclaration\":\n case \"TSDeclareFunction\":\n case \"TSInterfaceDeclaration\":\n case \"TSTypeAliasDeclaration\":\n case \"TSEnumDeclaration\":\n case \"TSModuleDeclaration\":\n case \"TSImportEqualsDeclaration\":\n case \"TSExportAssignment\":\n case \"TSNamespaceExportDeclaration\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Statement\":\n case \"Declaration\":\n case \"BlockStatement\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTerminatorless(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"ReturnStatement\":\n case \"ThrowStatement\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isCompletionStatement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"ReturnStatement\":\n case \"ThrowStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isConditional(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ConditionalExpression\":\n case \"IfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLoop(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"WhileStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isWhile(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DoWhileStatement\":\n case \"WhileStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExpressionWrapper(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExpressionStatement\":\n case \"ParenthesizedExpression\":\n case \"TypeCastExpression\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFor(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForXStatement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ForInStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunction(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ObjectMethod\":\n case \"ArrowFunctionExpression\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionParent(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ObjectMethod\":\n case \"ArrowFunctionExpression\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPureish(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"ArrowFunctionExpression\":\n case \"BigIntLiteral\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"VariableDeclaration\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n case \"EnumDeclaration\":\n case \"TSDeclareFunction\":\n case \"TSInterfaceDeclaration\":\n case \"TSTypeAliasDeclaration\":\n case \"TSEnumDeclaration\":\n case \"TSModuleDeclaration\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Declaration\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPatternLike(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Identifier\":\n case \"RestElement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Pattern\":\n case \"Identifier\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLVal(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Identifier\":\n case \"MemberExpression\":\n case \"RestElement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"TSParameterProperty\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Pattern\":\n case \"Identifier\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSEntityName(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Identifier\":\n case \"TSQualifiedName\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Identifier\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLiteral(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"TemplateLiteral\":\n case \"BigIntLiteral\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImmutable(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"BigIntLiteral\":\n case \"JSXAttribute\":\n case \"JSXClosingElement\":\n case \"JSXElement\":\n case \"JSXExpressionContainer\":\n case \"JSXSpreadChild\":\n case \"JSXOpeningElement\":\n case \"JSXText\":\n case \"JSXFragment\":\n case \"JSXOpeningFragment\":\n case \"JSXClosingFragment\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUserWhitespacable(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n case \"ObjectTypeInternalSlot\":\n case \"ObjectTypeCallProperty\":\n case \"ObjectTypeIndexer\":\n case \"ObjectTypeProperty\":\n case \"ObjectTypeSpreadProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMethod(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectMember(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isProperty(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectProperty\":\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n case \"ClassPrivateProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUnaryLike(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"UnaryExpression\":\n case \"SpreadElement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPattern(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Pattern\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClass(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportOrExportDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isModuleSpecifier(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExportSpecifier\":\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAccessor(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ClassAccessorProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPrivate(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n case \"PrivateName\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlow(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"ArrayTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"BooleanLiteralTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"ClassImplements\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"DeclaredPredicate\":\n case \"ExistsTypeAnnotation\":\n case \"FunctionTypeAnnotation\":\n case \"FunctionTypeParam\":\n case \"GenericTypeAnnotation\":\n case \"InferredPredicate\":\n case \"InterfaceExtends\":\n case \"InterfaceDeclaration\":\n case \"InterfaceTypeAnnotation\":\n case \"IntersectionTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NullableTypeAnnotation\":\n case \"NumberLiteralTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"ObjectTypeAnnotation\":\n case \"ObjectTypeInternalSlot\":\n case \"ObjectTypeCallProperty\":\n case \"ObjectTypeIndexer\":\n case \"ObjectTypeProperty\":\n case \"ObjectTypeSpreadProperty\":\n case \"OpaqueType\":\n case \"QualifiedTypeIdentifier\":\n case \"StringLiteralTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"TupleTypeAnnotation\":\n case \"TypeofTypeAnnotation\":\n case \"TypeAlias\":\n case \"TypeAnnotation\":\n case \"TypeCastExpression\":\n case \"TypeParameter\":\n case \"TypeParameterDeclaration\":\n case \"TypeParameterInstantiation\":\n case \"UnionTypeAnnotation\":\n case \"Variance\":\n case \"VoidTypeAnnotation\":\n case \"EnumDeclaration\":\n case \"EnumBooleanBody\":\n case \"EnumNumberBody\":\n case \"EnumStringBody\":\n case \"EnumSymbolBody\":\n case \"EnumBooleanMember\":\n case \"EnumNumberMember\":\n case \"EnumStringMember\":\n case \"EnumDefaultedMember\":\n case \"IndexedAccessType\":\n case \"OptionalIndexedAccessType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowType(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"ArrayTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"BooleanLiteralTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"ExistsTypeAnnotation\":\n case \"FunctionTypeAnnotation\":\n case \"GenericTypeAnnotation\":\n case \"InterfaceTypeAnnotation\":\n case \"IntersectionTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NullableTypeAnnotation\":\n case \"NumberLiteralTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"ObjectTypeAnnotation\":\n case \"StringLiteralTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"TupleTypeAnnotation\":\n case \"TypeofTypeAnnotation\":\n case \"UnionTypeAnnotation\":\n case \"VoidTypeAnnotation\":\n case \"IndexedAccessType\":\n case \"OptionalIndexedAccessType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowBaseAnnotation(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"VoidTypeAnnotation\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowPredicate(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DeclaredPredicate\":\n case \"InferredPredicate\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumBody(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"EnumBooleanBody\":\n case \"EnumNumberBody\":\n case \"EnumStringBody\":\n case \"EnumSymbolBody\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumMember(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"EnumBooleanMember\":\n case \"EnumNumberMember\":\n case \"EnumStringMember\":\n case \"EnumDefaultedMember\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSX(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"JSXAttribute\":\n case \"JSXClosingElement\":\n case \"JSXElement\":\n case \"JSXEmptyExpression\":\n case \"JSXExpressionContainer\":\n case \"JSXSpreadChild\":\n case \"JSXIdentifier\":\n case \"JSXMemberExpression\":\n case \"JSXNamespacedName\":\n case \"JSXOpeningElement\":\n case \"JSXSpreadAttribute\":\n case \"JSXText\":\n case \"JSXFragment\":\n case \"JSXOpeningFragment\":\n case \"JSXClosingFragment\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMiscellaneous(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Noop\":\n case \"Placeholder\":\n case \"V8IntrinsicIdentifier\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeScript(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSParameterProperty\":\n case \"TSDeclareFunction\":\n case \"TSDeclareMethod\":\n case \"TSQualifiedName\":\n case \"TSCallSignatureDeclaration\":\n case \"TSConstructSignatureDeclaration\":\n case \"TSPropertySignature\":\n case \"TSMethodSignature\":\n case \"TSIndexSignature\":\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSFunctionType\":\n case \"TSConstructorType\":\n case \"TSTypeReference\":\n case \"TSTypePredicate\":\n case \"TSTypeQuery\":\n case \"TSTypeLiteral\":\n case \"TSArrayType\":\n case \"TSTupleType\":\n case \"TSOptionalType\":\n case \"TSRestType\":\n case \"TSNamedTupleMember\":\n case \"TSUnionType\":\n case \"TSIntersectionType\":\n case \"TSConditionalType\":\n case \"TSInferType\":\n case \"TSParenthesizedType\":\n case \"TSTypeOperator\":\n case \"TSIndexedAccessType\":\n case \"TSMappedType\":\n case \"TSLiteralType\":\n case \"TSExpressionWithTypeArguments\":\n case \"TSInterfaceDeclaration\":\n case \"TSInterfaceBody\":\n case \"TSTypeAliasDeclaration\":\n case \"TSInstantiationExpression\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSEnumDeclaration\":\n case \"TSEnumMember\":\n case \"TSModuleDeclaration\":\n case \"TSModuleBlock\":\n case \"TSImportType\":\n case \"TSImportEqualsDeclaration\":\n case \"TSExternalModuleReference\":\n case \"TSNonNullExpression\":\n case \"TSExportAssignment\":\n case \"TSNamespaceExportDeclaration\":\n case \"TSTypeAnnotation\":\n case \"TSTypeParameterInstantiation\":\n case \"TSTypeParameterDeclaration\":\n case \"TSTypeParameter\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeElement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSCallSignatureDeclaration\":\n case \"TSConstructSignatureDeclaration\":\n case \"TSPropertySignature\":\n case \"TSMethodSignature\":\n case \"TSIndexSignature\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSType(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSFunctionType\":\n case \"TSConstructorType\":\n case \"TSTypeReference\":\n case \"TSTypePredicate\":\n case \"TSTypeQuery\":\n case \"TSTypeLiteral\":\n case \"TSArrayType\":\n case \"TSTupleType\":\n case \"TSOptionalType\":\n case \"TSRestType\":\n case \"TSUnionType\":\n case \"TSIntersectionType\":\n case \"TSConditionalType\":\n case \"TSInferType\":\n case \"TSParenthesizedType\":\n case \"TSTypeOperator\":\n case \"TSIndexedAccessType\":\n case \"TSMappedType\":\n case \"TSLiteralType\":\n case \"TSExpressionWithTypeArguments\":\n case \"TSImportType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSBaseType(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSLiteralType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumberLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"isNumberLiteral\", \"isNumericLiteral\");\n if (!node) return false;\n if (node.type !== \"NumberLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRegexLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"isRegexLiteral\", \"isRegExpLiteral\");\n if (!node) return false;\n if (node.type !== \"RegexLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRestProperty(node, opts) {\n (0, _deprecationWarning.default)(\"isRestProperty\", \"isRestElement\");\n if (!node) return false;\n if (node.type !== \"RestProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSpreadProperty(node, opts) {\n (0, _deprecationWarning.default)(\"isSpreadProperty\", \"isSpreadElement\");\n if (!node) return false;\n if (node.type !== \"SpreadProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isModuleDeclaration(node, opts) {\n (0, _deprecationWarning.default)(\"isModuleDeclaration\", \"isImportOrExportDeclaration\");\n return isImportOrExportDeclaration(node, opts);\n}\n\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/generated/index.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/is.js": +/*!********************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/is.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = is;\nvar _shallowEqual = __webpack_require__(/*! ../utils/shallowEqual.js */ \"./node_modules/@babel/types/lib/utils/shallowEqual.js\");\nvar _isType = __webpack_require__(/*! ./isType.js */ \"./node_modules/@babel/types/lib/validators/isType.js\");\nvar _isPlaceholderType = __webpack_require__(/*! ./isPlaceholderType.js */ \"./node_modules/@babel/types/lib/validators/isPlaceholderType.js\");\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction is(type, node, opts) {\n if (!node) return false;\n const matches = (0, _isType.default)(node.type, type);\n if (!matches) {\n if (!opts && node.type === \"Placeholder\" && type in _index.FLIPPED_ALIAS_KEYS) {\n return (0, _isPlaceholderType.default)(node.expectedNode, type);\n }\n return false;\n }\n if (opts === undefined) {\n return true;\n } else {\n return (0, _shallowEqual.default)(node, opts);\n }\n}\n\n//# sourceMappingURL=is.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/is.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isBinding.js": +/*!***************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isBinding.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isBinding;\nvar _getBindingIdentifiers = __webpack_require__(/*! ../retrievers/getBindingIdentifiers.js */ \"./node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js\");\nfunction isBinding(node, parent, grandparent) {\n if (grandparent && node.type === \"Identifier\" && parent.type === \"ObjectProperty\" && grandparent.type === \"ObjectExpression\") {\n return false;\n }\n const keys = _getBindingIdentifiers.default.keys[parent.type];\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const val = parent[key];\n if (Array.isArray(val)) {\n if (val.includes(node)) return true;\n } else {\n if (val === node) return true;\n }\n }\n }\n return false;\n}\n\n//# sourceMappingURL=isBinding.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isBinding.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isBlockScoped.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isBlockScoped.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isBlockScoped;\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _isLet = __webpack_require__(/*! ./isLet.js */ \"./node_modules/@babel/types/lib/validators/isLet.js\");\nfunction isBlockScoped(node) {\n return (0, _index.isFunctionDeclaration)(node) || (0, _index.isClassDeclaration)(node) || (0, _isLet.default)(node);\n}\n\n//# sourceMappingURL=isBlockScoped.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isBlockScoped.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isImmutable.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isImmutable.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isImmutable;\nvar _isType = __webpack_require__(/*! ./isType.js */ \"./node_modules/@babel/types/lib/validators/isType.js\");\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction isImmutable(node) {\n if ((0, _isType.default)(node.type, \"Immutable\")) return true;\n if ((0, _index.isIdentifier)(node)) {\n if (node.name === \"undefined\") {\n return true;\n } else {\n return false;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=isImmutable.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isImmutable.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isLet.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isLet.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isLet;\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../constants/index.js */ \"./node_modules/@babel/types/lib/constants/index.js\");\nfunction isLet(node) {\n return (0, _index.isVariableDeclaration)(node) && (node.kind !== \"var\" || node[_index2.BLOCK_SCOPED_SYMBOL]);\n}\n\n//# sourceMappingURL=isLet.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isLet.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isNode.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isNode.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isNode;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction isNode(node) {\n return !!(node && _index.VISITOR_KEYS[node.type]);\n}\n\n//# sourceMappingURL=isNode.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isNode.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isNodesEquivalent.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isNodesEquivalent.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isNodesEquivalent;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction isNodesEquivalent(a, b) {\n if (typeof a !== \"object\" || typeof b !== \"object\" || a == null || b == null) {\n return a === b;\n }\n if (a.type !== b.type) {\n return false;\n }\n const fields = Object.keys(_index.NODE_FIELDS[a.type] || a.type);\n const visitorKeys = _index.VISITOR_KEYS[a.type];\n for (const field of fields) {\n const val_a = a[field];\n const val_b = b[field];\n if (typeof val_a !== typeof val_b) {\n return false;\n }\n if (val_a == null && val_b == null) {\n continue;\n } else if (val_a == null || val_b == null) {\n return false;\n }\n if (Array.isArray(val_a)) {\n if (!Array.isArray(val_b)) {\n return false;\n }\n if (val_a.length !== val_b.length) {\n return false;\n }\n for (let i = 0; i < val_a.length; i++) {\n if (!isNodesEquivalent(val_a[i], val_b[i])) {\n return false;\n }\n }\n continue;\n }\n if (typeof val_a === \"object\" && !(visitorKeys != null && visitorKeys.includes(field))) {\n for (const key of Object.keys(val_a)) {\n if (val_a[key] !== val_b[key]) {\n return false;\n }\n }\n continue;\n }\n if (!isNodesEquivalent(val_a, val_b)) {\n return false;\n }\n }\n return true;\n}\n\n//# sourceMappingURL=isNodesEquivalent.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isNodesEquivalent.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isPlaceholderType.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isPlaceholderType.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isPlaceholderType;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction isPlaceholderType(placeholderType, targetType) {\n if (placeholderType === targetType) return true;\n const aliases = _index.PLACEHOLDERS_ALIAS[placeholderType];\n if (aliases) {\n for (const alias of aliases) {\n if (targetType === alias) return true;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=isPlaceholderType.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isPlaceholderType.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isReferenced.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isReferenced.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isReferenced;\nfunction isReferenced(node, parent, grandparent) {\n switch (parent.type) {\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n if (parent.property === node) {\n return !!parent.computed;\n }\n return parent.object === node;\n case \"JSXMemberExpression\":\n return parent.object === node;\n case \"VariableDeclarator\":\n return parent.init === node;\n case \"ArrowFunctionExpression\":\n return parent.body === node;\n case \"PrivateName\":\n return false;\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"ObjectMethod\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return false;\n case \"ObjectProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return !grandparent || grandparent.type !== \"ObjectPattern\";\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n case \"ClassPrivateProperty\":\n return parent.key !== node;\n case \"ClassDeclaration\":\n case \"ClassExpression\":\n return parent.superClass === node;\n case \"AssignmentExpression\":\n return parent.right === node;\n case \"AssignmentPattern\":\n return parent.right === node;\n case \"LabeledStatement\":\n return false;\n case \"CatchClause\":\n return false;\n case \"RestElement\":\n return false;\n case \"BreakStatement\":\n case \"ContinueStatement\":\n return false;\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n return false;\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n return false;\n case \"ExportSpecifier\":\n if (grandparent != null && grandparent.source) {\n return false;\n }\n return parent.local === node;\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n return false;\n case \"ImportAttribute\":\n return false;\n case \"JSXAttribute\":\n return false;\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n return false;\n case \"MetaProperty\":\n return false;\n case \"ObjectTypeProperty\":\n return parent.key !== node;\n case \"TSEnumMember\":\n return parent.id !== node;\n case \"TSPropertySignature\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n }\n return true;\n}\n\n//# sourceMappingURL=isReferenced.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isReferenced.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isScope.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isScope.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isScope;\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction isScope(node, parent) {\n if ((0, _index.isBlockStatement)(node) && ((0, _index.isFunction)(parent) || (0, _index.isCatchClause)(parent))) {\n return false;\n }\n if ((0, _index.isPattern)(node) && ((0, _index.isFunction)(parent) || (0, _index.isCatchClause)(parent))) {\n return true;\n }\n return (0, _index.isScopable)(node);\n}\n\n//# sourceMappingURL=isScope.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isScope.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isSpecifierDefault.js": +/*!************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isSpecifierDefault.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isSpecifierDefault;\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction isSpecifierDefault(specifier) {\n return (0, _index.isImportDefaultSpecifier)(specifier) || (0, _index.isIdentifier)(specifier.imported || specifier.exported, {\n name: \"default\"\n });\n}\n\n//# sourceMappingURL=isSpecifierDefault.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isSpecifierDefault.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isType.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isType.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isType;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction isType(nodeType, targetType) {\n if (nodeType === targetType) return true;\n if (nodeType == null) return false;\n if (_index.ALIAS_KEYS[targetType]) return false;\n const aliases = _index.FLIPPED_ALIAS_KEYS[targetType];\n if (aliases) {\n if (aliases[0] === nodeType) return true;\n for (const alias of aliases) {\n if (nodeType === alias) return true;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=isType.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isType.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isValidES3Identifier.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isValidES3Identifier.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isValidES3Identifier;\nvar _isValidIdentifier = __webpack_require__(/*! ./isValidIdentifier.js */ \"./node_modules/@babel/types/lib/validators/isValidIdentifier.js\");\nconst RESERVED_WORDS_ES3_ONLY = new Set([\"abstract\", \"boolean\", \"byte\", \"char\", \"double\", \"enum\", \"final\", \"float\", \"goto\", \"implements\", \"int\", \"interface\", \"long\", \"native\", \"package\", \"private\", \"protected\", \"public\", \"short\", \"static\", \"synchronized\", \"throws\", \"transient\", \"volatile\"]);\nfunction isValidES3Identifier(name) {\n return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name);\n}\n\n//# sourceMappingURL=isValidES3Identifier.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isValidES3Identifier.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isValidIdentifier.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isValidIdentifier.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isValidIdentifier;\nvar _helperValidatorIdentifier = __webpack_require__(/*! @babel/helper-validator-identifier */ \"./node_modules/@babel/helper-validator-identifier/lib/index.js\");\nfunction isValidIdentifier(name, reserved = true) {\n if (typeof name !== \"string\") return false;\n if (reserved) {\n if ((0, _helperValidatorIdentifier.isKeyword)(name) || (0, _helperValidatorIdentifier.isStrictReservedWord)(name, true)) {\n return false;\n }\n }\n return (0, _helperValidatorIdentifier.isIdentifierName)(name);\n}\n\n//# sourceMappingURL=isValidIdentifier.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isValidIdentifier.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/isVar.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/isVar.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isVar;\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nvar _index2 = __webpack_require__(/*! ../constants/index.js */ \"./node_modules/@babel/types/lib/constants/index.js\");\nfunction isVar(node) {\n return (0, _index.isVariableDeclaration)(node, {\n kind: \"var\"\n }) && !node[_index2.BLOCK_SCOPED_SYMBOL];\n}\n\n//# sourceMappingURL=isVar.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/isVar.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/matchesPattern.js": +/*!********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/matchesPattern.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = matchesPattern;\nvar _index = __webpack_require__(/*! ./generated/index.js */ \"./node_modules/@babel/types/lib/validators/generated/index.js\");\nfunction matchesPattern(member, match, allowPartial) {\n if (!(0, _index.isMemberExpression)(member)) return false;\n const parts = Array.isArray(match) ? match : match.split(\".\");\n const nodes = [];\n let node;\n for (node = member; (0, _index.isMemberExpression)(node); node = node.object) {\n nodes.push(node.property);\n }\n nodes.push(node);\n if (nodes.length < parts.length) return false;\n if (!allowPartial && nodes.length > parts.length) return false;\n for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {\n const node = nodes[j];\n let value;\n if ((0, _index.isIdentifier)(node)) {\n value = node.name;\n } else if ((0, _index.isStringLiteral)(node)) {\n value = node.value;\n } else if ((0, _index.isThisExpression)(node)) {\n value = \"this\";\n } else {\n return false;\n }\n if (parts[i] !== value) return false;\n }\n return true;\n}\n\n//# sourceMappingURL=matchesPattern.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/matchesPattern.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/react/isCompatTag.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/react/isCompatTag.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = isCompatTag;\nfunction isCompatTag(tagName) {\n return !!tagName && /^[a-z]/.test(tagName);\n}\n\n//# sourceMappingURL=isCompatTag.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/react/isCompatTag.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/react/isReactComponent.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/react/isReactComponent.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _buildMatchMemberExpression = __webpack_require__(/*! ../buildMatchMemberExpression.js */ \"./node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js\");\nconst isReactComponent = (0, _buildMatchMemberExpression.default)(\"React.Component\");\nvar _default = exports[\"default\"] = isReactComponent;\n\n//# sourceMappingURL=isReactComponent.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/react/isReactComponent.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/types/lib/validators/validate.js": +/*!**************************************************************!*\ + !*** ./node_modules/@babel/types/lib/validators/validate.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = validate;\nexports.validateChild = validateChild;\nexports.validateField = validateField;\nexports.validateInternal = validateInternal;\nvar _index = __webpack_require__(/*! ../definitions/index.js */ \"./node_modules/@babel/types/lib/definitions/index.js\");\nfunction validate(node, key, val) {\n if (!node) return;\n const fields = _index.NODE_FIELDS[node.type];\n if (!fields) return;\n const field = fields[key];\n validateField(node, key, val, field);\n validateChild(node, key, val);\n}\nfunction validateInternal(field, node, key, val, maybeNode) {\n if (!(field != null && field.validate)) return;\n if (field.optional && val == null) return;\n field.validate(node, key, val);\n if (maybeNode) {\n var _NODE_PARENT_VALIDATI;\n const type = val.type;\n if (type == null) return;\n (_NODE_PARENT_VALIDATI = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI.call(_index.NODE_PARENT_VALIDATIONS, node, key, val);\n }\n}\nfunction validateField(node, key, val, field) {\n if (!(field != null && field.validate)) return;\n if (field.optional && val == null) return;\n field.validate(node, key, val);\n}\nfunction validateChild(node, key, val) {\n var _NODE_PARENT_VALIDATI2;\n const type = val == null ? void 0 : val.type;\n if (type == null) return;\n (_NODE_PARENT_VALIDATI2 = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI2.call(_index.NODE_PARENT_VALIDATIONS, node, key, val);\n}\n\n//# sourceMappingURL=validate.js.map\n\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/types/lib/validators/validate.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/compat-data/data/native-modules.json": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/compat-data/data/native-modules.json ***! + \******************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"es6.module\":{\"chrome\":\"61\",\"and_chr\":\"61\",\"edge\":\"16\",\"firefox\":\"60\",\"and_ff\":\"60\",\"node\":\"13.2.0\",\"opera\":\"48\",\"op_mob\":\"45\",\"safari\":\"10.1\",\"ios\":\"10.3\",\"samsung\":\"8.2\",\"android\":\"61\",\"electron\":\"2.0\",\"ios_saf\":\"10.3\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/compat-data/data/native-modules.json?"); + +/***/ }), + +/***/ "./node_modules/@babel/compat-data/data/plugins.json": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/compat-data/data/plugins.json ***! + \***********************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"transform-duplicate-named-capturing-groups-regex\":{\"chrome\":\"126\",\"opera\":\"112\",\"edge\":\"126\",\"firefox\":\"129\",\"safari\":\"17.4\",\"node\":\"23\",\"ios\":\"17.4\",\"electron\":\"31.0\"},\"transform-regexp-modifiers\":{\"chrome\":\"125\",\"opera\":\"111\",\"edge\":\"125\",\"firefox\":\"132\",\"node\":\"23\",\"electron\":\"31.0\"},\"transform-unicode-sets-regex\":{\"chrome\":\"112\",\"opera\":\"98\",\"edge\":\"112\",\"firefox\":\"116\",\"safari\":\"17\",\"node\":\"20\",\"deno\":\"1.32\",\"ios\":\"17\",\"opera_mobile\":\"75\",\"electron\":\"24.0\"},\"bugfix/transform-v8-static-class-fields-redefine-readonly\":{\"chrome\":\"98\",\"opera\":\"84\",\"edge\":\"98\",\"firefox\":\"75\",\"safari\":\"15\",\"node\":\"12\",\"deno\":\"1.18\",\"ios\":\"15\",\"samsung\":\"11\",\"opera_mobile\":\"52\",\"electron\":\"17.0\"},\"bugfix/transform-firefox-class-in-computed-class-key\":{\"chrome\":\"74\",\"opera\":\"62\",\"edge\":\"79\",\"safari\":\"16\",\"node\":\"12\",\"deno\":\"1\",\"ios\":\"16\",\"samsung\":\"11\",\"opera_mobile\":\"53\",\"electron\":\"6.0\"},\"bugfix/transform-safari-class-field-initializer-scope\":{\"chrome\":\"74\",\"opera\":\"62\",\"edge\":\"79\",\"firefox\":\"69\",\"safari\":\"16\",\"node\":\"12\",\"deno\":\"1\",\"ios\":\"16\",\"samsung\":\"11\",\"opera_mobile\":\"53\",\"electron\":\"6.0\"},\"transform-class-static-block\":{\"chrome\":\"94\",\"opera\":\"80\",\"edge\":\"94\",\"firefox\":\"93\",\"safari\":\"16.4\",\"node\":\"16.11\",\"deno\":\"1.14\",\"ios\":\"16.4\",\"samsung\":\"17\",\"opera_mobile\":\"66\",\"electron\":\"15.0\"},\"proposal-class-static-block\":{\"chrome\":\"94\",\"opera\":\"80\",\"edge\":\"94\",\"firefox\":\"93\",\"safari\":\"16.4\",\"node\":\"16.11\",\"deno\":\"1.14\",\"ios\":\"16.4\",\"samsung\":\"17\",\"opera_mobile\":\"66\",\"electron\":\"15.0\"},\"transform-private-property-in-object\":{\"chrome\":\"91\",\"opera\":\"77\",\"edge\":\"91\",\"firefox\":\"90\",\"safari\":\"15\",\"node\":\"16.9\",\"deno\":\"1.9\",\"ios\":\"15\",\"samsung\":\"16\",\"opera_mobile\":\"64\",\"electron\":\"13.0\"},\"proposal-private-property-in-object\":{\"chrome\":\"91\",\"opera\":\"77\",\"edge\":\"91\",\"firefox\":\"90\",\"safari\":\"15\",\"node\":\"16.9\",\"deno\":\"1.9\",\"ios\":\"15\",\"samsung\":\"16\",\"opera_mobile\":\"64\",\"electron\":\"13.0\"},\"transform-class-properties\":{\"chrome\":\"74\",\"opera\":\"62\",\"edge\":\"79\",\"firefox\":\"90\",\"safari\":\"14.1\",\"node\":\"12\",\"deno\":\"1\",\"ios\":\"14.5\",\"samsung\":\"11\",\"opera_mobile\":\"53\",\"electron\":\"6.0\"},\"proposal-class-properties\":{\"chrome\":\"74\",\"opera\":\"62\",\"edge\":\"79\",\"firefox\":\"90\",\"safari\":\"14.1\",\"node\":\"12\",\"deno\":\"1\",\"ios\":\"14.5\",\"samsung\":\"11\",\"opera_mobile\":\"53\",\"electron\":\"6.0\"},\"transform-private-methods\":{\"chrome\":\"84\",\"opera\":\"70\",\"edge\":\"84\",\"firefox\":\"90\",\"safari\":\"15\",\"node\":\"14.6\",\"deno\":\"1\",\"ios\":\"15\",\"samsung\":\"14\",\"opera_mobile\":\"60\",\"electron\":\"10.0\"},\"proposal-private-methods\":{\"chrome\":\"84\",\"opera\":\"70\",\"edge\":\"84\",\"firefox\":\"90\",\"safari\":\"15\",\"node\":\"14.6\",\"deno\":\"1\",\"ios\":\"15\",\"samsung\":\"14\",\"opera_mobile\":\"60\",\"electron\":\"10.0\"},\"transform-numeric-separator\":{\"chrome\":\"75\",\"opera\":\"62\",\"edge\":\"79\",\"firefox\":\"70\",\"safari\":\"13\",\"node\":\"12.5\",\"deno\":\"1\",\"ios\":\"13\",\"samsung\":\"11\",\"rhino\":\"1.7.14\",\"opera_mobile\":\"54\",\"electron\":\"6.0\"},\"proposal-numeric-separator\":{\"chrome\":\"75\",\"opera\":\"62\",\"edge\":\"79\",\"firefox\":\"70\",\"safari\":\"13\",\"node\":\"12.5\",\"deno\":\"1\",\"ios\":\"13\",\"samsung\":\"11\",\"rhino\":\"1.7.14\",\"opera_mobile\":\"54\",\"electron\":\"6.0\"},\"transform-logical-assignment-operators\":{\"chrome\":\"85\",\"opera\":\"71\",\"edge\":\"85\",\"firefox\":\"79\",\"safari\":\"14\",\"node\":\"15\",\"deno\":\"1.2\",\"ios\":\"14\",\"samsung\":\"14\",\"opera_mobile\":\"60\",\"electron\":\"10.0\"},\"proposal-logical-assignment-operators\":{\"chrome\":\"85\",\"opera\":\"71\",\"edge\":\"85\",\"firefox\":\"79\",\"safari\":\"14\",\"node\":\"15\",\"deno\":\"1.2\",\"ios\":\"14\",\"samsung\":\"14\",\"opera_mobile\":\"60\",\"electron\":\"10.0\"},\"transform-nullish-coalescing-operator\":{\"chrome\":\"80\",\"opera\":\"67\",\"edge\":\"80\",\"firefox\":\"72\",\"safari\":\"13.1\",\"node\":\"14\",\"deno\":\"1\",\"ios\":\"13.4\",\"samsung\":\"13\",\"opera_mobile\":\"57\",\"electron\":\"8.0\"},\"proposal-nullish-coalescing-operator\":{\"chrome\":\"80\",\"opera\":\"67\",\"edge\":\"80\",\"firefox\":\"72\",\"safari\":\"13.1\",\"node\":\"14\",\"deno\":\"1\",\"ios\":\"13.4\",\"samsung\":\"13\",\"opera_mobile\":\"57\",\"electron\":\"8.0\"},\"transform-optional-chaining\":{\"chrome\":\"91\",\"opera\":\"77\",\"edge\":\"91\",\"firefox\":\"74\",\"safari\":\"13.1\",\"node\":\"16.9\",\"deno\":\"1.9\",\"ios\":\"13.4\",\"samsung\":\"16\",\"opera_mobile\":\"64\",\"electron\":\"13.0\"},\"proposal-optional-chaining\":{\"chrome\":\"91\",\"opera\":\"77\",\"edge\":\"91\",\"firefox\":\"74\",\"safari\":\"13.1\",\"node\":\"16.9\",\"deno\":\"1.9\",\"ios\":\"13.4\",\"samsung\":\"16\",\"opera_mobile\":\"64\",\"electron\":\"13.0\"},\"transform-json-strings\":{\"chrome\":\"66\",\"opera\":\"53\",\"edge\":\"79\",\"firefox\":\"62\",\"safari\":\"12\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"12\",\"samsung\":\"9\",\"rhino\":\"1.7.14\",\"opera_mobile\":\"47\",\"electron\":\"3.0\"},\"proposal-json-strings\":{\"chrome\":\"66\",\"opera\":\"53\",\"edge\":\"79\",\"firefox\":\"62\",\"safari\":\"12\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"12\",\"samsung\":\"9\",\"rhino\":\"1.7.14\",\"opera_mobile\":\"47\",\"electron\":\"3.0\"},\"transform-optional-catch-binding\":{\"chrome\":\"66\",\"opera\":\"53\",\"edge\":\"79\",\"firefox\":\"58\",\"safari\":\"11.1\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"9\",\"opera_mobile\":\"47\",\"electron\":\"3.0\"},\"proposal-optional-catch-binding\":{\"chrome\":\"66\",\"opera\":\"53\",\"edge\":\"79\",\"firefox\":\"58\",\"safari\":\"11.1\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"9\",\"opera_mobile\":\"47\",\"electron\":\"3.0\"},\"transform-parameters\":{\"chrome\":\"49\",\"opera\":\"36\",\"edge\":\"18\",\"firefox\":\"53\",\"safari\":\"16.3\",\"node\":\"6\",\"deno\":\"1\",\"ios\":\"16.3\",\"samsung\":\"5\",\"opera_mobile\":\"36\",\"electron\":\"0.37\"},\"transform-async-generator-functions\":{\"chrome\":\"63\",\"opera\":\"50\",\"edge\":\"79\",\"firefox\":\"57\",\"safari\":\"12\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"12\",\"samsung\":\"8\",\"opera_mobile\":\"46\",\"electron\":\"3.0\"},\"proposal-async-generator-functions\":{\"chrome\":\"63\",\"opera\":\"50\",\"edge\":\"79\",\"firefox\":\"57\",\"safari\":\"12\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"12\",\"samsung\":\"8\",\"opera_mobile\":\"46\",\"electron\":\"3.0\"},\"transform-object-rest-spread\":{\"chrome\":\"60\",\"opera\":\"47\",\"edge\":\"79\",\"firefox\":\"55\",\"safari\":\"11.1\",\"node\":\"8.3\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"8\",\"opera_mobile\":\"44\",\"electron\":\"2.0\"},\"proposal-object-rest-spread\":{\"chrome\":\"60\",\"opera\":\"47\",\"edge\":\"79\",\"firefox\":\"55\",\"safari\":\"11.1\",\"node\":\"8.3\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"8\",\"opera_mobile\":\"44\",\"electron\":\"2.0\"},\"transform-dotall-regex\":{\"chrome\":\"62\",\"opera\":\"49\",\"edge\":\"79\",\"firefox\":\"78\",\"safari\":\"11.1\",\"node\":\"8.10\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"8\",\"rhino\":\"1.7.15\",\"opera_mobile\":\"46\",\"electron\":\"3.0\"},\"transform-unicode-property-regex\":{\"chrome\":\"64\",\"opera\":\"51\",\"edge\":\"79\",\"firefox\":\"78\",\"safari\":\"11.1\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"9\",\"opera_mobile\":\"47\",\"electron\":\"3.0\"},\"proposal-unicode-property-regex\":{\"chrome\":\"64\",\"opera\":\"51\",\"edge\":\"79\",\"firefox\":\"78\",\"safari\":\"11.1\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"9\",\"opera_mobile\":\"47\",\"electron\":\"3.0\"},\"transform-named-capturing-groups-regex\":{\"chrome\":\"64\",\"opera\":\"51\",\"edge\":\"79\",\"firefox\":\"78\",\"safari\":\"11.1\",\"node\":\"10\",\"deno\":\"1\",\"ios\":\"11.3\",\"samsung\":\"9\",\"opera_mobile\":\"47\",\"electron\":\"3.0\"},\"transform-async-to-generator\":{\"chrome\":\"55\",\"opera\":\"42\",\"edge\":\"15\",\"firefox\":\"52\",\"safari\":\"11\",\"node\":\"7.6\",\"deno\":\"1\",\"ios\":\"11\",\"samsung\":\"6\",\"opera_mobile\":\"42\",\"electron\":\"1.6\"},\"transform-exponentiation-operator\":{\"chrome\":\"52\",\"opera\":\"39\",\"edge\":\"14\",\"firefox\":\"52\",\"safari\":\"10.1\",\"node\":\"7\",\"deno\":\"1\",\"ios\":\"10.3\",\"samsung\":\"6\",\"rhino\":\"1.7.14\",\"opera_mobile\":\"41\",\"electron\":\"1.3\"},\"transform-template-literals\":{\"chrome\":\"41\",\"opera\":\"28\",\"edge\":\"13\",\"firefox\":\"34\",\"safari\":\"13\",\"node\":\"4\",\"deno\":\"1\",\"ios\":\"13\",\"samsung\":\"3.4\",\"opera_mobile\":\"28\",\"electron\":\"0.21\"},\"transform-literals\":{\"chrome\":\"44\",\"opera\":\"31\",\"edge\":\"12\",\"firefox\":\"53\",\"safari\":\"9\",\"node\":\"4\",\"deno\":\"1\",\"ios\":\"9\",\"samsung\":\"4\",\"rhino\":\"1.7.15\",\"opera_mobile\":\"32\",\"electron\":\"0.30\"},\"transform-function-name\":{\"chrome\":\"51\",\"opera\":\"38\",\"edge\":\"79\",\"firefox\":\"53\",\"safari\":\"10\",\"node\":\"6.5\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"41\",\"electron\":\"1.2\"},\"transform-arrow-functions\":{\"chrome\":\"47\",\"opera\":\"34\",\"edge\":\"13\",\"firefox\":\"43\",\"safari\":\"10\",\"node\":\"6\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"rhino\":\"1.7.13\",\"opera_mobile\":\"34\",\"electron\":\"0.36\"},\"transform-block-scoped-functions\":{\"chrome\":\"41\",\"opera\":\"28\",\"edge\":\"12\",\"firefox\":\"46\",\"safari\":\"10\",\"node\":\"4\",\"deno\":\"1\",\"ie\":\"11\",\"ios\":\"10\",\"samsung\":\"3.4\",\"opera_mobile\":\"28\",\"electron\":\"0.21\"},\"transform-classes\":{\"chrome\":\"46\",\"opera\":\"33\",\"edge\":\"13\",\"firefox\":\"45\",\"safari\":\"10\",\"node\":\"5\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"33\",\"electron\":\"0.36\"},\"transform-object-super\":{\"chrome\":\"46\",\"opera\":\"33\",\"edge\":\"13\",\"firefox\":\"45\",\"safari\":\"10\",\"node\":\"5\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"33\",\"electron\":\"0.36\"},\"transform-shorthand-properties\":{\"chrome\":\"43\",\"opera\":\"30\",\"edge\":\"12\",\"firefox\":\"33\",\"safari\":\"9\",\"node\":\"4\",\"deno\":\"1\",\"ios\":\"9\",\"samsung\":\"4\",\"rhino\":\"1.7.14\",\"opera_mobile\":\"30\",\"electron\":\"0.27\"},\"transform-duplicate-keys\":{\"chrome\":\"42\",\"opera\":\"29\",\"edge\":\"12\",\"firefox\":\"34\",\"safari\":\"9\",\"node\":\"4\",\"deno\":\"1\",\"ios\":\"9\",\"samsung\":\"3.4\",\"opera_mobile\":\"29\",\"electron\":\"0.25\"},\"transform-computed-properties\":{\"chrome\":\"44\",\"opera\":\"31\",\"edge\":\"12\",\"firefox\":\"34\",\"safari\":\"7.1\",\"node\":\"4\",\"deno\":\"1\",\"ios\":\"8\",\"samsung\":\"4\",\"opera_mobile\":\"32\",\"electron\":\"0.30\"},\"transform-for-of\":{\"chrome\":\"51\",\"opera\":\"38\",\"edge\":\"15\",\"firefox\":\"53\",\"safari\":\"10\",\"node\":\"6.5\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"41\",\"electron\":\"1.2\"},\"transform-sticky-regex\":{\"chrome\":\"49\",\"opera\":\"36\",\"edge\":\"13\",\"firefox\":\"3\",\"safari\":\"10\",\"node\":\"6\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"rhino\":\"1.7.15\",\"opera_mobile\":\"36\",\"electron\":\"0.37\"},\"transform-unicode-escapes\":{\"chrome\":\"44\",\"opera\":\"31\",\"edge\":\"12\",\"firefox\":\"53\",\"safari\":\"9\",\"node\":\"4\",\"deno\":\"1\",\"ios\":\"9\",\"samsung\":\"4\",\"rhino\":\"1.7.15\",\"opera_mobile\":\"32\",\"electron\":\"0.30\"},\"transform-unicode-regex\":{\"chrome\":\"50\",\"opera\":\"37\",\"edge\":\"13\",\"firefox\":\"46\",\"safari\":\"12\",\"node\":\"6\",\"deno\":\"1\",\"ios\":\"12\",\"samsung\":\"5\",\"opera_mobile\":\"37\",\"electron\":\"1.1\"},\"transform-spread\":{\"chrome\":\"46\",\"opera\":\"33\",\"edge\":\"13\",\"firefox\":\"45\",\"safari\":\"10\",\"node\":\"5\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"33\",\"electron\":\"0.36\"},\"transform-destructuring\":{\"chrome\":\"51\",\"opera\":\"38\",\"edge\":\"15\",\"firefox\":\"53\",\"safari\":\"10\",\"node\":\"6.5\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"41\",\"electron\":\"1.2\"},\"transform-block-scoping\":{\"chrome\":\"50\",\"opera\":\"37\",\"edge\":\"14\",\"firefox\":\"53\",\"safari\":\"11\",\"node\":\"6\",\"deno\":\"1\",\"ios\":\"11\",\"samsung\":\"5\",\"opera_mobile\":\"37\",\"electron\":\"1.1\"},\"transform-typeof-symbol\":{\"chrome\":\"38\",\"opera\":\"25\",\"edge\":\"12\",\"firefox\":\"36\",\"safari\":\"9\",\"node\":\"0.12\",\"deno\":\"1\",\"ios\":\"9\",\"samsung\":\"3\",\"rhino\":\"1.7.13\",\"opera_mobile\":\"25\",\"electron\":\"0.20\"},\"transform-new-target\":{\"chrome\":\"46\",\"opera\":\"33\",\"edge\":\"14\",\"firefox\":\"41\",\"safari\":\"10\",\"node\":\"5\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"33\",\"electron\":\"0.36\"},\"transform-regenerator\":{\"chrome\":\"50\",\"opera\":\"37\",\"edge\":\"13\",\"firefox\":\"53\",\"safari\":\"10\",\"node\":\"6\",\"deno\":\"1\",\"ios\":\"10\",\"samsung\":\"5\",\"opera_mobile\":\"37\",\"electron\":\"1.1\"},\"transform-member-expression-literals\":{\"chrome\":\"7\",\"opera\":\"12\",\"edge\":\"12\",\"firefox\":\"2\",\"safari\":\"5.1\",\"node\":\"0.4\",\"deno\":\"1\",\"ie\":\"9\",\"android\":\"4\",\"ios\":\"6\",\"phantom\":\"1.9\",\"samsung\":\"1\",\"rhino\":\"1.7.13\",\"opera_mobile\":\"12\",\"electron\":\"0.20\"},\"transform-property-literals\":{\"chrome\":\"7\",\"opera\":\"12\",\"edge\":\"12\",\"firefox\":\"2\",\"safari\":\"5.1\",\"node\":\"0.4\",\"deno\":\"1\",\"ie\":\"9\",\"android\":\"4\",\"ios\":\"6\",\"phantom\":\"1.9\",\"samsung\":\"1\",\"rhino\":\"1.7.13\",\"opera_mobile\":\"12\",\"electron\":\"0.20\"},\"transform-reserved-words\":{\"chrome\":\"13\",\"opera\":\"10.50\",\"edge\":\"12\",\"firefox\":\"2\",\"safari\":\"3.1\",\"node\":\"0.6\",\"deno\":\"1\",\"ie\":\"9\",\"android\":\"4.4\",\"ios\":\"6\",\"phantom\":\"1.9\",\"samsung\":\"1\",\"rhino\":\"1.7.13\",\"opera_mobile\":\"10.1\",\"electron\":\"0.20\"},\"transform-export-namespace-from\":{\"chrome\":\"72\",\"deno\":\"1.0\",\"edge\":\"79\",\"firefox\":\"80\",\"node\":\"13.2\",\"opera\":\"60\",\"opera_mobile\":\"51\",\"safari\":\"14.1\",\"ios\":\"14.5\",\"samsung\":\"11.0\",\"android\":\"72\",\"electron\":\"5.0\"},\"proposal-export-namespace-from\":{\"chrome\":\"72\",\"deno\":\"1.0\",\"edge\":\"79\",\"firefox\":\"80\",\"node\":\"13.2\",\"opera\":\"60\",\"opera_mobile\":\"51\",\"safari\":\"14.1\",\"ios\":\"14.5\",\"samsung\":\"11.0\",\"android\":\"72\",\"electron\":\"5.0\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/@babel/compat-data/data/plugins.json?"); + +/***/ }), + +/***/ "./node_modules/browserify-aes/modes/list.json": +/*!*****************************************************!*\ + !*** ./node_modules/browserify-aes/modes/list.json ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"aes-128-ecb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-192-ecb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-256-ecb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-128-cbc\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-192-cbc\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-256-cbc\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes128\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes192\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes256\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-128-cfb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-192-cfb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-256-cfb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-128-cfb8\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-192-cfb8\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-256-cfb8\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-128-cfb1\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-192-cfb1\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-256-cfb1\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-128-ofb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-192-ofb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-256-ofb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-128-ctr\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-192-ctr\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-256-ctr\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-128-gcm\":{\"cipher\":\"AES\",\"key\":128,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-192-gcm\":{\"cipher\":\"AES\",\"key\":192,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-256-gcm\":{\"cipher\":\"AES\",\"key\":256,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-aes/modes/list.json?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/algorithms.json": +/*!**************************************************************!*\ + !*** ./node_modules/browserify-sign/browser/algorithms.json ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"sha224WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"sha256WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"sha384WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"sha512WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{\"sign\":\"rsa\",\"hash\":\"sha1\",\"id\":\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{\"sign\":\"ecdsa\",\"hash\":\"sha1\",\"id\":\"\"},\"sha256\":{\"sign\":\"ecdsa\",\"hash\":\"sha256\",\"id\":\"\"},\"sha224\":{\"sign\":\"ecdsa\",\"hash\":\"sha224\",\"id\":\"\"},\"sha384\":{\"sign\":\"ecdsa\",\"hash\":\"sha384\",\"id\":\"\"},\"sha512\":{\"sign\":\"ecdsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-SHA1\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-WITH-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-WITH-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-WITH-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-WITH-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-RIPEMD160\":{\"sign\":\"dsa\",\"hash\":\"rmd160\",\"id\":\"\"},\"ripemd160WithRSA\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"md5WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/browser/algorithms.json?"); + +/***/ }), + +/***/ "./node_modules/browserify-sign/browser/curves.json": +/*!**********************************************************!*\ + !*** ./node_modules/browserify-sign/browser/curves.json ***! + \**********************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/browserify-sign/browser/curves.json?"); + +/***/ }), + +/***/ "./node_modules/diffie-hellman/lib/primes.json": +/*!*****************************************************!*\ + !*** ./node_modules/diffie-hellman/lib/primes.json ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"modp1\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},\"modp2\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},\"modp5\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},\"modp14\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},\"modp15\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},\"modp16\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},\"modp17\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},\"modp18\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/diffie-hellman/lib/primes.json?"); + +/***/ }), + +/***/ "./node_modules/elliptic/package.json": +/*!********************************************!*\ + !*** ./node_modules/elliptic/package.json ***! + \********************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"name\":\"elliptic\",\"version\":\"6.6.1\",\"description\":\"EC cryptography\",\"main\":\"lib/elliptic.js\",\"files\":[\"lib\"],\"scripts\":{\"lint\":\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",\"unit\":\"istanbul test _mocha --reporter=spec test/index.js\",\"test\":\"npm run lint && npm run unit\",\"version\":\"grunt dist && git add dist/\"},\"repository\":{\"type\":\"git\",\"url\":\"git@github.com:indutny/elliptic\"},\"keywords\":[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],\"author\":\"Fedor Indutny \",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/indutny/elliptic/issues\"},\"homepage\":\"https://github.com/indutny/elliptic\",\"devDependencies\":{\"brfs\":\"^2.0.2\",\"coveralls\":\"^3.1.0\",\"eslint\":\"^7.6.0\",\"grunt\":\"^1.2.1\",\"grunt-browserify\":\"^5.3.0\",\"grunt-cli\":\"^1.3.2\",\"grunt-contrib-connect\":\"^3.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^5.0.0\",\"grunt-mocha-istanbul\":\"^5.0.2\",\"grunt-saucelabs\":\"^9.0.1\",\"istanbul\":\"^0.4.5\",\"mocha\":\"^8.0.1\"},\"dependencies\":{\"bn.js\":\"^4.11.9\",\"brorand\":\"^1.1.0\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.1\",\"inherits\":\"^2.0.4\",\"minimalistic-assert\":\"^1.0.1\",\"minimalistic-crypto-utils\":\"^1.0.1\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/elliptic/package.json?"); + +/***/ }), + +/***/ "./node_modules/globals/globals.json": +/*!*******************************************!*\ + !*** ./node_modules/globals/globals.json ***! + \*******************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"builtin\":{\"Array\":false,\"ArrayBuffer\":false,\"Atomics\":false,\"BigInt\":false,\"BigInt64Array\":false,\"BigUint64Array\":false,\"Boolean\":false,\"constructor\":false,\"DataView\":false,\"Date\":false,\"decodeURI\":false,\"decodeURIComponent\":false,\"encodeURI\":false,\"encodeURIComponent\":false,\"Error\":false,\"escape\":false,\"eval\":false,\"EvalError\":false,\"Float32Array\":false,\"Float64Array\":false,\"Function\":false,\"globalThis\":false,\"hasOwnProperty\":false,\"Infinity\":false,\"Int16Array\":false,\"Int32Array\":false,\"Int8Array\":false,\"isFinite\":false,\"isNaN\":false,\"isPrototypeOf\":false,\"JSON\":false,\"Map\":false,\"Math\":false,\"NaN\":false,\"Number\":false,\"Object\":false,\"parseFloat\":false,\"parseInt\":false,\"Promise\":false,\"propertyIsEnumerable\":false,\"Proxy\":false,\"RangeError\":false,\"ReferenceError\":false,\"Reflect\":false,\"RegExp\":false,\"Set\":false,\"SharedArrayBuffer\":false,\"String\":false,\"Symbol\":false,\"SyntaxError\":false,\"toLocaleString\":false,\"toString\":false,\"TypeError\":false,\"Uint16Array\":false,\"Uint32Array\":false,\"Uint8Array\":false,\"Uint8ClampedArray\":false,\"undefined\":false,\"unescape\":false,\"URIError\":false,\"valueOf\":false,\"WeakMap\":false,\"WeakSet\":false},\"es5\":{\"Array\":false,\"Boolean\":false,\"constructor\":false,\"Date\":false,\"decodeURI\":false,\"decodeURIComponent\":false,\"encodeURI\":false,\"encodeURIComponent\":false,\"Error\":false,\"escape\":false,\"eval\":false,\"EvalError\":false,\"Function\":false,\"hasOwnProperty\":false,\"Infinity\":false,\"isFinite\":false,\"isNaN\":false,\"isPrototypeOf\":false,\"JSON\":false,\"Math\":false,\"NaN\":false,\"Number\":false,\"Object\":false,\"parseFloat\":false,\"parseInt\":false,\"propertyIsEnumerable\":false,\"RangeError\":false,\"ReferenceError\":false,\"RegExp\":false,\"String\":false,\"SyntaxError\":false,\"toLocaleString\":false,\"toString\":false,\"TypeError\":false,\"undefined\":false,\"unescape\":false,\"URIError\":false,\"valueOf\":false},\"es2015\":{\"Array\":false,\"ArrayBuffer\":false,\"Boolean\":false,\"constructor\":false,\"DataView\":false,\"Date\":false,\"decodeURI\":false,\"decodeURIComponent\":false,\"encodeURI\":false,\"encodeURIComponent\":false,\"Error\":false,\"escape\":false,\"eval\":false,\"EvalError\":false,\"Float32Array\":false,\"Float64Array\":false,\"Function\":false,\"hasOwnProperty\":false,\"Infinity\":false,\"Int16Array\":false,\"Int32Array\":false,\"Int8Array\":false,\"isFinite\":false,\"isNaN\":false,\"isPrototypeOf\":false,\"JSON\":false,\"Map\":false,\"Math\":false,\"NaN\":false,\"Number\":false,\"Object\":false,\"parseFloat\":false,\"parseInt\":false,\"Promise\":false,\"propertyIsEnumerable\":false,\"Proxy\":false,\"RangeError\":false,\"ReferenceError\":false,\"Reflect\":false,\"RegExp\":false,\"Set\":false,\"String\":false,\"Symbol\":false,\"SyntaxError\":false,\"toLocaleString\":false,\"toString\":false,\"TypeError\":false,\"Uint16Array\":false,\"Uint32Array\":false,\"Uint8Array\":false,\"Uint8ClampedArray\":false,\"undefined\":false,\"unescape\":false,\"URIError\":false,\"valueOf\":false,\"WeakMap\":false,\"WeakSet\":false},\"es2017\":{\"Array\":false,\"ArrayBuffer\":false,\"Atomics\":false,\"Boolean\":false,\"constructor\":false,\"DataView\":false,\"Date\":false,\"decodeURI\":false,\"decodeURIComponent\":false,\"encodeURI\":false,\"encodeURIComponent\":false,\"Error\":false,\"escape\":false,\"eval\":false,\"EvalError\":false,\"Float32Array\":false,\"Float64Array\":false,\"Function\":false,\"hasOwnProperty\":false,\"Infinity\":false,\"Int16Array\":false,\"Int32Array\":false,\"Int8Array\":false,\"isFinite\":false,\"isNaN\":false,\"isPrototypeOf\":false,\"JSON\":false,\"Map\":false,\"Math\":false,\"NaN\":false,\"Number\":false,\"Object\":false,\"parseFloat\":false,\"parseInt\":false,\"Promise\":false,\"propertyIsEnumerable\":false,\"Proxy\":false,\"RangeError\":false,\"ReferenceError\":false,\"Reflect\":false,\"RegExp\":false,\"Set\":false,\"SharedArrayBuffer\":false,\"String\":false,\"Symbol\":false,\"SyntaxError\":false,\"toLocaleString\":false,\"toString\":false,\"TypeError\":false,\"Uint16Array\":false,\"Uint32Array\":false,\"Uint8Array\":false,\"Uint8ClampedArray\":false,\"undefined\":false,\"unescape\":false,\"URIError\":false,\"valueOf\":false,\"WeakMap\":false,\"WeakSet\":false},\"browser\":{\"AbortController\":false,\"AbortSignal\":false,\"addEventListener\":false,\"alert\":false,\"AnalyserNode\":false,\"Animation\":false,\"AnimationEffectReadOnly\":false,\"AnimationEffectTiming\":false,\"AnimationEffectTimingReadOnly\":false,\"AnimationEvent\":false,\"AnimationPlaybackEvent\":false,\"AnimationTimeline\":false,\"applicationCache\":false,\"ApplicationCache\":false,\"ApplicationCacheErrorEvent\":false,\"atob\":false,\"Attr\":false,\"Audio\":false,\"AudioBuffer\":false,\"AudioBufferSourceNode\":false,\"AudioContext\":false,\"AudioDestinationNode\":false,\"AudioListener\":false,\"AudioNode\":false,\"AudioParam\":false,\"AudioProcessingEvent\":false,\"AudioScheduledSourceNode\":false,\"AudioWorkletGlobalScope \":false,\"AudioWorkletNode\":false,\"AudioWorkletProcessor\":false,\"BarProp\":false,\"BaseAudioContext\":false,\"BatteryManager\":false,\"BeforeUnloadEvent\":false,\"BiquadFilterNode\":false,\"Blob\":false,\"BlobEvent\":false,\"blur\":false,\"BroadcastChannel\":false,\"btoa\":false,\"BudgetService\":false,\"ByteLengthQueuingStrategy\":false,\"Cache\":false,\"caches\":false,\"CacheStorage\":false,\"cancelAnimationFrame\":false,\"cancelIdleCallback\":false,\"CanvasCaptureMediaStreamTrack\":false,\"CanvasGradient\":false,\"CanvasPattern\":false,\"CanvasRenderingContext2D\":false,\"ChannelMergerNode\":false,\"ChannelSplitterNode\":false,\"CharacterData\":false,\"clearInterval\":false,\"clearTimeout\":false,\"clientInformation\":false,\"ClipboardEvent\":false,\"close\":false,\"closed\":false,\"CloseEvent\":false,\"Comment\":false,\"CompositionEvent\":false,\"confirm\":false,\"console\":false,\"ConstantSourceNode\":false,\"ConvolverNode\":false,\"CountQueuingStrategy\":false,\"createImageBitmap\":false,\"Credential\":false,\"CredentialsContainer\":false,\"crypto\":false,\"Crypto\":false,\"CryptoKey\":false,\"CSS\":false,\"CSSConditionRule\":false,\"CSSFontFaceRule\":false,\"CSSGroupingRule\":false,\"CSSImportRule\":false,\"CSSKeyframeRule\":false,\"CSSKeyframesRule\":false,\"CSSMediaRule\":false,\"CSSNamespaceRule\":false,\"CSSPageRule\":false,\"CSSRule\":false,\"CSSRuleList\":false,\"CSSStyleDeclaration\":false,\"CSSStyleRule\":false,\"CSSStyleSheet\":false,\"CSSSupportsRule\":false,\"CustomElementRegistry\":false,\"customElements\":false,\"CustomEvent\":false,\"DataTransfer\":false,\"DataTransferItem\":false,\"DataTransferItemList\":false,\"defaultstatus\":false,\"defaultStatus\":false,\"DelayNode\":false,\"DeviceMotionEvent\":false,\"DeviceOrientationEvent\":false,\"devicePixelRatio\":false,\"dispatchEvent\":false,\"document\":false,\"Document\":false,\"DocumentFragment\":false,\"DocumentType\":false,\"DOMError\":false,\"DOMException\":false,\"DOMImplementation\":false,\"DOMMatrix\":false,\"DOMMatrixReadOnly\":false,\"DOMParser\":false,\"DOMPoint\":false,\"DOMPointReadOnly\":false,\"DOMQuad\":false,\"DOMRect\":false,\"DOMRectReadOnly\":false,\"DOMStringList\":false,\"DOMStringMap\":false,\"DOMTokenList\":false,\"DragEvent\":false,\"DynamicsCompressorNode\":false,\"Element\":false,\"ErrorEvent\":false,\"event\":false,\"Event\":false,\"EventSource\":false,\"EventTarget\":false,\"external\":false,\"fetch\":false,\"File\":false,\"FileList\":false,\"FileReader\":false,\"find\":false,\"focus\":false,\"FocusEvent\":false,\"FontFace\":false,\"FontFaceSetLoadEvent\":false,\"FormData\":false,\"frameElement\":false,\"frames\":false,\"GainNode\":false,\"Gamepad\":false,\"GamepadButton\":false,\"GamepadEvent\":false,\"getComputedStyle\":false,\"getSelection\":false,\"HashChangeEvent\":false,\"Headers\":false,\"history\":false,\"History\":false,\"HTMLAllCollection\":false,\"HTMLAnchorElement\":false,\"HTMLAreaElement\":false,\"HTMLAudioElement\":false,\"HTMLBaseElement\":false,\"HTMLBodyElement\":false,\"HTMLBRElement\":false,\"HTMLButtonElement\":false,\"HTMLCanvasElement\":false,\"HTMLCollection\":false,\"HTMLContentElement\":false,\"HTMLDataElement\":false,\"HTMLDataListElement\":false,\"HTMLDetailsElement\":false,\"HTMLDialogElement\":false,\"HTMLDirectoryElement\":false,\"HTMLDivElement\":false,\"HTMLDListElement\":false,\"HTMLDocument\":false,\"HTMLElement\":false,\"HTMLEmbedElement\":false,\"HTMLFieldSetElement\":false,\"HTMLFontElement\":false,\"HTMLFormControlsCollection\":false,\"HTMLFormElement\":false,\"HTMLFrameElement\":false,\"HTMLFrameSetElement\":false,\"HTMLHeadElement\":false,\"HTMLHeadingElement\":false,\"HTMLHRElement\":false,\"HTMLHtmlElement\":false,\"HTMLIFrameElement\":false,\"HTMLImageElement\":false,\"HTMLInputElement\":false,\"HTMLLabelElement\":false,\"HTMLLegendElement\":false,\"HTMLLIElement\":false,\"HTMLLinkElement\":false,\"HTMLMapElement\":false,\"HTMLMarqueeElement\":false,\"HTMLMediaElement\":false,\"HTMLMenuElement\":false,\"HTMLMetaElement\":false,\"HTMLMeterElement\":false,\"HTMLModElement\":false,\"HTMLObjectElement\":false,\"HTMLOListElement\":false,\"HTMLOptGroupElement\":false,\"HTMLOptionElement\":false,\"HTMLOptionsCollection\":false,\"HTMLOutputElement\":false,\"HTMLParagraphElement\":false,\"HTMLParamElement\":false,\"HTMLPictureElement\":false,\"HTMLPreElement\":false,\"HTMLProgressElement\":false,\"HTMLQuoteElement\":false,\"HTMLScriptElement\":false,\"HTMLSelectElement\":false,\"HTMLShadowElement\":false,\"HTMLSlotElement\":false,\"HTMLSourceElement\":false,\"HTMLSpanElement\":false,\"HTMLStyleElement\":false,\"HTMLTableCaptionElement\":false,\"HTMLTableCellElement\":false,\"HTMLTableColElement\":false,\"HTMLTableElement\":false,\"HTMLTableRowElement\":false,\"HTMLTableSectionElement\":false,\"HTMLTemplateElement\":false,\"HTMLTextAreaElement\":false,\"HTMLTimeElement\":false,\"HTMLTitleElement\":false,\"HTMLTrackElement\":false,\"HTMLUListElement\":false,\"HTMLUnknownElement\":false,\"HTMLVideoElement\":false,\"IDBCursor\":false,\"IDBCursorWithValue\":false,\"IDBDatabase\":false,\"IDBFactory\":false,\"IDBIndex\":false,\"IDBKeyRange\":false,\"IDBObjectStore\":false,\"IDBOpenDBRequest\":false,\"IDBRequest\":false,\"IDBTransaction\":false,\"IDBVersionChangeEvent\":false,\"IdleDeadline\":false,\"IIRFilterNode\":false,\"Image\":false,\"ImageBitmap\":false,\"ImageBitmapRenderingContext\":false,\"ImageCapture\":false,\"ImageData\":false,\"indexedDB\":false,\"innerHeight\":false,\"innerWidth\":false,\"InputEvent\":false,\"IntersectionObserver\":false,\"IntersectionObserverEntry\":false,\"Intl\":false,\"isSecureContext\":false,\"KeyboardEvent\":false,\"KeyframeEffect\":false,\"KeyframeEffectReadOnly\":false,\"length\":false,\"localStorage\":false,\"location\":true,\"Location\":false,\"locationbar\":false,\"matchMedia\":false,\"MediaDeviceInfo\":false,\"MediaDevices\":false,\"MediaElementAudioSourceNode\":false,\"MediaEncryptedEvent\":false,\"MediaError\":false,\"MediaKeyMessageEvent\":false,\"MediaKeySession\":false,\"MediaKeyStatusMap\":false,\"MediaKeySystemAccess\":false,\"MediaList\":false,\"MediaQueryList\":false,\"MediaQueryListEvent\":false,\"MediaRecorder\":false,\"MediaSettingsRange\":false,\"MediaSource\":false,\"MediaStream\":false,\"MediaStreamAudioDestinationNode\":false,\"MediaStreamAudioSourceNode\":false,\"MediaStreamEvent\":false,\"MediaStreamTrack\":false,\"MediaStreamTrackEvent\":false,\"menubar\":false,\"MessageChannel\":false,\"MessageEvent\":false,\"MessagePort\":false,\"MIDIAccess\":false,\"MIDIConnectionEvent\":false,\"MIDIInput\":false,\"MIDIInputMap\":false,\"MIDIMessageEvent\":false,\"MIDIOutput\":false,\"MIDIOutputMap\":false,\"MIDIPort\":false,\"MimeType\":false,\"MimeTypeArray\":false,\"MouseEvent\":false,\"moveBy\":false,\"moveTo\":false,\"MutationEvent\":false,\"MutationObserver\":false,\"MutationRecord\":false,\"name\":false,\"NamedNodeMap\":false,\"NavigationPreloadManager\":false,\"navigator\":false,\"Navigator\":false,\"NetworkInformation\":false,\"Node\":false,\"NodeFilter\":false,\"NodeIterator\":false,\"NodeList\":false,\"Notification\":false,\"OfflineAudioCompletionEvent\":false,\"OfflineAudioContext\":false,\"offscreenBuffering\":false,\"OffscreenCanvas\":true,\"onabort\":true,\"onafterprint\":true,\"onanimationend\":true,\"onanimationiteration\":true,\"onanimationstart\":true,\"onappinstalled\":true,\"onauxclick\":true,\"onbeforeinstallprompt\":true,\"onbeforeprint\":true,\"onbeforeunload\":true,\"onblur\":true,\"oncancel\":true,\"oncanplay\":true,\"oncanplaythrough\":true,\"onchange\":true,\"onclick\":true,\"onclose\":true,\"oncontextmenu\":true,\"oncuechange\":true,\"ondblclick\":true,\"ondevicemotion\":true,\"ondeviceorientation\":true,\"ondeviceorientationabsolute\":true,\"ondrag\":true,\"ondragend\":true,\"ondragenter\":true,\"ondragleave\":true,\"ondragover\":true,\"ondragstart\":true,\"ondrop\":true,\"ondurationchange\":true,\"onemptied\":true,\"onended\":true,\"onerror\":true,\"onfocus\":true,\"ongotpointercapture\":true,\"onhashchange\":true,\"oninput\":true,\"oninvalid\":true,\"onkeydown\":true,\"onkeypress\":true,\"onkeyup\":true,\"onlanguagechange\":true,\"onload\":true,\"onloadeddata\":true,\"onloadedmetadata\":true,\"onloadstart\":true,\"onlostpointercapture\":true,\"onmessage\":true,\"onmessageerror\":true,\"onmousedown\":true,\"onmouseenter\":true,\"onmouseleave\":true,\"onmousemove\":true,\"onmouseout\":true,\"onmouseover\":true,\"onmouseup\":true,\"onmousewheel\":true,\"onoffline\":true,\"ononline\":true,\"onpagehide\":true,\"onpageshow\":true,\"onpause\":true,\"onplay\":true,\"onplaying\":true,\"onpointercancel\":true,\"onpointerdown\":true,\"onpointerenter\":true,\"onpointerleave\":true,\"onpointermove\":true,\"onpointerout\":true,\"onpointerover\":true,\"onpointerup\":true,\"onpopstate\":true,\"onprogress\":true,\"onratechange\":true,\"onrejectionhandled\":true,\"onreset\":true,\"onresize\":true,\"onscroll\":true,\"onsearch\":true,\"onseeked\":true,\"onseeking\":true,\"onselect\":true,\"onstalled\":true,\"onstorage\":true,\"onsubmit\":true,\"onsuspend\":true,\"ontimeupdate\":true,\"ontoggle\":true,\"ontransitionend\":true,\"onunhandledrejection\":true,\"onunload\":true,\"onvolumechange\":true,\"onwaiting\":true,\"onwheel\":true,\"open\":false,\"openDatabase\":false,\"opener\":false,\"Option\":false,\"origin\":false,\"OscillatorNode\":false,\"outerHeight\":false,\"outerWidth\":false,\"PageTransitionEvent\":false,\"pageXOffset\":false,\"pageYOffset\":false,\"PannerNode\":false,\"parent\":false,\"Path2D\":false,\"PaymentAddress\":false,\"PaymentRequest\":false,\"PaymentRequestUpdateEvent\":false,\"PaymentResponse\":false,\"performance\":false,\"Performance\":false,\"PerformanceEntry\":false,\"PerformanceLongTaskTiming\":false,\"PerformanceMark\":false,\"PerformanceMeasure\":false,\"PerformanceNavigation\":false,\"PerformanceNavigationTiming\":false,\"PerformanceObserver\":false,\"PerformanceObserverEntryList\":false,\"PerformancePaintTiming\":false,\"PerformanceResourceTiming\":false,\"PerformanceTiming\":false,\"PeriodicWave\":false,\"Permissions\":false,\"PermissionStatus\":false,\"personalbar\":false,\"PhotoCapabilities\":false,\"Plugin\":false,\"PluginArray\":false,\"PointerEvent\":false,\"PopStateEvent\":false,\"postMessage\":false,\"Presentation\":false,\"PresentationAvailability\":false,\"PresentationConnection\":false,\"PresentationConnectionAvailableEvent\":false,\"PresentationConnectionCloseEvent\":false,\"PresentationConnectionList\":false,\"PresentationReceiver\":false,\"PresentationRequest\":false,\"print\":false,\"ProcessingInstruction\":false,\"ProgressEvent\":false,\"PromiseRejectionEvent\":false,\"prompt\":false,\"PushManager\":false,\"PushSubscription\":false,\"PushSubscriptionOptions\":false,\"queueMicrotask\":false,\"RadioNodeList\":false,\"Range\":false,\"ReadableStream\":false,\"registerProcessor\":false,\"RemotePlayback\":false,\"removeEventListener\":false,\"Request\":false,\"requestAnimationFrame\":false,\"requestIdleCallback\":false,\"resizeBy\":false,\"ResizeObserver\":false,\"ResizeObserverEntry\":false,\"resizeTo\":false,\"Response\":false,\"RTCCertificate\":false,\"RTCDataChannel\":false,\"RTCDataChannelEvent\":false,\"RTCDtlsTransport\":false,\"RTCIceCandidate\":false,\"RTCIceGatherer\":false,\"RTCIceTransport\":false,\"RTCPeerConnection\":false,\"RTCPeerConnectionIceEvent\":false,\"RTCRtpContributingSource\":false,\"RTCRtpReceiver\":false,\"RTCRtpSender\":false,\"RTCSctpTransport\":false,\"RTCSessionDescription\":false,\"RTCStatsReport\":false,\"RTCTrackEvent\":false,\"screen\":false,\"Screen\":false,\"screenLeft\":false,\"ScreenOrientation\":false,\"screenTop\":false,\"screenX\":false,\"screenY\":false,\"ScriptProcessorNode\":false,\"scroll\":false,\"scrollbars\":false,\"scrollBy\":false,\"scrollTo\":false,\"scrollX\":false,\"scrollY\":false,\"SecurityPolicyViolationEvent\":false,\"Selection\":false,\"self\":false,\"ServiceWorker\":false,\"ServiceWorkerContainer\":false,\"ServiceWorkerRegistration\":false,\"sessionStorage\":false,\"setInterval\":false,\"setTimeout\":false,\"ShadowRoot\":false,\"SharedWorker\":false,\"SourceBuffer\":false,\"SourceBufferList\":false,\"speechSynthesis\":false,\"SpeechSynthesisEvent\":false,\"SpeechSynthesisUtterance\":false,\"StaticRange\":false,\"status\":false,\"statusbar\":false,\"StereoPannerNode\":false,\"stop\":false,\"Storage\":false,\"StorageEvent\":false,\"StorageManager\":false,\"styleMedia\":false,\"StyleSheet\":false,\"StyleSheetList\":false,\"SubtleCrypto\":false,\"SVGAElement\":false,\"SVGAngle\":false,\"SVGAnimatedAngle\":false,\"SVGAnimatedBoolean\":false,\"SVGAnimatedEnumeration\":false,\"SVGAnimatedInteger\":false,\"SVGAnimatedLength\":false,\"SVGAnimatedLengthList\":false,\"SVGAnimatedNumber\":false,\"SVGAnimatedNumberList\":false,\"SVGAnimatedPreserveAspectRatio\":false,\"SVGAnimatedRect\":false,\"SVGAnimatedString\":false,\"SVGAnimatedTransformList\":false,\"SVGAnimateElement\":false,\"SVGAnimateMotionElement\":false,\"SVGAnimateTransformElement\":false,\"SVGAnimationElement\":false,\"SVGCircleElement\":false,\"SVGClipPathElement\":false,\"SVGComponentTransferFunctionElement\":false,\"SVGDefsElement\":false,\"SVGDescElement\":false,\"SVGDiscardElement\":false,\"SVGElement\":false,\"SVGEllipseElement\":false,\"SVGFEBlendElement\":false,\"SVGFEColorMatrixElement\":false,\"SVGFEComponentTransferElement\":false,\"SVGFECompositeElement\":false,\"SVGFEConvolveMatrixElement\":false,\"SVGFEDiffuseLightingElement\":false,\"SVGFEDisplacementMapElement\":false,\"SVGFEDistantLightElement\":false,\"SVGFEDropShadowElement\":false,\"SVGFEFloodElement\":false,\"SVGFEFuncAElement\":false,\"SVGFEFuncBElement\":false,\"SVGFEFuncGElement\":false,\"SVGFEFuncRElement\":false,\"SVGFEGaussianBlurElement\":false,\"SVGFEImageElement\":false,\"SVGFEMergeElement\":false,\"SVGFEMergeNodeElement\":false,\"SVGFEMorphologyElement\":false,\"SVGFEOffsetElement\":false,\"SVGFEPointLightElement\":false,\"SVGFESpecularLightingElement\":false,\"SVGFESpotLightElement\":false,\"SVGFETileElement\":false,\"SVGFETurbulenceElement\":false,\"SVGFilterElement\":false,\"SVGForeignObjectElement\":false,\"SVGGElement\":false,\"SVGGeometryElement\":false,\"SVGGradientElement\":false,\"SVGGraphicsElement\":false,\"SVGImageElement\":false,\"SVGLength\":false,\"SVGLengthList\":false,\"SVGLinearGradientElement\":false,\"SVGLineElement\":false,\"SVGMarkerElement\":false,\"SVGMaskElement\":false,\"SVGMatrix\":false,\"SVGMetadataElement\":false,\"SVGMPathElement\":false,\"SVGNumber\":false,\"SVGNumberList\":false,\"SVGPathElement\":false,\"SVGPatternElement\":false,\"SVGPoint\":false,\"SVGPointList\":false,\"SVGPolygonElement\":false,\"SVGPolylineElement\":false,\"SVGPreserveAspectRatio\":false,\"SVGRadialGradientElement\":false,\"SVGRect\":false,\"SVGRectElement\":false,\"SVGScriptElement\":false,\"SVGSetElement\":false,\"SVGStopElement\":false,\"SVGStringList\":false,\"SVGStyleElement\":false,\"SVGSVGElement\":false,\"SVGSwitchElement\":false,\"SVGSymbolElement\":false,\"SVGTextContentElement\":false,\"SVGTextElement\":false,\"SVGTextPathElement\":false,\"SVGTextPositioningElement\":false,\"SVGTitleElement\":false,\"SVGTransform\":false,\"SVGTransformList\":false,\"SVGTSpanElement\":false,\"SVGUnitTypes\":false,\"SVGUseElement\":false,\"SVGViewElement\":false,\"TaskAttributionTiming\":false,\"Text\":false,\"TextDecoder\":false,\"TextEncoder\":false,\"TextEvent\":false,\"TextMetrics\":false,\"TextTrack\":false,\"TextTrackCue\":false,\"TextTrackCueList\":false,\"TextTrackList\":false,\"TimeRanges\":false,\"toolbar\":false,\"top\":false,\"Touch\":false,\"TouchEvent\":false,\"TouchList\":false,\"TrackEvent\":false,\"TransitionEvent\":false,\"TreeWalker\":false,\"UIEvent\":false,\"URL\":false,\"URLSearchParams\":false,\"ValidityState\":false,\"visualViewport\":false,\"VisualViewport\":false,\"VTTCue\":false,\"WaveShaperNode\":false,\"WebAssembly\":false,\"WebGL2RenderingContext\":false,\"WebGLActiveInfo\":false,\"WebGLBuffer\":false,\"WebGLContextEvent\":false,\"WebGLFramebuffer\":false,\"WebGLProgram\":false,\"WebGLQuery\":false,\"WebGLRenderbuffer\":false,\"WebGLRenderingContext\":false,\"WebGLSampler\":false,\"WebGLShader\":false,\"WebGLShaderPrecisionFormat\":false,\"WebGLSync\":false,\"WebGLTexture\":false,\"WebGLTransformFeedback\":false,\"WebGLUniformLocation\":false,\"WebGLVertexArrayObject\":false,\"WebSocket\":false,\"WheelEvent\":false,\"window\":false,\"Window\":false,\"Worker\":false,\"WritableStream\":false,\"XMLDocument\":false,\"XMLHttpRequest\":false,\"XMLHttpRequestEventTarget\":false,\"XMLHttpRequestUpload\":false,\"XMLSerializer\":false,\"XPathEvaluator\":false,\"XPathExpression\":false,\"XPathResult\":false,\"XSLTProcessor\":false},\"worker\":{\"addEventListener\":false,\"applicationCache\":false,\"atob\":false,\"Blob\":false,\"BroadcastChannel\":false,\"btoa\":false,\"Cache\":false,\"caches\":false,\"clearInterval\":false,\"clearTimeout\":false,\"close\":true,\"console\":false,\"fetch\":false,\"FileReaderSync\":false,\"FormData\":false,\"Headers\":false,\"IDBCursor\":false,\"IDBCursorWithValue\":false,\"IDBDatabase\":false,\"IDBFactory\":false,\"IDBIndex\":false,\"IDBKeyRange\":false,\"IDBObjectStore\":false,\"IDBOpenDBRequest\":false,\"IDBRequest\":false,\"IDBTransaction\":false,\"IDBVersionChangeEvent\":false,\"ImageData\":false,\"importScripts\":true,\"indexedDB\":false,\"location\":false,\"MessageChannel\":false,\"MessagePort\":false,\"name\":false,\"navigator\":false,\"Notification\":false,\"onclose\":true,\"onconnect\":true,\"onerror\":true,\"onlanguagechange\":true,\"onmessage\":true,\"onoffline\":true,\"ononline\":true,\"onrejectionhandled\":true,\"onunhandledrejection\":true,\"performance\":false,\"Performance\":false,\"PerformanceEntry\":false,\"PerformanceMark\":false,\"PerformanceMeasure\":false,\"PerformanceNavigation\":false,\"PerformanceResourceTiming\":false,\"PerformanceTiming\":false,\"postMessage\":true,\"Promise\":false,\"queueMicrotask\":false,\"removeEventListener\":false,\"Request\":false,\"Response\":false,\"self\":true,\"ServiceWorkerRegistration\":false,\"setInterval\":false,\"setTimeout\":false,\"TextDecoder\":false,\"TextEncoder\":false,\"URL\":false,\"URLSearchParams\":false,\"WebSocket\":false,\"Worker\":false,\"WorkerGlobalScope\":false,\"XMLHttpRequest\":false},\"node\":{\"__dirname\":false,\"__filename\":false,\"Buffer\":false,\"clearImmediate\":false,\"clearInterval\":false,\"clearTimeout\":false,\"console\":false,\"exports\":true,\"global\":false,\"Intl\":false,\"module\":false,\"process\":false,\"queueMicrotask\":false,\"require\":false,\"setImmediate\":false,\"setInterval\":false,\"setTimeout\":false,\"TextDecoder\":false,\"TextEncoder\":false,\"URL\":false,\"URLSearchParams\":false},\"commonjs\":{\"exports\":true,\"global\":false,\"module\":false,\"require\":false},\"amd\":{\"define\":false,\"require\":false},\"mocha\":{\"after\":false,\"afterEach\":false,\"before\":false,\"beforeEach\":false,\"context\":false,\"describe\":false,\"it\":false,\"mocha\":false,\"run\":false,\"setup\":false,\"specify\":false,\"suite\":false,\"suiteSetup\":false,\"suiteTeardown\":false,\"teardown\":false,\"test\":false,\"xcontext\":false,\"xdescribe\":false,\"xit\":false,\"xspecify\":false},\"jasmine\":{\"afterAll\":false,\"afterEach\":false,\"beforeAll\":false,\"beforeEach\":false,\"describe\":false,\"expect\":false,\"fail\":false,\"fdescribe\":false,\"fit\":false,\"it\":false,\"jasmine\":false,\"pending\":false,\"runs\":false,\"spyOn\":false,\"spyOnProperty\":false,\"waits\":false,\"waitsFor\":false,\"xdescribe\":false,\"xit\":false},\"jest\":{\"afterAll\":false,\"afterEach\":false,\"beforeAll\":false,\"beforeEach\":false,\"describe\":false,\"expect\":false,\"fdescribe\":false,\"fit\":false,\"it\":false,\"jest\":false,\"pit\":false,\"require\":false,\"test\":false,\"xdescribe\":false,\"xit\":false,\"xtest\":false},\"qunit\":{\"asyncTest\":false,\"deepEqual\":false,\"equal\":false,\"expect\":false,\"module\":false,\"notDeepEqual\":false,\"notEqual\":false,\"notOk\":false,\"notPropEqual\":false,\"notStrictEqual\":false,\"ok\":false,\"propEqual\":false,\"QUnit\":false,\"raises\":false,\"start\":false,\"stop\":false,\"strictEqual\":false,\"test\":false,\"throws\":false},\"phantomjs\":{\"console\":true,\"exports\":true,\"phantom\":true,\"require\":true,\"WebPage\":true},\"couch\":{\"emit\":false,\"exports\":false,\"getRow\":false,\"log\":false,\"module\":false,\"provides\":false,\"require\":false,\"respond\":false,\"send\":false,\"start\":false,\"sum\":false},\"rhino\":{\"defineClass\":false,\"deserialize\":false,\"gc\":false,\"help\":false,\"importClass\":false,\"importPackage\":false,\"java\":false,\"load\":false,\"loadClass\":false,\"Packages\":false,\"print\":false,\"quit\":false,\"readFile\":false,\"readUrl\":false,\"runCommand\":false,\"seal\":false,\"serialize\":false,\"spawn\":false,\"sync\":false,\"toint32\":false,\"version\":false},\"nashorn\":{\"__DIR__\":false,\"__FILE__\":false,\"__LINE__\":false,\"com\":false,\"edu\":false,\"exit\":false,\"java\":false,\"Java\":false,\"javafx\":false,\"JavaImporter\":false,\"javax\":false,\"JSAdapter\":false,\"load\":false,\"loadWithNewGlobal\":false,\"org\":false,\"Packages\":false,\"print\":false,\"quit\":false},\"wsh\":{\"ActiveXObject\":true,\"Enumerator\":true,\"GetObject\":true,\"ScriptEngine\":true,\"ScriptEngineBuildVersion\":true,\"ScriptEngineMajorVersion\":true,\"ScriptEngineMinorVersion\":true,\"VBArray\":true,\"WScript\":true,\"WSH\":true,\"XDomainRequest\":true},\"jquery\":{\"$\":false,\"jQuery\":false},\"yui\":{\"YAHOO\":false,\"YAHOO_config\":false,\"YUI\":false,\"YUI_config\":false},\"shelljs\":{\"cat\":false,\"cd\":false,\"chmod\":false,\"config\":false,\"cp\":false,\"dirs\":false,\"echo\":false,\"env\":false,\"error\":false,\"exec\":false,\"exit\":false,\"find\":false,\"grep\":false,\"ln\":false,\"ls\":false,\"mkdir\":false,\"mv\":false,\"popd\":false,\"pushd\":false,\"pwd\":false,\"rm\":false,\"sed\":false,\"set\":false,\"target\":false,\"tempdir\":false,\"test\":false,\"touch\":false,\"which\":false},\"prototypejs\":{\"$\":false,\"$$\":false,\"$A\":false,\"$break\":false,\"$continue\":false,\"$F\":false,\"$H\":false,\"$R\":false,\"$w\":false,\"Abstract\":false,\"Ajax\":false,\"Autocompleter\":false,\"Builder\":false,\"Class\":false,\"Control\":false,\"Draggable\":false,\"Draggables\":false,\"Droppables\":false,\"Effect\":false,\"Element\":false,\"Enumerable\":false,\"Event\":false,\"Field\":false,\"Form\":false,\"Hash\":false,\"Insertion\":false,\"ObjectRange\":false,\"PeriodicalExecuter\":false,\"Position\":false,\"Prototype\":false,\"Scriptaculous\":false,\"Selector\":false,\"Sortable\":false,\"SortableObserver\":false,\"Sound\":false,\"Template\":false,\"Toggle\":false,\"Try\":false},\"meteor\":{\"_\":false,\"$\":false,\"Accounts\":false,\"AccountsClient\":false,\"AccountsCommon\":false,\"AccountsServer\":false,\"App\":false,\"Assets\":false,\"Blaze\":false,\"check\":false,\"Cordova\":false,\"DDP\":false,\"DDPRateLimiter\":false,\"DDPServer\":false,\"Deps\":false,\"EJSON\":false,\"Email\":false,\"HTTP\":false,\"Log\":false,\"Match\":false,\"Meteor\":false,\"Mongo\":false,\"MongoInternals\":false,\"Npm\":false,\"Package\":false,\"Plugin\":false,\"process\":false,\"Random\":false,\"ReactiveDict\":false,\"ReactiveVar\":false,\"Router\":false,\"ServiceConfiguration\":false,\"Session\":false,\"share\":false,\"Spacebars\":false,\"Template\":false,\"Tinytest\":false,\"Tracker\":false,\"UI\":false,\"Utils\":false,\"WebApp\":false,\"WebAppInternals\":false},\"mongo\":{\"_isWindows\":false,\"_rand\":false,\"BulkWriteResult\":false,\"cat\":false,\"cd\":false,\"connect\":false,\"db\":false,\"getHostName\":false,\"getMemInfo\":false,\"hostname\":false,\"ISODate\":false,\"listFiles\":false,\"load\":false,\"ls\":false,\"md5sumFile\":false,\"mkdir\":false,\"Mongo\":false,\"NumberInt\":false,\"NumberLong\":false,\"ObjectId\":false,\"PlanCache\":false,\"print\":false,\"printjson\":false,\"pwd\":false,\"quit\":false,\"removeFile\":false,\"rs\":false,\"sh\":false,\"UUID\":false,\"version\":false,\"WriteResult\":false},\"applescript\":{\"$\":false,\"Application\":false,\"Automation\":false,\"console\":false,\"delay\":false,\"Library\":false,\"ObjC\":false,\"ObjectSpecifier\":false,\"Path\":false,\"Progress\":false,\"Ref\":false},\"serviceworker\":{\"addEventListener\":false,\"applicationCache\":false,\"atob\":false,\"Blob\":false,\"BroadcastChannel\":false,\"btoa\":false,\"Cache\":false,\"caches\":false,\"CacheStorage\":false,\"clearInterval\":false,\"clearTimeout\":false,\"Client\":false,\"clients\":false,\"Clients\":false,\"close\":true,\"console\":false,\"ExtendableEvent\":false,\"ExtendableMessageEvent\":false,\"fetch\":false,\"FetchEvent\":false,\"FileReaderSync\":false,\"FormData\":false,\"Headers\":false,\"IDBCursor\":false,\"IDBCursorWithValue\":false,\"IDBDatabase\":false,\"IDBFactory\":false,\"IDBIndex\":false,\"IDBKeyRange\":false,\"IDBObjectStore\":false,\"IDBOpenDBRequest\":false,\"IDBRequest\":false,\"IDBTransaction\":false,\"IDBVersionChangeEvent\":false,\"ImageData\":false,\"importScripts\":false,\"indexedDB\":false,\"location\":false,\"MessageChannel\":false,\"MessagePort\":false,\"name\":false,\"navigator\":false,\"Notification\":false,\"onclose\":true,\"onconnect\":true,\"onerror\":true,\"onfetch\":true,\"oninstall\":true,\"onlanguagechange\":true,\"onmessage\":true,\"onmessageerror\":true,\"onnotificationclick\":true,\"onnotificationclose\":true,\"onoffline\":true,\"ononline\":true,\"onpush\":true,\"onpushsubscriptionchange\":true,\"onrejectionhandled\":true,\"onsync\":true,\"onunhandledrejection\":true,\"performance\":false,\"Performance\":false,\"PerformanceEntry\":false,\"PerformanceMark\":false,\"PerformanceMeasure\":false,\"PerformanceNavigation\":false,\"PerformanceResourceTiming\":false,\"PerformanceTiming\":false,\"postMessage\":true,\"Promise\":false,\"queueMicrotask\":false,\"registration\":false,\"removeEventListener\":false,\"Request\":false,\"Response\":false,\"self\":false,\"ServiceWorker\":false,\"ServiceWorkerContainer\":false,\"ServiceWorkerGlobalScope\":false,\"ServiceWorkerMessageEvent\":false,\"ServiceWorkerRegistration\":false,\"setInterval\":false,\"setTimeout\":false,\"skipWaiting\":false,\"TextDecoder\":false,\"TextEncoder\":false,\"URL\":false,\"URLSearchParams\":false,\"WebSocket\":false,\"WindowClient\":false,\"Worker\":false,\"WorkerGlobalScope\":false,\"XMLHttpRequest\":false},\"atomtest\":{\"advanceClock\":false,\"fakeClearInterval\":false,\"fakeClearTimeout\":false,\"fakeSetInterval\":false,\"fakeSetTimeout\":false,\"resetTimeouts\":false,\"waitsForPromise\":false},\"embertest\":{\"andThen\":false,\"click\":false,\"currentPath\":false,\"currentRouteName\":false,\"currentURL\":false,\"fillIn\":false,\"find\":false,\"findAll\":false,\"findWithAssert\":false,\"keyEvent\":false,\"pauseTest\":false,\"resumeTest\":false,\"triggerEvent\":false,\"visit\":false,\"wait\":false},\"protractor\":{\"$\":false,\"$$\":false,\"browser\":false,\"by\":false,\"By\":false,\"DartObject\":false,\"element\":false,\"protractor\":false},\"shared-node-browser\":{\"clearInterval\":false,\"clearTimeout\":false,\"console\":false,\"setInterval\":false,\"setTimeout\":false,\"URL\":false,\"URLSearchParams\":false},\"webextensions\":{\"browser\":false,\"chrome\":false,\"opr\":false},\"greasemonkey\":{\"cloneInto\":false,\"createObjectIn\":false,\"exportFunction\":false,\"GM\":false,\"GM_addStyle\":false,\"GM_deleteValue\":false,\"GM_getResourceText\":false,\"GM_getResourceURL\":false,\"GM_getValue\":false,\"GM_info\":false,\"GM_listValues\":false,\"GM_log\":false,\"GM_openInTab\":false,\"GM_registerMenuCommand\":false,\"GM_setClipboard\":false,\"GM_setValue\":false,\"GM_xmlhttpRequest\":false,\"unsafeWindow\":false},\"devtools\":{\"$\":false,\"$_\":false,\"$$\":false,\"$0\":false,\"$1\":false,\"$2\":false,\"$3\":false,\"$4\":false,\"$x\":false,\"chrome\":false,\"clear\":false,\"copy\":false,\"debug\":false,\"dir\":false,\"dirxml\":false,\"getEventListeners\":false,\"inspect\":false,\"keys\":false,\"monitor\":false,\"monitorEvents\":false,\"profile\":false,\"profileEnd\":false,\"queryObjects\":false,\"table\":false,\"undebug\":false,\"unmonitor\":false,\"unmonitorEvents\":false,\"values\":false}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/globals/globals.json?"); + +/***/ }), + +/***/ "./node_modules/istanbul-lib-instrument/package.json": +/*!***********************************************************!*\ + !*** ./node_modules/istanbul-lib-instrument/package.json ***! + \***********************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"name\":\"istanbul-lib-instrument\",\"version\":\"6.0.3\",\"description\":\"Core istanbul API for JS code coverage\",\"author\":\"Krishnan Anantheswaran \",\"main\":\"src/index.js\",\"files\":[\"src\"],\"scripts\":{\"test\":\"nyc mocha\"},\"dependencies\":{\"@babel/core\":\"^7.23.9\",\"@babel/parser\":\"^7.23.9\",\"@istanbuljs/schema\":\"^0.1.3\",\"istanbul-lib-coverage\":\"^3.2.0\",\"semver\":\"^7.5.4\"},\"devDependencies\":{\"@babel/cli\":\"^7.23.9\",\"chai\":\"^4.2.0\",\"clone\":\"^2.1.2\",\"debug\":\"^4.1.1\",\"documentation\":\"^12.1.4\",\"js-yaml\":\"^3.13.1\",\"mocha\":\"^6.2.3\",\"nopt\":\"^4.0.1\",\"nyc\":\"^15.1.0\"},\"license\":\"BSD-3-Clause\",\"bugs\":{\"url\":\"https://github.com/istanbuljs/istanbuljs/issues\"},\"homepage\":\"https://istanbul.js.org/\",\"repository\":{\"type\":\"git\",\"url\":\"git+ssh://git@github.com/istanbuljs/istanbuljs.git\",\"directory\":\"packages/istanbul-lib-instrument\"},\"keywords\":[\"coverage\",\"istanbul\",\"js\",\"instrumentation\"],\"engines\":{\"node\":\">=10\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/istanbul-lib-instrument/package.json?"); + +/***/ }), + +/***/ "./node_modules/node-releases/data/processed/envs.json": +/*!*************************************************************!*\ + !*** ./node_modules/node-releases/data/processed/envs.json ***! + \*************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('[{\"name\":\"nodejs\",\"version\":\"0.2.0\",\"date\":\"2011-08-26\",\"lts\":false,\"security\":false,\"v8\":\"2.3.8.0\"},{\"name\":\"nodejs\",\"version\":\"0.3.0\",\"date\":\"2011-08-26\",\"lts\":false,\"security\":false,\"v8\":\"2.5.1.0\"},{\"name\":\"nodejs\",\"version\":\"0.4.0\",\"date\":\"2011-08-26\",\"lts\":false,\"security\":false,\"v8\":\"3.1.2.0\"},{\"name\":\"nodejs\",\"version\":\"0.5.0\",\"date\":\"2011-08-26\",\"lts\":false,\"security\":false,\"v8\":\"3.1.8.25\"},{\"name\":\"nodejs\",\"version\":\"0.6.0\",\"date\":\"2011-11-04\",\"lts\":false,\"security\":false,\"v8\":\"3.6.6.6\"},{\"name\":\"nodejs\",\"version\":\"0.7.0\",\"date\":\"2012-01-17\",\"lts\":false,\"security\":false,\"v8\":\"3.8.6.0\"},{\"name\":\"nodejs\",\"version\":\"0.8.0\",\"date\":\"2012-06-22\",\"lts\":false,\"security\":false,\"v8\":\"3.11.10.10\"},{\"name\":\"nodejs\",\"version\":\"0.9.0\",\"date\":\"2012-07-20\",\"lts\":false,\"security\":false,\"v8\":\"3.11.10.15\"},{\"name\":\"nodejs\",\"version\":\"0.10.0\",\"date\":\"2013-03-11\",\"lts\":false,\"security\":false,\"v8\":\"3.14.5.8\"},{\"name\":\"nodejs\",\"version\":\"0.11.0\",\"date\":\"2013-03-28\",\"lts\":false,\"security\":false,\"v8\":\"3.17.13.0\"},{\"name\":\"nodejs\",\"version\":\"0.12.0\",\"date\":\"2015-02-06\",\"lts\":false,\"security\":false,\"v8\":\"3.28.73.0\"},{\"name\":\"nodejs\",\"version\":\"4.0.0\",\"date\":\"2015-09-08\",\"lts\":false,\"security\":false,\"v8\":\"4.5.103.30\"},{\"name\":\"nodejs\",\"version\":\"4.1.0\",\"date\":\"2015-09-17\",\"lts\":false,\"security\":false,\"v8\":\"4.5.103.33\"},{\"name\":\"nodejs\",\"version\":\"4.2.0\",\"date\":\"2015-10-12\",\"lts\":\"Argon\",\"security\":false,\"v8\":\"4.5.103.35\"},{\"name\":\"nodejs\",\"version\":\"4.3.0\",\"date\":\"2016-02-09\",\"lts\":\"Argon\",\"security\":false,\"v8\":\"4.5.103.35\"},{\"name\":\"nodejs\",\"version\":\"4.4.0\",\"date\":\"2016-03-08\",\"lts\":\"Argon\",\"security\":false,\"v8\":\"4.5.103.35\"},{\"name\":\"nodejs\",\"version\":\"4.5.0\",\"date\":\"2016-08-16\",\"lts\":\"Argon\",\"security\":false,\"v8\":\"4.5.103.37\"},{\"name\":\"nodejs\",\"version\":\"4.6.0\",\"date\":\"2016-09-27\",\"lts\":\"Argon\",\"security\":true,\"v8\":\"4.5.103.37\"},{\"name\":\"nodejs\",\"version\":\"4.7.0\",\"date\":\"2016-12-06\",\"lts\":\"Argon\",\"security\":false,\"v8\":\"4.5.103.43\"},{\"name\":\"nodejs\",\"version\":\"4.8.0\",\"date\":\"2017-02-21\",\"lts\":\"Argon\",\"security\":false,\"v8\":\"4.5.103.45\"},{\"name\":\"nodejs\",\"version\":\"4.9.0\",\"date\":\"2018-03-28\",\"lts\":\"Argon\",\"security\":true,\"v8\":\"4.5.103.53\"},{\"name\":\"nodejs\",\"version\":\"5.0.0\",\"date\":\"2015-10-29\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.28\"},{\"name\":\"nodejs\",\"version\":\"5.1.0\",\"date\":\"2015-11-17\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.2.0\",\"date\":\"2015-12-09\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.3.0\",\"date\":\"2015-12-15\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.4.0\",\"date\":\"2016-01-06\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.5.0\",\"date\":\"2016-01-21\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.6.0\",\"date\":\"2016-02-09\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.7.0\",\"date\":\"2016-02-23\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.8.0\",\"date\":\"2016-03-09\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.9.0\",\"date\":\"2016-03-16\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.10.0\",\"date\":\"2016-04-01\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.11.0\",\"date\":\"2016-04-21\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.31\"},{\"name\":\"nodejs\",\"version\":\"5.12.0\",\"date\":\"2016-06-23\",\"lts\":false,\"security\":false,\"v8\":\"4.6.85.32\"},{\"name\":\"nodejs\",\"version\":\"6.0.0\",\"date\":\"2016-04-26\",\"lts\":false,\"security\":false,\"v8\":\"5.0.71.35\"},{\"name\":\"nodejs\",\"version\":\"6.1.0\",\"date\":\"2016-05-05\",\"lts\":false,\"security\":false,\"v8\":\"5.0.71.35\"},{\"name\":\"nodejs\",\"version\":\"6.2.0\",\"date\":\"2016-05-17\",\"lts\":false,\"security\":false,\"v8\":\"5.0.71.47\"},{\"name\":\"nodejs\",\"version\":\"6.3.0\",\"date\":\"2016-07-06\",\"lts\":false,\"security\":false,\"v8\":\"5.0.71.52\"},{\"name\":\"nodejs\",\"version\":\"6.4.0\",\"date\":\"2016-08-12\",\"lts\":false,\"security\":false,\"v8\":\"5.0.71.60\"},{\"name\":\"nodejs\",\"version\":\"6.5.0\",\"date\":\"2016-08-26\",\"lts\":false,\"security\":false,\"v8\":\"5.1.281.81\"},{\"name\":\"nodejs\",\"version\":\"6.6.0\",\"date\":\"2016-09-14\",\"lts\":false,\"security\":false,\"v8\":\"5.1.281.83\"},{\"name\":\"nodejs\",\"version\":\"6.7.0\",\"date\":\"2016-09-27\",\"lts\":false,\"security\":true,\"v8\":\"5.1.281.83\"},{\"name\":\"nodejs\",\"version\":\"6.8.0\",\"date\":\"2016-10-12\",\"lts\":false,\"security\":false,\"v8\":\"5.1.281.84\"},{\"name\":\"nodejs\",\"version\":\"6.9.0\",\"date\":\"2016-10-18\",\"lts\":\"Boron\",\"security\":false,\"v8\":\"5.1.281.84\"},{\"name\":\"nodejs\",\"version\":\"6.10.0\",\"date\":\"2017-02-21\",\"lts\":\"Boron\",\"security\":false,\"v8\":\"5.1.281.93\"},{\"name\":\"nodejs\",\"version\":\"6.11.0\",\"date\":\"2017-06-06\",\"lts\":\"Boron\",\"security\":false,\"v8\":\"5.1.281.102\"},{\"name\":\"nodejs\",\"version\":\"6.12.0\",\"date\":\"2017-11-06\",\"lts\":\"Boron\",\"security\":false,\"v8\":\"5.1.281.108\"},{\"name\":\"nodejs\",\"version\":\"6.13.0\",\"date\":\"2018-02-10\",\"lts\":\"Boron\",\"security\":false,\"v8\":\"5.1.281.111\"},{\"name\":\"nodejs\",\"version\":\"6.14.0\",\"date\":\"2018-03-28\",\"lts\":\"Boron\",\"security\":true,\"v8\":\"5.1.281.111\"},{\"name\":\"nodejs\",\"version\":\"6.15.0\",\"date\":\"2018-11-27\",\"lts\":\"Boron\",\"security\":true,\"v8\":\"5.1.281.111\"},{\"name\":\"nodejs\",\"version\":\"6.16.0\",\"date\":\"2018-12-26\",\"lts\":\"Boron\",\"security\":false,\"v8\":\"5.1.281.111\"},{\"name\":\"nodejs\",\"version\":\"6.17.0\",\"date\":\"2019-02-28\",\"lts\":\"Boron\",\"security\":true,\"v8\":\"5.1.281.111\"},{\"name\":\"nodejs\",\"version\":\"7.0.0\",\"date\":\"2016-10-25\",\"lts\":false,\"security\":false,\"v8\":\"5.4.500.36\"},{\"name\":\"nodejs\",\"version\":\"7.1.0\",\"date\":\"2016-11-08\",\"lts\":false,\"security\":false,\"v8\":\"5.4.500.36\"},{\"name\":\"nodejs\",\"version\":\"7.2.0\",\"date\":\"2016-11-22\",\"lts\":false,\"security\":false,\"v8\":\"5.4.500.43\"},{\"name\":\"nodejs\",\"version\":\"7.3.0\",\"date\":\"2016-12-20\",\"lts\":false,\"security\":false,\"v8\":\"5.4.500.45\"},{\"name\":\"nodejs\",\"version\":\"7.4.0\",\"date\":\"2017-01-04\",\"lts\":false,\"security\":false,\"v8\":\"5.4.500.45\"},{\"name\":\"nodejs\",\"version\":\"7.5.0\",\"date\":\"2017-01-31\",\"lts\":false,\"security\":false,\"v8\":\"5.4.500.48\"},{\"name\":\"nodejs\",\"version\":\"7.6.0\",\"date\":\"2017-02-21\",\"lts\":false,\"security\":false,\"v8\":\"5.5.372.40\"},{\"name\":\"nodejs\",\"version\":\"7.7.0\",\"date\":\"2017-02-28\",\"lts\":false,\"security\":false,\"v8\":\"5.5.372.41\"},{\"name\":\"nodejs\",\"version\":\"7.8.0\",\"date\":\"2017-03-29\",\"lts\":false,\"security\":false,\"v8\":\"5.5.372.43\"},{\"name\":\"nodejs\",\"version\":\"7.9.0\",\"date\":\"2017-04-11\",\"lts\":false,\"security\":false,\"v8\":\"5.5.372.43\"},{\"name\":\"nodejs\",\"version\":\"7.10.0\",\"date\":\"2017-05-02\",\"lts\":false,\"security\":false,\"v8\":\"5.5.372.43\"},{\"name\":\"nodejs\",\"version\":\"8.0.0\",\"date\":\"2017-05-30\",\"lts\":false,\"security\":false,\"v8\":\"5.8.283.41\"},{\"name\":\"nodejs\",\"version\":\"8.1.0\",\"date\":\"2017-06-08\",\"lts\":false,\"security\":false,\"v8\":\"5.8.283.41\"},{\"name\":\"nodejs\",\"version\":\"8.2.0\",\"date\":\"2017-07-19\",\"lts\":false,\"security\":false,\"v8\":\"5.8.283.41\"},{\"name\":\"nodejs\",\"version\":\"8.3.0\",\"date\":\"2017-08-08\",\"lts\":false,\"security\":false,\"v8\":\"6.0.286.52\"},{\"name\":\"nodejs\",\"version\":\"8.4.0\",\"date\":\"2017-08-15\",\"lts\":false,\"security\":false,\"v8\":\"6.0.286.52\"},{\"name\":\"nodejs\",\"version\":\"8.5.0\",\"date\":\"2017-09-12\",\"lts\":false,\"security\":false,\"v8\":\"6.0.287.53\"},{\"name\":\"nodejs\",\"version\":\"8.6.0\",\"date\":\"2017-09-26\",\"lts\":false,\"security\":false,\"v8\":\"6.0.287.53\"},{\"name\":\"nodejs\",\"version\":\"8.7.0\",\"date\":\"2017-10-11\",\"lts\":false,\"security\":false,\"v8\":\"6.1.534.42\"},{\"name\":\"nodejs\",\"version\":\"8.8.0\",\"date\":\"2017-10-24\",\"lts\":false,\"security\":false,\"v8\":\"6.1.534.42\"},{\"name\":\"nodejs\",\"version\":\"8.9.0\",\"date\":\"2017-10-31\",\"lts\":\"Carbon\",\"security\":false,\"v8\":\"6.1.534.46\"},{\"name\":\"nodejs\",\"version\":\"8.10.0\",\"date\":\"2018-03-06\",\"lts\":\"Carbon\",\"security\":false,\"v8\":\"6.2.414.50\"},{\"name\":\"nodejs\",\"version\":\"8.11.0\",\"date\":\"2018-03-28\",\"lts\":\"Carbon\",\"security\":true,\"v8\":\"6.2.414.50\"},{\"name\":\"nodejs\",\"version\":\"8.12.0\",\"date\":\"2018-09-10\",\"lts\":\"Carbon\",\"security\":false,\"v8\":\"6.2.414.66\"},{\"name\":\"nodejs\",\"version\":\"8.13.0\",\"date\":\"2018-11-20\",\"lts\":\"Carbon\",\"security\":false,\"v8\":\"6.2.414.72\"},{\"name\":\"nodejs\",\"version\":\"8.14.0\",\"date\":\"2018-11-27\",\"lts\":\"Carbon\",\"security\":true,\"v8\":\"6.2.414.72\"},{\"name\":\"nodejs\",\"version\":\"8.15.0\",\"date\":\"2018-12-26\",\"lts\":\"Carbon\",\"security\":false,\"v8\":\"6.2.414.75\"},{\"name\":\"nodejs\",\"version\":\"8.16.0\",\"date\":\"2019-04-16\",\"lts\":\"Carbon\",\"security\":false,\"v8\":\"6.2.414.77\"},{\"name\":\"nodejs\",\"version\":\"8.17.0\",\"date\":\"2019-12-17\",\"lts\":\"Carbon\",\"security\":true,\"v8\":\"6.2.414.78\"},{\"name\":\"nodejs\",\"version\":\"9.0.0\",\"date\":\"2017-10-31\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.32\"},{\"name\":\"nodejs\",\"version\":\"9.1.0\",\"date\":\"2017-11-07\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.32\"},{\"name\":\"nodejs\",\"version\":\"9.2.0\",\"date\":\"2017-11-14\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.44\"},{\"name\":\"nodejs\",\"version\":\"9.3.0\",\"date\":\"2017-12-12\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.4.0\",\"date\":\"2018-01-10\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.5.0\",\"date\":\"2018-01-31\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.6.0\",\"date\":\"2018-02-21\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.7.0\",\"date\":\"2018-03-01\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.8.0\",\"date\":\"2018-03-07\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.9.0\",\"date\":\"2018-03-21\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.10.0\",\"date\":\"2018-03-28\",\"lts\":false,\"security\":true,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"9.11.0\",\"date\":\"2018-04-04\",\"lts\":false,\"security\":false,\"v8\":\"6.2.414.46\"},{\"name\":\"nodejs\",\"version\":\"10.0.0\",\"date\":\"2018-04-24\",\"lts\":false,\"security\":false,\"v8\":\"6.6.346.24\"},{\"name\":\"nodejs\",\"version\":\"10.1.0\",\"date\":\"2018-05-08\",\"lts\":false,\"security\":false,\"v8\":\"6.6.346.27\"},{\"name\":\"nodejs\",\"version\":\"10.2.0\",\"date\":\"2018-05-23\",\"lts\":false,\"security\":false,\"v8\":\"6.6.346.32\"},{\"name\":\"nodejs\",\"version\":\"10.3.0\",\"date\":\"2018-05-29\",\"lts\":false,\"security\":false,\"v8\":\"6.6.346.32\"},{\"name\":\"nodejs\",\"version\":\"10.4.0\",\"date\":\"2018-06-06\",\"lts\":false,\"security\":false,\"v8\":\"6.7.288.43\"},{\"name\":\"nodejs\",\"version\":\"10.5.0\",\"date\":\"2018-06-20\",\"lts\":false,\"security\":false,\"v8\":\"6.7.288.46\"},{\"name\":\"nodejs\",\"version\":\"10.6.0\",\"date\":\"2018-07-04\",\"lts\":false,\"security\":false,\"v8\":\"6.7.288.46\"},{\"name\":\"nodejs\",\"version\":\"10.7.0\",\"date\":\"2018-07-18\",\"lts\":false,\"security\":false,\"v8\":\"6.7.288.49\"},{\"name\":\"nodejs\",\"version\":\"10.8.0\",\"date\":\"2018-08-01\",\"lts\":false,\"security\":false,\"v8\":\"6.7.288.49\"},{\"name\":\"nodejs\",\"version\":\"10.9.0\",\"date\":\"2018-08-15\",\"lts\":false,\"security\":false,\"v8\":\"6.8.275.24\"},{\"name\":\"nodejs\",\"version\":\"10.10.0\",\"date\":\"2018-09-06\",\"lts\":false,\"security\":false,\"v8\":\"6.8.275.30\"},{\"name\":\"nodejs\",\"version\":\"10.11.0\",\"date\":\"2018-09-19\",\"lts\":false,\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.12.0\",\"date\":\"2018-10-10\",\"lts\":false,\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.13.0\",\"date\":\"2018-10-30\",\"lts\":\"Dubnium\",\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.14.0\",\"date\":\"2018-11-27\",\"lts\":\"Dubnium\",\"security\":true,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.15.0\",\"date\":\"2018-12-26\",\"lts\":\"Dubnium\",\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.16.0\",\"date\":\"2019-05-28\",\"lts\":\"Dubnium\",\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.17.0\",\"date\":\"2019-10-22\",\"lts\":\"Dubnium\",\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.18.0\",\"date\":\"2019-12-17\",\"lts\":\"Dubnium\",\"security\":true,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.19.0\",\"date\":\"2020-02-05\",\"lts\":\"Dubnium\",\"security\":true,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.20.0\",\"date\":\"2020-03-26\",\"lts\":\"Dubnium\",\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.21.0\",\"date\":\"2020-06-02\",\"lts\":\"Dubnium\",\"security\":true,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.22.0\",\"date\":\"2020-07-21\",\"lts\":\"Dubnium\",\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.23.0\",\"date\":\"2020-10-27\",\"lts\":\"Dubnium\",\"security\":false,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"10.24.0\",\"date\":\"2021-02-23\",\"lts\":\"Dubnium\",\"security\":true,\"v8\":\"6.8.275.32\"},{\"name\":\"nodejs\",\"version\":\"11.0.0\",\"date\":\"2018-10-23\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.28\"},{\"name\":\"nodejs\",\"version\":\"11.1.0\",\"date\":\"2018-10-30\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.32\"},{\"name\":\"nodejs\",\"version\":\"11.2.0\",\"date\":\"2018-11-15\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.3.0\",\"date\":\"2018-11-27\",\"lts\":false,\"security\":true,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.4.0\",\"date\":\"2018-12-07\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.5.0\",\"date\":\"2018-12-18\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.6.0\",\"date\":\"2018-12-26\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.7.0\",\"date\":\"2019-01-17\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.8.0\",\"date\":\"2019-01-24\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.9.0\",\"date\":\"2019-01-30\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.10.0\",\"date\":\"2019-02-14\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.11.0\",\"date\":\"2019-03-05\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.12.0\",\"date\":\"2019-03-14\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.13.0\",\"date\":\"2019-03-28\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.14.0\",\"date\":\"2019-04-10\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"11.15.0\",\"date\":\"2019-04-30\",\"lts\":false,\"security\":false,\"v8\":\"7.0.276.38\"},{\"name\":\"nodejs\",\"version\":\"12.0.0\",\"date\":\"2019-04-23\",\"lts\":false,\"security\":false,\"v8\":\"7.4.288.21\"},{\"name\":\"nodejs\",\"version\":\"12.1.0\",\"date\":\"2019-04-29\",\"lts\":false,\"security\":false,\"v8\":\"7.4.288.21\"},{\"name\":\"nodejs\",\"version\":\"12.2.0\",\"date\":\"2019-05-07\",\"lts\":false,\"security\":false,\"v8\":\"7.4.288.21\"},{\"name\":\"nodejs\",\"version\":\"12.3.0\",\"date\":\"2019-05-21\",\"lts\":false,\"security\":false,\"v8\":\"7.4.288.27\"},{\"name\":\"nodejs\",\"version\":\"12.4.0\",\"date\":\"2019-06-04\",\"lts\":false,\"security\":false,\"v8\":\"7.4.288.27\"},{\"name\":\"nodejs\",\"version\":\"12.5.0\",\"date\":\"2019-06-26\",\"lts\":false,\"security\":false,\"v8\":\"7.5.288.22\"},{\"name\":\"nodejs\",\"version\":\"12.6.0\",\"date\":\"2019-07-03\",\"lts\":false,\"security\":false,\"v8\":\"7.5.288.22\"},{\"name\":\"nodejs\",\"version\":\"12.7.0\",\"date\":\"2019-07-23\",\"lts\":false,\"security\":false,\"v8\":\"7.5.288.22\"},{\"name\":\"nodejs\",\"version\":\"12.8.0\",\"date\":\"2019-08-06\",\"lts\":false,\"security\":false,\"v8\":\"7.5.288.22\"},{\"name\":\"nodejs\",\"version\":\"12.9.0\",\"date\":\"2019-08-20\",\"lts\":false,\"security\":false,\"v8\":\"7.6.303.29\"},{\"name\":\"nodejs\",\"version\":\"12.10.0\",\"date\":\"2019-09-04\",\"lts\":false,\"security\":false,\"v8\":\"7.6.303.29\"},{\"name\":\"nodejs\",\"version\":\"12.11.0\",\"date\":\"2019-09-25\",\"lts\":false,\"security\":false,\"v8\":\"7.7.299.11\"},{\"name\":\"nodejs\",\"version\":\"12.12.0\",\"date\":\"2019-10-11\",\"lts\":false,\"security\":false,\"v8\":\"7.7.299.13\"},{\"name\":\"nodejs\",\"version\":\"12.13.0\",\"date\":\"2019-10-21\",\"lts\":\"Erbium\",\"security\":false,\"v8\":\"7.7.299.13\"},{\"name\":\"nodejs\",\"version\":\"12.14.0\",\"date\":\"2019-12-17\",\"lts\":\"Erbium\",\"security\":true,\"v8\":\"7.7.299.13\"},{\"name\":\"nodejs\",\"version\":\"12.15.0\",\"date\":\"2020-02-05\",\"lts\":\"Erbium\",\"security\":true,\"v8\":\"7.7.299.13\"},{\"name\":\"nodejs\",\"version\":\"12.16.0\",\"date\":\"2020-02-11\",\"lts\":\"Erbium\",\"security\":false,\"v8\":\"7.8.279.23\"},{\"name\":\"nodejs\",\"version\":\"12.17.0\",\"date\":\"2020-05-26\",\"lts\":\"Erbium\",\"security\":false,\"v8\":\"7.8.279.23\"},{\"name\":\"nodejs\",\"version\":\"12.18.0\",\"date\":\"2020-06-02\",\"lts\":\"Erbium\",\"security\":true,\"v8\":\"7.8.279.23\"},{\"name\":\"nodejs\",\"version\":\"12.19.0\",\"date\":\"2020-10-06\",\"lts\":\"Erbium\",\"security\":false,\"v8\":\"7.8.279.23\"},{\"name\":\"nodejs\",\"version\":\"12.20.0\",\"date\":\"2020-11-24\",\"lts\":\"Erbium\",\"security\":false,\"v8\":\"7.8.279.23\"},{\"name\":\"nodejs\",\"version\":\"12.21.0\",\"date\":\"2021-02-23\",\"lts\":\"Erbium\",\"security\":true,\"v8\":\"7.8.279.23\"},{\"name\":\"nodejs\",\"version\":\"12.22.0\",\"date\":\"2021-03-30\",\"lts\":\"Erbium\",\"security\":false,\"v8\":\"7.8.279.23\"},{\"name\":\"nodejs\",\"version\":\"13.0.0\",\"date\":\"2019-10-22\",\"lts\":false,\"security\":false,\"v8\":\"7.8.279.17\"},{\"name\":\"nodejs\",\"version\":\"13.1.0\",\"date\":\"2019-11-05\",\"lts\":false,\"security\":false,\"v8\":\"7.8.279.17\"},{\"name\":\"nodejs\",\"version\":\"13.2.0\",\"date\":\"2019-11-21\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.23\"},{\"name\":\"nodejs\",\"version\":\"13.3.0\",\"date\":\"2019-12-03\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.4.0\",\"date\":\"2019-12-17\",\"lts\":false,\"security\":true,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.5.0\",\"date\":\"2019-12-18\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.6.0\",\"date\":\"2020-01-07\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.7.0\",\"date\":\"2020-01-21\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.8.0\",\"date\":\"2020-02-05\",\"lts\":false,\"security\":true,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.9.0\",\"date\":\"2020-02-18\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.10.0\",\"date\":\"2020-03-04\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.11.0\",\"date\":\"2020-03-12\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.12.0\",\"date\":\"2020-03-26\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.13.0\",\"date\":\"2020-04-14\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"13.14.0\",\"date\":\"2020-04-29\",\"lts\":false,\"security\":false,\"v8\":\"7.9.317.25\"},{\"name\":\"nodejs\",\"version\":\"14.0.0\",\"date\":\"2020-04-21\",\"lts\":false,\"security\":false,\"v8\":\"8.1.307.30\"},{\"name\":\"nodejs\",\"version\":\"14.1.0\",\"date\":\"2020-04-29\",\"lts\":false,\"security\":false,\"v8\":\"8.1.307.31\"},{\"name\":\"nodejs\",\"version\":\"14.2.0\",\"date\":\"2020-05-05\",\"lts\":false,\"security\":false,\"v8\":\"8.1.307.31\"},{\"name\":\"nodejs\",\"version\":\"14.3.0\",\"date\":\"2020-05-19\",\"lts\":false,\"security\":false,\"v8\":\"8.1.307.31\"},{\"name\":\"nodejs\",\"version\":\"14.4.0\",\"date\":\"2020-06-02\",\"lts\":false,\"security\":true,\"v8\":\"8.1.307.31\"},{\"name\":\"nodejs\",\"version\":\"14.5.0\",\"date\":\"2020-06-30\",\"lts\":false,\"security\":false,\"v8\":\"8.3.110.9\"},{\"name\":\"nodejs\",\"version\":\"14.6.0\",\"date\":\"2020-07-20\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.7.0\",\"date\":\"2020-07-29\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.8.0\",\"date\":\"2020-08-11\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.9.0\",\"date\":\"2020-08-27\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.10.0\",\"date\":\"2020-09-08\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.11.0\",\"date\":\"2020-09-15\",\"lts\":false,\"security\":true,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.12.0\",\"date\":\"2020-09-22\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.13.0\",\"date\":\"2020-09-29\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.14.0\",\"date\":\"2020-10-15\",\"lts\":false,\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.15.0\",\"date\":\"2020-10-27\",\"lts\":\"Fermium\",\"security\":false,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.16.0\",\"date\":\"2021-02-23\",\"lts\":\"Fermium\",\"security\":true,\"v8\":\"8.4.371.19\"},{\"name\":\"nodejs\",\"version\":\"14.17.0\",\"date\":\"2021-05-11\",\"lts\":\"Fermium\",\"security\":false,\"v8\":\"8.4.371.23\"},{\"name\":\"nodejs\",\"version\":\"14.18.0\",\"date\":\"2021-09-28\",\"lts\":\"Fermium\",\"security\":false,\"v8\":\"8.4.371.23\"},{\"name\":\"nodejs\",\"version\":\"14.19.0\",\"date\":\"2022-02-01\",\"lts\":\"Fermium\",\"security\":false,\"v8\":\"8.4.371.23\"},{\"name\":\"nodejs\",\"version\":\"14.20.0\",\"date\":\"2022-07-07\",\"lts\":\"Fermium\",\"security\":true,\"v8\":\"8.4.371.23\"},{\"name\":\"nodejs\",\"version\":\"14.21.0\",\"date\":\"2022-11-01\",\"lts\":\"Fermium\",\"security\":false,\"v8\":\"8.4.371.23\"},{\"name\":\"nodejs\",\"version\":\"15.0.0\",\"date\":\"2020-10-20\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.16\"},{\"name\":\"nodejs\",\"version\":\"15.1.0\",\"date\":\"2020-11-04\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.2.0\",\"date\":\"2020-11-10\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.3.0\",\"date\":\"2020-11-24\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.4.0\",\"date\":\"2020-12-09\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.5.0\",\"date\":\"2020-12-22\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.6.0\",\"date\":\"2021-01-14\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.7.0\",\"date\":\"2021-01-25\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.8.0\",\"date\":\"2021-02-02\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.9.0\",\"date\":\"2021-02-18\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.10.0\",\"date\":\"2021-02-23\",\"lts\":false,\"security\":true,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.11.0\",\"date\":\"2021-03-03\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.12.0\",\"date\":\"2021-03-17\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.13.0\",\"date\":\"2021-03-31\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"15.14.0\",\"date\":\"2021-04-06\",\"lts\":false,\"security\":false,\"v8\":\"8.6.395.17\"},{\"name\":\"nodejs\",\"version\":\"16.0.0\",\"date\":\"2021-04-20\",\"lts\":false,\"security\":false,\"v8\":\"9.0.257.17\"},{\"name\":\"nodejs\",\"version\":\"16.1.0\",\"date\":\"2021-05-04\",\"lts\":false,\"security\":false,\"v8\":\"9.0.257.24\"},{\"name\":\"nodejs\",\"version\":\"16.2.0\",\"date\":\"2021-05-19\",\"lts\":false,\"security\":false,\"v8\":\"9.0.257.25\"},{\"name\":\"nodejs\",\"version\":\"16.3.0\",\"date\":\"2021-06-03\",\"lts\":false,\"security\":false,\"v8\":\"9.0.257.25\"},{\"name\":\"nodejs\",\"version\":\"16.4.0\",\"date\":\"2021-06-23\",\"lts\":false,\"security\":false,\"v8\":\"9.1.269.36\"},{\"name\":\"nodejs\",\"version\":\"16.5.0\",\"date\":\"2021-07-14\",\"lts\":false,\"security\":false,\"v8\":\"9.1.269.38\"},{\"name\":\"nodejs\",\"version\":\"16.6.0\",\"date\":\"2021-07-29\",\"lts\":false,\"security\":true,\"v8\":\"9.2.230.21\"},{\"name\":\"nodejs\",\"version\":\"16.7.0\",\"date\":\"2021-08-18\",\"lts\":false,\"security\":false,\"v8\":\"9.2.230.21\"},{\"name\":\"nodejs\",\"version\":\"16.8.0\",\"date\":\"2021-08-25\",\"lts\":false,\"security\":false,\"v8\":\"9.2.230.21\"},{\"name\":\"nodejs\",\"version\":\"16.9.0\",\"date\":\"2021-09-07\",\"lts\":false,\"security\":false,\"v8\":\"9.3.345.16\"},{\"name\":\"nodejs\",\"version\":\"16.10.0\",\"date\":\"2021-09-22\",\"lts\":false,\"security\":false,\"v8\":\"9.3.345.19\"},{\"name\":\"nodejs\",\"version\":\"16.11.0\",\"date\":\"2021-10-08\",\"lts\":false,\"security\":false,\"v8\":\"9.4.146.19\"},{\"name\":\"nodejs\",\"version\":\"16.12.0\",\"date\":\"2021-10-20\",\"lts\":false,\"security\":false,\"v8\":\"9.4.146.19\"},{\"name\":\"nodejs\",\"version\":\"16.13.0\",\"date\":\"2021-10-26\",\"lts\":\"Gallium\",\"security\":false,\"v8\":\"9.4.146.19\"},{\"name\":\"nodejs\",\"version\":\"16.14.0\",\"date\":\"2022-02-08\",\"lts\":\"Gallium\",\"security\":false,\"v8\":\"9.4.146.24\"},{\"name\":\"nodejs\",\"version\":\"16.15.0\",\"date\":\"2022-04-26\",\"lts\":\"Gallium\",\"security\":false,\"v8\":\"9.4.146.24\"},{\"name\":\"nodejs\",\"version\":\"16.16.0\",\"date\":\"2022-07-07\",\"lts\":\"Gallium\",\"security\":true,\"v8\":\"9.4.146.24\"},{\"name\":\"nodejs\",\"version\":\"16.17.0\",\"date\":\"2022-08-16\",\"lts\":\"Gallium\",\"security\":false,\"v8\":\"9.4.146.26\"},{\"name\":\"nodejs\",\"version\":\"16.18.0\",\"date\":\"2022-10-12\",\"lts\":\"Gallium\",\"security\":false,\"v8\":\"9.4.146.26\"},{\"name\":\"nodejs\",\"version\":\"16.19.0\",\"date\":\"2022-12-13\",\"lts\":\"Gallium\",\"security\":false,\"v8\":\"9.4.146.26\"},{\"name\":\"nodejs\",\"version\":\"16.20.0\",\"date\":\"2023-03-28\",\"lts\":\"Gallium\",\"security\":false,\"v8\":\"9.4.146.26\"},{\"name\":\"nodejs\",\"version\":\"17.0.0\",\"date\":\"2021-10-19\",\"lts\":false,\"security\":false,\"v8\":\"9.5.172.21\"},{\"name\":\"nodejs\",\"version\":\"17.1.0\",\"date\":\"2021-11-09\",\"lts\":false,\"security\":false,\"v8\":\"9.5.172.25\"},{\"name\":\"nodejs\",\"version\":\"17.2.0\",\"date\":\"2021-11-30\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.14\"},{\"name\":\"nodejs\",\"version\":\"17.3.0\",\"date\":\"2021-12-17\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.15\"},{\"name\":\"nodejs\",\"version\":\"17.4.0\",\"date\":\"2022-01-18\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.15\"},{\"name\":\"nodejs\",\"version\":\"17.5.0\",\"date\":\"2022-02-10\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.15\"},{\"name\":\"nodejs\",\"version\":\"17.6.0\",\"date\":\"2022-02-22\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.15\"},{\"name\":\"nodejs\",\"version\":\"17.7.0\",\"date\":\"2022-03-09\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.15\"},{\"name\":\"nodejs\",\"version\":\"17.8.0\",\"date\":\"2022-03-22\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.15\"},{\"name\":\"nodejs\",\"version\":\"17.9.0\",\"date\":\"2022-04-07\",\"lts\":false,\"security\":false,\"v8\":\"9.6.180.15\"},{\"name\":\"nodejs\",\"version\":\"18.0.0\",\"date\":\"2022-04-18\",\"lts\":false,\"security\":false,\"v8\":\"10.1.124.8\"},{\"name\":\"nodejs\",\"version\":\"18.1.0\",\"date\":\"2022-05-03\",\"lts\":false,\"security\":false,\"v8\":\"10.1.124.8\"},{\"name\":\"nodejs\",\"version\":\"18.2.0\",\"date\":\"2022-05-17\",\"lts\":false,\"security\":false,\"v8\":\"10.1.124.8\"},{\"name\":\"nodejs\",\"version\":\"18.3.0\",\"date\":\"2022-06-02\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.4\"},{\"name\":\"nodejs\",\"version\":\"18.4.0\",\"date\":\"2022-06-16\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.4\"},{\"name\":\"nodejs\",\"version\":\"18.5.0\",\"date\":\"2022-07-06\",\"lts\":false,\"security\":true,\"v8\":\"10.2.154.4\"},{\"name\":\"nodejs\",\"version\":\"18.6.0\",\"date\":\"2022-07-13\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.13\"},{\"name\":\"nodejs\",\"version\":\"18.7.0\",\"date\":\"2022-07-26\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.13\"},{\"name\":\"nodejs\",\"version\":\"18.8.0\",\"date\":\"2022-08-24\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.13\"},{\"name\":\"nodejs\",\"version\":\"18.9.0\",\"date\":\"2022-09-07\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.15\"},{\"name\":\"nodejs\",\"version\":\"18.10.0\",\"date\":\"2022-09-28\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.15\"},{\"name\":\"nodejs\",\"version\":\"18.11.0\",\"date\":\"2022-10-13\",\"lts\":false,\"security\":false,\"v8\":\"10.2.154.15\"},{\"name\":\"nodejs\",\"version\":\"18.12.0\",\"date\":\"2022-10-25\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.15\"},{\"name\":\"nodejs\",\"version\":\"18.13.0\",\"date\":\"2023-01-05\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.23\"},{\"name\":\"nodejs\",\"version\":\"18.14.0\",\"date\":\"2023-02-01\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.23\"},{\"name\":\"nodejs\",\"version\":\"18.15.0\",\"date\":\"2023-03-05\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.26\"},{\"name\":\"nodejs\",\"version\":\"18.16.0\",\"date\":\"2023-04-12\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.26\"},{\"name\":\"nodejs\",\"version\":\"18.17.0\",\"date\":\"2023-07-18\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.26\"},{\"name\":\"nodejs\",\"version\":\"18.18.0\",\"date\":\"2023-09-18\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.26\"},{\"name\":\"nodejs\",\"version\":\"18.19.0\",\"date\":\"2023-11-29\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.26\"},{\"name\":\"nodejs\",\"version\":\"18.20.0\",\"date\":\"2024-03-26\",\"lts\":\"Hydrogen\",\"security\":false,\"v8\":\"10.2.154.26\"},{\"name\":\"nodejs\",\"version\":\"19.0.0\",\"date\":\"2022-10-17\",\"lts\":false,\"security\":false,\"v8\":\"10.7.193.13\"},{\"name\":\"nodejs\",\"version\":\"19.1.0\",\"date\":\"2022-11-14\",\"lts\":false,\"security\":false,\"v8\":\"10.7.193.20\"},{\"name\":\"nodejs\",\"version\":\"19.2.0\",\"date\":\"2022-11-29\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.20\"},{\"name\":\"nodejs\",\"version\":\"19.3.0\",\"date\":\"2022-12-14\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.21\"},{\"name\":\"nodejs\",\"version\":\"19.4.0\",\"date\":\"2023-01-05\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.25\"},{\"name\":\"nodejs\",\"version\":\"19.5.0\",\"date\":\"2023-01-24\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.25\"},{\"name\":\"nodejs\",\"version\":\"19.6.0\",\"date\":\"2023-02-01\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.25\"},{\"name\":\"nodejs\",\"version\":\"19.7.0\",\"date\":\"2023-02-21\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.25\"},{\"name\":\"nodejs\",\"version\":\"19.8.0\",\"date\":\"2023-03-14\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.25\"},{\"name\":\"nodejs\",\"version\":\"19.9.0\",\"date\":\"2023-04-10\",\"lts\":false,\"security\":false,\"v8\":\"10.8.168.25\"},{\"name\":\"nodejs\",\"version\":\"20.0.0\",\"date\":\"2023-04-17\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.4\"},{\"name\":\"nodejs\",\"version\":\"20.1.0\",\"date\":\"2023-05-03\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.2.0\",\"date\":\"2023-05-16\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.3.0\",\"date\":\"2023-06-08\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.4.0\",\"date\":\"2023-07-04\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.5.0\",\"date\":\"2023-07-19\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.6.0\",\"date\":\"2023-08-23\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.7.0\",\"date\":\"2023-09-18\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.8.0\",\"date\":\"2023-09-28\",\"lts\":false,\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.9.0\",\"date\":\"2023-10-24\",\"lts\":\"Iron\",\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.10.0\",\"date\":\"2023-11-22\",\"lts\":\"Iron\",\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.11.0\",\"date\":\"2024-01-09\",\"lts\":\"Iron\",\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.12.0\",\"date\":\"2024-03-26\",\"lts\":\"Iron\",\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.13.0\",\"date\":\"2024-05-07\",\"lts\":\"Iron\",\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.14.0\",\"date\":\"2024-05-28\",\"lts\":\"Iron\",\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"20.15.0\",\"date\":\"2024-06-20\",\"lts\":\"Iron\",\"security\":false,\"v8\":\"11.3.244.8\"},{\"name\":\"nodejs\",\"version\":\"21.0.0\",\"date\":\"2023-10-17\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.13\"},{\"name\":\"nodejs\",\"version\":\"21.1.0\",\"date\":\"2023-10-24\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.15\"},{\"name\":\"nodejs\",\"version\":\"21.2.0\",\"date\":\"2023-11-14\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.17\"},{\"name\":\"nodejs\",\"version\":\"21.3.0\",\"date\":\"2023-11-30\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.17\"},{\"name\":\"nodejs\",\"version\":\"21.4.0\",\"date\":\"2023-12-05\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.17\"},{\"name\":\"nodejs\",\"version\":\"21.5.0\",\"date\":\"2023-12-19\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.17\"},{\"name\":\"nodejs\",\"version\":\"21.6.0\",\"date\":\"2024-01-14\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.17\"},{\"name\":\"nodejs\",\"version\":\"21.7.0\",\"date\":\"2024-03-06\",\"lts\":false,\"security\":false,\"v8\":\"11.8.172.17\"},{\"name\":\"nodejs\",\"version\":\"22.0.0\",\"date\":\"2024-04-24\",\"lts\":false,\"security\":false,\"v8\":\"12.4.254.14\"},{\"name\":\"nodejs\",\"version\":\"22.1.0\",\"date\":\"2024-05-02\",\"lts\":false,\"security\":false,\"v8\":\"12.4.254.14\"},{\"name\":\"nodejs\",\"version\":\"22.2.0\",\"date\":\"2024-05-15\",\"lts\":false,\"security\":false,\"v8\":\"12.4.254.14\"},{\"name\":\"nodejs\",\"version\":\"22.3.0\",\"date\":\"2024-06-11\",\"lts\":false,\"security\":false,\"v8\":\"12.4.254.20\"},{\"name\":\"nodejs\",\"version\":\"22.4.0\",\"date\":\"2024-07-02\",\"lts\":false,\"security\":false,\"v8\":\"12.4.254.21\"},{\"name\":\"nodejs\",\"version\":\"22.5.0\",\"date\":\"2024-07-17\",\"lts\":false,\"security\":false,\"v8\":\"12.4.254.21\"}]');\n\n//# sourceURL=webpack://instrumenter/./node_modules/node-releases/data/processed/envs.json?"); + +/***/ }), + +/***/ "./node_modules/node-releases/data/release-schedule/release-schedule.json": +/*!********************************************************************************!*\ + !*** ./node_modules/node-releases/data/release-schedule/release-schedule.json ***! + \********************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"v0.8\":{\"start\":\"2012-06-25\",\"end\":\"2014-07-31\"},\"v0.10\":{\"start\":\"2013-03-11\",\"end\":\"2016-10-31\"},\"v0.12\":{\"start\":\"2015-02-06\",\"end\":\"2016-12-31\"},\"v4\":{\"start\":\"2015-09-08\",\"lts\":\"2015-10-12\",\"maintenance\":\"2017-04-01\",\"end\":\"2018-04-30\",\"codename\":\"Argon\"},\"v5\":{\"start\":\"2015-10-29\",\"maintenance\":\"2016-04-30\",\"end\":\"2016-06-30\"},\"v6\":{\"start\":\"2016-04-26\",\"lts\":\"2016-10-18\",\"maintenance\":\"2018-04-30\",\"end\":\"2019-04-30\",\"codename\":\"Boron\"},\"v7\":{\"start\":\"2016-10-25\",\"maintenance\":\"2017-04-30\",\"end\":\"2017-06-30\"},\"v8\":{\"start\":\"2017-05-30\",\"lts\":\"2017-10-31\",\"maintenance\":\"2019-01-01\",\"end\":\"2019-12-31\",\"codename\":\"Carbon\"},\"v9\":{\"start\":\"2017-10-01\",\"maintenance\":\"2018-04-01\",\"end\":\"2018-06-30\"},\"v10\":{\"start\":\"2018-04-24\",\"lts\":\"2018-10-30\",\"maintenance\":\"2020-05-19\",\"end\":\"2021-04-30\",\"codename\":\"Dubnium\"},\"v11\":{\"start\":\"2018-10-23\",\"maintenance\":\"2019-04-22\",\"end\":\"2019-06-01\"},\"v12\":{\"start\":\"2019-04-23\",\"lts\":\"2019-10-21\",\"maintenance\":\"2020-11-30\",\"end\":\"2022-04-30\",\"codename\":\"Erbium\"},\"v13\":{\"start\":\"2019-10-22\",\"maintenance\":\"2020-04-01\",\"end\":\"2020-06-01\"},\"v14\":{\"start\":\"2020-04-21\",\"lts\":\"2020-10-27\",\"maintenance\":\"2021-10-19\",\"end\":\"2023-04-30\",\"codename\":\"Fermium\"},\"v15\":{\"start\":\"2020-10-20\",\"maintenance\":\"2021-04-01\",\"end\":\"2021-06-01\"},\"v16\":{\"start\":\"2021-04-20\",\"lts\":\"2021-10-26\",\"maintenance\":\"2022-10-18\",\"end\":\"2023-09-11\",\"codename\":\"Gallium\"},\"v17\":{\"start\":\"2021-10-19\",\"maintenance\":\"2022-04-01\",\"end\":\"2022-06-01\"},\"v18\":{\"start\":\"2022-04-19\",\"lts\":\"2022-10-25\",\"maintenance\":\"2023-10-18\",\"end\":\"2025-04-30\",\"codename\":\"Hydrogen\"},\"v19\":{\"start\":\"2022-10-18\",\"maintenance\":\"2023-04-01\",\"end\":\"2023-06-01\"},\"v20\":{\"start\":\"2023-04-18\",\"lts\":\"2023-10-24\",\"maintenance\":\"2024-10-22\",\"end\":\"2026-04-30\",\"codename\":\"Iron\"},\"v21\":{\"start\":\"2023-10-17\",\"maintenance\":\"2024-04-01\",\"end\":\"2024-06-01\"},\"v22\":{\"start\":\"2024-04-24\",\"lts\":\"2024-10-29\",\"maintenance\":\"2025-10-21\",\"end\":\"2027-04-30\",\"codename\":\"\"},\"v23\":{\"start\":\"2024-10-15\",\"maintenance\":\"2025-04-01\",\"end\":\"2025-06-01\"},\"v24\":{\"start\":\"2025-04-22\",\"lts\":\"2025-10-28\",\"maintenance\":\"2026-10-20\",\"end\":\"2028-04-30\",\"codename\":\"\"}}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/node-releases/data/release-schedule/release-schedule.json?"); + +/***/ }), + +/***/ "./node_modules/parse-asn1/aesid.json": +/*!********************************************!*\ + !*** ./node_modules/parse-asn1/aesid.json ***! + \********************************************/ +/***/ ((module) => { + +"use strict"; +eval("module.exports = /*#__PURE__*/JSON.parse('{\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}');\n\n//# sourceURL=webpack://instrumenter/./node_modules/parse-asn1/aesid.json?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __webpack_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./src/index.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/js/instrumenter/package.json b/js/instrumenter/package.json new file mode 100644 index 0000000..680478b --- /dev/null +++ b/js/instrumenter/package.json @@ -0,0 +1,22 @@ +{ + "name": "instrumenter", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "build": "webpack-cli" + }, + "dependencies": { + "istanbul-lib-instrument": "^6.0.3" + }, + "devDependencies": { + "buffer": "^6.0.3", + "crypto-browserify": "^3.12.1", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "stream-browserify": "^3.0.0", + "vm-browserify": "^1.1.2", + "webpack": "^5.96.1", + "webpack-cli": "^5.1.4" + } +} diff --git a/js/instrumenter/src/index.js b/js/instrumenter/src/index.js new file mode 100644 index 0000000..c65ce3e --- /dev/null +++ b/js/instrumenter/src/index.js @@ -0,0 +1,13 @@ +var { createInstrumenter } = require('istanbul-lib-instrument') + +var instrumenter = createInstrumenter({ + esModules: true, + coverageGlobalScopeFunc: false, + coverageGlobalScope: 'window', +}) + +instrument = function(input, path) { + return instrumenter.instrumentSync(input, path); +} + +instrumenterReady = true diff --git a/js/instrumenter/webpack.config.js b/js/instrumenter/webpack.config.js new file mode 100644 index 0000000..057b475 --- /dev/null +++ b/js/instrumenter/webpack.config.js @@ -0,0 +1,22 @@ +const webpack = require('webpack'); + +module.exports = { + mode: 'development', + resolve: { + fallback: { + "path": require.resolve("path-browserify"), + "crypto": require.resolve("crypto-browserify"), + "buffer": require.resolve("buffer/"), + "stream": require.resolve("stream-browserify"), + "vm": require.resolve("vm-browserify"), + "process": require.resolve("process"), + "assert": false, + "fs": false, + } + }, + plugins: [ + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], +} diff --git a/js/instrumenter/yarn.lock b/js/instrumenter/yarn.lock new file mode 100644 index 0000000..5e4438b --- /dev/null +++ b/js/instrumenter/yarn.lock @@ -0,0 +1,1431 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/compat-data@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" + integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== + +"@babel/core@^7.23.9": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" + integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.26.0" + "@babel/generator" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.0" + "@babel/parser" "^7.26.0" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.26.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.25.9", "@babel/generator@^7.26.0": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" + integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== + dependencies: + "@babel/parser" "^7.26.2" + "@babel/types" "^7.26.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + +"@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== + dependencies: + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + +"@babel/helpers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" + integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== + dependencies: + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.0" + +"@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== + dependencies: + "@babel/types" "^7.26.0" + +"@babel/template@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/traverse@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" + integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.25.9", "@babel/types@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" + integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + +"@types/json-schema@*", "@types/json-schema@^7.0.8": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/node@*": + version "22.10.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" + integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ== + dependencies: + undici-types "~6.20.0" + +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + dependencies: + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== + +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" + +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +acorn@^8.14.0, acorn@^8.8.2: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +asn1.js@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.1.tgz#06e530907fe2949dc21fc3c2e2302e10b1437238" + integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ== + dependencies: + bn.js "^5.2.1" + randombytes "^2.1.0" + safe-buffer "^5.2.1" + +browserify-sign@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" + integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== + dependencies: + bn.js "^5.2.1" + browserify-rsa "^4.1.0" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.5" + hash-base "~3.0" + inherits "^2.0.4" + parse-asn1 "^5.1.7" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + +browserslist@^4.24.0: + version "4.24.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== + dependencies: + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" + node-releases "^2.0.18" + update-browserslist-db "^1.1.1" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +caniuse-lite@^1.0.30001669: + version "1.0.30001684" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz#0eca437bab7d5f03452ff0ef9de8299be6b08e16" + integrity sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ== + +chrome-trace-event@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" + integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +colorette@^2.0.14: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-ecdh@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.12.1: + version "3.12.1" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac" + integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ== + dependencies: + browserify-cipher "^1.0.1" + browserify-sign "^4.2.3" + create-ecdh "^4.0.4" + create-hash "^1.2.0" + create-hmac "^1.1.7" + diffie-hellman "^5.0.3" + hash-base "~3.0.4" + inherits "^2.0.4" + pbkdf2 "^3.1.2" + public-encrypt "^4.0.3" + randombytes "^2.1.0" + randomfill "^1.0.4" + +debug@^4.1.0, debug@^4.3.1: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +diffie-hellman@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +electron-to-chromium@^1.5.41: + version "1.5.67" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.67.tgz#66ebd2be4a77469ac2760ef5e9e460ba9a43a845" + integrity sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ== + +elliptic@^6.5.3, elliptic@^6.5.5: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +enhanced-resolve@^5.17.1: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +envinfo@^7.7.3: + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== + +es-module-lexer@^1.2.1: + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-base@~3.0, hash-base@~3.0.4: + version "3.0.5" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.5.tgz#52480e285395cf7fba17dc4c9e47acdc7f248a8a" + integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + +is-core-module@^2.13.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-asn1@^5.0.0, parse-asn1@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" + integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== + dependencies: + asn1.js "^4.10.1" + browserify-aes "^1.2.0" + evp_bytestokey "^1.0.3" + hash-base "~3.0" + pbkdf2 "^3.1.2" + safe-buffer "^5.2.1" + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +pbkdf2@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +picocolors@^1.0.0, picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +public-encrypt@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +readable-stream@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== + dependencies: + resolve "^1.20.0" + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.5.4: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +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== + +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.36.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" + integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== + +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vm-browserify@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +watchpack@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.96.1: + version "5.96.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c" + integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA== + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.14.0" + browserslist "^4.24.0" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== diff --git a/lib/propshaft/js/coverage.rb b/lib/propshaft/js/coverage.rb new file mode 100644 index 0000000..2a57ec0 --- /dev/null +++ b/lib/propshaft/js/coverage.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require "mini_racer" +require_relative "coverage/version" +require_relative "coverage/configuration" +require_relative "coverage/compiler" + +$context = MiniRacer::Context.new +$context.eval("var instrument, instrumenterReady = false;") +gem_root = File.expand_path '../../../..', __FILE__ +$context.load(File.expand_path("#{gem_root}/js/instrumenter/dist/main.js")) + +5.times do + ready = $context.eval("instrumenterReady") + puts "Instrumenter ready: #{ready}" + break if ready + sleep(1) +end + +module Propshaft + module Js + module Coverage + class Error < StandardError; end + # Your code goes here... + end + end +end diff --git a/lib/propshaft/js/coverage/compiler.rb b/lib/propshaft/js/coverage/compiler.rb new file mode 100644 index 0000000..942c213 --- /dev/null +++ b/lib/propshaft/js/coverage/compiler.rb @@ -0,0 +1,33 @@ +module Propshaft + module Js + module Coverage + class Compiler < Propshaft::Compiler + class << self + @@context = nil + + def configure + yield config + end + + def config + @config ||= Configuration.new + end + end + + def compile(asset, input) + if Propshaft::Js::Coverage::Compiler.config.should_process + return input unless Propshaft::Js::Coverage::Compiler.config.should_process.call(asset.path.to_s) + end + + begin + covered_source = $context.call("instrument", input, asset.path.to_s) + rescue => e + puts "Error instrumenting #{asset.path}: #{e}" + return input + end + covered_source + end + end + end + end +end diff --git a/lib/propshaft/js/coverage/configuration.rb b/lib/propshaft/js/coverage/configuration.rb new file mode 100644 index 0000000..ba9d8e6 --- /dev/null +++ b/lib/propshaft/js/coverage/configuration.rb @@ -0,0 +1,12 @@ +module Propshaft + module Js + module Coverage + class Configuration + attr_accessor :should_process + + def initialize + end + end + end + end +end diff --git a/lib/propshaft/js/coverage/version.rb b/lib/propshaft/js/coverage/version.rb new file mode 100644 index 0000000..7b095ef --- /dev/null +++ b/lib/propshaft/js/coverage/version.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Propshaft + module Js + module Coverage + VERSION = "0.1.0" + end + end +end diff --git a/propshaft-js-coverage.gemspec b/propshaft-js-coverage.gemspec new file mode 100644 index 0000000..9c01071 --- /dev/null +++ b/propshaft-js-coverage.gemspec @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require_relative "lib/propshaft/js/coverage/version" + +Gem::Specification.new do |spec| + spec.name = "propshaft-js-coverage" + spec.version = Propshaft::Js::Coverage::VERSION + spec.authors = ["Yoann Lecuyer"] + spec.email = ["yoann.lecuyer@gmail.com"] + + spec.summary = "Add coverage to your JavaScript files" + spec.description = "Adds a propshaft compiler to add coverage to your JavaScript files" + spec.homepage = "https://github.com/ylecuyer/propshaft-js-coverage" + spec.required_ruby_version = ">= 3.0.0" + + spec.metadata["homepage_uri"] = spec.homepage + spec.metadata["source_code_uri"] = spec.homepage + spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md" + + # Specify which files should be added to the gem when it is released. + # The `git ls-files -z` loads the files in the RubyGem that have been added into git. + gemspec = File.basename(__FILE__) + spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls| + ls.readlines("\x0", chomp: true).reject do |f| + (f == gemspec) || + f.start_with?(*%w[bin/ test/ spec/ features/ .git .github appveyor Gemfile]) + end + end + spec.bindir = "exe" + spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) } + spec.require_paths = ["lib"] + + # Uncomment to register a new dependency of your gem + spec.add_dependency "propshaft", "~> 1.1.0" + spec.add_dependency "mini_racer", "~> 0.16.0" + + # For more information and examples about making a new gem, check out our + # guide at: https://bundler.io/guides/creating_gem.html +end diff --git a/sig/propshaft/js/coverage.rbs b/sig/propshaft/js/coverage.rbs new file mode 100644 index 0000000..a7d41dd --- /dev/null +++ b/sig/propshaft/js/coverage.rbs @@ -0,0 +1,8 @@ +module Propshaft + module Js + module Coverage + VERSION: String + # See the writing guide of rbs: https://github.com/ruby/rbs#guides + end + end +end diff --git a/spec/propshaft/js/coverage_spec.rb b/spec/propshaft/js/coverage_spec.rb new file mode 100644 index 0000000..4b5dfd1 --- /dev/null +++ b/spec/propshaft/js/coverage_spec.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +RSpec.describe Propshaft::Js::Coverage do + it "has a version number" do + expect(Propshaft::Js::Coverage::VERSION).not_to be nil + end + + it "does something useful" do + expect(false).to eq(true) + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000..f58a68b --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "propshaft/js/coverage" + +RSpec.configure do |config| + # Enable flags like --only-failures and --next-failure + config.example_status_persistence_file_path = ".rspec_status" + + # Disable RSpec exposing methods globally on `Module` and `main` + config.disable_monkey_patching! + + config.expect_with :rspec do |c| + c.syntax = :expect + end +end